]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
[grub2.git] / ChangeLog
CommitLineData
5cb53879
VS
12012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5
b282dfe5
VS
62012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9 Allocate at lest 8192 for temporary buffer as required for lzo.
10
daa59f47
VS
112012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
14 to cluster_bits, since it's already added in.
15 (grub_fat_read_data): Likewise.
16
986748ce
VS
172012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
20 as long as cluster size is multiple of 512 bytes.
21
a20f6ad0
VS
222012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * util/grub-mkrescue.in: Fix locale directory.
25
385f9abb
VS
262012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/emu/hostdisk.c (map): Make static.
29
1c557d30
B
302012-04-23 Bean <bean123ch@gmail.com>
31
32 * util/grub-fstest.c (fstest): Add missing break.
33
524b5d3a
ST
342012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
35
36 Fix hurd build.
37
38 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
39 not define nr variable.
fe4824e9 40 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
41 find_root_devices_from_poolname, find_root_devices_from_libzfs,
42 grub_find_device): Do not define.
524b5d3a 43
9a06490c
VS
442012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Fix kfreebsd compile and behaviour.
47
48 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
49 format-security.
50 * util/getroot.c: Fix wait.h include.
51 (grub_guess_root_devices): Error if grub_find_device fails.
52 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
53 (grub_util_get_dev_abstraction): Likewise.
54 (grub_util_pull_device): Likewise.
55 (grub_util_get_grub_dev): Likewise.
56 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
57
48143d96
VS
582012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Fix and unify wholedisk detection.
61
62 * util/getroot.c (convert_system_partition_to_system_disk): New argument
63 is_part. All users updated.
64 (device_is_wholedisk): Removed.
65 (grub_util_biosdisk_get_grub_dev): Use is_part.
66
ebbd24f3
VS
672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
70 mode.
71
56f7aa1e
VS
722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * configure.ac: Bump to beta4.
75
9c815e01
VS
762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
79 --fs-uuid --set UUID syntax.
80
59e2651a
VS
812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
84 disunification.
85
54e03cfc
VS
862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
89
81092a75
MK
902012-04-18 Mads Kiilerich <mads@kiilerich.com>
91
92 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
93
f8315e14
MG
942012-04-18 Mike Gilbert <floppym@gentoo.org>
95
96 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
97
1501ac21
B
982012-04-18 Bean <bean123ch@gmail.com>
99
100 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
101 place.
102
cb7f944e
VS
1032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
106 users updated.
107 (grub_util_biosdisk_read): Handle Linux partitions not exactly
108 corresponding to GRUB partitions.
109 (grub_util_biosdisk_write): Likewise.
110
b72d44a1
VS
1112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Scan mdraid before LVM.
114
115 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
116 (grub_diskfilter_register_front): ... this.
117 (grub_diskfilter_register_back): New function.
118 All users of grub_diskfilter_register updated.
119
33d918b8
VS
1202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * util/grub-install.in: Fix an automatic target detection bug.
123
c6ca973d
VS
1242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * util/grub-install.in: New option --efi-directory.
127
b41be562
VS
1282012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
131 boot services if we have no other choice.
132
1332012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * util/grub-mknetdir.in: Rename --override-directory to --directory and
136 document it.
137 * tests/util/grub-shell.in: Update to --directory.
138
e0595a73
VS
1392012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
142
4ed80652
VS
1432012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
146 (grub_minix_read_file): Likewise.
147 (grub_minix_read_inode): Likewise.
148 (grub_minix_find_file): Likewise.
149 (grub_minix_dir): Likewise.
150
56008077
VS
1512012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * util/grub-setup.c (setup): Fix partition handling and blocklist
154 check.
155
ee520775
VS
1562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
159 redundant buggy overlap check.
160
16fc9293
VS
1612012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
164 and grub-mknetdir.
165
9bab65c4
VS
1662012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
169 kh.loadflags on pre-2.00 kernels.
170
3c491b47
VS
1712012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
172
173 Terminate UNDI and PXE before launching the payload to avoid problems
174 with DMA.
175
176 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
177 (grub_loader_flags): ... this. All users updated.
178 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
179 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
180 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
181 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
182 function.
183 (grub_pxe_restore): Likewise.
184 (fini_hnd): New var.
185 (GRUB_MOD_INIT): Register shutdown hook.
186 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
187 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
188 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
189 (grub_loader_set): Rename second argument to flags.
190
851ffada
VS
1912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
194 written bytes.
195 (grub_get_num_of_utf8_bytes): New function.
196 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
197 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
198 executing it.
199 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
200 (grub_ucs4_to_utf8): Change return type.
201
491c57a8
VS
2022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
205 warning.
851ffada
VS
206 * grub-core/fs/bfs.c (hop_level): Likewise.
207 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 208
756773df
VS
2092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/lib/adler32.c: Recode due to license unclearness.
212
fd556a96
VS
2132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
216 (test_header): Likewise.
217
9f9d3f69
VS
2182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Fix --help formatting.
221
222 * util/grub-mkconfig_lib.in (print_option_help): New function.
223 (grub_fmt): Likewise.
224 * util/grub-install.in: Use print_option_help and grub_fmt.
225 * util/grub-kbdcomp.in: Likewise.
226 * util/grub-mkconfig.in: Likewise.
227 * util/grub-mknetdir.in: Likewise.
228 * util/grub-mkrescue.in: Likewise.
229 * util/grub-mkstandalone.in: Likewise.
230 * util/grub-reboot.in: Likewise.
231 * util/grub-set-default.in: Likewise.
232 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
233
561ec77e
VS
2342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * linguas.sh: Remove autogenerated *.po.
237
7ec2b021
VS
2382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * po/README: Move language fetcing to ...
241 * linguas.sh: ... here.
242 * po/README: Point to linguas.sh.
243
a88f3270
VS
2442012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * po/README: Exclude ko.po due to disclaimer problems.
247
d61357ce
VS
2482012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
251 len = 0.
252 (grub_gettext_translate_real): Handle 0th string.
253 (grub_gettext_translate): Ensure that "" isn't translated.
254
505e41dc
VS
2552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
258 TRANSLATORS comment.
259 (grub_diskfilter_print_partmap): Propagate changing of error into
260 warning.
261
e44092db
VS
2622012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
265 to uint64_t to prevent overflow.
266 (grub_diskfilter_lv): Increase start_extent and extent_count
267 to uint64_t to prevent overflow.
268
9b83956a
VS
2692012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * configure.ac: Increase version.
272
da0d5b3f
VS
2732012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
274
275 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
276
277 * po/Rules-translit: New file.
278 * po/arabic.sed: Likewise.
279 * po/cyrillic.sed: Likewise.
280 * po/greek.sed: Likewise.
281 * po/hebrew.sed: Likewise.
282 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
283 * po/Makefile.in.in: Add extra_dist4.
284
ac66b453
VS
2852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Handle big-endian minixfs (fixes minixfs tests on bigendian).
288
289 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
290 modify names. Introduce MODE_BIGENDIAN.
291 * grub-core/fs/minix_be.c: New file.
292 * grub-core/fs/minix2_be.c: Likewise
293 * grub-core/fs/minix3_be.c: Likewise.
294 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
295 minix3_be.
296 * grub-core/Makefile.core.def (minix_be): New module.
297 (minix2_be): Likewise.
298 (minix3_be): Likewise.
299
3002012-04-01 Felix <email@hamburg.de>
301
302 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
303 (devs): Add MBP 2011.
304
0a2d5a82
VS
3052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
308
d1625889
VS
3092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/normal/cmdline.c (print_completion): New field
312 prompt_len.
313 (grub_cmdline_get): Handle width properly.
314
6d36a236
VS
3152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/commands/lsacpi.c (options): Add missing terminator.
318
9576977e
VS
3192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 322 after 29th of February.
9576977e 323
d73ff15d
VS
3242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Fix exfat endianness handling.
327
328 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
329 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
330 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
331 Byte-swap utf16 when necessary.
332 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
333
bbb39a45
AB
3342012-03-31 Anton Blanchard <anton@samba.org>
3352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Fix btrfs endianness handling.
338
339 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
340 (lower_bound): Make root uint64_t. Use root in le.
341 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
342 (find_path): Fix template key init.
343 (grub_btrfs_dir): Fix mtime byteswap.
344 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
345
354e0af7
VS
3462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
349 recursion_depth. Break infinite resursions. All users updated.
350
4e75f21c
VS
3512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
354 after free.
355 Reported by: Peter Jones.
356
25581802
AB
3572012-03-31 Anton Blanchard <anton@samba.org>
358
359 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
360 8 bit values.
361
08fbf92e
VS
3622012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-install.in: Fix nvram call for PreP.
365
5d1182a6
VS
3662012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
369 the error when some elements are missing into a warning.
370
3f8cdd90
VS
3712012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
374
51006716
CW
3752012-03-28 Colin Watson <cjwatson@ubuntu.com>
376
377 * docs/grub.texi (Invoking grub-probe): New section.
378 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
379
e1bd676b
VS
3802012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Fix tab and wide character handling in editor and menu.
383
384 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
385 agglomerate control characters with combining marks.
386 (bidi_line_wrap): Allow break on tab.
387 (grub_unicode_get_comb_start): New function.
388 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
389 and tab correctly.
390 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
391 with a space.
392 * grub-core/normal/term.c (print_ucs4_terminal): New argument
393 fixed_tab_size. All users updated.
394 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
395 (grub_term_getcharwidth): Handle \t.
396 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
397 and copy.
398
22e6a774
VS
3992012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
400
401 Handle big-endian mdraid.
402
403 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
404 * grub-core/Makefile.core.def (mdraid09_be): New module.
405 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
406 rather than grub_le_to_cpu* and grub_cpu_to_le*.
407 * grub-core/disk/mdraid_linux_be.c: New file.
408
3c0eae66
VS
4092012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
412
b6cf74c9
VS
4132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
416 missing quotes which caused confusion among translators.
417
83c93b9c
VS
4182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * util/grub-mkconfig_lib.in: Fix typo.
421
ac6fd218
VS
4222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
425 spaces.
426 * tests/grub_script_leading_whitespace.in: New file.
427 * Makefile.util.def (grub_script_leading_whitespace): New test.
428
ba287dd8
VS
4292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
432 to work.
433
d2d58d0a
VS
4342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
437 starts with control character.
438
0382d9bb
VS
4392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
442 overflow.
443 (grub_gdb_outbuf): Likewise.
444
d83ff9f9
VS
4452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
448 zero terminator. Fixes a crash.
449
2282da4a
VS
4502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
453 beyond 4 GiB.
454 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
455 images independently of preffered adderss field.
456
0ae4f0bd
VS
4572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
460 * grub-core/commands/regexp.c: Likewise.
461 * grub-core/loader/i386/linux.c: Likewise.
462 * grub-core/partmap/msdos.c: Likewise.
463 * grub-core/script/execute.c: Likewise.
464 * grub-core/term/gfxterm.c: Likewise.
465
546fbe9b
VS
4662012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
467
468 Add variable parsing in $"..." and fix several mismatches with bash.
469
470 * Makefile.util.def (grub_script_gettext): New test.
471 * grub-core/script/execute.c (parse_string): New function.
472 (gettext_append): Likewise.
473 (grub_script_arglist_to_argv): Use gettext_append.
474 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
475 * tests/grub_script_gettext.in: New file.
476
9fdb2d7b
VS
4772012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Fix handling of leading spaces in scripts.
480
481 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
482 spaces.
483 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
484 other than skipping \r. All users updated.
485 * tests/grub_script_echo1.in: Add space-related tests.
486 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
487
1a1ac4f6
VS
4882012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
491
b63d89b6
VS
4922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * configure.ac: Bump up the version to beta2.
495
17f38c0f
VS
4962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Fix gettext reload bugs (e.g. inability to disable gettext
499 once enabled).
500
501 * grub-core/gettext/gettext.c: Encapsulate all static variables in
502 main_context and secondary_context. All functions updated.
503 (grub_gettext_translate): Rename to ...
504 (grub_gettext_translate_real): ... this. Return NULL on failed
505 translate.
506 (grub_gettext_translate): Handle secondary context.
507 (grub_gettext_delete_list): Close file and zero-out the context.
508 (grub_mofile_open): Don't call grub_gettext_delete_list.
509 Don't close file.
510 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
511 if locale="" to avoid pointless error message.
512 (grub_gettext_env_write_lang): Update lang even if load fails.
513 Handle secondary context.
514 (grub_gettext_reread_prefix): New function.
515 (read_main): Likewise.
516 (read_secondary): Likewise.
517 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
518 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
519 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
520 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
521
8e56f870
VS
5222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * configure.ac: Decrease warning level to avoid spurious warnings and
525 to be able to compile with GCC 4.2.
526 * Makefile.util.def: Remove -Wno-error=logical-op.
527
82f6d455
WB
5282012-03-10 William Bittner <william.bittner@gmail.com>
529
530 * util/import_unicode.py: Add missing brackets around string for
531 python 3 support.
532
1ecd61a4
VS
5332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
534
535 Fix efi chainloader on network root.
536
537 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
538 network devices.
539 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
540 New function.
541
14361ee8
VS
5422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
545 unused show_text member.
546 * docs/grub.texi: Document "text" property.
547
922aabf3
VS
5482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
551 in dprintf.
552
ec316771
VS
5532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Fix IMSM handling on Fedora.
556
557 * util/getroot.c (grub_util_is_imsm): New function.
558 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
559
0f021838
VS
5602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * Makefile.am: Strip gold section.
563 * conf/Makefile.common: Likewise.
564 * gentpl.py: Likewise.
565 * grub-core/Makefile.core.def: Likewise.
566 * grub-core/genmod.sh.in: Likewise.
567
1039c8eb
VS
5682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
571 * util/grub.d/20_linux_xen.in: Likewise.
572 Based on Debian patch.
573
6dd412cd
VS
5742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * util/grub.d/10_linux.in: Fix syntax error resulting in
577 Richard Laager's patch.
578 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
579
3fd8bae5
VS
5802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
583 dependencies.
584
7eea1671
RL
5852012-03-10 Richard Laager <rlaager@wiktel.com>
586
587 * util/grub.d/10_linux.in: Fix ZFS root passing.
588
e8e0566b
VS
5892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
592 * grub-core/commands/xnu_uuid.c: Likewise.
593 * grub-core/loader/efi/appleloader.c: Likewise.
594 * grub-core/script/execute.c: Likewise.
595 * grub-core/script/main.c: Likewise.
596 * util/grub-mkfont.c: Likewise.
597
1acc5b1f
VS
5982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/grub-mkfont.c (options): Use more appropriate "select" that
601 "set" for face index.
602
35d70620
VS
6032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-editenv.c (options): Gettextize command summaries.
606
c9eb96b5
VS
6072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
610 "out of memory" error messagge.
611
1f493136
VS
6122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
615 of diskfilter for diskfilter on diskfilter support.
616
6d790129
VS
6172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
620
005f46c9
VS
6212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * util/grub-install.in: Check for themes/starfield/theme.txt and not
624 themes/starfield.
625
c8f778a0
VS
6262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
629
de1e64eb
VS
6302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
633
c6d54211
VS
6342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
637 of error message.
638
dd390777
VS
6392012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
642
5fd1c522
VS
6432012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
646 message.
c6d54211 647 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 648
fae01f6c
VS
6492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
652 Gettextize.
653 * util/grub-mount.c (options): Likewise.
654
292fdaff
VS
6552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
658 gettextize.
659 * grub-core/commands/search_wrap.c (options): Likewise.
660
ecdbae77
VS
6612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
664
52bfedfa
VS
6652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
668 size calculation.
669 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
670 none is known.
671
55b20e58
VS
6722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
675 "temporary" since it's used in identifier and is limited in space.
676
fda9d101
VS
6772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * po/POTFILES.in: Regenerate. Include *.h since they contain
680 translatable strings as well.
681
6a0295e2
VS
6822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
685 byte-swap on big-endian.
686 Reported by: Lennart Sorensen
687
807fb77c
VS
6882012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
691 (allocate_pages): Improve dprintf.
692 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
693 code32_start. Fill code32_start and kernel_alignment in params.
694 (grub_cmd_initrd): Use prot_init_space.
695
61ac50ba
VS
6962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
699
abdd26dd
VS
7002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * util/grub-install.in: Add missing dot at the end of sentence.
703
6e69da9c
VS
7042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
707 * grub-core/commands/videotest.c: Likewise.
708 * grub-core/loader/i386/linux.c: Likewise.
709
4a929343
VS
7102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
713 sentence.
714 Reported by: Milo Casagrande.
715
bb51c6c6
VS
7162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
719 * grub-core/commands/gptsync.c: Likewise.
720 * grub-core/commands/hashsum.c: Likewise.
721 * grub-core/commands/i386/pc/sendkey.c: Likewise.
722 * grub-core/commands/legacycfg.c: Likewise.
723 * grub-core/io/gzio.c: Likewise.
724 * grub-core/net/net.c: Likewise.
725 * grub-core/term/gfxterm.c: Likewise.
726 * grub-core/term/terminfo.c: Likewise.
727 * grub-core/tests/test_blockarg.c: Likewise.
728 * grub-core/video/video.c: Likewise.
729 * util/grub-install.in: Likewise.
730 * util/grub-mkfont.c: Likewise.
731
b2b149cb
VS
7322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
735
c7c080ad
VS
7362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 739 Reported by: David Prévot.
c7c080ad 740
f2e243c0
VS
7412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
744 description.
745
09963c76
VS
7462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/grub-script-check.c (main): Fix a syntax error message which was
749 unclear.
750
a50514a8
VS
7512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
754
4650daec
VS
7552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
758 messages.
759
7602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
761
762 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
763 without argument.
764 * util/grub-mount.c (options): Likewise.
765
bbc5a342
VS
7662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
769
ef292a87
VS
7702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/net/http.c: Add TRANSLATORS comments.
773 * grub-core/normal/cmdline.c: Likewise.
774 * grub-core/normal/misc.c: Likewise.
775 * grub-core/partmap/msdos.c: Likewise.
776 * grub-core/parttool/msdospart.c: Likewise.
777 * grub-core/script/execute.c: Likewise.
778 * grub-core/script/main.c: Likewise.
779 * grub-core/term/terminfo.c: Likewise.
780 * grub-core/video/bitmap.c: Likewise.
781 * util/grub-install.in: Likewise.
782 * util/grub-mkimage.c: Likewise.
783 * util/grub-mklayout.c: Likewise.
784 * util/grub-setup.c: Likewise.
785
0fc19bd0
VS
7862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
789 with similar messages in grub-fstest.
790
d95862ef
VS
7912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * util/grub-install.in: Unify "option requires an argument" message
794 with similar messages in other files.
795 * util/grub-mkconfig.in: Likewise.
796
b7308f90
VS
7972012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * util/grub-set-default.in: Replace printf with gettext_printf (the
800 string in in question is already translated from grub-reboot)
801
559dc587
VS
8022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * configure.ac: Bump up the version to beta1.
805
1a11761f
VS
8062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
809 case when min_align = 0.
810
24539abd
VS
8112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
814 and fix a case when line_start overflows.
815
32bd735b
VS
8162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * util/grub-reboot.in (usage): Mention id posibility.
819 * util/grub-set-default.in (usage): Likewise.
820
1a2fd1e6
VS
8212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
824 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
825 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
826 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
827 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
828 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
829 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
830
90eeab76
VS
8312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/commands/menuentry.c (options): Remove
834 GRUB_ARG_OPTION_REPEATABLE.
835 Reported by: Andreas Vogel
836
5ad1be82
AV
8372012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
838
839 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
840
cb055286
HE
8412012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
842
843 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
844 error.
845
93b1cd79
VS
8462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
847
848 Use sort -V by the idea of Georgi Georgiev.
849
850 * util/grub-mkconfig_lib.in (version_sort): New function.
851 (version_test_numeric): Use version_sort.
852
0cdc126c
VS
8532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Use submenus in grub-mkconfig.
856
857 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
858 * util/grub-mkconfig_lib.in (grub_quote): New function.
859 (gettext_printf): Use gettext and not gettext_quoted to fix several
860 messages.
861 * util/grub.d/10_hurd.in: Use submenus.
862 * util/grub.d/10_kfreebsd.in: Likewise.
863 * util/grub.d/10_linux.in: Likewise.
864 * util/grub.d/10_netbsd.in: Likewise.
865 * util/grub.d/20_linux_xen.in: Likewise.
866 * util/grub.d/30_os-prober.in: Likewise.
867 * util/grub.d/10_illumos.in: Add missing quoting.
868 * util/grub.d/10_windows.in: Likewise.
869
d9bef9bc
VS
8702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Fix menu title instability bug.
873
874 * grub-core/commands/menuentry.c (options): New option --id.
875 (grub_normal_add_menu_entry): New argument id. All users updated.
876 (grub_cmd_menuentry): Handle --id.
877 (grub_menu_init): Accept unknown arguments.
878 * grub-core/normal/main.c (features): Add feature_menuentry_id and
879 feature_menuentry_options.
880 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
881 saved_entry.
882 (get_entry_number): Match with id as well.
883 * include/grub/menu.h (grub_menu_entry): New member id.
884 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
885 * util/grub.d/00_header.in: Define menuentry_id_option.
886 * util/grub.d/10_hurd.in: Define id.
887 * util/grub.d/10_illumos.in: Likewise.
888 * util/grub.d/10_kfreebsd.in: Likewise.
889 * util/grub.d/10_linux.in: Likewise.
890 * util/grub.d/10_netbsd.in: Likewise.
891 * util/grub.d/10_windows.in: Likewise.
892 * util/grub.d/20_linux_xen.in: Likewise.
893 * util/grub.d/30_os-prober.in: Likewise.
894
8952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
896
897 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
898 "scope" with "body".
899
7c8d0ce7
VS
9002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
903 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
904 prot_size and prot_file_size.
905
49de079b
VS
9062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
909 All users updated. If easily=1 require raid-5/-6 to be full.
910 (is_node_readable): Likewise.
911 (scan_devices): Scan incomplete but readable LVs at the end.
912 (grub_diskfilter_memberlist): Pull missing devices.
913 (insert_array): Skip scanning until device is complete or scan is
914 done otherwise.
915 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
916 check.
917 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
918 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
919
aff05d45
MG
9202012-03-03 Matthew Garrett <mjg@redhat.com>
9212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
922
923 Avoid EFI boot services when loading Linux.
924
925 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
926 avoid_efi_bootservices. All users updated.
927 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
928 argument avoid_efi_bootservices. All users updated.
929 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
930 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
931 align, min_align, relocatable, prefered_address. All users updated.
932 Allocate avoiding boot services if kernel is relocatable.
933 (grub_cmd_linux): Check if kernel is relocatable.
934 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
935 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
936 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
937 avoid_efi_boot_services.
938 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
939 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
940 (linux_kernel_params): Likewise.
941
3935dde2
MG
9422012-03-03 Matthew Garrett <mjg@redhat.com>
9432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
944
945 Use EDID on EFI.
946
947 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
948 datasize_out.
949 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
950 modes. Set gop_handle.
951 (grub_video_gop_get_edid): New function.
952 (grub_gop_get_preferred_mode): Likewise.
953 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
954 (grub_video_efi_gop_adapter): Set .get_edid.
955 * include/grub/efi/edid.h: New file.
956 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
957
32107ec0
VS
9582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * util/grub-install.in: Load efivars unconditionally.
961
e70a2c50
VS
9622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * po/Rules-piglatin: Change suffix from .po-update-en to
965 .po-update-en-piglatin.
966
8f9cace1
VS
9672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Add a pig farm.
970
971 * po/piglatin.sed: New file.
972 * po/en@piglatin.header: Likewise.
973 * po/Rules-piglatin: Likewise.
974 * po/README: Add en@piglatin to autogenerated languages.
975
8f95d002
VS
9762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
979 "Command for ...".
980 * grub-core/commands/hdparm.c (options): Use "Display" rather than
981 "Check" since we don't check anything.
982 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
983 is 64-bit one.
984 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
985 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
986 (grub_md_sha512_real): Likewise.
987
805a8dcc
VS
9882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/commands/gptsync.c: Fix typographic quoting.
991 * grub-core/commands/ieee1275/suspend.c: Likewise.
992 * grub-core/commands/parttool.c: Likewise.
993 * grub-core/commands/search_wrap.c: Likewise.
994 * grub-core/commands/videoinfo.c: Likewise.
995 * grub-core/gfxmenu/gui_label.c: Likewise.
996 * grub-core/hello/hello.c: Likewise.
997 * grub-core/kern/emu/main.c: Likewise.
998 * grub-core/net/net.c: Likewise.
999 * grub-core/normal/menu.c: Likewise.
1000 * grub-core/normal/menu_text.c: Likewise.
1001 * grub-core/normal/misc.c: Likewise.
1002 * util/grub-editenv.c: Likewise.
1003 * util/grub-install.in: Likewise.
1004 * util/grub-kbdcomp.in: Likewise.
1005 * util/grub-mkconfig.in: Likewise.
1006 * util/grub-mknetdir.in: Likewise.
1007 * util/grub-mkrescue.in: Likewise.
1008 * util/grub-mkstandalone.in: Likewise.
1009 * util/grub-reboot.in: Likewise.
1010 * util/grub-set-default.in: Likewise.
1011 * util/grub-setup.c: Likewise.
1012 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1013
40211ab8
VS
10142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1017 * grub-core/commands/keystatus.c: Likewise.
1018 * grub-core/commands/loadenv.c: Likewise.
1019 * grub-core/commands/probe.c: Likewise.
1020 * grub-core/commands/regexp.c: Likewise.
1021 * grub-core/commands/true.c: Likewise.
1022 * grub-core/commands/videoinfo.c: Likewise.
1023 * grub-core/disk/cryptodisk.c: Likewise.
1024 * grub-core/disk/ldm.c: Likewise.
1025 * grub-core/disk/loopback.c: Likewise.
1026 * grub-core/disk/luks.c: Likewise.
1027 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1028 * grub-core/kern/disk.c: Likewise.
1029 * grub-core/kern/emu/hostdisk.c: Likewise.
1030
0c7d99c7
VS
10312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1034 * util/grub-install.in: Add missing quote in the comment.
1035
e7d2559b
VS
10362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1039 * grub-core/commands/lsmmap.c: Likewise.
1040 * grub-core/commands/minicmd.c: Likewise.
1041 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1042 * grub-core/commands/regexp.c: Likewise.
1043 * grub-core/gdb/gdb.c: Likewise.
1044 * grub-core/term/gfxterm.c: Likewise.
1045 * util/grub-mkconfig.in: Likewise.
1046 * util/grub-mkfont.c: Likewise.
1047 * util/grub-mklayout.c: Likewise.
1048 * util/grub-mknetdir.in: Likewise.
1049 * util/grub-mkrescue.in: Likewise.
1050 * util/grub.d/30_os-prober.in: Likewise.
1051
49ce9e50
VS
10522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1055 with "Direct color" and "Packed" with "Packed pixel".
1056 (grub_cmd_videoinfo): Simplify legend.
1057
e4b791fa
VS
10582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1061 absolutely unclear error message.
1062
fd1265cb
VS
10632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * util/grub-mkstandalone.in: Remove confusing leftover print.
1066
8822a8a0
VS
10672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1070 comments.
1071 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1072 (GRUB_MOD_INIT): Likewise.
1073 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1074 VGA mode.
1075 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1076 comments.
1077 * util/grub-install.in (usage): Likewise.
1078 Spell ID in whole letters.
1079 Add missing ending dot.
1080 Quote variables.
1081 * util/grub-reboot.in: Fix capitalisation.
1082 * util/grub-set-default.in: Likewise.
1083
937fd0cc
VS
10842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1087 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1088 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1089 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1090 Disable -Werror for -Wdeprecated-declarations.
1091 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1092 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1093 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1094 (grub_util_get_grub_dev): Make luks handling dependent on
1095 HAVE_DEVICE_MAPPER and not __linux__.
1096 (get_win32_path): Fix format security.
1097 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1098 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1099 Don't try grub_find_zpool_from_dir.
1100 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1101 #ifdef-out paresdir.
1102
1bab1ae3
VS
11032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * util/grub-pe2elf.c (usage): Add missing noreturn.
1106 (write_section_data): Rename name to shname to avoid shadowing.
1107 (write_symbol_table): Rename name to symname to avoid shadowing.
1108 Fix write_reloc_section call.
1109
ef023e42
VS
11102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1113 to ensure that it's after the last byte of .text.
1114
48afcb75
VS
11152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * util/ieee1275/ofpath.c (my_isdigit): New function.
1118 (trailing_digits): Use my_isdigit.
1119 (strip_trailing_digits): Likewise.
1120
88d51eff
VS
11212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1124 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1125
17edc2ba
VS
11262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/i386/pc/startup.S: Define __start.
1129
ad5518d7
VS
11302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1133 strip already transforms he format.
1134
9e95e1bf
VS
11352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1138
9cc3ee5c
VS
11392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/grub-install.in: Add missing gettext init.
1142 * util/grub-kbdcomp.in: Likewise.
1143 * util/grub-mkconfig.in: Likewise.
1144 * util/grub-mknetdir.in: Likewise.
1145 * util/grub-mkrescue.in: Likewise.
1146 * util/grub-mkstandalone.in: Likewise.
1147 * util/grub-reboot.in: Likewise.
1148 * util/grub-set-default.in: Likewise.
1149 * util/grub.d/00_header.in: Likewise.
1150 * util/grub.d/10_hurd.in: Likewise.
1151 * util/grub.d/10_windows.in: Likewise.
1152 * util/grub.d/30_os-prober.in: Likewise.
1153 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1154
49e08a06
VS
11552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * po/Rules-swiss: Fix header comment.
1158
3809cb41
AV
11592012-02-29 Andreas Vogel <anvoit>
1160
1161 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1162 resulted in leak of arguments.
1163
fa6ec573
VS
11642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1167 reed_solomon_size const definition instead of computing it since
1168 Apple assembler doesn't support the later.
1169
22899b9c
VS
11702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * gentpl.py (kernel): Rewrite Apple part.
1173
a132afc3
VS
11742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1177
9d742bd4
VS
11782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1181 ELF section gap.
1182 (load_image): Likewise.
1183
f04a9a21
VS
11842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Fix a typo in previous commit.
1187
46cf439c
VS
11882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Don't add -Wl,-N on Apple platform.
1191
1192 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1193 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1194
c4c48c54
VS
11952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/Makefile.core.def (lzma_decompress): Use
1198 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1199
31a12124
VS
12002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/genmod.sh.in: Rewrite the Apple part.
1203
4f3aa1af
VS
12042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1207 comparison.
1208
7bd8b0c7
VS
12092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * acinclude.m4 (grub_CHECK_PIC): New test.
1212 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1213
97304d7c
VS
12142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1217 to avoid the warning.
1218
fb883812
VS
12192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1222 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1223 after. All users updated.
1224
a121c964
VS
12252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Use the common size routine in hostfs so we can read disks as well.
1228
1229 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1230 (grub_util_get_fd_size): ... this. Return size in bytes.
1231 All users updated.
1232 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1233 grub_util_get_fd_size.
1234
c66d6410
VS
12352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1238 Add blocksize retrieval.
1239
dfc8aeb0
VS
12402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * configure.ac: Restore CFLAGS after efiemu check.
1243
403e25a5
VS
12442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1247 Apple bug.
1248
382775d1
VS
12492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1252
6fd4e6e4
VS
12532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1256 (grub_cmd_halt): Likewise.
1257
bea359d6
VS
12582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1261 for local arithmetics.
1262 Break %sp init into 2 instructions.
1263 Add 0 byte at the end.
1264
32eb6ee1
VS
12652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1268 before loops.
1269
e8377389
VS
12702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1273 for context.
1274
8cb17de7
VS
12752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/disk/ldm.c (make_vg): Init part.name.
1278 (grub_ldm_detect): Silence spurious warning.
1279 (grub_util_is_ldm): Likewise.
1280
595717e6
VS
12812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1284 sane value to avoid a spurious warning.
1285
c4b7e588
VS
12862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1289 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1290
59824957
VS
12912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1294 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1295
70115b99
VS
12962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1299 hardcoding the relevant info.
1300
56733740
VS
13012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1304 missing const qualifiers.
1305 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1306
43481481
VS
13072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * util/getroot.c [__APPLE__]: Add missing includes.
1310 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1311
3cb38f01
VS
13122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1315
d9dbf11e
VS
13162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1319 avoid conflicts.
1320
0c42a45d
VS
13212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1324
46c34eb0
VS
13252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1328 and grub_file_close call.
1329
99ce1597
VS
13302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 Add LZSS Mach-O support (needed for new xnu kernelcache).
1333
1334 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1335 * grub-core/loader/lzss.c: New file.
1336 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1337 on Mach-O open failure.
1338 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1339 Don't free cmdsXX in uncompressedXX is set.
1340 (grub_macho_file): Init new fields.
1341 New argument is_64bit. All users updated.
1342 Handle compressed. Error out if no suitable architecture is found.
1343 Don't close file.
1344 (grub_macho_open): New argument is_64bit. All users updated.
1345 * grub-core/loader/macho32.c: Add defines for new fields.
1346 * grub-core/loader/macho64.c: Likewise.
1347 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1348 (grub_macho_parse): Handle compressed.
1349 Defer actual processing if compressed.
1350 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1351 "filename". All users updated.
1352 (grub_macho_size): New argument "filename". All users updated.
1353 (grub_macho_get_entry_point): Likewise.
1354 (grub_macho_load): Handle compressed.
1355 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1356 (GRUB_MACHO_LZSS_OFFSET): New define.
1357 (grub_decompress_lzss): New proto.
1358 * include/grub/machoload.h (grub_macho_file): New fields to handle
1359 compressed.
1360 (grub_macho_contains_macho64): Remove proto.
1361 (grub_macho_contains_macho32): Likewise.
1362 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1363
ebd17d6f
VS
13642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1367
2702b4e4
VS
13682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 Fix make dist.
1371
1372 * Makefile.am (starfield_theme_files): New var.
1373 (starfield_DATA): Use starfield_theme_files.
1374 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1375 Add bootcheck-related files.
1376 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1377 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1378 and font_char_metrics.txt.
1379 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1380 (setjmp): Add lib/ia64/longjmp.S.
1381 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1382 * po/POTFILES.in: Regenerate.
1383 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1384 DISTFILES.common.extra1.
1385 * util/devicemap.c: Removed.
1386 * grub-core/lib/i386/relocator_backward.S: Likewise.
1387 * util/import_gcry.py: Remove unused files. Add extra_dist for
1388 ChangeLog.
1389
cf1adfdf
VS
13902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1393 grub_gettext_delete_list before changing grub_gettext_max to avoid
1394 running out of array bounds.
1395
13962012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1397
1398 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1399 grub_vga_text_init/grub_vga_text_fini.
1400
cf1adfdf 14012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1402
1403 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1404
541d92e9
VS
14052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * configure.ac: Bump to 2.00~beta0.
1408
7931dddf
VS
14092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1412 missing initialisation.
1413
f1b16fa3
VS
14142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1417
83ddae23
VS
14182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Support v2 xnu boot arguments.
1421
1422 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1423 New argument fsbfreq_out.
1424 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1425 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1426 be used.
1427 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1428 darwin_version.
1429 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1430 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1431 (grub_xnu_boot_params): Rename to ...
1432 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1433 (grub_xnu_boot_params_v2): New struct.
1434
dc693fe6
VS
14352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1438 zeroing of CRC field before computing CRC.
1439
5a6e39c2
VS
14402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1443 Change order of allocations to decrease fragmentation.
1444
6c21f5d7
VS
14452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1448
cfe456dc
CW
14492012-02-27 Colin Watson <cjwatson@ubuntu.com>
1450
1451 Use write-combining MTRR to speed up video with buggy BIOSes.
1452
1453 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1454 (cpuid): New define.
1455 (rdmsr): Likewise.
1456 (wrmsr): Likewise.
1457 (mtrr_base): Likewise.
1458 (mtrr_mask): Likewise.
1459 (grub_vbe_enable_mtrr_entry): New function.
1460 (grub_vbe_enable_mtrr): Likewise.
1461 (grub_vbe_disable_mtrr): Likewise.
1462 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1463 control off to BIOS.
1464 (grub_video_vbe_init): Fill mtrr.
1465 (grub_video_vbe_fini): Disable mtrr.
1466 (grub_video_vbe_get_info_and_fini): Likewise.
1467 (grub_video_vbe_setup): Enable mtrr.
1468
e3c78337
CW
14692012-02-27 Colin Watson <cjwatson@ubuntu.com>
1470
1471 * include/grub/partition.h (grub_partition_map): Change prototype of
1472 embed to take a maximum value for nsectors.
1473 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1474 * include/grub/fs.h (grub_fs): Likewise.
1475 * grub-core/partmap/msdos.c (embed_signatures): New array.
1476 (pc_partition_map_embed): Check for and avoid sectors matching any
1477 of the signatures in embed_signatures, up to max_nsectors.
1478 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1479 returned sector map to max_nsectors.
1480 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1481 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1482 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1483 * util/grub-setup.c (setup): Allow for the embedding area being
1484 split into multiple blocklists. Tell dest_partmap->embed the
1485 maximum number of sectors we care about.
1486
14872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1490 Specify blocklist_install and reserver_first_sector for all fs.
1491 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1492 blocklists.
1493
984b973f
VS
14942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * util/grub-install.in: Clarify strings.
1497 Fix source dir check.
1498
f122e0d6
RL
14992012-02-27 Richard Laager <rlaager@wiktel.com>
1500
1501 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1502 "zfs" and "fuse.zfs" as synonyms.
1503
071114bb
VS
15042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * configure.ac: Put platform and target_cpu substitutions back since
1507 they are used for directories.
1508
817e6abc
RL
15092012-02-27 Richard Laager <rlaager@wiktel.com>
15102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1513 * util/grub.d/20_linux_xen.in: Likewise.
1514
897b7419
RL
15152012-02-27 Richard Laager <rlaager@wiktel.com>
1516
1517 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1518 with full paths.
1519
a414bd15
RL
15202012-02-27 Richard Laager <rlaager@wiktel.com>
1521
1522 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1523 unescape.
1524
30ac48c4
VS
15252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Don't use insecure popen in getroot.
1528
1529 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1530 (exec_pipe): ... here.
1531 (find_root_devices_from_poolname): Use exec_pipe.
1532
53f13848
VS
15332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Remove platform and target_cpu replacement.
1536
1537 * configure.ac: Remove platform and target_cpu substitutions.
1538 * tests/util/grub-shell.in: Use modinfo.
1539 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1540 explicitly.
1541
90cb2803
VS
15422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Autodetect platform in grub-install but allow override.
1545
1546 * util/grub-install.in: Autodetect platform. Support --target and
1547 --directory. Read platform from modinfo.sh.
1548
b9136427
VS
15492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Support btrfs multi-volume probe.
1552
1553 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1554 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1555 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1556 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1557 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1558 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1559 grub_find_root_devices_from_btrfs if on btrfs.
1560
c36e5cd1
VS
15612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Remove any awareness of *.c util files about target.
1564
1565 * Makefile.util.def (grub-setup): Split to ...
1566 (grub-bios-setup): ... and this.
1567 (grub-sparc64-setup): ... and this.
1568 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1569 * docs/man/grub-setup.h2m: Split into ...
1570 * docs/man/grub-sparc64-setup.h2m: ... this.
1571 * docs/man/grub-bios-setup.h2m: ... and this.
1572 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1573 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1574 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1575 (grub_target_addr_t): Remove.
1576 (grub_target_size_t): Remove.
1577 (grub_target_ssize_t): Remove.
1578 * util/grub-install.in: Use new grub-*-setup.
1579 * util/grub-mkimagexx.c (Elf_Word): New define.
1580 (Elf_Half): Likewise.
1581 (Elf_Section): Likewise.
1582 (ELF_ST_TYPE): Likewise.
1583 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1584 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1585
584b2f8a
VS
15862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 Replace grub_target_addr with more appropriate types.
1589
1590 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1591 grub_target_addr with grub_addr.
1592 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1593 grub_target_addr with grub_port.
1594 (grub_cmd_write): Likewise.
1595 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1596 grub_target_addr with grub_addr.
1597 (grub_cmd_write): Likewise.
1598 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1599
5a0dc6fb
VS
16002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1603 const qualifier for vendor_guid.
1604
786aff6e
VS
16052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1608 const qualifier.
1609 (efiemu_memequal): Likewise.
1610 (find_variable): Likewise.
1611
49017b17
VS
16122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 Fix missing console prototype on qemu-mips.
1615
1616 * include/grub/mips/qemu_mips/console.h: New file.
1617
c5988629
MG
16182012-02-27 Matthew Garrett <mjg@redhat.com>
16192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1622 * include/grub/efi/efi.h: Likewise.
1623 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1624 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1625 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1626 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1627 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1628 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1629
e33f8d69
MG
16302012-02-27 Matthew Garrett <mjg@redhat.com>
1631
1632 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1633
fb312cd9
VS
16342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1637 error.
1638
7134247c
VS
16392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * configure.ac: Remove inappropriate use of program_transform_name
1642 on grubdir and bootdir but allow explicit specification of those
1643 variables.
1644
6a313124
VS
16452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * util/grub-mknetdir.in (grub_prefix): Removed.
1648 (subdir): Use @bootdirname@ and @grubdirname@.
1649
2311c5ca
VS
16502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1653
7d5d60f7
VS
16542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * po/POTFILES.in: Regenerated.
1657
8151bc82
VS
16582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Remove improper use of program_transform_name on pkglibrootdir.
1661
1662 * configure.ac (pkglibrootdir): Removed.
1663 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1664 * util/grub-mkimage.c: Likewise.
1665
b4a6a533
VS
16662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1669 warning.
1670
668f304f
VS
16712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * util/grub-install.in: Use file identifier if no UUID is available
1674 or user explicitly prompted for it.
1675
665f2341
NP
16762012-02-27 Navdeep Parhar <nparhar@gmail.com>
1677
1678 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1679 (freebsd_get_zfs): New function.
1680 (grub_freebsd_boot): Pass zfs UUID.
1681 (grub_cmd_freebsd): Set zfs UUID.
1682
8151bc82 16832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1684
1685 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1686 pkglibrootdir.
1687
e4c498a1
MG
16882012-02-27 Mike Gilbert <floppym@gentoo.org>
1689
1690 Add configure flag to control libzfs integration.
1691
1692 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1693
1e9a9a3f
VS
16942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1697 device.
1698 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1699 small devices.
1700
036985b8
VS
17012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1704 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1705 be used on non-modules.
1706
1707 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1708 Rename to grub_boot_init.
1709 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1710 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1711 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1712 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1713 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1714 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1715 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1716 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1717 includes.
1718 (grub_machine_init): Remove empty inits.
1719 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1720 includes.
1721 (grub_machine_init): Remove empty inits.
1722 * grub-core/term/arc/console.c: Remove explicit proto.
1723 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1724 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1725 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1726 grub_at_keyboard_fini.
1727 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1728 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1729 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1730 grub_gfxterm_fini.
1731 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1732 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1733 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1734 grub_vgatext_fini.
1735 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1736 * grub-core/term/serial.c (GRUB_MOD_INIT)
1737 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1738 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1739 grub_serial_fini.
1740 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1741 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1742 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1743 grub_terminfo_fini.
1744 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1745 (GRUB_MOD_FINI): Likewise.
1746 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1747 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1748 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1749 grub_video_radeon_fuloong2e_fini.
1750 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1751 [LOONGSON]: Rename to grub_video_sis315pro_init.
1752 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1753 grub_video_sis315pro_fini.
1754 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1755 [LOONGSON]: Rename to grub_video_sm712_init.
1756 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1757 grub_video_sm712_fini.
1758 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1759 (grub_at_keyboard_fini): Likewise.
1760 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1761 Don't declare grub_{modname}_init.
1762 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1763 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1764 New proto.
1765 (grub_keylayouts_fini) [!EMU]: Likewise.
1766 * include/grub/serial.h (grub_serial_init) [!EMU]:
1767 New proto.
1768 (grub_serial_fini) [!EMU]: Likewise.
1769 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1770 New proto.
1771 (grub_terminfo_fini) [!EMU]: Likewise.
1772 * include/grub/video.h (grub_font_init) [!EMU]:
1773 New proto.
1774 (grub_font_fini) [!EMU]: Likewise.
1775 (grub_gfxterm_init) [!EMU]: Likewise.
1776 (grub_gfxterm_fini) [!EMU]: Likewise.
1777 (grub_video_sm712_init) [!EMU]: Likewise.
1778 (grub_video_sm712_fini) [!EMU]: Likewise.
1779 (grub_video_sis315pro_init) [!EMU]: Likewise.
1780 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1781 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1782 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1783
d5534665
VS
17842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Make nand a prefix for nand devices.
1787
1788 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1789
10133b5f
VS
17902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1793 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1794
8e307a62
VS
17952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * include/grub/env.h (grub_env_find): Remove prototype.
1798 * grub-core/kern/env.c (grub_env_find): Make static.
1799 (grub_env_set): Remove useless set.
1800
a4c65f34
VS
18012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/kern/i386/realmode.S: Remove useless align.
1804
d87893d5
VS
18052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * include/grub/dl.h (grub_dl_load_file): Don't export.
1808
50159add
VS
18092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1812 grub_dprintf.
1813
b2582b84
VS
18142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1817 grub_errors.
1818 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1819 not reloading whole superblock but only the part which is really needed.
1820 Remove useless grub_errors.
1821 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1822 grub_errors.
1823
e2a83395
VS
18242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 Don't export grub_get_rtc.
1827
1828 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1829 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1830
e7d2a906
VS
18312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1834
6cf1363b
VS
18352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1838 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1839
eece3349
VS
18402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 Remove prio_list.
1843
1844 * include/grub/list.h (grub_prio_list): Removed.
1845 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1846 GRUB_COMMAND_PRIO_MASK.
1847 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1848 GRUB_COMMAND_FLAG_ACTIVE.
1849 (grub_prio_list_insert): Removed.
1850 (grub_prio_list_remove): Likewise.
1851 (GRUB_AS_PRIO_LIST): Likewise.
1852 (GRUB_AS_PRIO_LIST_P): Likewise.
1853 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1854 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1855 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1856 * grub-core/kern/command.c (grub_register_command_prio): Inline
1857 the prio_list code.
1858 (grub_unregister_command): Likewise.
1859
94f064b4
VS
18602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 Fix interrupt mixup from previous commit.
1863
1864 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1865 (grub_realidt): New var.
1866 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1867 Load idt.
1868 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1869 New declaration.
1870 (grub_relocator16_boot): Set grub_relocator16_idt.
1871 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1872 (LOCAL(realidt)): ... this.
1873 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1874 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1875 (grub_realidt): New variable.
1876
27317084
VS
18772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1880 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1881 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1882 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1883 Gettextize.
1884 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1885 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1886 * po/POTFILES.in: Regenerate.
1887
47b40053
VS
18882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1891 errors.
1892
2b343101
VS
18932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1896 \0.
1897 (add_length): Likewise.
1898
ff27c3dd
LK
18992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19002012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1901
1902 GDB serial and backtrace support.
1903
1904 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1905 (prot_to_real): Likewise.
1906 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1907 * grub-core/Makefile.core.def (backtrace): New module.
1908 (gdb): Likewise.
1909 * grub-core/gdb/cstub.c: New file.
1910 * grub-core/gdb/gdb.c: Likewise.
1911 * grub-core/gdb/i386/idt.c: Likewise.
1912 * grub-core/gdb/i386/machdep.S: Likewise.
1913 * grub-core/gdb/i386/signal.c: Likewise.
1914 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1915 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1916 * include/grub/backtrace.h: Likewise.
1917 * include/grub/gdb.h: Likewise.
1918 * include/grub/i386/gdb.h: Likewise.
1919
19202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1921
1922 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1923 New function.
1924 (add_length): Likewise.
1925 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1926 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1927 proto.
1928 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1929 __argp_get_display_len.
1930
ff27c3dd 19312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1932
1933 $"..." support in scripts.
1934
1935 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1936 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1937 * grub-core/script/yylex.l: Likewise.
1938 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1939 value.
1940
ff27c3dd 19412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1942
1943 * gentpl.py: Remove obsolete pkglib_DATA handling.
1944
ff27c3dd 19452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1946
1947 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1948 mailing list.
1949
1950 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1951 * util/grub-kbdcomp.in: Likewise.
1952 * util/grub-mkconfig.in: Likewise.
1953 * util/grub-mkconfig_lib.in: Likewise.
1954 * util/grub-mknetdir.in: Likewise.
1955 * util/grub-mkrescue.in: Likewise.
1956 * util/grub-mkstandalone.in: Likewise.
1957 * util/grub-reboot.in: Likewise.
1958 * util/grub-set-default.in: Likewise.
1959 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1960
ff27c3dd 19612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1962
1963 Remove GRUB_PREFIX.
1964
1965 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1966 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1967 used for backward compatibility.
1968
ff27c3dd 19692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1970
1971 Add new all_video module.
1972
1973 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1974 * grub-core/Makefile.core.def (all_video): New module.
1975 * grub-core/genmoddep.awk: Generate dependency of all_video from
1976 video.lst.
1977 * grub-core/lib/fake_module.c: New file.
1978 * grub-core/normal/main.c (features): Add feature_all_video_module.
1979 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1980 don't do explicit search again.
47454da5 1981 insmod all_video in load_video if available.
22c7ce85 1982
ff27c3dd 19832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1984
1985 Another round of string clarification and adding TRANSLATORS comments.
1986
ff27c3dd 19872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1988
1989 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1990
ff27c3dd 19912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1992
1993 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1994 to grub_ssize_t.
1995 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1996 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1997
ff27c3dd 19982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1999
2000 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2001 trailing newline implicitly. All users updated.
2002
ff27c3dd 20032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2004
2005 Implement serial on IEEE1275 and EFI.
2006
2007 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2008 on emu. Mention arc and emu as the only platforms without serial
2009 support.
2010 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2011 ieee1275 platforms.
2012 * grub-core/term/efi/serial.c: New file.
2013 * grub-core/term/ieee1275/serial.c: Likewise.
2014 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2015 specification if no ns8250 driver is available.
2016 (grub_cmd_serial): Likewise.
2017 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2018 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2019 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2020 (grub_efi_parity_type_t): New type.
2021 (grub_efi_stop_bits_t): Likewise.
2022 (grub_efi_serial_io_interface): New struct.
2023 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2024 available for all interfaces.
2025 Add EFI and IEEE1275 fields.
2026 (grub_ofserial_init): New proto.
2027 (grub_efiserial_init): Likeiwse.
2028 * util/grub.d/00_header.in: Don't check for the presence of serial
2029 module.
2030
ff27c3dd 20312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2032
2033 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2034 name as if it was an alias.
2035
114076ef
VS
20362012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/commands/lsacpi.c (options): Fix typo.
2039
6a656b0e
VS
20402012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Convert grub-emu to argp.
2043
2044 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2045 emu.
2046 * util/argp_common.c: Rename to ...
2047 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2048 Add missing includes.
2049 * grub-core/kern/emu/main.c: Convert to argp.
2050 * po/POTFILES.in: Regenerate.
2051 * util/grub-install.in (usage): Make first letter lowcase in messages
2052 for uniformity.
2053 * util/grub-setup.c (options): Likewise.
2054
1e3f8ae8
VS
20552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2058 Put back accidently commented-out code.
2059
ed167a80
VS
20602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2063 loop check using Brent algorithm.
2064 (grub_hfsplus_btree_search): Likewise.
2065
6753c0ec
VS
20662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * util/grub-install.in: Fix usage of wrong device for PreP install.
2069
4e27343f
VS
20702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * conf/Makefile.common (CFLAGS_GNULIB): Add
2073 -Wno-unsafe-loop-optimizations.
2074 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2075 on tools.
2076 * grub-core/commands/legacycfg.c: Add pragma to skip
2077 -Wunsafe-loop-optimizations.
2078 (check_password_md5_real): Fix loop counter type.
2079 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2080 reading.
2081 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2082 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2083 loop condition.
2084 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2085 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2086 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2087 condition.
2088 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2089 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2090 avoid possible infinite loops.
2091 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2092 and -Wunsafe-loop-optimizations.
2093 * grub-core/script/yylex.l: Likewise.
2094 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2095 (print_glyphs): Avoid infinite loops.
2096 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2097
697f18b0
GS
20982012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2099
2100 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2101 to avoid infinite loop.
2102 (disp_acpi_rsdt_table): Likewise.
2103
274416e8
VS
21042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/font/font.c (grub_font_load): Add support for default
2107 path for fonts ($prefix/fonts).
2108 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2109 for checking if string is a path.
2110 * grub-core/normal/main.c (features): Add feature_default_font_path.
2111 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2112 * util/grub.d/00_header.in: Use default directory if possible.
2113 * util/grub-install.in: Install unicode.pf2.
2114
b3e08622
VS
21152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2118 * po/Rules-swiss: New file.
2119 * po/swiss.sed: Likewise.
2120
fe42ce09
VS
21212012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/fs/btrfs.c (find_device): Fix typos.
2124 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2125 * util/grub-mkrelpath.c (argp_parser): Likewise.
2126 Reported by: Yuri Chornoivan.
2127
72f1d065
DO
21282012-02-23 Dalet Omega <daletomega@gmail.com>
2129
2130 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2131 for usual informative messages.
2132
c5884973
DO
21332012-02-23 Dalet Omega <daletomega@gmail.com>
2134
2135 Starfield theme.
2136
2137 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2138 * conf/Makefile.common: Define starfielddir.
2139 * configure.ac: Configure starfield.
2140 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2141 * themes/starfield/README: Likewise.
2142 * themes/starfield/blob_w.png: Likewise.
2143 * themes/starfield/boot_menu_c.png: Likewise.
2144 * themes/starfield/boot_menu_e.png: Likewise.
2145 * themes/starfield/boot_menu_n.png: Likewise.
2146 * themes/starfield/boot_menu_ne.png: Likewise.
2147 * themes/starfield/boot_menu_nw.png: Likewise.
2148 * themes/starfield/boot_menu_s.png: Likewise.
2149 * themes/starfield/boot_menu_se.png: Likewise.
2150 * themes/starfield/boot_menu_sw.png: Likewise.
2151 * themes/starfield/boot_menu_w.png: Likewise.
2152 * themes/starfield/slider_c.png: Likewise.
2153 * themes/starfield/slider_n.png: Likewise.
2154 * themes/starfield/slider_s.png: Likewise.
2155 * themes/starfield/src/blob_nw.xcf: Likewise.
2156 * themes/starfield/src/bootmenu/: Likewise.
2157 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2158 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2159 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2160 * themes/starfield/src/slider_c.xcf: Likewise.
2161 * themes/starfield/src/slider_n.xcf: Likewise.
2162 * themes/starfield/src/slider_s.xcf: Likewise.
2163 * themes/starfield/src/terminalbox/: Likewise.
2164 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2165 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2166 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2167 * themes/starfield/starfield.png: Likewise.
2168 * themes/starfield/terminal_box_c.png: Likewise.
2169 * themes/starfield/terminal_box_e.png: Likewise.
2170 * themes/starfield/terminal_box_n.png: Likewise.
2171 * themes/starfield/terminal_box_ne.png: Likewise.
2172 * themes/starfield/terminal_box_nw.png: Likewise.
2173 * themes/starfield/terminal_box_s.png: Likewise.
2174 * themes/starfield/terminal_box_se.png: Likewise.
2175 * themes/starfield/terminal_box_sw.png: Likewise.
2176 * themes/starfield/terminal_box_w.png: Likewise.
2177 * themes/starfield/theme.txt: Likewise.
2178
17d73325
VS
21792012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * util/grub.d/00_header.in: Add missing export theme.
2182
dbebaf92
VS
21832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2186 already included.
2187 Reported by: Eren D.
2188
3d68bffb
VS
21892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * conf/Makefile.common (grubdatadir): Removed.
2192 (Makefile.am): Move eveything grubdata to pkgdata.
2193
4b59234d
VS
21942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/commands/acpihalt.c (get_sleep_type):
2197 Remove unused variable.
2198
463dcadc
VS
21992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2202 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2203 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2204 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2205 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2206 i18n with gettext no-op.
2207 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2208 GRUB_ACPI_OPCODE_STRING_CONST.
2209 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2210 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2211
e5b90c82
VS
22122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * po/POTFILES.in: Regenerate.
2215
2a704ca9
VS
22162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2219 -Wno-error=missing-noreturn.
2220
84f9d341
VS
22212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2224 condition to avoid possibly infinite loops.
2225 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2226 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2227
d46683f9
VS
22282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2231 condition to avoid possibly infinite loops.
2232
c44866b2
VS
22332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2236 on show_error.
2237
96790539
VS
22382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2241
1ba7e295
VS
22422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2245
21ffe8f1
VS
22462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * util/bin2h.c (usage): Add missing attribute noreturn.
2249
0ccb6b3c
VS
22502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2253 if the size isn't divisible by 512.
2254
b00d7fb6
VS
22552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Make list_push and list_remove functions rather than inline functions
2258 to decrease size and avoid aliasing violations.
2259
2260 * include/grub/list.h (grub_list_push): Move to ...
2261 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2262 * include/grub/list.h (grub_list_remove): Move to ...
2263 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2264
9d369087
VS
22652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2268 and -Wunused-result.
2269
af0250d9
VS
22702012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2273 Reported by: Seth Goldberg
2274
aad32b14
VS
22752012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2278
ac96441c
ST
22792012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2280
2281 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2282 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2283 command line.
2284 * docs/grub.texi (Simple configuration): Document
2285 GRUB_CMDLINE_GNUMACH.
2286
22872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2288
2289 * conf/Makefile.common (platform_SCRIPTS): New variable.
2290 (platform_PROGRAMS): Likewise.
2291 * gentpl.py: Mark *,module and *.image for install.
2292 * grub-core/gdb_grub.in: Add a notice of expected environment.
2293 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2294 (gmodule.pl): Likewise.
2295
ac96441c 22962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2297
2298 Replace grub_checkkey with grub_getkey_noblock.
2299
2300 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2301 (grub_getkey_noblock): ... this. All users updated.
2302
ac96441c 23032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2304
2305 * grub-core/kern/emu/console.c: Move to ...
2306 * grub-core/term/emu/console.c: ...here.
2307 (grub_ncurses_getkey): Fix return value if no key is detected.
2308
e51b5666
VS
23092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2312 (grub_unit_test_fini): Likewise.
2313 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2314
23152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * include/grub/test.h (GRUB_UNIT_TEST)
2318
d9a62292
VS
23192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2322 Better error handling.
2323 (grub_script_return): Likewise.
2324 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2325
77c9182f
VS
23262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2329 rimplicit redifinition.
2330
edb13cf9
VS
23312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2334 GRUB.
2335
a9e9dc7c
VS
23362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2339 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2340 prompt here.
2341
b4ba8e02
VS
23422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2345 as GRUB_ERR_BUG. Don't malloc if no device is available.
2346
dded5540
VS
23472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2350 Mark calling with invalid term as GRUB_ERR_BUG.
2351
0cf69874
VS
23522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2355 packets rather than raising an error.
2356
59bfe502
VS
23572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2360 in if.
2361
db5fc596
VS
23622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2365 diagnostic to dprintf.
2366 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2367
e4b7f404
VS
23682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2371 device name.
2372
e7b02f9e
VS
23732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2376 (grub_ntfs_iterate_dir): Likewise.
2377
0331e102
VS
23782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Efiemu stylistic fixes and gettext.
2381
2382 * grub-core/efiemu/i386/loadcore32.c
2383 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2384 * grub-core/efiemu/i386/loadcore64.c
2385 (grub_arch_efiemu_relocate_symbols64): Likewise.
2386 * grub-core/efiemu/i386/pc/cfgtables.c
2387 (grub_machine_efiemu_init_tables): Likewise.
2388 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2389 (grub_efiemu_loadcore_initXX): Add a filename argument.
2390 All users updated.
2391 Improved error message.
2392 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2393 Add a filename argument.
2394 All users updated.
2395 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2396 Reclassify double relocation as GRUB_ERR_BUG.
2397
306fc074
VS
23982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2401 handling.
2402
794d8ef2
VS
24032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2406 on partition.
2407
24082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2409
2410 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2411
794d8ef2 24122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2413
2414 Improve string. Gettextize.
2415
78dde88e
VS
24162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2419 utils.
2420 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2421
4786a90f
VS
24222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2425 [GRUB_UTIL]: New function.
2426 (insert_array) [GRUB_UTIL]: Store partmaps.
2427 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2428 partmaps.
2429 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2430 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2431 (probe_abstraction): Print diskfilter and not raid.
2432 Reported by: Lennart Sorensen
2433
0b6225bd
VS
24342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2437 * util/grub-mkimagexx.c (MASK3): New define.
2438 (add_value_to_slot_20b): Use MASK3.
2439 (add_value_to_slot_21): Likewise.
2440 (relocate_addresses): Fix format specification.
2441 (load_image): Explicitly init symtab_section.
2442
b055f8f6
VS
24432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2446 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2447
b77c2fb7
VS
24482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2451 on powerpc.
2452 Reported by: Lennart Sorensen
2453
e3ec28ab
VS
24542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * gentpl.py: Add missing license header.
2457 * docs/grub.texi: Update copyright year.
2458
c8d9ead6
GS
24592012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2460
2461 Source grub-mkconfig_lib from the build directory at build time.
2462 Suggested by: Vladimir Serbinenko.
2463
2464 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2465 * util/grub-install.in: Define pkgdatadir if not already set, and source
2466 grub-mkconfig_lib from there.
2467 * util/grub-kbdcomp.in: Likewise.
2468 * util/grub-mkconfig.in: Likewise.
2469 * util/grub-mknetdir.in: Likewise.
2470 * util/grub-mkrescue.in: Likewise.
2471 * util/grub-mkstandalone.in: Likewise.
2472 * util/grub-reboot.in: Likewise.
2473 * util/grub-set-default.in: Likewise.
2474 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2475
ebcecdf1
VS
24762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 Increase warning level.
2479
2480 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2481 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2482 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2483 (TARGET_CFLAGS): Likewise.
2484 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2485 * grub-core/Makefile.core.def (decompressor_xz): Add
2486 -Wno-unreachable-code.
2487 (normal): Add -Wno-redundant-decls.
2488 (xzio): Add -Wno-unreachable-code.
2489 (lzopio): Add -Wno-redundant-decls -Wno-error.
2490 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2491 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2492 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2493 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2494 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2495 * grub-core/kern/i386/coreboot/init.c: Add exception to
2496 -Wsuggest-attribute=noreturn.
2497 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2498 * grub-core/kern/ia64/dl_helper.c: Likewise.
2499 * grub-core/kern/mips/dl.c: Likewise.
2500 * grub-core/kern/sparc64/dl.c: Likewise.
2501 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2502 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2503 (memcmp): Likewise.
2504 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2505 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2506 * grub-core/loader/mips/linux.c: Likewise.
2507 * grub-core/loader/multiboot_elfxx.c: Likewise.
2508 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2509 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2510 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2511 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2512 fixme.
2513 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2514 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2515 Fix prototype.
2516
37bb97fe
VS
25172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2520 address.
2521
29a3550b
VS
25222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2525 Avoid improper use of strings.
2526 (grub_cmd_legacy_initrdnounzip): Likewise.
2527
dfdffd0d
VS
25282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2531 attribute.
2532 (grub_util_info): Likewise.
2533 (grub_util_error): Likewise.
2534
102fae4a
VS
25352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2538 * util/grub-fstest.c (fstest): Likewise.
2539
7e94d044
VS
25402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2543 (grub_md_sha512_real): Likewise.
2544 (grub_util_get_geli_uuid): Likewise.
2545 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2546 (grub_util_biosdisk_open): Fix format specification.
2547 Respect format security.
2548 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2549 (xrealloc): Likewise.
2550 (xasprintf): Likewise.
2551
5ebd9769
VS
25522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * util/import_gcry.py: Include grub/crypto.h in init.c.
2555
495fc8c1
VS
25562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2559 (generate_image): Make prefix a const char *.
2560 Fix format specifications. Respect format security.
2561 Avoid void * arithmetics.
2562 Avoid shadowing.
2563 (argp_parser): Remove unused variable. Respect format security.
2564 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2565 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2566 (count_funcs): Remove unused variable.
2567 (relocate_addresses): Fix format specification.
2568 Disable x86-64 with elf32. Remove unused variables.
2569 (add_fixup_entry): Avoid shadowing.
2570 (make_reloc_section): Fix format specification.
2571 Use assert.
2572 (locate_sections): Fix format specifications.
2573 (load_image): Avoid shadowing.
2574
043c2ea3
VS
25752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2578 Fix format specifications. Respect format security.
2579 Don't translate already translated grub_errmsg.
2580 (argp_parser): Remove unused variable
2581
3ec65a81
VS
25822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2585
a4d9fe4a
VS
25862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2589 (main): Likewise. Use xmalloc. Respect format security.
2590
15b81d49
VS
25912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2594 a const char *.
2595 (argp_parser): Remove unused variable.
2596
31731fc0
VS
25972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2600 (add_pixel): Make static.
2601 (add_font): Likewise.
2602 (write_string_section): Make name and str a const char *.
2603 (write_be16_section): Make name a const char *.
2604 (print_glyphs): Make static.
2605 (write_font_ascii_bitmap): Likewise.
2606 (write_font_width_spec): Likewise.
2607 (write_font_pf2): Likewise.
2608 (argp_parser): Remove unused variable.
2609 Respect format security.
2610 (main): Avoid shadowing. Respect format security.
2611
0809527b
VS
26122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * util/grub-editenv.c (argp_parser): Make static.
2615 (create_envblk_file): Use xmalloc.
2616 (open_envblk_file): Likewise.
2617 Resepect format security.
2618 (set_variables): Respect format security.
2619
45b0c8b7
VS
26202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * util/getroot.c (grub_find_device): Respect format security.
2623 (get_mdadm_uuid): Remove unused variable.
2624 (grub_util_pull_device): Dont call gettext on already translated
2625 grub_errmsg.
2626 (find_system_device): Remove unused variable.
2627 (grub_util_get_grub_dev): Likewise.
2628 (grub_make_system_path_relative_to_its_root): Respect format security.
2629
1b024b4e
VS
26302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * util/grub-fstest.c (execute_command): Make first argument
2633 a const char *.
2634 (read_file): Avoid shadowing.
2635 Reuse underlying error message if device open fails.
2636 (cmd_cmp): Respect format security.
2637 (root): Make const char *.
2638 (fstest): Remove args argument and use global copy.
2639 Respect format security.
2640 (argp_parser): Make static.
2641 (main): Make default_root const char *.
2642
5d1d4e28
VS
26432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * util/grub-mount.c (root): Make const char *.
2646 (execute_command): Make first argument a const char *.
2647 (fuse_init): Respect format security.
2648 (argp_parser): Make static. Remove unused variable.
2649 (main): Make default_root a const char *.
2650 Respect format security.
2651
36eb7379
VS
26522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * util/grub-probe.c (probe): Don't call gettext on already translated
2655 grub_errmsg.
2656 Remove unused variables.
2657 (argp_parser): Remove unused variable.
2658
76fb2ea9
VS
26592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * util/grub-script-check.c (argp_parser): Remove unused variable.
2662 (main): Rename read to curread to avoid shadowing.
2663
56c98584
VS
26642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * util/misc.c (grub_util_write_image_at): Fix format specification.
2667 (grub_util_write_image): Likewise.
2668 (grub_script_execute_argument_to_string): Removed (unused).
2669 (grub_script_execute_menuentry): Likewise.
2670 (grub_putchar): Likewise.
2671
164ebb48
VS
26722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2675 (FUNCTION) [GRUB_UTIL]: Likewise.
2676 (VARIABLE) [GRUB_UTIL]: Likewise.
2677
44318d61
VS
26782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2681 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2682
31a26002
VS
26832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2686 buffer.
2687
26882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2691 (LzmaEnc_SaveState): Removed (unused).
2692 (LzmaEnc_RestoreState): Likewise.
2693 (LzmaEnc_InitPriceTables): Made static.
2694 (LzmaEnc_Construct): Likewise.
2695 (LzmaEnc_FreeLits): Likewise.
2696 (LzmaEnc_Destruct): Likewise.
2697 (LzmaEnc_Init): Likewise.
2698 (LzmaEnc_InitPrices): Likewise.
2699 (LzmaEnc_Finish): Likewise.
2700 (LzmaEnc_PrepareForLzma2): Removed (unused).
2701 (LzmaEnc_MemPrepare): Likewise.
2702 (LzmaEnc_GetNumAvailableBytes): Likewise.
2703 (LzmaEnc_GetCurBuf): Likewise.
2704 (LzmaEnc_CodeOneMemBlock): Likewise.
2705
6fa67967
VS
27062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2709 (grub_util_ldm_embed): Likewise.
2710
9a7428e6
VS
27112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * util/grub-editenv.c (print_var): Rename name to varname to
2714 avoid shadowing.
2715 (main): Rename index to curindex to avoid shadowing.
31a26002 2716 Make filename a const char *.
9a7428e6 2717
4f96abd1
VS
27182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2721 to arg_getline to avoid shadowing.
2722
44d10dad
VS
27232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2726 disk_ to avoid shadowing.
2727
340ba63e
VS
27282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2731 curindex to avoid shadowing.
2732 Make static.
2733 (MatchFinder_GetNumAvailableBytes): Make static.
2734
22965bce
VS
27352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2738 avoid shadowing.
2739
7b5784d4
VS
27402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2743 argument from encrypt to do_encrypt to avoid shadowing.
2744
6f48ca01
VS
27452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2748 incorrect nesting of #if's.
2749
a4ea2dff
VS
27502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2753 checks which are always false on some platforms.
2754 (grub_cmd_lsacpi): Likewise.
2755 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2756 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2757 Likewise.
2758
def9fc1b
VS
27592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2762 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2763
a67b2a04
VS
27642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2767 re_dfa_t to avoid breaking alignment invariants.
2768 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2769 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2770
44c6828d
VS
27712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2774 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2775
bebe0dd0
VS
27762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2779 Fix declaration.
2780
a9cdb3cf
VS
27812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2784 conserve alignment invariants.
2785 (grub_ehci_ehcc_read16): Likewise.
2786 (grub_ehci_oper_read32): Likewise.
2787 (grub_ehci_oper_write32): Likewise.
2788 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2789 Conserve alignment invariants.
2790
ccc3b1b8
VS
27912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2794 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2795 declarations.
2796
987fbd95
VS
27972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2800 Remove unused variable.
2801
0df363f3
VS
28022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2805 Remove set in if.
2806
b2c0c4a6
VS
28072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * include/grub/net.h: Remove double declarations.
2810
690c531f
VS
28112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Remove "payload" command in ia64 Linux loader since I couldn't
2814 find any evidence of it being used for anything.
2815 Replace "relocate" command with an environment variable
2816
2817 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2818 fields.
2819 (ia64_boot_payload): Removed.
2820 (last_payload): Likewise.
2821 (RELOCATE_OFF): Likewise.
2822 (RELOCATE_ON): Likewise.
2823 (RELOCATE_FORCE): Likewise.
2824 (relocate): Likewise.
2825 (free_pages): Don't free payloads.
2826 (grub_load_elf64): Use common error messages.
2827 Use "linux_relocate" variable.
2828 Increase the space after boot_params.
2829 (grub_cmd_payload): Removed.
2830 (grub_cmd_relocate): Likewise.
2831 (grub_cmd_fpswa): Improve messages.
2832 (cmd_payload): Removed.
2833 (cmd_relocate): Likewise.
2834 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2835 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2836
01783768
VS
28372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Convert UHCI to DMA framework.
2840
2841 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2842 (grub_uhci_pci_iter): Fill new members
2843 (grub_alloc_td): Use P2V and V2P functions.
2844 (grub_free_queue): Likewise.
2845 (grub_alloc_qh): Likewise.
2846 (grub_uhci_setup_transfer): Likewise.
2847 (grub_uhci_check_transfer): Likewise.
2848
43206939
VS
28492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2852 Remove assignment in if while on it.
2853
571e140e
VS
28542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * util/grub-mkstandalone.in: Fix modules directory.
2857
a9d96eeb
VS
28582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2861 on i386-pc target.
2862 (argp_parser): Accept "auto" as compression specification.
2863
e4e37e8d
VS
28642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 Fix `help' with unloaded modules.
2867
2868 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2869 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2870 (grub_dyncmd_dispatcher): Small stylistic fix.
2871 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2872 explicit help is requested.
2873
e1ea3ade
VS
28742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2877 Explicitly init restart while on it.
2878
27556881
VS
28792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2882 uninited variable.
2883
d65f6b36
VS
28842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * util/grub-mknetdir.in: Use . rather than source for POSIX
2887 compatibility.
2888
0a1e473c
VS
28892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2892
ce6647c8
VS
28932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2896 variable.
2897
66747894
VS
28982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2901 without quotes.
2902
71645f6e
VS
29032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2906
0e1c1f61
VS
29072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2910 iteration of partitions.
2911
9c4b5c13
VS
29122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 Improve gettext support. Stylistic fixes and error handling fixes while
2915 on it.
2916
215c90cb
VS
29172012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2920 part. Instead setup the correct stack in RM.
2921 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2922 for stack.
2923 * include/grub/i386/relocator_private.h: New file.
2924
b5c1f9bf
VS
29252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2928 argument.
2929 * util/grub-fstest.c (options): Add missing DEVICE part.
2930
b525fd83
VS
29312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Clarify and unify messages.
2934
2935 * grub-core/commands/hashsum.c (options): Unify messages.
2936 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2937 literal-only message as translatable.
2938 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2939 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2940 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2941 commands.
2942 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2943 key, not the key used to unlock. Clarify what it's used for.
2944 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2945 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2946 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2947 * util/grub-editenv.c (options): Unify "verbose" message.
2948 * util/grub-fstest.c (read_file): Unify error message.
2949 (fstest): Add quotes around commands.
2950 (options): Unify "verbose" message.
2951 * util/grub-install.in: Add quotes around variable name.
2952 * util/grub-kbdcomp.in: Unify error message.
2953 * util/grub-mkfont.c (main): Likewise.
2954 * util/grub-mkrescue.in: Likewise.
2955 * util/grub-mklayout.c (options): Unify "verbose" message.
2956 * util/grub-mkstandalone.in: Unify help and verbose messages.
2957 * util/grub-mount.c (options): Unify "verbose" message.
2958 * util/grub-probe.c (options): Likewise.
2959 * util/grub-script-check.c (options): Likewise.
2960 * util/grub-setup.c (setup): Unify no-terminator message.
2961 (options): Use DEVICE and not DEV.
2962 Unify "verbose" message.
2963 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2964
0ae70393
VS
29652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 Improve and unify messages.
2968
2969 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2970 name. All users updated.
2971 Print filename in error.
2972 (read_device_map): Print filename in error.
2973 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2974 (grub_util_get_os_disk): Likewise.
2975 (grub_util_biosdisk_get_grub_dev): Likewise.
2976 (grub_util_check_block_device): Likewise.
2977 (grub_util_check_char_device): Likewise.
2978 (grub_make_system_path_relative_to_its_root): Likewise.
2979 * util/grub-editenv.c (create_envblk_file): Likewise.
2980 (open_envblk_file): Likewise.
2981 (write_envblk): Likewise.
2982 * util/grub-fstest.c (cmd_cp): Likewise.
2983 (cmd_cat): Likewise.
2984 (cmd_cmp): Likewise.
2985 * util/grub-menulst2cfg.c (main): Likewise.
2986 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2987 (write_font_width_spec): Likewise.
2988 (write_font_pf2): Likewise.
2989 * util/grub-mkimage.c (generate_image): New argument outname.
2990 All users updated.
2991 Remove unreacheable message.
2992 (options): Unify messages.
2993 (help_filter): Likewise.
2994 * util/grub-mklayout.c (usage): Removed (unused).
2995 (main): Print filename in error.
2996 * util/grub-mkrescue.in: Fix wrong quoting.
2997 * util/grub-setup.c (setup): Print filename in error.
2998 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2999 (check_sas): Likewise.
3000 * util/misc.c (grub_util_get_fp_size): Removed.
3001 (grub_util_get_image_size): Print filename in error.
3002 (grub_util_read_at): Removed.
3003 (grub_util_read_image): Print filename in error.
3004 (grub_util_load_image): Likewise.
3005 (grub_util_write_image_at): New argument filename. All users updated.
3006 Print filename in error.
3007 (grub_util_write_image): New argument filename. All users updated.
3008 Print filename in error.
3009 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3010 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3011
0a96117d
VS
30122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * grub-core/Makefile.core.def (pxechain): New module.
3015 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3016 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3017 function.
3018 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3019 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3020
aca002f7
VS
30212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3024 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3025 * include/grub/err.h (grub_error_saved): New struct.
3026 (grub_errmsg): Make array size explicit.
3027 * include/grub/misc.h (grub_error_save): New function.
3028 (grub_error_load): Likewise.
3029 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3030 (grub_error_push): Update `errno' member name.
3031 (grub_error_pop): Likewise
3032 * grub-core/net/tftp.c (tftp_data): New member save_err.
3033 (tftp_receive): Save error.
3034 (tftp_open): Restore error.
3035
a51dab13
VS
30362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3039 to real mode down to execute A20-related code in protected mode as
3040 intended.
3041
eb6e6649
GS
30422012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3043
3044 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3045 NULL when the argument `level' has an unexpected value.
3046
92cd0f6e
VS
30472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 Move platform-dependent files from $prefix to $prefix/$platform.
3050
3051 * config.h.in (GRUB_TARGET_CPU): New definition.
3052 (GRUB_PLATFORM): Likewise.
3053 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3054 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3055 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3056 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3057 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3058 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3059 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3060 * grub-core/normal/term.c (read_terminal_list): Likewise.
3061 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3062 $prefix/locale.
3063 (grub_gettext_init_ext): Likewise.
3064 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3065 grub_platform.
3066 * util/grub-install.in: Update directories.
3067 * util/grub-mknetdir.in: Likewise.
3068 * util/grub-mkrescue.in: Likewise.
3069
db606889
VS
30702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3073 grub_error framework. All users updated.
3074
c39992a4
VS
30752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3078 lists (by always binsearching), improve caching (cache strings
3079 used for binsearch, not only results), improve
3080 maintainability (by using more structured binary search) and correct
3081 error handling.
3082
1e5ec32f
VS
30832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/script/execute.c (grub_script_return): Fix warning.
3086
ac576cde
VS
30872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/script/execute.c (grub_script_return): Fix potential
3090 NULL-dereference.
3091 Reported by: Jim Meyering.
3092
498453f6
VS
30932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * po/POTFILES.in: Regenerate.
3096 * util/grub-install.in: Gettextize the strings missed in first pass.
3097
8be63f2e
VS
30982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * Makefile.util.def (grub-mkdevicemap): Removed.
3101 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3102 * include/grub/util/deviceiter.h: Removed.
3103 * util/deviceiter.c: Likewise.
3104 * util/getroot.c (grub_util_get_os_disk): New function.
3105 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3106 replacement for EFI.
3107 * util/grub-mkdevicemap.c: Removed.
3108 * util/grub-probe.c (probe): Handle PRINT_DISK.
3109 (argp_parser): Handle -t disk.
3110
8e1e4e39
VS
31112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * util/grub-mkfont.c: Migrate to argp.
3114 * util/grub-mklayout.c: Likewise.
3115 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3116 * util/grub-mkrelpath.c: Likewise.
3117 * util/grub-probe.c: Likewise.
3118 * util/grub-script-check.c: Likewise.
3119
4459819a
VS
31202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * util/grub-reboot.in: Add missing datarootdir.
3123 Add missing newline.
3124 * util/grub-set-default.in: Add missing datarootdir.
3125 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3126 * util/grub-mkrescue.in: Likewise.
3127
f65741c7
VS
31282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3131
c1a33466
VS
31322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * util/grub-kbdcomp.in: Add decent help and gettextize.
3135 * docs/man/grub-kbdcomp.h2m: New file.
3136
c76899a0
VS
31372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Migrate grub-mkimage.c to argp.
3140
3141 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3142 (grub-setup): Likewise.
3143 * util/grub-setup.c (print_version): Move to ...
3144 * util/argp_common.c (print_version): ... here.
3145 * util/grub-setup.c (argp_program_version_hook): Move to ...
3146 * util/argp_common.c (argp_program_version_hook): ... here.
3147 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3148 safety.
3149 * util/grub-mkimage.c (main): Migrate to argp.
3150
57db0757
VS
31512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * util/grub-mkrescue.in: Use same message as
3154 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3155 for better translations.
3156
18534ad9
VS
31572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3160 options with generic grub-mkrescue.in with the goal of future
3161 merge.
3162
c84ba308
VS
31632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/kern/mm.c: Add missing include of i18n.h
3166 * grub-core/lib/relocator.c: Likewise.
3167
347998c2
VS
31682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3171 error.
3172 (allocate_pages): Check return value.
3173 Replace fatal with error.
3174 (grub_linux_boot): Replace printf with dprintf.
3175 Check find_mmap_size return value.
3176 Replace fatal with error.
3177 Don't call grub_machine_fini.
3178 (grub_load_elf64): Replace printf with dprintf.
3179 (grub_cmd_linux): Likewise.
3180 (grub_cmd_initrd): Likewise.
3181 (grub_cmd_payload): Likewise.
3182
c779226e
VS
31832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3186 message.
3187 * grub-core/video/radeon_fuloong2e.c
3188 (grub_video_radeon_fuloong2e_setup): Likewise.
3189 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3190 * grub-core/video/video.c (grub_video_set_mode): Don't override
3191 standard out of memory message.
3192
dc87d45a
GS
31932012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3194
3195 NetBSD disk wedge support.
3196
3197 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3198 [__NetBSD__]: Handle NetBSD disk wedges.
3199 * util/getroot.c (convert_system_partition_to_system_disk)
3200 [__NetBSD__]: Likewise.
3201
055f856f
MW
32022012-02-03 Mark Wooding <mdw@distorted.org.uk>
3203
3204 * util/grub-mkconfig.in: Use umask rather than chmod to create
3205 grub.cfg.new to avoid insecure grub.cfg.
3206
4a9f8346
VS
32072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/commands/ls.c: Gettextize.
3210 * grub-core/commands/setpci.c: Likewise.
3211 * grub-core/commands/videotest.c: Likewise.
3212 * grub-core/disk/geli.c: Likewise.
3213 * grub-core/kern/mm.c: Likewise.
3214 * grub-core/lib/relocator.c: Likewise.
3215 * grub-core/loader/efi/appleloader.c: Likewise.
3216 * grub-core/loader/i386/xnu.c: Likewise.
3217 * grub-core/loader/ia64/efi/linux.c: Likewise.
3218 * grub-core/loader/xnu.c: Likewise.
3219 * grub-core/net/dns.c: Likewise.
3220 * grub-core/net/net.c: Likewise.
3221 * grub-core/script/lexer.c: Likewise.
3222 * grub-core/script/parser.y: Likewise.
3223 * grub-core/script/yylex.l: Likewise.
3224 * util/getroot.c: Likewise.
3225 * util/grub-setup.c: Likewise.
3226
a646a366
VS
32272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3230 number.
3231
54e2be26
VS
32322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3235
f7c71e68
VS
32362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3239 macro.
3240 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3241 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3242
a32d5c71
VS
32432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3246 * util/grub-install.in: Gettextize.
3247 * util/grub-mkconfig.in: Likewise.
3248 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3249 if not available.
3250 (grub_warn): Gettextize.
3251 * util/grub-mknetdir.in: Gettextize.
3252 * util/grub-mkrescue.in: Likewise.
3253 * util/grub-mkstandalone.in: Likewise.
3254 * util/grub-reboot.in: Likewise.
3255 * util/grub-set-default.in: Likewise.
3256 * util/grub.d/00_header.in: Likewise.
3257 * util/grub.d/10_hurd.in: Likewise.
3258 * util/grub.d/10_kfreebsd.in: Likewise.
3259 * util/grub.d/10_linux.in: Likewise.
3260 * util/grub.d/10_netbsd.in: Likewise.
3261 * util/grub.d/10_windows.in: Likewise.
3262 * util/grub.d/20_linux_xen.in: Likewise.
3263 * util/grub.d/30_os-prober.in: Likewise.
3264 * po/POTFILES-shell.in: Regenerate.
3265
69edd81a
RL
32662012-02-03 Richard Laager <rlaager@wiktel.com>
3267
3268 * util/grub-mkimage.c (main): Fix format-security warning.
3269 * util/grub-mkrelpath.c (main): Likewise.
3270 * util/grub-probe.c (main): Likewise.
3271
65f08dbf
RL
32722012-02-03 Richard Laager <rlaager@wiktel.com>
3273
3274 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3275 failure.
3276 Put back lost PRINT_DRIVE.
3277
e9084abe
RL
32782012-02-03 Richard Laager <rlaager@wiktel.com>
3279
3280 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3281 (grub_guess_root_devices): Replace strlen with sizeof.
3282 Avoid crash.
3283 (find_root_devices_from_poolname): Remove unused variable.
3284 Handle raidzN.
3285
cf5f7ee7
VS
32862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 Support install on multi-device filesystems.
3289
3290 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3291 (grub_guess_root_devices): ...this. Return char **. All users updated.
3292 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3293 Removed.
3294 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3295 (find_root_devices_from_poolname): ... here.
3296 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3297 Support zfs-fuse.
3298 (grub_guess_root_device): Rename to ...
3299 (grub_guess_root_devices): ... this. Return char **. All users updated.
3300 * util/grub-install.in: Handle multi-device filesystems.
3301 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3302 argument. All users updated.
3303 Handle multi-device filesystems.
3304 Use 'delim' as separator.
3305 Remove device check to allow filesystems on file.
3306 (main): Support -0 argument. Handle multi-device.
3307 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3308 Fix a cross-device check while on it.
3309 (arguments): Remove root_dev.
3310 (argp_parser): Remove -r.
3311 (main): Remove root_dev.
3312
2f53a9ed
VS
33132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3316
17e1d934
VS
33172012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3320 symbol.
3321 Reported by: NODA, Kai <nodakai>.
3322
d3e3fab5
VS
33232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 Fix ehci on amd64.
3326
3327 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3328 pointers.
3329 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3330 (grub_ehci_setup_qh): Likewise.
3331 (grub_ehci_find_qh): Likewise.
3332 (grub_ehci_transaction): Likewise.
3333 (grub_ehci_setup_transfer): Likewise.
3334 (grub_ehci_check_transfer): Likewise.
3335 (grub_ehci_portstatus): Likewise.
3336 (grub_ehci_detect_dev): Likewise.
3337 (grub_ehci_transfer_controller_data): New field td_last_phys.
3338 (grub_ehci_setup_transfer): Fill td_last_phys.
3339 (grub_ehci_check_transfer): Use td_last_phys.
3340
3008675b
SG
33412012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3342
3343 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3344 if no submenu is present.
3345
fc9b5652
AN
33462012-02-01 Aleš Nesrsta <starous@volny.cz>
3347
3348 CBI support.
3349
3350 * include/grub/usb.h (grub_usbms_protocol_t): New values
3351 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3352 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3353 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3354 (grub_usbms_dev): Add subclass, protocol and intrpt.
3355 Remove in_maxsz and out_maxsz.
3356 (grub_usbms_reset): Rename to ...
3357 (grub_usbms_bo_reset): .. this.
3358 (grub_usbms_cbi_cmd): New function.
3359 (grub_usbms_cbi_reset): Likewise.
3360 (grub_usbms_reset): Likewise.
3361 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3362 (grub_usbms_transfer): Rename to ...
3363 (grub_usbms_transfer_bo): ... this.
3364 (grub_usbms_transfer_cbi): Likewise.
3365 (grub_usbms_transfer): Likewise.
3366
a2b81d53
AN
33672012-02-01 Aleš Nesrsta <starous@volny.cz>
33682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3371 the support for the CS5536 modification thereos and few bugfixes.
3372
3373 * grub-core/Makefile.core.def (ehci): New module.
3374 * grub-core/bus/usb/ehci.c: New file.
3375 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3376 port and hubaddr. All users updated.
3377 Save port and hubaddr into dev structure.
3378 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3379 define.
3380 * include/grub/pci.h (grub_dma_phys2virt): New function.
3381 (grub_dma_virt2phys): Likewise.
3382 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3383
b1d51f02
VS
33842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3387 check as some mkfs implementations omit it.
3388
fc694106
VS
33892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3392
6c0920e3
VS
33932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3396 Add new member volname2.
3397 (grub_jfs_label): Use volname2 if available.
3398
d1a46f9a
VS
33992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3402 over last_mounted as seen in image generated by mkfs.nilfs2.
3403 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3404
dec8ed14
VS
34052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3408 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3409 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3410
7397c69b
VS
34112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3414 over the sector.
3415
b3fe42ad
VS
34162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3419 subvolume name (by removing a bogus and useless check).
3420
10476bb0
VS
34212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3424 sizeof while on it.
3425
9c08ad87
VS
34262012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3429 (grub_scsi_read_capacity10): ... this.
3430 (grub_scsi_read_capacity16): New function.
3431 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3432 0xffffffff.
3433 Fix off-by-one error.
3434 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3435 64-bit unsigned.
3436 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3437 (grub_scsi_read_capacity10): ... this.
3438 (grub_scsi_read_capacity_data): Rename to ...
3439 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3440 (grub_scsi_read_capacity16): New struct.
3441 (grub_scsi_read_capacity16_data): Likewise.
3442 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3443 grub_scsi_cmd_read_capacity10.
3444 New command grub_scsi_cmd_read_capacity16.
3445
bc8d0f45
VS
34462012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 SCSI >2TiB support.
3449
3450 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3451 (grub_scsi_write16): Likewise.
3452 (grub_scsi_read): Use read16 when necessary.
3453 (grub_scsi_write): Likewise.
3454 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3455 (grub_scsi_write16): Likewise.
3456 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3457
cc774926
VS
34582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 SCSI write support (for usbms mainly).
3461
3462 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3463 a const pointer.
3464 (grub_scsi_write): Implement.
3465 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3466
67639fd7
VS
34672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3470 variable.
3471
9079d3ed
VS
34722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3475
c6a6f204
VS
34762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * po/POTFILES.in: Regenerate.
3479
ecbf8cd1
VS
34802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3483 with grub_printf to avoid unnecessary fatal failure.
3484
0b3b3b38
VS
34852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3488 (INT_MAX): Likewise.
3489 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3490 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3491 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3492 (strcpy): Likewise.
3493 (strstr): Likewise.
3494 (strchr): Likewise.
3495 (strncpy): Likewise.
3496 (strcat): Likewise.
3497 (strncat): Likewise.
3498 (strcoll): Likewise.
3499 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3500 (GRUB_INT_MAX): Likewise.
3501
db7337a3
VS
35022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3505 unexpected error.
3506 (optimize_utf8): Likewise.
3507 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3508
f37c87e1
VS
35092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/boot/i386/pc/lnxboot.S: Use
3512 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3513 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3514 location.
3515 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3516 definition.
3517 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3518
63fe43f3
VS
35192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3522 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3523 now to avoid double free.
3524 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3525 hostdisk.
3526 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3527 * util/grub-probe.c (escape_of_path): Always return a new copy.
3528 (print_full_name): Escape path.
3529 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3530 Fix hints on abstractions.
3531
ebe2c961
VS
35322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3535 Don't add "root" line if no compatibility hont is available.
3536 Suggested by: Seth Goldberg.
3537
2b5336a2
VS
35382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3541 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3542 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3543 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3544
74310bd8
VS
35452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3548
c30582ba
VS
35492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * util/grub-pe2elf.c (ehdr): Make static.
3552 (shdr): Likewise.
3553 (num_sections): Likewise.
3554 (offset): Likewise.
3555
5f47782c
VS
35562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Eliminate ofpath limits and possible overflows.
3559
3560 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3561 (OF_PATH_MAX): Removed.
3562 (MAX_DISK_CAT): New const.
3563 (find_obppath): Use allocated rather than preallocated buffer.
3564 Return result. Argument of_path removed. All users updated.
3565 Add missing fdstat.
3566 (xrealpath): New function.
3567 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3568 Allocate rather than use preallocated buffer. All users updated.
3569 (__of_path_common): Use allocated rather than preallocatecd buffer.
3570 Return result. Argument of_path removed. All users updated.
3571 (vendor_is_ATA): Read only needed part form the file.
3572 (check_sas): Allocate depending on contents rather than fixed.
3573 (main) [STANDALONE]: Handle NULL result.
3574
f990cbf9
VS
35752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3578
9c6e84b8
VS
35792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Cryptodisk write support.
3582
3583 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3584 (grub_cryptodisk_decrypt): Moved logic to ...
3585 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3586 (grub_cryptodisk_write): Implement.
3587 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3588 (grub_util_fd_write): ... this. Make global.
3589 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3590
87cf9744
VS
35912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/grub/list.h (grub_list_remove): Don't crash if element is
3594 removed twice.
3595
ca8c0baf
VS
35962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Rename ofconsole to console.
3599
3600 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3601 as sysnonym to console.
3602 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3603 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3604 Rename grub_ofconsole_ to grub_console_. All users updated
3605 (grub_console_term_output): Rename "ofconsole" to "console".
3606 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3607 as "console".
3608
64c8b8f6
VS
36092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3612 handling.
3613 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3614 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3615 GRUB_DISK_DEVICE_FILE_ID.
3616
f6c434d5
VS
36172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3620 and improve performance.
3621
5858b42d
VS
36222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3625 missing ieee1275/ prefix on whole disk.
3626
4ed3c26b
VS
36272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3630 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3631
df71143e
VS
36322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3635
076e7c0f
VS
36362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 Merge common RAID and LVM logic to an abstract diskfilter.
3639 Add LDM support using the same framework.
3640
3641 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3642 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3643 (libgrubmods): Remove grub-core/disk/raid.c and
3644 grub-core/partmap/gpt.c.
3645 * grub-core/Makefile.core.def (ldm): New module.
3646 (raid): Renamed to diskfilter. All users updated.
3647 * grub-core/disk/raid.c: Moved to ...
3648 * grub-core/disk/diskfilter.c: ... here.
3649 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3650 (lv_num): New var.
3651 (find_array): Renamed to ...
3652 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3653 (grub_is_array_readable): Renamed to ...
3654 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3655 (insert_array): New argument id.
3656 (is_node_readable): New function.
3657 (scan_device): Rename to ...
3658 (scan_disk): .. this. Restrict to one disk.
3659 (scan_devices): New function.
3660 (grub_diskfilter_iterate): Support multi-LV.
3661 Skip invisible and nameless LVs.
3662 (grub_diskfilter_memberlist): Support multi-LV.
3663 (grub_diskfilter_read_node): New function.
3664 (grub_raid_read): Most of logic moved to ...
3665 (read_segment): ... here
3666 (read_lv): New function.
3667 (grub_diskfilter_get_vg_by_uuid): New function.
3668 (grub_diskfilter_make_raid): Likewise.
3669 * grub-core/disk/ldm.c: New file.
3670 * grub-core/disk/lvm.c (vg_list): Removed.
3671 (lv_count): Likewise.
3672 (scan_depth): Likewise.
3673 (is_lv_readable): Likewise.
3674 (grub_lvm_getvalue): Advance pointer past the number.
3675 (find_lv): Removed.
3676 (do_lvm_scan): Refactored into ...
3677 (grub_lvm_detect): ... this. Support raid.
3678 (grub_lvm_iterate): Removed.
3679 (grub_lvm_memberlist): Likewise.
3680 (grub_lvm_open): Likewise.
3681 (grub_lvm_close): Likewise.
3682 (read_lv): Likewise.
3683 (read_node): Likewise.
3684 (is_node_readable): Likewise.
3685 (is_lv_readable): Likewise.
3686 (grub_lvm_read): Likewise.
3687 (grub_lvm_write): Likewise.
3688 (grub_lvm_dev): Use diskfilter
3689 (GRUB_MOD_INIT): Likewise.
3690 (GRUB_MOD_FINI): Likewise.
3691 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3692 new interface.
3693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3694 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3695 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3696 grub_diskfilter_read_node.
3697 Fix a bug with xor.
3698 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3699 grub_diskfilter_read_node.
3700 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3701 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3702 (grub_disk_dev_iterate): Move from here...
3703 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3704 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3705 Make global.
3706 (grub_hostdisk_find_partition_start): Likewise.
3707 (grub_hostdisk_os_dev_to_grub_drive): New function.
3708 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3709 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3710 * util/getroot.c (make_device_name): ... here.
3711 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3712 Move to ...
3713 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3714 * grub-core/kern/emu/hostdisk.c
3715 (convert_system_partition_to_system_disk): Move to ...
3716 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3717 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3718 * util/getroot.c (device_is_wholedisk): ... here.
3719 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3720 * util/getroot.c (find_system_device): ... here.
3721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3722 Move to ...
3723 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3725 Move to ...
3726 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3727 Handle LDM.
3728 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3729 Move to ...
3730 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3731 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3732 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3733 DISKFILTER.
3734 * include/grub/raid.h: Renamed to ...
3735 * include/grub/diskfilter.h: ... this.
3736 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3737 (GRUB_RAID_LAYOUT_*): Make into array.
3738 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3739 (grub_diskfilter_vg): New struct.
3740 (grub_diskfilter_pv_id): Likewise.
3741 (grub_raid_member): Removed.
3742 (grub_raid_array): Likewise.
3743 (grub_diskfilter_pv): New struct.
3744 (grub_diskfilter_lv): Likewise.
3745 (grub_diskfilter_segment): Likewise.
3746 (grub_diskfilter_node): Likewise.
3747 (grub_diskfilter_get_vg_by_uuid): New proto.
3748 (grub_raid_register): Inline.
3749 (grub_diskfilter_unregister): Likewise.
3750 (grub_diskfilter_make_raid): New proto.
3751 (grub_diskfilter_vg_register): Likewise.
3752 (grub_diskfilter_read_node): Likewise.
3753 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3754 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3755 (grub_util_is_ldm): Likewise.
3756 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3757 (grub_hostdisk_find_partition_start): Likewise.
3758 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3759 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3760 New definition.
3761 (grub_gpt_partition_map_iterate): New proto.
3762 * include/grub/lvm.h (grub_lvm_vg): Removed.
3763 (grub_lvm_pv): Likewise.
3764 (grub_lvm_lv): Likewise.
3765 (grub_lvm_segment): Likewise.
3766 (grub_lvm_node): Likewise.
3767 * util/getroot.c [...]
3768 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3769 (probe_abstraction): Likewise.
3770 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3771 (main): Remove dead logic.
3772
8a7f9b9c
VS
37732012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Simplify root device discover and don't fail when trying to open
3776 incorrect devices.
3777
3778 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3779 function.
3780 (get_diskname_from_path): Likewise.
3781 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3782 of iterating.
3783
30545b85
VS
37842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3787
28ea58cf
VS
37882012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3791 pastthe end.
3792
692dabca
VS
37932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * util/grub-install.in: Add missing \.
3796 Reported by: gentoofan
3797
f6e4ea70
VS
37982012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3801 (direct_read): Use correct compressed size.
3802 (grub_squash_read_data): Likewise.
3803
38042012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3805
3806 * docs/grub.texi (Platform limitations): New section.
3807 (Platform-specific operations): Likewise.
3808 * docs/grub-dev.texi (Porting): Likewise.
3809
76261110
VS
38102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 IEEE1275 disk write support.
3813
3814 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3815 const void *.
3816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3817 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3818 and seek loginc to ...
3819 (grub_ofdisk_prepare): ... here.
3820 (grub_ofdisk_write): Implement.
3821
fc36d603
VS
38222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 ARC disk write support.
3825
3826 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3827 (reopen): New argument writable. All users updated.
3828 Handle required access mode.
3829 (grub_arcdisk_write): Implement.
3830 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3831 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3832
e06c2e7a
VS
38332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3836 (read_sblock): Don't attempt to read superblocks outside the disk size.
3837
ff447958
VS
38382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3841 first superblock to find the second one when possible.
3842
9e88df39
VS
38432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * util/grub-install.in: Fix an ARC bug.
3846 Print a warning if no platform-specific setup is available.
3847
bb26e4ff
VS
38482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Use static allocation rather than scratch pointer in reed_solomon.
3851 It decreases its size significantly and avoids a variable in .text.
3852
3853 * grub-core/lib/reed_solomon.c (scratch): Removed.
3854 (chosenstat): New const or static array.
3855 (sigma): Likewise.
3856 (errpot): Likewise.
3857 (errpos): Likewise.
3858 (sy): Likewise.
3859 (mstat): Likewise.
3860 (errvals): Likewise.
3861 (eqstat): Likewise.
3862 (pol_evaluate): Replace x with log_x argument. All users updated.
3863 (syndroms): Removed.
3864 (gauss_solve): Use statically allocated arrays.
3865 (rs_recover): Likewise.
3866 Calculate syndroms directly.
3867 (decode_block): Use statically allocated arrays.
3868 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3869 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3870
2e13ede5
VS
38712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 Eliminate fixed limit on reed solomon decoder length.
3874
3875 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3876 rather than hardcoding the address.
3877 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3878 no_reed_solomon_length.
3879 Move gate_a20 to no-reed-solomon part.
3880 Don't force a particular size of no reed-solomon part.
3881 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3882 Removed.
3883 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3884 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3885
f8a9ab12
VS
38862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/commands/wildcard.c (match_files): Handle filenames
3889 without explicit device.
3890 (wildcard_expand): Don't add explicit device if not already present.
3891 * tests/grub_script_echo1.in: Add a new expansion test.
3892
87edb894
VS
38932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 Replace single-linked with double-linked lists. It results in more
3896 compact and more efficient code.
3897
3898 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3899 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3900 (grub_list_remove): Moved from here ...
3901 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3902 (grub_prio_list_insert): Set prev.
3903 * include/grub/list.h (grub_list): Add prev. All users updated.
3904
48b391e9
VS
39052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 Handle newer autotools. Add some missing quotes while on it.
3908
3909 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3910 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3911 (pkgdata_DATA): ... here.
3912 * Makefile.util.def (update-grub_lib): Removed.
3913 * conf/Makefile.common (pkglib_DATA): Removed.
3914 (pkglib_SCRIPTS): Likewise.
3915 (pkgdata_DATA): New variable.
3916 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3917 needed.
3918 Add missing quotes.
3919 Remove unused variable while on it.
3920 * tests/util/grub-shell.in: Likewise.
3921 * util/grub-install.in: Likewise.
3922 * util/grub-mkconfig.in: Likewise.
3923 * util/grub-mknetdir.in: Likewise.
3924 * util/grub-mkrescue.in: Likewise.
3925 * util/grub-mkstandalone.in: Likewise.
3926 * util/grub.d/00_header.in: Likewise.
3927 * util/grub.d/10_hurd.in: Likewise.
3928 * util/grub.d/10_illumos.in: Likewise.
3929 * util/grub.d/10_kfreebsd.in: Likewise.
3930 * util/grub.d/10_linux.in: Likewise.
3931 * util/grub.d/10_netbsd.in: Likewise.
3932 * util/grub.d/10_windows.in: Likewise.
3933 * util/grub.d/20_linux_xen.in: Likewise.
3934 * util/grub.d/30_os-prober.in: Likewise.
3935 * util/update-grub_lib.in: Removed.
3936
39372012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3938
3939 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3940 a workaround for intel problem.
3941
66832792
PRP
39422012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
39432012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
39442012-01-23 pfsmorigo
3945
3946 * util/grub-install.in: Support dd'in into PreP partition.
3947 * util/grub-probe.c (probe): Support discovering partition type.
3948 (main): Support -t msdos_parttype.
3949
7816a17e
VS
39502012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3953 infinite recursion using counter.
3954 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3955 init to skip it if the magic check fails.
3956 (dec_stream_header): Init s->crc32.
3957
8f9d3a8c
ZB
39582012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
39592012-01-22 Zachary Bedell <pendorbound@gmail.com>
39602012-01-22 Richard Laager <rlaager@wiktel.com>
3961
3962 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3963 All users updated.
3964 (find_bestub): Determine correct size.
3965 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3966 (scan_disk): Align the size down.
3967 Call check pool before find_bestub to have ashift.
3968
b055dd32
VS
39692012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3972 dprintf in no-malloc zone.
3973
d779e9bd
ML
39742012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3975
3976 * configure.ac: Add back in test for limits.h.
3977
b508af69
VS
39782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 Support 4K-sector NTFS.
3981
3982 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3983 (grub_ntfs_data): Remove blocksize.
3984 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3985 Remove data argument. All users updated.
3986
dad9c8b5
VS
39872012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3990 being in .text to avoid dprel references.
3991 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3992 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3993 (grub_arch_highmemsize): Likewise.
3994 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3995 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3996 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3997
d43a777e
VS
39982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4001
4002 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4003 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4004
34e4208f
VS
40052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4008 GRUB_UTIL.
4009 (grub_set_datetime_cmos): Likewise.
4010
3ec0fc1c
VS
40112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Make XZ compression parameters dependent on target and not host CPU.
4014
4015 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4016 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4017
22489834
VS
40182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4021 set but not used variable.
4022
8502fbca
VS
40232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4026 created when no uuid support is compiled into mkfs.reiser.
4027
76df2068
VS
40282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4031 (utf8_to_macroman): Do the opposite.
4032 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4033
64e3f8f6
VS
40342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * configure.ac: Refise build qemu_mips w/o unifont.
4037
9c271078
VS
40382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Eliminate grub_min/grub_max prone to overflow usage.
4041
4042 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4043 (poll_nonroot_hub): Likewise.
4044 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4045 (grub_affs_label): Likewise.
4046 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4047 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4048 (grub_hfs_label): Likewise.
4049 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4050 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4051 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4052 (zap_leaf_array_get): Likewise.
4053 (dnode_get_path): Likewise.
4054 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4055 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4056 * grub-core/script/execute.c (grub_script_break): Likewise.
4057 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4058 grub_max.
4059 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4060 * include/grub/misc.h (grub_min): Removed.
4061 (grub_max): Likewise.
4062
80662dbc
VS
40632012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4064
4065 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4066 direct.inode = 0.
4067
e6da1467
VS
40682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4071
b1ac4cb1
VS
40722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4075
b4bf7c3b
VS
40762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4079 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4080
8ee1101a
VS
40812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4084 rather than a hack for grub_strncasemap.
4085
40862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Support multiple initrds
4089 Note: part of this was accidently committed in r3739.
4090
4091 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4092 initrd.
4093 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4094 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4095 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4096 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4097 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4098
4d1e2bc9
VS
40992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4102 disks with unknown size.
4103 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4104
75b49ebe
VS
41052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Remove defines pertaining to arbitrary limits not affecting GRUB
4108 anymore.
4109
4110 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4111 (EXT2_MAX_SYMLINKCNT): Likewise.
4112 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4113 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4114 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4115 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4116 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4117 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4118 (DN_MAX_OBJECT_SHIFT): Likewise.
4119 (DN_MAX_OFFSET_SHIFT): Likewise.
4120 (DN_MAX_OBJECT): Likewise.
4121 (DNODES_PER_LEVEL_SHIFT): Likewise.
4122 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4123 (SPA_MAXBLOCKSIZE): Likewise.
4124 (SPA_BLOCKSIZES): Likewise.
4125 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4126 (MZAP_MAX_BLKSZ): Likewise.
4127
74a1dce7
VS
41282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4131 handle NULL appropriately.
4132 Remove MIN.
4133
30c7d3ce
VS
41342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Fix efiemu.
4137
4138 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4139 cpu/types.h.
4140 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4141 * configure.ac: Fix efiemu check.
4142
3c76ea0c
VS
41432012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4146 grub_probe.
4147 Reported by: adamwill
4148
7e532280
SG
41492012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4150
4151 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4152
30492374
VS
41532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Fix handling of wide characters in gfxterm.
4156
4157 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4158 (clear_char): Likewise.
4159 (paint_char): Skip code == NULL chars.
4160 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4161
e70cb72f
VS
41622012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/normal/charset.c: Move comment to right place.
4165
5c827cf9
VS
41662012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4169 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4170 (grub_affs_mount): Revert the correct version checking.
4171
53603892
VS
41722012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * docs/grub.texi (Unicode): Mention several other unsupported features.
4175
ff094b9b
VS
41762011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4179 case statements as compile-time one.
4180 (direct_read): Prevent spurious warnings.
4181 (grub_squash_read_data): Likewise.
4182
c029da8a
VS
41832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Various squash4 fixes and LZO and XZ support.
4186
4187 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4188 Add xzembed source files.
4189 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4190 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4191 (grub_squash_inode): New subtype long_dir.
4192 (SQUASH_TYPE_LONG_DIR): New inode type.
4193 (COMPRESSION): New enum.
4194 (XZBUFSIZ): New const.
4195 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4196 (read_chunk): Use data->decompress.
4197 (zlib_decompress): New function.
4198 (lzo_decompress): Likewise.
4199 (xz_decompress): Likewise.
4200 (squash_mount): Set new data fields.
4201 (grub_squash_iterate_dir): Handle long dir.
4202 (squash_unmount): Free xzdec and xzbuf.
4203 (grub_squash_open): Check ino type.
4204 (direct_read): Stylistic fixes. Use data->decompress.
4205 (grub_squash_read_data): Likewise.
4206 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4207 (get_byte): Likewise.
4208 (grub_zlib_disk_read): Removed.
4209 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4210 (GRUB_POSIX_BOOL_DEFINED): New define.
4211 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4212 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4213 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4214 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4215
7a45a539
VS
42162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 Don't override more informative errors.
4219
4220 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4221 * grub-core/font/font.c (open_section): Likewise.
4222 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4223 filename. Don't override errors.
4224 (grub_cmd_openbsd_ramdisk): Don't override errors.
4225 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4226 (grub_cmd_initrd): Likewise.
4227 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4228 (grub_cmd_initrd): Likewise.
4229 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4230 (grub_cmd_linux): Likewise.
4231 (grub_cmd_initrd): Likewise.
4232 (grub_cmd_payload): Likewise.
4233 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4234 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4235 (grub_cmd_module): Likewise.
4236 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4237 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4238 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4239 (grub_cmd_xnu_mkext): Likewise.
4240 (grub_cmd_xnu_ramdisk): Likewise.
4241 (grub_xnu_check_os_bundle_required): Likewise.
4242 (grub_xnu_load_kext_from_dir): Likewise.
4243 (grub_cmd_xnu_kextdir): Likewise.
4244 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4245
b2d004db
VS
42462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4249 as 1024 in block size field. Found on one of my test images.
4250 Small optimisation while on it.
4251
ec000eac
VS
42522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4255 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4256 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4257 performance fixes while on it.
4258 (grub_sfs_close): Fix memory leak while on it.
4259 (grub_sfs_label): Convert Latin1 to UTF-8.
4260
f50e1165
VS
42612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4264 space to avoid overflows.
4265 (grub_hfs_label): Convert from macroman to UTF-8.
4266
2ae254de
VS
42672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4270
0108f491
VS
42712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4274
f45f5f89
VS
42752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * unicode: Import Unicode 6.0 data.
4278
4d8c4765
VS
42792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4280
63fa8ef9
VS
4281 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4282 outside of range.
4283
42842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4287
4288 * include/grub/charset.h (grub_getend): New function.
4289 * grub-core/script/function.c (grub_script_function_find): Use
4290 grub_getend.
4291 * grub-core/normal/completion.c (add_completion): Likewise.
4292
f3cb4a4e
VS
42932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4296 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4297 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4298 (GRUB_UNICODE_TAG_END): Likewise.
4299 (GRUB_UNICODE_LAST_VALID): Likewise.
4300
5da8dbc5
VS
43012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4304 len and make it smaller. All users updated.
4305 * util/import_unicode.py: Put length and not end character.
4306 Check length.
4307
8569f13d
VS
43082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Make better Unicode-compliant and unify some UTF-8 code pathes.
4311
4312 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4313 valid character.
4314 (grub_is_valid_utf8): Use grub_utf8_process.
4315 Check resulting code range.
4316 (grub_utf8_to_ucs4): Use grub_utf8_process.
4317 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4318 valid character.
4319
cc4fddf5
VS
43202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4323
bbc47747
VS
43242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * docs/grub.texi (Filesystems): Mention AFS.
4327
f63d6bf4
VS
43282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * docs/grub.texi (Filesystems): Clarify restrictions.
4331 (Regexp): Mention non-Unicode regexp behaviour.
4332 (Other): Mention non-Unicode matching behaviour.
4333
74bbf0db
VS
43342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4335
f63d6bf4 4336 Make HFS implementation use MacRoman.
74bbf0db
VS
4337
4338 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4339 (macroman): New const array.
4340 (macroman_to_utf8): New function.
4341 (utf8_to_macroman): Likewise.
4342 (grub_hfs_find_dir): Use utf8_to_macroman.
4343 (grub_hfs_dir): Use macroman_to_utf8.
4344 Set case_insensitive.
4345
4ea0316e
VS
43462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4349
d3c13cbd
VS
43502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 Integrate hints into autogeneration scripts.
4353
4354 * docs/grub.texi (Filesystems): Add a hostdisk example.
4355 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4356 (grub-probe): Add ofpath.
4357 * gentpl.py: Remove group nosparc64.
4358 * grub-core/commands/search.c (cache_entry): New struct.
4359 (cache): New var.
4360 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4361 * grub-core/commands/search_wrap.c (options): Add platform-specific
4362 hint options.
4363 (grub_cmd_search): Handle platform-specific hints.
4364 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4365 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4366 (grub_util_biosdisk_data): Likewise.
4367 (grub_util_biosdisk_open): Set device_map.
4368 (read_device_map): Handle "" as indication of no map.
4369 Set device_map.
4370 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4371 (grub_util_biosdisk_get_compatibility_hint): New function.
4372 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4373 * include/grub/emu/hostdisk.h
4374 (grub_util_biosdisk_get_compatibility_hint): New proto.
4375 * util/grub-install.in: Don't call grub-mkdevicemap.
4376 Add platform-specific hint to load.cfg.
4377 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4379 hints. Set root preliminary to compatibility hint, not to OS name.
4380 * util/grub-probe.c (PRINT_*): Add hints.
4381 (print): Make static.
4382 (escape_of_path): New function.
4383 (guess_bios_drive): Likewise.
4384 (guess_efi_drive): Likewise.
4385 (guess_baremetal_drive): Likewise.
4386 (print_full_name): Likewise.
4387 (probe): Handle hints.
4388 (main): Likewise.
4389 * util/ieee1275/devicemap.c: Removed.
4390 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4391 updated.
4392 (grub_util_devname_to_ofpath): Return NULL on failure.
4393
4394 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4395 resource leak.
4396 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4397
4398 * po/POTFILES.in: Regenerated.
4399
4400 Allow purely long options
4401
4402 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4403 (SHORT_ARG_USAGE): Likewise.
4404 (grub_arg_show_help): Compare opt with help_options.
4405 (parse_option): Receive opt as argument. If makes big simplificatons.
4406 All users updated
4407
00ce2df3
VS
44082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4411 Restructure to avoid warning.
4412
e77e325f
VS
44132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * util/grub-install.in: Account for possible escaped comma in device
4416 name.
4417
165099ea
VS
44182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4421 channel.
4422
ce4a999d
VS
44232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4426 allocation and zero-setting.
4427 (grub_ieee1275_get_devname): Check that alias is complete.
4428
379586ad
VS
44292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4432 unaligned segments.
4433
9197b0ad
VS
44342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4437 prefix.
4438 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4439 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4440 Add ieee1275 prefix.
4441
edddb7f9
VS
44422011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * docs/grub.texi (Filesystems): Update.
4445
a1a8b1b9
VS
44462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Support odc, newc and bigendian cpio formats.
4449
4450 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4451 * grub-core/Makefile.core.def (newc): New module.
4452 (odc): Likewise.
4453 (cpio_be): Likewise.
4454 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4455 (MAGIC): Likewise.
4456 (MAGIC2): Likewise.
4457 (head) [MODE_ODC]: Adapt for the format.
4458 (head) [MODE_NEWC]: Likewise.
4459 (head) [!MODE_*]: Write fields of interest as arrays.
4460 (MAGIC_USTAR): Removed.
4461 (read_number) [MODE_NEWC]: Change to hex.
4462 (read_number) [!MODE_*]: Parse binary arrays.
4463 (grub_cpio_find_file): Factor out the code for better structure and
4464 always use read_number.
4465 (grub_cpio_mount): Use MAGIC and MAGIC2.
4466 (grub_cpio_dir): Exit on first hook non-0 return.
4467 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4468 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4469 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4470 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4471 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4472 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4473 * grub-core/fs/newc.c: New file.
4474 * grub-core/fs/odc.c: Likewise.
4475 * grub-core/fs/cpio_be.c: Likewise.
4476
58eba9ee
VS
44772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 Fix handling of tar numbers occupying the whole field.
4480
4481 * grub-core/fs/cpio.c (read_number): New function.
4482 (grub_cpio_find_file): Use read_number instead of strtoull.
4483
a54a0e12
VS
44842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4487 occupying the whole field size.
4488
a6120aca
LA
44892011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4490
4491 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4492
a93964ce
VS
44932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4496
3ea1ca46
SG
44972011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4498
4499 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4500 TARGET_IMG_LDFLAGS.
4501
b87f7ef2
VS
45022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4505 (mountinfo_entry): Increase the field size to take escaping into
4506 account.
4507 (find_root_device_from_libzfs): Add one byte to size of strings for
4508 security.
4509
62092395
VS
45102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4513 an assert.
4514 * util/grub-setup.c (setup): Likewise.
4515
1f0b1a77
VS
45162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4519 _LzmaDecodeA.
4520
8eba9997
VS
45212011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * docs/grub.texi (Internationalisation): New section.
4524
dd0c91e9
VS
45252011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * docs/grub.texi (Loopback booting): New section.
4528
45292011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4530
4531 * util/grub-mkstandalone.in: Fix minor typo errors.
4532
198e150a
VS
45332011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4536
4537 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4538 net/icmp.c and net/icmp6.c.
4539 (http): New module.
4540 (priority_queue): Likewise.
4541 * grub-core/io/bufio.c: Rewritten.
4542 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4543 TYPE_WITH_CONFIGFILE_OPTION.
4544 (legacy_commands): Add bootp and dhcp.
4545 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4546 (grub_legacy_parse): Likewise.
4547 * grub-core/lib/priority_queue.c: New file.
4548 * grub-core/net/arp.c: Add missing license header.
4549 (arp_find_entry): Removed.
4550 (arp_find_entry): Likewise.
4551 (grub_net_arp_resolve): Rename to ...
4552 (grub_net_arp_send_request): ...this.
4553 (grub_net_arp_receive): New card argument.
4554 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4555 Set router and DNS server.
4556 (grub_net_configure_by_dhcp_ack): Handle routing information.
4557 (grub_cmd_bootp): Set checksum.
4558 (grub_bootp_init): Remove net_dhcp.
4559 * grub-core/net/dns.c: New file.
4560 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4561 completion.
4562 (get_card_packet): Handle allocation.
4563 (grub_efinet_findcards): Set mtu.
4564 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4565 (get_card_packet): Handle allocation.
4566 (emucard): Set mtu.
4567 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4568 (GRUB_MOD_INIT): Set mtu.
4569 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4570 mtu.
4571 (get_card_packet): Handle allocation.
4572 (grub_ofnet_findcards): Set mtu.
4573 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4574 assert.
4575 (grub_net_recv_ethernet_packet): Handle IPv6.
4576 * grub-core/net/http.c: New file.
4577 * grub-core/net/icmp.c: Likewise.
4578 * grub-core/net/icmp6.c: Likewise.
4579 * grub-core/net/ip.c (ip6addr): New type.
4580 (ip6hdr): Likewise.
4581 (reassemble): Likewise.
4582 (cmp): New function.
4583 (reassembles): New variable.
4584 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4585 (id): New variable.
4586 (send_fragmented): New function.
4587 (grub_net_send_ip_packet): Rename to ...
4588 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4589 Handle non-UDP.
4590 (grub_net_recv_ip_packets): Rename to ...
4591 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4592 (free_rsm): New function.
4593 (free_old_fragments): Likewise.
4594 (grub_net_recv_ip4_packets): New function.
4595 (grub_net_send_ip6_packet): Likewise.
4596 (grub_net_send_ip_packet): Likewise.
4597 (grub_net_recv_ip6_packets): Likewise.
4598 (grub_net_recv_ip_packets): Likewise.
4599 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4600 (LINK_LAYER_CACHE_SIZE): New const.
4601 (link_layer_find_entry): New function.
4602 (grub_net_link_layer_add_address): Likewise.
4603 (grub_net_link_layer_resolve_check): Likewise.
4604 (grub_net_link_layer_resolve): Likewise.
4605 (grub_net_ipv6_get_slaac): Likewise.
4606 (grub_net_ipv6_get_link_local): Likewise.
4607 (grub_cmd_ipv6_autoconf): Likewise.
4608 (parse_ip): Handle one number representation.
4609 (parse_ip6): New functoion.
4610 (match_net): Handle IPv6.
4611 (grub_net_resolve_address): Handle IPv6 and DNS.
4612 (grub_net_resolve_net_address): Handle IPv6.
4613 (route_cmp): New function.
4614 (grub_net_route_address): Find best route.
4615 (grub_net_addr_to_str): Handle IPv6.
4616 (grub_net_addr_cmp): New function.
4617 (grub_net_add_addr): Register local route.
4618 (print_net_address): Handle net address.
4619 (grub_net_poll_cards): Retransmit TCP.
4620 (grub_net_poll_cards_idle_real): Likewise.
4621 (have_ahead): New function.
4622 (grub_net_seek_real): Use underlying seek.
4623 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4624 * grub-core/net/tcp.c: New file.
4625 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4626 (cmp): New function.
4627 (ack): Likewise.
4628 (tftp_receive): Handle unordered input.
4629 (destroy_pq): New function.
4630 (tftp_close): Close pq.
4631 * grub-core/net/udp.c: Put missing license header.
4632 (grub_net_udp_socket): New function.
4633 (udp_socket_register): Likewise.
4634 (grub_net_udp_close): Likewise.
4635 (grub_net_recv_udp_packet): Check checksum.
4636 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4637 * include/grub/misc.h (grub_memchr): New function.
4638 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4639 (grub_net_card_driver): Return buf in recv.
4640 (grub_net_slaac_mac_list): New struct.
4641 (grub_network_level_protocol_id): Add ipv6.
4642 (grub_net_network_level_addr): Likewise.
4643 (grub_net_network_level_net_addr): Likewise.
4644 (grub_net_app_protocol): Add seek.
4645 (grub_net_socket): Removed.
4646 (grub_net_sockets): Likewise.
4647 (grub_net_socket_register): Likewise.
4648 (grub_net_socket_unregister): Likewise.
4649 (FOR_NET_SOCKETS): Likewise.
4650 (grub_net_add_addr): Add const.
4651 (GRUB_NET_BOOTP_*): New enum.
4652 (grub_net_addr_cmp): New proto.
4653 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4654 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4655 (grub_net_hwaddr_to_str): NEw proto.
4656 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4657 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4658 (grub_dns_init): New proto.
4659 (grub_dns_fini): Likewise.
4660 (grub_net_tcp_retransmit): Likewise.
4661 (grub_net_link_layer_add_address): Likewise.
4662 (grub_net_link_layer_resolve_check): Likewise.
4663 (grub_net_link_layer_resolve): Likewise.
4664 (grub_net_dns_lookup): Likewise.
4665 (grub_net_add_dns_server): Likewise.
4666 (grub_net_remove_dns_server): Likewise.
4667 (GRUB_NET_TRIES): New const.
4668 (GRUB_NET_INTERVAL): Likewise.
4669 * include/grub/net/arp.h: Mostly rewritten.
4670 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4671 * include/grub/net/ip.h: Mostly rewritten.
4672 * include/grub/net/netbuff.h: Indent.
4673 * include/grub/net/tcp.h: New file.
4674 * include/grub/net/udp.h: Mostly rewritten.
4675 * include/grub/priority_queue.h: New file.
4676 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4677 (grub_swap_bytes64_compile_time): Likewise.
4678 (grub_cpu_to_be16_compile_time): Likewise.
4679 (grub_cpu_to_be32_compile_time): Likewise.
4680 (grub_cpu_to_be64_compile_time): Likewise.
4681 (grub_be_to_cpu64_compile_time): Likewise.
4682
215c1800
VS
46832011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4686 UINT_TO_PTR with cast.
4687
c17e546c
VS
46882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4691 don't use them.
4692
ff6b18b6
VS
46932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4696 already there.
4697
70ffcc93
VS
46982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4701 confusing ipxe.
4702
e5f4d260
VS
47032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4706 Add missing const attribute.
4707 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4708 Likewise.
4709 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4710 Likewise.
4711
8e54b4b7
VS
47122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4715 misaligned access.
4716 (serpent_setkey): Likewise.
4717 (serpent_encrypt_internal): Likewise.
4718 (serpent_decrypt_internal): Likewise.
4719 (serpent_encrypt): Don't put an alignment-increasing cast.
4720 (serpent_decrypt): Likewise.
4721 (serpent_test): Likewise.
4722
813c0a2b
VS
47232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4726
f2b60fbd
VS
47272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4730
4731 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4732 grub_addr_t casts.
4733 (PTR_TO_UINT64): Likewise.
4734 (PTR_TO_UINT32): Likewise.
4735
5ef5c511
VS
47362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4739 because of stack.
4740 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4741 limit.
4742
c476e6df
VS
47432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4746 text_width > available width a bit more gracefully.
4747
384ad7cc
VS
47482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4751 current address calculation.
4752
96f8caf8
VS
47532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4756 stack.
4757 (encode_block): Likewise.
4758
276b7a8b
VS
47592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4762 certainety.
4763
e3fd394a
VS
47642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4767 non-RS part to avoid RS messing with GDT.
4768 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4769 Increase to suit in realmode routines.
4770
47712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/kern/i386/realmode.S: Increase alignment.
4774 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4775
ee9c2e7a
VS
47762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4779 be deterministic.
4780 (syndroms): Compute 0 syndrom.
4781 (rs_recover): Use 0 syndrom.
4782
7a7f7cc9
VS
47832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4786
a14b16d1
VS
47872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4790 brackets.
4791
9f59e9fc
VS
47922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4793
ca1b552c
VS
4794 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4795 account.
4796 (get_top_pad): Likewise.
4797 (get_right_pad): Likewise.
4798 (get_bottom_pad): Likewise.
4799
48002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4803
e739d698
VS
48042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4807 attribute as the structure isn't guaranteed to be properly aligned.
4808 (grub_efi_pci_device_path): Likewise.
4809 (grub_efi_pccard_device_path): Likewise.
4810 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4811 specify the size of `memory_type'.
4812 (grub_efi_vendor_device_path): Likewise.
4813 (grub_efi_controller_device_path): Likewise.
4814 (grub_efi_acpi_device_path): Likewise.
4815 (grub_efi_expanded_acpi_device_path): Likewise.
4816 (grub_efi_atapi_device_path): Likewise.
4817 (grub_efi_scsi_device_path): Likewise.
4818 (grub_efi_fibre_channel_device_path): Likewise.
4819 (grub_efi_1394_device_path): Likewise.
4820 (grub_efi_usb_device_path): Likewise.
4821 (grub_efi_usb_class_device_path): Likewise.
4822 (grub_efi_i2o_device_path): Likewise.
4823 (grub_efi_mac_address_device_path): Likewise.
4824 (grub_efi_ipv4_device_path): Likewise.
4825 (grub_efi_ipv6_device_path): Likewise.
4826 (grub_efi_infiniband_device_path): Likewise.
4827 (grub_efi_uart_device_path): Likewise.
4828 (grub_efi_vendor_messaging_device_path): Likewise.
4829 (grub_efi_hard_drive_device_path): Likewise.
4830 (grub_efi_cdrom_device_path): Likewise.
4831 (grub_efi_vendor_media_device_path): Likewise.
4832 (grub_efi_file_path_device_path): Likewise.
4833 (grub_efi_protocol_device_path): Likewise.
4834 (grub_efi_piwg_device_path): Likewise.
4835 (grub_efi_bios_device_path): Likewise.
4836
cb8f88ea
VS
48372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4840 (grub_ucs4_to_utf8_alloc): Likewise.
4841 (grub_ucs4_to_utf8): Likewise.
4842 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4843 (grub_ucs4_to_utf8_alloc): Likewise.
4844
309e5352
VS
48452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 AFFS never uses unicode.
4848
4849 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4850 (grub_latin1_to_utf8): New inline function.
4851 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4852
e7987e1b
VS
48532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4856 overflow.
4857
efc2616e
VS
48582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4861 (grub_squash_dirent_header): Likewise.
4862 (read_chunk): Don't double swap.
4863 (grub_squash_iterate_dir): Fix swap sizes.
4864
3c349f5a
VS
48652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4868
b453412d
VS
48692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4872 (grub_hfs_iterate_dir): Likewise.
4873
12e9d4d1
VS
48742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 Fix video on platforms where unaligned access is forbidden.
4877 Make several optimisations while on it.
4878
4879 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4880 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4881 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4882 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4883 Disable.
4884 (grub_video_fbblit_replace_16bit_1bit):
4885 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4886 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4887 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4888 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4889 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4890 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4891 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4892 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4893 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4894 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4895 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4896 (grub_video_fbblit_replace_index_RGB888): Likewise.
4897 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4898 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4899 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4900 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4901 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4902 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4903 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4904 Disable.
4905 (grub_video_fbblit_blend_XXX565_1bit):
4906 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4907 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4908 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4909 void *.
4910 * grub-core/video/fb/video_fb.c (common_blitter)
4911 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4912 (grub_video_fb_create_render_target_from_pointer)
4913 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4914 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4915 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4916 definition.
4917 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4918
ace96609
VS
49192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4922 HH22 and HM10 relocations.
4923
fd261d73
VS
49242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4927
e59b7857
VS
49282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4931 allocation succeeded.
4932
9b4baaa4
VS
49332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4936 argument a u8 pointer. All users updated.
4937 Handle unaligned buffers.
4938
dc713193
VS
49392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4942 add_part to workaround compiler bug.
4943
30dd48c2
VS
49442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4947
0c6087a8
VS
49482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4951 Reserve alignment invariants.
4952 (grub_multiboot_load): Likewise.
4953 (retrieve_video_parameters): Likewise.
4954 (grub_multiboot_make_mbi): Likewise.
4955
c2e77777
VS
49562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4959 incorrect pointer.
4960
b70b6d11
VS
49612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4964 (grub_pata_pio_write): Likewise.
4965
02a2bf83
VS
49662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 Add noreturn attributes and remove unreachable code.
4969
4970 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4971 code.
4972 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4973 code. Mark as noreturn.
4974 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4975 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4976 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4977 unreachable code.
4978 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4979 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4980 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4981 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4982 * include/grub/kernel.h (grub_main): Mark as noreturn.
4983 * include/grub/reader.h (grub_rescue_run): Likewise.
4984
2019d09e
VS
49852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4988 redundant declaration.
4989
d1c501ee
VS
49902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4993 redundant declaration.
4994 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4995
61664420
VS
49962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4999 to ensure alignment.
5000 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5001 alignment. Ensure tmp alignment.
5002 (grub_cmd_hdparm): Ensure buf alignment.
5003 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5004 to ensure alignment.
5005 (grub_ata_dumpinfo): Ensure text alignment.
5006 (grub_atapi_identify): Preserve alignment invariant.
5007 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5008
0d51ee20
VS
50092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5012 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5013 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5014 * include/grub/misc.h (grub_reboot)
5015 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5016 (grub_halt) [__mips__]: Likewise.
5017
753ef8c1
VS
50182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5021 Remove redundant declaration.
5022 (grub_mmap_get_post64): Likewise.
5023 (grub_mmap_get_upper): Likewise.
5024 (grub_mmap_get_lower): Likewise.
5025
85c85365
VS
50262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5029 uint32_t * to ensure alignment.
5030 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5031
a23f2cc4
VS
50322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5033
93018f64
VS
5034 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5035 uint16_t * to ensure alignment.
5036 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5037 alignment.
5038
50392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5042 to ensure alignment.
5043 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5044
58acccd6
VS
50452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5048 Handle unaligned pointers.
5049 (u32at): Likewise.
5050 (u64at): Likewise.
5051 (fixup): Use byte access instead of v16at.
5052 (find_attr): Fix imporper usage of v32at.
5053 (read_data): Likewise.
5054 (list_file): Handle byte-swapping and unaligned strings.
5055 (grub_ntfs_label): Likewise.
5056
9b05cad7
VS
50572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5060 as it's not necessarily aligned.
5061
b3950b84
VS
50622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5065 redundant declaration.
5066 (grub_serial_init): Likewise.
5067 (grub_terminfo_init): Likewise.
5068
fcd232b7
VS
50692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5072 function.
5073 (ZAP_HASH_IDX): Likewise.
5074 (ZAP_LEAF_HASH_SHIFT): Likewise.
5075 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5076 (LEAF_HASH): Likewise.
5077 (ZAP_LEAF_NUMCHUNKS): Likewise.
5078 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5079 alignment invariants. Return pointer. All users updated.
5080 (ZAP_LEAF_ENTRY): Make into inline function.
5081 (NBBY): Removed.
5082 (xor): LIkewise.
5083 (xor_out): Use grub_crypto_xor.
5084 (dnode_get_path): Use grub_get_unaligned.
5085 (nvlist_find_value): Likewise.
5086 (grub_zfs_nvlist_lookup_uint64): Likewise.
5087 (grub_zfs_nvlist_lookup_string): Likewise.
5088 (get_nvlist_size): Likewise.
5089 (grub_zfs_open): Likewise.
5090 (fill_fs_info): Likewise.
5091 (grub_zfs_dir): Likewise.
5092 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5093 alignment invariants.
5094 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5095 necessarily aligned.
5096
f138623a
VS
50972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5100
564840dc
VS
51012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5104 arithmetic to conserve alignment invariants.
5105
9b40df20
VS
51062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5109 redundant declaration.
5110 (grub_efiemu_mm_obtain_request): Likewise.
5111 (grub_efiemu_prepare): Likewise.
5112
d1c930f9
VS
51132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5116 to match types.
5117
4c5f3056
VS
51182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5121 case of aunaligned recptr.
5122 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5123 alignment.
5124 (grub_hfsplus_btree_search): Handle unaligned index.
5125
728cba91
VS
51262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5129 to get freetag and skip.
5130
eb561f31
VS
51312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5134 array.
5135 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5136 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5137
20993fbb
VS
51382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5141 name for checksum and fix allocation algorithm.
5142
1f313b94
VS
51432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * include/grub/types.h (grub_properly_aligned_t): New type.
5146 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5147 (grub_get_unaligned16): Add explicit casts.
5148 (grub_get_unaligned32): Likewise.
5149 (grub_get_unaligned64): Likewise.
5150 (grub_set_unaligned16): New function.
5151 (grub_set_unaligned32): Likewise.
5152
47ae27ec
VS
51532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5156
78c2cd1c
VS
51572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5160 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5161 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5162
53072f9b
VS
51632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5166 conditionals.
5167
055dc239
VS
51682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5171 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5172
496bd074
VS
51732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Unify and improve RAID and crypto xor.
5176
5177 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5178 changed to grub_crypto_xor
5179 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5180 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5181 Use bigger types when possible.
5182
ef6e4335
VS
51832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/disk/raid.c (scan_devices): Fix condition.
5186
5d048bf2
VS
51872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5190 Make name a const ptr.
5191
ee533335
VS
51922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5195 first argument a const pointer.
5196 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5197 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5198 proto.
5199 (grub_children_iterate): Likewise.
5200 (grub_machine_mmap_iterate): Remove redundant declaration.
5201
cc8f3668
VS
52022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5205 (grub_cmd_acpi) [!x86]: Disable EBDA.
5206
c5fc563a
VS
52072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 Enable UTF8 in gnulib regexp.
5210
5211 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5212 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5213 (isupper): Use grub_isupper.
5214 (isascii): New inline function.
5215 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5216 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5217 * grub-core/normal/charset.c (grub_utf8_process): New function.
5218 (grub_utf8_to_utf16): Use grub_utf8_process.
5219 (grub_encode_utf8_character): New function.
5220 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5221 * include/grub/charset.h (grub_utf8_process): New declaration.
5222 (grub_encode_utf8_character): Likewise.
5223 * include/grub/misc.h (grub_islower): New inline function.
5224 (grub_isupper): Likewise.
5225 (grub_strchrsub): Moved down to fix the definitions.
5226
0af2346f
VS
52272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5230 specification.
5231
74dbd244
VS
52322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * include/grub/loader.h (grub_loader_register_preboot_hook):
5235 Use struct preboot * and not void * for handle. All users updated.
5236 (grub_loader_unregister_preboot_hook): Likewise.
5237
1bc8f60d
VS
52382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5241 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5242 UTF-16-BE. All users updated.
5243 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5244 (grub_hfsplus_iterate_dir): Likewise.
5245 (grub_hfsplus_label): Likewise.
5246
48d6e456
VS
52472011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5250
bf3a3857
VS
52512011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 Add missing const qualifiers.
5254
5255 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5256 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5257 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5258 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5259 (grub_lvm_check_flag): Likewise.
5260 * grub-core/efiemu/i386/coredetect.c
5261 (grub_efiemu_get_default_core_name): Likewise
5262 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5263 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5264 * grub-core/fs/ntfs.c (fixup): Likewise.
5265 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5266 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5267 (fzap_lookup): Likewise.
5268 (zap_lookup): Likewise.
5269 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5270 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5271 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5272 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5273 (grub_freebsd_add_meta_module): Likewise.
5274 (grub_cmd_freebsd_module): Likewise.
5275 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5276 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5277 (grub_xnu_writetree_get_size): Likewise.
5278 (grub_xnu_writetree_toheap_real): Likewise.
5279 (grub_xnu_find_key): Likewise.
5280 (grub_xnu_create_key): Likewise.
5281 (grub_xnu_create_value): Likewise.
5282 (grub_xnu_register_memory): Likewise.
5283 (grub_xnu_check_os_bundle_required): Likewise.
5284 (grub_xnu_scan_dir_for_kexts): Likewise.
5285 (grub_xnu_load_kext_from_dir): Likewise.
5286 * grub-core/normal/color.c (color_list): Likewise.
5287 * grub-core/normal/completion.c (current_word): Likewise.
5288 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5289 * grub-core/term/serial.c (grub_serial_find): Likewise.
5290 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5291 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5292 Likewise.
5293 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5294 (grub_freebsd_add_meta_module): Likewise.
5295 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5296 * include/grub/net.h (grub_net_card_driver): Likewise.
5297 (grub_net_card): Likewise.
5298 (grub_net_app_protocol): Likewise.
5299 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5300 * include/grub/serial.h (grub_serial_find): Likewise.
5301 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5302 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5303 (grub_xnu_create_value): Likewise.
5304 (grub_xnu_find_key): Likewise.
5305 (grub_xnu_scan_dir_for_kexts): Likewise.
5306 (grub_xnu_load_kext_from_dir): Likewise.
5307
5308 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5309 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5310 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5311 Moved from here ...
5312 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5313
112b4837
CW
53142011-11-28 Colin Watson <cjwatson@ubuntu.com>
5315
5316 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5317
49e891ac
VS
53182011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5321 (read_device): Fix size calculation.
5322
fd258e5c
RM
53232011-11-25 Robert Millan <rmh@gnu.org>
5324
5325 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5326 (find_root_device_from_libzfs): Add zpool output parser to be used
5327 as fallback when libzfs isn't available.
5328
78845dc2
SG
53292011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5330
5331 * po/Makefile.in.in: Add missing escape-continuation.
5332
adac5211
VS
53332011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5336
10b64f1c
VS
53372011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5340
bb416954
VS
53412011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5344
bdfe9eeb
VS
53452011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5348
581ffa8a
VS
53492011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * grub-core/lib/adler32.c: Add missing license specification.
5352 * grub-core/lib/crc64.c: Likewise.
5353 * grub-core/loader/i386/pc/plan9.c: Likewise.
5354 * grub-core/partmap/plan.c: Likewise.
5355
2536cf64
LK
53562011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5357
5358 Add facility to debug GRUB with gdb under qemu.
5359
5360 * grub-core/gdb_grub.in: New file.
5361 * grub-core/gmodule.pl.in: Likewise.
5362 * grub-core/Makefile.core.def (gmodule.pl): New script.
5363 (gdb_grub): Likewise.
5364
bc108a4a
VS
53652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * util/grub-mount.c (argp_parser): Accept relative pathes.
5368 * util/grub-fstest.c (argp_parser): Likewise.
5369
111c1778
VS
53702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Plan9 support.
5373
5374 * Makefile.util.def (libgrubmods): Add
5375 grub-core/partmap/plan.c.
5376 * docs/grub.texi: Notice Plan9 support.
5377 * grub-core/Makefile.core.def (plan9): New module.
5378 (part_plan): Likewise.
5379 * grub-core/loader/i386/pc/plan9.c: New file.
5380 * grub-core/partmap/plan.c: Likewise.
5381 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5382 define.
5383 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5384 * include/grub/mm.h (grub_extend_alloc): New inline function.
5385
c30be3b6
VS
53862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 Make Reed-Solomon faster by using power of generator representation of
5389 GF(256)*.
5390
5391 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5392 (gf_double_t): Likewise.
5393 (gf_invert): Removed.
5394 (gf_powx): New array.
5395 (gf_powx_inv): Likewise.
5396 (scratch): Move higher.
5397 (gf_reduce): Removed.
5398 (gf_mul): Use powx.
5399 (gf_invert): Likewise.
5400 (init_inverts): Replaced with ...
5401 (init_powx): ...this. All users updated.
5402 (pol_evaluate): Replace multiplications with additions.
5403 (rs_encode): Likewise.
5404 (gauss_eliminate): Call gf_invert.
5405 (grub_reed_solomon_add_redundancy): Call init_powx.
5406 (grub_reed_solomon_recover): Call init_powx unconditionally.
5407
fa5aeffc
VS
54082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5411
a346b81c
VS
54122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5415 disk->partiton for safety.
5416
d89ee414
VS
54172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5420 Fix a memory leak.
5421 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5422
91ee7b6d
VS
54232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5426
91e5a33d
VS
54272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5430
9edd7be2
VS
54312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 Fix spaces handling in proc/self/mountinfo.
5434
5435 * util/getroot.c (unescape): New function.
5436 (grub_find_root_device_from_mountinfo): Use unescape.
5437
ba102053
VS
54382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Support ZFS embedding.
5441
5442 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5443 (grub_zfs_fs): Register grub_zfs_embed.
5444
aa94b870
VS
54452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Fix MIPS compilation.
5448
5449 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5450 * include/grub/offsets.h: Rename decompressor fields from
5451 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5452 * util/grub-mkimage.c (image_targets): Use new names.
5453
5fbdac14
VS
54542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Defer multiboot device parsing until we're in compressed part.
5457
5458 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5459 bsd_part. setdevice has fallen into disuse.
5460 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5461 (bsd_part): Likewise.
5462 (boot_dev): New variable.
5463 (multiboot_trampoline): Don't parse multiboot device.
5464 Pass multiboot device in %edx.
5465 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5466 grub_boot_device.
5467 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5468 Likewise.
5469 * grub-core/kern/i386/pc/startup.S: Save edx.
5470 (grub_boot_drive): Removed.
5471 (grub_install_dos_part): Likewise.
5472 (grub_install_bsd_part): Likewise.
5473 (grub_boot_device): New variable.
5474 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5475 (grub_install_bsd_part): Likewise.
5476 (grub_boot_drive): Likewise.
5477 (grub_boot_device): New variable.
5478 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5479 Removed.
5480 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5481 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5482 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5483 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5484 * util/grub-install.in: Remove redundant condition.
5485
691cbb58
VS
54862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Fix bug introduced by previous commit.
5489
5490 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5491
60240b8b
VS
54922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 Use decompressors framework on i386-pc. It increases core size
5495 by 46 bytes but improves compatibility and maintainability.
5496
5497 * grub-core/Makefile.core.def (lzma_decompress): New image.
5498 (kernel): Add i386_pc_ldflags.
5499 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5500 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5501 to real_to_prot, prot_to_real and device info.
5502 * include/grub/offsets.h: Renamed decompressor offsets.
5503 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5504 (image_target_desc): Remove raw_size and rename decompressor fields.
5505 (compress_kernel): Handle lzma.
5506 (generate_image): Handle decompressors on i386-pc.
5507
e9d3421c
VS
55082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * configure.ac: Add -fno-asynchronous-unwind-tables.
5511
2b23074a
VS
55122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Move assembly code to C by using intwrap. It increases core size
5515 by 88 bytes but improves compatibility and maintainability.
5516
5517 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5518 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5519 ... here. Translated to C.
5520 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5521 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5522 ... here. Translated to C.
5523 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5524 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5525 ... here. Translated to C.
5526 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5527 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5528 ... here. Translated to C.
5529 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5530 * grub-core/term/i386/pc/console.c (grub_console_cls):
5531 ... here. Translated to C.
5532 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5533 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5534 ... here. Translated to C.
5535 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5536 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5537 Translated to C.
5538 * grub-core/term/i386/pc/console.c (int10_9): New function.
5539 (grub_console_putchar): Likewise.
5540 * include/grub/i386/pc/console.h: Removed the not anymore shared
5541 functions.
5542
678f4b67
VS
55432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 Move grub_chainloader_real_boot out of the kernel.
5546
5547 * grub-core/Makefile.am: Remove machine/loader.h.
5548 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5549 Removed.
5550 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5551 variable.
5552 (grub_relocator16_keep_a20_enabled): Likewise.
5553 (grub_relocator16_boot): Fill new variables.
5554 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5555 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5556 relocator.
5557 (grub_chainloader_unload): Likewise.
5558 (grub_chainloader_cmd): Likewise.
5559 * include/grub/i386/pc/loader.h: Removed.
5560 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5561 and esi. All initialisers updated.
5562
4626edf6
VS
55632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
55642011-11-12 Colin Watson <cjwatson@ubuntu.com>
5565
5566 * Makefile.util.def (grub-mount): New util.
5567 * .bzrignore: Add grub-mount.
5568 * configure.ac: Check for fuse and enable grub-mount if available.
5569 * docs/man/grub-mount.h2m: New file.
5570 * util/grub-mount.c: Likewise.
5571
10f0117b
VS
55722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/commands/efi/fixvideo.c: Gettextize.
5575 * grub-core/commands/hashsum.c: Likewise.
5576 * grub-core/commands/i386/cmostest.c: Likewise.
5577 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5578 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5579 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5580 * grub-core/commands/lsmmap.c: Likewise.
5581 * grub-core/commands/menuentry.c: Likewise.
5582 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5583 * grub-core/commands/setpci.c: Likewise.
5584 * grub-core/loader/i386/bsd.c: Likewise.
5585 * grub-core/loader/i386/linux.c: Likewise.
5586 * util/getroot.c: Likewise.
5587 * util/grub-editenv.c: Likewise.
5588 * util/grub-fstest.c: Likewise.
5589 * util/grub-mkfont.c: Likewise.
5590 * util/grub-mkimage.c: Likewise.
5591 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5592 * util/grub-pe2elf.c: Likewise.
5593 * util/grub-probe.c: Likewise.
5594 * util/grub-setup.c: Likewise.
5595 * util/ieee1275/ofpath.c: Likewise.
5596 * util/misc.c: Likewise.
5597 * util/raid.c: Likewise.
5598
566f779b
RM
55992011-11-11 Robert Millan <rmh@gnu.org>
5600
5601 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5602 __attribute__((unused)) from `os_dev', which *is* being used.
5603
b50787de
VS
56042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5607 forgotten define.
5608 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5609 GRUB_IA64_DL_GOT_ALIGN.
5610 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5611 GRUB_IA64_DL_TRAMP_ALIGN.
5612
119d11c8
VS
56132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Replace grub_fatal with normal errors in i386 linux loader.
5616
5617 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5618 (allocate_pages): Check find_efi_mmap_size return value.
5619 (grub_e820_add_region): Return error.
5620 (grub_linux_boot): Check mmap return value.
5621
6e0632e2
VS
56222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/commands/acpihalt.c: Gettextized.
5625 * grub-core/commands/cacheinfo.c: Likewise.
5626 * grub-core/commands/cmp.c: Likewise.
5627 * grub-core/commands/efi/loadbios.c: Likewise.
5628 * grub-core/commands/gptsync.c: Likewise.
5629 * grub-core/commands/ieee1275/suspend.c: Likewise.
5630 * grub-core/commands/legacycfg.c: Likewise.
5631 * grub-core/commands/memrw.c: Likewise.
5632 * grub-core/commands/minicmd.c: Likewise.
5633 * grub-core/commands/parttool.c: Likewise.
5634 * grub-core/commands/time.c: Likewise.
5635 * grub-core/commands/videoinfo.c: Likewise.
5636 * grub-core/disk/geli.c: Likewise.
5637 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5638 * grub-core/disk/luks.c: Likewise.
5639 * grub-core/disk/lvm.c: Likewise.
5640 * grub-core/font/font_cmd.c: Likewise.
5641 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5642 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5643 * grub-core/gfxmenu/view.c: Likewise.
5644 * grub-core/kern/emu/hostdisk.c: Likewise.
5645 * grub-core/kern/emu/main.c: Likewise.
5646 * grub-core/kern/emu/misc.c: Likewise.
5647 * grub-core/kern/emu/mm.c: Likewise.
5648 * grub-core/kern/mips/arc/init.c: Likewise.
5649 * grub-core/kern/mips/loongson/init.c: Likewise.
5650 * grub-core/kern/partition.c: Likewise.
5651 * grub-core/lib/i386/halt.c: Likewise.
5652 * grub-core/lib/mips/arc/reboot.c: Likewise.
5653 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5654 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5655 * grub-core/loader/i386/xnu.c: Likewise.
5656 * grub-core/loader/multiboot.c: Likewise.
5657 * grub-core/net/bootp.c: Likewise.
5658 * grub-core/net/net.c: Likewise.
5659 * grub-core/normal/term.c: Likewise.
5660 * grub-core/partmap/bsdlabel.c: Likewise.
5661 * grub-core/parttool/msdospart.c: Likewise.
5662 * grub-core/term/gfxterm.c: Likewise.
5663 * grub-core/term/terminfo.c: Likewise.
5664 * grub-core/video/i386/pc/vbe.c: Likewise.
5665 * util/grub-menulst2cfg.c: Likewise.
5666 * util/grub-mkdevicemap.c: Likewise.
5667 * util/grub-mklayout.c: Likewise.
5668 * util/grub-mkrelpath.c: Likewise.
5669 * util/grub-script-check.c: Likewise.
5670 * util/ieee1275/grub-ofpathname.c: Likewise.
5671 * util/resolve.c: Likewise.
5672
073aa7a9
VS
56732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 Support %1$d syntax.
5676
5677 * tests/printf_unit_test.c: New file.
5678 * Makefile.util.def (printf_test): New test.
5679 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5680
c76b5417
VS
56812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5684 fix.
5685
df067ad1
VS
56862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5689 dprintf.
5690 * grub-core/font/font.c (grub_font_load): Likewise.
5691
5b289bc5
VS
56922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * util/grub-macho2img.c: Add comment concerning gettext.
5695 * grub-core/lib/legacy_parse.c: Likewise.
5696
c1860f87
VS
56972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5700 (grub_xvasprintf): Likewise.
5701
d35d0d37
VS
57022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 Add const keyword to grub_env_get and gettextize week days.
5705
5706 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5707 (grub_read_hook_datetime): Return const char *.
5708 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5709 updated.
5710 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5711 Mark for gettext.
5712 (grub_get_weekday_name): Return const char *. Call gettext.
5713 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5714 char * and len as the argument. All users updated.
5715 (grub_script_argv_split_append): Receive const char *.
5716 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5717 * include/grub/env.h (grub_env_get): Likewise.
5718 (grub_env_read_hook_t): Return const char *.
5719 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5720 (grub_script_argv_split_append): Likewise.
5721
9aed8a71
VS
57222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5725
067fdf00
VS
57262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5729 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5730
a8bd9d39
VS
57312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5734 Fix prototype.
5735
f7ce5baf
VS
57362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Fix mips compilation.
5739
5740 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5741 normal decoder.
5742 (hashes): Use in embed decoder as well (for sizes).
5743 (dec_stream_header): Fix embed decompressor logic.
5744 (dec_stream_footer): Likewise.
5745
9bb182f3
VS
57462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5749 an error and not a fatal on unrecognised relocation types.
5750
63a9e6f6
VS
57512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5754 Issue error rather than printf on unknown arguments.
5755
4c458569
VS
57562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5759 Make buf a const.
5760
e2d22baf
VS
57612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5764 Fix module name.
5765
53dc8590
VS
57662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5769 leftover debug printf.
5770
6c189294
VS
57712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5774
f7688369
VS
57752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5778 A stylistic fix.
5779
11a775a3
VS
57802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5783
33f784e8
SL
57842011-11-10 Shea Levy <slevy@tieronedesign.com>
5785
5786 Allow all modules to perform serial IO
5787
5788 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5789 * include/grub/serial.h (grub_serial_port_configure): New inline
5790 function.
5791 (grub_serial_port_fetch): Likewise.
5792 (grub_serial_port_put): Likewise.
5793 (grub_serial_port_fini): Likewise.
5794 (grub_serial_find): New proto.
5795
f6276525
VS
57962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Put symlink at the end of the node and fix a potential
5799 memory corruption.
5800
5801 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5802 Make symlink into an array.
5803 (set_rockridge): Set have_symlink and alloc_dirents.
5804 (grub_iso9660_read_symlink): Use new layout.
5805 (grub_iso9660_iterate_dir): Fix memory corruption.
5806 Use new layout.
5807 (grub_iso9660_dir): Set have_symlink.
5808 (grub_iso9660_open): Likewise.
5809
c3591189
VS
58102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Remove local keyword.
5813
5814 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5815 (version_test_gt): Likewise.
5816 (version_find_latest): Likewise.
5817 (gettext_printf): Likewise.
5818 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5819
cb544caa
VS
58202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5823
45bd824d
VS
58242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 Fix ZFS memory and resource leaks.
5827
5828 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5829 All users updated.
5830 Free type on exit.
5831 (fill_vdev_info): New parameter inserted. All users updated.
5832 (check_pool_label): Likewise.
5833 (scan_disk): Likewise.
5834 (scan_devices): Close non-inserted disks.
5835 (fzap_iterate): Free l.
5836 (unmount_device): Free children descripto memory.
5837
ad9a2f44
VS
58382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5841 argument (access out of bounds).
5842
6b68db81
VS
58432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5846 >= 6 drives.
5847
28840fda
VS
58482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5851 Fix declaration.
5852
8a5a3a5b
VS
58532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Fix several memory leaks.
5856
5857 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5858 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5859 (grub_cpio_dir): Likewise.
5860 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5861 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5862 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5863 (grub_romfs_label): Likewise.
5864 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5865 (squash_unmount): New function.
5866 (grub_squash_dir): Fix memory leak.
5867 (grub_squash_open): Likewise.
5868 (grub_squash_read): Likewise.
5869 (grub_squash_mtime): Likewise.
5870 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5871 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5872 * util/grub-fstest.c (fstest): Likewise.
5873
57b01250
VS
58742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5877 avoid accessing beyond the array.
5878
19e81ba7
VS
58792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5882
52b656c0
VS
58832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 Several AFFS fixes.
5886
5887 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5888 (GRUB_AFFS_FLAG_FFS): Removed.
5889 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5890 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5891 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5892 (grub_fshelp_node): Make block 32-bit.
5893 Add block_cache and last_block_cache.
5894 (grub_affs_read_block): Fill and use block cache.
5895 (grub_affs_read_file): Removed.
5896 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5897 boot block.
5898 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5899 safety.
5900 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5901 space.
5902 (grub_affs_close): Free block cache.
5903 (grub_affs_read): Use grub_fshelp_read_file directly.
5904
438a746a
VS
59052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5908 with no error set.
5909
49a45021
VS
59102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5913 used variable.
5914 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5915 Likewise.
5916
3ae17eb8
VS
59172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5920
5921 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5922 byteswap when needed.
5923
27610c38
VS
59242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Fix FreeBSD compilation.
5927
5928 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5929 to avoid circular dependency.
5930 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5931 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5932 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5933
4a19b601
VS
59342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 Fix ZFS crypto error types.
5937
5938 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5939 (grub_gcm_decrypt): Likewise.
5940 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5941 from PBKDF2.
5942
958ee221
VS
59432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Illumos support.
5946
5947 * Makefile.util.def (10_illumos): New script.
5948 * configure.ac: Set COND_HOST_ILLUMOS.
5949 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5950 Support Illumos calls.
5951 (find_partition_start) [__sun__]: Likewise.
5952 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5953 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5954 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5955 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5956 device.
5957 * util/grub-probe.c (probe) [__sun__]: Do character check.
5958 * util/grub.d/10_illumos.in: New file.
5959
cac14fb6
VS
59602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Support escaped commas in hostdisk.
5963
5964 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5965 (find_grub_drive): Use unescape_cmp.
5966 (make_device_name): Escape commas.
5967
78e08dc3
VS
59682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5971
9f421dd1
VS
59722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5975 variable.
5976
ed64e9e2
VS
59772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Support trampoline jumps on powerpc.
5980
5981 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5982 __ia64__ path.
5983 (grub_dl_load_segments): Set mod->sz.
5984 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5985 segments.
5986 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5987 (jump): Likewise.
5988 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5989 function.
5990 (trampoline): New struct.
5991 (trampoline_template): New const.
5992 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5993 * include/grub/dl.h (grub_dl): Add sz element.
5994 [__powerpc__]: Follow __ia64__.
5995 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5996 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5997 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5998 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5999
3084ede4
VS
60002011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 ZFS crypto support.
6003
6004 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6005 * grub-core/Makefile.core.def (zfscrypt): New module.
6006 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6007 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6008 it. All users updated.
6009 (grub_zfs_decrypt): New var.
6010 (grub_zfs_load_key): Likewise.
6011 (zio_checksum_functions): Add SHA256+MAC.
6012 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6013 (zio_read): Handle encrypted blocks.
6014 (zap_verify): Remove incorrect check.
6015 (fzap_iterate): Handle non-standard fzap.
6016 (zap_iterate): Likewise.
6017 (zap_iterate_u64): New function.
6018 (dnode_get_fullpath): Load keys.
6019 * grub-core/fs/zfs/zfscrypt.c: New file.
6020 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6021 (grub_crypto_ecb_encrypt): Make input const.
6022 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6023 (grub_crypto_ecb_encrypt): Make input const.
6024 (GRUB_CIPHER_AES): New macro.
6025 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6026 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6027 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6028 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6029 prefix. All users updated.
6030 (grub_zfs_add_key): New proto.
6031 (grub_zfs_decrypt): Likewise.
6032 (grub_zfs_load_key): Likewise.
6033 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6034 * util/grub-fstest.c (options): Add -K option.
6035 (argp_parser): Likewise.
6036
b632b404
VS
60372011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Support zle compression on ZFS.
6040
6041 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6042 (decomp_table): Add zle.
6043 * include/grub/zfs/zio.h (zio_compress): Add zle.
6044
c7ba4f69
VS
60452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 Support BtrFS embedding.
6048
6049 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6050 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6051 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6052 * util/grub-setup.c (setup): Use fs embedding if available.
6053 Add additional sanity check.
6054
455377d9
VS
60552011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * util/grub-install.in: Fix condition for config_opt.
6058
c2fd16ca
VS
60592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 Support third redundancy strip on raidz3.
6062
6063 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6064 Return error on singularity. All users updated.
6065 (read_device): Don't stop on 3rd failure on raidz3.
6066
8622923b
VS
60672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Support case-insensitive ZFS subvolumes.
6070
6071 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6072 All users updated.
6073 (zap_hash): Likewise.
6074 (name_cmp): New function.
6075 (zap_leaf_array_equal): New parameter case_insensitive.
6076 All users updated.
6077 (zap_leaf_lookup): Likewise.
6078 (fzap_lookup): Likewise.
6079 (zap_lookup): Likewise.
6080 (dnode_get_path): New parameter case_insensitive. Retrieve case
6081 sensitiviness of a volume. All users updated.
6082 (dnode_get_fullpath): New parameter case_insensitive.
6083 All users updated.
6084 (grub_zfs_dir): Set info.case_insensitiveness.
6085
95f2e860
VS
60862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 Support second redundancy strip on raidz(2,3).
6089
6090 * grub-core/fs/zfs/zfs.c (powx): New array.
6091 (powx_inv): Likewise.
6092 (poly): New const.
6093 (xor_out): New function.
6094 (gf_mul): Likewise.
6095 (recovery): Likewise.
6096 (read_device): Use second redundancy strip.
6097
11ee4389
VS
60982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 Use a power of generator representation of GF(256) multiplication group
6101 to save space time and complexity.
6102
6103 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6104 (raid6_table2): Likewise.
6105 (powx): New array.
6106 (powx_inv): Likewise.
6107 (poly): New const.
6108 (grub_raid_block_mul): Replace with ...
6109 (grub_raid_block_mulx): ...this.
6110 (grub_raid6_init_table): Rewritten.
6111 (grub_raid6_recover): Use power of generator representation.
6112
09e2763f
VS
61132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6116 for the right device.
6117
8bec9a28
VS
61182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6121 expected by grub-mkimage and it's more clear since there is no implicit
6122 padding.
6123
dbd3a32e
VS
61242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6127 disk.
6128 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6129
182c872a
PMH
61302011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6131
6132 * util/grub-mkrescue.in: Fix handling xorriso option.
6133
1e51cabd
VS
61342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6137 NULL.
6138
9cc3581d 61392011-11-03 crocket <crockabiscuit@gmail.com>
6140
6141 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6142
158dc1ea
VS
61432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 XZ CRC64 and SHA256 support.
6146
6147 * Makefile.util.def (libgrubmods): Add crc64.c.
6148 * grub-core/Makefile.core.def (crc64): New module.
6149 * grub-core/lib/crc64.c: New file.
6150 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6151 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6152 Fix the type.
6153 (MAX_HASH_SIZE): New define.
6154 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6155 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6156 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6157 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6158 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6159 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6160 Handle non-crc32 hashes.
6161 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6162 (dec_stream_header): Handle non-crc32 hashes.
6163 (dec_stream_footer): Likewise.
6164 (dec_block_header): Likewise.
6165 (dec_main): Likewise.
6166 (xz_dec_init): Likewise.
6167 (xz_dec_reset): Likewise.
6168 (xz_dec_end): Likewise.
6169 * util/import_gcry.py: Add CRC64 line.
6170
9d9b3d2f
VS
61712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6174 as well.
6175
7d0ac931
VS
61762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 Make reiserfs label retrieval similar to other *_label functions.
6179
6180 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6181 (REISERFS_MAX_LABEL_LENGTH): Removed.
6182 (REISERFS_LABEL_OFFSET): Likewise.
6183 (grub_reiserfs_label): Rewritten.
6184
61852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6188 field.
6189
cf5ba824
VS
61902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6193
17744004
VS
61942011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6197 drive failure on both raidz and raidz2.
6198
aca5aefc
VS
61992011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 Fix RAIDZ(2) for >= 5 devices.
6202
6203 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6204 asize argument. All users updated.
6205
ce8ca56e
VS
62062011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Fix RAIDZ(2).
6209
6210 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6211 (fill_vdev_info_real): Set ashift.
6212 (read_device): Rewrite RAIDZ part based on reverse engineering.
6213
7c01e783
VS
62142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6217 don't report potentially unavialiable fields in debug output.
6218 (find_path): Fix double-free and memory leak.
6219
ce109e84
VS
62202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 Read label on UFS1.
6223
6224 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6225 (grub_ufs_fs): Always set .label.
6226
87661123
VS
62272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 Use shifts in UFS.
6230
6231 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6232 (grub_ufs_data): New field log2_blksz.
6233 (grub_ufs_read_file): Use shifts.
6234 (grub_ufs_mount): Check block size and logarithm it.
6235
46bc1dc2
VS
62362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6239 long symlinks.
6240
19ee2987
VS
62412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Handle symlinks and long names on tar and cpio.
6244
6245 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6246 (ATTR_FILE): Likewise.
6247 (ATTR_DIR): Likewise.
6248 (ATTR_LNK): Likewise.
6249 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6250 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6251 L and K entries.
6252 (grub_cpio_mount): Zero-fill data.
6253 (handle_symlink): New function.
46bc1dc2
VS
6254 (grub_cpio_dir): Handle symlinks.
6255 (grub_cpio_open): Likewise.
6256 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6257
c83a08d8
VS
62582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 Fix iso9660 filename limitations and fix memory leaks.
6261
6262 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6263 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6264
45cdd3ea
VS
62652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 Fix JFS file name length limitations.
6268
6269 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6270 (grub_jfs_diropen): Fix maximum filename length.
6271 (grub_jfs_getent): Fix filename length.
6272 (grub_jfs_lookup_symlink): Fix size checks.
6273
94ef05c2
VS
62742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6277 string.
6278
785ab8c7
VS
62792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6280
eb0b6b45
VS
6281 Leverage BFS implementation to read AFS.
6282
6283 * Makefile.util.def (libgrubmods): Add afs.c.
6284 * grub-core/Makefile.core.def (afs): New module
6285 * grub-core/fs/afs.c: New file.
6286 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6287
62882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6291
c4a1628f
VS
62922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/fs/bfs.c: Run indent.
6295
5825b379
VS
62962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 BFS implementation based on the specification.
6299
6300 * grub-core/fs/bfs.c: New file.
6301 * Makefile.util.def (libgrubmods): Add bfs.c.
6302 * grub-core/Makefile.core.def (bfs): New module.
6303
42b2a706
VS
63042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * util/grub-fstest.c (cmd_cp): Clarify error message.
6307 (cmd_cmp): Likewise.
6308
61b99bfc
YB
63092011-10-30 Yves Blusseau <blusseau@zetam.org>
6310
6311 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6312 and befs_be.
6313
faba3d16
VS
63142011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Remove afs and befs because of copyright problem.
6317
6318 * grub-core/fs/afs.c: Removed.
6319 * grub-core/fs/afs_be.c: Removed.
6320 * grub-core/fs/befs.c: Removed.
6321 * grub-core/fs/befs_be.c: Removed.
6322 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6323 * grub-core/Makefile.core.def (afs): Removed.
6324 (afs_be): Likewise.
6325 (befs): Likewise.
6326 (befs_be): Likewise.
6327
c39224b0
VS
63282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Prefer rockridge over Joliet.
6331
6332 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6333 to ...
6334 (set_rockridge): ... here.
6335 (grub_iso9660_mount): Check rockridge on the primary label when
6336 discovering. Ignore Joliet if Rockridge is present.
6337
e551115a
VS
63382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Use shifts in nilfs2.
6341
6342 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6343 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6344 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6345 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6346 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6347 (grub_nilfs2_entries_per_block): Replaced with ...
6348 (grub_nilfs2_log_entries_per_block_log): ... this.
6349 (grub_nilfs2_blocks_per_group): Replaced with ...
6350 (grub_nilfs2_blocks_per_group_log): ... this.
6351 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6352 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6353 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6354 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6355 (grub_nilfs2_palloc_entry_offset): Replaced ...
6356 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6357 (grub_nilfs2_dat_translate): Use shifts.
6358 (grub_nilfs2_read_inode): Likewise.
6359 (GRUB_MOD_INIT): Ensure that logs are correct.
6360
564dd58c
VS
63612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 Use shifts in minix filesystem.
6364
6365 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6366 (GRUB_MINIX_ZONE2SECT): Likewise.
6367 (grub_minix_data): Replace block_size with log_block_size.
6368 (grub_minix_read_file): Use shifts.
6369 (grub_minix_mount): Check block size and take a logarithm.
6370
ed9ba06d
VS
63712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Use shifts in squash4.
6374
6375 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6376 (squash_mount): Check block size and take logarithm.
6377 (direct_read): Use shifts.
6378
ad03fe76
VS
63792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 Correct befs block counting logic.
6382
6383 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6384 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6385 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6386 (grub_afs_read_inode): Use block_shift.
6387 (RANGE_SHIFT): New definition.
6388 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6389 unexpected conditions, use shifts and appropriate types.
6390 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6391
6563f63d
VS
63922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/disk/raid.c (scan_devices): Check partition.
6395 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6396
5b1ae25f
VS
63972011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Support BFS (befs) UUID.
6400
6401 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6402 (grub_afs_small_data_element_header): New struct.
6403 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6404 (grub_afs_read_attribute) [MODE_BFS]: New function.
6405 (grub_afs_iterate_dir): Allocate for complete inode.
6406 (grub_afs_mount): Likewise.
6407 (grub_afs_uuid) [MODE_BFS]: New function.
6408 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6409
f8d82408
VS
64102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6413 (zfs_unmount): Fix memory leak.
6414
5773fb64
VS
64152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Support NTFS reparse points.
6418
6419 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6420 (symlink_descriptor): New struct.
6421 (grub_ntfs_read_symlink): New function.
6422 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6423 (grub_ntfs_open): Likewise.
6424
91c3fdde
VS
64252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6428
3be82e10
VS
64292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 fstest xnu_uuid subcommand.
6432
6433 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6434 grub-core/commands/xnu_uuid.c.
6435 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6436 (fstest): Handle xnu_uuid.
6437 (options): Document xnu_uuid.
6438 (argp_parser): Parse xnu_uuid.
6439
8e32442e
VS
64402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6443 -l argument. Add newline at the end if printing.
6444 (GRUB_MOD_INIT): Document -l.
6445
52a05075
VS
64462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6449
1869edb5
VS
64502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 ZFS multi-device and version 33 support.
6453
6454 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6455 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6456 (grub_zfs_data): Add multidev-ice-related fields.
6457 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6458 (dva_get_offset): Make dva const.
6459 (zfs_fetch_nvlist): New function.
6460 (fill_vdev_info_real): Likewise.
6461 (fill_vdev_info): Likewise.
6462 (check_pool_label): Likewise.
6463 (scan_disk): Likewise.
6464 (scan_devices): Likewise.
6465 (read_device): Likewise.
6466 (read_dva): Likewise.
6467 (zio_read_gang): Use read_dva.
6468 (zio_read_data): Likewise.
6469 (zap_leaf_lookup): Add missing endian conversion.
6470 (zap_verify): Add missing endian conversion. All users updated.
6471 (fzap_lookup): Likewise.
6472 (fzap_iterate): Likewise.
6473 (dnode_get_path): Handle SA bonus.
6474 (nvlist_find_value): Make input const. All users updated.
6475 (unmount_device): New function.
6476 (zfs_unmount): Use unmount_device.
6477 (zfs_mount): Use scan_disk.
6478 (zfs_mtime): New function.
6479 (grub_zfs_open): Handle system attributes.
6480 (fill_fs_info): Likewise.
6481 (grub_zfs_dir): Likewise.
6482 (grub_zfs_fs): Add mtime.
6483 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6484 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6485 (SA_MTIME_OFFSET): Likewise.
6486 (SA_SYMLINK_OFFSET): Likewise.
6487 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6488 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6489 (fstest): Support zfsinfo.
6490 (argp_parser): Likewise.
6491
186b4028
VS
64922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6495 error.
6496
64972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6498
6499 ZFS fixes.
6500
6501 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6502 sharing the same block. Iterate over correct number of indices.
6503 (dnode_get_path): Handle symlinks correctly.
6504
c0584900
VS
65052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6508
67e2bd71
VS
65092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 Read label on HFS+.
6512
6513 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6514 (grub_hfsplus_btree_search): Fix types.
6515 (grub_hfsplus_label): Implement.
6516
e9cc6b7b
VS
65172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6520
19832ddb
VS
65212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6524
66b40850
VS
65252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 Fix symlink handling on iso9660.
6528
6529 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6530 All users updated.
6531 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6532 (grub_iso9660_read_symlink): Moved most of code ...
6533 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6534
db821363
VS
65352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6538 Use union to avoid breaking strict-aliasing rules.
6539
e1211949
VS
65402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 Support multi-extent iso files.
6543
6544 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6545 Add node.
6546 (grub_fshelp_node): Revamp. All users updated.
6547 (FLAG_*): New enum.
6548 (read_node): New function.
6549 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6550 All users updated.
6551 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6552 (get_node_size): New function.
6553 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6554 entries.
6555 Fix memory leak on . and ..
6556 (grub_iso9660_read): Use read_node.
6557 (grub_iso9660_close): Free node.
6558
d4888031
VS
65592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 Fix tar 4G limit and handle paths containing dot.
6562
6563 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6564 (canonicalize): New function.
6565 (grub_cpio_find_file): Use canonicalize. Store offs in
6566 grub_disk_addr_t.
6567 (grub_cpio_dir): Use grub_disk_addr_t.
6568 (grub_cpio_open): Likewise.
6569
9f12e664
VS
65702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6573
6574 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6575 unused flags.
6576 (grub_squash_inode): Add long_file and block_size.
6577 (grub_squash_cache_inode): New struct.
6578 (grub_squash_dirent): Make types into enum.
6579 (SQUASH_TYPE_LONG_REGULAR): New type.
6580 (grub_squash_frag_desc): Add field size.
6581 (SQUASH_BLOCK_FLAGS): New enum.
6582 (grub_squash_data): Use grub_squash_cache_inode.
6583 (grub_fshelp_node): Make ino_chunk 64-bit.
6584 (read_chunk): Minor argument change. All users updated.
6585 (squash_mount): Use correct le_to_cpu.
6586 (grub_squash_open): Handle LONG_REGULAR.
6587 (direct_read): New function.
6588 (grub_squash_read_data): Handle blocks correctly.
6589
9f326fba
VS
65902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6593
f4d9b64b
VS
65942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6597
5bbd28b8
VS
65982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 Fix 2G limit on ZFS.
6601
6602 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6603 types.
6604 (uberblock_verify): Likewise.
6605 (dmu_read): Likewise.
6606 (grub_zfs_read): Likewise. Remove invalid cast.
6607
68c72069
VS
66082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6611 (grub_jfs_blkno): Fix incorrect shift.
6612 (grub_jfs_read_file): Use more appropriate types.
6613
6e536dc8
VS
66142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 Support triple indirect on minix2 and minix3.
6617
6618 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6619 Declare triple_indir_zone.
6620 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6621 indirect.
6622
e0864e7a
VS
66232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 Minix FS fixes.
6626
6627 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6628 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6629 Rename ctime to mtime. All users updated.
6630 (grub_minix_get_file_block): Fix types and double indirect computations.
6631
89481cab
VS
66322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6635 if no label is found.
6636 (grub_fat_iterate_dir): Fix file size type.
6637 (grub_fat_iterate_dir): Likewise.
6638
f646e143
VS
66392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6642 save some space.
6643 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6644 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6645
534d769e
VS
66462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6649
e084ba18
VS
66502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * util/import_gcry.py: Accept space between # and include.
6653
3471ecdf
VS
66542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6657
124df5f6
VS
66582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6661
6662 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6663 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6664 yylex_strncpy.
6665 * grub-core/script/yylex.l: Add fine-grained #pragma.
6666
4defb8d5
VS
66672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6670 New inline function.
6671 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6672 Likewise.
6673 (memset) [GRUB_UTIL]: Likewise.
6674 (memcmp) [GRUB_UTIL]: Likewise.
6675
4e94ae65
VS
66762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6679 inline function rather than a define.
6680
18c575e5
VS
66812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * util/grub-setup.c: Add missing include.
6684
f8bc22a8
VS
66852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * util/ieee1275/grub-ofpathname.c: Add missing include.
6688
3ce69fc9
VS
66892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6692 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6693 Likewise.
6694
d1e293bb
VS
66952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6698 grub_memcmp usage.
6699
7a5c54a4
VS
67002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/grub-install.in: Add datarootdir as per automake manual
6703 suggestion.
6704 * util/grub-mknetdir.in: Likewise.
6705
67062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6707
6708 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6709 suggestion.
6710 * util/grub.d/10_kfreebsd.in: Likewise.
6711 * util/grub.d/10_linux.in: Likewise.
6712 * util/grub.d/10_netbsd.in: Likewise.
6713 * util/grub.d/10_windows.in: Likewise.
6714 * util/grub.d/20_linux_xen.in: Likewise.
6715
766f7d08
VS
67162011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 Remove redundant grub_kernel_image_size.
6719
6720 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6721 _edata and _start.
6722 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6723 the small code. It moves it only by few bytes but simplifies the code.
6724 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6725 _start.
6726 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6727 (grub_kernel_image_size): Removed.
6728 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6729 (grub_kernel_image_size): Removed.
6730 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6731 compiled with Apple toolchain.
6732 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6733 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6734 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6735 (grub_total_module_size): Likewise.
6736 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6737 Removed.
6738 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6739 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6740 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6741 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6742 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6743 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6744 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6745 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6746 Removed.
6747 (grub_total_module_size): Removed.
6748 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6749 (image_targets): Likewise.
6750 Set .compressed_size to no field on sparc.
6751 (generate_image): Remove kernel_image_size handling.
6752
fcf1d672
SJ
67532011-10-19 Szymon Janc <szymon@janc.net.pl>
6754
6755 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6756 NULL pointer dereference.
6757
de9c615e
VS
67582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6761 done with a dedicated section.
6762
6763 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6764 Ensure the correct position of boot_path.
6765 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6766 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6767 other fields.
6768 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6769 * include/grub/boot.h: Removed. All references removed.
6770 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6771 Removed.
6772 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6773
e55599dc
VS
67742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6777 name.
6778
36dd20ad
VS
67792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6782
f8f72eb8
VS
67832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6786 Don't add the bogus brackets.
6787
a374751b
VS
67882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 ExFAT support.
6791
6792 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6793 * grub-core/Makefile.core.def (exfat): New module.
6794 * grub-core/fs/exfat.c: New file.
6795 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6796 (GRUB_FAT_ATTR_*): Make into an enum.
6797 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6798 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6799 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6800 (GRUB_FAT_MAXFILE): Removed.
6801 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6802 (grub_current_fat_bpb_t): New type.
6803 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6804 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6805 (grub_fat_dir_node_t): New type.
6806 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6807 (fat_log2) [MODE_EXFAT]: Removed.
6808 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6809 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6810 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6811 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6812 (grub_fat_label) [MODE_EXFAT]: New function.
6813 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6814 reserved_first_sector to 0.
6815
544c2487
VS
68162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Move grub_reboot out of the kernel.
6819
6820 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6821 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6822 * grub-core/lib/efi/reboot.c: ... here.
6823 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6824 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6825 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6826 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6827 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6828 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6829 * grub-core/lib/ieee1275/reboot.c: ... here.
6830 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6831 * grub-core/lib/mips/arc/reboot.c: ... here.
6832 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6833 * grub-core/lib/mips/loongson/reboot.c: ...here.
6834 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6835 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6836 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6837 * include/grub/i386/reboot.h: New file.
6838 * include/grub/mips/loongson/ec.h: Fix includes.
6839 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6840 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6841 * grub-core/lib/i386/reboot.c: New file.
6842
a97501d2
VS
68432011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Make grub_prefix into module to fix the arbitrary limit and save
6846 some space.
6847
6848 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6849 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6850 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6851 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6852 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6853 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6854 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6855 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6856 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6857 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6858 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6859 * include/grub/ia64/efi/kernel.h: Removed.
6860 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6861 (grub_prefix): Removed.
6862 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6863 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6864 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6865 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6866 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6867 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6868 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6869 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6870 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6871 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6872 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6873 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6874 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6875 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6876 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6877 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6878 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6879 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6880 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6881 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6882 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6883 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6884 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6885 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6886 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6887 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6888 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6889 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6890 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6891 from module.
6892 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6893 prefix_end.
6894 (image_targets): Likewise.
6895 (generate_image): Put prefix as a module.
6896
39705fad
VS
68972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 Replace grub_module_iterate with FOR_MODULES.
6900
6901 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6902 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6903 (grub_efi_modules_addr): ...this.
6904 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6905 (grub_efi_init): Set grub_modbase.
6906 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6907 (grub_modbase): New variable.
6908 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6909 (grub_modbase): New variable.
6910 (grub_machine_init): Set grub_modbase.
6911 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6912 (grub_modbase): New variable.
6913 (grub_machine_init): Set grub_modbase.
6914 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6915 (grub_modbase): New variable.
6916 (grub_machine_init): Set grub_modbase.
6917 * grub-core/kern/main.c (grub_module_iterate): Remove.
6918 (grub_modules_get_end): Use grub_modbase.
6919 (grub_load_modules): Use FOR_MODULES.
6920 (grub_load_config): Likewise.
6921 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6922 (grub_modbase): New variable.
6923 (grub_machine_init): Set grub_modbase.
6924 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6925 (grub_modbase): New variable.
6926 (grub_machine_init): Set grub_modbase.
6927 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6928 Removed.
6929 (grub_modbase): New variable.
6930 (grub_machine_init): Set grub_modbase.
6931 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6932 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6933 (grub_module_iterate): Likewise.
6934 (grub_modbase): New variable declaration.
6935 (FOR_MODULES): New macro.
6936
2afb7f6c
VS
69372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6940 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6941
366e34fa
VS
69422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 Fix few obvious type discrepancies.
6945
6946 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6947 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6948 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6949 variable.
6950 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6951 and connected types.
6952 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6953 offset.
6954 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6955 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6956 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6957 and connected types.
6958
177b960e
VS
69592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Fix python 3.x incompatibilities.
6962
6963 * gentpl.py: Put brackets around print strings.
6964 * util/import_gcry.py: Open explicitly as utf-8.
6965 Use in instead of has_key.
6966
3b619ae1
VS
69672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6970 (GRUB_XFS_INO_AGBITS): Make into inline function.
6971 (GRUB_XFS_INO_INOINAG): Likewise.
6972 (GRUB_XFS_INO_AG): Likewise.
6973 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6974 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6975 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6976 (GRUB_XFS_EXTENT_SIZE): Likewise.
6977 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6978 (GRUB_XFS_NEXT_DIRENT): Likewise.
6979 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6980 (grub_xfs_read_file): Fix offset type.
6981
8bcebcb8
RM
69822011-10-15 Robert Millan <rmh@gnu.org>
6983
6984 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6985
0017e5ef
RM
69862011-10-15 Robert Millan <rmh@gnu.org>
6987
6988 Fix build problem on FreeBSD and GNU/kFreeBSD.
6989
6990 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6991
d8919552
VS
69922011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6995
6996 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6997 types.
6998 (grub_hfsplus_btree_recoffset): Likewise.
6999 (grub_hfsplus_btree_recptr): Likewise.
7000 (grub_hfsplus_find_block): Likewise.
7001 (grub_hfsplus_btree_search): Likewise.
7002 (grub_hfsplus_read_block): Likewise.
7003 (grub_hfsplus_read_file): Likewise.
7004 (grub_hfsplus_mount): Likewise.
7005 (grub_hfsplus_btree_iterate_node): Likewise.
7006 (grub_hfsplus_btree_search): Likewise.
7007 (grub_hfsplus_iterate_dir): Likewise.
7008 (grub_hfsplus_read): A small code simplification.
7009
c81296b6
VS
70102011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/kern/emu/hostdisk.c
7013 (convert_system_partition_to_system_disk): Don't assume that children
7014 of mapper nodes are mapper nodes.
7015
0eb8ffb1
VS
70162011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7019 * include/grub/misc.h (grub_isxdigit): New function.
7020 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7021 switched to grub_isxdigit.
7022 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7023 number starting with a letter.
7024
a98f4a08
RM
70252011-10-09 Robert Millan <rmh@gnu.org>
7026
7027 LVM support for FreeBSD and GNU/kFreeBSD.
7028
7029 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7030 GNU/kFreeBSD.
7031 (LVM_DEV_MAPPER_STRING): Move from here ...
7032 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7033 * util/getroot.c: Include `<grub/util/lvm.h>'.
7034 (grub_util_get_dev_abstraction): Enable
7035 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7036 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7037 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7038 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7039 support it.
7040 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7041 GNU/kFreeBSD.
7042 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7043 when LVM abstraction is required for ${GRUB_DEVICE}.
7044
050e8e90
SJ
70452011-10-06 Szymon Janc <szymon@janc.net.pl>
7046
7047 Add support for LZO compression in GRUB:
7048 - import of minilzo library,
7049 - LZO decompression for btrfs,
7050 - lzop files decompression.
7051
7052 * grub-core/io/lzopio.c: New file.
7053 * grub-core/lib/adler32.c: Likewise.
7054 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7055 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7056 * grub-core/lib/minilzo/minilzo.c: Likewise.
7057 * grub-core/lib/minilzo/minilzo.h: Likewise.
7058 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7059 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7060 grub-core/lib/minilzo/minilzo.c to common.
7061 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7062 cflags in cppflags.
7063 * grub-core/Makefile.core.def (btrfs): Likewise.
7064 * grub-core/Makefile.core.def (lzopio): New module.
7065 (adler32): Likewise.
7066 * grub-core/fs/btrfs.c: Include minilzo.h.
7067 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7068 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7069 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7070 (grub_btrfs_lzo_decompress): New function.
7071 (grub_btrfs_extent_read): Add support for LZO compression type.
7072 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7073 (GRUB_USHRT_MAX): Likewise.
7074 (GRUB_UINT_MAX): Likewise.
7075 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7076 (UINT_MAX): Likewise.
7077 (CHAR_BIT): Likewise.
7078 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7079 grub-core/lib/posix_wrap/limits.h
7080 (UCHAR_MAX): Likewise.
7081 * include/grub/file.h (grub_file_filter_id): New compression filter
7082 GRUB_FILE_FILTER_LZOPIO.
7083 * include/grub/file.h (grub_file_filter_id): Set
7084 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7085 * include/grub/types.h (grub_get_unaligned16): New function.
7086 (grub_get_unaligned32): Likewise.
7087 (grub_get_unaligned64): Likewise.
7088 * util/import_gcry.py (cryptolist): Add adler32.
7089
0eb8ffb1
VS
70902011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7093 in perspective decreases the complexity of build system and fixes
7094 compilation right now.
7095
ce79cc99 70962011-10-01 Ales Nesrsta <starous@volny.cz>
7097
7098 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7099 (fixed problem related to using UHCI with coreboot).
7100
8667a314
BC
71012011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7102
7103 * gentpl.py: Use Autogen macros so that the output template file
7104 (Makefile.tpl) size is reduced.
7105
fc5efcc0
MK
71062011-09-29 Mads Kiilerich <mads@kiilerich.com>
7107
7108 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7109 extra_dist.
7110
d1ab689d
ML
71112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7112
7113 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7114 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7115
c05de032
ML
71162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7117
7118 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7119 _fullpath.
7120
cca7ccd8
ML
71212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7122
7123 Remove extra declaration of sleep for mingw32.
7124
7125 * util/misc.c (sleep) [__MINGW32__]: Removed.
7126 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7127
e0b0dc83
GS
71282011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7129
7130 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7131 type and packname.
7132 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7133 Resurrected.
7134 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7135 (grub_netbsd_btinfo_bootwedge): New struct.
7136 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7137 New function.
7138 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7139
91a1a164
TH
71402011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7141
7142 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7143 loader.
7144
2ded951e
AB
71452011-09-28 Andreas Born <futur.andy@googlemail.com>
7146
7147 Fix incorrect identifiers in bash-completion.
7148
7149 * util/bash-completion.d/grub-completion.bash.in
7150 (_grub_mkpasswd-pbkdf2): Rename to ...
7151 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7152 (_grub_script-check): Rename to ...
7153 (_grub_script_check): ... this. All users updated.
7154
69915030
VS
71552011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7158 Return 0 if disk isn't biosdisk.
7159
20fd15f9
GS
71602011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7161
7162 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7163 on NetBSD.
7164 * Makefile.util.def (grub-fstest): Likewise.
7165
1a7d7db9
GS
71662011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7167
7168 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7169 Get sector size from disk label.
7170
2221ab6c
CW
71712011-09-05 Colin Watson <cjwatson@ubuntu.com>
7172
7173 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7174 */README* as well as README*.
7175 Reported by: Axel Beckert.
7176
ca51c4a0
VS
71772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7180 case of less than 256 MiB of RAM.
7181
ab80f326
VS
71822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/commands/wildcard.c (make_regex): Handle @.
7185
4155e697
VS
71862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7189
ab178c08
SJ
71902011-08-21 Szymon Janc <szymon@janc.net.pl>
7191
7192 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7193 AC_LANG_CONFTEST macros.
7194
7dc3c686
SJ
71952011-08-20 Szymon Janc <szymon@janc.net.pl>
7196
7197 Add grub-fstest option to uncompress data for commands.
7198
7199 * util/grub-fstest.c (uncompress): New var.
7200 (options): New option -u.
7201
fe8d4a7b
SJ
72022011-08-20 Szymon Janc <szymon@janc.net.pl>
7203
7204 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7205 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7206
a5219af1
SJ
72072011-08-20 Szymon Janc <szymon@janc.net.pl>
7208
7209 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7210 file type was not recognized correctly (not gzip or corrupted).
7211
f87abff5
VS
72122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7215 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7216
d94497ea
VS
72172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7220 loongson.
7221 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7222 video_radeon_fuloong2e.
7223 * grub-core/video/radeon_fuloong2e.c: New file.
7224 * include/grub/video.h (grub_video_id_t): Add new ID
7225 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7226
0d1fd011
VS
72272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7230 define.
7231 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7232 that PRID matches the detected subplatform and reset the subplatform
7233 if it doesn't.
7234
84beb0ee
VS
72352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7238
1227c133
VS
72392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Fix PCI iterating on functions >= 4.
7242
7243 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7244 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7245 Removed.
7246 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7247 (grub_pci_read): Fix bitmask.
7248 (grub_pci_read_word): Likewise.
7249 (grub_pci_read_byte): Likewise.
7250 (grub_pci_write): Likewise.
7251 (grub_pci_write_word): Likewise.
7252 (grub_pci_write_byte): Likewise.
7253
9594c689
VS
72542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7257 can still be specified in TARGET_CFLAGS)
7258
14a2562c
VS
72592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7262
7263 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7264 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7265 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7266 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7267 (FULOONG): Rename to ...
7268 (FULOONG2F): ... this. All users updated.
7269 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7270 (machtype_fuloong2f_str): ... this.
7271 (machtype_fuloong2e_str): New string.
7272 Check for machtype_fuloong2e_str.
7273 * grub-core/loader/mips/linux.c (loongson_machtypes)
7274 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7275 * grub-core/term/serial.c (loongson_defserial)
7276 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7277 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7278 loongson_defserial.
7279 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7280 Rename to ...
7281 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7282 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7283 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7284 to IMAGE_FULOONG2F_FLASH. All users updated.
7285 (image_targets): Rename images.
7286 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7287
b526cbb6
SJ
72882011-08-19 Szymon Janc <szymon@janc.net.pl>
7289
7290 Make enable of disk cache statistics code configurable.
7291
7292 * configure.ac: --enable-cache-stats added.
7293 * config.h.in (DISK_CACHE_STATS): New define.
7294 * grub-core/Makefile.core.def (cacheinfo): New command.
7295 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7296 * grub-core/commands/cacheinfo.c: New file.
7297 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7298 moved to cacheinfo.c.
7299 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7300 debug code.
7301 * include/grub/disk.h: Likewise.
7302
fb739ccd
SJ
73032011-08-19 Szymon Janc <szymon@janc.net.pl>
7304
7305 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7306 * grub-core/Makefile.am: Likewise.
7307
2bba8cfd
VS
73082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7311 non-zero pull.
7312
43526629
VS
73132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7316 All users updated.
7317 (grub_jfs_lookup_symlink): Use correct starting inode.
7318
5c144cc8
VS
73192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * util/grub-setup.c (main): Add missing gcry initialisation.
7322
b1257f65
VS
73232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 Don't accept text modes on EFI when booting Linux.
7326
7327 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7328 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7329
828bc390
ML
73302011-08-15 Mario Limonciello <mario_limonciello@dell.com>
73312011-08-15 Colin Watson <cjwatson@ubuntu.com>
7332
7333 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7334 use of "/path/.." as in grub-install for EFI as well as handling
7335 symlinks correctly.
7336 Fixes Debian bug #637768.
7337
5f60ccac
CW
73382011-08-15 Colin Watson <cjwatson@ubuntu.com>
7339
7340 * util/grub-probe.c: Remove duplicate #include.
7341
6dc212f9
RM
73422011-08-10 Robert Millan <rmh@gnu.org>
7343
7344 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7345
7346 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7347 function.
7348 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7349 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7350
66816d85
RM
73512011-08-03 Robert Millan <rmh@gnu.org>
7352
7353 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7354 la_array as packed.
7355 Reported by: Zachary Bedell
7356
20168fca
CW
73572011-07-26 Colin Watson <cjwatson@ubuntu.com>
7358
7359 * configure.ac: The Loongson port requires grub-mkfont due to its
7360 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7361 be built.
7362
303b6246
CW
73632011-07-26 Colin Watson <cjwatson@ubuntu.com>
7364
7365 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7366 processing arguments (otherwise help2man fails when GRUB has not yet
7367 been installed).
7368
6795300e
VS
73692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7370
41aa28ea
VS
7371 New script grub-mkstandalone.
7372
7373 * Makefile.util.def (grub-mkstandalone): New script.
7374 * docs/man/grub-mkstandalone.h2m: New file.
7375 * util/grub-mkstandalone.in: Likewise.
7376
73772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Support ATA disks with 4K sectors.
6795300e
VS
7380
7381 * include/grub/ata.h (grub_ata): New member log_sector_size.
7382 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7383 (grub_ata_identify): Read sector size.
7384 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7385
92227597
VS
73862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-install.in: Don't use uhci outside of x86.
7389
c77069f5
VS
73902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * util/grub-mkrescue.in: Add missing quotes.
7393
73942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7395
7396 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7397 dereference.
7398
583168a2
VS
73992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7402
6be1c01f
VS
74032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * include/grub/video.h: add missing EXPORT_FUND on
7406 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7407
a1167439
VS
74082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/mips/kernel.h: Fix define conflict.
7411
bf66054f
VS
74122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7415 all four ways.
7416
8fc4fa45
CW
74172011-07-21 Colin Watson <cjwatson@ubuntu.com>
7418
7419 Preferred resolution detection for VBE.
7420
7421 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7422 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7423 the Flat Panel extension, in line with the X.org VESA driver.
7424 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7425 New function.
7426 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7427 (grub_vbe_bios_read_edid): Likewise.
7428 (grub_vbe_get_preferred_mode): Likewise.
7429 (grub_video_vbe_setup): When the mode is "auto", try to get the
7430 preferred mode from VBE, and use the largest mode that is no larger
7431 than the preferred mode (some BIOSes expose a preferred mode that is
7432 not in their mode list!). If this fails, fall back to 640x480 as a
7433 safe conservative choice.
7434 (grub_video_vbe_get_edid): New function.
7435 (grub_video_vbe_adapter): Add get_edid.
7436 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7437 (struct grub_video_adapter): Add get_edid.
7438 (grub_video_edid_checksum): Add prototype.
7439 (grub_video_edid_preferred_mode): Likewise.
7440 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7441 structure.
7442
7443 * grub-core/commands/videoinfo.c (print_edid): New function.
7444 (grub_cmd_videoinfo): Print EDID if available.
7445
7446 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7447 is more appropriate on a wider range of platforms than 640x480.
7448 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7449 documentation.
7450
ca5572a9
VS
74512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7454
e4bcf625
VS
74552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * po/POTFILES.in: Regenerate.
7458
c4edd548
VS
74592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7462 incorrect memory usage.
7463
16a2bab0
VS
74642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * util/grub-install.in: Source grub-mkconfig_lib.
7467
2e418de6
VS
74682011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 Remove getroot.c from core on emu platform.
7471
7472 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7473 kern/emu/raid.c.
7474 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7475 useless.
7476 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7477 * util/getroot.c (get_win32_path): ... here.
7478 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7479 * util/getroot.c (fini_libzfs): ... here.
7480 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7481 * util/getroot.c (grub_get_libzfs_handle): ... here.
7482 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7483 Moved from here...
7484 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7485 * grub-core/kern/emu/misc.c
7486 (grub_make_system_path_relative_to_its_root): Moved from here...
7487 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7488 * grub-core/kern/emu/getroot.c: Moved from here ...
7489 * util/getroot.c: ... here. All users updated.
7490 * grub-core/kern/emu/raid.c: Moved from here ...
7491 * util/raid.c: ... here. All users updated.
7492
def9832a
VS
74932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * po/POTFILES.in: Regenerate.
7496
cd8fe79a
VS
74972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 Fix compilation on GNU/Linux.
7500
7501 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7502 Disable geli.
7503 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7504 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7505 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7506
a251b719
VS
75072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
75082011-07-07 Michael Gorven <michael@gorven.za.net>
75092011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7510
7511 LUKS and GELI support.
7512
7513 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7514 grub-core/disk/luks.c, grub-core/disk/geli.c,
7515 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7516 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7517 grub-core/lib/arg.c.
7518 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7519 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7520 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7521 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7522 (grub-bin2h): Add libgcry.a.
7523 (grub-mkimage): Likewise.
7524 (grub-mkrelpath): Likewise.
7525 (grub-script-check): Likewise.
7526 (grub-editenv): Likewise.
7527 (grub-mkpasswd-pbkdf2): Likewise.
7528 (grub-pe2elf): Likewise.
7529 (grub-fstest): Likewise.
7530 (grub-mkfont): Likewise.
7531 (grub-mkdevicemap): Likewise.
7532 (grub-probe): Likewise.
7533 (grub-ofpath): Likewise.
7534 (grub-mklayout): Likewise.
7535 (example_unit_test): Likewise.
7536 (grub-menulst2cfg): Likewise.
7537 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7538 * grub-core/Makefile.core.def (cryptodisk): New module.
7539 (luks): Likewise.
7540 (geli): Likewise.
7541 * grub-core/disk/AFSplitter.c: New file.
7542 * grub-core/disk/cryptodisk.c: Likewise.
7543 * grub-core/disk/geli.c: Likewise.
7544 * grub-core/disk/luks.c: Likewise.
7545 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7546 grub_util_is_lvm.
7547 (grub_util_get_dm_abstraction): New function.
7548 (grub_util_follow_gpart_up): Likewise.
7549 (grub_util_get_geom_abstraction): Likewise.
7550 (grub_util_get_dev_abstraction): Use new functions.
7551 (grub_util_pull_device): Pull GELI and LUKS.
7552 (grub_util_get_grub_dev): Handle LUKS and GELI.
7553 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7554 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7555 (follow_geom_up): Removed.
7556 (grub_util_fd_seek): New function.
7557 (open_device): Use grub_util_fd_seek.
7558 (nread): Rename to ..
7559 (grub_util_fd_read): ... this. All users updated.
7560 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7561 (grub_crypto_cbc_decrypt): Likewise.
7562 (grub_crypto_hmac_write): Likewise.
7563 (grub_crypto_hmac_buffer): Likewise.
7564 (grub_password_get): Extend to util.
7565 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7566 New member modname.
7567 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7568 * include/grub/cryptodisk.h: New file.
7569 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7570 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7571 LUKS and GELI.
7572 (grub_util_follow_gpart_up): New proto.
7573 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7574 (grub_util_fd_read): Likewise.
7575 (grub_cryptodisk_cheat_mount): Likewise.
7576 (grub_util_cryptodisk_print_uuid): Likewise.
7577 (grub_util_get_fd_sectors): Likewise.
7578 * util/grub-fstest.c (mount_crypt): New var.
7579 (fstest): Mount crypto if requested.
7580 (options): New option -C.
7581 (argp_parser): Parse -C.
7582 (main): Init and fini gcry.
7583 * util/grub-install.in: Support cryptodisk install.
7584 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7585 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7586 cryptodisk.
7587 (prepare_grub_to_access_device): Likewise.
7588 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7589 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7590 (probe_cryptodisk_uuid): New function.
7591 (probe_abstraction): Likewise.
7592 (probe): Use new functions.
7593 * util/import_gcry.py: Create Makefile.utilgcry.def.
7594 Add modname member.
7595
9bfdcbbc
VS
75962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Lazy device scanning.
7599
7600 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7601 (grub-setup): Remove util/raid.c.
7602 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7603 * grub-core/disk/lvm.c (scan_depth): New variable.
7604 (grub_lvm_iterate): Rescan if necessary.
7605 (find_lv): New function based on grub_lvm_open.
7606 (grub_lvm_open): Use find_lv. Rescan on error.
7607 (is_node_readable): New function.
7608 (is_lv_readable): Likewise.
7609 (grub_lvm_scan_device): Skip already found disks.
7610 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7611 Stop if searched device is found and readable.
7612 * grub-core/disk/raid.c (inscnt): New variable.
7613 (scan_depth): Likewise.
7614 (scan_devices): New function based on grub_raid_register. Abort if
7615 looked for device is found.
7616 (grub_raid_iterate): Rescan if needed.
7617 (find_array): NEw function based on -grub_raid_open.
7618 (grub_raid_open): Use find_array and rescan.
7619 (insert_array): Set became_readable_at.
7620 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7621 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7622 New function.
7623 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7624 (grub_util_pull_device): New function.
7625 (grub_util_get_grub_dev): Call grub_util_pull_device.
7626 * util/raid.c: Moved to ..
7627 * grub-core/kern/emu/raid.c: ... here.
7628 (grub_util_raid_getmembers): New parameter "bootable".
7629 All users updated. Support 1.x.
7630 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7631 All users updated.
7632 * include/grub/disk.h (grub_disk_pull_t): New enum.
7633 (grub_disk_dev): Change iterate prototype.
7634 All users updated.
7635 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7636 New proto.
7637 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7638 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7639 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7640 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7641 All users updated.
7642 * include/grub/util/raid.h: Removed.
7643
1c358e59
VS
76442011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * po/POTFILES.in: Regenerate.
7647
abee94ed
VS
76482011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Unify sparc init with other ieee1275.
7651
7652 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7653 instead of kern/sparc64/ieee1275/init.c.
7654 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7655 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7656 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7657 grub/machine/kernel.h.
7658 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7659 (grub_claim_heap) [__sparc__]: Use sparc version.
7660 (grub_machine_init): Moved args parsing to
7661 (grub_parse_cmdline): ...this.
7662 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7663 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7664 New definition.
7665 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7666
7667 Move BOOTP to separate file.
7668
7669 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7670 * grub-core/net/net.c: Move all BOOTP functions to
7671 * grub-core/net/bootp.c: ... here.
7672
7673 Use frame interface on PXE.
7674
7675 * grub-core/Makefile.core.def (pxecmd): Removed.
7676 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7677 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7678 * grub-core/i386/pc/pxe.c: Moved from here ...
7679 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7680 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7681 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7682
7683 EFI network support.
7684
7685 * grub-core/Makefile.core.def (efinet): New module.
7686 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7687 here...
7688 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7689 All users updated.
7690 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7691 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7692 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7693 * grub-core/net/drivers/efi/efinet.c: New file.
7694 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7695 (grub_efi_net_config): New extern var.
7696
7697 Various cleanups and bugfixes.
7698
7699 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7700 error.
7701 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7702 disk declared as partition.
7703 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7704 leak on failure.
7705 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7706 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7707 (grub_debug_zalloc): Likewise.
7708 (grub_debug_realloc): Likewise.
7709 (grub_debug_memalign): Likewise.
7710 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7711 Check that target is IPv4.
7712 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7713 local-mac-address as fallback.
7714 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7715 memory leak.
7716 * grub-core/net/ip.c (ipchksum): Rename to ...
7717 (grub_net_ip_chksum): ... this. All users updated.
7718 (grub_net_recv_ip_packets): Special handling for DHCP.
7719 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7720
7721 Unify prefix handling
7722
7723 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7724 (grub_machine_get_bootlocation): ... this.
7725 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7726 (grub_machine_get_bootlocation): ... this.
7727 (grub_prefix): New variable.
7728 (prefix): Removed.
7729 (root_dev): New variable.
7730 (dir): Likewise.
7731 (main): Use new variables.
7732 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7733 Revamped into ...
7734 (grub_machine_get_bootlocation): ... this.
7735 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7736 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7737 (grub_machine_get_bootlocation): ... this.
7738 (grub_machine_set_prefix): Removed.
7739 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7740 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7741 Revamped into ...
7742 (grub_machine_get_bootlocation): ... this.
7743 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7744 (grub_set_prefix_and_root): ... this. All users updated.
7745 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7746 Revamped into ...
7747 (grub_machine_get_bootlocation): ... this.
7748 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7749 (grub_machine_get_bootlocation): New proto.
7750 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7751
7752 Less intrusive and more reliable seek on network implementation.
7753
7754 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7755 (grub_file_seek): Don't call grub_file_net_seek.
7756 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7757 (grub_net_fs_read_real): .. this.
7758 (grub_net_seek_real): Use net->offset.
7759 (grub_net_fs_read): Seek if necessary.
7760
7761 Unify IEEE1275 netwotk config with the other platforms.
7762
7763 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7764 New variable.
7765 (grub_machine_get_bootlocation): Support network.
7766 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7767 Support type and device parsing.
7768 (grub_ieee1275_get_device_type): New function.
7769 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7770 into ...
7771 (grub_ieee1275_net_config_real): ... this.
7772 (grub_ofnet_probecards): Removed.
7773 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7774 * include/grub/ieee1275/ofnet.h: Removed.
7775 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7776 extern var.
7777 (grub_ieee1275_get_device_type): New function.
7778
7779 Unify network device closing across platforms and make more robust.
7780
7781 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7782 grub_grubnet_fini.
7783 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7784 already.
7785 * grub-core/net/net.c (grub_net_network_level_interface_register):
7786 Update num_ifaces.
7787 (grub_net_card_unregister): Close all interfaces.
7788 (receive_packets): Don't poll if no iterfaces are registered.
7789 Open if necessary.
7790 (grub_net_fini_hw): New function.
7791 (grub_net_restore_hw): Likewise.
7792 (fini_hnd): New variable.
7793 (GRUB_MOD_INIT): Register preboot hook.
7794 (GRUB_MOD_FINI): Run and unregister preboot hook.
7795
7796 Poll network cards when idle.
7797
7798 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7799 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7800 * grub-core/net/net.c (receive_packets): Save last poll time.
7801 (grub_net_poll_cards_idle_real): New function.
7802 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7803 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7804 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7805
7806 Rename ofnet interfaces.
7807
7808 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7809 (grub_ofnet_findcards): Use ofnet_%s names.
7810
7811 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7812
7813 Cleanup socket opening.
7814
7815 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7816 (grub_net_fs_close): Likewise.
7817 (grub_net_fs_read_real): Use eof member.
7818 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7819 (+grub_net_udp_close): New inline function.
7820
7821 * include/grub/net/tftp.h: Moved to the top of ...
7822 * grub-core/net/tftp.c: ... here.
7823 * include/grub/net/ip.h: Moved mostly to the top of ...
7824 * grub-core/net/ip.c: ... here.
7825 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7826 * grub-core/net/ethernet.c: ... here.
7827
7828 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7829
7830 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7831 FS name.
7832
7833 * include/grub/net/ip.h (ipv4_ini): Removed.
7834 (ipv4_fini): Likewise.
7835
7836 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7837 (grub_net_send_ip_packets): Likewise.
7838
cf1337aa
VS
78392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7842 grub_read_cmos prototype.
7843
93c06ff9
VS
78442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 VGA text support in qemu-mips
7847
7848 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7849 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7850 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7851 text.
7852 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7853 * grub-core/kern/vga_init.c: ... this.
7854 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7855 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7856 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7857 Adjust.
7858 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7859 GRUB_MACHINE_PCI_IO_BASE.
7860
748ccabe
VS
78612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 MIPS qemu flash support.
7864
7865 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7866 magic.
7867 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7868 (grub_machine_init): Probe memory if its size isn't known.
7869 * util/grub-mkimage.c (image_targets): Add flash targets.
7870 (generate_image): Handle flash targets.
7871
d7345994
VS
78722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 MIPS qemu at_keyboard support.
7875
7876 * gentpl.py (videoinkernel): Add qemu-mips.
7877 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7878 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7879 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7880 modules.
7881 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7882 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7883 * grub-core/term/serial.c (grub_serial_register)
7884 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7885
a07a81b3
VS
78862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 CMOS support on sparc.
7889
7890 * gentpl.py (cmos): Add powerpc and sparc.
7891 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7892 powerpc and sparc.
7893 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7894 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7895 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7896 grub_set_datetime_cmos.
7897 * grub-core/lib/ieee1275/cmos.c: New file.
7898 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7899 (find_rtc): Set no_ieee1275_rtc on error.
7900 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7901 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7902 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7903 fail. Move value to argument. All users updated
7904 (grub_cmos_write): Likewise.
7905 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7906 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7907 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7908 grub_get_datetime_cmos and grub_set_datetime_cmos.
7909
77546584
GS
79102011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7911
7912 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7913 sourcing grub-mkconfig_lib.
7914 * util/update-grub_lib.in: Likewise.
7915 * util/grub.d/00_header.in: Likewise.
7916 * util/grub.d/10_hurd.in: Likewise.
7917 * util/grub.d/10_kfreebsd.in: Likewise.
7918 * util/grub.d/10_linux.in: Likewise.
7919 * util/grub.d/10_netbsd.in: Likewise.
7920 * util/grub.d/10_windows.in: Likewise.
7921 * util/grub.d/20_linux_xen.in: Likewise.
7922 * util/grub.d/30_os-prober.in: Likewise.
7923
54894791
CW
79242011-06-28 Colin Watson <cjwatson@ubuntu.com>
7925
7926 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7927 default_bg_color rather than black.
7928 (grub_gfxterm_fullscreen): Likewise.
7929 (grub_gfxterm_background_color_cmd): Save new background color in
7930 default_bg_color.
7931
8d5d8444
VS
79322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7935
5afeb5bd
VS
79362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7939 mismerge.
7940
ba7df45e
VS
79412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Chainloading on coreboot support.
7944
7945 * grub-core/Makefile.core.def (chain): Add coreboot.
7946 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7947
d0b526b2
VS
79482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7951 if it happens.
7952
5ff1d945
VS
79532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Implement time command.
7956
7957 * grub-core/Makefile.core.def (time): New module.
7958 * grub-core/commands/time.c: New file.
7959 * grub-core/script/parser.y: Remove "time" keyword.
7960 * grub-core/script/yylex.l: Likewise.
7961
5ebaad7e
VS
79622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7965
bdea3798
VS
79662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7969 when handling leftovers.
7970
b28c5655
VS
79712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7974 so that help2man doesn't fail.
7975
b6f945dc
VS
79762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7979 type in pointers on sparc64.
7980 (get_card_packet): Likewise.
7981
f9b75e8a
CW
79822011-06-27 Colin Watson <cjwatson@ubuntu.com>
7983
7984 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7985 with `*'.
7986 (grub_cmd_videoinfo): Fetch current video mode.
7987
1e3d9b86
VS
79882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7991 because of underlying system restrictions.
7992
efff4b1c
VS
79932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7996 necessary.
7997
9fc9ce37
VS
79982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 Coreboot video support.
8001
8002 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8003 (vbe): Likewise.
8004 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8005 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8006 here ...
8007 * grub-core/kern/i386/int.S: ... here.
8008 * grub-core/video/i386/pc/vbe.c: Updated includes.
8009 * grub-core/video/i386/pc/vga.c: Likewise.
8010 * include/grub/i386/coreboot/memory.h
8011 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8012 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8013 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8014 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8015 Disable interrupts.
8016 * include/grub/i386/pc/vga.h: Removed. All users updated.
8017
41bec7fe
VS
80182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8021 definitions for dprintf.
8022 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8023
ca80309d
VS
80242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8027 prototype.
8028 (get_card_packet): Likewise.
8029
9e322ce8
YB
80302011-06-26 Yves Blusseau <blusseau@zetam.org>
8031
8032 Display the path of the file when file is not found
8033
8034 * grub-core/fs/fat.c: Display the filename when file is not found.
8035 * grub-core/fs/fshelp.c: Likewise.
8036 * grub-core/fs/hfs.c: Likewise.
8037 * grub-core/fs/jfs.c: Likewise.
8038 * grub-core/fs/minix.c: Likewise.
8039 * grub-core/fs/ufs.c: Likewise.
8040 * grub-core/fs/btrfs.c: Likewise.
8041 * grub-core/commands/i386/pc/play.c: Likewise.
8042
cbf597af
SJ
80432011-06-26 Szymon Janc <szymon@janc.net.pl>
8044
8045 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8046 pointer checks before calling grub_free().
8047 * grub-core/commands/wildcard.c (match_devices): Likewise.
8048 * grub-core/commands/wildcard.c (match_files): Likewise.
8049 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8050 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8051 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8052 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8053 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8054 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8055 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8056 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8057 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8058
6295b32f
P
80592011-06-25 Patrick <p55@mailinator.com>
8060
8061 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8062
77c0840b
VS
80632011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8066 (grub_pxe_send): Likewise.
8067 (GRUB_MOD_INIT): Fix types.
8068
40ea05de
SJ
80692011-06-24 Szymon Janc <szymon@janc.net.pl>
8070
8071 * grub-core/io/xzio.c: Fix code style issues
8072
90162423
MRA
80732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
80742011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8075
8076 Network infrastructure.
8077 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8078
8079 * include/grub/net/arp.h: New file.
90162423
MRA
8080 * include/grub/net/device.h: Likewise.
8081 * include/grub/net/ethernet.h: Likewise.
8082 * include/grub/net/ip.h: Likewise.
8083 * include/grub/net/netbuff.h: Likewise.
8084 * include/grub/net/tftp.h: Likewise.
8085 * include/grub/net/udp.h: Likewise.
8086 * include/grub/ieee1275/ofnet.h: Likewise.
8087 * include/grub/emu/export.h: Likewise.
8088 * include/grub/net.h: Likewise.
8089 * grub-core/net/arp.c: Likewise.
8090 * grub-core/net/ethernet.c: Likewise.
8091 * grub-core/net/ip.c: Likewise.
8092 * grub-core/net/udp.c: Likewise.
8093 * grub-core/net/tftp.c: Likewise.
8094 * grub-core/net/netbuff.c: Likewise.
8095 * grub-core/net/net.c: Likewise.
8096 * grub-core/net/drivers/emu/emunet.c: Likewise.
8097 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8098 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8099 export.h.
8100 * grub-core/Makefile.core.def (net): New module.
8101 (tftp): Likewise.
8102 (ofnet): Likewise.
8103 (emunet): Likewise.
8104 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8105 network protocols.
8106 * grub-core/kern/device.c (grub_net_open) : New variable.
8107 (grub_device_open): Handle network device.
8108 (grub_device_close): Likewise.
8109 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8110 (grub_grubnet_fini): Likewise.
8111 (grub_file_seek): Seek in network device.
8112 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8113 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8114 network root.
8115 (grub_machine_fini): Call grub_grubnet_fini.
8116 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8117 network.
8118 (grub_ieee1275_get_aliasdevname): New function.
8119 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8120 Add unofficial Solaris network info.
8121 (grub_multiboot_make_mbi): Likewise.
8122 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8123 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8124 * include/grub/device.h (grub_fs): Removed.
8125 * include/grub/err.h (grub_err_t): Add network-related values.
8126 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8127 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8128 (grub_ieee1275_get_aliasdevname): New proto.
8129 * include/grub/net.h: Rewritten.
423a1849 8130
031f22a0
VS
81312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8134 names.
8135
4388ca72
VS
81362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8139 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8140 it truncates the output.
8141 Reported by: Ximin Luo.
8142
98e2f506
VS
81432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8146
2a5e94d8
VS
81472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8150 partmap before abstraction.
8151
535c1910
AK
81522011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8153
8154 * util/grub-mkconfig_lib.in: Add missing quotes.
8155
bc09e1a2
VS
81562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8159 old method if mountinfo would return /dev/root and /dev/root doesn't
8160 exist.
8161
290766fb
VS
81622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 ZFS zlib support
8165
8166 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8167 (decomp_table): Add zlib entries.
8168 (zio_read): USe 8 bits for compression function rather than 3.
8169 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8170
81712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/disk/ahci.c: Add missing license statements.
8174 * grub-core/fs/romfs.c: Likewise.
8175 * grub-core/lib/ia64/setjmp.S: Likewise.
8176 * grub-core/loader/i386/pc/freedos.c: Likewise.
8177 * grub-core/loader/ia64/efi/linux.c: Likewise.
8178 * grub-core/video/colors.c: Likewise.
8179 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8180
5ab3f48a
VS
81812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 AHCI support.
8184
8185 * grub-core/Makefile.core.def (ata_pthru): Removed.
8186 (ahci): New module.
8187 (pata): Likewise.
8188 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8189 on unload.
8190 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8191 readwrite.
8192 (grub_hdparm_do_check_powermode_cmd): Likewise.
8193 (grub_hdparm_do_smart_cmd): Likewise.
8194 (grub_hdparm_set_val_cmd): Likewise.
8195 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8196 * grub-core/disk/ahci.c: New file.
8197 * grub-core/disk/ata.c: Factor out the low-level part into ...
8198 * grub-core/disk/pata.c: ... here.
8199 * grub-core/disk/ata_pthru.c: Contents moved to ...
8200 * grub-core/disk/pata.c: ... here.
8201 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8202 (grub_scsi_iterate): Use grub_scsi_names.
8203 (grub_scsi_open): Likewise.
8204 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8205 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8206 (grub_ata_regs_t): New struct.
8207 (grub_disk_ata_pass_through_parms): Likewise.
8208 (grub_ata_device): Renamed to ...
8209 (grub_ata): ... this.
8210 (grub_ata_dev): New struct.
8211 Removed all low-level inline functions.
8212 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8213 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8214 iterate hooks and open. All users updated.
8215 * util/grub-install.in: Handle AHCI disk module.
8216
c31dc5f5
SJ
82172011-06-23 Szymon Janc <szymon@janc.net.pl>
8218
8219 Add support for DRI and RSTn markers in JPEG files.
8220
8221 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8222 (JPEG_MARKER_RST0): Likewise.
8223 (JPEG_MARKER_RST1): Likewise.
8224 (JPEG_MARKER_RST2): Likewise.
8225 (JPEG_MARKER_RST3): Likewise.
8226 (JPEG_MARKER_RST4): Likewise.
8227 (JPEG_MARKER_RST5): Likewise.
8228 (JPEG_MARKER_RST6): Likewise.
8229 (JPEG_MARKER_RST7): Likewise.
8230 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8231 (grub_jpeg_decode_dri): New function.
8232 (grub_jpeg_decode_sos): Move image data related part into
8233 grub_jpeg_decode_data function.
8234 (grub_jpeg_decode_data): New function.
8235 (grub_jpeg_reset): New function.
8236 (grub_jpeg_decode_jpeg): Handle new markers.
8237
fe12fd5b
VS
82382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * util/ieee1275/ofpath.c (check_sas): Close fd.
8241 (main): Free of_path.
8242 Reported by: David Volgyes <dvolgyes>.
8243
03147f46
VS
82442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8247 Reported by: David Volgyes <dvolgyes>.
8248
cad3237f
VS
82492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8252 file after stat.
8253 Reported by: David Volgyes <dvolgyes>.
8254
13548d26
VS
82552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8258
8259 Reported by: David Volgyes <dvolgyes>.
8260
e061a1b5
VS
82612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8264 Prevent memory leak.
8265
1abe47dc
VS
82662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8269 (main): Close file.
e061a1b5 8270 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8271
fbc62666
VS
82722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8275 to continue if allocation is failed.
8276
8277 Reported by: David Volgyes <dvolgyes>.
8278
e98c83e9
DV
82792011-06-23 David Volgyes <dvolgyes>
8280
8281 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8282 dereference.
8283
a199a8cd
VS
82842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Fix spurious warning.
8287
8288 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8289 (acorn_partition_map_find): Use .bin member.
8290
e2d1dba0
VS
82912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8294 /dev/root as a valid device.
8295
8a5d6919
JM
82962011-06-23 Jim Meyering <meyering@redhat.com>
8297
e2d1dba0
VS
8298 Avoid NULL deref in grub_device_open.
8299
8a5d6919
JM
8300 * grub-core/kern/device.c (grub_device_open): Don't dereference
8301 a NULL pointer upon failed grub_env_get.
8302
f7db6f4a
VS
83032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Support non-512B sectors and agglomerate reads.
8306
8307 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8308 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8309 (disk_io_guid): Removed.
8310 (make_devices): Locate solely by BlockIO.
8311 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8312 (grub_efidisk_read): Use read_blocks.
8313 (grub_efidisk_write): Use write_blocks.
8314 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8315 log_sector_size.
8316 (get_safe_sectors): Handle non-512B sectors.
8317 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8318 sectors.
8319 (grub_biosdisk_write): Handle non-512B sectors.
8320 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8321 (grub_scsi_read): Remove special non-512B block handling (now handled
8322 one level up).
8323 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8324 and do sanity checks.
8325 (grub_disk_adjust_range): Handle non-512B sectors.
8326 (transform_sector): New function.
8327 (grub_disk_read_small): Likewise.
8328 (grub_disk_read): Rewritten.
8329 (grub_disk_write): Handle non-512B sectors.
8330 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8331 log_sector_size.
8332 (open_device): Use log_sector_size.
8333 (grub_util_biosdisk_read): Likewise.
8334 (grub_util_biosdisk_write): Likewise.
8335 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8336 non-512B sectors.
8337 (pc_partition_map_embed): Likewise.
8338 * include/grub/disk.h (grub_disk): New field log_sector_size.
8339 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8340 (GRUB_DISK_CACHE_BITS): Increased to 6.
8341 * util/grub-fstest.c (fstest): New command testload.
8342 (argp_parser): Likewise.
8343
881ac815
RM
83442011-06-16 Robert Millan <rmh@gnu.org>
8345
8346 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8347 `ata' driver on kernel of FreeBSD 9.
8348
8349 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8350 (get_ataraid_disk_name): New functions.
8351 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8352 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8353 get_ataraid_disk_name() and get_ada_disk_name().
8354
1e9aef7d
CW
83552011-06-13 Colin Watson <cjwatson@ubuntu.com>
8356
8357 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8358 input format.
8359
351c7c8a
CW
83602011-05-29 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8363 `ftp.gnu.org' for `alpha.gnu.org'.
8364
6b4e6430
CW
83652011-05-27 Colin Watson <cjwatson@ubuntu.com>
8366
8367 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8368 partitions under /dev/disk/by-id/.
8369
c64db050
CW
83702011-05-27 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8373 after ten consecutive open failures. Scanning all the way up to
8374 10000 is excessive and can cause serious performance problems in
8375 some configurations.
8376 Fixes Ubuntu bug #787461.
8377
245f4aba
VS
83782011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8381 opening new one.
8382
f767c929
VS
83832011-05-21 Colin Watson <cjwatson@ubuntu.com>
83842011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Don't stat devices unless we have to.
8387
8388 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8389 dir == /dev/mapper.
8390 (grub_guess_root_device): Use already known os_dev if possible.
8391 * grub-core/kern/emu/hostdisk.c
8392 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8393 if device is known to be a dm one.
8394
f35fa3a6
CW
83952011-05-20 Colin Watson <cjwatson@ubuntu.com>
8396
8397 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8398 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8399 Reported by: Pawel Tecza.
8400
9a79fcf2
VS
84012011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8404 (lsefisystab): Likewise.
8405 (lssal): Likewise.
8406 (lsefimmap): Likewise.
8407 (hdparm): Enable on qemu-mips.
8408 (setjmp): Add ia64 nodist.
8409 (serial): Simplify tags.
8410
63e3eea9
CW
84112011-05-18 Colin Watson <cjwatson@ubuntu.com>
8412
8413 * Makefile.util.def (grub-ofpathname): Install manual page.
8414
09728256
CW
84152011-05-18 Colin Watson <cjwatson@ubuntu.com>
8416
8417 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8418
8b63a142
CW
84192011-05-18 Colin Watson <cjwatson@ubuntu.com>
8420
8421 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8422
e775d8ed
VS
84232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8426 into dprintf.
8427
bf947d36
VS
84282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 Use full 64-bit division.
8431
8432 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8433 (grub_divmod64): ... this.
8434 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8435 version.
8436
b84f26c5
CW
84372011-05-18 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8440 `source'.
8441
5626056f
CW
84422011-05-18 Colin Watson <cjwatson@ubuntu.com>
8443
8444 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8445 to avoid accidents when debugging with 'sh -x'.
8446 * grub-core/gensyminfo.sh.in: Likewise.
8447 * tests/example_scripted_test.in: Likewise.
8448 * tests/grub_cmd_regexp.in: Likewise.
8449 * tests/grub_script_blanklines.in: Likewise.
8450 * tests/grub_script_dollar.in: Likewise.
8451 * tests/grub_script_expansion.in: Likewise.
8452 * tests/grub_script_final_semicolon.in: Likewise.
8453 * tests/partmap_test.in: Likewise.
8454 * tests/util/grub-shell-tester.in: Likewise.
8455 * tests/util/grub-shell.in: Likewise.
8456
e2965f4a
CW
84572011-05-18 Colin Watson <cjwatson@ubuntu.com>
8458
8459 Move gfxmenu color handling to video, so that gfxterm can use it
8460 too.
8461
8462 * grub-core/gfxmenu/named_colors.c: Move to ...
8463 * grub-core/video/colors.c: ... here. Rename
8464 grub_gui_get_named_color to grub_video_get_named_color.
8465 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8466 * grub-core/video/colors.c (my_isxdigit): ... here.
8467 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8468 Move to ...
8469 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8470 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8471 to ...
8472 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8473
8474 * include/grub/gui.h (grub_gui_color_t): Move to ...
8475 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8476 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8477 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8478 * include/grub/gui.h (grub_gui_map_color): Move to ...
8479 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8480 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8481 to ...
8482 * include/grub/video.h (grub_video_get_named_color): ... here.
8483 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8484 * include/grub/video.h (grub_video_parse_color): ... here.
8485
8486 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8487 video/colors.c.
8488 (gfxmenu): Remove gfxmenu/named_colors.c.
8489 (video) [videomodules]: Add video/colors.c.
8490
8491 Add a background_color command.
8492
8493 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8494 function.
8495 (GRUB_MOD_INIT): Register background_color command.
8496 (GRUB_MOD_FINI): Unregister background_color command.
8497 (redraw_screen_rect): Allow blend/replace of text layer to be
8498 controlled independently from whether there is a background bitmap.
8499 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8500 changing bitmap.
8501
1e4b4390
VS
85022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8503
26618ff0
VS
8504 Patch BPB in ntldr and chainloader --bpb.
8505
1e4b4390
VS
8506 * grub-core/fs/fat.c: Include grub/fat.h.
8507 (grub_fat_bpb): Moved to ...
8508 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8509 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8510 grub/ntfs.h.
8511 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8512 Moved from here...
8513 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8514 here.
8515 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8516 New function.
8517 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8518 (GRUB_MOD_INIT): Show --bpb.
8519 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8520 * grub-core/normal/main.c (features): New variable.
8521 (GRUB_MOD_INIT): Set feature_* variables.
8522 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8523 proto.
8524 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8525
cf02731e
VS
85262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8529 for cleanness.
8530
e3a1073f
VS
85312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 FreeDOS direct loading support.
8534
8535 * docs/grub.texi (Supported OS): Add FreeDOS.
8536 * grub-core/Makefile.core.def (freedos): New module.
8537 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8538 variable.
8539 (grub_relocator16_boot): Handle %ebx.
8540 * grub-core/lib/i386/relocator16.S: Likewise.
8541 * grub-core/loader/i386/pc/freedos.c: New file.
8542
05caa461
VS
85432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 Long Linux command line support.
8546
8547 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8548 (maximal_cmdline_size): New variable.
8549 (allocate_pages): Use maximal_cmdline_size.
8550 (grub_cmd_linux): Set and use maximal_cmdline_size.
8551 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8552 (allocate_pages): Use maximal_cmdline_size.
8553 (grub_cmd_linux): Set and use maximal_cmdline_size.
8554 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8555 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8556 and cmdline_size.
8557
a2491e23
VS
85582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
85592011-05-18 Colin Watson <cjwatson@ubuntu.com>
8560
8561 Improve devmapper support
8562
8563 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8564 (grub_util_is_lvm): New function.
8565 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8566 than lvm if not dmraid.
8567 Handle mapped md nodes.
8568 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8569 (grub_util_device_is_mapped): ... this. Make always available. All users
8570 updated.
8571 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8572 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8573 dmraid nodes.
8574 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8575
6ad6223e
VS
85762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8579
8580 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8581 * grub-core/modinfo.sh.in: New file.
8582 * grub-core/Makefile.core.def (modinfo.sh): New script.
8583 * util/grub-mknetdir.in: Use modinfo.sh.
8584 * util/grub-mkrescue.in: Likewise.
8585
543a8f6e
VS
85862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8589 Fix potential usage of Elf32 instead of Elf64 when compiling on
8590 32-bit architecture. Add endianness macros while on it.
8591
4959e111
VS
85922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 Use mipsel- rather than mips- in directories involving mipsel ports to
8595 allow both endiannesses coexist.
8596
8597 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8598 mips. All conditions adjusted.
8599 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8600 variable.
8601 * util/grub-install.in: Adjust conditions to take renaming into account.
8602 * util/grub-mkimage.c (image_targets): Likewise. New target
8603 mips-qemu_mips-elf for bigendian mips.
8604
35341bbc
VS
86052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Avoid unnecessary copying on MIPS.
8608
8609 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8610 early if src == dest.
8611 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8612 compression is none.
8613
b772baed
VS
86142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Reduce memory footprint on SGI by putting modules before the kernel
8617 as opposed to after.
8618
8619 * grub-core/Makefile.core.def (kernel): Increase linking address.
8620 (none_decompress): Likewise.
8621 (xz_decompress): Likewise.
8622 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8623 address.
8624 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8625 layout change.
8626 (grub_arch_modules_addr): New function.
8627 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8628 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8629 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8630 here.
8631 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8632 (grub_total_modules_size): ... this. Make global.
8633 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8634 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8635 New definition.
8636 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8637 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8638 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8639 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8640 * util/grub-mkimage.c (image_target_desc): New flag
8641 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8642 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8643 (generate_image): Handle images with modules before kernel.
8644
566a1917
VS
86452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Prevent potential loss of memory map by overwrite on qemu-mips.
8648
8649 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8650 Save ram size in $s4.
8651 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8652 All users changed to grub_arch_memsize.
8653 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8654 Loongson.
8655 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8656 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8657 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8658 external variable.
8659
5d420cd9
CW
86602011-05-17 Colin Watson <cjwatson@ubuntu.com>
8661
8662 * .bzrignore: Remove grub-dumpbios.
8663
d064b830
CW
86642011-05-17 Colin Watson <cjwatson@ubuntu.com>
8665
8666 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8667 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8668 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8669 existing options which append).
8670 * docs/grub.texi (Simple configuration): Document new options.
8671 Reported by: Ian Jackson. Fixes Debian bug #617538.
8672
3ca2b466
CW
86732011-05-17 Colin Watson <cjwatson@ubuntu.com>
8674
8675 * util/grub-fstest.c (cmd_cat): New function.
8676 (fstest): Handle CMD_CAT.
8677 (options): Add cat.
8678 (argp_parser): Handle cat.
8679
24c9143a
CW
86802011-05-17 Colin Watson <cjwatson@ubuntu.com>
8681
8682 * Makefile.util.def (grub-bin2h): Don't install.
8683 * docs/man/grub-bin2h.h2m: Remove.
8684
90f7ac19
VS
86852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8688 place.
8689
8d4a5178
VS
86902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Reenable qemu-mips port.
8693
8694 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8695 Fix small arc bug while on it.
8696 * gentpl.py: Handle qemu_mips.
8697 * grub-core/Makefile.am: Likewise.
8698 * grub-core/Makefile.core.def: Likewise.
8699 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8700 inappropriate includes.
8701 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8702 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8703 * grub-core/kern/main.c (grub_modules_get_end)
8704 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8705 * grub-core/kern/mips/qemu-mips: Moved to ..
8706 * grub-core/kern/mips/qemu_mips: ... this.
8707 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8708 (grub_machine_init): Call terminfo_init and serial_init.
8709 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8710 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8711 New variable.
8712 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8713 parameter passing.
8714 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8715 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8716 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8717 * include/grub/mips/qemu_mips/cmos.h: New file.
8718 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8719 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8720 Removed.
8721 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8722 Use correct mips-style address.
8723 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8724 (GRUB_TICKS_PER_SECOND): Removed.
8725 (grub_get_rtc): Likewise.
8726 (grub_cpu_idle): Likewise.
8727 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8728 New definition.
8729 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8730 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8731 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8732 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8733 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8734 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8735 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8736 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8737
400b9371
VS
87382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 SGI ARCS port.
8741
8742 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8743 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8744 platforms.
8745 * configure.ac: New target mips-arc.
8746 * gentpl.py: Likewise.
8747 * grub-core/Makefile.am: Likewise.
8748 * grub-core/Makefile.core.def: Likewise.
8749 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8750 (none_decompress): Likewise.
8751 (lsdev): New module.
8752 (datetime): Use lib/arc/datetime.c on ARC.
8753 (part_dvh): New module.
8754 * grub-core/commands/arc/lsdev.c: New file.
8755 * grub-core/disk/arc/arcdisk.c: Likewise.
8756 * grub-core/kern/mips/arc/init.c: Likewise.
8757 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8758 aligned addresses.
8759 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8760 support.
8761 (grub_arch_dl_relocate_symbols): Likewise.
8762 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8763 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8764 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8765 platforms.
8766 * grub-core/lib/arc/datetime.c: New file.
8767 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8768 pci.h on non-loongson.
8769 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8770 (grub_linux_boot): Set unused registers to 0.
8771 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8772 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8773 * grub-core/mmap/mips/uppermem.c: ...here.
8774 * grub-core/partmap/dvh.c: New file.
8775 * grub-core/term/arc/console.c: Likewise.
8776 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8777 (grub_terminfo_set_current): Add terminal "arc".
8778 (grub_terminfo_readkey): Support ARC sequences.
8779 * include/grub/arc/arc.h: New file.
8780 * include/grub/arc/console.h: Likewise.
8781 * include/grub/disk.h (grub_disk_dev_id): Add
8782 GRUB_DISK_DEVICE_ARCDISK_ID.
8783 * include/grub/mips/arc/kernel.h: New file.
8784 * include/grub/mips/arc/memory.h: Likewise.
8785 * include/grub/mips/arc/time.h: Likewise.
8786 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8787 * include/grub/mips/kernel.h (grub_halt): ... here.
8788 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8789 here...
8790 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8791 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8792 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8793 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8794 proto.
8795 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8796 from here ...
8797 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8798 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8799 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8800 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8801 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8802 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8803 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8804 (grub_phys_addr_t): Moved from here ...
8805 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8806 (grub_vtop): Moved from here ...
8807 * include/grub/mips/memory.h (grub_vtop): ... here.
8808 (grub_map_memory): Moved from here ...
8809 * include/grub/mips/memory.h (grub_map_memory): ... here.
8810 (grub_unmap_memory): Moved from here ...
8811 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8812 (grub_machine_mmap_iterate): Moved from here ...
8813 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8814 (grub_mmap_get_lower): Moved from here ...
8815 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8816 (grub_mmap_get_upper): Moved from here ...
8817 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8818 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8819 here ...
8820 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8821 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8822 here ...
8823 * include/grub/mips/time.h (grub_get_rtc): ... here.
8824 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8825 here ...
8826 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8827 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8828 here ...
8829 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8830 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8831 definition.
8832 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8833 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8834 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8835 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8836 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8837 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8838 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8839 (GRUB_MACHINE_LINK_ADDR): Likewise.
8840 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8841 to 6.
8842 * util/grub-install.in: Run dvhtool on ARC.
8843 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8844 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8845
c8ecc840
VS
88462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8849 blocks.
8850
153a4b55
VS
88512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8854 after enabling port.
8855
ff44d107
VS
88562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Skip incorrect USB devices.
8859
8860 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8861 configcnt == 0.
8862 * include/grub/usb.h (grub_usb_err_t): New enum value
8863 GRUB_USB_ERR_BADDEVICE.
8864
638dbe4f
VS
88652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 Fuloong video init support.
8868
8869 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8870 well.
8871 (grub_vga_read_arx): New function.
8872 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8873 definition.
8874 (framebuffer): New members io, mmioptr and mmiobase.
8875 (read_sis_cmd): New function.
8876 (write_sis_cmd): Likewise.
8877 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8878 rather than 640x400.
8879 * grub-core/video/sis315_init.c: New file.
8880
c3fc520c
VS
88812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8884 non-loongson.
8885 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8886 to grub_dl_register_symbol.
8887
67b1e5c9
VS
88882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 Fix compilation errors.
8891
8892 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8893 potentially unused.
8894 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8895 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8896 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8897 to loongson machines.
8898
b756f75f
VS
88992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 Several FS mtime support.
8902
8903 * grub-core/fs/affs.c (grub_affs_time): New struct.
8904 (grub_affs_file): New field mtime.
8905 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8906 type. Removed 'size'. New field 'di'. All users updated.
8907 (grub_affs_mount): Simplify checsum checking.
8908 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8909 (grub_affs_dir): Handle mtime.
8910 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8911 (grub_cpio_dir): Likewise.
8912 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8913 (grub_hfs_filerec): New field mtime.
8914 (grub_hfs_dir): Handle mtime.
8915 (grub_hfs_mtime): New function.
8916 (grub_hfs_fs): Register grub_hfs_mtime.
8917 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8918 (grub_iso9660_dir): New field mtime.
8919 (grub_fshelp_node): New field dirent.
8920 (iso9660_to_unixtime): New function.
8921 (iso9660_to_unixtime2): Likewise.
8922 (grub_iso9660_read_symlink): Use node->dirent.
8923 (grub_iso9660_iterate_dir): Likewise.
8924 (grub_iso9660_dir): Set mtime.
8925 (grub_iso9660_mtime): New function.
8926 (grub_iso9660_fs): Register grub_iso9660_mtime.
8927 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8928 (grub_jfs_inode): New fields atime, ctime and mtime.
8929 (grub_jfs_dir): Set mtime.
8930 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8931 * grub-core/fs/ntfs.c (list_file): Set mtime.
8932 (grub_ntfs_dir): Likewise.
8933 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8934 (grub_reiserfs_iterate_dir): Set mtime.
8935 (grub_reiserfs_dir): Likewise.
8936 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8937 (grub_fshelp_node): Likewise.
8938 (grub_sfs_iterate_dir): Set mtime.
8939 (grub_sfs_dir): Likewise.
8940 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8941 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8942 (grub_xfs_inode): New fields atime, mtime, ctime.
8943 (grub_xfs_dir): Set mtime.
8944 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8945 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8946 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8947
8948 Support UDF symlinks.
8949
8950 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8951 (grub_ufs_read_symlink): New function. All users updated.
8952
8953 Check amiga partmap checksum.
8954
8955 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8956 (grub_amiga_partition): Likewise.
8957 (amiga_partition_map_checksum): New function.
8958 (amiga_partition_map_iterate): Check checksum.
8959
5470225d
VS
89602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 ROMFS support.
8963
8964 * Makefile.util.def (libgrubmods.a): Add romfs.
8965 * grub-core/Makefile.core.def (romfs): New module.
8966 * grub-core/fs/romfs.c: New file.
8967
d4680a35
VS
89682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Squashfs v4 support.
8971
8972 * Makefile.util.def (libgrubmods.a): Add squash4.
8973 * grub-core/Makefile.core.def (squash4): New module.
8974 * grub-core/fs/squash4.c: New file.
8975 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8976 disk_input_start, disk_input.
8977 (get_byte): Handle disk_input.
8978 (grub_zlib_disk_read): New function.
8979 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8980
bcb18e74
FZ
89812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
89822011-05-15 Feiran Zheng <famcool@gmail.com>
8983
8984 * Makefile.util.def (libgrubmods.a): Add minix3.
8985 * grub-core/Makefile.core.def (minix3): New module.
8986 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8987 (GRUB_MINIX_BSIZE): Removed.
8988 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8989 (grub_minix_ino_t): New type.
8990 (grub_minix_le_to_cpu_ino): New macro.
8991 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8992 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8993 (grub_minix_data): New field block_size.
8994 (grub_minix_read_file): Handle 64-bit correctly.
8995 * grub-core/fs/minix3.c: New file.
8996
32297d5f
TG
89972011-05-15 Tristan Gingold <gingold@free.fr>
89982011-05-15 Robert Millan <rmh.grub@aybabtu.com>
89992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 IA64 support.
9002
9003 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9004 * configure.ac: Add ia64-efi target.
9005 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9006 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9007 * gentpl.py: Add ia64_efi platform.
9008 Rename x86_efi to efi and Add ia64-efi. All users updated.
9009 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9010 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9011 Remove kern/generic/rtc_get_time_ms.c on EFI.
9012 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9013 kern/ia64/dl_helper.c on ia64-efi.
9014 Add kern/emu/cache.c on emu.
9015 (linux): Use on loader/ia64/efi/linux.c on ia64.
9016 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9017 whether symbol is a function.
9018 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9019 (grub_symbol): New field 'isfunc'.
9020 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9021 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9022 (grub_dl_load_segments): Place all sections into the same region.
9023 [__ia64__]: Create trampolines and got.
9024 [GRUB_MACHINE_EMU]: Call mprotect.
9025 (grub_dl_resolve_symbols): Resolve symbol type as well.
9026 [__ia64__]: Create function descriptors.
9027 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9028 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9029 (grub_get_rtc): New function.
9030 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9031 * grub-core/kern/emu/cache.S: Renamed to ...
9032 * grub-core/kern/emu/cache_s.S: ... this.
9033 [__ia64__]: Add a nop.
9034 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9035 [__ia64__]: New function.
9036 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9037 * grub-core/kern/ia64/dl.c: New file.
9038 * grub-core/kern/ia64/dl_helper.c: Likewise.
9039 * grub-core/kern/ia64/efi/init.c: New file.
9040 * grub-core/kern/ia64/efi/startup.S: Likewise.
9041 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9042 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9043 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9044 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9045 * grub-core/loader/ia64/efi/linux.c: New file.
9046 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9047 (GRUB_MOD_DEP): Likewise.
9048 (grub_dl) [__ia64__]: New fields got and tramp.
9049 (grub_dl): New field 'base'.
9050 (grub_dl_register_symbol): New argument isfunc. All users updated.
9051 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9052 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9053 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9054 (grub_ia64_dl_get_tramp_got_size): New proto.
9055 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9056 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9057 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9058 * include/grub/efi/api.h: Skip call wrappers on ia64.
9059 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9060 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9061 * include/grub/elf.h (ELF_ST_INFO): New definition.
9062 * include/grub/ia64/efi/kernel.h: New file.
9063 * include/grub/ia64/efi/memory.h: Likewise.
9064 * include/grub/ia64/efi/time.h: Likewise.
9065 * include/grub/ia64/kernel.h: Likewise.
9066 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9067 * include/grub/ia64/time.h: New file.
9068 * include/grub/ia64/types.h: Likewise.
9069 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9070 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9071 New protos.
9072 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9073 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9074 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9075 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9076 All users updated.
9077 (EFI64_HEADER_SIZE): New definition. All users updated.
9078 (image_targets): Add ia64-efi.
9079 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9080 jumpers_addr. All users updated.
9081 Create function descriptors.
9082 (count_funcs): New function.
9083 (unaligned_uint32): New struct.
9084 (MASK20): New definition.
9085 (MASK19): Likewise.
9086 (MASKF21): Likewise.
9087 (add_value_to_slot_20b): New function.
9088 (add_value_to_slot_21_real): Likewise.
9089 (add_value_to_slot_21): Likewise.
9090 (ia64_kernel_trampoline): New struct.
9091 (nopm): New variable.
9092 (jump): Likewise.
9093 (make_trampoline): New function.
9094 (relocate_addresses): Handle ia64.
9095 (make_reloc_section): Likewise.
9096 (load_image): Likewise.
9097
983b414d
VS
90982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9101 warning. Move variables before code while on it.
9102
5d063cdc
VS
91032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 Fuloong support.
9106
9107 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9108 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9109 * grub-core/boot/mips/loongson/fuloong.S: New file.
9110 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9111 Explicitly init CS5536.
9112 [FULOONG]: Don't use serial until CS5536 is available.
9113 Set GPIO based on dumps.
9114 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9115 [FULOONG]: Handle GPIO and memory controller differences.
9116 Parse machine type in $a2.
9117 * grub-core/boot/mips/startup_raw.S: Determine and save the
9118 architecture.
9119 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9120 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9121 init on architecture type.
9122 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9123 SIS315E. Don't init at_keyboard on fuloong.
9124 (grub_halt): Support Fuloong.
9125 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9126 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9127 (loongson_machtypes): New array.
9128 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9129 type.
9130 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9131 config. All users updated. Handle CS5536 serial.
9132 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9133 default port on machine type. Register serial as inactive.
9134 * grub-core/video/sis315pro.c: New file.
9135 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9136 definition.
9137 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9138 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9139 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9140 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9141 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9142 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9143 to ...
9144 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9145 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9146 definition.
9147 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9148 (grub_arch_machine): New extern var.
9149 * include/grub/mips/loongson/serial.h
9150 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9151 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9152 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9153 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9154 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9155 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9156 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9157 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9158 * include/grub/term.h (grub_term_register_input_inactive): New inline
9159 function.
9160 (grub_term_register_output_inactive): Likewise.
9161 * include/grub/video.h (grub_video_driver_id): New value
9162 GRUB_VIDEO_DRIVER_SIS315PRO.
9163 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9164 New field "names". All users updated.
9165 New field value IMAGE_FULOONG_FLASH.
9166 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9167
6ada82d1
JU
91682011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9169
9170 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9171 and add some clarification.
9172
90c571a4
VS
91732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9176 platforms if kernel is compressed.
9177
de04eecf
VS
91782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9181 unused modules since currently referrence counter isn't reliable and
9182 there isn't much memory to recover there anyway.
9183
57688121
VS
91842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9187 rather than resetting it to allow modules to reference themselves
9188 in init.
9189
3d2c7e35
VS
91902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9193 counter on dependencies since grub_dl_unref already handles this.
9194
b25db218
VS
91952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9198 on error if not already done.
9199
25a45338
VS
92002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Fix few potential memory misusage.
9203
9204 * grub-core/font/font.c (load_font_index): Don't free char_index to
9205 avoid double free.
b25db218
VS
9206 (grub_font_load): Zero-fill font at alloc for safety.
9207 Close file on error.
9208 (free_font): Free bmp_idx.
25a45338 9209
0cac83df
VS
92102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * docs/grub.texi (Installation): Fix several outdated claims.
9213
2217a143
VS
92142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Handle module_license on windows.
9217
9218 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9219 sections shifted.
9220 (insert_string): Make argument const char * instead of char *.
9221 (write_section_data): Handle long section names.
9222 Handle module_license.
9223
d4de6b01
VS
92242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9227 handle class-free menuentries.
9228 (grub_normal_add_menu_entry): Add a check to be sure.
9229
4c2a3b43
VS
92302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9233 PgUp and PgDown.
9234
85c6210f
VS
92352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * configure.ac: Bump version to 1.99.
9238
36084912
VS
92392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Give ATA device a bit more time on first try in order to allow disks
9242 to spin up.
9243
9244 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9245 if dev->present is 1. Reset dev->present on failure.
9246 (grub_ata_device_initialize): Set dev->present to 1.
9247 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9248 (grub_ata_device): New member 'present'.
9249
bda0e219
VS
92502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * util/grub-mkimage.c (generate_image): Update hash.
9253
19e1c41b
VS
92542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 Flush caches on DMA memory.
9257
9258 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9259 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9260 (grub_dma_free): Likewise.
9261 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9262
91bbcc0c
VS
92632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9266 to avoid asm treating ld and sd as macros.
9267
60ddfad3
VS
92682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9271 decompressor.
9272
a298aa04
VS
92732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9276 grub_decompress_core since later would fail if grub_decompress_core
9277 is too far.
9278
9b44feca
VS
92792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9282 R_MIPS_JALR since it's used by newer compiler.
9283
56dbe7b4
VS
92842011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9287
52856af2
VS
92882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9291 file_path to 0 for surety.
9292 (grub_chainloader_boot): Set exit_data to NULL.
9293 Unset the loader once done.
9294 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9295
9c9bfc6d
VS
92962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9299 unknown key into a dprintf.
9300
dd94a3df
VS
93012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9304 on first non-existant partition.
9305
fa68d99c
VS
93062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9309 openning fails.
9310 Reported by: Mark Korenberg.
9311
157effb7
VS
93122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9315 overflow.
9316
ea75312f
VS
93172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9320 before closing to ensure that it will be readable by grub-setup.
9321
072b5d31
VS
93222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9325 (devpath_1): Use MAKE_PIWG_PATH.
9326 (devpath_2): Likewise.
9327 (devpath_3): Likewise.
9328 (devpath_4): Likewise.
9329 (devpath_5): Likewise.
9330 (devpath_6): Likewise.
9331
9332 The appleldr.mod was checked that to be binary identical to previous
9333 version.
9334
7fae0051
Z
93352011-05-05 Zach <mikezackles>
9336
9337 Support 2010 Macbooks.
9338
9339 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9340 (devs): Add devpath_6.
9341
7c515bee
VS
93422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9345 /dev/random. /dev/urandom is good enough for our purposes (salting).
9346
ed660bd8
VS
93472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9350
ee5614b7
VS
93512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9354 hexadecimal.
9355
664889a6
VS
93562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9359 and not 0 on failure.
9360
bd405bbc
CW
93612011-05-03 Colin Watson <cjwatson@ubuntu.com>
9362
9363 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9364 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9365 disk; otherwise grub_fs_probe will not fall back to the next
9366 filesystem.
9367 (grub_pxefs_open): Likewise, for consistency.
9368 Reported and tested by: Ezekiel Grave.
9369
4ebff753
CW
93702011-05-03 Colin Watson <cjwatson@ubuntu.com>
9371
9372 * tests/partmap_test.in: Don't hardcode path to parted.
9373 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9374
8f942553
CW
93752011-05-01 Colin Watson <cjwatson@ubuntu.com>
9376
9377 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9378 of `ls' to find out which devices are available.
9379
3c62402d
VS
93802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9383 than source address for efi mmap buffer.
9384
723f63f2
VS
93852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9388 wrong action on non-detecting the magic.
9389
68797f92
VS
93902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9393 already supplied by another part of the module (fixes compilation on
9394 FreeBSD).
9395
6be8715d
VS
93962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9399 match the one used by mdadm.
9400
e91dba5b
CW
94012011-04-21 Colin Watson <cjwatson@ubuntu.com>
9402
9403 * po/README: Add instructions for creating po/LINGUAS.
9404
c85140b3
CW
94052011-04-21 Colin Watson <cjwatson@ubuntu.com>
9406
9407 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9408 #551428.
9409
9410 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9411 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9412 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9413 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9414 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9415 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9416 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9417 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9418 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9419 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9420 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9421 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9422 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9423 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9424 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9425 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9426 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9427 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9428 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9429 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9430 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9431 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9432
92051871
CW
94332011-04-21 Colin Watson <cjwatson@ubuntu.com>
9434
9435 * grub-core/kern/emu/getroot.c
9436 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9437 test that was incorrectly reintroduced in r3214.
9438 Reported by: Ian Dall. Fixes Savannah bug #33133.
9439
b13f79a4
CW
94402011-04-21 Colin Watson <cjwatson@ubuntu.com>
9441
9442 Fix stack pointer handling in 16-bit relocator.
9443
9444 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9445 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9446 Fixes Ubuntu bug #683904.
9447
9b710a88
VS
94482011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * configure.ac: Bump version to 1.99~rc2.
9451
d97e7b59
VS
94522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9455 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9456 * grub-core/lib/x86_64/setjmp.S: Likewise.
9457 * grub-core/lib/mips/setjmp.S: Likewise.
9458 * grub-core/lib/powerpc/setjmp.S: Likewise.
9459 * grub-core/lib/sparc64/setjmp.S: Likewise.
9460
0624551c
VS
94612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9464 * grub-core/lib/efi/datetime.c: Likewise.
9465
e8f28d4c
VS
94662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9469 New function.
9470 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9471 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9472 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9473
bba79a15
VS
94742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9477 bitmap.
9478 (grub_gfxterm_term_init): Likewise.
9479
abc474ef
VS
94802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 Take into account the decorations the computing menu entry width.
9483
9484 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9485 (grub_gfxmenu_create_box): Register get_border_width.
9486 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9487 if available.
9488 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9489 get_border_width.
9490
e74b3947
EP
94912011-04-18 Endres Puschner <code@e7p.de>
9492
9493 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9494 Don't skip first class.
9495
34faa595
VS
94962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9499 chunks.
9500 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9501
93a777e3
VS
95022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Complete 64-bit division support.
9505
9506 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9507 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9508 * include/grub/misc.h (grub_divmod64): Rename to ...
9509 (grub_divmod64_full): ... this.
9510 (grub_divmod64): New inline function.
9511
a5102d94
VS
95122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9515
f3fb7b36
VS
95162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9519 performing the necessary test.
9520
9ac718b0
VS
95212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9524 (kfreebsd.elf): Likewise.
9525 (pc-chainloader.elf): Likewise.
9526 (ntldr.elf): Likewise.
9527
50d2cc5a
VS
95282011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Identify RAID by its UUID rather than (guessed) name.
9531
9532 * grub-core/disk/raid.c (ascii2hex): New function.
9533 (grub_raid_open): Accept mduuid/%s specification.
9534 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9535 (get_mdadm_uuid): ... this.
9536 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9537
e03f7bea
VS
95382011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9541 to negative size.
9542
e74c3112
CW
95432011-04-13 Colin Watson <cjwatson@ubuntu.com>
9544
9545 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9546 btrfs subvolume.
9547 * util/grub.d/20_linux_xen.in: Likewise.
9548
78fa584f
CW
95492011-04-13 Colin Watson <cjwatson@ubuntu.com>
9550
9551 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9552 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9553
9554 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9555 Build a list of relevant visible mounts using the mnt_id and
9556 parent_mnt_id fields, and then scan that list at the end.
9557
9d5f8162
CW
95582011-04-12 Colin Watson <cjwatson@ubuntu.com>
9559
9560 * docs/grub.texi (normal): New section.
9561 (normal_exit): New section.
9562 (Embedded configuration): Add reference to normal.
9563 (GRUB only offers a rescue shell): Likewise.
9564 * docs/grub-dev.texi (Error Handling): Fix typo.
9565
09a9d66f
CW
95662011-04-12 Colin Watson <cjwatson@ubuntu.com>
9567
9568 * NEWS: Drop obsolete entry about probe-only btrfs support.
9569
0c676933
CW
95702011-04-12 Colin Watson <cjwatson@ubuntu.com>
9571
9572 * util/import_gcry.py: Fix typo.
9573
ec9f5e0d
VS
95742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * NEWS: Add btrfs support.
9577
fe6b2cba
VS
95782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
95792011-04-11 Colin Watson <cjwatson@ubuntu.com>
9580
9581 BtrFS support. Written by me (Vladimir) with important bugfixes and
9582 even more important testing by Colin.
9583
9584 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9585 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9586 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9587 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9588 mem_input_off and mem_input. All users updated to accept in-RAM input.
9589 (gzio_seek): New function.
9590 (test_zlib_header): Likewise.
9591 (grub_gzio_read): Likewise.
9592 (grub_zlib_decompress): Likewise.
9593 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9594 Accept partial and non-virtual mounts.
9595 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9596 avoid receiving /dev/dm-X as device.
9597 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9598 Handle bind and partial mounts.
9599 * grub-core/lib/crc.c: New file.
9600 * include/grub/deflate.h: Likewise.
9601 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9602 proto.
9603 * include/grub/lib/crc.h: New file.
9604
e745cf0c
VS
96052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 Implement automatic module license checking according to new GNU
9608 guidelines.
9609
9610 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9611 (grub_dl_load_core): Use grub_dl_check_license.
9612 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9613 (GRUB_MOD_LICENSE): Likewise.
9614 (GRUB_MOD_DUAL_LICENSE): Likewise.
9615 All modules updated.
9616
2a9bc016
CW
96172011-04-11 Colin Watson <cjwatson@ubuntu.com>
9618
9619 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9620 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9621 loaders.
9622 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9623
8a3bc88e
VS
96242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9627
af869a4a
VS
96282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9631 failed.
9632
9ee8d94f
VS
96332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9636 parenthesis in the middle of the filename.
9637
b01abe3e
VS
96382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9641 rather than trying to put initrd way too high.
9642 Reported by: Ryan Lortie <desrt@desrt.ca>
9643
335bda1e
VS
96442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9647 improperly removed string.
9648
5ca1a64d
VS
96492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9652 is_disk.
9653 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9654 (open_device) Likewise.
9655 (grub_util_biosdisk_close): Likewise.
d8ce9995 9656 Reported by: Mark Korenberg.
5ca1a64d 9657
cbac5b1e
AK
96582011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9659
9660 * util/grub-mkconfig_lib.in: Add missing quotes.
9661
088cdb65
CW
96622011-04-10 Colin Watson <cjwatson@ubuntu.com>
9663
9664 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9665 is NULL.
9666
8b8a81fa
VS
96672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 Dynamically count the number of lines for the lower banner.
9670
9671 * grub-core/normal/menu_entry.c (per_term_screen): New member
9672 num_entries.
9673 (print_down): Use num_entries.
9674 (update_screen): Likewise.
9675 (grub_menu_entry_run): Set num_entries.
9676 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9677 num_entries.
9678 (grub_print_message_indented): Move real part to ...
9679 (grub_print_message_indented_real): ... here. Additional argument
9680 dry_run.
9681 (draw_border): Additional argument num_entries.
9682 (print_message): Additional argument dry_run.
9683 (print_entries): Receive menu viewer data.
9684 (grub_menu_init_page): New argment num_entries.
9685 (menu_text_set_chosen_entry): Use num_entries.
9686 (grub_menu_try_text): Likewise.
9687 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9688 All users updated.
9689 (grub_ucs4_count_lines): New function.
9690 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9691 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9692 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9693 (grub_term_border_height): Likewise.
9694 (grub_term_num_entries): Likewise.
9695
277f955b
VS
96962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9699 Remove now unused string.
9700
536ce85a
CW
97012011-04-09 Colin Watson <cjwatson@ubuntu.com>
9702
9703 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9704 build system.
9705 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9706
9707 (Comment): Fix typo.
9708 (Getting started): General copy-editing.
9709 (Typical Development Experience): Likewise.
9710 (Error Handling): Likewise.
9711 (Video API): Likewise.
9712
2cf09e32
CW
97132011-04-09 Colin Watson <cjwatson@ubuntu.com>
9714
9715 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9716 throughout.
9717
1ec652f4
VS
97182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9721 directory.
9722
2c583728
CW
97232011-04-08 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9726 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9727 "development".
9728
d7a565e9
VS
97292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9732 grub_strcpy since the lines aren't necessarily 0-terminated.
9733
7c2e4909
VS
97342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9737 root on legacy.
9738
34c09785
VS
97392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9742 (GRUB_MOD_INIT): DEVICE isn't optional.
9743
6a6f8058
VS
97442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9747 word on new line if it's too long anyway. Fixes a hang.
9748
2e335e90
VS
97492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9752 const.
9753 * util/grub-setup.c (main): Reuse md device name if available.
9754 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9755 not GRUB name as argument.
9756 Based on patch by: Florian Wagner <fwagner>.
9757
10a7a867
VS
97582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9761 Place mbi on low memory for better compatibility.
9762
7a3d6cd9
VS
97632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9766
18dd6b47
VS
97672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
97682011-04-08 Colin Watson <cjwatson@ubuntu.com>
9769
9770 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9771 * conf/Makefile.common: Likewise.
18dd6b47 9772
3c0e3f14
VS
97732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9774
f7148863
VS
9775 * grub-core/normal/menu.c: Add missing include.
9776
97772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9780
6d1fa41f
MZ
97812011-04-08 Martin Zuther <mzuther@mzuther.de>
9782
9783 * util/grub-mkconfig.in: Ignore emacsen backup.
9784
478182a8
VS
97852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9788 on open.
9789 (grub_util_biosdisk_close): Likewise.
9790
72a89a54
VS
97912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9794 const attribute and use grub_isdigit.
9795
b5ebecfa
A
97962011-04-06 Andrey <dev_null@ukr.net>
9797
9798 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9799 gcc warning.
9800
7755f66e
VS
98012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9804 useful grub_dprintf's.
9805
461121ff
VS
98062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9809
2a961775
VS
98102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9813
adf594cc
VS
98142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 Output errors if theme loading failed.
9817
9818 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9819 grub_gfxterm_fullscreen on error paths to ...
9820 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9821 theme loading error.
9822
665900a3
VS
98232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9826 space for older compilers.
9827 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9828
a562b479
VS
98292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9832 and report them as not RAID members since they are useless for GRUB.
9833 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9834
850e9373
VS
98352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 Increase LVM implementation robustness in order not to crash on
9838 configurations like pvmove. Previously code assumed that in some places
9839 only lvs or only pvs are used whereas it seems that they are used
9840 interchangeably.
9841
9842 * grub-core/disk/lvm.c (read_node): New function.
9843 (read_lv): Use read_node.
9844 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9845 Match volumes only at the end when all lvs are found. Take both
9846 pvs (first) and lvs (second) into account.
9847 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9848 mirror_* into node_*. All users updated.
9849 (grub_lvm_stripe): Merge this ...
9850 (grub_lvm_mirror): ... and this ...
9851 (grub_lvm_node): ... into this. All users updated.
9852
6f332153
VS
98532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9856 of function to allow further scanning for LVMs.
9857
829ea451
VS
98582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9861 on failed seek as it breaks open fd reusage.
9862
09ceb9a5
VS
98632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * util/grub-install.in: Add a recommendation to use --recheck before
9866 reporting bugs.
9867
67e11623
VS
98682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9871 are obtained.
9872
caee5efd
VS
98732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 GRUB developper manual based on existing Internals section and
9876 contributions by the various authors with active copyright assignment.
9877
9878 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9879 * docs/font_char_metrics.png: New file.
9880 * docs/font_char_metrics.txt: Likewise.
9881 * docs/grub-dev.texi: Likewise.
9882 * docs/grub.texi (Internals): Move from here ...
9883 * docs/grub-dev.texi: ... here.
9884
2cccc747
CW
98852011-04-01 Colin Watson <cjwatson@ubuntu.com>
9886
9887 Store the loopback device as data on loopback grub_disk structures,
9888 rather than the file it points to. This fixes use of freed memory
9889 if an existing loopback device is replaced.
9890
9891 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9892 disk->data, not dev->file.
9893 (grub_loopback_read): Adjust file assignment to match.
9894 Fixes Ubuntu bug #742967.
9895
186ae367
CW
98962011-04-01 Colin Watson <cjwatson@ubuntu.com>
9897
9898 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9899 when replacing an existing device.
9900
cfed2ad0
VS
99012011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9904 memory corruptions.
9905
9906 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9907 unsigned.
9908 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9909 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9910 (grub_jfs_read_inode): Likewise.
9911 (grub_jfs_opendir): Likewise. Remove now useless casts.
9912 (grub_jfs_getent): Likewise.
9913 Make ino a grub_uint32_t rather than int.
9914 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9915 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9916 division and module with bit operations.
9917 (grub_jfs_find_file): Make ino a grub_uint32_t.
9918 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9919
05d2ed32
CW
99202011-04-01 Colin Watson <cjwatson@ubuntu.com>
9921
9922 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9923 warning. (This was in fact always initialised before use, but GCC
9924 wasn't smart enough to prove that.)
9925 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9926
91dc6073
VS
99272011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9930 stack alignment.
9931 (efi_wrap_1): Likewise.
9932 (efi_wrap_2): Likewise.
9933 (efi_wrap_3): Likewise.
9934 (efi_wrap_4): Likewise.
9935 (efi_wrap_5): Likewise.
9936 (efi_wrap_6): Likewise.
9937 (efi_wrap_10): Likewise.
9938 Based on information by: Red Hat/Peter Jones.
9939
a8afc1d1
CW
99402011-03-31 Colin Watson <cjwatson@ubuntu.com>
9941
9942 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9943 set-but-not-used variable.
9944
a826cc7d
CW
99452011-03-31 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * docs/grub.texi (Simple configuration): Be more explicit about
9948 GRUB_DEFAULT, and add an example.
9949 Reported by: Leslie Rhorer.
9950
875b67ba
CW
99512011-03-30 Colin Watson <cjwatson@ubuntu.com>
9952
9953 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9954 shell".
9955
fd7cd914
AS
99562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9957
9958 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9959 * util/grub.d/20_linux_xen.in: Likewise.
9960
090b1b6a
VS
99612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * util/grub.d/10_linux.in: Try alternative config filenames where
9964 we parse config file.
9965 * util/grub.d/20_linux_xen.in: Likewise.
9966
baad885c
AS
99672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9968
9969 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9970 * util/grub.d/20_linux_xen.in: Likewise.
9971
241e41f5
VS
99722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/disk/raid.c (insert_array): Add few potentially
9975 useful grub_util_info.
9976 (grub_raid_register): Likewise.
9977
56445fb2
VS
99782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9981 Preserve partition number in mdadm code path.
9982
c871b1c6
VS
99832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9986 few potentially useful grub_util_info.
9987
5e631b4f
CW
99882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9991
2d5d0333
CW
99922011-03-30 Colin Watson <cjwatson@ubuntu.com>
9993
9994 * docs/grub.texi (default): Use @example rather than nested
9995 itemized lists to avoid breaking gendocs.
9996
3d7ed04e
CW
99972011-03-30 Colin Watson <cjwatson@ubuntu.com>
9998
9999 * docs/grub.texi (Future): Update.
10000
abf04200 100012011-03-30 Colin Watson <cjwatson@ubuntu.com>
10002
10003 * docs/grub.texi (Environment): New chapter.
10004 (Changes from GRUB Legacy): Link to "Environment block" section for
10005 details of limitations.
10006 (Simple configuration): Likewise. Link to documentation of gfxmode
10007 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10008 respectively.
10009 (Shell-like scripting): Note that normal variables are stored in the
10010 environment.
10011 (gettext): Link to documentation of lang and locale_dir.
10012 (list_env): New section.
10013 (load_env): New section.
10014 (save_env): New section.
10015
10016 (Reporting bugs): Fix typo.
10017
e1ad0edd
VS
100182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10021 the example.
10022
5d803174
VS
100232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * grub-core/term/at_keyboard.c (set_scancodes)
10026 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10027
2a2da1d0
CW
100282011-03-30 Colin Watson <cjwatson@ubuntu.com>
10029
10030 * docs/grub.texi (Menu-specific commands): Remove some semantics
10031 that were true in GRUB Legacy but not in GRUB 2.
10032 (submenu): New section.
10033 (false): New section.
10034 (read): New section.
10035 (true): New section.
10036
a7527639
CW
100372011-03-30 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10040
100412011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10042
10043 * docs/grub.texi (Simple configuration): Explain some of the
10044 current limitations of grub-mkconfig.
8a748df2 10045 Reported by: Leslie Rhorer.
e30af029 10046
fc858482
VS
100472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Old macs search for boot.efi rather than for bootia32.efi.
10050
10051 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10052 * util/grub-mkrescue.in: Likewise.
10053 Suggested by: Peter Jones.
10054
e1eb511d
VS
100552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10058
70e75364
VS
100592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10062 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10063 (grub_lvm_mirror): New struct.
10064 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10065 (grub_lvm_iterate): Iterate only visible volumes.
10066 (grub_lvm_read): Factor out to ..
10067 (read_lv): ... this. Support mirrors.
10068 (grub_lvm_read): New wrapper function.
10069 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10070 stripped or mirrored.
10071
fc18f6a3
VS
100722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10075
5c650f4c
CW
100762011-03-29 Colin Watson <cjwatson@ubuntu.com>
10077
10078 * docs/grub.texi (loopback): New section.
10079
61d7156b
CW
100802011-03-29 Colin Watson <cjwatson@ubuntu.com>
10081
10082 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10083 removed -p option.
10084
994b8264
CW
100852011-03-29 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * docs/grub.texi (BIOS installation): New section, partly based on
10088 previous text in other sections.
10089 (Installing GRUB using grub-install): Replace BIOS discussion with a
10090 cross-reference.
10091 (Images): Likewise.
10092
9e4d19e0
VS
100932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10096 [HAVE_DIOCGDINFO]: Add safety checks.
10097
a307c0b2
VS
100982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10101 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10102
b4db4f39
CW
101032011-03-29 Colin Watson <cjwatson@ubuntu.com>
10104
10105 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10106 real_sb->size is zero (e.g. RAID-0), get the disk size from
10107 real_sb->data_size instead.
10108 Fixes Ubuntu bug #743136.
10109
35e5f84c
VS
101102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10113 printf clauses for printing size and start.
10114
d2e29d81
VS
101152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10118 Reported and tested by: Timothy Nikkel.
10119
ed5587af
VS
101202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10123 (dirty_region_add_real): ... this.
10124 (dirty_region_add): Don't discard margin refresh when performing
10125 scheduled repaint.
10126
a1dc717c
VS
101272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/lib/relocator.c (allocate_regstart)
10130 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10131 terminals are capabple of malloc-free operation.
10132 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10133 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10134
9f3677d3
VS
101352011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10136
10137 * util/grub-setup.c: Copy the partition table zone if floppy support
10138 is disabled, even if no partition table is found.
10139
10140 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10141 during POST if an invalid partition table is contained in the PBR
10142 of the active partition when GRUB is installed to a partition.
10143
24148725
CW
101442011-03-28 Colin Watson <cjwatson@debian.org>
10145
10146 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10147 comment.
10148
f329eda7
CW
101492011-03-28 Colin Watson <cjwatson@debian.org>
10150
10151 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10152 to be specific about what kind of RAID device we're scanning for.
10153
c482ad98
SG
101542011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10155
10156 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10157 return freed string.
10158
5ee04984
VS
101592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10162
f4727da9
VS
101632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 Use libgeom on FreeBSD to detect partitions.
10166
10167 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10168 (grub-mkrelpath): Likewise.
10169 (grub-script-check): Likewise.
10170 (grub-editenv): Likewise.
10171 (grub-mkpasswd-pbkdf2): Likewise.
10172 (grub-fstest): Likewise.
10173 (grub-mkfont): Likewise.
10174 (grub-mkdevicemap): Likewise.
10175 (grub-probe): Likewise.
10176 (grub-setup): Likewise.
10177 (grub-ofpathname): Likewise.
10178 (grub-mklayout): Likewise.
10179 (example_unit_test): Likewise.
10180 (grub-menulst2cfg): Likewise.
10181 * grub-core/Makefile.core.def (grub-emu): Likewise.
10182 (grub-emu-lite): Likewise.
10183 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10184 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10185 define HAVE_DIOCGDINFO.
10186 (follow_geom_up) [FreeBSD]: New function.
10187 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10188 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10189 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10190 unconditionally of HAVE_DIOCGDINFO.
10191
82fe6c75
VS
101922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Fix FreeBSD compilation problem.
10195
10196 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10197 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10198
4c6c9431
CW
101992011-03-24 Colin Watson <cjwatson@ubuntu.com>
10200
10201 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10202 Switch back to page zero before loading a kernel, since some kernel
10203 drivers expect that.
10204 Thanks to: Felix Kuehling.
10205
c7064d94
VS
102062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10209 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10210 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10211
3f71cded
VS
102122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10215 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10216
ef6de21a
VS
102172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10220 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10221 malloc is disabled.
10222
8bc66a2c
VS
102232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10226 for modules headers when counting the needed allocation size.
10227
5657722c
VS
102282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10231 if no ASCII character is found to prevent crash.
10232
41a85f55
AK
102332011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10234
10235 * grub-core/video/bitmap.c (match_extension): Ignore case.
10236
59e1e5f1
VS
102372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10240
bd4d051a
VS
102412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/script/parser.y: Declare "time" as valid argument.
10244
bae7fcc1
PJ
102452011-03-23 Peter Jones <pjones@redhat.com>
10246
10247 Fix incorrect assert failure reporting.
10248
10249 * grub-core/tests/example_functional_test.c (example_test): Add
10250 a failure comment.
10251 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10252 (failure_start): ...this. Check that malloc succeeded.
10253 Don't call xvasprintf. Return failure struct.
10254 (failure_append_vtext): New function.
10255 (failure_append_text): Likewise.
10256 (add_failure): Likewise.
10257 (grub_test_assert_helper): Likewise.
10258 * include/grub/test.h (grub_test_assert_helper): New declaration.
10259 (grub_test_assert): Macro rewritten.
10260
537dc9be
VS
102612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10264
fa3e01bf
VS
102652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10268
b1d28404
VS
102692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10272 into GRUB-style one.
10273
2e3e2e09
VS
102742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10277 error and not grub_errno.
10278 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10279
ed57e557
VS
102802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10283 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10284
d1611f01
VS
102852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/efiemu/i386/pc/cfgtables.c
10288 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10289 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10290 (grub_xnu_unlock): Likewise.
10291 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10292
7d4e39d6
VS
102932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10296 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10297 * grub-core/commands/hashsum.c (aliases): Likewise.
10298 * grub-core/commands/setpci.c (pci_registers): Likewise.
10299 * grub-core/disk/usbms.c (attach_hook): Likewise.
10300 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10301 (zio_checksum_table): Likewise.
10302 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10303 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10304 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10305 * grub-core/lib/relocator.c (leftovers): Likewise.
10306 (extra_blocks): Likewise.
10307 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10308 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10309 (modules_last): Likewise.
10310 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10311 (devices): Likewise.
10312 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10313 (modules_last): Likewise.
10314 * grub-core/normal/auth.c (users): Likewise.
10315 * grub-core/normal/context.c (initial_menu): Likewise.
10316 (current_menu): Likewise.
10317 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10318 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10319 (grub_serial_terminfo_input_template): Likewise.
10320 (grub_serial_terminfo_output_template): Likewise.
10321 (grub_serial_terminfo_input): Likewise.
10322 (grub_serial_terminfo_output): Likewise.
10323 (registered): Likewise.
10324 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10325
40fc4659
VS
103262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10329 grub_video_mode_type_t.
10330 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10331 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10332 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10333
2da48d28
VS
103342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * util/grub-install.in: Correct the x86-64 name as x86_64.
10337
9b43bf39
CW
103382011-03-11 Colin Watson <cjwatson@ubuntu.com>
10339
10340 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10341 initial chunk read from the kernel always includes GRUB's multiboot
10342 header, which is now outside the first sector.
10343
be1a7ce0
CW
103442011-03-09 Colin Watson <cjwatson@ubuntu.com>
10345
10346 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10347 cached mmap_size, so that this works correctly when called multiple
10348 times.
10349 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10350
83a3c48d
CW
103512011-03-09 Colin Watson <cjwatson@ubuntu.com>
10352
10353 * docs/grub.texi (Simple configuration): Tidy up formatting.
10354
57d75699
SJ
103552011-03-07 Szymon Janc <szymon@janc.net.pl>
10356
10357 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10358 Set-but-not-used variable removed.
10359
028501a0
VS
103602011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 Workaround yet another IEEE1275 bug.
10363
10364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10365 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10366 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10367 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10368 is set.
10369 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10370 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10371
d998657d
VS
103722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10375 error.
10376
fee7cdd4
CW
103772011-02-11 Colin Watson <cjwatson@ubuntu.com>
10378
10379 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10380 empty, since in that case we can only generate either nothing or a
10381 syntactically invalid configuration file.
10382 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10383
97286eb5
CW
103842011-02-09 Colin Watson <cjwatson@ubuntu.com>
10385
10386 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10387 (Making a GRUB bootable CD-ROM): Likewise.
10388 (Invoking grub-mkrescue): New section.
10389 Reported by: Yann Dirson. Fixes Debian bug #612585.
10390
22b28eb3
CW
103912011-02-09 Colin Watson <cjwatson@ubuntu.com>
10392
10393 * util/grub-install.in: Remove unnecessary brackets from tr
10394 arguments.
10395 * util/grub.d/10_hurd.in: Likewise.
10396 * util/grub.d/10_kfreebsd.in: Likewise.
10397 * util/grub.d/10_linux.in: Likewise.
10398 * util/grub.d/20_linux_xen.in: Likewise.
10399 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10400
7e735e43
CW
104012011-02-08 Colin Watson <cjwatson@ubuntu.com>
10402
10403 * include/grub/file.h (not_easly_seekable): Rename to ...
10404 (not_easily_seekable): ... this. Update all users.
10405
800f1881
CW
104062011-01-28 Colin Watson <cjwatson@ubuntu.com>
10407
10408 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10409 grub-mkrescue.
10410
3281d3d6
VS
104112011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * util/grub-mkimage.c (generate_image): Refuse to create the images
10414 bigger than the actual flash (512K) in Loongson machines. 512K is also
10415 the biggest chip supported by them.
10416
3533413c
VS
104172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10420
73ae4f4f
VS
104212011-01-22 Anthony DeRobertis <anthony@derobert.net>
10422
10423 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10424 super_offset field.
10425
37f4f608
VS
104262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * util/grub-install.in: Ignore install device on platforms
10429 where it doesn't make sense. Always use UUIDs except on pc, efi and
10430 sparc64.
10431 Reported by: Daniel Kahn Gillmor.
10432
03a4ccb5
VS
104332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10436
ffc8f4d8
VS
104372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10440 (iterate_real): Don't rely on partition being non-NULL.
10441
80f23be7
VS
104422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10445 supported platforms. Put a compile time assert for this rather than
10446 generate a warning with 32-bit shift.
10447
5d4f4dd5
VS
104482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10451 logical expression more readable.
10452
e489601a
VS
104532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10456 even if some elements have a name.
10457 Reported by: Alexander GQ Gerasiov.
10458
96e0a6ea
CW
104592011-01-22 Colin Watson <cjwatson@ubuntu.com>
10460
10461 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10462 path unreadable if `grub-probe -t abstraction' fails, for example if
10463 memberlist fails on an LVM volume group.
10464 Reported by: Darius Jahandarie.
10465
81431e2b
CW
104662011-01-22 Colin Watson <cjwatson@ubuntu.com>
10467
10468 * docs/grub.texi (Simple configuration): Document
10469 GRUB_PRELOAD_MODULES.
10470
5e79d66a
CW
104712011-01-17 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * .bzrignore: Remove nonexistent grub-pbkdf2.
10474
646ada34
VS
104752011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * configure.ac: Bump version to 1.99~rc1.
10478
04360337
VS
104792011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10482 for safety.
10483
46c9db88
VS
104842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10487 module.
10488
104892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10490
10491 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10492
4fbf1852
VS
104932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10496 diskdevid.
10497
f1632d4d
VS
104982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Fix compilation on cygwin.
10501
10502 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10503 -R .drectve on cygwin.
10504 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10505 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10506 (COND_CYGWIN): New condition.
10507 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10508 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10509 not @TARGET_OBJ2ELF@.
10510 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10511 type to determine whether aux is to be used.
10512
0b5e127b
VS
105132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10516 realpath'ed device string.
10517 Handle floppy (somewhat).
10518 Issue error in unknown case rather than garbage.
10519 Reported by: Axel Beckert.
10520
173b71e9
VS
105212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * util/grub.d/00_header.in (load_video): Handle the case when no video
10524 drivers available.
10525 Thanks to: Axel Beckert.
10526
f8f479db
VS
105272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10530 variable. Fixes problem on big endian platforms.
10531
8fc0a245
VS
105322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10535 It doesn't work well there.
10536
b8494fbe
VS
105372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10540 warning.
10541 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10542 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10543 counter.
10544
b44a558c
VS
105452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 Use alias->path rather than buggy "canon".
10548
10549 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10550 (ofdisk_hash_add): New argument curcan. All users updated.
10551
51fa856c
CW
105522011-01-11 Colin Watson <cjwatson@ubuntu.com>
10553
10554 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10555
9da068a5
VS
105562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10559 loadmask before doing any calculations. Use correct type for offset.
10560 (grub_linux_load64): Likewise.
10561
86205c94
CW
105622011-01-11 Colin Watson <cjwatson@ubuntu.com>
10563
10564 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10565 with NULL.
10566 (console_grub_equivalences_unshift): Likewise.
10567 Reported by: Daniel Dehennin.
10568
4531a206
VS
105692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10572 (set_env_limn_ro): Likewise.
10573 (GRUB_MOD_INIT): Likewise.
10574 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10575 ARRAY_SIZE while on it.
10576 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10577 * grub-core/normal/context.c (grub_env_export): Move from here ...
10578 * grub-core/kern/env.c (grub_env_export): ... here.
10579 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10580 prefix.
10581 * grub-core/kern/main.c (grub_main): Export root and prefix.
10582 * include/grub/env.h (grub_env_export): Export.
10583 Reported by: Seth Goldberg.
10584
45146057
VS
105852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10588 Take into account space used by ELF sections and multiboot palette.
10589 Reported by: Grégoire Sutre.
10590
f093110b
VS
105912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * BUGS: New file.
10594
3395fe52
VS
105952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Pass more appropriate video id to Linux.
10598
10599 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10600 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10601 fill have_vga.
10602 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10603 shift params->lfb_size.
10604 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10605
c2fa6cbb
VS
106062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10609
b3ff6ff0
VS
106102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10613 separator and pass bootpath/devid even if only one of them is available.
10614 Reported by: Seth Goldberg.
10615
ae67942e
VS
106162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10619 implementations bug on them.
10620
10621 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10622 memory.
10623 (filter_memory_map): Likewise.
10624
d570097a
VS
106252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10628 Reported by: nebuchadnezzar.
10629
a508e776
VS
106302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10633 Reported by: nebuchadnezzar.
10634
dcb883b1
VS
106352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 Submenu default support.
10638
10639 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10640 auto_boot. All users updated.
10641 Declared static.
10642 Handle chosen and default with submenus.
10643 (grub_menu_execute_with_fallback): Declared static.
10644 Don't notify failure if autobooted. Upper level does it.
10645 (menuentry_eq): New function.
10646 (get_entry_number): Use menuentry_eq.
10647 (show_menu): New parameter "autobooted". All users updated.
10648 (grub_show_menu): Likewise.
10649 * include/grub/normal.h (grub_show_menu): Likewise.
10650 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10651 (grub_menu_execute_with_fallback): Likewise.
10652
6fef99b4
VS
106532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * util/grub-mklayout.c (usage): Update help text.
10656
47a77af5
VS
106572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10660
ce6bb3ee
VS
106612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * util/grub-menulst2cfg.c (main): Trim the line.
10664
db87be2a
VS
106652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10668 (grub_machine_init): Don't check amount of low memory as reportedly
10669 INT 12h can be broken and if low memory is too low we wouldn't have
10670 gotten into grub_machine_init anyway.
10671
c49849cc
VS
106722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10675 (grub_machine_mmap_iterate): Take low memory into account
10676
b1969b30
VS
106772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10680 badfs.
10681 Reported by: TiCPU.
10682
cf0eaf13
VS
106832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10686 members errors.
10687
1f060f39
GS
106882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10689
10690 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10691 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10692
a21e5672
GS
106932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10694
10695 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10696 openbsd and netbsd types being in part_bsd module.
10697
c88172fa
VS
106982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10701 (_FILE_OFFSET_BITS): Likewise.
10702 Reported by: Seth Goldberg.
10703
53798c4b
GS
107042011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10705
10706 * configure.ac: Check for libdevmapper header.
10707
e7121b69
VS
107082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10711 avoid aliasing.
10712 (fzap_lookup): Likewise.
10713 (dnode_get): Likewise.
10714 (make_mdn): Likewise.
10715 (zfs_mount): Likewise.
10716 (fzap_iterate): Use temporary pointer to avoid aliasing.
10717 (grub_zfs_read): Likewise.
10718 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10719 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10720 pointers to avoid aliasing.
10721 (grub_cmd_xnu_kernel64): Likewise.
10722 (grub_xnu_load_driver): Likewise.
10723
fc836af9
VS
107242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10727 aliasing warning.
10728 (grub_cmd_terminal_output): Likewise.
10729 Reported and tested by: Grégoire Sutre.
10730
f9f37648
VS
107312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10734 warning.
10735 Reported and tested by: Grégoire Sutre.
10736
ec1dfd63
VS
107372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * configure.ac: Do CPU substitution even if it's specified explicitly.
10740 Reported and tested by: Alain Greppin.
10741
9462775a
VS
107422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10745 Reported and tested by: Alain Greppin.
10746
0fd48e35
VS
107472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 Satisfy some bison versions need for inttypes.h.
10750
10751 * grub-core/lib/posix_wrap/inttypes.h: New file.
10752 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10753 (int16_t): Likewise.
10754 (int32_t): Likewise.
10755 (int64_t): Likewise.
10756 Reported and tested by: Alain Greppin.
10757
43f1bc83
VS
107582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10761 Silence spurious warning.
10762 Reported and tested by: Alain Greppin.
10763
64d1f041
SJ
107642011-01-07 Szymon Janc <szymon@janc.net.pl>
10765
10766 * docs/grub.texi (Support automatic decompression): Update with xz
10767 decompression support.
10768
25953e10
SJ
107692011-01-07 Szymon Janc <szymon@janc.net.pl>
10770
10771 Improve loaders' kernel command line handling.
10772
10773 * grub-core/lib/cmdline.c: New file.
10774 * include/grub/lib/cmdline.h: Likewise.
10775 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10776 grub_create_loader_cmdline to create kernel command line.
10777 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10778 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10779 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10780 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10781 (linux): Add lib/cmdline.c on common.
10782
e72d259f
VS
107832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10786 inopos might be unaligned.
10787
c0cf26da
VS
107882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10791 endian transformations.
10792 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10793 Based on report by: Doug Nazar.
10794
0ca09e6c
DN
107952011-01-07 Doug Nazar <nazard.michi@gmail.com>
10796
10797 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10798 array->members[i].start_sector.
10799 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10800
014b6806
VS
108012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10804 Reported and tested by: Grégoire Sutre.
10805
415502c2
CW
108062011-01-06 Colin Watson <cjwatson@ubuntu.com>
10807
10808 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10809 avoid causing test failures by clearing the screen.
10810
71b6a2b7
CW
108112011-01-06 Colin Watson <cjwatson@ubuntu.com>
10812
10813 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10814 Fix prefix check to handle the case where dir ends with a slash
10815 (most significantly, "/" itself).
10816 Reported by: Michael Vogt.
10817
b3f8d28a
VS
108182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 Run terminfo_cls on initing terminfo output to clear the screen and
10821 move the cursor to (0,0).
10822
10823 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10824 Call grub_terminfo_output_init.
10825 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10826 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10827 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10828
4c3e4f37
VS
108292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10832 only when needed.
10833
488f71f1
VS
108342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10837 CTRL.
10838
18a38098
VS
108392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 The E820 type 5 is BADRAM, not EXEC_CODE.
10842
10843 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10844 (GRUB_E820_BADRAM): New define.
10845 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10846 into reserved. Propagate BADRAM.
10847 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10848 (GRUB_E820_BADRAM): New define.
10849
9eae2084
VS
108502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10853 Ignore the memory post-4G.
10854 (grub_relocator_firmware_alloc_region): Additional debug statement.
10855
ebc71d28
VS
108562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10859 names.
10860 Reported by: David Pravec.
10861
446fa400
VS
108622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10865 BIOSes.
10866
a0159f37
VS
108672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10870 Prevent overflow.
10871 (grub_reed_solomon_recover): Likewise.
10872
e5146ca1
VS
108732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10876
108772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10878
10879 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10880 variable.
10881
5b1bdf12
CW
108822011-01-04 Colin Watson <cjwatson@ubuntu.com>
10883
10884 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10885 descriptions of extract_legacy_entries_source and
10886 extract_legacy_entries_configfile.
10887 Reported by: Seung Soo, Ha.
10888
99d925aa
CW
108892011-01-03 Colin Watson <cjwatson@ubuntu.com>
10890
10891 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10892 on devices that do not implement function 0.
10893
4af0504b
DV
108942011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10895
10896 * grub-core/fs/hfsplus.c: Make parent unsigned.
10897 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10898 overflows.
10899 (grub_hfsplus_cmp_extkey): Likewise
10900
469ee10a
VS
109012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * util/grub-install.in: Correctly use bootloader_id and not
10904 GRUB_DISTRIBUTOR on efibootmgr line.
10905
323a8e9c
VS
109062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10909
1b394975
IC
109102010-12-31 Ian Campbell <ijc@hellion.org.uk>
10911
10912 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10913 Xen and reorder menu item wording to make it clearer that this entry
10914 will launch Xen. Print separate messages when loading Xen and
10915 Linux.
10916
275bff5f
VS
109172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10920 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10921 loop in case of incorrect amiga partmap.
10922
307806cb
VS
109232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10926 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10927 Reported by:EHeM.
10928
b12b923e
VS
109292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10932 spurious warning.
10933 Reported by: crocket
10934
14b48a19
VS
109352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10938 Preload EFIemu.
10939 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10940
693db2df
VS
109412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10944 is loaded
10945 (grub_cmd_xnu_kextdir): Likewise.
10946 (grub_cmd_xnu_splash): Likewise.
10947
c7638645
VS
109482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 Avoid using Reed-Solomon with 0 redundancy.
10951
10952 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10953 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10954 or 0 redundancy.
10955 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10956 (grub_reed_solomon_recover): Likewise.
10957
25dd4780
VS
109582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 Don't use disk subsystem in freebsd_boot.
10961
10962 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10963 (freebsd_biosdev): Likewise.
10964 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10965 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10966
0b2db943
VS
109672010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Handling of files of unknown size is currently limited. They can't be
10970 used e.g. for initrd or modules. Moreover gzip handling of not
10971 easily seekable files is buggy. Disable unknown file size for now. May
10972 be inefficient but works.
10973
10974 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10975 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10976
5c408d0f
MP
109772010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10978
10979 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10980 floppy probe.
10981
190a011a
JD
109822010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10983
10984 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10985
022d01b8
SL
109862010-12-25 Shea Levy <shlevy>
10987
10988 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10989
c4855fdc
VS
109902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10993 Windows Server 2008.
10994 Reported by: Devin Giddings.
10995
0354b867
VS
109962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10999 writing an error message because of async power management.
11000 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11001 (grub_reboot): Likewise.
11002
ab66c69f
JU
110032010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11004
11005 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11006 keep unit tests from failing when they shouldn't.
11007
1426ef35
CW
110082010-12-21 Colin Watson <cjwatson@ubuntu.com>
11009
11010 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11011 previous patch increased the size of the RS code by 20 bytes (at
11012 least with gcc-4.4), so increase this by 20 bytes to match.
11013 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11014
20641b6b
CW
110152010-12-21 Colin Watson <cjwatson@ubuntu.com>
11016
11017 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11018 scratch area. Make sure to initialise chosen in standalone mode as
11019 well as non-standalone.
11020 Reported by: Robert Hooker and Andy Whitcroft.
11021 Tested by: Andy Whitcroft.
11022
d060ad60
CW
110232010-12-21 Colin Watson <cjwatson@ubuntu.com>
11024
11025 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11026 constructing a new unescaped string and passing it to grub_xputs in
11027 one go, rather than passing characters to grub_printf one at a time.
11028
b889cfad
CW
110292010-12-21 Colin Watson <cjwatson@ubuntu.com>
11030
11031 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11032 initialising utf16.
11033
4e01b6c8
CW
110342010-12-21 Colin Watson <cjwatson@ubuntu.com>
11035
11036 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11037 comment. Add an extra layer of quotation, requiring the output of
11038 this function to be used in a printf format string.
11039 (gettext_printf): New function.
11040 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11041 Extract translatable strings from here-documents and use a temporary
11042 variable instead, so that xgettext can find them.
11043 * util/grub.d/10_kfreebsd.in: Likewise.
11044 * util/grub.d/10_linux.in: Likewise.
11045 * util/grub.d/20_linux_xen.in: Likewise.
11046
11047 * po/grub.d.sed: New file.
11048 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11049 arguments. Set c-format flags on all strings extracted from
11050 util/grub.d/ (xgettext refuses to include these itself for strings
11051 it extracted from a shell file, but these really are c-format).
11052
5318fe98
VS
110532010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11056 Avoid next pointing to nowhere.
11057
6c85b743
VS
110582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11061 rather than assuming than rootblock is exactly in the middle.
11062 (grub_affs_label): Likewise.
11063
a2a08a35
VS
110642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11067 reserved_first_sector to 0.
11068 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11069 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11070 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11071
7059d1ec
VS
110722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 Fix handling of UTF-16 UDF labels.
11075
11076 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11077 (read_string): .. here.
11078 (grub_udf_label): Use read_string.
11079
30aff4cb
BC
110802010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11081
11082 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11083 editor under argument scope.
11084 Reported by: Jordan Uggla
11085
5cf86f4b
VS
110862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11089
32570200
CW
110902010-12-18 Colin Watson <cjwatson@ubuntu.com>
11091
11092 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11093 line, and other keys scroll an entire page (previous handling was
11094 for \r and \n to scroll a page and other keys to scroll two lines).
11095
e1dffcf2
VS
110962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11099 Set ptrdest to correct get_physical_target_address rather than
11100 incorrect get_virtual_current_address.
11101
b04298cf 111022010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11103
11104 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11105 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11106
5367ecd3
CW
111072010-12-10 Colin Watson <cjwatson@ubuntu.com>
11108
11109 * .bzrignore: Ignore grub-core/rs_decoder.S.
11110
1fb430f8
CW
111112010-12-10 Colin Watson <cjwatson@ubuntu.com>
11112
11113 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11114 .mo/.mo.gz opening sequence to ...
11115 (grub_mofile_open_lang): ... here.
11116 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11117 * util/grub.d/00_header.in (grub_lang): Include country part of
11118 locale.
11119 Reported by: Mario Limonciello.
11120
a94a6671
RM
111212010-12-09 Robert Millan <rmh@gnu.org>
11122
11123 * NEWS: Document addition of ZFS support.
11124
24b7938b
CW
111252010-12-04 Colin Watson <cjwatson@ubuntu.com>
11126
11127 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11128 rather than `/ 2', as the latter requires -Wa,--divide which would
11129 require bumping our minimum binutils version.
11130
bddc3ef6
BC
111312010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11132
11133 * util/grub-script-check.c (main): Print script line number on
11134 error.
11135
bf78d5b2
RM
111362010-12-01 Robert Millan <rmh@gnu.org>
11137
11138 * grub-core/fs/zfs/zfs.c: New file.
11139 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11140 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11141 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11142 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11143
11144 * include/grub/zfs/dmu.h: Likewise.
11145 * include/grub/zfs/dmu_objset.h: Likewise.
11146 * include/grub/zfs/dnode.h: Likewise.
11147 * include/grub/zfs/dsl_dataset.h: Likewise.
11148 * include/grub/zfs/dsl_dir.h: Likewise.
11149 * include/grub/zfs/sa_impl.h: Likewise.
11150 * include/grub/zfs/spa.h: Likewise.
11151 * include/grub/zfs/uberblock_impl.h: Likewise.
11152 * include/grub/zfs/vdev_impl.h: Likewise.
11153 * include/grub/zfs/zap_impl.h: Likewise.
11154 * include/grub/zfs/zap_leaf.h: Likewise.
11155 * include/grub/zfs/zfs.h: Likewise.
11156 * include/grub/zfs/zfs_acl.h: Likewise.
11157 * include/grub/zfs/zfs_znode.h: Likewise.
11158 * include/grub/zfs/zil.h: Likewise.
11159 * include/grub/zfs/zio.h: Likewise.
11160 * include/grub/zfs/zio_checksum.h: Likewise.
11161
11162 * Makefile.util.def: Build ZFS into libgrubmods.
11163 * grub-core/Makefile.core.def: Build zfs.mod.
11164
3f0f3831
SJ
111652010-11-30 Szymon Janc <szymon@janc.net.pl>
11166
11167 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11168 variable.
11169 * grub-core/commands/wildcard.c (match_files): Likewise.
11170
3a4253b2
RM
111712010-11-30 Robert Millan <rmh@gnu.org>
11172
11173 * grub-core/loader/i386/bsd.c
11174 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11175 whether kernel is loaded using grub_loader_is_loaded(), rather
11176 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11177 certain error conditions.
11178
8c317b27
RM
111792010-11-30 Robert Millan <rmh@gnu.org>
11180
c5c9cd3e
RM
11181 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11182 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11183
49d3ab46
VS
111842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 Avoid using tricks for initialising endian variables.
11187
11188 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11189 Make const.
11190 (GRUB_MOD_INIT): Don't byte-swap.
11191 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11192 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11193 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11194 (grub_swap_bytes32_compile_time): Likewise.
11195 (grub_cpu_to_le32_compile_time): Likewise.
11196 (grub_cpu_to_le16_compile_time): Likewise.
11197
f420a804
VS
111982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * util/grub-setup.c (setup): Stop recommending --force. People who
11201 understand the dangers of blocklists are able to find this option
11202 anyway and the ones who don't shouldn't use it anyway.
11203
4e7db17b
RM
112042010-11-26 Robert Millan <rmh@gnu.org>
11205
11206 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11207 Update all users.
11208
9be57a0d
CW
112092010-11-26 Colin Watson <cjwatson@ubuntu.com>
11210
11211 Fix LVM-on-RAID probing.
11212
11213 * util/grub-probe.c (probe): Remember which disk was detected as
11214 RAID (perhaps an LVM physical volume). Use that disk's raidname
11215 rather than that of the top-level disk.
11216
2c7859b3 112172010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11218
d7647bb6
BC
11219 Fix cmdline argument quotes for setparams command of menuentry
11220 definitions.
7e623b0d
BC
11221
11222 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11223 quotes for arguments.
f866fe80 11224 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11225 grub_strchrsub function instead.
f866fe80 11226
7955bea0 11227 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11228
74f72a64
CW
112292010-11-24 Colin Watson <cjwatson@ubuntu.com>
11230
11231 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11232 effort by skipping "." and ".." entries up-front.
11233 Suggested by: Michael Lazarev.
11234
5a407278
CW
112352010-11-24 Colin Watson <cjwatson@ubuntu.com>
11236
11237 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11238 ldflags to ldadd, to fix link line ordering.
11239 (none_decompress): Likewise.
11240
3030d8ec
CW
112412010-11-24 Colin Watson <cjwatson@ubuntu.com>
11242
11243 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11244 platforms.
11245 (grub-emu-lite): Remove kern/emu/cache.S.
11246
b7fbac12
CW
112472010-11-23 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * util/deviceiter.c (compare_devices): If the by-id link for a
11250 device couldn't be resolved, fall back to sorting by the by-id link
11251 rather than segfaulting.
11252 Reported and tested by: Daniel Mierswa.
11253
5225f328
CW
112542010-11-23 Colin Watson <cjwatson@ubuntu.com>
11255
11256 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11257 ldflags, to fix link line ordering.
11258
038b3ce8
CW
112592010-11-23 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11262 linkers are picky about this.
11263
bf16e98e
CW
112642010-11-23 Colin Watson <cjwatson@ubuntu.com>
11265
11266 * grub-core/Makefile.am (command.lst): Adjust sed expression
11267 ordering so that extended and priority commands aren't treated as
11268 ordinary commands.
11269
7242bab6
CW
112702010-11-23 Colin Watson <cjwatson@ubuntu.com>
11271
11272 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11273 Remove byte-swapping function calls, which are not valid in
11274 structure initialisers.
11275 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11276 non-const.
11277 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11278 grub_gpt_partition_type_bios_boot.
11279
14e8b279
CW
112802010-11-22 Colin Watson <cjwatson@ubuntu.com>
11281
11282 Fix test program build on GNU/kFreeBSD.
11283
11284 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11285 $(LIBNVPAIR)' library dependencies.
11286
e6f63338 112872010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11288
11289 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11290
cf8ffc38
CW
112912010-11-22 Colin Watson <cjwatson@ubuntu.com>
11292
11293 * util/grub-install.in: Remove excessive quoting that broke
11294 installations to RAID devices.
11295
7f8b0fd7
VS
112962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11299 bootloader version instead of 0.
11300
dfd240b1
VS
113012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11304 warning.
11305
7b61e609
VS
113062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11309 retrieve the metadat sector if size isn't known.
11310 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11311
9dfe92d0
RM
113122010-11-18 Robert Millan <rmh@gnu.org>
11313
11314 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11315 with grub_memcmp().
11316
41cc919e
VS
113172010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11320 arrow.
11321 Reported by: Jordan Uggla.
11322
1afcc914
VS
113232010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 Make better UTF compliant.
11326
11327 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11328 sequences as incorrect.
11329 (grub_is_valid_utf8): Likewise.
11330 (grub_utf8_to_ucs4): Likewise.
11331 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11332 (grub_ucs4_to_utf8_alloc): Likewise.
11333 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11334
f1808884
VS
113352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Make legacy_source behave like source.
11338
11339 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11340 grub_show_menu.
11341 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11342
24ec575b
CW
113432010-11-16 Colin Watson <cjwatson@debian.org>
11344
11345 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11346 (-Wunused implies -Wunused-parameter, but not vice versa).
11347
72b7c7aa
CW
113482010-11-16 Colin Watson <cjwatson@ubuntu.com>
11349
11350 * configure.ac: Make error messages less confusing by testing for
11351 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11352 accepted, but produces a diagnostic if something else is wrong).
11353
e98937aa
VS
113542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11357 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11358 (now unused).
11359 (grub_keyboard_controller_init)
11360 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11361 read the initial state since controller isn't inited yet.
11362
f6bbabc3
VS
113632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11366 allocate_regbeg may need to create new chunk header.
11367
22e7dbb2
VS
113682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 Fix quoting in legacy parser.
11371
11372 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11373 single quotes.
11374 (grub_legacy_parse): Likewise.
11375 Reported by: Jordan Uggla.
11376 Tested by: Jordan Uggla.
11377
03f80960
VS
113782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 Don't add -lgcc on i386 and x86_64.
11381
11382 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11383 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11384 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11385
779dc15b
VS
113862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * configure.ac: Add -Wno-trampolines when supported.
11389
d20a3b37
MV
113902010-11-14 Modestas Vainius <modax@debian.org>
11391
11392 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11393 fakeraid.
11394
e5360933
GC
113952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11396
11397 Add generic logical block size support for UDF.
11398
11399 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11400 (GRUB_UDF_BLKSZ): Removed.
11401 (struct grub_udf_data): New field "lbshift" to hold the logical block
11402 size of the file system in log2 format. All users updated.
11403 (sblocklist): Change type to unsigned.
11404 (grub_udf_mount): Change type of "sblklist" to unsigned.
11405 Move AVDP search before VRS recognition, because the latter requires
11406 knowledge of the logical block size, which is detected during the
11407 former.
11408 Detect and validate logical block size during AVDP search, adding
11409 support for block sizes 512, 1024 and 4096.
11410 Make VRS recognition independent of block size.
11411
cb0229c5
GC
114122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11413
11414 Properly handle deleted files on UDF.
11415
11416 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11417 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11418 set.
11419
406858a8
GC
114202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11421
11422 Support reading files larger than 2 GiB.
11423
11424 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11425 "offset" to grub_off_t.
11426 (grub_udf_read_file): Likewise for parameter "pos".
11427
130da6a7
VS
114282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11431 unavailable.
11432 (Simple configuration): Refer to Changes from GRUB Legacy about
11433 save_env availability.
11434
65e93f6b
VS
114352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * util/grub-install.in: Ignore empty partition table detection
11438 instead of trying to include part_ module.
11439
1fd08bf1
VS
114402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11443 LVM on RAID support.
11444
de1a024f
VS
114452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 Properly define WORDS_BIGENDIAN in wrapped environments.
11448
11449 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11450 definition.
11451 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11452
11453 Reported by: Manoel Rebelo Abranches.
11454 Tested by: Manoel Rebelo Abranches.
11455
bc5dd0b9
VS
114562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-mkconfig.in: Fix quoting.
11459
58c184be
VS
114602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 Support big ext2 files.
11463
11464 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11465 (grub_ext2_read_block): Support triple indirect blocks.
11466 (grub_ext2_read_file): Use 64-bit types and read size_high.
11467 (grub_ext2_open): Read size_high.
11468 Reported by: Ximin Luo.
11469 Tested by: Manoel Rebelo Abranches.
11470
5f0c02b3
VS
114712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * util/grub-install.in: Handle filenames containing spaces.
11474 Reported by: Jordan Uggla.
11475 Tested by: Jordan Uggla.
11476
4417aae6
VS
114772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * util/grub-mkconfig.in (grub_script_check): New variable.
11480 Use grub_script_check instead of grub-script-check.
11481 Reported by: Barry Jackson.
11482
7625a68e
VS
114832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * docs/grub.texi (menu): Correct the order.
11486 Reported by: D. Hugh Redelmeier.
11487
10001ac5
VS
114882010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11491 jump.
11492
9c4cf53b
MRA
114932010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11494
10001ac5
VS
11495 * include/grub/elfload.h (grub_elf32_size): New parameter.
11496 All users updated.
9c4cf53b
MRA
11497 Return maximum segments alignment.
11498 (grub_elf64_size): Likewise.
11499 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11500 Return maximum segments alignment.
11501 (grub_elf64_size): Likewise.
11502 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11503 (grub_linux_claimmap_iterate): New function. Uses the
11504 "available" property in the "memory" node for memory allocation
11505 for kernel in the PowerPC loader.
9c4cf53b
MRA
11506 (grub_linux_load32): Correctly find linux entry point offset.
11507 (grub_linux_load64): Likewise.
11508
d2bf06bf
RM
115092010-11-07 Robert Millan <rmh@gnu.org>
11510
11511 On mips-yeeloong, build with -march=loongson2f when this flag is
11512 available (GCC >= 4.4).
11513 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11514 `-march=mips3'.
11515 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11516 or otherwise add -march=mips3.
11517
898c99a2
BC
115182010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11519
87220a68
BC
11520 Suppress shell expansion on echo '*' and echo "*" like cases.
11521 Reported by: Jordan Uggla.
898c99a2
BC
11522
11523 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11524 string arguments before shell expansion.
11525 * tests/grub_cmd_echo.in: New testcases.
11526
4f9b406a
RM
115272010-11-07 Robert Millan <rmh@gnu.org>
11528
11529 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11530 transition.
11531
80c6d25e
VS
115322010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/kern/emu/hostdisk.c
11535 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11536
4a1a0153
VS
115372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11540 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11541 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11542
34706ddc
VS
115432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11546
6972dea9
VS
115472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * util/grub-install.in: Replace useless recomendation to pass
11550 --modules with a recomendation to report a bug.
11551
9c693bd6
VS
115522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 Properly register serial terminfo.
11555 Reported by: Jordan Uggla
11556
11557 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11558 const.
11559 (grub_serial_terminfo_output_template): Likewise.
11560 (grub_cmd_serial): Register "serial" with terminfo.
11561 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11562 grub_serial_terminfo_output.
11563
6c9e4c0c
RM
115642010-11-05 Robert Millan <rmh@gnu.org>
11565
11566 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11567 needed).
11568
b9b3839f
RM
115692010-11-05 Robert Millan <rmh@gnu.org>
11570
11571 On Yeeloong, pass machine type information to Linux.
11572
11573 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11574 (LOONGSON_MACHTYPE): New macro, set to
11575 "machtype=lemote-yeeloong-2f-8.9inches".
11576 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11577 additional argument to Linux.
11578
1a3aaff4
RM
115792010-11-04 Robert Millan <rmh@gnu.org>
11580
11581 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11582 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11583 (its SATA disks are detected as slaveless IDE master drives on
11584 kFreeBSD).
11585 Reported by Carsten Aulbert.
11586
a75f4f62
CW
115872010-11-02 Colin Watson <cjwatson@ubuntu.com>
11588
11589 * util/bin2h.c (main): Fix spelling error in generated output.
11590
33b4b0c6
GS
115912010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11592
11593 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11594
2b36fbf4
VS
115952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11598 vga= option is supplied.
11599
74aaf558
VS
116002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11603 * util/grub.d/10_kfreebsd.in: Likewise.
11604 * util/grub.d/10_linux.in: Likewise.
11605 * util/grub.d/20_linux_xen.in: Likewise.
11606
6428dec3
VS
116072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11610 argument as an argument to no-argument option.
11611
f8729d98
VS
116122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * util/grub.d/10_linux.in: Add missing load_video with explicit
11615 GRUB_GFXPAYLOAD_LINUX.
11616
89d68fa6
VS
116172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11620
3a1197cd
VS
116212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11624 elements with invlid index.
11625 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11626 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11627 members.
11628 * include/grub/raid.h (grub_raid_member): New struct.
11629 (grub_raid_array): Transform devices and start_sector into usage of
11630 grub_raid_member. All users updated
11631 (allocated_devs): New member.
11632
71574288
VS
116332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11636 is modified
11637
8d40ec65
BC
116382010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11639
11640 NetBSD build fix for getline function conflict from gnulib.
11641
11642 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11643 components that depend on gnulib headers.
11644 (libgrubmods.a): Renamed from earlier libgrub.a.
11645 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11646
95b9257e
VS
116472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11650 install rather than creating a broken install.
11651
26c53dc6
VS
116522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/grub-setup.c (argp): Remove misleading example of installing to
11655 a partition.
11656
4171b3c5
VS
116572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * util/grub-setup.c (setup): Clarify the error message.
11660
18568d18
VS
116612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11664
4f6a2e21
VS
116652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/kern/emu/misc.c
11668 (grub_make_system_path_relative_to_its_root)
11669 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11670
116712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11672
11673 * grub-core/kern/emu/misc.c
11674 (grub_make_system_path_relative_to_its_root): Revert r2882.
11675
e138c458
VS
116762010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11679 useless field head. All users updated.
11680 (free_subchunk): Correct handling of IN_REGION subchunk.
11681
0cbcdf0e
CW
116822010-10-22 Colin Watson <cjwatson@ubuntu.com>
11683
11684 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11685 (Supported kernels): Likewise.
11686
b65ea155
GS
116872010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11688
11689 Make mktemp invocations portable.
11690
11691 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11692 exit if mktemp fails.
11693 * tests/grub_script_blockarg.in: Likewise.
11694 * tests/partmap_test.in: Likewise.
11695 * tests/util/grub-shell-tester.in: Likewise.
11696 * tests/util/grub-shell.in: Likewise.
11697 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11698 * Makefile.am: Likewise, and chain shell commands with `&&'
11699 instead of ';'.
11700 * util/grub-mkrescue.in: Use the same explicit template as above, and
11701 exit if mktemp fails.
11702
05f43cdd
BC
117032010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11704
11705 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11706 Linux kernel, reported by Dennis Schridde.
11707
800e6a9b
SJ
117082010-10-17 Szymon Janc <szymon@janc.net.pl>
11709
11710 * grub-core/normal/auth.c (grub_auth_check_authentication):
11711 Set-but-not-used variable removed.
11712
d82df574
VS
117132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11716 32-bit linux protocol.
11717
7bced458
VS
117182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11721 cursor shape for sanity.
11722
5b027690
VS
117232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * docs/grub.texi (Installation): Document buggy BIOS install.
11726
ba5f65cf
VS
117272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * docs/grub.texi (Installation): Indent.
11730
fdf2ec9c
VS
117312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * util/grub-setup.c (setup): New parameter allow_floppy.
11734 (arguments): New member allow_floppy.
11735 (argp_parser): Handle --allow-floppy.
11736 (main): Pass allow_floppy.
11737 * util/grub-install.in: New option --allow-floppy passed though to
11738 grub-setup.
11739
861dfd4c
VS
117402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * util/grub-install.in: Handle partitionless disks.
11743
f77a8c24
VS
117442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * util/grub-setup.c (setup): Don't clean blocklists before readability
11747 verfification.
11748
27d9ee32
VS
117492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * docs/grub.texi (Installation): Document embedding zone. Remove
11752 obsolete grub-install example.
11753
6bdda8f8
SJ
117542010-10-16 Szymon Janc <szymon@janc.net.pl>
11755
11756 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11757 Set-but-not-used variable ifdef'ed.
11758 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11759 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11760 variable removed.
11761 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11762 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11763 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11764 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11765 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11766 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11767 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11768 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11769 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11770 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11771 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11772 Likewise.
11773
e19b016b
VS
117742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11777 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11778 enum value.
11779
6c8d3002
VS
117802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11783 synonym to _S5_. Needed for some DSDTs.
11784
c32b51c9
VS
117852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 Userspace ACPI parser debugging.
11788
11789 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11790 headers and add relevant defines. Don't include standard headers.
11791 (main) [GRUB_DSDT_TEST]: New function.
11792 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11793 Don't declare functions.
11794
fbfbeb39
VS
117952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 Remove dead grub_efi_mm_fini.
11798
11799 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11800 (ALLOCATED_PAGES_SIZE): Likewise.
11801 (MAX_ALLOCATED_PAGES): Likewise.
11802 (allocated_pages): Likewise.
11803 (grub_efi_allocate_pages): Don't record allocated pages.
11804 (grub_efi_free_pages): Likewise.
11805 (grub_efi_mm_init): Likewise.
11806 (grub_efi_mm_fini): Removed.
11807
65f7ed7c
VS
118082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11811 (grub_efi_mm_init): Take into account the memory map size increase.
11812
24977b44
VS
118132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11816 (serial_hw_put): Wait based on real time rather than port reads. Don't
11817 roken ports.
11818 * include/grub/serial.h (grub_serial_port): New field broken.
11819
1eb01cd2
RM
118202010-10-16 Robert Millan <rmh@gnu.org>
11821
11822 * grub-core/kern/emu/misc.c
11823 (grub_make_system_path_relative_to_its_root): Fix premature return
11824 when processing non-root ZFS filesystems.
5f8b440b 11825 Reported by Sergio Talens-Oliag.
1eb01cd2 11826
2d5fed60
RM
118272010-10-15 Robert Millan <rmh@gnu.org>
11828
11829 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11830 guarantee compressed ones are processed first.
11831
d0f4c1ea
VS
118322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11835 grub_efiemu_autocore.
11836
d87c681f
VS
118372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11840 rather than 0x1b.
11841 (grub_console_getkey): Use correct jae opcode rather than ja.
11842
219b3564
RM
118432010-10-12 Robert Millan <rmh@gnu.org>
11844
11845 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11846 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11847 variable. All references updated.
11848
11849 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11850
20c6bb7e
VS
118512010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 Correctly distinguish mdraid flavours.
11854
11855 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11856 (insert_array): New argument raid.
11857 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11858 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11859 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11860
74baff84
VS
118612010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11864 handling of special keys.
11865
3ef068df 118662010-10-02 Aleš Nesrsta <starous@volny.cz>
11867
c7980ad9
VS
11868 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11869 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11870
a9455194 118712010-10-02 Aleš Nesrsta <starous@volny.cz>
11872
c7980ad9
VS
11873 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11874 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11875 users updated.
a9455194 11876 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11877 Use right endpoint when querying descriptor.
a9455194 11878
441cfe65
VS
118792010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Clear out 0x80 color bit on EFI.
11882 Tested by: decoder
11883 Reported by: decoder and meta tech.
11884
11885 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11886 (grub_console_setcolorstate): Clear out 0x80 bit.
11887 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11888 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11889 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11890
bf26bcc4
VS
118912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11894 Set to "auto".
11895
6e3c515d
VS
118962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11899 mo_file after freeing.
11900
e6d983ba
VS
119012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11904
74ccb5b5
VS
119052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11908 flags.
11909
17821956
VS
119102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11913 usage.
11914
ee74fa48
VS
119152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11918
11919 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11920 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11921 and terminfo.h when needed.
11922 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11923 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11924 (terminfo): Enable only on terminfokernel.
11925 (extcmd): Likewise.
11926 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11927 * include/grub/lib/arg.h: Likewise.
11928 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11929 incorrect usage of ->.
11930
aa438e68
VS
119312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11934 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11935
57994012
VS
119362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 Fix coreboot compilation.
11939
11940 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11941 Take VBE info into account even if only text is supported.
11942 (fill_vbe_info): Take into account the case when only VGA text
11943 is supported.
11944 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11945 on coreboot, multiboot and qemu.
11946
2a406611
VS
119472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11950 debug messages.
11951 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11952
d33613fc
VS
119532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11956 parameters.
11957
44a1b432
VS
119582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11961 if they were BSD-style.
11962
edde54e6
VS
119632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/boot/i386/pc/lnxboot.S: Replace
11966 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11967 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11968
b65830fa
VS
119692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 Write embedding zone using Reed-Solomon.
11972
11973 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11974 * grub-core/Makefile.am (rs_decoder.S): New target.
11975 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11976 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11977 (multiboot): Move to RS part.
11978 (post_reed_solomon): New label.
11979 (grub_boot_drive): Move to non-RS part since it's modified in memory
11980 on boot.
11981 Include rs_decoder.S.
11982 * grub-core/lib/reed_solomon.c: New file.
11983 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11984 New definition.
11985 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11986 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11987 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11988 * include/grub/partition.h (grub_partition_map): Change prototype of
11989 embed to allow returning additional sectors.
11990 * include/grub/reed_solomon.h: New file.
11991 * util/grub-setup.c (setup): Handle Reed-Solomon.
11992
0b4b227f
CW
119932010-09-28 Colin Watson <cjwatson@ubuntu.com>
11994
11995 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11996 i386 and x86-64 definedness tests.
11997
f772623b
YB
119982010-09-27 Yves Blusseau <blusseau@zetam.org>
11999
12000 Fix generation of kernel_syms.lst
12001
12002 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12003 ASM_PREFIX
12004
8e57a6ca
RM
120052010-09-26 Robert Millan <rmh@gnu.org>
12006
12007 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12008
12009 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12010 the pool is an array of devices, iterate through it and return the
12011 first device that passes a stat() test (instead of blindly returning
12012 the first one).
12013
f9130836
RM
120142010-09-26 Robert Millan <rmh@gnu.org>
12015
12016 Build fixes for GNU/kFreeBSD.
12017
12018 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12019 to programs that require ZFS conversion.
12020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12021 kernels that don't have FLOPPY_MAJOR.
12022
96510faf
BC
120232010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12024
12025 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12026
449333eb
BC
120272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12028
12029 Fix grub-emu build.
12030
12031 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12032 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12033 mdraid09 and mdraid1x.
12034
e1fd1939
CW
120352010-09-24 Colin Watson <cjwatson@ubuntu.com>
12036
12037 Re-enable grub-extras.
12038
12039 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12040 avoid confusing Automake. Run autogen only twice, once for the top
12041 level and once for grub-core. Add Makefile.util.def and
12042 Makefile.core.def from extra modules to the appropriate autogen
12043 invocations. If Makefile.common exists in an extra module, include
12044 it in both Makefile.util.am and grub-core/Makefile.core.am;
12045 similarly, include any Makefile.util.common file in Makefile.util.am
12046 and any Makefile.core.common file in grub-core/Makefile.core.am.
12047 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12048 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12049 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12050 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12051
12052 * gentpl.py (gvar_add): Turn GVARS into a set.
12053 (global_variable_initializers): Sort global variables on output.
12054 (vars_init): New function.
12055 (first_time): Likewise.
12056 (library): Ensure that non-global variable initialisations are
12057 emitted before the first time we emit code for a library block.
12058 Append to variables rather than setting them. Only emit
12059 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12060 each conditional path.
12061 (program): installdir() emits an Autogen macro, so must be passed to
12062 var_add rather than gvar_add.
12063 (data): Likewise.
12064 (script): Likewise.
12065 (rules): New function, centralising handling for different target
12066 types. Set up Guile association lists for first_time and vars_init,
12067 and send most output to a diversion so that variable initialisations
12068 can be emitted first.
12069 (module_rules): Use new rules function.
12070 (kernel_rules): Likewise.
12071 (image_rules): Likewise.
12072 (library_rules): Likewise.
12073 (program_rules): Likewise.
12074 (script_rules): Likewise.
12075 (data_rules): Likewise.
12076
12077 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12078
12079 * .bzrignore: Add contrib and grub-core/contrib. Remove
12080 grub-core/Makefile.gcry.am.
12081
1d12cf29
YB
120822010-09-24 Yves Blusseau <blusseau@zetam.org>
12083
12084 * grub-core/lib/LzFind.c: Add missing include.
12085 * grub-core/lib/LzmaEnc.c: Likewise.
12086 * grub-core/script/lexer.c: Likewise.
12087 * grub-core/script/yylex.l: Likewise.
12088 * util/grub-macho2img.c: Likewise.
12089 * util/grub-menulst2cfg.c: Likewise.
12090 * util/grub-mklayout.c: Likewise.
12091 * util/grub-mkpasswd-pbkdf2.c
12092 * util/grub-mkrelpath.c: Likewise.
12093 * util/resolve.c: Likewise.
12094
dd363028
BC
120952010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12096
12097 * Makefile.util.def (example_unit_test): Add
12098 grub-core/gnulib/libgnu.a.
12099
f5a109e2
GS
121002010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12101
12102 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12103
6d0fa83c
VS
121042010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 Support xz compression on yeeloong.
12107
12108 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12109 * configure.ac: Check for LZMA.
12110 * grub-core/Makefile.core.def (xz_decompress): New target.
12111 (none_decompress): Likewise.
12112 * grub-core/boot/decompressor/minilib.c: New file.
12113 * grub-core/boot/decompressor/none.c: Likewise.
12114 * grub-core/boot/decompressor/xz.c: Likewise.
12115 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12116 * grub-core/kern/mips/cache_flush.S: Likewise.
12117 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12118 * grub-core/kern/mips/startup.S: Move first stage to ...
12119 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12120 nomacro.
12121 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12122 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12123 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12124 Allocate statically.
12125 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12126 Allocate statically or use scratch. Don't check CRC32.
12127 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12128 Allocate statically. Don't check CRC32.
12129 * include/grub/decompressor.h: New file.
12130 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12131 Removed.
12132 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12133 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12134 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12135 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12136 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12137 * util/grub-mkimage.c (grub_compression_t): New type.
12138 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12139 (image_target_desc): New field default_compression.
12140 (image_targets): Adjust yeeloong targets.
12141 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12142 (compress_kernel): New parameter comp.
12143 (generate_image): Likewise. Handle new compression case.
12144 (options): New option --compression
12145 (help): Likewise.
12146 (main): Handle new option.
12147
1b655af6
GS
121482010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12149
12150 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12151
8f03f0b5
CW
121522010-09-22 Colin Watson <cjwatson@ubuntu.com>
12153
12154 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12155 typo in __i386__ conditional.
12156
7835dfd3
VS
121572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12160 include.
12161
e255597e
VS
121622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12163
6d0fa83c 12164 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12165
12166 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12167 new tags as supported.
12168 (acpiv2_size): New function.
12169 (grub_multiboot_get_mbi_size): Take new tags into account.
12170 (grub_multiboot_make_mbi): Add new tags.
12171 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12172
6cc14051 121732010-09-21 Aleš Nesrsta <starous@volny.cz>
12174
12175 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12176 Added missing configuration of USB device.
12177
df7769d8
CW
121782010-09-21 Colin Watson <cjwatson@ubuntu.com>
12179
12180 * grub-core/normal/menu_entry.c (run): Make sure we always return
12181 a value.
12182
b031012d
CW
121832010-09-21 Colin Watson <cjwatson@ubuntu.com>
12184
12185 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12186 NumberOfPages is UINT64 according to the UEFI specification, not
12187 UINTN. Fix printf format.
12188
174de8f3
CW
121892010-09-21 Colin Watson <cjwatson@ubuntu.com>
12190
12191 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12192 `err' to grub_usb_err_t.
12193 Reported and tested by: KESHAV P.R.
12194
d7dbe923
CW
121952010-09-21 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12198 tpart non-const, so that we can assign to it. (Since this is a
12199 typedef, the constness refers to the pointer rather than what it
12200 points to.)
12201
8d5e2af3
CW
122022010-09-21 Colin Watson <cjwatson@ubuntu.com>
12203
12204 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12205 $(top_srcdir)/grub-core/gnulib as well as
12206 $(top_builddir)/grub-core/gnulib.
12207 Reported by: KESHAV P.R.
12208
5c527783
CW
122092010-09-21 Colin Watson <cjwatson@ubuntu.com>
12210
12211 * util/grub-install.in: Fix the bootloader ID option to be
12212 consistently --bootloader-id, not --bootloader_id.
12213 Reported by: KESHAV P.R.
12214
d309a16e
CW
122152010-09-21 Colin Watson <cjwatson@ubuntu.com>
12216
12217 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12218 check hash checksum." consistently translatable.
12219
b830cd16
YB
122202010-09-21 Yves Blusseau <blusseau@zetam.org>
12221
12222 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12223 $(top_builddir).
12224
c4fe27a8
CW
122252010-09-21 Colin Watson <cjwatson@ubuntu.com>
12226
12227 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12228 (GRUB_MOD_INIT): Register sha1sum command.
12229 (GRUB_MOD_FINI): Unregister sha1sum command.
12230
a4c1d277
YB
122312010-09-21 Yves Blusseau <blusseau@zetam.org>
12232
12233 Keep boot and grub directory names in sync with utils scripts
12234
12235 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12236 * config.h.in: Add previous macros.
12237 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12238 * util/grub-install.in: Use $bootdir and $grubdir variables.
12239
4eff79d2
CW
122402010-09-21 Colin Watson <cjwatson@ubuntu.com>
12241
12242 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12243 convert partition names to disk names if the new `convert' parameter
12244 is set.
12245 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12246 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12247 disk in its own right. This can happen with Xen disk images.
12248
934d7e44
YB
122492010-09-21 Yves Blusseau <blusseau@zetam.org>
12250
12251 * util/grub-editenv.c: Update strings to avoid warnings when generating
12252 grub.pot file.
12253 * util/grub-setup.c: Likewise.
934d7e44 12254
df3367cc
VS
122552010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * configure.ac: Change version to 1.99~beta0.
12258
77a94e98
VS
122592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12262 Add BADRAM.
12263 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12264 Likewise.
12265 * include/multiboot.h: Resynced with specification.
12266 * include/multiboot2.h: Likewise.
12267
269004c1
CW
122682010-09-21 Colin Watson <cjwatson@ubuntu.com>
12269
12270 Fix po directory handling.
12271
12272 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12273 * grub-core/gnulib/Makefile.am: Import gettext module.
12274 * m4/gnulib-cache.m4: Likewise.
12275 * m4/gnulib-comp.m4: Likewise.
12276 * m4/gettext.m4: New file, from gnulib.
12277 * m4/glibc2.m4: Likewise.
12278 * m4/iconv.m4: Likewise.
12279 * m4/intdiv0.m4: Likewise.
12280 * m4/intl.m4: Likewise.
12281 * m4/intldir.m4: Likewise.
12282 * m4/intlmacosx.m4: Likewise.
12283 * m4/intmax.m4: Likewise.
12284 * m4/inttypes-pri.m4: Likewise.
12285 * m4/lcmessage.m4: Likewise.
12286 * m4/lib-ld.m4: Likewise.
12287 * m4/lib-link.m4: Likewise.
12288 * m4/lib-prefix.m4: Likewise.
12289 * m4/lock.m4: Likewise.
12290 * m4/nls.m4: Likewise.
12291 * m4/po.m4: Likewise.
12292 * m4/printf-posix.m4: Likewise.
12293 * m4/progtest.m4: Likewise.
12294 * m4/threadlib.m4: Likewise.
12295 * m4/uintmax_t.m4: Likewise.
12296 * m4/visibility.m4: Likewise.
12297 * po/Makefile.am: Remove.
12298 * po/Makefile.in.in: New file, from gettext.
12299 ($(DOMAIN).pot-update): Support POTFILES-shell.
12300 * po/Makevars: New file.
12301 * po/POTFILES-shell: Rename to ...
12302 * po/POTFILES-shell.in: ... this. Update.
12303 * po/POTFILES: Rename to ...
12304 * po/POTFILES.in: ... this. Update.
12305 * po/Rules-quot: New file, from gettext.
12306 * po/boldquot.sed: Likewise.
12307 * po/en@boldquot.header: Likewise.
12308 * po/en@quot.header: Likewise.
12309 * po/insert-header.sin: Likewise.
12310 * po/quot.sed: Likewise.
12311 * po/remove-potcdate.sin: Likewise.
12312
3e0fa5d0
VS
123132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12316
ade9bd66
VS
123172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * util/grub.d/20_linux_xen.in: Use submenus.
12320
fc55cc4c
VS
123212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 Support submenus.
12324
12325 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12326 parameter submenu. All users updated.
12327 * grub-core/normal/main.c (free_menu): Rename to ...
12328 (grub_normal_free_menu): ... this. Made global.
12329 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12330 if requested.
12331 * grub-core/normal/menu_entry.c (screen): New field submenu.
12332 (make_screen): Set submenu.
12333 (run): Open new context if requested.
12334 * include/grub/menu.h (grub_menu_entry): New field submenu.
12335 * include/grub/normal.h (grub_normal_free_menu): New proto.
12336
600cedf7
VS
123372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 Menu entries extractor.
12340
12341 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12342 variants.
12343 (GRUB_MOD_INIT): Register new variants.
12344 (GRUB_MOD_FINI): Unregister new variants.
12345 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12346 into grub_cmd_legacy_source.
12347 (grub_cmd_legacy_source): Implement extractor variants.
12348 (GRUB_MOD_INIT): Register new variants.
12349 (GRUB_MOD_FINI): Unregister new variants.
12350 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12351 as an extractor.
12352 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12353 search as an extractor.
12354 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12355 test as an extractor.
12356 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12357 as an extractor.
12358 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12359 (grub_env_new_context): New function.
12360 (grub_env_context_open): Likewise.
12361 (grub_env_extractor_open): Likewise.
12362 (grub_env_extractor_close): Likewise.
12363 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12364 grub_extractor_level.
12365 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12366 * include/grub/env.h (grub_env_extractor_open): New proto.
12367 (grub_env_extractor_close): Likewise.
12368 * include/grub/normal.h (grub_extractor_level): New external variable.
12369
7bda3a87
VS
123702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 Make cutmem accept a region specification.
12373 Suggested by: Samuel Thibault
12374
12375 * grub-core/mmap/mmap.c (parsemem): New function.
12376 (grub_cmd_cutmem): Handle new arguments.
12377
2ea57f88
VS
123782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 New command cutmem.
12381
12382 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12383 (GRUB_MOD_INIT): Register new command.
12384 (GRUB_MOD_FINI): Unregister new command.
12385
74342e31
VS
123862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Support some annoying BSD and Minix subpartitions.
12389
12390 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12391 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12392 Properly handle concatenation.
12393 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12394 * grub-core/normal/completion.c (iterate_partition): Likewise.
12395 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12396 contain partition. All users updated.
12397 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12398 struct.
12399 (grub_openbsdlabel_partition_map): Likewise.
12400 (bsdlabel_partition_map_iterate): Rename to ..
12401 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12402 (bsdlabel_partition_map_iterate): New function.
12403 (netopenbsdlabel_partition_map_iterate): Likewise.
12404 (netbsdlabel_partition_map_iterate): Likewise.
12405 (openbsdlabel_partition_map_iterate): Likewise.
12406 (GRUB_MOD_INIT): Register new partmaps.
12407 (GRUB_MOD_FINI): Unregister new partmaps.
12408 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12409 (grub_partition_msdos_iterate): ... this. All users updated.
12410 Don't support embedding other than in a minix partition.
12411 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12412 proto.
12413 * include/grub/partition.h (grub_partition): New field msdostype.
12414 * util/grub-install.in: Handle openbsd and netbsd types being in
12415 part_bsd module.
12416
1e8d555b
VS
124172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12420
12421 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12422 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12423 (mdraid09): ... this.
12424 (mdraid1x): New module.
12425 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12426 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12427
899d8af4
VS
124282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12431 vsprintf.
12432
40901acd
CW
124332010-09-20 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * grub-core/commands/efi/lsefimmap.c: Correct header.
12436 * NEWS: Update.
12437
dfe3b247
CW
124382010-09-20 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12441 as printf format strings; the translations might contain '%' which
12442 could cause a crash.
12443 (main): Likewise.
12444 * util/grub-fstest.c (argp_parser): Likewise.
12445 * util/grub-setup.c (argp_parser): Likewise.
12446 (main): Likewise.
12447
3286a4b4
VS
124482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 Use argp in grub-fstest.
12451
12452 * util/grub-fstest.c: Don't include getopt.h.
12453 Include argp.h.
12454 (root): New variable.
12455 (args_count): Likewise.
12456 (nparm): Likewise.
12457 (num_disks): Likewise.
12458 (images): Likewise.
12459 (cmd): Likewise.
12460 (debug_str): Likewise.
12461 (args): Likewise.
12462 (options): Transformed to argp.
12463 (usage): Removed.
12464 (main): Split argument parsing into ...
12465 (argp_parser): ... this. Changed to argp format.
12466 (argp): New variable.
12467 (main): Use argp_parse.
12468
3dccbe4b
TG
124692010-09-20 Tristan Gingold <gingold@free.fr>
124702010-09-20 Robert Millan <rmh.grub@aybabtu.com>
124712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/commands/efi/lsefimmap.c: New file.
12474 * grub-core/Makefile.core.def (lsefimmap): New module.
12475 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12476
38c259a7
VS
124772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 Pause the execution (10s max) if any errors are displayed so the user
12480 has a chance to see them.
12481
12482 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12483 (grub_print_error): Increment grub_err_printed_errors.
12484 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12485 execution if any errors were displayed.
12486 (show_menu): Remove old code for pause.
12487 * grub-core/normal/menu_entry.c (run): Likewise.
12488 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12489 users updated.
12490 (grub_normal_get_char_counter): Likewise.
12491 * include/grub/err.h (grub_err_printed_errors): New external variable.
12492 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12493
f218b09c
VS
124942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Support multiboot VBE info.
12497
12498 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12499 Take VBE info into account.
12500 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12501 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12502 Call fill_vbe_info when appropriate.
12503 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12504 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12505 as supported.
12506 (grub_multiboot_get_mbi_size): Take new tags into account.
12507 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12508 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12509 Call fill_vbe_tag when appropriate.
12510 (grub_multiboot_make_mbi): Properly align tags.
12511 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12512 function.
12513 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12514 proto.
12515 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12516
a9cc5438
VS
125172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 Suport manual terminal geometry specification.
12520
12521 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12522 Save state in grub_ofconsole_terminfo_output.
12523 (grub_ofconsole_term): Use grub_terminfo_getwh.
12524 (grub_ofconsole_getwh): Removed.
12525 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12526 (grub_serial_term): Use grub_terminfo_getwh.
12527 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12528 (options): New struct.
12529 (OPTION_*): New enum.
12530 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12531 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12532 width and height.
12533 (grub_terminfo_getwh): New proto.
12534 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12535
1a8fed20
VS
125362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 Handle legacy "terminal" command.
12539
12540 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12541 and FLAG_TERMINAL.
12542 (legacy_commands): Add terminal and title.
12543 (grub_legacy_parse): Handle terminal. Simplify title handling.
12544
41e9c57d
VS
125452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12548 parameters overflow.
12549
61c874c5
CW
125502010-09-20 Colin Watson <cjwatson@ubuntu.com>
12551
12552 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12553 widthspec.h.
12554
12555 * docs/grub.texi (Shell-like scripting): Document `!'.
12556 (Network): Simplify using new i386-pc-pxe format. Mention
12557 grub-mknetdir.
12558
12559 * NEWS: Update.
12560
943682b4
CW
125612010-09-20 Colin Watson <cjwatson@ubuntu.com>
12562
12563 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12564 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12565 when needed.
12566
6d3d698d
CW
125672010-09-20 Colin Watson <cjwatson@ubuntu.com>
12568
12569 * grub-core/commands/efi/lsefisystab.c: Correct header.
12570 * grub-core/commands/efi/lssal.c: Likewise.
12571 * grub-core/commands/testload.c: Likewise.
12572
c982589f
CW
125732010-09-20 Colin Watson <cjwatson@ubuntu.com>
12574
12575 * util/grub-mkrescue.in: Add explicit root argument to --set to
12576 prevent the UUID being interpreted as an argument to --set (matches
12577 previous change to prepare_grub_to_access_device).
12578
a63c31b6
CW
125792010-09-20 Colin Watson <cjwatson@ubuntu.com>
12580
12581 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12582 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12583 the verbosity of later #ifs.
12584 (find_partition_start): Define this function on FreeBSD too.
12585 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12586 function.
12587 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12588 on FreeBSD.
12589
6439b8ee
YB
125902010-09-20 Yves Blusseau <blusseau@zetam.org>
12591
12592 * util/grub-editenv.c: Use argp instead of getopt.
12593
c5930ec8
YB
125942010-09-20 Yves Blusseau <blusseau@zetam.org>
12595
12596 * util/grub-setup.c: Use argp instead of getopt.
12597
15c69261
YB
125982010-09-20 Yves Blusseau <blusseau@zetam.org>
12599
12600 Use gnulib-tool to create gnulib source files.
12601
12602 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12603 grub-core/gnulib directories
12604 * .bzignore: Add **/.deps and autogenerated gnulib files
12605 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12606 of gnulib macros, add grub-core/gnulib/Makefile
12607 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12608 include m4 directory to aclocal.
12609 * Makefile.util.def: Remove direct compilation of gnulib source files
12610 and use the new grub-core/gnulib/libgnu.a.
12611 * build-aux/config.rpath: move config.rpath from top directory to
12612 build-aux
12613 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12614 in gnulib headers
12615 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12616 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12617 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12618 header.
12619 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12620 string.
12621
e511c9f5
YB
126222010-09-20 Yves Blusseau <blusseau@zetam.org>
12623
12624 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12625 grub-core/genmod.sh and grub-core/gensyminfo.sh
12626
c2dede05
BC
126272010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12628
12629 Add a test for echo command options.
12630
12631 * tests/grub_cmd_echo.in: New test.
12632 * Makefile.util.def: Rules for new test.
12633
c55f5018
SJ
126342010-09-20 Szymon Janc <szymon@janc.net.pl>
12635
12636 Remove crc.mod and move crc command to hashsum.mod.
12637 Remove lib/crc.c - users updated to use gcrypt implementation.
12638
12639 * grub-core/commands/crc.c: Removed.
12640 * grub-core/Makefile.core.def (crc): Module removed.
12641 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12642 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12643 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12644 * grub-core/lib/crc.c: Removed.
12645 * include/grub/lib/crc.h: Removed.
12646 * Makefile.util.def (crc): Remove lib/crc.c
12647 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12648 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12649 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12650 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12651 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12652 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12653
e0337366
VS
126542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12657
742f9232
VS
126582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 Split config.h for util and core.
12661
12662 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12663 (ADDR32): Likewise.
12664 (DATA32): Likewise.
12665 (BSS_START_SYMBOL): Likewise.
12666 (END_SYMBOL): Likewise.
12667 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12668 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12669 * config.h.in: New file.
12670 * configure.ac: Use config-util.h as config define file.
12671 Rename MACHINE into GRUB_MACHINE. All users updated.
12672 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12673 updated.
12674 (NESTED_FUNC_ATTR): Likewise.
12675 Substitue new variables.
12676 (COND_HAVE_ASM_USCORE): New conditional.
12677 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12678 (kernel_syms.lst): Use ASM_PREFIX.
12679 * grub-core/kern/emu/console.c: Include config-util.h.
12680 * grub-core/kern/emu/misc.c: Likewise.
12681 * grub-core/kern/emu/mm.c: Likewise.
12682 * include/grub/emu/misc.h: Likewise.
12683 * include/grub/libgcc.h: Likewise.
12684
39feb0e8
VS
126852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12688 constants usage.
12689 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12690 Fix GRUB_TERM_KEY_* constants usage.
12691 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12692
9af6dac3
VS
126932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12696 print pointer.
12697 * grub-core/bus/usb/uhci.c: Remove empty define.
12698 (grub_uhci_check_transfer): Add missing cast.
12699 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12700 print pointer.
12701 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12702 PRIuGRUB_SIZE.
12703 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12704
d6d94820
VS
127052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/Makefile.core.def (legacycfg): Add
12708 lib/i386/pc/vesa_modes_table.c on emu.
12709
3572f2b6
BC
127102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12711
12712 Reduce number of temporary files generated by build system.
12713
12714 * grub-core/gencmdlist.sh: Removed.
12715 * grub-core/genfslist.sh: Removed.
12716 * grub-core/genhandlerlist.sh: Removed.
12717 * grub-core/genmodsrc.sh: Removed.
12718 * grub-core/genpartmaplist.sh: Removed.
12719 * grub-core/genparttoollist.sh: Removed.
12720 * grub-core/gentermiinallist.sh: Removed.
12721 * grub-core/genvideolist.sh: Removed.
12722
12723 * grub-core/genmod.sh.in: New file.
12724 * grub-core/gensyminfo.sh.in: New file.
12725
12726 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12727 * conf/Makefile.extra-dist: Update with new files.
12728 * gentpl.py: Remove rules related to unnecessary temporary files.
12729 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12730 and und-* files.
12731 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12732 genmod.sh scripts.
12733 * grub-core/bus/usb/uhci.c: Remove empty #define.
12734 * grub-core/genmoddep.awk: Updated with new syminfo format.
12735 * util/bash-completion.d/Makefile.am: Add config.log to
12736 CLEANFILES.
12737
c836b030
YB
127382010-09-19 Yves Blusseau <blusseau@zetam.org>
12739
12740 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12741
2f4e8053
BC
127422010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12743
12744 * util/grub-mkconfig.in: Check the config script for syntax errors
12745 before saving.
12746
75831c34
CW
127472010-09-19 Colin Watson <cjwatson@ubuntu.com>
127482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12751 platforms.
12752 * util/grub-install.in: Add EFI and IEEE1275 support.
12753 * util/i386/efi/grub-install.in: Removed.
12754 * util/ieee1275/grub-install.in: Likewise.
12755
eaf41b25
VS
127562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12759 (grub_cmd_cmosclean): Likewise.
12760 (GRUB_MOD_INIT): Register command cmosclean.
12761 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12762 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12763
1a9130dd
CPE
127642010-09-18 Carles Pina i Estany <carles@pina.cat>
127652010-09-18 Aleš Nesrsta <starous@volny.cz>
127662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 Add keyboard layouts support.
12769
12770 * Makefile.util.def (grub-mklayout): New file.
12771 (grub-kbdcomp): New script.
12772 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12773 Add keyboard_layouts.h.
12774 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12775 commands/boot.c on yeeloong.
12776 (keylayouts): New module.
12777 * grub-core/bus/usb/ohci.c
12778 * grub-core/bus/usb/uhci.c
12779 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12780 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12781 (attach_root_port): Likewise.
12782 (poll_nonroot_hub): Likewise.
12783 (grub_usb_poll_devices): Likewise.
12784 (detach_device): Close transfer.
12785 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12786 function.
12787 (grub_usb_bulk_setup_readwrite): Likewise.
12788 (grub_usb_bulk_finish_readwrite): Likewise.
12789 * grub-core/commands/keylayouts.c: New file.
12790 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12791 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12792 aliases.
12793 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12794 support scancode 2.
12795 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12796 * include/grub/keyboard_layouts.h: New file.
12797 * util/grub-mklayout.c: New file.
12798 * util/grub-kbdcomp.in: Likewise.
12799
a1d84a5e
VS
128002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 Unify memory types.
12803
12804 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12805 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12806 types.
12807 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12808 (grub_upper_mem): Likewise.
12809 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12810 * include/grub/memory.h (grub_memory_type_t): New enum.
12811 All users updated.
12812
9696382e
VS
128132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/Makefile.core.def (lsapm): New module.
12816 * grub-core/commands/i386/pc/lsapm.c: New file.
12817 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12818 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12819 Likewise.
12820 * include/grub/i386/pc/apm.h: New file.
12821 * include/multiboot.h (multiboot_apm_info): New struct.
12822
128232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 GRUB-legacy configuration file support.
12826
12827 * Makefile.util.def (grub-menulst2cfg): New util.
12828 * docs/man/grub-menulst2cfg.h2m: New file.
12829 * grub-core/Makefile.core.def (legacycfg): New module.
12830 * grub-core/commands/legacycfg.c: New file.
12831 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12832 (grub_normal_add_menu_entry): ... this.
12833 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12834 (grub_normal_set_password): ...this.
12835 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12836 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12837 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12838 * grub-core/lib/legacy_parse.c: New file.
12839 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12840 * include/grub/i386/pc/vesa_modes_table.h: New file.
12841 * include/grub/legacy_parse.h: Likewise.
12842 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12843 * util/grub-menulst2cfg.c: New file.
12844
bf8d1338
CW
128452010-09-17 Colin Watson <cjwatson@ubuntu.com>
12846
12847 * grub-core/kern/emu/hostdisk.c
12848 (convert_system_partition_to_system_disk): Initialise node.
12849
9c0bad2e
CW
128502010-09-17 Colin Watson <cjwatson@ubuntu.com>
12851
12852 * grub-core/kern/emu/hostdisk.c
12853 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12854 leak.
12855 Reported and based on patch by: Modestas Vainius.
12856
a939d135
CW
128572010-09-17 Colin Watson <cjwatson@ubuntu.com>
12858
12859 Fix DM-RAID probing with recent versions of device-mapper udev
12860 rules.
12861
12862 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12863 canonicalise device paths under /dev/mapper/.
12864 (convert_system_partition_to_system_disk): Compare the
12865 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12866 path, since device nodes under /dev/mapper/ are often symlinks.
12867
0f7ee3c9
YB
128682010-09-17 Yves Blusseau <blusseau@zetam.org>
12869
12870 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12871
10854d0d
YB
128722010-09-16 Yves Blusseau <blusseau@zetam.org>
12873
12874 * configure.ac: Avoid some annoying error messages if freetype-config
12875 program is not found.
12876
108538d8
CW
128772010-09-16 Colin Watson <cjwatson@ubuntu.com>
12878
12879 Support RAID on virtio devices, and others.
12880
12881 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12882 Rename to ...
12883 [__MINGW32__] (grub_find_device): ... this.
12884 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12885 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12886 reasonable default if dir is NULL.
12887 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12888 ...
12889 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12890 (grub_guess_root_device): Update callers.
12891 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12892
12893 * util/raid.c (grub_util_getdiskname): Remove.
12894 (grub_util_raid_getmembers): Use grub_find_device rather than
12895 grub_util_getdiskname.
12896
e5bfc130
CW
128972010-09-16 Colin Watson <cjwatson@ubuntu.com>
12898
12899 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12900 needing to be compiled with serial support.
12901 (ls): Indicate that multiple files are accepted.
12902 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12903 indicate that multiple files are accepted.
12904
be458ae2
CW
129052010-09-16 Colin Watson <cjwatson@ubuntu.com>
12906
12907 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12908 libgrub_a_init.c, and util/bash-completion.d/grub.
12909
cb731b5e
VS
129102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * util/grub-setup.c (setup): Fix incorrect container semantics.
12913
35139e8a
VS
129142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12917 misusage.
12918 Reported by: J. Nick Terry
12919
e50fca4a
VS
129202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 Move embedding routines to partmap sources files.
12923
12924 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12925 [GRUB_UTIL]: New variable.
12926 (gpt_partition_map_iterate): Set part.parent.
12927 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12928 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12929 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12930 New function.
12931 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12932 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12933 (grub_partition_map) [GRUB_UTIL]: New field embed.
12934 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12935 (setup): Use ->embed.
12936
f00478b7
VS
129372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12940 function.
12941 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12942 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12943
2b94e3ff
YB
129442010-09-15 Yves Blusseau <blusseau@zetam.org>
12945
12946 Add function to get completions from usage.
12947
12948 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12949 completions from usage. Use LC_ALL=C to get options properly.
12950
2e04a006
VS
129512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * grub-core/gnulib/basename-lgpl.c: Imported.
12954 * grub-core/gnulib/basename.c: Likewise.
12955 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12956 * grub-core/gnulib/dirname.c: Likewise.
12957 * grub-core/gnulib/dirname.h: Likewise.
12958 * grub-core/gnulib/stripslash.c: Likewise.
12959
5dcdf93a
VS
129602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/gnulib/error.c: Resynced.
12963 * grub-core/gnulib/getopt.c: Likewise.
12964 * grub-core/gnulib/getopt_int.h: Likewise.
12965 * grub-core/gnulib/regex.h: Likewise.
12966 * grub-core/gnulib/regex_internal.c: Likewise.
12967 * grub-core/gnulib/regex_internal.h: Likewise.
12968
014f47b7
SJ
129692010-09-15 Szymon Janc <szymon@janc.net.pl>
12970
12971 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12972 CRC calculations and validity checks.
12973 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12974 calculations.
12975
dd521a4a
SJ
129762010-09-15 Szymon Janc <szymon@janc.net.pl>
12977
12978 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12979
79c4eeb9
VS
129802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 Fix incorrect echo options handling.
12983 Reported by: Yves Blusseau.
12984
12985 * include/grub/command.h (grub_command_flags_t): New flags
12986 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12987 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12988 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12989
ed80f7d5
VS
129902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12993 users updated.
12994 (GRUB_COMMAND_FLAG_MENU): Likewise.
12995 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12996 (GRUB_COMMAND_FLAG_TITLE): Removed.
12997 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12998 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12999 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13000 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13001 (grub_command_flags_t): New enum. All users updated.
13002
5fe7620a
SG
130032010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13004
13005 Fix solaris compilation.
13006
13007 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13008 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13009 (grub-emu-list): Likewise.
13010
545b752f
VS
130112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 Remove deprecated root command.
13014
13015 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13016 updated.
13017
6c1a338c
VS
130182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * util/i386/pc/grub-setup.c: Merge this ...
13021 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13022 * util/grub-setup.c: ... into this.
13023 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13024 New struct.
13025
130262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13029 possible.
13030
d2ea4551
VS
130312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13034 allocate p.
13035
3c3b5040
VS
130362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13039 explicit root argument to set to prevent UUID to be interpreted as
13040 argument to set.
13041
b71c3fae
VS
130422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13045
275433e6
VS
130462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 Don't export grub_gate_a20.
13049
13050 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13051 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13052 to ...
13053 (grub_gate_a20): ... this. All users updated.
13054 * include/grub/i386/pc/init.h: Removed. All users updated.
13055
a5dbb1f1
VS
130562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 Create euro.pf2 which supports most European languages.
13059
13060 * Makefile.am (grubdata_DATA): Add euro.pf2.
13061 (euro.pf2): New target.
13062 (CLEANFILES): Add euro.pf2.
13063
62a747cb
VS
130642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * configure.ac: Disable emu-usb by default to prevent inadvertent
13067 device takeover.
13068
608e43b1
VS
130692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 Disable usbserial on grub-emu since our libusb code isn't good enough
13072 yet.
13073
13074 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13075 (usbserial_pl2303): Likewise.
13076 (usbserial_ftdi): Likewise.
13077
94564f81
VS
130782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * include/grub/disk.h (grub_disk): Remove has_partitions.
13081 All users updated.
13082 * disk/loopback.c (grub_loopback): Remove has_partitions.
13083 All users updated.
13084 (options): Remove partitions. All users updated.
13085 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13086 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13087 actual partition table is found.
13088
3352800b
VS
130892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 Remove readability checks (too many false negatives).
13092
13093 * util/grub-install.in: Remove readability checks.
13094 * util/grub-mkconfig.in: Likewise.
13095 * util/grub.d/10_hurd.in: Likewise.
13096 * util/grub.d/10_kfreebsd.in: Likewise.
13097 * util/grub.d/10_linux.in: Likewise.
13098 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13099 way.
13100
2419f17a
VS
131012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Enable acpi shutdown on all ACPI platforms.
13104
13105 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13106 on coreboo, multiboot and EFI.
13107 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13108 (grub_acpi_halt): Likewise.
13109 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13110 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13111 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13112 * grub-core/lib/i386/halt.c (grub_halt)
13113 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13114
0575c7c3
VS
131152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13118 context.
13119
54ac3cd1
VS
131202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13123 * grub-core/video/efi_uga.c: Likewise.
13124
b2a30ac5
VS
131252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 Filter devaliases and never open same device twice.
13128
13129 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13130 (last_ihandle): Likewise.
13131 (ofdisk_hash_ent): New member shortest.
13132 (ofdisk_hash_add): Add canonical path too.
13133 (scan): New function.
13134 (grub_ofdisk_iterate): Iterate over hashed entries.
13135 (compute_dev_path): Don't add :0.
13136 (grub_ofdisk_open): Don't really open the disk.
13137 (grub_ofdisk_close): Avoid closing unrelated disk.
13138 (grub_ofdisk_read): Implement reopen logic.
13139 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13140 New function.
13141 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13142 New proto.
13143
fb53b340
VS
131442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 Fix sparc64.
13147
13148 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13149 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13150 right address. Add sparc64_ieee1275_ldflags.
13151 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13152 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13153 to grub_host_to_target_addr
13154 (load_image): Likewise.
13155
f452b040
VS
131562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 * grub-core/normal/completion.c (complete_file): Handle device
13159 containing slash.
13160 Fix based on patch by Doug Nazar.
13161
9b5b2541
VS
131622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 grub-mknetdir script.
13165
13166 * Makefile.util.def (grub-mknetdir): New module.
13167 * tests/util/grub-shell.in: Support boot=net
13168 * util/grub-mknetdir.in: New file.
13169
9d2be652
VS
131702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 videoinfo on non-vbe.
13173
13174 * grub-core/Makefile.core.def (vbeinfo): Removed.
13175 (vbetest): Removed.
13176 (videoinfo): New module.
13177 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13178 * grub-core/commands/i386/pc/vbetest.c: Removed.
13179 * grub-core/commands/videoinfo.c: New file.
13180 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13181 specification.
13182 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13183 as vbetest.
13184 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13185 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13186 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13187 mode_number. New parameter mode. All users updated.
13188 (grub_video_gop_iterate): New function.
13189 (grub_video_efi_gop): New member iterate.
13190 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13191 (grub_vbe_set_video_mode): Remove setting useless fields.
13192 (vbe2videoinfo): New function.
13193 (grub_video_vbe_iterate): Likewise.
13194 (grub_video_vbe_setup): Use vbe2videoinfo.
13195 (grub_video_vbe_print_adapter_specific_info): New function.
13196 (grub_video_vbe_adapter): New fields iterate and
13197 print_adapter_specific_info.
13198 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13199 All users updated.
13200 (grub_video_mode_info): New field mode_number.
13201 (grub_video_adapter): New fields iterate and
13202 print_adapter_specific_info.
13203
179503f5
TG
132042010-09-13 Tristan Gingold <gingold@free.fr>
132052010-09-13 Robert Millan <rmh.grub@aybabtu.com>
132062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/commands/efi/lsefisystab.c: New file.
13209 * grub-core/commands/efi/lssal.c: Likewise.
13210 * grub-core/Makefile.core.def (lsacpi): New module.
13211 (lsefisystab): Likewise.
13212 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13213 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13214 (grub_efi_sal_system_table): New struct.
13215 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13216 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13217 (grub_efi_sal_system_table_platform_features): Likewise.
13218 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13219 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13220 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13221 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13222
cf9827de
VS
132232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 Support explicit user claim that a device is BIOS-visible.
13226
13227 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13228 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13229 * grub-core/kern/emu/hostdisk.c
13230 (convert_system_partition_to_system_disk): Support mdX.
13231 (find_system_device): New parameter add. All users updated.
13232 (grub_util_biosdisk_is_present): New function.
13233 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13234 proto.
13235
53f0eb1f
VS
132362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 Search hints support.
13239
13240 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13241 All users updated.
13242
b23ffd70
YB
132432010-09-13 Yves Blusseau <blusseau@zetam.org>
13244
13245 Bash completion script for util commands
13246
13247 * Makefile.am: Add util/bash-completion.d directory
13248 * configure.ac: Likewise.
13249 * util/bash-completion.d/Makefile.am: New file.
13250 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13251
d547dc28
VS
132522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13255 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13256 Reported by: Yves Blusseau.
13257
2fc8ccb9
VS
132582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13261 partition size and offset.
13262
d8a84076
VS
132632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13266
84fb3b3d
VS
132672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13270
768ec2e2
VS
132712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13274 (grub_xvasprintf): Likewise.
13275
4870900f
VS
132762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13279
faca6bec
VS
132802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13283 args ending with NULL.
13284
132852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13286
13287 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13288 pointer.
13289
3c70f225
SJ
132902010-09-11 Szymon Janc <szymon@janc.net.pl>
13291
13292 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13293
4df7996d
VS
132942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 Shutdown using ACPI.
13297
13298 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13299 * grub-core/commands/acpihalt.c: New file.
13300 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13301 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13302 (grub_acpi_halt): New proto.
13303 (GRUB_ACPI_SLP_EN): New const.
13304 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13305 (GRUB_ACPI_OPCODE_*): New enum.
13306 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13307
126b4c32
TG
133082010-09-11 Tristan Gingold <gingold@free.fr>
133092010-09-11 Robert Millan <rmh.grub@aybabtu.com>
133102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * commands/lsacpi.c: New file.
13313 * grub-core/Makefile.core.def (lsacpi): New module.
13314 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13315 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13316 (grub_acpi_madt_entry_header): New struct.
13317 (grub_acpi_madt): Likewise.
13318 (grub_acpi_madt_entry_interrupt_override): Likewise.
13319 (grub_acpi_madt_entry_sapic): Likewise.
13320 (grub_acpi_madt_entry_lsapic): Likewise.
13321 (grub_acpi_madt_entry_platform_int_source): Likewise.
13322 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13323 (PRIuGRUB_UINT32_T): Likewise.
13324 (PRIxGRUB_UINT64_T): Likewise.
13325
1aa4fe88
VS
133262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 Implement loading palette on ieee1275_fb.
13329
13330 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13331 (have_setcolors): Likewise.
13332 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13333 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13334 (grub_video_ieee1275_set_palette): Implement.
13335
25761e13
VS
133362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
133372010-09-11 Colin Watson <cjwatson@ubuntu.com>
13338
13339 * util/grub-install.in (grub_partition): New variable.
13340 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13341 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13342 Fixes a bug reported by Yves Blusseau.
13343
050abaea
VS
133442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 Fix emu on mipsel.
13347
13348 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13349 =grub_cpu_flush_cache on all mips and not only yeeloong.
13350 * configure.ac (COND_mips): New conditional.
13351 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13352 platforms.
13353 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13354 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13355 [GRUB_LINKER_HAVE_INIT]: New function.
13356 (grub_emu_post_init): Likewise.
13357 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13358 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13359 * include/grub/cache.h (_mips): Include mips/cache.h.
13360 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13361 LVM and RAID prototypes.
13362 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13363 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13364 function.
13365
5ed7d816
CW
133662010-09-10 Colin Watson <cjwatson@ubuntu.com>
13367
13368 * util/grub-install.in: Don't try to verify core.img until after
13369 running grub-mkimage to create it.
13370
90367e04
RM
133712010-09-10 Robert Millan <rmh@gnu.org>
13372
13373 * util/grub.d/10_hurd.in: Add misc readability checks.
13374 * util/grub.d/10_kfreebsd.in: Likewise.
13375 * util/grub.d/10_linux.in: Likewise.
13376
c452fa66
CW
133772010-09-10 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * util/grub-install.in: ${imgext} won't be defined here until the
13380 install branch is merged. For the meantime, only verify core.img on
13381 i386-pc and sparc64-ieee1275 platforms.
13382
c38fe9f4
RM
133832010-09-10 Robert Millan <rmh@gnu.org>
13384
13385 Solaris support in grub_find_zpool_from_dir(). Thanks
13386 Seth Goldberg for referring to getextmntent() facility.
13387
13388 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13389 `sys/mkdev.h'.
13390 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13391 `<sys/mnttab.h>'.
13392 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13393 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13394 method for finding zpool name.
13395
905f7773
CW
133962010-09-10 Colin Watson <cjwatson@ubuntu.com>
13397
13398 grub-fstest needs the host and hostfs modules while other utilities
13399 actively require those modules to be absent, so grub-fstest needs
13400 its own initialisation and finalisation code.
13401
13402 * Makefile.am (grub_fstest.pp): New target.
13403 (grub_fstest_init.lst): Likewise.
13404 (grub_fstest_init.c): Likewise.
13405 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13406
fb90b546
RM
134072010-09-10 Robert Millan <rmh@gnu.org>
13408
13409 * configure.ac: Check for `struct statfs.f_fstypename' and
13410 `struct statfs.f_mntfromname'.
13411
13412 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13413 kFreeBSD-specific code.
13414
66d4bea5
RM
134152010-09-10 Robert Millan <rmh@gnu.org>
13416
13417 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13418 on ZFS. Now non-main filesystems are supported as / too.
13419
b6a690ee
CW
134202010-09-09 Colin Watson <cjwatson@ubuntu.com>
13421
13422 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13423 and grub-core/disk/host.c to ...
13424 (grub-fstest): ... here. Having the host disk implementation
13425 present confuses grub-probe and other utility programs.
13426
13427 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13428 when writing to a file, not when writing to stdout.
13429
8901b00c 134302010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13431
13432 * tests/partmap_test.in: New test for partitions.
13433 * Makefile.util.def: Rules for new test.
13434
7bf45fdd
RM
134352010-09-09 Robert Millan <rmh@gnu.org>
13436
13437 * util/grub-probe.c (probe): Fix a pair of unhandled error
13438 conditions.
13439
4dfbc574
RM
134402010-09-09 Robert Millan <rmh@gnu.org>
13441
13442 Basic Btrfs support (detection and UUID).
13443
13444 * grub-core/fs/btrfs.c: New file.
13445 * Makefile.util.def (library): Register btrfs.c.
13446 * grub-core/Makefile.core.def: Likewise.
13447
6b8e78ae
RM
134482010-09-08 Robert Millan <rmh@gnu.org>
13449
13450 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13451 with (optional) parameters to specify device and relative path.
13452 * util/grub-install.in: Use is_path_readable_by_grub() to
13453 verify readability of a few critical files.
13454 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13455 verify readability of grub.cfg.new.
13456
27f21a8b
VS
134572010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 Split minix.mod into minix.mod and minix2.mod.
13460
13461 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13462 * grub-core/Makefile.core.def (minix2): New module.
13463 * grub-core/fs/minix.c: Use definitions instead of runtime version
13464 checking.
13465 * grub-core/fs/minix2.c: New file.
13466
c0e53ea5
YB
134672010-09-08 Yves Blusseau <blusseau@zetam.org>
13468
13469 Add new --boot-directory option to replace --root-directory
13470
13471 * util/grub-install.in: Add new --boot-directory option
13472 * util/grub-reboot.in: Likewise.
13473 * util/grub-set-default.in: Likewise.
13474
b9fe6ea2
YB
134752010-09-08 Yves Blusseau <blusseau@zetam.org>
13476
13477 * util/grub-mkconfig.in: Use new variable.
13478
d87aedff
YB
134792010-09-08 Yves Blusseau <blusseau@zetam.org>
13480
13481 * configure.ac: Define some useful variables.
13482
e55e8495
VS
134832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13486 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13487 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13488 Use terminfo and don't use cursor-on/cursor-off unless it's known
13489 to work.
13490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13491 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13492
6fa6d675
CW
134932010-09-08 Colin Watson <cjwatson@ubuntu.com>
13494
13495 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13496 starts with "(,", fill the drive containing the loaded image in
13497 between those two characters, but expect that a full partition
13498 specification including partition map names will follow.
13499
92f2aef0
RM
135002010-09-08 Robert Millan <rmh@gnu.org>
13501
13502 * configure.ac: Remove `--enable-grub-fstest' option.
13503 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13504
13505 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13506 `grub-fstest' instead of `grub-probe' for readability verification.
13507 * util/grub-probe.c (probe): Remove readability verification kludge.
13508
99fd620d
RM
135092010-09-08 Robert Millan <rmh@gnu.org>
13510
13511 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13512 initializing `GRUB_FS'.
13513
058e30ac 135142010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13515
13516 Not command (!) support to GRUB script.
13517
13518 * tests/grub_script_not.in: New test.
13519 * Makefile.util.def: Rules for new test.
13520
13521 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13522 ! command as a special case.
13523 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13524
b61d05ed 135252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13526
058e30ac 13527 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13528 grub_free.
b61d05ed 13529
4d69c786 135302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13531
13532 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13533
aa3119c4 135342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13535
13536 * docs/grub.texi (Shell-like scripting): Documentation for break,
13537 continue, shift and return commands.
13538
db0f7e3d
VS
135392010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 Rename CD-ROM to cd on BIOS.
13542
13543 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13544 "cd".
13545 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13546
88b87c93
VS
135472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13550 * util/grub-probe.c (main): Likewise.
13551 * util/i386/pc/grub-setup.c (main): Likewise.
13552 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13553 Reported and debugged by: alexxy
13554
294f324d
VS
135552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13558 diagnostic info.
13559
d7ee3441
JS
135602010-09-05 Jo Shields <directhex@apebox.org>
13561
13562 * util/grub.d/30_os-prober.in: Add missing classes.
13563
d7e06c1f
VS
135642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * docs/grub.texi (Theme file format): Document new position format.
13567
fc157e53
VS
135682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13571 a table. Use @code instead of @verbatim.
13572
506e9a1c
CB
135732010-09-05 Colin D Bennett <colin@gibibit.com>
13574
13575 Gfxmenu documentation.
13576
13577 * docs/grub.texi (Theme file format): New chapter.
13578
f0aff67c
SJ
135792010-09-05 Szymon Janc <szymon@janc.net.pl>
13580
13581 * grub-core/Makefile.core.def (xzio): New module.
13582 * grub-core/io/xzio.c: New file.
13583 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13584 * grub-core/lib/xzembed/xz_config.h: Likewise.
13585 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13586 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13587 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13588 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13589 * grub-core/lib/xzembed/xz_private.h: Likewise.
13590 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13591 * include/grub/file.h (grub_file_filter_id): New compression filter
13592 GRUB_FILE_FILTER_XZIO.
13593
82a85062
VS
135942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13597 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13598 size.
13599
3579415d
VS
136002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13603 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13604
5124ae6d
VS
136052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Uncompressed checksum support.
13608
13609 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13610 (check_list): New parameter uncompress.
13611 (grub_cmd_hashsum): Handle --uncompress.
13612
9aadb3d1
VS
136132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Reintroduce testload.
13616
13617 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13618 from here ...
13619 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13620 (GRUB_MOD_INIT): New function.
13621 (GRUB_MOD_FINI): Likewise.
13622 * grub-core/Makefile.core.def (testload): New module.
13623
a17792c3
SJ
136242010-09-05 Szymon Janc <szymon@janc.net.pl>
13625
13626 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13627 (uint8_t): New type.
13628 (uint16_t): Likewise.
13629 (uint32_t): Likewise.
13630 (uint64_t): Likewise.
13631
b81e40a3
SJ
136322010-09-05 Szymon Janc <szymon@janc.net.pl>
13633
13634 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13635
fc2ef117
VS
136362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13639 Made static.
13640 (grub_gzfile_open): Removed. All users updated.
13641 (GRUB_MOD_INIT): New function.
13642 (GRUB_MOD_FINI): Likewise.
13643 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13644 (grub_file_filters_enabled): Likewise.
13645 (grub_file_open): Handle filters.
13646 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13647 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13648 * include/grub/file.h (grub_file_filter_id_t): New type.
13649 (grub_file_filter_t): Likewise.
13650 (grub_file_filters_all): New extern variable.
13651 (grub_file_filters_enabled): Likewise.
13652 (grub_file_filter_register): New inline function.
13653 (grub_file_filter_unregister): Likewise.
13654 (grub_file_filter_disable): Likewise.
13655 (grub_file_filter_disable_compression): Likewise.
13656 * include/grub/gzio.h: Removed.
13657
35ee15e0
BC
136582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13659
13660 Filename expansion support for wildcards in GRUB script.
13661
13662 * tests/grub_script_expansion.in: New test.
13663 * Makefile.util.def: Rule for new test.
13664
13665 * grub-core/commands/wildcard.c: New file, implements filename
13666 expansion support for GRUB script.
13667 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13668 * grub-core/script/argv.c: Cosmetic changes.
13669 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13670 Refactored to perform wildcard expansion on arguments.
13671 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13672 struct.
13673
13674 * tests/util/grub-shell.in: Fix quoting for read input.
13675
5f0c4aca
BC
136762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13677
13678 Support for updating environment variables with matched substrings
13679 of regexp.
13680
13681 * tests/grub_cmd_regexp.in: New test.
13682 * Makefile.util.def: Rule for new test.
13683
13684 * grub-core/commands/regexp.c: New option -s to update environment
13685 variables with regexp matches.
13686
3759a35f
SJ
136872010-09-04 Szymon Janc <szymon@janc.net.pl>
13688
13689 * include/grub/file.h (grub_file): New member not_easly_seekable.
13690 (grub_file_seekable): New inline function.
13691 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13692 easily seekable.
13693 (grub_gzio_open): Set not_easly_seekable.
13694 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13695 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13696
ed8c6dec
BC
136972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13698
13699 Support for options to appear multiple times on cmdline.
13700
13701 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13702 * grub-core/commands/extcmd.c: Support for repeatable option.
13703 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13704 repeatable option support.
13705
13706 Refactor menuentry into a regular command.
13707
13708 * grub-core/commands/menuentry.c: New file, menuentry command
13709 implementation.
13710 * grub-core/Makefile.core.def: Rule update for normal.mod.
13711 * grub-core/normal/main.c: Moved menuentry creation to
13712 grub-core/commands/menuentry.c.
13713 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13714 (grub_menu_execute_entry_real): Removed.
13715 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13716 function.
13717 (grub_script_execute_menuentry): Removed.
13718 * grub-core/script/parser.y (menuentry): Removed.
13719 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13720 * grub-core/script/yylex.l (menuentry): Removed.
13721 * include/grub/menu.h (grub_menu_init): New prototype.
13722 (grub_menu_fini): New prototype.
13723 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13724 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13725 (grub_script_execute_sourcecode): New prototype.
13726
dacd0cf0
BC
137272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13728
13729 "return" command for GRUB script functions.
13730
13731 * tests/grub_script_return.in: New test.
13732 * Makefile.util.def: Rules for new test.
13733
13734 * grub-core/script/execute.c (grub_script_return): New function.
13735 * grub-core/script/main.c: Register/unregister return commaond.
13736 * include/grub/script_sh.h (grub_script_return): New prototype.
13737
52e72f9d
BC
137382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13739
13740 "setparams" command to update positional parameters.
13741
13742 * tests/grub_script_setparams.in: New test.
13743 * Makefile.util.def: Rules for new test.
13744
13745 * grub-core/script/argv.c (grub_script_argv_make): New function.
13746 * grub-core/script/execute.c (replace_scope): New function.
13747 (grub_script_setparams): New function.
13748 * grub-core/script/lexer.c: Remove unused variables.
13749 * grub-core/script/main.c: Register/unregister setparams command.
13750 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13751 (grub_script_setparams): New prototype.
13752
25b60c91
BC
137532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13754
13755 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13756 grub_free order.
13757
37e7bf68
BC
137582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13759
13760 Support for passing block of commands as an argument to extcmds.
13761
13762 * Makefile.util.def: Rules for new test.
13763 * tests/grub_script_blockarg.in: New test.
13764 * grub-core/tests/test_blockarg.c: New file, block argument
13765 command used in the test.
13766
13767 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13768 (grub_register_extcmd_prio): New function prototype.
13769 (grub_extcmd_dispatcher): New function prototype.
13770 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13771 type.
13772 * include/grub/script_sh.h (struct grub_script): New members
13773 `children', `next_siblings' and `refcnt' for block arguments and
13774 reference counting.
13775 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13776 (grub_script_arg): New member `script' for block argument.
13777 (grub_script_argv): New member `script' for block argument.
13778 (grub_parser_param): New member `scripts' for block argument.
13779 (grub_script_mem_free): New extern function prototype.
13780 (grub_script_ref): New function prototype.
13781 (grub_script_unref): New function prototype.
13782
13783 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13784 extcmd form to support block arguments.
13785 * grub-core/script/argv.c: Block arguments support.
13786 * grub-core/script/execute.c: Likewise.
13787 * grub-core/script/lexer.c: Likewise.
13788 * grub-core/script/main.c: Likewise.
13789 * grub-core/script/script.c: Likewise.
13790 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13791 non-terminals.
13792
13793 * grub-core/commands/acpi.c: Update extcmd implementations with
13794 grub_extcmd_context_t.
13795 * grub-core/commands/cat.c: Likewise.
13796 * grub-core/commands/echo.c: Likewise.
13797 * grub-core/commands/extcmd.c: Likewise.
13798 * grub-core/commands/hashsum.c: Likewise.
13799 * grub-core/commands/hdparm.c: Likewise.
13800 * grub-core/commands/help.c: Likewise.
13801 * grub-core/commands/hexdump.c: Likewise.
13802 * grub-core/commands/i386/cpuid.c: Likewise.
13803 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13804 * grub-core/commands/i386/pc/halt.c: Likewise.
13805 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13806 * grub-core/commands/iorw.c: Likewise.
13807 * grub-core/commands/keystatus.c: Likewise.
13808 * grub-core/commands/loadenv.c: Likewise.
13809 * grub-core/commands/ls.c: Likewise.
13810 * grub-core/commands/lspci.c: Likewise.
13811 * grub-core/commands/memrw.c: Likewise.
13812 * grub-core/commands/probe.c: Likewise.
13813 * grub-core/commands/search_wrap.c: Likewise.
13814 * grub-core/commands/setpci.c: Likewise.
13815 * grub-core/commands/sleep.c: Likewise.
13816 * grub-core/disk/loopback.c: Likewise.
13817 * grub-core/hello/hello.c: Likewise.
13818 * grub-core/loader/i386/bsd.c: Likewise.
13819 * grub-core/loader/xnu.c: Likewise.
13820 * grub-core/term/gfxterm.c: Likewise.
13821 * grub-core/term/serial.c: Likewise.
13822 * grub-core/tests/lib/functional_test.c: Likewise.
13823
888d1500
BC
138242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13825
13826 Multi-line quoted strings support.
13827
13828 * grub-core/script/lexer.c (append_newline): Removed.
13829 (grub_script_lexer_yywrap): Refactored.
13830 (grub_script_lexer_init): Refactored.
13831 * grub-core/script/yylex.l (yywrap): New function.
13832 (grub_lexer_resplit): New function.
13833 (grub_lexer_unput): New function.
13834 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13835 and resplit.
13836 * tests/grub_script_echo1.in: Added few more testcases.
13837
dda060dd
VS
138382010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * grub-core/kern/misc.c: Don't add abort alias in utils.
13841 Reported by: echoline.
13842
6556eba9
BC
138432010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13844
13845 Add missing files into "make dist" tarball for other platforms.
13846
13847 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13848 * conf/Makefile.common (dist_noinst_DATA): New variable.
13849 * conf/Makefile.extra-dist: Added missing make dist files.
13850 * grub-core/Makefile.core.def: Likewise.
13851
c8e7bf5f
VS
138522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 Compress grub_prefix.
13855
13856 * grub-core/boot/i386/pc/lnxboot.S: Use
13857 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13858 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13859 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13860 GRUB_MACHINE_PREFIX_END. All users updated.
13861 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13862 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13863 + 0x40.
13864 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13865 * util/grub-mkimage.c (image_target_desc): Change data_end to
13866 prefix_end. All users updated.
13867
a7c00cdb
VS
138682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13871 value.
13872 (grub_openbsd_boot): Likewise.
13873 (grub_netbsd_boot): Likewise.
13874 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13875 (grub_xnu_boot): Likewise.
13876
9f915872
VS
138772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * configure.ac: Clean LIBS variable after tests.
13880
efa1bee7
CW
138812010-09-02 Colin Watson <cjwatson@ubuntu.com>
13882
13883 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13884
61d720e5
VS
138852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13888 echo if libdevmapper will be used.
13889
ef8e0ec8
IT
138902010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13891
13892 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13893 constant for the same file.
13894
03e261d8
VS
138952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13898
c2a4eba6
CW
138992010-09-02 Colin Watson <cjwatson@ubuntu.com>
13900
13901 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13902 grub-core/*.pp.
13903
9056cbf3
CW
139042010-09-02 Colin Watson <cjwatson@ubuntu.com>
13905
13906 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13907 required by the boot protocol.
13908
13909 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13910 ebp and edi members.
13911 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13912 state.ebp and state.edi.
13913 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13914 %ebp and %edi according to grub_relocator32_ebp and
13915 grub_relocator32_edi respectively.
13916 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13917 and state.edi.
13918
529cc99a
VS
139192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 Add i386-pc-pxe image target.
13922
13923 * util/grub-mkimage.c (image_target_desc): New enum value
13924 IMAGE_I386_PC_PXE.
13925 (image_targets): New target i386-pc-pxe.
13926 (generate_image): Handle i386-pc-pxe image.
13927
9a093920
VS
139282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 Fix grub_pxe_scan.
13931
13932 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13933 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13934 All users updated.
13935 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13936 (grub_pxe_pxenv): Correct type.
13937
f9cefc4e
CW
139382010-09-01 Colin Watson <cjwatson@ubuntu.com>
13939
13940 * NEWS: Document most of the important changes since 1.98.
13941
4066f57f
CW
139422010-09-01 Colin Watson <cjwatson@ubuntu.com>
13943
13944 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13945 generated manual page) a little.
13946
da2891f9
CW
139472010-09-01 Colin Watson <cjwatson@ubuntu.com>
13948
13949 * docs/grub.texi: Add myself as an author.
13950
ad717fae
VS
139512010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 * Makefile.util.def (libgrub.a): Add missing sunpc.
13954 Reported by: Seth Goldberg.
13955
eefe8abd
VS
139562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Interrupt wrapping and code simplifications.
13959
9494ef9a
VS
13960 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13961 x86_noieee1275 which are functionaly equivalent in this case.
13962 (grub-install): Make source on each platform explicit. Enable on
13963 all noemu.
13964 * gentpl.py (x86_efi_pc): Removed group.
13965 (x86_noefi): Likewise.
13966 (i386_noefi): Likewise.
13967 (x86_noieee1275): Likewise.
13968 (i386_noieee1275): Likewise.
13969 (i386_noefi_noieee1275): Likewise.
13970 (i386_pc_qemu_coreboot): Likewise.
13971 (i386_coreboot_multiboot): Likewise.
13972 (i386_pc_coreboot_multiboot_qemu): Likewise.
13973 (x86_noefi_mips): Likewise.
13974 (noieee1275): Likewise.
13975 (ieee1275_mips): Likewise.
13976 (noemu_noieee1275): Likewise.
13977 (cmos): New group.
13978 (usb): Likewise.
13979 (videoinkernel): Likewise.
13980 (videomodules): Likewise.
eefe8abd 13981 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13982 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13983 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13984 include/grub/loader.h, include/grub/msdos_partition.h,
13985 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13986 include/grub/machine/console.h, include/grub/machine/vga.h,
13987 include/grub/machine/vbe.h, include/grub/machine/init.h,
13988 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13989 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13990 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13991 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13992 * grub-core/Makefile.core.def (kernel): Explicit the source for
13993 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13994 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13995 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13996 Use videoinkernel tag.
13997 (usb): Enable on all usb.
13998 (usbserial_common): Likewise.
13999 (usbserial_pl2303): Likewise.
14000 (usbserial_ftdi): Likewise.
14001 (uhci): Enable on all x86.
14002 (ohci): Enable on all pci.
14003 (cmostest): Enable on all CMOS.
14004 (acpi): Include commands/acpi.c on all platforms.
14005 (halt): Add relevant lib/*/halt.c.
14006 (hdparm): Enable on all pci.
14007 (lspci): Likewise.
14008 (usbtest): Enable on all usb.
14009 (ata): Enable on all pci.
14010 (ata_pthru): Likewise.
14011 (usbms): Enable on all usb.
14012 (usb_keyboard): Likewise.
14013 (font): Use tag videomodules.
14014 (bufio): Likewise.
14015 (datetime): Use tag cmos. Enable on all noemu.
14016 (mmap): Use tags common and x86.
14017 (gfxterm): Use tag videomodules.
14018 (bitmap): Likewise.
14019 (bitmap_scale): Likewise.
14020 (video_fb): Likewise.
14021 (video): Likewise.
14022 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14023 adjust padding accordingly. All users updated.
14024 (grub_ohci_transaction): Fix bad format specification.
14025 (GRUB_MOD_INIT): Add asserts for struct size.
14026 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14027 (grub_alloc_td): Likewise.
14028 (grub_free_queue): Likewise.
14029 (grub_uhci_transfer): Likewise.
14030 (grub_uhci_transaction): Fix bad format specification.
14031 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14032 (grub_usb_bulk_readwrite): Likewise.
14033 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14034 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14035 Made static.
14036 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14037 Made static.
14038 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14039 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14040 Transformed into C.
14041 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14042 Moved from here ...
14043 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14044 ... here. Transformed into C. Made static.
14045 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14046 Moved from here ...
14047 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14048 ... here. Transformed into C. Made static.
14049 * grub-core/kern/i386/pc/startup.S
14050 (grub_biosdisk_check_int13_extensions): Moved from here ...
14051 * grub-core/disk/i386/pc/biosdisk.c
14052 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14053 Made static.
14054 * grub-core/kern/i386/pc/startup.S
14055 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14056 * grub-core/disk/i386/pc/biosdisk.c
14057 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14058 Transformed into C. Made static.
14059 * grub-core/kern/i386/pc/startup.S
14060 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14061 * grub-core/disk/i386/pc/biosdisk.c
14062 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14063 Transformed into C. Made static.
14064 * grub-core/kern/i386/pc/startup.S
14065 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14066 * grub-core/disk/i386/pc/biosdisk.c
14067 (grub_biosdisk_get_diskinfo_standard): ... here.
14068 Transformed into C. Made static.
14069 * grub-core/kern/i386/pc/startup.S
14070 (grub_biosdisk_get_num_floppies): Moved from here ...
14071 * grub-core/disk/i386/pc/biosdisk.c
14072 (grub_biosdisk_get_num_floppies): ... here.
14073 Transformed into C. Made static.
14074 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14075 New function.
14076 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14077 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14078 Transformed into C. Made static.
14079 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14080 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14081 Transformed into C. Made static.
14082 * grub-core/kern/i386/ieee1275/init.c: Removed.
14083 * grub-core/kern/i386/misc.S: Likewise.
14084 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14085 Splitted from here ...
14086 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14087 Transformed into C. Made static. All users updated.
14088 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14089 Transformed into C. Made static. All users updated.
14090 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14091 Moved from here...
14092 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14093 Transformed into C. Made static. All users updated.
14094 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14095 Moved from here...
14096 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14097 Transformed into C. Made static. All users updated.
14098 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14099 Removed (replaced by C version).
14100 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14101 Moved from here...
14102 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14103 Transformed into C. Made static.
14104 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14105 Moved from here...
14106 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14107 ... here. Transformed into C.
14108 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14109 Moved from here...
14110 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14111 ... here. Transformed into C.
14112 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14113 Moved from here...
14114 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14115 ... here. Transformed into C. Made static.
14116 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14117 Moved from here...
14118 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14119 ... here. Transformed into C.
21ed554b
VS
14120 * grub-core/kern/i386/pc/startup.S
14121 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14122 * grub-core/video/i386/pc/vbe.c
14123 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14124 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14125 Moved from here...
14126 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14127 ... here. Transformed into C.
14128 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14129 Moved from here...
14130 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14131 ... here. Transformed into C.
14132 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14133 Moved from here...
14134 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14135 ... here. Transformed into C.
14136 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14137 Moved from here...
14138 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14139 ... here. Transformed into C.
14140 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14141 Moved from here...
14142 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14143 ... here. Transformed into C. Made static.
14144 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14145 Moved from here...
14146 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14147 ... here. Transformed into C. Made static.
14148 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14149 Moved from here...
14150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14151 ... here. Transformed into C. Made static.
14152 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14153 pxe_rm_entry as third argument.
14154 (grub_bios_interrupt): New function.
14155 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14156 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14157 of calling grub_stop.
14158 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14159 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14160 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14161 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14162 * grub-core/lib/i386/halt.c: Moved from here ...
14163 * grub-core/lib/i386/halt.c: ... here.
14164 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14165 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14166 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14167 grub_stop_floppy.
14168 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14169 * include/grub/i386/coreboot/init.h: Removed.
14170 * include/grub/i386/multiboot/init.h: Likewise.
14171 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14172 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14173 * include/grub/i386/pc/int.h: New file.
14174 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14175 (grub_pxe_scan): Removed.
14176 (grub_pxe_call): Update prototype.
14177 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14178 prototypes.
14179 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14180 * include/grub/i386/qemu/init.h: Removed.
14181 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14182 noreturn.
14183 (grub_halt): Likewise.
14184 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14185 (grub_reboot): Likewise.
14186 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14187 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14188 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14189
215dd471
RM
141902010-08-30 Robert Millan <rmh@gnu.org>
14191
14192 * NEWS: Document addition of ZFS support in `grub-install' and
14193 `grub-mkconfig'.
14194
ebd65b82
BC
141952010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14196
14197 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14198 dprintf output.
14199
11721d19
VS
142002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 Remove leftover embedding of font objects.
14203
14204 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14205 * util/grub-install.in (font): Removed.
14206 * util/grub-mkimage.c (generate_image): Remove font support. All users
14207 updated.
14208
37837d4e
VS
142092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 Remove leftover embedding of font objects.
14212
14213 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14214 * util/grub-install.in (font): Removed.
14215 * util/grub-mkimage.c (generate_image): Remove font support. All users
14216 updated.
14217
b4c1aae0
VS
142182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14221 Reported by: Ian Turner
b4c1aae0 14222
8920a08d
VS
142232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14226 timeout to avoid indefinite boot stalling.
14227
f21db033
VS
142282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14231 (grub_env_write_color_highlight): Likewise.
14232
9a9de209
VS
142332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * grub-core/normal/term.c (print_more): Return to normal and not
14236 to standard state after printing "---MORE---".
14237
3dca01d7
VS
142382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14241 Mask out the bit 0x80 since it has other meaning that specifiing color.
14242
0b986c40
VS
142432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 New relocator. Allows for more kernel support and more straightforward
14246 loader writing.
14247
14248 * Makefile.am (BOOTTARGET): New variable.
14249 (QEMU32): Likewise.
14250 (linux.init.x86_64): New target.
14251 (linux.init.i386): Likewise.
14252 (multiboot.elf): Likewise.
14253 (kfreebsd.elf): Likewise.
14254 (kfreebsd.aout): Likewise.
14255 (pc-chainloader.elf): Likewise.
14256 (pc-chainloader.bin): Likewise.
14257 (ntldr.elf): Likewise.
14258 (ntldr.bin): Likewise.
14259 (multiboot2.elf): Likewise.
14260 (kfreebsd.init.x86_64): Likewise.
14261 (kfreebsd.init.i386): Likewise.
14262 (knetbsd.init.i386): Likewise.
14263 (kopenbsd.init.i386): Likewise.
14264 (knetbsd.init.x86_64): Likewise.
14265 (kopenbsd.init.x86_64): Likewise.
14266 (linux-initramfs.i386): Likewise.
14267 (linux-initramfs.x86_64): Likewise.
14268 (kfreebsd-mfsroot.i386.img): Likewise.
14269 (knetbsd.image.i386): Likewise.
14270 (kopenbsd.image.i386): Likewise.
14271 (kopenbsd.image.x86_64): Likewise.
14272 (knetbsd.miniroot-image.i386.img): Likewise.
14273 (kfreebsd-mfsroot.x86_64.img): Likewise.
14274 (knetbsd.image.x86_64): Likewise.
14275 (knetbsd.miniroot-image.x86_64.img): Likewise.
14276 (kfreebsd-mfsroot.i386.gz): Likewise.
14277 (bootcheck-kfreebsd-i386): Likewise.
14278 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14279 (bootcheck-kfreebsd-x86_64): Likewise.
14280 (knetbsd.miniroot-image.i386.gz): Likewise.
14281 (bootcheck-knetbsd-i386): Likewise.
14282 (bootcheck-kopenbsd-i386): Likewise.
14283 (bootcheck-kopenbsd-x86_64): Likewise.
14284 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14285 (bootcheck-knetbsd-x86_64): Likewise.
14286 (bootcheck-linux-i386): Likewise.
14287 (bootcheck-linux-x86_64): Likewise.
14288 (bootcheck-linux16-i386): Likewise.
14289 (bootcheck-linux16-x86_64): Likewise.
14290 (bootcheck-multiboot): Likewise.
14291 (bootcheck-multiboot2): Likewise.
14292 (bootcheck-kfreebsd-aout): Likewise.
14293 (bootcheck-pc-chainloader): Likewise.
14294 (bootcheck-ntldr): Likewise.
14295 (CLEANFILES): Add new targets.
14296 (BOOTCHECKS): New variable.
14297 (.PHONY): Add bootchecks.
14298 (SUCCESSFUL_BOOT_STRING): New variable.
14299 (BOOTCHECK_TIMEOUT): Likewise.
14300 (bootcheck): New target
14301 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14302 * configure.ac: Correct efiemu excuse.
14303 * docs/grub.texi (Supported kernels): New chapter.
14304 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14305 include/grub/mm_private.h. Simplify inclusion of
14306 include/grub/boot.h, include/grub/loader.h
14307 and include/grub/msdos_partition.h
14308 (KERNEL_HEADER_FILES) [i386_coreboot]:
14309 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14310 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14311 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14312 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14313 include/grub/machine/loader.h.
14314 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14315 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14316 extra_dist.
14317 (pci.mod): Enable on i386-multiboot.
14318 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14319 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14320 i386-qemu.
14321 (relocator.mod): Rewritten.
14322 (aout.mod): Enable on all x86.
14323 (bsd.mod): Likewise.
14324 (ntldr.mod): New module.
14325 (linux.mod): Use loader/i386/linux.c on all x86.
14326 (xnu.mod): Enable on all x86.
14327 (vga_text.mod): disable on EFI and QEMU.
14328 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14329 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14330 * grub-core/efiemu/loadcore.c: Likewise.
14331 * grub-core/efiemu/main.c: Likewise.
14332 (grub_efiemu_exit_boot_services): Removed.
14333 (grub_efiemu_finish_boot_services): Likewise.
14334 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14335 function.
14336 * grub-core/efiemu/i386/nocfgtables.c: New file.
14337 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14338 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14339 (grub_efi_finish_boot_services): Moved from here ...
14340 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14341 Fille finish memory map and related data.
14342 (finish_mmap_buf): New variable.
14343 (grub_efi_uintn_t finish_mmap_size): Likewise.
14344 (grub_efi_uintn_t finish_key): Likewise.
14345 (grub_efi_uintn_t finish_desc_size): Likewise.
14346 (grub_efi_uint32_t finish_desc_version): Likewise.
14347 (grub_efi_is_finished): Likewise.
14348 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14349 finished.
14350 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14351 (grub_elf64_phdr_iterate): Likewise.
14352 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14353 (grub_os_area_size): Likewise.
14354 (grub_machine_init): Don't reserve os area.
14355 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14356 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14357 * grub-core/kern/i386/loader.S: Removed.
14358 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14359 (grub_os_area_size): Likewise.
14360 (grub_machine_init): Don't reserve os area.
14361 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14362 Don't call grub_dl_unload_all.
14363 Don't include loader.S.
14364 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14365 Declare the memory after _end as available.
14366 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14367 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14368 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14369 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14370 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14371 * include/grub/mm_private.h (grub_mm_header): ... here.
14372 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14373 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14374 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14375 (grub_mm_region): ..here. Removed addr. Added pre_size.
14376 All users updated.
14377 * grub-core/kern/mm.c (base): Renamed to ...
14378 (grub_mm_base): ... this. Made global.
14379 (grub_real_malloc): Alloc from end of region.
14380 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14381 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14382 * grub-core/kern/powerpc/cache_flush.S: ... here.
14383 * grub-core/lib/efi/relocator.c: New file.
14384 * grub-core/lib/i386/relocator.c: Rewritten.
14385 * grub-core/lib/i386/relocator16.S: New file.
14386 * grub-core/lib/i386/relocator32.S: Likewise.
14387 * grub-core/lib/i386/relocator64.S: Likewise.
14388 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14389 * grub-core/lib/i386/relocator_common.S: New file.
14390 * grub-core/lib/ieee1275/relocator.c: Likewise.
14391 * grub-core/lib/mips/relocator.c: Rewritten.
14392 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14393 stylistic adjustments.
14394 * grub-core/lib/powerpc/relocator.c: New file.
14395 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14396 * grub-core/lib/relocator.c: Rewritten.
14397 * grub-core/lib/x86_64/relocator_asm.S: New file.
14398 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14399 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14400 (bsd_tag): New struct.
14401 (tags): New variable.
14402 (tags_last): Likewise.
14403 (netbsd_module): New struct.
14404 (netbsd_mods): New variable.
14405 (netbsd_mods_last): Likewise.
14406 (openbsd_opts): New parameter "serial".
14407 (OPENBSD_SERIAL_ARG): New definition.
14408 (netbsd_opts): New parameter "serial".
14409 (NETBSD_SERIAL_ARG): New definition.
14410 (grub_freebsd_add_meta): Reorganised into ...
14411 (grub_bsd_add_meta): ...this. All users updated.
14412 (grub_freebsd_add_mmap): Reorganised into ...
14413 (generate_e820_mmap): ...this...
14414 (grub_bsd_add_mmap): ...and this. All users updated.
14415 (grub_freebsd_list_modules): Use tags.
14416 (grub_netbsd_add_meta_module): New function.
14417 (grub_netbsd_list_modules): Likewise.
14418 (grub_freebsd_boot): Use relocator and finish EFI.
14419 (grub_openbsd_boot): Likewise.
14420 (grub_netbsd_setup_video): New function.
14421 (grub_netbsd_add_modules): Likewise.
14422 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14423 and finish EFI.
14424 (grub_bsd_unload): Unload tags.
14425 (grub_bsd_load_aout): Use relocator.
14426 (grub_bsd_elf32_size_hook): New function.
14427 (grub_bsd_elf32_hook): Use relocator.
14428 (grub_bsd_elf64_size_hook): New function.
14429 (grub_bsd_elf64_hook): Use relocator.
14430 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14431 (grub_bsd_load): Zero-out openbsd_ramdisk.
14432 (grub_bsd_load): Use relocator.
14433 (grub_cmd_openbsd): Support serial.
14434 (grub_cmd_netbsd): Support modules.
14435 (grub_cmd_freebsd_module): Use relocator.
14436 (grub_netbsd_module_load): New function.
14437 (grub_cmd_netbsd_module): Likewise.
14438 (grub_cmd_openbsd_ramdisk): Likewise.
14439 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14440 kopenbsd_ramdisk.
14441 (GRUB_MOD_FINI): Unregister new commands.
14442 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14443 (grub_freebsd_load_elfmodule_obj): Use relocator.
14444 (grub_freebsd_load_elfmodule): Likewise.
14445 (grub_freebsd_load_elf_meta): Likewise.
14446 (grub_netbsd_load_elf_meta): New function.
14447 (grub_openbsd_find_ramdisk): Likewise.
14448 * grub-core/loader/i386/bsd_helper.S: Removed.
14449 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14450 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14451 * grub-core/loader/i386/efi/linux.c: Likewise.
14452 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14453 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14454 (DEFAULT_VIDEO_MODE): Likewise.
14455 (real_mode_target): New variable.
14456 (prot_mode_target): Likewise.
14457 (initrd_mem_target): Likewise.
14458 (relocator): Likewise.
14459 (efi_mmap_buf): Likewise.
14460 (efi_mmap_size): Likewise.
14461 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14462 (free_pages): Use relocator.
14463 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14464 (grub_linux_setup_video): Return error.
14465 (grub_linux_trampoline_start): Removed.
14466 (grub_linux_trampoline_end): Likewise.
14467 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14468 andd video parameters depending on firmware.
14469 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14470 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14471 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14472 (grub_cmd_initrd): Use relocator.
14473 * grub-core/loader/i386/linux_trampoline.S: Removed.
14474 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14475 (elf_sec_entsize): Likewise.
14476 (elf_sec_shstrndx): Likewise.
14477 (elf_sections): Likewise.
14478 (grub_multiboot_load): Use relocator.
14479 (grub_multiboot_get_mbi_size): Account for sections.
14480 (grub_multiboot_make_mbi): Use relocator and support sections.
14481 (grub_multiboot_add_elfsyms): New function.
14482 (grub_multiboot_free_mbi): Free sections.
14483 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14484 (grub_linux_real_target): Likewise.
14485 (grub_linux_real_chunk): Likewise.
14486 (grub_linux16_prot_size): Likewise.
14487 (grub_linux16_boot): Use relocator.
14488 (grub_linux_unload): Unload relocator.
14489 (grub_cmd_linux): Use relocator.
14490 (grub_cmd_initrd): Likewise.
14491 * grub-core/loader/i386/pc/ntldr.c: New file.
14492 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14493 Don't try to guess CPU frequency.
14494 (grub_xnu_set_video): Stretch bitmap.
14495 (grub_xnu_boot): Use relocator.
14496 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14497 (grub_linux_unload): Free relocator.
14498 (grub_linux_load32): Use relocator.
14499 (grub_linux_load64): Likewise.
14500 (grub_cmd_initrd): Likewise.
14501 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14502 (grub_multiboot_unload): Unload relocator.
14503 (grub_cmd_multiboot): Use relocator.
14504 (grub_cmd_module): Likewise.
14505 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14506 Use relocator and support sections.
14507 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14508 (elf_sec_entsize): Likewise.
14509 (elf_sec_shstrndx): Likewise.
14510 (elf_sections): Likewise.
14511 (grub_multiboot_load): Use relocator.
14512 (grub_multiboot_get_mbi_size): Account for sections.
14513 (grub_multiboot_make_mbi): Use relocator and support sections.
14514 (grub_multiboot_add_elfsyms): New function.
14515 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14516 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14517 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14518 Prototype changed. All users updated.
14519 (grub_xnu_align_heap): Simplified.
14520 (grub_xnu_writetree_toheap): Likewise.
14521 (grub_xnu_unload): Unload relocator.
14522 (grub_cmd_xnu_kernel): Use relocator.
14523 (grub_cmd_xnu_kernel64): Likewise.
14524 (grub_xnu_register_memory): Simplified.
14525 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14526 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14527 EFI is finished.
14528 (grub_console_checkkey): Likewise.
14529 (grub_console_getkey): Likewise.
14530 (grub_console_getwh): Likewise.
14531 (grub_console_getxy): Likewise.
14532 (grub_console_gotoxy): Likewise.
14533 (grub_console_cls): Likewise.
14534 (grub_console_setcolorstate): Likewise.
14535 (grub_console_setcursor): Likewise.
14536 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14537 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14538 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14539 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14540 * grub-core/tests/boot/kernel-8086.S: Likewise.
14541 * grub-core/tests/boot/kernel-i386.S: Likewise.
14542 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14543 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14544 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14545 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14546 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14547 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14548 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14549 * grub-core/tests/boot/linux.cfg: Likewise.
14550 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14551 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14552 * grub-core/tests/boot/linux16.cfg: Likewise.
14553 * grub-core/tests/boot/multiboot.cfg: Likewise.
14554 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14555 * grub-core/tests/boot/ntldr.cfg: Likewise.
14556 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14557 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14558 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14559 New definition.
14560 * include/grub/dl.h (grub_dl_unload_all): Removed.
14561 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14562 (grub_efi_finish_boot_services): Change prototype.
14563 (grub_efi_is_finished): New variable.
14564 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14565 Changed prototype.
14566 (grub_efiemu_finish_boot_services): Removed.
14567 (grub_machine_efiemu_init_tables): New prototype.
14568 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14569 (grub_elf64_phdr_iterate): Likewise.
14570 * include/grub/i386/bsd.h: Include relocator.h.
14571 (freebsd_tag_header): New struct.
14572 (grub_openbsd_bios_mmap): Removed.
14573 (grub_unix_real_boot): Removed.
14574 (grub_freebsd_load_elfmodule32): Changed prototype.
14575 (grub_freebsd_load_elfmodule_obj64): Likewise.
14576 (grub_freebsd_load_elf_meta32): Likewise.
14577 (grub_freebsd_load_elf_meta64): Likewise.
14578 (grub_freebsd_add_meta): Removed.
14579 (grub_netbsd_load_elf_meta32): New prototype.
14580 (grub_netbsd_load_elf_meta64): Likewise.
14581 (grub_bsd_add_meta): Likewise.
14582 (grub_openbsd_ramdisk_descriptor): New struct.
14583 (grub_openbsd_find_ramdisk32): New prototype.
14584 (grub_openbsd_find_ramdisk64): Likewise.
14585 * include/grub/i386/coreboot/loader.h: Removed.
14586 * include/grub/i386/efi/loader.h: Likewise.
14587 * include/grub/i386/ieee1275/loader.h: Likewise.
14588 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14589 to grub_uint32_t.
14590 * include/grub/i386/loader.h: Removed.
14591 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14592 value.
14593 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14594 (grub_phys_addr_t): New type.
14595 (grub_vtop): New inline function.
14596 (grub_map_memory): Likewise.
14597 (grub_unmap_memory): Likewise.
14598 * include/grub/i386/multiboot/loader.h: Removed.
14599 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14600 (NETBSD_BTINFO_CONSOLE): New definition.
14601 (NETBSD_BTINFO_SYMTAB): Likewise.
14602 (NETBSD_BTINFO_MODULES): Likewise.
14603 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14604 (grub_netbsd_bootinfo): New struct.
14605 (grub_netbsd_btinfo_common): Use explicit bitsize.
14606 (grub_netbsd_btinfo_mmap_entry): Removed.
14607 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14608 (grub_netbsd_btinfo_bootdisk): New struct.
14609 (grub_netbsd_btinfo_symtab): Likewise.
14610 (grub_netbsd_btinfo_serial): Likewise.
14611 (grub_netbsd_btinfo_modules): Likewise.
14612 (grub_netbsd_btinfo_framebuf): Likewise.
14613 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14614 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14615 Likewise.
14616 (grub_openbsd_bootargs): Use explicit bitsize.
14617 (grub_openbsd_bootarg_console): New struct.
14618 (GRUB_OPENBSD_COM_MAJOR): New definition.
14619 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14620 * include/grub/i386/pc/efiemu.h: Removed.
14621 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14622 * include/grub/i386/qemu/loader.h: Removed.
14623 * include/grub/i386/relocator.h: Rewritten.
14624 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14625 * include/grub/mips/memory.h: New file.
14626 * include/grub/mips/multiboot.h: Rewritten.
14627 * include/grub/mips/relocator.h: Rewritten.
14628 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14629 (grub_vtop): New function.
14630 (grub_map_memory): Likewise.
14631 (grub_unmap_memory): Likewise.
14632 * include/grub/misc.h (ALIGN_DOWN): New definition.
14633 * include/grub/mm.h (grub_mm_check_real): New proto.
14634 (GRUB_MM_CHECK): New definition.
14635 * include/grub/mm_private.h: New file.
14636 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14637 (grub_multiboot_get_mbi_size): Removed.
14638 (grub_multiboot_make_mbi): Change prottype.
14639 (grub_multiboot_set_accepts_video): New proto.
14640 (grub_multiboot_add_elfsyms): Likewise.
14641 (grub_multiboot_payload_eip): New variable.
14642 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14643 New prototype.
14644 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14645 New definition.
14646 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14647 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14648 * include/grub/powerpc/ieee1275/loader.h: Removed.
14649 * include/grub/powerpc/memory.h: New file.
14650 * include/grub/powerpc/relocator.h: Likewise.
14651 * include/grub/relocator.h: Likewise.
14652 * include/grub/relocator_private.h: Likewise.
14653 * include/grub/sparc64/ieee1275/loader.h: Removed.
14654 * include/grub/x86_64/memory.h: New file.
14655 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14656 (grub_xnu_heap_malloc): Likewise.
14657 (grub_xnu_heap_real_start): Removed.
14658 (grub_xnu_heap_start): Likewise.
14659 (grub_xnu_relocator): New variable.
14660 (grub_xnu_heap_target_start): Likewise.
14661 * tests/util/grub-shell.in: Support non-pc.
14662 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14663
5303b85d
VS
146642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14667 on malloc error.
14668 (grub_bidi_logical_to_visual): Check that malloc succeded.
14669 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14670 puts.
14671 (grub_xputs_normal): Likewise.
14672
d768d159
VS
146732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14676 extra_dist.
14677
146782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14681
5bf84df4
VS
146822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14685
3626810e
VS
146862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14689 dprintf.
14690
a7363f53
BC
146912010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14692
14693 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14694
902f75f6
VS
146952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * grub-core/normal/term.c (print_more): Fix a memory leak.
14698 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14699 (grub_xputs_normal): Likewise.
14700
3c707967
VS
147012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14704 the begining of the string
14705
2053cc07
VS
147062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/script/script.c (grub_script_parse): Free parsed on
14709 failure.
14710
46422ebf
VS
147112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14714 on failure.
14715
9e0fa3f6
VS
147162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14719 return.
14720
3393cf16
VS
147212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14724 (scroll_up): Fix a memory leak.
14725
b17540cb
VS
147262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14729 errors.
14730
67140446
VS
147312010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Handle USB pendrives exposed as floppies.
14734
14735 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14736 floppy.
14737 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14738 Check for partitions on all devices.
14739
e35e46fc
VS
147402010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14743 (readkey): Likewise.
14744
d24c6190
BC
147452010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14746
14747 Multiple variable names support to "export" command.
14748
14749 * normal/context.c (grub_cmd_export): "export" command supports
14750 multiple variable names.
14751
04ddcc6a
ST
147522010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14753
14754 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14755 --target=drive output to Mach device name.
14756
0c8b61d8
BC
147572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14758
14759 New Automake based build system for GRUB.
14760
14761 * ABOUT-NLS: New file.
14762 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14763 in Makefile.util.def file.
14764 * Makefile.util.def: New file. Autogen build definitions file for
14765 GRUB host utils.
14766 * conf/Makefile.common: New file. Common variables for GRUB host
14767 utils and target modules.
14768 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14769 * docs/Makefile.am: New file. Automake file for docs.
14770 * gentpl.py: New file. Python script to generate Autogen
14771 template.
14772 * grub-core/Makefile.am: New file. GRUB target modules' rules
14773 that doesn't fit in Makefile.core.def file.
14774 * grub-core/Makefile.core.def: New file. Autogen build
14775 definitions file for GRUB target modules.
14776 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14777 specific setjmp.S file.
14778 * po/Makefile.am: New file.
14779
14780 * .bzrignore: New ignores.
14781 * INSTALL: New requirements, without Ruby.
14782 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14783 * autogen.sh: Updated to invoke autogen as necessary.
14784 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14785 and defines for Automake conditionals.
14786 * geninit.sh: Refactoring.
14787
14788 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14789 necessary.
14790 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14791 New prototype.
14792
14793 * include/grub/test.h: Fix functional test modules' naming.
14794 * grub-core/tests/example_functional_test.c: Fix test module name.
14795
14796 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14797 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14798 * util/grub-editenv.c: Likewise.
14799 * util/grub-fstest.c: Likewise.
14800 * util/grub-mkdevicemap.c: Likewise.
14801 * util/grub-mkfont.c: Likewise.
14802 * util/grub-mkimage.c: Likewise.
14803 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14804 * util/grub-probe.c: Likewise.
14805 * util/grub-script-check.c: Likewise.
14806 * util/i386/pc/grub-setup.c: Likewise.
14807 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14808
14809 * tests/util/grub-shell.in: Fix override directory path.
14810 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14811 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14812
14813 * util/lvm.c: Update #includes.
14814 * util/raid.c: Likewise.
14815 * util/resolve.c: Likewise.
14816 * grub-core/bus/emu/pci.c: Likewise.
14817 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14818 * grub-core/lib/posix_wrap/string.h: Likewise.
14819 * grub-core/kern/emu/main.c: Likewise.
14820
14821 * grub-core/gensymlist.sh: New file. Script for generating kernel
14822 symbols file.
14823 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14824
14825 * grub-core/gentrigtables.c: Fix unused variable warnings.
14826
14827 * Makefile.in: Removed.
14828 * conf/any-emu.rmk: Removed.
14829 * conf/common.rmk: Removed.
14830 * conf/i386-coreboot.rmk: Removed.
14831 * conf/i386-efi.rmk: Removed.
14832 * conf/i386-ieee1275.rmk: Removed.
14833 * conf/i386-multiboot.rmk: Removed.
14834 * conf/i386-pc.rmk: Removed.
14835 * conf/i386-qemu.rmk: Removed.
14836 * conf/i386.rmk: Removed.
14837 * conf/mips-yeeloong.rmk: Removed.
14838 * conf/mips.rmk: Removed.
14839 * conf/powerpc-ieee1275.rmk: Removed.
14840 * conf/sparc64-ieee1275.rmk: Removed.
14841 * conf/tests.rmk: Removed.
14842 * conf/x86-efi.rmk: Removed.
14843 * conf/x86_64-efi.rmk: Removed.
14844 * gendistlist.sh: Removed.
14845 * geninitheader.sh: Removed.
14846 * genkernsyms.sh.in: Removed.
14847 * genmk.rb: Removed.
14848 * gensymlist.sh.in: Removed.
14849 * mkinstalldirs: Removed.
14850 * boot: Moved ...
14851 * grub-core/boot: ... to here.
14852 * bus: Moved ...
14853 * grub-core/bus: ... to here.
14854 * commands: Moved ...
14855 * grub-core/commands: ... to here.
14856 * disk: Moved ...
14857 * grub-core/disk: ... to here.
14858 * efiemu: Moved ...
14859 * grub-core/efiemu: ... to here.
14860 * font: Moved ...
14861 * grub-core/font: ... to here.
14862 * fs: Moved ...
14863 * grub-core/fs: ... to here.
14864 * gencmdlist.sh: Moved ...
14865 * grub-core/gencmdlist.sh: ... to here.
14866 * genemuinit.sh: Moved ...
14867 * grub-core/genemuinit.sh: ... to here.
14868 * genemuinitheader.sh: Moved ...
14869 * grub-core/genemuinitheader.sh: ... to here.
14870 * genfslist.sh: Moved ...
14871 * grub-core/genfslist.sh: ... to here.
14872 * genhandlerlist.sh: Moved ...
14873 * grub-core/genhandlerlist.sh: ... to here.
14874 * genmoddep.awk: Moved ...
14875 * grub-core/genmoddep.awk: ... to here.
14876 * genmodsrc.sh: Moved ...
14877 * grub-core/genmodsrc.sh: ... to here.
14878 * genpartmaplist.sh: Moved ...
14879 * grub-core/genpartmaplist.sh: ... to here.
14880 * genparttoollist.sh: Moved ...
14881 * grub-core/genparttoollist.sh: ... to here.
14882 * genterminallist.sh: Moved ...
14883 * grub-core/genterminallist.sh: ... to here.
14884 * gentrigtables.c: Moved ...
14885 * grub-core/gentrigtables.c: ... to here.
14886 * genvideolist.sh: Moved ...
14887 * grub-core/genvideolist.sh: ... to here.
14888 * gettext: Moved ...
14889 * grub-core/gettext: ... to here.
14890 * gfxmenu: Moved ...
14891 * grub-core/gfxmenu: ... to here.
14892 * gnulib: Moved ...
14893 * grub-core/gnulib: ... to here.
14894 * hello: Moved ...
14895 * grub-core/hello: ... to here.
14896 * hook: Moved ...
14897 * grub-core/hook: ... to here.
14898 * io: Moved ...
14899 * grub-core/io: ... to here.
14900 * kern: Moved ...
14901 * grub-core/kern: ... to here.
14902 * lib: Moved ...
14903 * grub-core/lib: ... to here.
14904 * loader: Moved ...
14905 * grub-core/loader: ... to here.
14906 * mmap: Moved ...
14907 * grub-core/mmap: ... to here.
14908 * normal: Moved ...
14909 * grub-core/normal: ... to here.
14910 * partmap: Moved ...
14911 * grub-core/partmap: ... to here.
14912 * parttool: Moved ...
14913 * grub-core/parttool: ... to here.
14914 * script: Moved ...
14915 * grub-core/script: ... to here.
14916 * term: Moved ...
14917 * grub-core/term: ... to here
14918 * tests/example_functional_test.c: Moved ...
14919 * grub-core/tests/example_functional_test.c: ... to here.
14920 * tests/lib/functional_test.c: Moved ...
14921 * grub-core/tests/lib/functional_test.c: ... to here.
14922 * tests/lib/test.c: Moved ...
14923 * grub-core/tests/lib/test.c: ... to here.
14924 * video: Moved ...
14925 * grub-core/video: ... to here.
14926
645586e6
BC
149272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14928
14929 Replace --enable-grub-emu-modules with grub-emu-lite.
14930
14931 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14932 cache.S.
14933
14934 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14935 * kern/emu/full.c: New file. For grub-emu specific initialization.
14936 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14937 * kern/emu/main.c: Call initialization function grub_emu_init.
14938
14939 * Makefile.in: Include grub-emu-lite in install.
14940 * commands/parttool.c: Use grub_no_autoload to differentiate
14941 between grub-emu and grub-emu-lite.
14942 * include/grub/misc.h: New variable grub_no_autoload.
14943
14944 * conf/any-emu.rmk: New rules for grub-emu-lite.
14945 * configure.ac: Remove --enable-grub-emu-modules.
14946 * genmk.rb: Cleanup unnecessary rules.
14947 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14948
14949 * normal/main.c: Don't load list files on grub-emu-lite.
14950 * util/misc.c (grub_arch_sync_caches): Removed.
14951
f86a4030
CW
149522010-08-23 Colin Watson <cjwatson@ubuntu.com>
14953
14954 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14955 grub-mkimage rather than grub-mkelfimage.
14956 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14957
06776944
VS
149582010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14961 a key after CapsLock or NumLock. It's just a qemu bug.
14962
df262419
VS
149632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14966 needed by libusb wrapper.
14967
b40ea81b
ST
149682010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14969
14970 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14971
dee50575
VS
149722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14975 --nounzip is passed.
14976
fb1d7b79
VS
149772010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 USB hotunplugging and USB serial support.
14980
14981 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14982 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14983 (grub_uhci_transfer): Respect timeout and set *actual.
14984 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14985 non-standard length.
14986 (grub_usb_device_attach): Autoload modules.
14987 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14988 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14989 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14990 users updated.
14991 (grub_usb_add_hub): Fill nports and children.
14992 (attach_root_port): Receive hub instead of controller.
14993 All users updated. Fill hub->devices.
14994 (grub_usb_root_hub): Allocate hub->devices.
14995 (detach_device): New function.
14996 (poll_nonroot_hub): Fill children and detach devices.
14997 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14998 actual arguments. All users updated.
14999 (grub_usb_bulk_read_extended): New function.
15000 * bus/usb/serial/common.c: New file.
15001 * bus/usb/serial/ftdi.c: Likewise.
15002 * bus/usb/serial/pl2303.c: Likewise.
15003 * commands/terminal.c (handle_command): Support wildcard.
15004 * commands/usbtest.c: Output "Unknown" instead of empty string.
15005 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15006 (usbserial_common_mod_SOURCES): New variable.
15007 (usbserial_common_mod_CFLAGS): Likewise.
15008 (usbserial_common_mod_LDFLAGS): Likewise.
15009 (pkglib_MODULES): Add usbserial_pl2303.mod.
15010 (usbserial_pl2303_mod_SOURCES): New variable.
15011 (usbserial_pl2303_mod_CFLAGS): Likewise.
15012 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15013 (pkglib_MODULES): Add usbserial_ftdi.mod.
15014 (usbserial_ftdi_mod_SOURCES): New variable.
15015 (usbserial_ftdi_mod_CFLAGS): Likewise.
15016 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15017 (pkglib_MODULES): Add serial.mod.
15018 (serial_mod_SOURCES): New variable.
15019 (serial_mod_CFLAGS): Likewise.
15020 (serial_mod_LDFLAGS): Likewise.
15021 * conf/i386-pc.rmk: Likewise.
15022 * conf/mips-yeeloong.rmk: Likewise.
15023 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15024 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15025 * disk/usbms.c (first_available_slot): New variable.
15026 (grub_usbms_attach): Don't reuse free slots due to potential cache
15027 problems.
15028 * include/grub/serial.h: Moved to ..
15029 * include/grub/ns8250.h: ...this.
15030 * include/grub/serial.h: New file.
15031 * include/grub/term.h (grub_term_poll_usb): New variable.
15032 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15033 readkey. All users updated.
15034 (grub_terminfo_output_state): Pass term to put.
15035 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15036 (grub_usb_controller_dev): Add timeout and actual arguments to
15037 transfer. All users updated.
15038 (grub_usb_interface): New field detach_data.
15039 (grub_usb_device): New fields children and nports.
15040 (grub_usb_ep_type_t): New type.
15041 (grub_usb_get_ep_type): New function.
15042 (grub_usb_bulk_read_extended): Likewise.
15043 * include/grub/usbdesc.h (grub_usb_desc): New type.
15044 * include/grub/usbserial.h: New file.
15045 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15046 * kern/term.c (grub_term_poll_usb): New variable.
15047 (grub_getkey): Call grub_term_poll_usb if set.
15048 (grub_checkkey): Likewise.
15049 (grub_getkeystatus): Likewise.
15050 * term/serial.c: Moved controller-specific parts to ...
15051 * term/ns8250.c: ... here.
15052 * term/serial.c: Mostly rewritten.
15053 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15054 according to spec.
15055
21a313de
RM
150562010-08-20 Robert Millan <rmh@gnu.org>
15057
15058 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15059 a separate module and maybe other interesting combinations.
15060
15061 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15062 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15063 (kfreebsd_entry): Add generic filesystem module load routine.
15064 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15065
63c734a6
CW
150662010-08-20 Colin Watson <cjwatson@ubuntu.com>
15067
15068 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15069 "numcenter" (I misunderstood the purpose of this entry).
15070 * docs/grub.texi (sendkey): Likewise.
15071
c4d16542
CW
150722010-08-20 Colin Watson <cjwatson@ubuntu.com>
15073
15074 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15075 status flag options; simply omitting the option is equivalent and
15076 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15077 (keysym_table): Rename "num5numlock" to "numlock".
15078 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15079 can uniformly say that only the last of multiple `sendkey'
15080 invocations has any effect.
15081 * docs/grub.texi (sendkey): New section.
15082
93541d66
CW
150832010-08-19 Colin Watson <cjwatson@ubuntu.com>
15084
15085 * commands/i386/pc/sendkey.c (options): Fix three typos.
15086
b4ece5e1
VS
150872010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 Implement sendkey support.
15090
15091 * commands/i386/pc/sendkey.c: New file.
15092 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15093 (sendkey_mod_SOURCES): New variable.
15094 (sendkey_mod_CFLAGS): Likewise.
15095 (sendkey_mod_LDFLAGS): Likewise.
15096
51f1f5af
CW
150972010-08-18 Colin Watson <cjwatson@ubuntu.com>
15098
15099 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15100 fix warnings from Autoconf.
15101
9da94e05
CW
151022010-08-18 Colin Watson <cjwatson@ubuntu.com>
15103
15104 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15105 to avoid false positives with some assemblers that output things
15106 like "someprefix_func" as part of their output.
15107
729a0f2e
RM
151082010-08-15 Robert Millan <rmh@gnu.org>
15109
15110 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15111 errors.
15112 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15113 grub_get_libzfs_handle() errors.
15114
f3710e08
RM
151152010-08-14 Robert Millan <rmh@gnu.org>
15116
15117 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15118 filesystem is not ZFS.
15119
7a3c13de
BC
151202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15121
15122 Fix for misspelled color names defaulting to black/black (bug
15123 reported by Doug Nazar)
15124
15125 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15126 status to prototype.
15127 * normal/color.c (grub_parse_color_name_pair): Return failure
15128 status.
15129 (grub_env_write_color_normal): Ignore bad color names.
15130 (grub_env_write_color_highlight): Likewise.
15131 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15132
ab8ba50d
BC
151332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15134
15135 "shift" command support to GRUB script.
15136
15137 * include/grub/script_sh.h (grub_script_shift): New prototype.
15138 * script/execute.c (grub_script_shift): New function.
15139 * script/main.c (grub_script_init): Register shift command.
15140 (grub_script_fini): Unregister shift command.
15141 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15142
15143 * tests/grub_script_shift.in: New testcase.
15144 * conf/tests.rmk: Rules for new testcase.
15145
4d61999e
BC
151462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15147
15148 "continue" command support to GRUB script.
15149
15150 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15151 (grub_script_break): Continue support.
15152 * script/main.c (grub_script_init): Register continue command.
15153 (grub_script_fini): Unregister continue command.
15154
15155 * tests/grub_script_continue.in: New testcase.
15156 * conf/tests.rmk: Rules for new testcase.
15157
4df51e00
BC
151582010-08-12 BVK Chaitanya <bvk@dbook>
15159
15160 "break" command support to GRUB script.
15161
15162 * conf/common.rmk: Rule updates to grub-script-check.
15163 * include/grub/misc.h (grub_min): New function.
15164 * include/grub/script_sh.h (grub_script_init): New prototype.
15165 (grub_script_fini): New prototype.
15166 (grub_script_break): New prototype.
15167 * script/main.c (grub_script_init): New function.
15168 (grub_script_fini): New function.
15169 * script/execute.c (grub_script_break): New function.
15170 * normal/main.c: Calls to grub_script_{init,fini}.
15171 * util/grub-script-check.c (grub_script_break): New function.
15172
15173 * tests/grub_script_break.in: New testcase.
15174 * conf/tests.rmk: Rules for new test case.
15175
f12c8420
BC
151762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15177
15178 Function parameters support to GRUB script.
15179
15180 * script/yylex.l (VARIABLE): Regular expression update.
15181 * script/function.c (grub_script_function_call): Moved ...
15182 * script/execute.c (grub_script_function_call): ... to here.
15183 (grub_script_execute_arglist_to_argv): Removed.
15184 (grub_script_arglist_to_argv): New function.
15185 * script/argv.c: New file.
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 * include/grub/script_sh.h (grub_script_argv): New struct.
15191 (grub_script_argv_free): New function.
15192 (grub_script_argv_next): Likewise.
15193 (grub_script_argv_append): Likewise.
15194 (grub_script_argv_split_append): Likewise.
15195
15196 * conf/common.rmk (normal.mod): New source script/argv.c.
15197
15198 * tests/grub_script_echo1.in: More tests.
15199 * tests/grub_script_vars1.in: Likewise.
15200 * tests/grub_script_functions.in: New test case.
15201 * conf/tests.rmk: Rules for new testcase.
15202
8022b748
BC
152032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15204
15205 Remove grub_script_cmdblock struct.
15206
15207 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15208 * script/parser.y: Likewise.
15209 * script/execute.c: Rename cmdblock suffix to cmdlist.
15210 * script/script.c: Likewise.
15211 * util/grub-script-check.c: Likewise.
15212
79a6ba61
YB
152132010-08-11 Yves Blusseau <blusseau@zetam.org>
15214
15215 * .bzrignore: add grub-macho2img
15216
d04b9414
VS
152172010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15220
f947ab49
VS
152212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 Remove the dump of sm712 initialisation sequence.
15224
15225 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15226 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15227 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15228 (GRUB_VGA_CR_*): Added many registers.
15229 (GRUB_VGA_SR_*): Likewise.
15230 (GRUB_VGA_GR_*): Likewise.
15231 (grub_vga_write_arx): New function.
15232 (grub_video_hw_config): New struct.
15233 (grub_vga_set_geometry): New function.
15234 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15235 GRUB_PCI_CLASS_SUBCLASS_VGA.
15236 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15237 * video/sm712.c (grub_sm712_write_reg): New function
15238 (grub_sm712_read_reg): Likewise.
15239 (grub_sm712_sr_write): Likewise.
15240 (grub_sm712_gr_write): Likewise.
15241 (grub_sm712_cr_write): Likewise.
15242 (grub_sm712_write_arx): Likewise.
15243 (grub_sm712_cr_shadow_write): Likewise.
15244 (grub_sm712_write_dda_lookup): Likewise.
15245 (grub_video_sm712_setup): Initialise the video rather then
15246 blindly replay the dump.
15247 (main) [TEST]: Add a routine to be able to compile as standalone for
15248 tests.
15249 * video/sm712_init.c (sm712_init): Removed.
15250 (sm712_sr_seq1): New array.
15251 (sm712_sr_seq2): Likewise.
15252
f0206638
VS
152532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * include/grub/vga.h: Add missing grub/pci.h include.
15256
2764da3b
YB
152572010-08-10 Yves Blusseau <blusseau@zetam.org>
15258
15259 * util/grub-macho2img.c (main): fix typo
15260
cf0c775e
VS
152612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15264 (grub_vga_gr_read): Likewise.
15265 (grub_vga_cr_write): Likewise.
15266 (grub_vga_cr_read): Likewise.
15267 (grub_vga_sr_write): Likewise.
15268 (grub_vga_sr_read): Likewise.
15269 (grub_vga_palette_read): Likewise.
15270 (grub_vga_palette_write): Likewise.
15271 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15272 (grub_sm712_sr_read): New function.
15273 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15274 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15275
07f360e9
RM
152762010-08-09 Robert Millan <rmh@gnu.org>
15277
15278 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15279 out unused variables on non-ZFS build.
15280
346c2072
RM
152812010-08-08 Robert Millan <rmh@gnu.org>
15282
15283 Fix path generation for sub-filesystems in ZFS.
15284
15285 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15286 missing slash.
15287
71175420
RM
152882010-08-08 Robert Millan <rmh@gnu.org>
15289
15290 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15291
0d8286f3
RM
152922010-08-08 Robert Millan <rmh@gnu.org>
15293
15294 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15295 exist, issue a proper error message (rely on `ls' for translated
15296 strings).
15297
55dd2924
RM
152982010-08-08 Robert Millan <rmh@gnu.org>
15299
15300 Fix grub-probe invocation.
15301
15302 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15303
d3dd9e80
RM
153042010-08-04 Robert Millan <rmh@gnu.org>
15305
15306 * configure.ac: Remove checks for getfsstat() and getmntany().
15307 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15308 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15309 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15310 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15311 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15312 function.
15313 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15314 via find_mount_point_from_dir() and getfsstat() / getmntany().
15315
0de22aa9
RM
153162010-08-04 Robert Millan <rmh@gnu.org>
15317
15318 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15319 (grub_find_zpool_from_mount_point): Merge into ...
15320 (grub_find_zpool_from_dir): ... this.
15321 * kern/emu/misc.c: Likewise.
15322
15323 * kern/emu/misc.c
15324 (grub_make_system_path_relative_to_its_root): Replace
15325 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15326 with grub_find_zpool_from_dir().
15327 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15328
62858144
RM
153292010-08-04 Robert Millan <rmh@gnu.org>
15330
15331 Support OpenSolaris in ZFS device resolution.
15332
15333 * configure.ac: Check for getmntany().
15334 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15335 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15336 support.
15337
9dd6fd50
RM
153382010-08-03 Robert Millan <rmh@gnu.org>
15339
15340 Fix grub-emu build.
15341
15342 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15343 * include/grub/emu/misc.h: ... here.
15344
15345 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15346 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15347
15348 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15349 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15350 (grub_get_libzfs_handle): Move to ...
15351 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15352 (grub_get_libzfs_handle): ... here.
15353
c9f7ff97
BC
153542010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15355
15356 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15357 as command name case.
15358
a870a783
CW
153592010-08-02 Colin Watson <cjwatson@ubuntu.com>
15360
15361 * disk/raid.c (insert_array): Select unique numbers for named arrays
15362 as well, for use as keys in the disk cache.
15363
c7db243b
RM
153642010-08-01 Robert Millan <rmh@gnu.org>
15365
15366 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15367 kFreeBSD device name, except on ZFS where the filesystem label is
15368 used.
15369 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15370 `/boot/zfs/zpool.cache'.
15371 Set mountfrom kernel variable using ${kfreebsd_device}.
15372
f7abdefb
RM
153732010-08-01 Robert Millan <rmh@gnu.org>
15374
15375 Make it even harder to use uninitialized `libzfs_handle' (and
15376 make the interface a bit simpler).
15377
15378 * include/grub/util/misc.h (grub_util_init_libzfs)
15379 (libzfs_handle): Remove.
15380 (grub_get_libzfs_handle): New prototype.
15381
15382 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15383 attribute.
15384 (grub_util_init_libzfs): Remove.
15385 (grub_get_libzfs_handle): New function.
15386
15387 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15388 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15389 accessing `libzfs_handle' directly.
15390
c882acc0
RM
153912010-08-01 Robert Millan <rmh@gnu.org>
15392
15393 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15394 (grub_find_zpool_from_mount_point): New function prototypes.
15395
15396 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15397 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15398
15399 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15400 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15401 `static' attribute.
15402
15403 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15404 finding zpool from mount point into ...
15405 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15406
15407 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15408 requested path is part of a ZFS pool, use
15409 grub_find_zpool_from_mount_point() to detect its filesystem name,
15410 and generate a path with `/fsname@path' syntax.
15411
8bfe31d8
CW
154122010-08-01 Colin Watson <cjwatson@ubuntu.com>
15413
15414 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15415 (void) rather than () so that this is a proper prototype.
15416
553df63d
VS
154172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15420
8687cf07
VS
154212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15424 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15425
ea9be8ea
CW
154262010-08-01 Colin Watson <cjwatson@ubuntu.com>
15427
15428 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15429
6eea041a
CW
154302010-08-01 Colin Watson <cjwatson@ubuntu.com>
15431
15432 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15433
2cfb45df
CW
154342010-08-01 Colin Watson <cjwatson@ubuntu.com>
15435
15436 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15437 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15438 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15439 disable gfxpayload.
15440 (Shell-like scripting): Add real content.
15441 (Serial terminal): Suggest `terminal_input serial; terminal_output
15442 serial' rather than putting the two commands on separate lines,
15443 since console input will be inoperative after the first command.
15444 (menuentry): Document --class, --users, and --hotkey options.
15445 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15446 Vladimir Serbinenko).
15447
7decd202
VS
154482010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
154492010-08-01 Colin Watson <cjwatson@ubuntu.com>
15450
15451 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15452
c882acc0
RM
154532010-08-01 Robert Millan <rmh@gnu.org>
15454
15455 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15456 (grub_find_zpool_from_mount_point): New function prototypes.
15457
15458 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15459 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15460
15461 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15462 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15463 `static' attribute.
15464
15465 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15466 finding zpool from mount point into ...
15467 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15468
15469 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15470 requested path is part of a ZFS pool, use
15471 grub_find_zpool_from_mount_point() to detect its filesystem name,
15472 and generate a path with `/fsname@path' syntax.
15473
deb0caa3
RM
154742010-08-01 Robert Millan <rmh@gnu.org>
15475
15476 Prevent accidental use of uninitialized libzfs_handle.
15477
15478 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15479 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15480 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15481
ce04ef47
CW
154822010-08-01 Colin Watson <cjwatson@ubuntu.com>
15483
15484 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15485 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15486
ebf53056
RM
154872010-08-01 Robert Millan <rmh@gnu.org>
15488
15489 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15490
3710bb6b
RM
154912010-07-31 Robert Millan <rmh@gnu.org>
15492
15493 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15494
8072efeb
RM
154952010-07-31 Robert Millan <rmh@gnu.org>
15496
15497 * kern/emu/misc.c: Add missing license header.
15498
3169f4c7
RM
154992010-07-31 Robert Millan <rmh@gnu.org>
15500
15501 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15502
15503 * include/grub/util/libnvpair.h: Include `<config.h>'.
15504 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15505 declaring libnvpair prototypes ourselves.
15506 * include/grub/util/libzfs.h: Include `<config.h>'.
15507 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15508 declaring libzfs prototypes ourselves.
15509
15510 (libzfs_handle): Moved to ...
15511 * include/grub/util/misc.h (libzfs_handle): ... here.
15512 Include `<grub/util/libzfs.h>'.
15513
c9a00aee
RM
155142010-07-30 Robert Millan <rmh@gnu.org>
15515
15516 * include/grub/emu/misc.h: Add missing license header.
15517
a184f9c8
RM
155182010-07-30 Robert Millan <rmh@gnu.org>
15519
15520 Enable `grub-probe -t device' resolution on ZFS.
15521
15522 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15523 * include/grub/util/libnvpair.h: New file.
15524 * include/grub/util/libzfs.h: New file.
15525
15526 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15527 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15528 `<grub/util/libnvpair.h>'.
15529 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15530
15531 (find_mount_point_from_dir): New static function.
15532 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15533 function.
15534 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15535 find_root_device_from_libzfs() before ressorting to find_root_device().
15536
15537 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15538 prototype.
15539 * util/misc.c: Include `<grub/util/libzfs.h>'.
15540 (grub_util_init_libzfs): New function.
15541 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15542 [HAVE_LIBZFS] (fini_libzfs): New static function.
15543 (grub_util_init_libzfs): New function.
15544 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15545
f7790cdd
RM
155462010-07-30 Robert Millan <rmh@gnu.org>
15547
15548 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15549 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15550 `warn_unused_result' attribute.
15551 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15552 (grub_xasprintf, grub_xvasprintf): Likewise.
15553 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15554
0806b63c
RM
155552010-07-29 Robert Millan <rmh@gnu.org>
15556
15557 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15558 (probe): Handle `PRINT_FS_LABEL'.
15559 (main): Handle `-t fs_label'.
15560
9f841f5c
RM
155612010-07-29 Robert Millan <rmh@gnu.org>
15562
15563 * configure.ac: Remove grub-mkisofs checks.
15564
46371121
VS
155652010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15568 Reported by: Lennart Sorensen.
15569
155702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15573 prior to terminal_input/terminal_output separation. It's been over 1.5
15574 years and those versions weren't widely deployed.
15575
a9600892
CW
155762010-07-22 Colin Watson <cjwatson@ubuntu.com>
15577
15578 * disk/raid.c (insert_array): Don't count named arrays when looking
15579 for unused array numbers.
697e053c 15580 Reported and tested by: Michael Guntsche.
a9600892 15581
c03507df
CW
155822010-07-20 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15585 implementation of this so that grub-emu links again, with a note
15586 that this should support hotplugging in the future.
15587
b26f1c11
CW
155882010-07-20 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15591
efc9d7f1
CW
155922010-07-20 Colin Watson <cjwatson@ubuntu.com>
15593
15594 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15595 handle on failure.
15596 (grub_loopback_close): Remove empty function.
15597 (grub_loopback_dev): Remove close method.
15598
dd8ff5c9
CW
155992010-07-20 Colin Watson <cjwatson@ubuntu.com>
15600
15601 Disable EFI cursor when the EFI console becomes inactive.
15602
15603 * term/efi/console.c (grub_efi_console_init): New function.
15604 (grub_efi_console_fini): New function.
15605 (grub_console_term_output): Register init and fini methods.
15606
5e3bec67
VS
156072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15610 sh script.
15611
afaec079
VS
156122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * disk/loopback.c (grub_loopback): Replace filename with file.
15615 (delete_loopback): Handle new semantics.
15616 (grub_cmd_loopback): Likewise.
15617 (grub_loopback_iterate): Likewise.
15618 (grub_loopback_close): Likewise.
15619
a6a11f3c
VS
156202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15623 with -p "".
15624 Reported by: Tito Keitel.
15625
64a638b0
VS
156262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * docs/grub.texi (Naming convention): Document new naming convention.
15629
ab8ba957
VS
156302010-07-20 Vadim Solomin <vadic052@gmail.com>
156312010-07-20 Colin Watson <cjwatson@ubuntu.com>
15632
15633 Generate device.map in something closer to the old ordering.
15634
15635 * util/deviceiter.c (struct device): New declaration.
15636 (compare_file_names): Rename to ...
15637 (compare_devices): ... this. Sort by kernel name in preference to
15638 the stable by-id name, but keep the latter as a fallback comparison.
15639 Update header comment.
15640 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15641 of `struct device' rather than of plain file names.
15642
a29d6a4b
TF
156432010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15644
15645 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15646 on i386.
15647
39d824e8
VS
156482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15651 hardcoding size.
15652 (setv1table): Likewise.
15653
f058276b
FZ
156542010-07-20 Colin Watson <cjwatson@ubuntu.com>
15655
15656 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15657 removing the homehost if present.
15658 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15659 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15660 removing the homehost if present.
15661 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15662 if possible.
15663 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15664
15665 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15666 parameter. Set its pointer target to 0.
15667 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15668 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15669 `data_offset' value from the superblock for 1.x metadata.
15670 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15671 data on the device.
15672 (insert_array): Record the start sector of data on the device.
15673 (grub_raid_register): Pass start_sector parameters to
15674 grub_raid_list->detect and insert_array.
15675 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15676 member.
15677 (struct grub_raid): Add start_sector parameter to `detect'.
15678
15679 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15680 __attribute__ ((packed)), leaving a comment.
15681 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15682 (grub_mdraid_detect_09): ... here and ...
15683 (grub_mdraid_detect_1x): ... here.
15684
156852010-07-20 Peter Henn <peter.henn@web.de>
15686
15687 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15688 chunk size and disk size, which are already given as sector counts
15689 as distinct from the 0.90 units. Fetch the correct device number
15690 from the role table instead of using the table index.
15691
156922010-07-20 Felix Zielcke <fzielcke@z-51.de>
15693
15694 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15695 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15696 (WriteMostly1): New macro.
15697 Set array->name to NULL for metadata format 0.90. Add support for
15698 metadata 1.x. Fix some comments.
15699 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15700 few comments.
15701 * util/getroot.c (grub_util_get_grub_dev): Add support for
15702 /dev/md/name style devices.
15703
4b761da9
CW
157042010-07-20 Colin Watson <cjwatson@ubuntu.com>
15705
15706 * .bzrignore: Ignore 20_linux_xen.
15707
5771289a
CW
157082010-07-17 Colin Watson <cjwatson@ubuntu.com>
15709
15710 * util/import_unicode.py: Remove unnecessary imports.
15711
5dab68df
AN
157122010-07-17 Aleš Nesrsta <starous@volny.cz>
15713
15714 Hotplugging and USB hub support.
15715
15716 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15717 (grub_ohci): Likewise.
15718 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15719 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15720 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15721 (GRUB_OHCI_CTRL_EDS): Likewise.
15722 (GRUB_OHCI_BULK_EDS): Likewise.
15723 (GRUB_OHCI_TDS): Likewise.
15724 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15725 (grub_ohci_ed_phys2virt): New function.
15726 (grub_ohci_virt_to_phys): Likewise.
15727 (grub_ohci_td_phys2virt): Likewise.
15728 (grub_ohci_td_virt2phys): Likewise.
15729 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15730 attachment.
15731 (grub_ohci_find_ed): New function.
15732 (grub_ohci_alloc_td): Likewise.
15733 (grub_ohci_free_td): Likewise.
15734 (grub_ohci_free_tds): Likewise.
15735 (grub_ohci_transfer): Use previously allocated memory.
15736 (grub_ohci_portstatus): Reset status changed bit.
15737 (grub_ohci_detect_dev): Supply status changed.
15738 (grub_ohci_fini_hw): Free memory.
15739 (grub_ohci_restore_hw): Reallocate memory.
15740 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15741 Reset status change.
15742 (grub_uhci_detect_dev): Supply status_change.
15743 * bus/usb/usb.c (attach_hooks): New var.
15744 (grub_usb_device_attach): New function.
15745 (grub_usb_register_attach_hook_class): Likewise.
15746 (grub_usb_unregister_attach_hook_class): Likewise.
15747 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15748 (grub_usb_add_hub): Reset connection changed bit.
15749 (attach_root_port): New function.
15750 (grub_usb_root_hub): Likewise.
15751 (poll_nonroot_hub): Likewise.
15752 (grub_usb_poll_devices): Likewise.
15753 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15754 * disk/usbms.c (grub_usbms_open): Use device hooks.
15755 (grub_usbms_iterate) :Poll devices.
15756 (grub_usbms_finddevs): Split into ...
15757 (grub_usbms_attach): ... this ...
15758 (grub_usbms_attach): ... and this.
15759 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15760 in detect_dev.
15761 (grub_usb_interface): New fields attached and detach_hook.
15762 (grub_usb_attach_hook_class): New type.
15763 (grub_usb_attach_desc): New struct.
15764 (grub_usb_register_attach_hook_class): New function.
15765 (grub_usb_unregister_attach_hook_class): Likewise.
15766 (grub_usb_poll_devices): Likewise.
15767 (grub_usb_device_attach): Likewise.
15768 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15769 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15770
3222efaf
VS
157712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15774 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15775 delta determination style. Works with most NetBSD partitions too.
15776
139b714a
VS
157772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15780 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15781
986aad56
VS
157822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15785
99be513c
AB
157862010-07-14 Anton Blanchard <anton@samba.org>
15787
15788 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15789 ET_DYN files.
15790
18075f62
GS
157912010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15792
15793 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15794
8d9a5b15
GS
157952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15796
15797 * kern/partition.c (grub_partition_check_containment): New function to
15798 check that a partition is physically contained in a parent. Since
15799 offsets are relative (and non-negative), this reduces to checking that
15800 the partition ends before its parent.
15801 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15802 (grub_partition_iterate): Likewise.
15803 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15804 comments.
15805 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15806 partitions that start before their parent, and add debug printfs.
15807
19563c25
CW
158082010-07-13 Colin Watson <cjwatson@ubuntu.com>
15809
15810 * Makefile.in (.SUFFIX): Spell correctly, as ...
15811 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15812 bare module name without `.mod', e.g. `test') tried to invoke a
15813 Modula-2 compiler.
15814
1a1f1e67
CW
158152010-07-13 Colin Watson <cjwatson@ubuntu.com>
15816
15817 * README: Point to the Info manual.
15818
811b0dca
JS
158192010-07-13 Jiro SEKIBA <jir@unicus.jp>
15820
15821 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15822 2nd superblock position from partition size.
15823
e4f4eafc
CW
158242010-07-10 Colin Watson <cjwatson@ubuntu.com>
15825
15826 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15827 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15828 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15829 outputs.
15830
4274c30f
VS
158312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 Restructure SCSI .id handling.
15834 Reported and tested by: Aleš Nesrsta.
15835
15836 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15837 (grub_atapi_dev): Changed .name to "ata". New field .id.
15838 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15839 (grub_usbms_dev): New field .id.
15840 * disk/scsi.c (grub_scsi_iterate): Generate name.
15841 (grub_scsi_open): Parse name.
15842 * include/grub/scsi.h (grub_make_scsi_id): New function.
15843 (grub_scsi_dev): Change iterate and open to number instead of naming
15844 busses. All users updated.
15845 (grub_scsi): Remove name. Add .bus.
15846
5bc24388
VS
158472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 * commands/help.c (grub_cmd_help): Fix a typo.
15850
249975ba
VS
158512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15854 Reported and tested by: Colin Watson.
15855
3eaac1a1
VS
158562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15859 in this context.
15860
becce1b1
VS
158612010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15864
f7bf0918
CW
158652010-07-07 Colin Watson <cjwatson@ubuntu.com>
15866
15867 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15868 indentation.
15869
0b0f9620
CW
158702010-07-06 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15873 and disk/raid6_recover.c.
15874 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15875 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15876
1e545469
CW
158772010-07-06 Colin Watson <cjwatson@ubuntu.com>
15878
15879 * term/gfxterm.c (repaint_schedulded): Rename to ...
15880 (repaint_scheduled): ... this. Update all callers.
15881 (repaint_was_schedulded): Rename to ...
15882 (repaint_was_scheduled): ... this. Update all callers.
15883
5357687a
CW
158842010-07-06 Colin Watson <cjwatson@ubuntu.com>
15885
15886 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15887 which we expect to be handled by upper layers.
15888
29d7e783
BC
158892010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15890
15891 * bus/usb/usbhub.c: #include time.h header.
15892
37582066
CW
158932010-07-06 Colin Watson <cjwatson@ubuntu.com>
15894
15895 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15896 entry_name also for entries without stat blocks (e.g. ".."); fixes
15897 corruption of the first entry in a directory.
15898
c8c06953
CW
158992010-07-06 Colin Watson <cjwatson@ubuntu.com>
15900
15901 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15902 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15903 doesn't work otherwise.
15904
e75056f1
CW
159052010-07-05 Colin Watson <cjwatson@ubuntu.com>
15906
15907 * docs/grub.texi (Features): Update list of supported file systems.
15908 (GNU/Linux): Update for GRUB 2.
15909 (Serial terminal): Remove mention of --disable-serial, which was a
15910 GRUB Legacy configure option. Update instructions to use
15911 `terminal_input' and `terminal_output' rather than `terminal'.
15912 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15913 configuration' and `Installing GRUB using grub-install'.
15914 (Menu entry editor): Update for GRUB 2.
15915 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15916 Document new -a, -u, and -v options.
15917 (initrd): New section.
15918 (initrd16): New section.
15919 (linux): New section.
15920 (linux16): New section.
15921 (search): The `var' argument to `--set' is optional.
15922 (GRUB only offers a rescue shell): Go into a little more detail on
15923 drive ordering.
15924
5cf69151
CW
159252010-07-05 Colin Watson <cjwatson@ubuntu.com>
15926
15927 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15928
e3f90044
CW
159292010-07-05 Colin Watson <cjwatson@ubuntu.com>
15930
15931 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15932 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15933
38d8f4f3
CW
159342010-07-05 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15937 install_prefix, in line with install_dos_part and install_bsd_part.
15938 Add new prefix variable, which is copied to install_prefix after
15939 comparing core.img in memory with the one read from disk in the
15940 no-embedding case, and use that rather than overwriting
15941 install_prefix immediately when installing to a partition.
15942 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15943 Bicakci.
15944
57ebd41e
GS
159452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15946
15947 * configure.ac: Avoid == in test command, it's not portable.
15948 * util/grub.d/30_os-prober.in: Likewise.
15949
cb7f64b2
CW
159502010-07-04 Colin Watson <cjwatson@ubuntu.com>
15951
15952 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15953
6b654bb0
GS
159542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15955
15956 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15957 multiple (top-level) partmaps.
15958
72a2026d
VS
159592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15962 Reported by: Tino Keitel.
72a2026d 15963
df3eb88f
VS
159642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 Bidi and diacritics support.
15967
15968 * Makefile.in (widthspec.bin): New target.
15969 (widthspec.h): Likewise.
15970 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15971 * autogen.sh: Generate unidata.c.
15972 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15973 * commands/ls.c (grub_ls_list_devices): Likewise.
15974 (grub_ls_list_files): Likewise.
15975 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15976 (grub_mini_cmd_lsmod): Likewise.
15977 * commands/read.c: Likewise.
15978 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15979 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15980 * lib/arg.c (grub_arg_show_help): Likewise.
15981 * lib/crypto.c (grub_password_get): Likewise.
15982 * normal/auth.c (grub_username_get): Likewise.
15983 * normal/misc.c (grub_normal_print_device_info): Likewise.
15984 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15985 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15986 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15987 (normal/charset.c_DEPENDENCIES): New variable.
15988 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15989 (pkglib_MODULES): Remove charset.mod.
15990 (charset_mod_SOURCES): Removed.
15991 (charset_mod_CFLAGS): Likewise.
15992 (charset_mod_LDFLAGS): Likewise.
15993 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15994 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15995 and term/tparm.c.
15996 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15997 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15998 (kernel_img_HEADERS): Add terminfo.h.
15999 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16000 Fill ->font. Reverse ascii bitmaps.
16001 (grub_font_get_xheight): New function.
16002 * font/font.c (grub_font_get_string_width): Moved from here ...
16003 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16004 * font/font.c (grub_font_draw_string): Moved from here ...
16005 * gfxmenu/font.c (grub_font_draw_string): ... here.
16006 * font/font.c (grub_font_dup_glyph): New function.
16007 (grub_font_blit_glyph): Likewise.
16008 (grub_font_blit_glyph_mirror): Likewise.
16009 (blit_comb): Likewise.
16010 (grub_font_construct_dry_run): Likewise.
16011 (grub_font_get_constructed_device_width): Likewise.
16012 (grub_font_construct_glyph): Likewise.
16013 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16014 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16015 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16016 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16017 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16018 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16019 (grub_font_get_xheight): New proto.
16020 (grub_font_get_constructed_device_width): Likewise.
16021 (grub_font_construct_glyph): Likewise.
16022 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16023 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16024 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16025 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16026 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16027 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16028 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16029 (grub_console_getcharwidth): Likewise.
16030 * include/grub/misc.h (grub_xputs): New proto.
16031 (grub_puts): Inlined.
16032 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16033 (grub_normal_get_line_counter): Removed.
16034 (grub_install_newline_hook): Likewise.
16035 (grub_normal_get_char_counter): New proto.
16036 (grub_normal_reset_more): Likewise.
16037 (grub_xputs_normal): Likewise.
16038 * include/grub/powerpc/ieee1275/console.h: Removed.
16039 * include/grub/sparc64/ieee1275/console.h: Likewise.
16040 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16041 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16042 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16043 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16044 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16045 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16046 (grub_term_input): Pass reference to self. All users updated.
16047 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16048 Pass reference to self. New fields normal_color, highlight_color and
16049 data. All users updated.
16050 (grub_putchar): Removed.
16051 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16052 (grub_unicode_estimate_width): New function.
16053 (grub_term_getcharwidth): Add defaults.
16054 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16055 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16056 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16057 (grub_cls): Remove EXPORT_FUNC.
16058 (grub_setcolorstate): Inline.
16059 (grub_newline_hook): Removed.
16060 * include/grub/terminfo.h: Rewritten. All users updated.
16061 * include/grub/unicode.h: New file.
16062 * include/grub/video.h (grub_video_signed_rect): New type.
16063 * kern/emu/console.c (grub_console_highlight_color): Removed.
16064 (grub_console_normal_color): Likewise.
16065 (grub_console_standard_color): Made static.
16066 (grub_ncurses_putchar): Remove mapping.
16067 (grub_ncurses_getcharwidth): Removed.
16068 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16069 (grub_ncurses_setcolor): Removed.
16070 (grub_ncurses_getcolor): Likewise.
16071 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16072 (grub_console_putchar): ... this.
16073 (grub_console_putchar): Handle argument difference.
16074 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16075 console_init_early and console_init_lately.
16076 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16077 * kern/misc.c (grub_puts): Removed.
16078 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16079 (grub_vsnprintf_real): Remove str = NULL support.
16080 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16081 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16082 * kern/term.c (grub_putcode): Renamed to ...
16083 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16084 (grub_putchar): Removed.
16085 (grub_xputs_dumb): New function.
16086 (grub_xputs): New variable.
16087 * lib/charset.c: Move from here ...
16088 * normal/charset.c: ... to here.
16089 (grub_ucs4_to_utf8): New function.
16090 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16091 (join_types): New variable.
16092 (unpack_join): New function.
16093 (bidi_types): New variable.
16094 (unpack_bidi): New function.
16095 (get_bidi_type): Likewise.
16096 (get_join_type): Likewise.
16097 (is_mirrored): Likewise.
16098 (grub_unicode_get_comb_type): Likewise.
16099 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16100 (is_type_after): Likewise.
16101 (grub_unicode_aglomerate_comb): Likewise.
16102 (bidi_line_wrap): Likewise.
16103 (grub_bidi_line_logical_to_visual): Likewise.
16104 (grub_bidi_logical_to_visual): Likewise.
16105 (grub_unicode_mirror_code): Likewise.
16106 (grub_unicode_shape_code): Likewise.
16107 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16108 Don't use grub_putchar.
16109 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16110 (grub_normal_reader_init): Likewise.
16111 (grub_xputs_saved): New variable.
16112 (GRUB_MOD_INIT): Set grub_xputs.
16113 (GRUB_MOD_FINI): Restore grub_xputs.
16114 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16115 (menu_init): Avoid printing gfxmenu error.
16116 (show_menu): Use grub_normal_get_char_counter.
16117 * normal/menu_entry.c (update_screen): Fix out-of-array.
16118 (complete): Avoid NULL dereferencing.
16119 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16120 * normal/menu_text.c (print_spaces): Removed.
16121 (grub_print_ucs4): Likewise.
16122 (grub_print_message_indented): Use grub_print_ucs4.
16123 (print_message): Use grub_putcode.
16124 (print_entry): Hanlde diacritics.
16125 * normal/term.c (term_state): New type.
16126 (grub_more_lines): Removed.
16127 (term_states): New variable.
16128 (grub_normal_line_counter): Renamed to ..
16129 (grub_normal_char_counter): ...this. All users updated.
16130 (grub_normal_get_line_counter): Renamed to ...
16131 (grub_normal_get_char_counter): ... this.
16132 (grub_normal_reset_more): New function.
16133 (process_newline): Removed.
16134 (print_more): New function.
16135 (grub_install_newline_hook): Removed.
16136 (map_code): New function.
16137 (grub_puts_terminal): Use grub_print_ucs4.
16138 (putglyph): New function.
16139 (putcode_real): Likewise.
16140 (grub_putcode): Use putcode_real.
16141 (get_maxwidth): New function.
16142 (get_startwidth): Likewise.
16143 (print_ucs4_terminal): Likewise.
16144 (find_term_state): Likewise.
16145 (put_glyphs_terminal): Likewise.
16146 (print_backlog): Likewise.
16147 (print_ucs4_real): Likewise.
16148 (grub_print_ucs4): Likewise.
16149 (grub_xputs_normal): Likewise.
16150 * term/efi/console.c (grub_console_putchar): Output diacritics.
16151 (grub_console_getcharwidth): Removed.
16152 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16153 * term/gfxterm.c (clear_char): Free chars.
16154 (scroll_up): Avoid leaking memory.
16155 (grub_gfxterm_putchar): Support diacritics.
16156 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16157 * term/i386/pc/console.c (grub_console_term_output): Declare as
16158 GRUB_TERM_CODE_TYPE_VGA.
16159 * term/i386/pc/vga.c (grub_vga_term): Declare as
16160 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16161 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16162 GRUB_TERM_CODE_TYPE_VGA.
16163 * term/i386/vga_common.c (map_char): Removed.
16164 (grub_console_putchar): Likewise.
16165 (grub_console_getcharwidth): Likewise.
16166 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16167 (colors): Reordered to match terminfo.
16168 (grub_ofconsole_normal_color): Removed.
16169 (grub_ofconsole_writeesc): Likewise.
16170 (grub_ofconsole_highlight_color): Likewise.
16171 (grub_ofconsole_getcharwidth): Likewise.
16172 (grub_ofconsole_setcolorstate): Likewise.
16173 (grub_ofconsole_setcolor): Likewise.
16174 (grub_ofconsole_getcolor): Likewise.
16175 (grub_ofconsole_readkey): Renamed to ...
16176 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16177 key.
16178 (grub_ofconsole_checkkey): Removed.
16179 (grub_ofconsole_getkey): Likewise.
16180 (grub_ofconsole_getxy): Likewise.
16181 (grub_ofconsole_gotoxy): Likewise.
16182 (grub_ofconsole_cls): Likewise.
16183 (grub_ofconsole_refresh): Likewise.
16184 (grub_ofconsole_terminfo_input): New struct.
16185 (grub_ofconsole_terminfo_output): Likewise.
16186 (grub_ofconsole_term_input): Use terminfo.
16187 (grub_ofconsole_term_output): Likewise.
16188 (grub_console_init): Split into ...
16189 (grub_console_init_early): ...this and ...
16190 (grub_console_init_lately): ...this. Use terminfo.
16191 (grub_ofconsole_putchar): Renamed to ...
16192 (put): ... this. Remove mapping.
16193 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16194 * term/serial.c: Simplify using terminfo.
16195 (xpos): Removed.
16196 (ypos): Likewise.
16197 (keep_track): Likewise.
16198 (registered): Likewise.
16199 (input_buf): Likewise.
16200 (npending): Likewise.
16201 (serial_translate_key_sequence): Likewise.
16202 (fill_input_buf): Likewise.
16203 (grub_serial_checkkey): Likewise.
16204 (grub_serial_getkey): Likewise.
16205 (grub_serial_getxy): Likewise.
16206 (grub_serial_gotoxy): Likewise.
16207 (grub_serial_putchar): Likewise.
16208 (grub_serial_cls): Likewise.
16209 (grub_serial_setcolorstate): Likewise.
16210 (grub_serial_setcursor): Likewise.
16211 (serial_hw_init): Use serial_hw_fetch.
16212 (grub_serial_terminfo_input): New variable.
16213 (grub_serial_terminfo_output): Likewise.
16214 (grub_serial_term_input): Use terminfo.
16215 (grub_serial_term_output): Likewise.
16216 * term/terminfo.c (putstr): Use put.
16217 (grub_terminfo_all_free): New function
16218 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16219 (grub_terminfo_output_register): New function.
16220 (grub_terminfo_output_unregister): Likewise.
16221 (grub_terminfo_getxy): Likewise.
16222 (grub_terminfo_readkey): Likewise.
16223 (grub_terminfo_checkkey): Likewise.
16224 (grub_terminfo_getkey): Likewise.
16225 (grub_terminfo_input_init): Likewise.
16226 (print_terminfo): Likewise.
16227 (grub_cmd_terminfo): Handle encoding.
16228 (grub_terminfo_gotoxy): Track position.
16229 (grub_terminfo_cls): Likewise.
16230 (grub_terminfo_putchar): Likewise.
16231 (grub_terminfo_setcolorstate): Handle colors
16232 (grub_terminfo_cursor_on): This ...
16233 (grub_terminfo_cursor_off): ... and this merged into ...
16234 (grub_terminfo_setcursor): ... this.
16235 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16236 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16237 * unicode/BidiMirroring.txt: Likewise.
16238 * unicode/UnicodeData.txt: Likewise.
16239 * unicode/COPYING: Likewise.
16240 * util/grub-editenv.c (grub_putchar): Removed.
16241 (grub_xputs_real): New function.
16242 (grub_xputs): New variable.
16243 * util/grub-fstest.c (grub_putchar): Removed.
16244 (grub_xputs_real): New function.
16245 (grub_xputs): New variable.
16246 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16247 (grub_xputs_real): New function.
16248 (grub_xputs): New variable.
16249 * util/grub-probe.c (grub_putchar): Removed.
16250 (grub_xputs_real): New function.
16251 (grub_xputs): New variable.
16252 * util/grub-script-check.c (grub_putchar): Removed.
16253 (grub_xputs_real): New function.
16254 (grub_xputs): New variable.
16255 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16256 (grub_xputs_real): New function.
16257 (grub_xputs): New variable.
16258 * util/import_unicode.py: New file.
16259 * util/grub-mkfont.c (ft_errmsgs): New array.
16260 (grub_glyph_info): Make bitmap a pointer.
16261 (file_formats): New type WIDTH_SPEC.
16262 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16263 (options): Add width-spec.
16264 (help): Likewise.
16265 (add_char): Renamed to ...
16266 (add_glyph): ... this.
16267 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16268 (glyph_replace): New type.
16269 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16270 (add_char): New function.
16271 (add_subst): Likewise.
16272 (process_cursive): Likewise.
16273 (add_font): Handle GSUB.
16274 (write_font_width_spec): New function.
16275 (main): Sort glyphs.
16276 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16277 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16278 * kern/term.c (grub_cls): Moved from here...
16279 * normal/term.c (grub_cls): ... here.
16280
50f0bcda
CW
162812010-07-02 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16284 suitable for using within the format argument of printf when
16285 converting grub_size_t.
16286 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16287 "x" to convert grub_size_t arguments.
16288
40372103
VS
162892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16292 too long captions.
16293 (list_get_minimal_size): Take selection box into account.
16294
942a10c7
VS
162952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16298 NULL font.
16299
2bdb2892
CW
163002010-07-02 Colin Watson <cjwatson@ubuntu.com>
16301
16302 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16303 devices when iterating over /dev/disk/by-id; they will be handled
16304 later if appropriate, which they aren't always (e.g. LVM).
16305
e03ed6c1
CW
163062010-07-02 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16309 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16310 fails.
16311 (grub_halt): Likewise.
16312 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16313 reset-all fails.
16314 (grub_halt): Don't return, even if all of shut-down, power-off, and
16315 poweroff fail.
16316
47695765
CW
163172010-07-02 Colin Watson <cjwatson@ubuntu.com>
16318
16319 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16320 arguments, not three.
16321
507736c8
CW
163222010-07-02 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16325 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16326 LVM-on-RAID is handled correctly.
16327
e3c8cd37
CW
163282010-07-02 Colin Watson <cjwatson@ubuntu.com>
16329
16330 * docs/grub.texi (Changes from GRUB Legacy): New section.
16331 (Future): Fix typo.
16332
8d4a2fec
CW
163332010-07-02 Colin Watson <cjwatson@ubuntu.com>
16334
16335 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16336 grub.d/README accidentally ends up executable for one reason or
16337 another. Ignore it.
16338
1c4827be
VS
163392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16342 (gpt_partition_map_iterate): Support non-512B sectors.
16343
d9a0c941
VS
163442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16347 Tested by: Seth Goldberg.
16348
48f27e87
VS
163492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16352 Properly align mbi.
16353 Reported by: Seth Goldberg.
16354
b0c4f956
VS
163552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * util/grub-mkrescue.in: Avoid module duplication.
16358
105a2e8c
SF
163592010-07-01 Sean Finney <seanius@seanius.net>
16360
16361 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16362
5944958c
SF
163632010-07-01 Sean Finney <seanius@seanius.net>
16364
16365 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16366
163672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * disk/lvm.c (grub_lvm_checkvalue): New function.
16370 (grub_lvm_check_flag): Likewise.
16371
b79889ba
RM
163722010-07-01 Robert Millan <rmh@gnu.org>
16373
16374 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16375 Support 'p' as partition separator on kernel of FreeBSD (used
16376 with GPT labels).
16377 (grub_util_biosdisk_get_grub_dev): Likewise.
16378
ec1d04f1
VS
163792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Yeeloong firmware port.
16382
16383 * boot/mips/yeeloong/fwstart.S: New file.
16384 * bus/cs5536.c (gpiodump): New const.
16385 (set_io_space): New function.
16386 (set_iod): Likewise.
16387 (set_p2d): Likewise.
16388 (grub_cs5536_init_geode): Likewise.
16389 * commands/mips/yeeloong/lsspd.c: New file.
16390 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16391 (serial_mod_SOURCES): New variable.
16392 (serial_mod_CFLAGS): Likewise.
16393 (serial_mod_LDFLAGS): Likewise.
16394 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16395 term/terminfo.c and term/tparm.c.
16396 (pkglib_IMAGES): Add fwstart.img.
16397 (fwstart_img_SOURCES): New variable.
16398 (fwstart_img_CFLAGS): Likewise.
16399 (fwstart_img_ASFLAGS): Likewise.
16400 (fwstart_img_LDFLAGS): Likewise.
16401 (fwstart_img_FORMAT): Likewise.
16402 (pkglib_MODULES): Add lsspd.mod.
16403 (lsspd_mod_SOURCES): New variable.
16404 (lsspd_mod_CFLAGS): Likewise.
16405 (lsspd_mod_LDFLAGS): Likewise.
16406 (pkglib_MODULES): Add halt.mod.
16407 (halt_mod_SOURCES): New variable.
16408 (halt_mod_CFLAGS): Likewise.
16409 (halt_mod_LDFLAGS): Likewise.
16410 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16411 (serial_mod_SOURCES): Removed.
16412 (serial_mod_CFLAGS): Likewise.
16413 (serial_mod_LDFLAGS): Likewise.
16414 * disk/ata.c (check_device): New function.
16415 (grub_ata_device_initialize): Use check_device.
16416 (grub_ata_iterate): Recheck devices.
16417 (grub_ata_open): Likewise.
16418 (grub_atapi_iterate): Likewise.
16419 (grub_atapi_open): Likewise.
16420 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16421 (GRUB_ATA_CH1_PORT1): Likewise.
16422 (GRUB_ATA_CH0_PORT2): Likewise.
16423 (GRUB_ATA_CH1_PORT2): Likewise.
16424 * include/grub/mips/loongson.h: New file.
16425 * include/grub/mips/yeeloong/ec.h: Likewise.
16426 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16427 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16428 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16429 * include/grub/misc.h (grub_halt): Declare as noreturn.
16430 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16431 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16432 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16433 (UART_ENABLE_DTRRTS): Likewise.
16434 (UART_ENABLE_MODEM): Removed.
16435 (UART_ENABLE_OUT2): New const.
16436 * include/grub/term.h (grub_term_register_input_active): New function.
16437 (grub_term_register_output_active): Likewise.
16438 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16439 argument.
16440 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16441 (init_pci): New function.
16442 (grub_machine_init): Execute platform init when firmware. Init serial.
16443 (grub_halt): Implement.
16444 (grub_exit): Likewise.
16445 (grub_reboot): Likewise.
16446 * term/serial.c (serial_hw_init): Update macros.
16447 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16448 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16449 (image_targets): New target mipsel-yeeloong-flash.
16450 (generate_image): Support IMAGE_YEELOONG_FLASH.
16451 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16452 (grub_video_sm712_setup): Init card.
16453 (grub_video_sm712_set_palette): Removed.
16454 * video/sm712_init.c: New file.
16455
ff4a70d2
CW
164562010-06-30 Colin Watson <cjwatson@ubuntu.com>
16457
16458 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16459 PATH when running help2man and then run it on the unadorned
16460 executable names, rather than passing $(builddir)/* paths to
16461 help2man. This avoids the build directory ending up in generated
16462 manual pages.
16463
1246efeb
CW
164642010-06-29 Colin Watson <cjwatson@ubuntu.com>
16465
16466 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16467 to avoid accidents when debugging with 'sh -x'.
16468 * util/grub-mkrescue.in: Likewise.
16469 * util/grub.d/00_header.in: Likewise.
16470 * util/grub.d/10_hurd.in: Likewise.
16471 * util/grub.d/10_kfreebsd.in: Likewise.
16472 * util/grub.d/10_linux.in: Likewise.
16473 * util/grub.d/10_netbsd.in: Likewise.
16474 * util/grub.d/10_windows.in: Likewise.
16475 * util/grub.d/20_linux_xen.in: Likewise.
16476 * util/grub.d/30_os-prober.in: Likewise.
16477 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16478
1ba9b889
CW
164792010-06-29 Colin Watson <cjwatson@ubuntu.com>
16480
16481 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16482 last character in the buffer.
16483 Reported by: Vladimir Serbinenko.
16484
dccaf99d
RM
164852010-06-29 Robert Millan <rmh@gnu.org>
16486
16487 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16488 (Command-line and menu entry commands): Document `badram' command.
16489
d500ed12
RM
164902010-06-28 Robert Millan <rmh@gnu.org>
16491
16492 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16493 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16494 command using ${GRUB_BADRAM} as parameter.
16495
20bc84a6
CW
164962010-06-28 Colin Watson <cjwatson@ubuntu.com>
16497
16498 * docs/grub.texi (Device map): New section.
16499 (Themes): New section (stub).
16500 * Makefile.in (docs/grub.info): The info documentation now builds
16501 without errors. Make sure it stays that way.
16502
4045dee1
VS
165032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 Use normal parser for menu entries.
16506 Reported by: Thomas Frauendorfer
16507
16508 * include/grub/parser.h (grub_parser_execute): Don't export.
16509 * normal/menu.c (grub_menu_execute_entry_real): New function.
16510 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16511
bca58c7b
CW
165122010-06-28 Colin Watson <cjwatson@ubuntu.com>
16513
16514 * docs/grub.texi (Embedded configuration): New section (replacing
16515 old "Preset Menu" stub).
16516 (Images): New section.
16517 (configfile): Note that any menu entries defined in `file' are shown
16518 immediately.
16519
dec53e63
JT
165202010-06-28 Josh Triplett <josh@joshtriplett.org>
16521
16522 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16523
c06e40f7
CW
165242010-06-28 Colin Watson <cjwatson@ubuntu.com>
16525
16526 * util/grub-install.in: Add --debug-image= option.
16527
cb88052b
CW
165282010-06-28 Colin Watson <cjwatson@ubuntu.com>
16529
16530 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16531 possible on Linux.
16532
16533 * util/deviceiter.c (check_device): Rename to ...
16534 (check_device_readable_unique): ... this. Update all callers.
16535 Maintain and check a list of which devices (by canonicalized name)
16536 have already been seen.
16537 (clear_seen_devices): New function.
16538 (compare_file_names) [__linux__]: New function.
16539 (grub_util_iterate_devices): Clear the list of seen devices on exit
16540 and (just in case) on entry.
16541 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16542 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16543 seen-devices list, superseded by general code in check_device.
16544
bbe34652
CW
165452010-06-28 Colin Watson <cjwatson@ubuntu.com>
16546
16547 * commands/cat.c (options): New variable.
16548 (grub_cmd_cat): Parse options. If the --dos option is given, print
16549 DOS-style "\r\n" line endings as simple newlines (Debian bug
16550 #586358).
16551 (GRUB_MOD_INIT): Use extcmd.
16552 (GRUB_MOD_FINI): Likewise.
16553 * docs/grub.texi (cat): Document --dos.
16554
412e09f3
VS
165552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 XEN with Linux grub-mkconfig support.
16558
16559 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16560 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16561 GRUB_CMDLINE_XEN_DEFAULT.
16562 * util/grub.d/20_linux_xen.in: New file.
16563
53f3ef38 165642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16565
16566 Initialise VGA video on qemu ourselves.
16567
16568 * boot/i386/qemu/boot.S: Don't call 0xc000.
16569 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16570 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16571 (kernel_img_HEADERS): Add pci.h.
16572 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16573 * configure.ac: Force unifont on qemu and yeeloong.
16574 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16575 (grub_vga_palette_write): Use correct register.
16576 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16577 Call grub_qemu_init_cirrus.
16578 * kern/i386/qemu/init.c: New file.
16579 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16580
16581 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16582
c75be4fb
PR
165832010-06-26 Pavel Roskin <proski@gnu.org>
16584
16585 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16586 13.
16587
d8034603
CW
165882010-06-26 Colin Watson <cjwatson@ubuntu.com>
16589
16590 * docs/grub.texi (Simple configuration): Explain that
16591 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16592 set to `true' to disable their respective recovery entries, not
16593 merely set.
16594
3fa06487
CW
165952010-06-26 Colin Watson <cjwatson@ubuntu.com>
16596
16597 Make the `source' command slightly faster.
16598
16599 * normal/main.c (grub_normal_execute): Don't re-read list files when
16600 nested.
16601
e9b29642
CW
166022010-06-23 Colin Watson <cjwatson@ubuntu.com>
16603
16604 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16605 field position and mask size to red fields from mode_info, not
16606 green.
16607 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16608 Remove redundant tag->common.framebuffer_type assignment.
16609 Reported by: Seth Goldberg.
16610
e726542f
CW
166112010-06-23 Colin Watson <cjwatson@ubuntu.com>
16612
16613 Sync up other versions of the Linux loader with Robert Millan's
16614 change of 2010-01-09, "Make loader output a bit more user-friendly".
16615
16616 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16617 grub_dprintf().
16618 (grub_cmd_linux): Likewise.
16619 (grub_cmd_initrd): Likewise.
16620 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16621 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16622
d6e98a17
CW
166232010-06-21 Colin Watson <cjwatson@ubuntu.com>
16624
16625 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16626 larger than MEMORY_MAP_SIZE.
16627
14d3f08e
BC
166282010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16629
16630 Fix parallel build.
16631
16632 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16633 dependency.
16634 * script/parser.y: #include grub_script.tab.h header.
16635
4f9613a3
VS
166362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 Support >3GiB and <16MiB RAM in i386-qemu.
16639
16640 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16641 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16642 (grub_lower_mem): Removed.
16643 (grub_upper_mem): Likewise.
16644 (mem_size): Made static.
16645 (above_4g): New variable.
16646 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16647 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16648 support.
16649
05e51879
VS
166502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 Cirrus 5446 and Bochs video cards support.
16653
16654 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16655 video_bochs.mod
16656 (video_cirrus_mod_SOURCES): New variable.
16657 (video_cirrus_mod_CFLAGS): Likewise.
16658 (video_cirrus_mod_LDFLAGS): Likewise.
16659 (video_bochs_mod_SOURCES): Likewise.
16660 (video_bochs_mod_CFLAGS): Likewise.
16661 (video_bochs_mod_LDFLAGS): Likewise.
16662 * include/grub/vga.h: New file.
16663 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16664 (grub_video_fb_set_page_t): New type.
16665 (grub_video_fb_setup): New prototype.
16666 (grub_video_fb_swap_buffers): Likewise.
16667 (grub_video_fb_get_info_and_fini): Likewise.
16668 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16669 (CRTC_DATA_PORT): Likewise.
16670 (CRTC_CURSOR): Likewise.
16671 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16672 (CRTC_CURSOR_ADDR_LOW): Likewise.
16673 (CRTC_CURSOR_DISABLE): Likewise.
16674 (update_cursor): Use grub_vga_cr_write.
16675 (grub_vga_text_setcursor): Likewise.
16676 * video/bochs.c: New file.
16677 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16678 (palette): Likewise.
16679 (palette_size): Likewise.
16680 (framebuffer): New variable.
16681 (grub_video_fb_init): Use 'framebuffer'.
16682 (grub_video_fb_fini): Likewise.
16683 (grub_video_fb_get_info): Likewise.
16684 (grub_video_fb_get_palette): Likewise.
16685 (grub_video_fb_set_palette): Likewise.
16686 (grub_video_fb_set_viewport): Likewise.
16687 (grub_video_fb_get_viewport): Likewise.
16688 (grub_video_fb_map_color): Likewise.
16689 (grub_video_fb_map_rgb): Likewise.
16690 (grub_video_fb_map_rgba): Likewise.
16691 (grub_video_fb_unmap_color): Likewise.
16692 (grub_video_fb_unmap_color_int): Likewise.
16693 (grub_video_fb_fill_rect): Likewise.
16694 (grub_video_fb_blit_bitmap): Likewise.
16695 (grub_video_fb_blit_render_target): Likewise.
16696 (grub_video_fb_scroll): Likewise.
16697 (grub_video_fb_create_render_target): Likewise.
16698 (grub_video_fb_doublebuf_blit_init): Likewise.
16699 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16700 (doublebuf_pageflipping_update_screen): New function.
16701 (doublebuf_pageflipping_init): Likewise.
16702 (grub_video_fb_setup): Likewise.
16703 (grub_video_fb_swap_buffers): Likewise.
16704 (grub_video_fb_get_info_and_fini): Likewise.
16705 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16706 All users updated.
16707 (doublebuf_pageflipping_commit): Restructured into ...
16708 (doublebuf_pageflipping_set_page): ... this.
16709 (doublebuf_pageflipping_update_screen): Removed.
16710 (doublebuf_pageflipping_init): Likewise.
16711 (double_buffering_init): Likewise.
16712 (grub_video_vbe_setup): Use grub_video_fb_setup.
16713 (grub_video_vbe_swap_buffers): Removed.
16714 (grub_video_vbe_set_active_render_target): Likewise.
16715 (grub_video_vbe_get_active_render_target): Likewise.
16716 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16717 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16718 grub_video_fb_set_active_render_target and
16719 grub_video_fb_get_active_render_target.
16720 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16721 (SEQUENCER_DATA_PORT): Likewise.
16722 (MAP_MASK_REGISTER): Likewise.
16723 (CRTC_ADDR_PORT): Likewise.
16724 (CRTC_DATA_PORT): Likewise.
16725 (START_ADDR_HIGH_REGISTER): Likewise.
16726 (START_ADDR_LOW_REGISTER): Likewise.
16727 (GRAPHICS_ADDR_PORT): Likewise.
16728 (GRAPHICS_DATA_PORT): Likewise.
16729 (READ_MAP_REGISTER): Likewise.
16730 (INPUT_STATUS1_REGISTER): Likewise.
16731 (INPUT_STATUS1_VERTR_BIT): Likewise.
16732 (get_map_mask): Use grub_vga_sr_read.
16733 (set_map_mask): Use grub_vga_sr_write.
16734 (set_read_map): Use grub_vga_gr_write.
16735 (set_start_address): Use grub_vga_cr_write.
16736 * video/sm712.c (framebuffer): Remove leftover fields.
16737
4321c64a
CW
167382010-06-20 Colin Watson <cjwatson@ubuntu.com>
16739
16740 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16741 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16742 instead. Replace the gfxterm backend check with a check that
16743 ${GRUB_PREFIX}/video.lst is non-empty.
16744 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16745 again.
16746 (load_video): New generated function. Call it before loading
16747 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16748 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16749 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16750 * docs/grub.texi (Simple configuration): Document
16751 GRUB_VIDEO_BACKEND.
16752
167532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 Use video functions in linux and xnu loaders.
16756
16757 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16758 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16759 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16760 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16761 loader/i386/pc/linux.c.
16762 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16763 (find_line_len): Removed.
16764 (find_framebuf): Likewise.
16765 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16766 * loader/i386/efi/xnu.c: Removed.
16767 * loader/i386/pc/xnu.c: Moved from here...
16768 * loader/i386/xnu.c: ...here.
16769
16770 Enable priorities in video drivers.
16771
16772 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16773 (grub_video_adapter): New field prio.
16774 (grub_video_register): Respect prio when inserting.
16775 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16776 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16777 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16778 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16779 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16780 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16781 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16782
16783 Fix SDL driver ID.
16784
16785 * include/grub/video.h (grub_video_driver_id_t): New value
16786 GRUB_VIDEO_DRIVER_SDL.
16787 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16788
7d24e434
CW
167892010-06-17 Colin Watson <cjwatson@ubuntu.com>
16790
16791 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16792 argument to printf.
16793 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16794
c88a83f6
CW
167952010-06-17 Colin Watson <cjwatson@ubuntu.com>
16796
16797 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16798 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16799
094dfb69
CW
168002010-06-17 Colin Watson <cjwatson@ubuntu.com>
16801
16802 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16803 directly, and recommend grub-install instead.
16804 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16805
2164da6b
CW
168062010-06-17 Colin Watson <cjwatson@ubuntu.com>
16807
16808 Fix i386-pc prefix handling with nested partitions (Debian bug
16809 #585068). Note that the case where the core image is booted using
16810 multiboot and relocated from its original location still requires
16811 more work.
16812
16813 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16814 with "(,", fill the boot drive in between those two characters, but
16815 expect that a full partition specification including partition map
16816 names will follow.
16817 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16818 specified, write a prefix without the drive name but including a
16819 full partition specification.
16820
044e2e60
CW
168212010-06-16 Colin Watson <cjwatson@ubuntu.com>
16822
16823 * util/grub-mkconfig.in: Ignore non-option arguments, for
16824 compatibility with older versions (before 2010-06-12) which did the
16825 same. In particular, this makes it easier to ship an update-grub
16826 wrapper which is compatible with that used with GRUB Legacy (Debian
16827 bug #586056).
16828
5591324f
GS
168292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16830
16831 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16832 for manual page generation.
16833
662e24d5
GS
168342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16835
16836 * po/POTFILES: Remove leftover commands/handler.c.
16837
8d70754e
CW
168382010-06-14 Colin Watson <cjwatson@ubuntu.com>
16839
16840 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16841 left this script non-functional.
16842
41160e2e
CW
168432010-06-14 Colin Watson <cjwatson@ubuntu.com>
16844
16845 * docs/man/grub-emu.h2m: New file.
16846
b5309cc1
CW
168472010-06-13 Colin Watson <cjwatson@ubuntu.com>
16848
16849 * docs/grub.texi (Commands): Document reduced command set in rescue
16850 mode.
16851 (cpuid): New section.
16852
fcb2d090
GS
168532010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16854
16855 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16856 new partition naming style.
16857 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16858
96e5c556
BC
168592010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16860
16861 Add "-o grub.iso" like cmdline options support.
16862
16863 * util/grub-install.in: Improve cmdline option parsing.
16864 * util/grub-mkconfig.in: Likewise.
16865 * util/grub-mkrescue.in: Likewise.
16866 * util/grub-reboot.in: Likewise.
16867 * util/grub-set-default.in: Likewise.
16868 * util/i386/efi/grub-install.in: Likewise.
16869 * util/ieee1275/grub-install.in: Likewise.
16870 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16871
c16be99b
CW
168722010-06-12 Colin Watson <cjwatson@ubuntu.com>
16873
16874 * .bzrignore: Ignore 41_custom.
16875
ce08a9fb
TS
168762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16877
16878 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16879
7beac90c
CW
168802010-06-12 Colin Watson <cjwatson@ubuntu.com>
16881
16882 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16883 prototype declarations.
16884
16885 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16886 generating fs, partmap, and video lists.
16887 * include/grub/fs.h (grub_fs_register): Omit prototype if
16888 GRUB_LST_GENERATOR is defined.
16889 * include/grub/partition.h (grub_partition_map_register): Likewise.
16890 * include/grub/video.h (grub_video_register): Likewise.
16891
1c8f0f8d
JM
168922010-06-12 Javier Martín <lordhabbit@gmail.com>
16893
16894 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16895
a6085973
TS
168962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16897
16898 * util/grub-mkrescue.in: Support --xorriso argument.
16899
25c56d29
VS
169002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16903 Suggested by: Thomas Schmitt.
16904
e03e4b24
VS
169052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16908 Suggested by: Thomas Schmitt.
16909
57711df6
VS
169102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 custom.cfg support.
16913
16914 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16915 * util/grub.d/41_custom.in: New file.
16916
ee62c427
CW
169172010-06-12 Colin Watson <cjwatson@ubuntu.com>
16918
16919 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16920 been merged back into normal.
16921
283af07a
CW
169222010-06-11 Colin Watson <cjwatson@ubuntu.com>
16923
16924 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16925 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16926
56a0d956
CW
169272010-06-11 Colin Watson <cjwatson@ubuntu.com>
16928
16929 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16930 when generating manual pages.
16931 * docs/man/grub-bin2h.h2m: New file.
16932 * docs/man/grub-editenv.h2m: New file.
16933 * docs/man/grub-fstest.h2m: New file.
16934 * docs/man/grub-install.h2m: New file.
16935 * docs/man/grub-macho2img.h2m: New file.
16936 * docs/man/grub-mkconfig.h2m: New file.
16937 * docs/man/grub-mkdevicemap.h2m: New file.
16938 * docs/man/grub-mkfont.h2m: New file.
16939 * docs/man/grub-mkimage.h2m: New file.
16940 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16941 * docs/man/grub-mkrelpath.h2m: New file.
16942 * docs/man/grub-mkrescue.h2m: New file.
16943 * docs/man/grub-ofpathname.h2m: New file.
16944 * docs/man/grub-pe2elf.h2m: New file.
16945 * docs/man/grub-probe.h2m: New file.
16946 * docs/man/grub-reboot.h2m: New file.
16947 * docs/man/grub-script-check.h2m: New file.
16948 * docs/man/grub-set-default.h2m: New file.
16949 * docs/man/grub-setup.h2m: New file.
16950
3a37e322
VS
169512010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Use FOR_* macros instead of *_iterate whenever possible.
16954
16955 * commands/handler.c: Removed.
16956 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16957 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16958 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16959 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16960 (grub_probe_SOURCES): Remove kern/parser.c.
16961 (util/grub-script-check.c_DEPENDENCIES): Removed.
16962 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16963 and grub_script_check_init.c.
16964 (grub_script_check_init.lst): Removed.
16965 (grub_script_check_init.h): Likewise.
16966 (grub_script_check_init.c): Likewise.
16967 (pkglib_MODULES): Remove handler.mod and sh.mod.
16968 (handler_mod_SOURCES): Removed.
16969 (handler_mod_CFLAGS): Likewise.
16970 (handler_mod_LDFLAGS): Likewise.
16971 (normal_mod_SOURCES): Remove normal/handler.c.
16972 Add script/main.c, script/script.c, script/execute.c,
16973 script/function.c, script/lexer.c, grub_script.tab.c
16974 and grub_script.yy.c.
16975 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16976 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16977 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16978 (grub_setup_SOURCES): Remove kern/parser.c.
16979 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16980 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16981 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16982 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16983 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16984 (grub_setup_SOURCES): Remove kern/parser.c.
16985 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16986 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16987 * include/grub/command.h (grub_command_iterate): Removed.
16988 (FOR_COMMANDS): New macro.
16989 * include/grub/dl.h (grub_dl): New member next.
16990 (grub_dl_iterate): Removed.
16991 (grub_dl_head): New variable declaration.
16992 (FOR_DL_MODULES): New macro.
16993 * include/grub/fs.h: Include list.h.
16994 (grub_fs): Make next first element.
16995 (grub_fs_list): New variable declaration.
16996 (grub_fs_register): Make inline.
16997 (grub_fs_unregister): Likewise.
16998 (grub_fs_iterate): Removed.
16999 (FOR_FILESYSTEMS): New macro.
17000 * include/grub/handler.h: Removed.
17001 * include/grub/list.h (grub_list_hook_t): Removed.
17002 (grub_list_test_t): Likewise.
17003 (grub_list_pop): Likewise.
17004 (grub_list_iterate): Likewise.
17005 (grub_list_insert): Likewise.
17006 (FOR_LIST_ELEMENTS): New macro.
17007 * include/grub/parser.h (grub_parser_class): Removed.
17008 (grub_parser_register): Likewise.
17009 (grub_parser_unregister): Likewise.
17010 (grub_parser_get_current): Likewise.
17011 (grub_parser_set_current): Likewise.
17012 (grub_register_rescue_parser): Likewise.
17013 (grub_rescue_parse_line): New function.
17014 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17015 * include/grub/script_sh.h (grub_script_function_list): New variable
17016 declaration.
17017 (FOR_SCRIPT_FUNCTIONS): New macro.
17018 (grub_script_function_iterate): Removed.
17019 (grub_normal_parse_line): New prototype.
17020 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17021 (FOR_DISABLED_TERM_INPUTS): Likewise.
17022 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17023 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17024 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17025 element.
17026 (grub_video_register): Inline.
17027 (grub_video_unregister): Likewise.
17028 (grub_video_adapter_list): New variable declaration.
17029 (grub_video_iterate): Removed.
17030 (FOR_VIDEO_ADAPTERS): New macro.
17031 * kern/dl.c (grub_dl_list): Removed. All users updated.
17032 (grub_dl_iterate): Removed.
17033 * kern/fs.c (grub_fs_list): Make global.
17034 (grub_fs_register): Removed.
17035 (grub_fs_unregister): Likewise.
17036 (grub_fs_iterate): Likewise.
17037 * kern/handler.c: Removed.
17038 * kern/list.c (grub_list_pop): Removed.
17039 (grub_list_iterate): Likewise.
17040 (grub_list_insert): Likewise.
17041 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17042 (grub_prio_list_insert): Don't use grub_list_insert.
17043 * kern/main.c (grub_register_rescue_parser): Don't call
17044 grub_register_rescue_parser.
17045 * kern/parser.c (grub_parser_class): Removed.
17046 (grub_parser_execute): Use grub_rescue_parse_line.
17047 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17048 (grub_rescue_parser): Removed.
17049 (grub_register_rescue_parser): Likewise.
17050 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17051 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17052 (grub_auth_check_authentication): Likewise.
17053 * normal/completion.c (iterate_command): Removed.
17054 (grub_normal_do_completion): Use FOR_COMMANDS.
17055 * normal/handler.c: Removed.
17056 * normal/main.c (read_config_file): Remove parser changing.
17057 (grub_normal_execute): Don't call read_handler_list.
17058 (grub_normal_read_line_real): Statically allocate prompt.
17059 (grub_cmdline_run): Use grub_normal_parse_line.
17060 (GRUB_MOD_FINI): Don't call free_handler_list.
17061 * normal/menu_entry.c (run): Likewise.
17062 * script/function.c (grub_script_function_list): Make global.
17063 (grub_script_function_iterate): Removed.
17064 * script/main.c (grub_normal_parse_line): Make global.
17065 (grub_sh_parser): Removed.
17066 (GRUB_MOD_INIT): Likewise.
17067 (GRUB_MOD_FINI): Likewise.
17068 * tests/lib/functional_test.c (grub_functional_test): Use
17069 FOR_LIST_ELEMENTS.
17070 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17071 (grub_test_run): Use FOR_LIST_ELEMENTS.
17072 * tests/lib/unit_test.c (main): Likewise.
17073 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17074 grub_list_pop.
17075 * util/grub-fstest.c (grub_term_input_class): Removed.
17076 (grub_term_output_class): Likewise.
17077 * util/grub-probe.c: Likewise.
17078 * util/i386/pc/grub-setup.c: Likewise.
17079 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17080 * util/grub-script-check.c (main): Don't call grub_init_all and
17081 grub_fini_all.
17082 * video/video.c (grub_video_adapter_list): Make global.
17083 (grub_video_register): Removed.
17084 (grub_video_unregister): Likewise.
17085 (grub_video_iterate): Likewise.
17086
6289c3a7
VS
170872010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17090 reported by Henrique Ferreiro.
17091
91460247
RM
170922010-06-09 Robert Millan <rmh@gnu.org>
17093
17094 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17095 ones, when both are available.
17096
0ea7c4f9
GS
170972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17098
17099 Make --version uniform and avoid hard-coded program name.
17100
17101 * util/grub-mkimage.c (main): Use `program_name' instead of
17102 hard-coded string.
17103 * util/i386/pc/grub-setup.c (main): Likewise.
17104 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17105 * util/grub-install.in: Save the basename of $0 in $self, and use the
17106 latter in informational messages. Use the same format for --version
17107 as the binary programs.
17108 * util/grub-mkconfig.in: Likewise.
17109 * util/grub-mkrescue.in: Likewise.
17110 * util/grub-reboot.in: Likewise.
17111 * util/grub-set-default.in: Likewise.
17112 * util/i386/efi/grub-install.in: Likewise.
17113 * util/ieee1275/grub-install.in: Likewise.
17114 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17115
e8a6f3b6
GS
171162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17117
17118 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17119 embedding area. Use <= instead of == when checking for non-emptiness.
17120
f4d095d7
GS
171212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17122
17123 * configure.ac: Add `.' to the directories searched for unifont.
17124
50e532ca
CW
171252010-06-08 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17128 grub_script.yy.h.
17129
d39f3dec
CW
171302010-06-08 Colin Watson <cjwatson@ubuntu.com>
17131
17132 * docs/grub.texi (History): Expand to cover GRUB 2.
17133 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17134 commands, not `terminal'.
17135 (serial): Likewise.
17136 (terminal_input): New section.
17137 (terminal_output): New section.
17138 (uppermem): New section (stub).
17139 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17140
6ef0ddb4
CW
171412010-06-08 Colin Watson <cjwatson@ubuntu.com>
17142
17143 * docs/grub.texi (Security): Menu entries are unrestricted by
17144 default, not restricted to superusers as I had previously thought.
17145 Reword to account for this.
17146
e0f4c438
CW
171472010-06-07 Colin Watson <cjwatson@ubuntu.com>
17148
17149 * kern/emu/misc.c (device_mapper_null_log): New function.
17150 (grub_device_mapper_supported): New function.
17151 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17152 prototype.
17153 * kern/emu/hostdisk.c (find_partition_start): Check whether
17154 device-mapper is supported before trying to use it.
17155 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17156
da908200
CW
171572010-06-07 Colin Watson <cjwatson@ubuntu.com>
17158
17159 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17160 (File name syntax): Likewise.
17161 (help): --all is no longer supported in GRUB 2. Be more precise
17162 about pattern matching.
17163
fb55c3ac
CW
171642010-06-07 Colin Watson <cjwatson@ubuntu.com>
17165
17166 * normal/completion.c (grub_normal_do_completion): When completing
17167 arguments to "set" and the current word contains an equals sign,
17168 skip to after the equals sign before starting completion.
17169
258c2573
CW
171702010-06-07 Colin Watson <cjwatson@ubuntu.com>
17171
17172 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17173
ee75515e
CW
171742010-06-07 Colin Watson <cjwatson@ubuntu.com>
17175
17176 * docs/grub.texi (Network): New section.
17177 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17178 `(nd)' as in GRUB Legacy.
17179 (pxe_unload): New section.
17180
a6a700aa
CW
171812010-06-07 Colin Watson <cjwatson@ubuntu.com>
17182
17183 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17184 in the rescue shell, so recommend using `set' instead. Thanks,
17185 Jordan Uggla.
17186
4003dd38
CW
171872010-06-07 Colin Watson <cjwatson@ubuntu.com>
17188
17189 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17190 (password): New section.
17191 (password_pbkdf2): New section.
17192 (search): New section.
17193 (Security): New section.
17194 (Troubleshooting): New section, currently very incomplete.
17195 (Invoking grub-mkpasswd-pbkdf2): New section.
17196 (Internals): New section, currently very incomplete.
17197
e1cbcc40
CW
171982010-06-07 Colin Watson <cjwatson@ubuntu.com>
17199
17200 * util/grub.d/00_header.in: Add some more quoting (of
17201 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17202 work again.
17203 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17204
db8fa1ad
CW
172052010-06-07 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17208 to `count', fixing variable shadowing that broke the -c option.
17209
172102010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17211
17212 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17213 in case they contain spaces.
17214
f28a9212
CW
172152010-06-04 Colin Watson <cjwatson@ubuntu.com>
17216
17217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17218 "part_" to partmap module names, in line with grub-install.
17219 Reported by: Jindřich Makovička (Debian bug #584426).
17220
9cdfe32f
CW
172212010-06-04 Colin Watson <cjwatson@ubuntu.com>
17222
17223 * util/grub-mkimage.c: Make target-related error messages slightly
17224 more helpful; -O talks about "format". Explicitly point to the use
17225 of -O if no target is specified.
17226 Reported by: Didier Raboud (Debian bug #584415).
17227
795b593a
CW
172282010-06-03 Colin Watson <cjwatson@ubuntu.com>
17229
17230 * INSTALL: Document several build requirements for optional features
17231 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17232
9d9b5833
GS
172332010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17234
17235 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17236 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17237 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17238
0819fec8
CW
172392010-06-02 Colin Watson <cjwatson@ubuntu.com>
17240
17241 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17242 Thanks to Jordan Uggla for spotting this.
17243
49396b4f
VS
172442010-06-02 Aleš Nesrsta <starous@volny.cz>
17245
17246 Finally make USB usable.
17247
17248 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17249 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17250 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17251 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17252 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17253 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17254 (GRUB_OHCI_FSMPS): Likewise.
17255 (GRUB_OHCI_PERIODIC_START): Likewise.
17256 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17257 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17258 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17259 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17260 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17261 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17262 (grub_ohci_transaction): Likewise.
17263 (grub_ohci_transfer): Improve condition detection algorithms.
17264 Handle toggle property. Program the transactions correctly.
17265 Improve error handling. Various important fixups.
17266 (grub_ohci_portstatus): Put register writes in right order.
17267 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17268 (grub_uhci_transfer): Don't show "failed" message on success.
17269 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17270 array.
17271 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17272 determine its size.
17273 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17274 before initialization is completed. Use IN direction for empty
17275 transfers. Use last_trans and compute toggle.
17276 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17277 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17278 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17279 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17280 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17281 (grub_usb_device): Increase toggle to 256.
17282 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17283 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17284 GRUB_USBMS_SUBCLASS_SFF8070.
17285 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17286 (grub_scsi_inquiry): New member page and alloc_length.
17287 (grub_scsi_request_sense): New structure.
17288 (grub_scsi_request_sense_data): Likewise.
17289 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17290 control.
17291 * disk/scsi.c (grub_scsi_request_sense): New function.
17292 (grub_scsi_test_unit_ready): Likewise.
17293 (grub_scsi_inquiry): Fill new fields.
17294 (grub_scsi_read_capacity): Likewise.
17295 (grub_scsi_read10): Add request sense at the end.
17296 (grub_scsi_read12): Likewise.
17297 (grub_scsi_write10): Likewise.
17298 (grub_scsi_write12): Likewise.
17299 (grub_scsi_open): Add Test Unit Ready.
17300 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17301 Support additional subclasses. Con't clear halt yet. Activate the
17302 proper config. Calculate LUNs correctly.
17303 (grub_usbms_transfer): Various important fixups.
17304
173052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17308 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17309 (grub_ohci_fini_hw): New function.
17310 (grub_ohci_restore_hw): Likewise.
17311 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17312 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17313 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17314
173152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 Dedicated DMA allocations.
17318
17319 * bus/pci.c (grub_memalign_dma32): New function
17320 (grub_dma_free): Likewise.
17321 (grub_dma_get_virt): Likewise.
17322 (grub_dma_get_phys): Likewise.
17323 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17324 (grub_ohci_pci_iter): Use dma32_alloc.
17325 (grub_ohci_transfer): Likewise.
17326 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17327 (grub_usb_bulk_readwrite): Likewise.
17328 * include/grub/pci.h: Add declarations.
17329
173302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 CS5536 support.
17333
17334 * bus/cs5536.c: New file.
17335 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17336 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17337 (cs5536_mod_SOURCES): New variable.
17338 (cs5536_mod_CFLAGS): Likewise.
17339 (cs5536_mod_LDFLAGS): Likewise.
17340 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17341 machine/pci.h.
17342 (kernel_img_SOURCES): Add bus/cs5536.c.
17343 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17344 usb_keyboard.mod.
17345 (usb_mod_SOURCES): New variable.
17346 (usb_mod_CFLAGS): New variable.
17347 (usb_mod_LDFLAGS): New variable.
17348 (usbtest_mod_SOURCES): New variable.
17349 (usbtest_mod_CFLAGS): New variable.
17350 (usbtest_mod_LDFLAGS): New variable.
17351 (ohci_mod_SOURCES): New variable.
17352 (ohci_mod_CFLAGS): New variable.
17353 (ohci_mod_LDFLAGS): New variable.
17354 (usbms_mod_SOURCES): New variable.
17355 (usbms_mod_CFLAGS): New variable.
17356 (usbms_mod_LDFLAGS): New variable.
17357 (usb_keyboard_mod_SOURCES): New variable.
17358 (usb_keyboard_mod_CFLAGS): New variable.
17359 (usb_keyboard_mod_LDFLAGS): New variable.
17360 * include/grub/smbus.h: New file.
17361 * include/grub/cs5536.h: New file.
17362
0b35b2a9
CW
173632010-06-02 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * util/grub.d/00_header.in: Add safety check to make sure that
17366 ${locale_dir} exists before trying to probe it.
17367
ca0afd5b
CW
173682010-06-02 Colin Watson <cjwatson@ubuntu.com>
17369
17370 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17371 per the GNU Coding Standards; this is now too obscure to be worth
17372 documenting.
17373 (QNX): Likewise.
17374 (chainloader): Remove cross-reference to `SCO UnixWare'.
17375
1c41aa78
CW
173762010-06-02 Colin Watson <cjwatson@ubuntu.com>
17377
17378 * docs/grub.texi (Chain-loading): New section.
17379 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17380 adjusted for GRUB 2.
17381 (SCO UnixWare): Likewise.
17382 (QNX): Likewise.
17383 (chainloader): Add reference to `Block list syntax'.
17384 (drivemap): New section.
17385 (parttool): New section.
17386
bb8ea0f5
CW
173872010-06-02 Colin Watson <cjwatson@ubuntu.com>
17388
17389 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17390 the grub shell'.
17391 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17392 (Installing GRUB using grub-install): Remove reference to the grub
17393 shell; mention `grub-mkimage' and `grub-setup' instead.
17394 (Invoking grub-install): Likewise.
17395 (Interface): Add reference to `Menu entry editor'.
17396 (serial): Remove `--device' option.
17397
288dd6ed
CW
173982010-06-02 Colin Watson <cjwatson@ubuntu.com>
17399
17400 * docs/grub.texi (Configuration): New section, documenting
17401 configuration file generation using grub-mkconfig. I've left a slot
17402 for documenting the full shell scripting format but have not yet
17403 started on writing that up.
17404 (Invoking grub-mkconfig): New section.
17405
34c9f0e9
CW
174062010-06-02 Colin Watson <cjwatson@ubuntu.com>
17407
17408 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17409 (GNU GRUB manual): Likewise.
17410 (General commands): Update description of `terminfo' for GRUB 2.
17411
9121567e
CW
174122010-06-02 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17415 (GRUB_MOD_INIT): Fix capitalisation.
17416 * docs/grub.texi (Command-line and menu entry commands): Document
17417 gettext and gptsync commands.
17418
ab631611
CW
174192010-06-02 Colin Watson <cjwatson@ubuntu.com>
17420
17421 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17422 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17423
bde4a9ac
CW
174242010-06-01 Colin Watson <cjwatson@ubuntu.com>
17425
17426 Add btrfs probing support, currently only in the single-device case.
17427
17428 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17429 function.
17430 (grub_guess_root_device): Call find_root_device_from_mountinfo
17431 before looking in /dev.
17432
b1d17e10
VS
174332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17436 GRUB_DISK_SIZE_UNKNOWN.
17437 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17438
dfbfe004
JS
174392010-05-31 Jiro SEKIBA <jir@unicus.jp>
17440
17441 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17442 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17443 corrupted or not synced properly.
17444
c2ffc8e9
VS
174452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17448 Reported by: Seth Goldberg.
17449
56293166
VS
174502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17453 addition of dest.
17454 Reported by: Seth Goldberg.
17455
7620e7de
VS
174562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17457
17458 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17459 Reported by: Seth Goldberg.
17460
c837af3f
VS
174612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17464 64-bit address as signed on MIPS.
17465
c7c75cf4
CW
174662010-05-28 Colin Watson <cjwatson@ubuntu.com>
17467
17468 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17469 to the empty string.
17470
fa4b8490
BC
174712010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17472
17473 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17474
17475 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17476 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17477 * kern/misc.c (__enable_execute_stack): Disable on
17478 GRUB_MACHINE_EMU.
17479
a33075b9
CW
174802010-05-28 Colin Watson <cjwatson@ubuntu.com>
17481
17482 Make grub-probe work with symbolic links under /dev/mapper as well
17483 as with real block devices. The Linux world seems to be (at best)
17484 in transition here, and GRUB shouldn't get caught in the middle.
17485
17486 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17487 /dev/mapper.
17488
d8708134
CW
174892010-05-27 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17492 input files (in which case exit zero).
17493
db2102a0
CW
174942010-05-27 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17497 return NULL for various reasons even if it has a maximum-length
17498 buffer: for example, there might be a symlink loop, or the path
17499 might exceed PATH_MAX. If this happens, return NULL.
17500
5fdba519
RM
175012010-05-27 Robert Millan <rmh@gnu.org>
17502
17503 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17504 partmap module to handle cross-partmap setups.
17505 Reported by Orestes Mas. Gràcies!
17506
d1d368e4
CW
175072010-05-27 Colin Watson <cjwatson@ubuntu.com>
17508
17509 * util/grub-mkrescue.in: Initialise override_dir rather than
17510 assuming that it's unset or empty in the environment.
17511
95ac3c73
GS
175122010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17513
17514 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17515 variable index into p_index to suppress a warning with -Wshadow.
17516
7d8c0213
BC
175172010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17518
17519 * INSTALL: Added flex >= 2.5.35 requirement.
17520
db4d5813
VS
175212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17524
f24f4300
VS
175252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 cmostest support.
17528
17529 * commands/i386/cmostest.c: New file.
17530 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17531 (cmostest_mod_SOURCES): New variable.
17532 (cmostest_mod_CFLAGS): Likewise.
17533 (cmostest_mod_LDFLAGS): Likewise.
17534 * conf/i386-pc.rmk: Likewise.
17535 * docs/grub.texi (Vendor power-on keys): New section.
17536 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17537 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17538 and GRUB_BUTTON_CMOS_ADDRESS.
17539 * util/grub.d/00_header.in: Handle powering-on by separate button.
17540
ad603f61
VS
175412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17544 Removed drawing_scrollbar argument. All users updated
17545 Fixes #29792.
17546 Reported by Jo Shields
17547
3ecb080a
VS
175482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17551 buffer since gfxterm handles double repaint.
17552
5f2316c1
VS
175532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17556 * term/gfxterm.c (real_scroll): Likewise.
17557
9a25f885
VS
175582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17561 before calling BIOS.
17562
39fbb79a
VS
175632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * include/grub/i18n.h: Always enable grub_gettext.
17566
228cfa97
VS
175672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17570 partition naming style.
17571
21717c8f
CW
175722010-05-21 Colin Watson <cjwatson@ubuntu.com>
17573
17574 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17575 not the first option.
17576
c0f48e65
CW
175772010-05-20 Colin Watson <cjwatson@ubuntu.com>
17578
17579 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17580
96779aec
CW
175812010-05-20 Colin Watson <cjwatson@ubuntu.com>
17582
17583 * util/misc.c: Move inclusion of <limits.h> to ...
17584 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17585
fa9d256e
GS
175862010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17587
17588 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17589 Fix merge error in NetBSD code.
17590 (find_partition_start) [__NetBSD__]: Likewise.
17591
123b7a85
BC
175922010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17593
17594 Fix grub-mkrescue usage unit testing.
17595
17596 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17597
74276c0d
CF
175982010-05-18 Christian Franke <franke@computer.org>
17599
17600 * util/grub.d/10_windows.in: Use path names instead of
17601 drive letters to prevent warning from Cygwin 1.7.
17602 Add drivemap command to menuentry if needed.
17603
c4f7b523
ST
176042010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17605
17606 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17607 gnumach and gnumach.gz.
17608
95b97950
VS
176092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * include/grub/i18n.h (gettext): Inline instead of using #define.
17612 (grub_gettext): Likewise.
17613 (_): Likewise.
17614
01b8d2d7
VS
176152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17618 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17619 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17620 (main): Add a slash after pkglibdirroot.
17621
654e1d1e
VS
176222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * util/grub-install.in: Add missing "in" keyword.
17625
26966aeb
VS
176262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17629 Reported by: Seth Goldberg.
17630
75006747
VS
176312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17634
74cbf5bd
CW
176352010-05-18 Colin Watson <cjwatson@ubuntu.com>
17636
17637 * configure.ac: Check for Linux device-mapper support.
17638
17639 * util/hostdisk.c (device_is_mapped): New function.
17640 (find_partition_start): New function, partly broken out from
17641 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17642 device-mapper support added.
17643 (linux_find_partition): Use find_partition_start.
17644 (convert_system_partition_to_system_disk): Add `st' argument.
17645 Support Linux /dev/mapper/* devices if device-mapper support is
17646 available; only DM-RAID devices are understood at present.
17647 (find_system_device): Add `st' argument. Pass it to
17648 convert_system_partition_to_system_disk.
17649 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17650 find_system_device and convert_system_partition_to_system_disk. Use
17651 find_partition_start.
17652
17653 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17654 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17655 * util/deviceiter.c [__linux__]: Define MINOR.
17656 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17657 * util/mkdevicemap.c (grub_putchar): New function.
17658 (grub_getkey): New function.
17659 (grub_refresh): New function.
17660 (main): Set debug=all if -v -v is used.
17661
355b51e9
CW
176622010-05-18 Colin Watson <cjwatson@ubuntu.com>
17663
17664 Fix build with non-GNU libcs.
17665
17666 * util/misc.c (canonicalize_file_name): Move to ...
17667 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17668 grub_make_system_path_relative_to_its_root.
17669
7fb5c25f
CW
176702010-05-18 Colin Watson <cjwatson@ubuntu.com>
17671
17672 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17673 we handle finding grub-mkimage. Default to finding grub-mkimage in
17674 ${bindir} with program_transform_name applied, and provide a
17675 --grub-mkimage option to override this.
17676
1d3293d6
VS
176772010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 Remove grub-mkisofs.
17680
17681 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17682 (grub_mkisofs_SOURCES): Removed.
17683 (grub_mkisofs_CFLAGS): Removed.
17684 * util/mkisofs/defaults.h: Removed.
17685 * util/mkisofs/eltorito.c: Likewise.
17686 * util/mkisofs/exclude.h: Likewise.
17687 * util/mkisofs/hash.c: Likewise.
17688 * util/mkisofs/include/: Likewise.
17689 * util/mkisofs/include/fctldefs.h: Likewise.
17690 * util/mkisofs/include/mconfig.h: Likewise.
17691 * util/mkisofs/include/prototyp.h: Likewise.
17692 * util/mkisofs/include/statdefs.h: Likewise.
17693 * util/mkisofs/iso9660.h: Likewise.
17694 * util/mkisofs/joliet.c: Likewise.
17695 * util/mkisofs/match.c: Likewise.
17696 * util/mkisofs/match.h: Likewise.
17697 * util/mkisofs/mkisofs.c: Likewise.
17698 * util/mkisofs/mkisofs.h: Likewise.
17699 * util/mkisofs/msdos_partition.h: Likewise.
17700 * util/mkisofs/multi.c: Likewise.
17701 * util/mkisofs/name.c: Likewise.
17702 * util/mkisofs/rock.c: Likewise.
17703 * util/mkisofs/tree.c: Likewise.
17704 * util/mkisofs/write.c: Likewise.
17705
5dde9afe
VS
177062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Unify grub-mkimage accross platforms.
17709
17710 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17711 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17712 (grub_mkelfimage_SOURCES): Removed.
17713 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17714 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17715 (bin_UTILITIES): Add grub-mkimage.
17716 (grub_mkimage_SOURCES): New variable.
17717 (kernel_img_HEADERS): Remove machine/kernel.h.
17718 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17719 (pkglib_PROGRAMS): Add kernel.img.
17720 (kernel_img_HEADERS): Add machine/kernel.h.
17721 (kernel_img_FORMAT): Removed.
17722 (bin_UTILITIES): Remove grub-mkimage.
17723 (grub_mkimage_SOURCES): Removed.
17724 (grub_mkimage_CFLAGS): Likewise.
17725 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17726 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17727 (pkglib_PROGRAMS): Add kernel.img.
17728 (bin_UTILITIES): Remove grub-mkimage.
17729 (grub_mkimage_SOURCES): Removed.
17730 (grub_mkimage_CFLAGS): Likewise.
17731 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17732 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17733 (pkglib_PROGRAMS): Add kernel.img.
17734 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17735 (pkglib_PROGRAMS): Add kernel.img.
17736 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17737 (grub_mkimage_SOURCES): Removed.
17738 (grub_mkimage_CFLAGS): Likewise.
17739 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17740 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17741 (pkglib_PROGRAMS): Add kernel.img.
17742 (bin_UTILITIES): Remove grub-mkimage.
17743 (grub_mkimage_SOURCES): Removed.
17744 (grub_mkimage_CFLAGS): Likewise.
17745 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17746 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17747 (grub_mkimage_SOURCES): Removed.
17748 (grub_mkimage_CFLAGS): Likewise.
17749 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17750 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17751 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17752 (grub_pe32_optional_header): ... this.
17753 (grub_pe64_optional_header): ... and this. All users updated.
17754 (GRUB_PE32_PE32_MAGIC): Split into ..
17755 (GRUB_PE32_PE32_MAGIC): .. this.
17756 (GRUB_PE32_PE64_MAGIC): .. and this.
17757 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17758 * include/grub/elf.h (PT_GNU_STACK): New definition.
17759 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17760 * include/grub/i386/efi/kernel.h: Likewise.
17761 * include/grub/i386/kernel.h: Likewise.
17762 * include/grub/i386/pc/kernel.h: Likewise.
17763 * include/grub/i386/qemu/boot.h: Likewise.
17764 * include/grub/mips/kernel.h: Likewise.
17765 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17766 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17767 * include/grub/powerpc/kernel.h: Likewise.
17768 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17769 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17770 * include/grub/sparc64/kernel.h: Likewise.
17771 * include/grub/x86_64/efi/kernel.h: Likewise.
17772 * include/grub/x86_64/kernel.h: Likewise.
17773 * include/grub/offsets.h: New file.
17774 * include/grub/kernel.h (grub_module_info): Split into ...
17775 (grub_module_info32): ... this.
17776 (grub_module_info64): ... and this.
17777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17778 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17779 (grub_boot_blocklist): Moved from here ...
17780 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17781 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17782 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17783 * include/grub/types.h (grub_target_to_host16): Removed.
17784 (grub_target_to_host32): Likewise.
17785 (grub_target_to_host64): Likewise.
17786 (grub_host_to_target16): Likewise.
17787 (grub_host_to_target32): Likewise.
17788 (grub_host_to_target64): Likewise.
17789 (grub_host_to_target_addr): Likewise.
17790
17791 Support grub-mkrescue for efi, coreboot and qemu.
17792
17793 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17794 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17795 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17796 * util/grub-mkrawimage.c: Moved from here ...
17797 * util/grub-mkimage.c: ... here. All users updated.
17798 (ALIGN_ADDR): Use image_target.
17799 (TARGET_NO_FIELD): New const.
17800 (image_target_desc): New type.
17801 (image_targets): New array.
17802 (grub_target_to_host64): Use image_target.
17803 (grub_target_to_host32): Likewise.
17804 (grub_target_to_host16): Likewise.
17805 (grub_host_to_target64): Likewise.
17806 (grub_host_to_target32): Likewise.
17807 (grub_host_to_target16): Likewise.
17808 (grub_host_to_target_addr): Likewise.
17809 (generate_image): Handle multiimage.
17810 (main): Require -O parameter. All users updated.
17811 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17812 util/efi/grub-mkimage.c
17813 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17814 New option --rom-directory.
17815 Use xorriso.
17816 * util/i386/efi/grub-mkimage.c: Removed.
17817 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17818 (grub_target_to_host32): Likewise.
17819 (grub_target_to_host64): Likewise.
17820 (grub_host_to_target16): Likewise.
17821 (grub_host_to_target32): Likewise.
17822 (grub_host_to_target64): Likewise.
17823 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17824 (grub_target_to_host32): Likewise.
17825 (grub_target_to_host64): Likewise.
17826 (grub_host_to_target16): Likewise.
17827 (grub_host_to_target32): Likewise.
17828 (grub_host_to_target64): Likewise.
17829
f4fc97d0
BC
178302010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17831
17832 Source tree is reorganized for emu build.
17833
17834 * include/grub/util/console.h: Move from here...
17835 * include/grub/emu/console.h: ...to here.
17836 * include/grub/util/getroot.h: Move from here...
17837 * include/grub/emu/getroot.h: ...to here.
17838 * include/grub/util/hostdisk.h: Move from here...
17839 * include/grub/emu/hostdisk.h: ...to here.
17840 * util/console.c: Move from here...
17841 * kern/emu/console.c: ...to here.
17842 * util/getroot.c: Move from here...
17843 * kern/emu/getroot.c: ...to here.
17844 * util/grub-emu.c: Move from here...
17845 * kern/emu/main.c: ...to here.
17846 * util/hostdisk.c: Move from here...
17847 * kern/emu/hostdisk.c: ...to here.
17848 * util/hostfs.c: Move from here...
17849 * kern/emu/hostfs.c: ...to here.
17850 * util/mm.c: Move from here...
17851 * kern/emu/mm.c: ...to here.
17852 * util/pci.c: Move from here...
17853 * bus/emu/pci.c: ...to here.
17854 * util/sdl.c: Move from here...
17855 * video/emu/sdl.c: ...to here.
17856 * util/time.c: Move from here...
17857 * kern/emu/time.c: ...to here.
17858 * util/usb.c: Move from here...
17859 * bus/usb/emu/usb.c: ...to here.
17860
17861 * include/grub/emu/misc.h: New header for grub-emu functions.
17862 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17863
17864 * conf/any-emu.rmk: Rule updates for above renames.
17865 * conf/common.rmk: Likewise.
17866 * conf/i386-pc.rmk: Likewise.
17867 * conf/i386-qemu.rmk: Likewise.
17868 * conf/mips.rmk: Likewise.
17869 * conf/sparc64-ieee1275.rmk: Likewise.
17870 * conf/x86-efi.rmk: Likewise.
17871
17872 * disk/lvm.h: #include updates for above renames.
17873 * util/grub-mkrelpath.c: Likewise.
17874 * util/grub-probe.c: Likewise.
17875 * util/i386/pc/grub-setup.c: Likewise.
17876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17877 * kern/emu/console.c: Likewise.
17878 * kern/emu/getroot.c: Likewise.
17879 * kern/emu/hostdisk.c: Likewise.
17880 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17881
17882 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17883 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17884 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17885 * util/misc.c: Remove grub-emu functions.
17886
cced9145
VS
178872010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 Fix gfxmenu crash.
17890 Reported by: Thorsten Grützmacher.
17891
17892 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17893 timeout hook.
17894 (circprog_set_property): Register and unregister timeout hook.
17895 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17896 (label_destroy): Free template. and unregister hook.
17897 (label_set_state): New function.
17898 (label_set_property): Handle templates and hooks.
17899 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17900 timeout hook.
17901 (progress_bar_set_property): Register and unregister timeout hook.
17902 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17903 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17904 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17905 (update_timeout_visit): Removed.
17906 (update_timeouts): New function.
17907 (redraw_timeouts): Likewise.
17908 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17909 (grub_gfxmenu_clear_timeout): Likewise.
17910 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17911 (grub_gfxmenu_timeout_notify): Likewise.
17912 (grub_gfxmenu_timeout_notifications): New external variable.
17913 (grub_gfxmenu_timeout_register): New function.
17914 (grub_gfxmenu_timeout_unregister): Likewise.
17915
c6e5caab
VS
179162010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 Transform (broken) vga terminal into (working) vga video driver.
17919
17920 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17921 video/i386/pc/vga.c.
17922 * include/grub/video.h (grub_video_driver_id):
17923 Add GRUB_VIDEO_DRIVER_VGA.
17924 * term/i386/pc/vga.c: Renamed to ...
17925 * video/i386/pc/vga.c: ...this
17926 (DEBUG_VGA): Removed.
17927 (CHAR_WIDTH): Likewise.
17928 (CHAR_HEIGHT): Likewise.
17929 (TEXT_WIDTH): Likewise.
17930 (TEXT_HEIGHT): Likewise.
17931 (DEFAULT_FG_COLOR): Likewise.
17932 (DEFAULT_BG_COLOR): Likewise.
17933 (colored_char): Likewise.
17934 (xpos): Likewise.
17935 (ypos): Likewise.
17936 (cursor_state): Likewise.
17937 (fg_color): Likewise.
17938 (bg_color): Likewise.
17939 (text_buf): Likewise.
17940 (page): Likewise.
17941 (font): Likewise.
17942 (framebuffer): New variable.
17943 (set_read_map): Disabled.
17944 (setup): New variable.
17945 (is_target): Likewise.
17946 (grub_vga_mod_init): Likewise.
17947 (grub_vga_mod_fini): Likewise.
17948 (check_vga_mem): Likewise.
17949 (write_char): Likewise.
17950 (write_cursor): Likewise.
17951 (scroll_up): Likewise.
17952 (grub_vga_putchar): Likewise.
17953 (grub_vga_getcharwidth): Likewise.
17954 (grub_vga_getwh): Likewise.
17955 (grub_vga_getxy): Likewise.
17956 (grub_vga_gotoxy): Likewise.
17957 (grub_vga_cls): Likewise.
17958 (grub_vga_setcolorstate): Likewise.
17959 (grub_vga_setcursor): Likewise.
17960 (grub_video_vga_init): New function.
17961 (grub_video_vga_setup): Likewise.
17962 (grub_video_vga_fini): Likewise.
17963 (update_target): Likewise.
17964 (grub_video_vga_blit_bitmap): Likewise.
17965 (grub_video_vga_blit_render_target): Likewise.
17966 (grub_video_vga_set_active_render_target): Likewise.
17967 (grub_video_vga_get_active_render_target): Likewise.
17968 (grub_video_vga_swap_buffers): Likewise.
17969 (grub_video_vga_set_palette): Likewise.
17970 (grub_video_vga_get_info_and_fini): Likewise.
17971 (grub_vga_term): Removed.
17972 (grub_video_vga_adapter): New variable.
17973 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17974 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17975
2bf61a98
VS
179762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * video/readers/jpeg.c: Indented.
17979
09ddcd11
VS
179802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 Various jpeg cleanups.
17983
17984 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17985 (grub_jpeg_decode_quan_table): Use sizeof.
17986 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17987
e5507505
PH
179882010-05-05 Peter Hurley <No e-mail available> (tiny change)
17989
17990 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17991 tables. Ignore non-last ac bit.
17992 (grub_jpeg_decode_quan_table): Likewise.
17993
7e720a9b
VS
179942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17997 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17998 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17999 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18000 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18001 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18002
a7fc080b
VS
180032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18006 error.
18007
2bf6012d
VS
180082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18011
265d68cd
VS
180122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18015 condition.
18016
180172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18018
18019 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18020 part.
18021
265d68cd 180222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18023
18024 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18025 pointers.
18026
265d68cd 180272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18028
18029 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18030
d1b61374
CF
180312010-05-01 Christian Franke <franke@computer.org>
18032
18033 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18034 Remove broken Cygwin path conversion.
18035 * util/misc.c: [__CYGWIN__] Add include and define.
18036 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18037 for Cygwin 1.7.
18038 (make_system_path_relative_to_its_root): Simplify loop, replace early
18039 return by break.
18040 [__CYGWIN__] Add conversion to win32 path.
18041 Include "/" case in trailing slash removal.
18042
3558c6e9
VS
180432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18046 Reported by: Seth Goldberg
18047
f5f3ff93
VS
180482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * commands/help.c (grub_cmd_help): Fix a typo.
18051 Reported by: Seth Goldberg
18052
d8b5cd40
VS
180532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18056 name and add N_.
18057 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18058 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18059 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18060 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18061 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18062 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18063 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18064 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18065 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18066 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18067 * normal/context.c (GRUB_MOD_INIT): Likewise.
18068 * normal/main.c (GRUB_MOD_INIT): Likewise.
18069 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18070 * term/serial.c (GRUB_MOD_INIT): Likewise.
18071 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18072
88c14915
VS
180732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18076 extra == 0.
18077
165134bc
VS
180782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 * commands/iorw.c: New file.
18081 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18082 (iorw_mod_SOURCES): New variable.
18083 (iorw_mod_CFLAGS): Likewise.
18084 (iorw_mod_LDFLAGS): Likewise.
18085
c5ac9b32
VS
180862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 Hotkey support
18089
18090 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18091 * normal/main.c (hotkey_aliases): New variable.
18092 (grub_normal_add_menu_entry): Parse "--hotkey".
18093 * normal/menu_text.c (run_menu): Handle hotkeys.
18094
ce60689c
VS
180952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * kern/i386/coreboot/init.c (grub_machine_init): Call
18098 grub_machine_mmap_init on qemu.
18099
0359d006
VS
181002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 * boot/i386/qemu/boot.S: Add a missing .code16.
18103
7819a456
VS
181042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 Use LBIO on coreboot.
18107
18108 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18109 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18110 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18111 New declaration.
18112 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18113 grub_machine_mmap_init on coreboot.
18114 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18115 GRUB_LINUXBIOS_MEMBER_LINK.
18116 (grub_machine_mmap_iterate): Fix declaration.
18117 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18118
7210dca9
VS
181192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 Split coreboot and multiboot ports.
18122
18123 * conf/i386-multiboot.rmk: New file.
18124 * configure.ac: Add multiboot port.
18125 * include/grub/i386/multiboot/boot.h: New file.
18126 * include/grub/i386/multiboot/console.h: Likewise.
18127 * include/grub/i386/multiboot/init.h: Likewise.
18128 * include/grub/i386/multiboot/kernel.h: Likewise.
18129 * include/grub/i386/multiboot/loader.h: Likewise.
18130 * include/grub/i386/multiboot/memory.h: Likewise.
18131 * include/grub/i386/multiboot/serial.h: Likewise.
18132 * include/grub/i386/multiboot/time.h: Likewise.
18133 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18134 * loader/multiboot.c: Likewise.
18135 * loader/multiboot_mbi2.c: Likewise.
18136 * util/grub-mkrescue.in: Generate multiboot rescue.
18137
6f8aaf68
VS
181382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18139
3080f7a7
VS
18140 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18141
181422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18145
18146 * commands/terminal.c (abstract_terminal): New struct.
18147 (handle_command): New function. Based on grub_cmd_terminal_input.
18148 (grub_cmd_terminal_input): Use handle_command.
18149 (grub_cmd_terminal_output): Use handle_command.
18150
a8ebb841
BC
181512010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18152
18153 Fix comment handling.
18154
18155 * tests/grub_script_comments.in: New testcase.
18156 * conf/tests.rmk: Rules for new testcase.
18157 * script/yylex.l: Updated flex rules.
18158
bb06ba08
ST
181592010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18160
18161 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18162 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18163 if argc is 1.
bb06ba08 18164
cc9d2425
VS
181652010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18168 autogen issues.
18169
460d8402
CF
181702010-04-26 Christian Franke <franke@computer.org>
18171
18172 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18173 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18174 (grub_get_prefix): Remove function.
18175 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18176 make_system_path_relative_to_its_root ().
18177 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18178
553c01f9
CF
181792010-04-24 Christian Franke <franke@computer.org>
18180
18181 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18182 (kernel_img_LDFLAGS): Remove -static-libgcc.
18183
2aec1692
CF
181842010-04-24 Christian Franke <franke@computer.org>
18185
18186 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18187 and CHECK_END_SYMBOL if grub-emu is built.
18188 Unset TARGET_OBJ2ELF if grub-emu is built
18189 without module support.
18190
f67dc308
JS
181912010-04-24 Jiro SEKIBA <jir@unicus.jp>
18192
18193 Nilfs2 support.
18194
18195 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18196 (grub_fstest_SOURCES): Likewise.
18197 (pkglib_MODULES): Add nilfs2.mod.
18198 (nilfs2_mod_SOURCES): New variable.
18199 (nilfs2_mod_CFLAGS): Likewise.
18200 (nilfs2_mod_LDFLAGS): Likewise.
18201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18202 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18203 * fs/nilfs2.c: New file.
18204
4ba8d354
VS
182052010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18208 is not supported.
18209
0d2c20c6
GS
182102010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18211
18212 Add grub-mkconfig support for NetBSD.
18213
18214 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18215 * util/grub-mkconfig.in: export new NetBSD specific variables.
18216 * po/POTFILES-shell: added 10_netbsd.in.
18217 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18218
bc4a2d83
BC
182192010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18220
18221 Fix emu build with grub-emu-pci and grub-emu-modules.
18222
18223 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18224 functions.
18225 * include/grub/libpciaccess.h: New file.
18226 * conf/any-emu.rmk: Update kernel headers for emu build.
18227
f48c87aa
VS
182282010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18231
18959385
VS
182322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18235
0037de3f
VS
182362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18239 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18240 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18241 util/ieee1275/ofpath.c.
18242 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18243 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18244 * include/grub/sparc64/ieee1275/boot.h
18245 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18246 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18247 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18248 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18249 const char *.
18250 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18251 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18252 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18253 install.
18254
38e55e90
GS
182552010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18256
18257 * util/grub-mkconfig.in: Corrected two == equality tests.
18258 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18259 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18260 expect a number appended to it.
18261 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18262 expects a number appended to it.
18263
a9e6ff28
VS
182642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18267
0b830b8f
VS
182682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 * util/hostdisk.c (make_device_name): Change to new partition naming.
18271
0973daeb
VS
182722010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18275
460d8402 182762010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18277
18278 * Makefile.in: Add missing localedir setting.
18279
0b456309
CW
182802010-04-14 Colin Watson <cjwatson@ubuntu.com>
18281
18282 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18283 mistake in r2156. Noticed by Anthony Fok.
18284
18285 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18286 @localedir@.
18287 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18288
08f46d62
BC
182892010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18290
18291 Fix a spurious, uninitialized variable warning.
18292
18293 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18294 Initialize variable, shdr.
18295 (grub_freebsd_load_elfmodule): Likewise.
18296 (grub_freebsd_load_elf_meta): Likewise.
18297
8c4a72d4
BC
182982010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18299
18300 Fix for escaped dollar in double quoted strings.
18301
18302 * script/yylex.l: Updated flex rules.
18303 * conf/tests.rmk: Rule for new testcase.
18304 * tests/grub_script_dollar.in: New testcase.
18305
ce44826e
CPE
183062010-04-13 Carles Pina i Estany <carles@pina.cat>
183072010-04-13 Colin Watson <cjwatson@ubuntu.com>
18308
18309 Enclose all translated strings in grub.cfg in single quotes, and
18310 escape them appropriately (Ubuntu bug #552921).
18311
18312 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18313 * util/grub.d/10_hurd.in: Use it.
18314 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18315 * util/grub.d/10_linux.in (linux_entry): Likewise.
18316
4b0cd8f8
VS
183172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 Fix cygwin compilation.
18320
18321 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18322 * include/grub/misc.h (__register_frame_info)
18323 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18324 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18325 * kern/misc.c (__register_frame_info)
18326 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18327 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18328
01fcf061
VS
183292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18332
5d04b11e
VS
183332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 Unify libgcc processing.
18336
18337 * Makefile.in (kernel_img_LDFLAGS): New variable.
18338 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18339 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18340 overwriting.
18341 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18342 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18343 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18344 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18345 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18346 overwriting. Remove -lgcc and -static-libgcc
18347 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18348 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18349 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18350 (kernel_img_LDFLAGS): Append instead of overwriting.
18351 Remove -lgcc and -static-libgcc
18352 * conf/sparc64-ieee1275.rmk: Likewise.
18353 * include/grub/powerpc/libgcc.h: Move to ...
18354 * include/grub/libgcc.h: .. this.
18355 * include/grub/libgcc.h: Don't export most of the function on x86.
18356 (__bswapsi2): New export.
18357 (__bswapdi2): Likewise.
18358 * include/grub/mips/libgcc.h: Removed.
18359 * include/grub/sparc64/libgcc.h: Likewise.
18360
b7f3ac29
VS
183612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18364 disk_info_msg (conflicts with gettexting into languages with cases).
18365
2c7031b1
GS
183662010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18367
18368 Add grub-probe support for NetBSD.
18369
18370 * util/getroot.c (find_root_device): Convert block device to
18371 character device on NetBSD.
18372 * util/probe.c (probe): Require character device on NetBSD.
18373 * util/hostdisk.c: NetBSD specific headers.
18374 (configure_device_driver): new function to tune device driver
18375 parameters (currently only for NetBSD floppy driver).
18376 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18377 via disklabel ioctl).
18378 (open_device): call configure_device_driver on NetBSD.
18379 (convert_system_partition_to_system_disk): NetBSD specific code.
18380 (device_is_wholedisk): Likewise.
18381 (grub_util_biosdisk_get_grub_dev): Likewise.
18382 (make_device_name): Fixed a typo in bsd_part_str.
18383 * configure.ac: check for opendisk() and getrawpartition() on
18384 NetBSD and set LIBUTIL.
18385 * Makefile.in: add LIBUTIL to LIBS.
18386
f516290c
BC
183872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18388
18389 Documentation fix.
18390
18391 * util/grub-script-check.c: Better help message.
18392
d8dcc0df
BC
183932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18394
18395 Fix FreeBSD build.
18396
18397 * configure.ac: Flex version check.
18398 * conf/common.rmk: Add -Wno-error to sh.mod.
18399 * script/yylex.l: Remove all #pragma.
18400
6734334a
VS
184012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18404 prototype.
18405 Reported by: Seth Goldberg.
18406
daea6abd
VS
184072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18410 Rename "module" to "module2".
18411 Reported by: Seth Goldberg.
18412
f2fd9d2b
VS
184132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18416 EXPORT_FUNC.
18417 Reported by: Seth Goldberg.
18418
be124579
VS
184192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * lib/posix_wrap/locale.h: Add missing file.
18422 Reported by: Seth Goldberg.
18423
ef5da797
VS
184242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 grub-emu module load support.
18427
18428 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18429 NO_DYNAMIC_MODULES switched to this.
18430 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18431 (CFLAGS): Likewise.
18432 * conf/any-emu.rmk: Generate symlist.
18433 (kernel_img_HEADERS): Add util/datetime.h.
18434 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18435 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18436 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18437 kern/$(target_cpu)/cache.S.
18438 * configure.ac (grub-emu-modules): New option.
18439 * genmk.rb: Handle multiple source lists.
18440 * include/grub/sdl.h: New file.
18441 * include/grub/libusb.h: Likewise.
18442 * util/grub-emu.c (main): Hanle (host) root.
18443 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18444 GRUB_ERR_UNKNOWN_DEVICE.
18445 * util/misc.c: Move mm functions to ...
18446 * util/mm.c: ... here. All users updated.
18447
47822096
VS
184482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18451 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18452 missing files.
18453 (maintainer-clean): Remove libgcrypt-grub.
18454
5d7e7445
VS
184552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18458
25f4e252
EC
184592010-04-09 EFI Coder <eficoder@hotmail.com>
18460
18461 * normal/menu_text.c (print_message): Clean up the message and show
18462 the Fn information when on EFI
18463 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18464
027de555
VS
184652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18468 All users updated.
18469 * normal/crypto.c (read_crypto_list): Likewise.
18470 * normal/dyncmd.c (read_command_list): Likewise.
18471 * normal/term.c (read_terminal_list): Likewise.
18472 * normal/main.c (read_lists): Use explicit prefix.
18473 (read_lists_hook): Use read_lists.
18474 (grub_normal_execute): Likewise.
18475
47779711
VS
184762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18479 Reported by: Thomas Schmitt.
18480 Add -no-emul-boot to grub-mkisofs parameters.
18481
1118c32e
VS
184822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * font/font.c: Indented.
18485
7d652447
BC
184862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18487
18488 Elif support to GRUB script (by Deepak Vankadaru).
18489
18490 * tests/grub_script_if.in: New testcase.
18491 * conf/tests.rmk: Rule for new testcase.
18492 * script/parser.y: Grammar rules for elif.
18493
34bb22df
BC
184942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18495
18496 While and until loops support to GRUB script.
18497
18498 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18499 (grub_script_create_cmdwhile): New function prototype.
18500 (grub_script_execute_cmdwhile): New function prototype.
18501 * script/execute.c (grub_script_execute_cmdwhile): New function.
18502 * script/parser.y (command): New commands.
18503 (whilecmd): New grammar rule.
18504 (untilcmd): New grammar rule.
18505 * script/script.c (grub_script_create_cmdwhile): New function.
18506 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18507 function.
18508
18509 * tests/grub_script_while1.in: New testcase.
18510 * conf/tests.rmk: Rule for new testcase.
18511
e215d8e0
VS
185122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18513
18514 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18515 as *.jpg.
18516
d7c43ba1
MV
185172010-04-09 Mario Vazquez <mariovazq@gmail.com>
18518
18519 GRUB_BACKGROUND support.
18520
18521 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18522 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18523
d64795c0
VS
185242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18527 Idea by: Mario Vazquez
d64795c0
VS
18528
18529 * util/grub.d/00_header.in: Load pf2 and image modules.
18530
f267f83a
VS
185312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 grub-mkconfig multiple terminal support.
18534
18535 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18536 * util/grub.d/00_header.in: Likewise.
18537
b7841ceb
VS
185382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18541 we use cd $(srcdir).
18542
df60998c
CW
185432010-04-08 Colin Watson <cjwatson@ubuntu.com>
18544
18545 * util/grub.d/10_linux.in: Only use the first word of
18546 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18547 spaces in GRUB_DISTRIBUTOR.
18548 * util/grub.d/10_kfreebsd.in: Likewise.
18549 * util/grub.d/10_hurd.in: Likewise.
18550
fa09c82e
BC
185512010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18552
14e18ae3 18553 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18554
18555 * tests/util/grub-shell.in: Remove -serial stdio option.
18556
daf892b3
BC
185572010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 POSIX header file wrappers.
18560
18561 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18562 equivalents.
18563 * lib/posix_wrap/ctype.h: Likewise.
18564 * lib/posix_wrap/errno.h: Likewise.
18565 * lib/posix_wrap/langinfo.h: Likewise.
18566 * lib/posix_wrap/limits.h: Likewise.
18567 * lib/posix_wrap/localcharset.h: Likewise.
18568 * lib/posix_wrap/stdint.h: Likewise.
18569 * lib/posix_wrap/stdio.h: Likewise.
18570 * lib/posix_wrap/stdlib.h: Likewise.
18571 * lib/posix_wrap/string.h: Likewise.
18572 * lib/posix_wrap/sys/types.h: Likewise.
18573 * lib/posix_wrap/unistd.h: Likewise.
18574 * lib/posix_wrap/wchar.h: Likewise.
18575 * lib/posix_wrap/wctype.h: Likewise.
18576 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18577 (grub_script.yy.h): Likewise.
18578 * script/yylex.l: Remove POSIX emulation #defines.
18579 * Makefile.in (POSIX_CFLAGS): New variable.
18580 (GNULIB_UTIL_CFLAGS): Likewise.
18581
18582 Regexp support.
18583
18584 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18585 (regexp_mod_SOURCES): New variable.
18586 (regexp_mod_CFLAGS): Likewise.
18587 (regexp_mod_LDFLAGS): Likewise.
18588 * commands/regexp.c: New file.
18589 * gnulib/regcomp.c: New file. Imported from gnulib.
18590 * gnulib/regex.c: Likewise.
18591 * gnulib/regex_internal.c: Likewise.
18592 * gnulib/regex_internal.h: Likewise.
18593 * gnulib/regexec.c: Likewise.
18594 * gnulib/regex.h: Likewise.
18595
974ac4f7
VS
185962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18599 unsupported video mode types.
18600
2622c3ff
VS
186012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18604
064cb524
VS
186052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18608 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18609
a8c3b552
VS
186102010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Remove unused grub_vga_get_font.
18613
18614 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18615 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18616
187bbe3d
GS
186172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18618
18619 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18620 * include/grub/misc.h: Likewise.
18621
b9396631
GS
186222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18623
18624 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18625 for which failure is fatal.
18626
50479feb
GS
186272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18628
18629 * util/grub-install.in: Use mkdir -p to create grub directory.
18630 * util/i386/efi/grub-install.in: Likewise.
18631 * util/ieee1275/grub-install.in: Likewise.
18632
b1654fdf
GS
186332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18634
18635 * Makefile.in (LEX): new variable.
18636
bd5a6415
GS
186372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18638
18639 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18640 `=' and added double quotes on operands of this equality test.
18641
3db3a82b
VS
186422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * Makefile.in (uninstall): Remove a leftover debug echo.
18645 Reported by: Grégoire Sutre
18646
38023412
VS
186472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 MIPS multiboot2 support.
18650
18651 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18652 (multiboot2_mod_SOURCES): New variable.
18653 (multiboot2_mod_CFLAGS): Likewise.
18654 (multiboot2_mod_LDFLAGS): Likewise.
18655 (multiboot2_mod_ASFLAGS): Likewise.
18656 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18657 definition.
18658 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18659 (MULTIBOOT_MBI_REGISTER): Likewise.
18660 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18661 (MULTIBOOT_ELF32_MACHINE): Likewise.
18662 (MULTIBOOT_ELF64_MACHINE): Likewise.
18663 * include/grub/mips/multiboot.h: New file.
18664 * include/grub/video.h (grub_video_driver_id): New type
18665 GRUB_VIDEO_DRIVER_SM712.
18666 (grub_video_get_info_and_fini): Export.
18667 (grub_video_get_palette): Likewise.
18668 (grub_video_get_driver_id): Likewise.
18669 * include/multiboot2.h: Resynced with spec.
18670 * loader/i386/multiboot.c: Moved from here ...
18671 * loader/multiboot.c: ... here. All users updated.
18672 (grub_multiboot_boot): Use platform-specific macros.
18673 * loader/i386/multiboot_elfxx.c: Moved from here ...
18674 * loader/multiboot_elfxx.c: ... here. All users updated.
18675 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18676 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18677 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18678
47674667
VS
186792010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 Import gnulib argp module.
18682
18683 * gnulib/argp-ba.c: New file.
18684 * gnulib/argp-eexst.c: Likewise.
18685 * gnulib/argp-fmtstream.c: Likewise.
18686 * gnulib/argp-fmtstream.h: Likewise.
18687 * gnulib/argp-fs-xinl.c: Likewise.
18688 * gnulib/argp-help.c: Likewise.
18689 * gnulib/argp-namefrob.h: Likewise.
18690 * gnulib/argp-parse.c: Likewise.
18691 * gnulib/argp-pin.c: Likewise.
18692 * gnulib/argp-pv.c: Likewise.
18693 * gnulib/argp-pvh.c: Likewise.
18694 * gnulib/argp-version-etc.c: Likewise.
18695 * gnulib/argp-version-etc.h: Likewise.
18696 * gnulib/argp-xinl.c: Likewise.
18697 * gnulib/argp.h: Likewise.
18698
495442ed
VS
186992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 * kern/device.c (grub_device_iterate): Clear errors after failed
18702 opening device.
18703
f9fd65df
VS
187042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18707 returned by firmware.
18708
af09641e
VS
187092010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18712 compilation on coreboot and qemu
18713
016883a5
VS
187142010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * include/multiboot2.h: Resync with spec.
18717
f97e1f7d
VS
187182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 Multiboot2 tag support
18721
18722 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18723 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18724 Remove loader/multiboot_loader.c.
18725 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18726 (grub_multiboot2_real_boot): Likewise.
18727 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18728 (grub_get_multiboot_mmap_count): New proto.
18729 (grub_fill_multiboot_mmap): Likewise.
18730 (grub_multiboot_set_video_mode): Likewise.
18731 (grub_multiboot_set_console): Likewise.
18732 (grub_multiboot_load): Likewise.
18733 (grub_multiboot_load_elf): Likewise.
18734 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18735 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18736 * include/multiboot.h: Resynced with specification.
18737 * include/multiboot2.h: Resynced with specification.
18738 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18739 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18740 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18741 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18742 users updated.
18743 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18744 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18745 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18746 Removed.
18747 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18748 Moved from here...
18749 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18750 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18751 Moved from here...
18752 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18753 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18754 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18755 All users updated.
18756 * loader/i386/multiboot_mbi2.c: New file.
18757
3506b90b
VS
187582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 Resync with gnulib.
18761
18762 * Makefile.in (GNULIB_CFLAGS): New variable.
18763 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18764 (grub_script_check_CFLAGS): New variable.
18765 * gnulib/alloca.h: Resync with gnulib.
18766 * gnulib/error.c: Likewise.
18767 * gnulib/error.h: Likewise.
18768 * gnulib/fnmatch.c: Likewise.
18769 * gnulib/fnmatch_loop.c: Likewise.
18770 * gnulib/getdelim.c: Likewise.
18771 * gnulib/getline.c: Likewise.
18772 * gnulib/getopt.c: Likewise.
18773 * gnulib/getopt1.c: Likewise.
18774 * gnulib/getopt_int.h: Likewise.
18775 * gnulib/gettext.h: Likewise.
18776 * gnulib/progname.c: Likewise.
18777 * gnulib/progname.h: Likewise.
18778
394a3120
GS
187792010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18780
18781 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18782 which is the case with --disabled-nls.
18783
18784 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18785 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18786 * util/misc.c: Likewise.
18787 * util/mkisofs/mkisofs.c: Likewise.
18788 * util/mkisofs/mkisofs.h: Likewise.
18789
969d1c78
VS
187902010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 Simplify Apple CC support.
18793
18794 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18795 Add 0 byte at the end not to have a symbol with empty target.
18796 * mmap/i386/pc/mmap_helper.S: Likewise.
18797 * genmk.rb: Ignore errors 2030 and 2050.
18798 * kern/i386/pc/startup.S: Use LOCAL when possible.
18799
8d2977bb
BC
188002010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18801
18802 Testcase and the fix for final semicolon on cmdline.
18803
18804 * tests/grub_script_final_semicolon.in: New testcase.
18805 * conf/tests.rmk: Rules for the new testcase.
18806 * script/parser.y: Grammar fix.
18807
a7bd6915
BC
188082010-03-26 BVK Chaitanya <bvk@localhost>
18809
18810 Blank lines testcase for GRUB script.
18811
18812 * tests/grub_script_blanklines.in: New testcase.
18813 * conf/tests.rmk: Rules for the new testcase.
18814
e4ff6628
VS
188152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 Don't use __FILE__.
18818
18819 * genmk.rb: Add -DGRUB_FILE to all C targets.
18820 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18821 * include/grub/list.h: Likewise.
18822 * include/grub/misc.h: Likewise.
18823 * include/grub/mm.h: Likewise.
18824 * include/grub/test.h: Likewise.
18825 * kern/mm.c: Likewise.
18826 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18827
6a5cf6b6
VS
188282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 Sunpc partitions support.
18831
18832 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18833 (grub_fstest_SOURCES): Likewise.
18834 (pkglib_MODULES): Add part_sunpc.mod.
18835 (part_sunpc_mod_SOURCES): New variable.
18836 (part_sunpc_mod_CFLAGS): Likewise.
18837 (part_sunpc_mod_LDFLAGS): Likewise.
18838 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18839 * partmap/sunpc.c: New file.
18840
746d9045
BC
188412010-03-26 BVK Chaitanya <bvk@localhost>
18842
18843 For loop support to GRUB script.
18844
18845 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18846 (grub_script_create_cmdfor): New function prototype.
18847 (grub_script_execute_cmdfor): New function prototype.
18848 * script/execute.c (grub_script_execute_cmdfor): New function.
18849 * script/parser.y (command): New for command.
18850 (forcmd): New grammar rule.
18851 * script/script.c (grub_script_create_cmdfor): New function.
18852 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18853 function.
18854 * tests/grub_script_for1.in: New testcase.
18855 * conf/tests.rmk: Rules for new testcase.
18856
18486b18
VS
188572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 Nested partitions
18860
18861 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18862 'partition' is NULL, grub_partition_get_start already does that.
18863 * commands/loadenv.c (check_blocklists): Likewise.
18864 (write_blocklists): Likewise.
18865 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18866 (grub_fstest_SOURCES): Likewise.
18867 (pkglib_MODULES): Add part_bsd.mod.
18868 (part_bsd_mod_SOURCES): New variable.
18869 (part_bsd_mod_CFLAGS): Likewise.
18870 (part_bsd_mod_LDFLAGS): Likewise.
18871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18872 (grub_emu_SOURCES): Likewise.
18873 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18874 * include/grub/bsdlabel.h: New file.
18875 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18876 'get_name'.
18877 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18878 (grub_partition_map_list): New variable.
18879 (grub_partition_map_register): Inline.
18880 (grub_partition_map_unregister): Likewise.
18881 (FOR_PARTITION_MAPS): New macro.
18882 (grub_partition_map_iterate): Removed.
18883 (grub_partition_get_start): Handle nested partitions.
18884 * include/grub/msdos_partition.h: Remove bsd-related entries.
18885 (grub_pc_partition): Remove.
18886 * kern/disk.c (grub_disk_close): Free partition data.
18887 (grub_disk_adjust_range): Handle nested partitions.
18888 * kern/partition.c (grub_partition_map_probe): New function.
18889 (grub_partition_probe): Parse name to number, handle subpartitions.
18890 (get_partmap): New function.
18891 (grub_partition_iterate): Handle subpartitions.
18892 (grub_partition_get_name): Likewise.
18893 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18894 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18895 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18896 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18897 Set 'number'.
18898 (acorn_partition_map_probe): Remove.
18899 (acorn_partition_map_get_name): Likewise.
18900 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18901 Set 'number'.
18902 Set 'index' to 0 since there can be only one partition entry per sector.
18903 (amiga_partition_map_probe): Remove.
18904 (amiga_partition_map_get_name): Likewise.
18905 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18906 Set 'number'.
18907 Set 'offset' and 'index' to real positions of partitions.
18908 (apple_partition_map_probe): Remove.
18909 (apple_partition_map_get_name): Likewise.
18910 * partmap/bsdlabel.c: New file.
18911 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18912 Set 'number'.
18913 Allocate 'data' so it can be correctly freed.
18914 Set 'index' to offset inside sector.
18915 (gpt_partition_map_probe): Remove.
18916 (gpt_partition_map_get_name): Likewise.
18917 * partmap/msdos.c (grub_partition_parse): Remove.
18918 (pc_partition_map_iterate): Don't force raw access.
18919 Set 'number'.
18920 Make 'ext_offset' a local variable.
18921 (pc_partition_map_probe): Remove.
18922 (pc_partition_map_get_name): Remove.
18923 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18924 Set 'number'.
18925 (sun_partition_map_probe): Remove.
18926 (sun_partition_map_get_name): Likewise.
18927 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18928 (grub_pcpart_type): Likewise.
18929 * util/hostdisk.c (open_device): Handle new numbering scheme.
18930 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18931 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18932 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18933 * util/grub-install.in: Insert all subpartition modules.
18934 * util/ieee1275/grub-install.in: Likewise.
18935
a3940f88
AG
189362010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18937
18938 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18939 grammar.
18940
21b99926 189412010-03-24 Colin Watson <cjwatson@ubuntu.com>
18942
18943 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18944
bed1d352
CW
189452010-03-21 Colin Watson <cjwatson@ubuntu.com>
18946
18947 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18948 match where 'make install' puts them.
18949 * util/i386/efi/grub-install.in: Likewise.
18950
c9f58427
CW
189512010-03-19 Colin Watson <cjwatson@ubuntu.com>
18952
18953 * .bzrignore: Add gentrigtables, grub-script-check,
18954 grub_script_check_init.c, grub_script_check_init.h, and
18955 trigtables.c.
18956
f84afb27
VS
189572010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * kern/parser.c: Indented.
18960
ed0e3d30
VS
189612010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18964
0ea81d98
VS
189652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18968 alpha_mask_size == 0 case.
18969
0cdc2a09
BC
189702010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18971
18972 GRUB shell lexer and parser improvements.
18973
18974 * conf/any-emu.rmk: Build rule updates.
18975 * conf/common.rmk: Likewise.
18976 * conf/i386-coreboot.rmk: Likewise.
18977 * conf/i386-efi.rmk: Likewise.
18978 * conf/i386-ieee1275.rmk: Likewise.
18979 * conf/i386-pc.rmk: Likewise.
18980 * conf/powerpc-ieee1275.rmk: Likewise.
18981 * conf/x86_64-efi.rmk: Likewise.
18982
18983 * configure.ac: Configure check for flex.
18984
18985 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18986 types.
18987 (grub_lexer_param): Struct member updates.
18988 (grub_parser_param): Likewise.
18989 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18990 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18991 (grub_script_lexer_init): Prototype update.
18992 (grub_script_lexer_record_start): Likewise.
18993 (grub_script_lexer_record_stop): Likewise.
18994 (grub_script_lexer_yywrap): New function prototype.
18995 (grub_script_lexer_fini): Likewise.
18996 (grub_script_execute_argument_to_string): Removed by...
18997 (grub_script_execute_argument_to_argv): ...better version.
18998
18999 * script/execute.c (ROUND_UPTO): New macro.
19000 (grub_script_execute_cmdline): Out of memory fixes.
19001 (grub_script_execute_menuentry): Likewise.
19002 (grub_script_execute_argument_to_string): Removed. Update all
19003 users by...
19004 (grub_script_execute_argument_to_argv): ...better version.
19005 * script/function.c (grub_script_function_create): Use
19006 grub_script_execute_argument_to_argv instead of
19007 grub_script_execute_argument_to_string.
19008
19009 * script/lexer.c (check_varstate): Removed.
19010 (check_textstate): Removed.
19011 (grub_script_lexer_record_start): Likewise.
19012 (grub_script_lexer_record_stop): Likewise.
19013 (recordchar): Replaced with...
19014 (grub_script_lexer_record): ...new function.
19015 (nextchar): Removed.
19016 (grub_script_lexer_init): Rewritten.
19017 (grub_script_yylex): Rewritten.
19018 (append_newline): New function.
19019 (grub_script_lexer_yywrap): New function.
19020 (grub_script_lexer_fini): New function.
19021 (grub_script_yyerror): Sets error flag.
19022
19023 * script/yylex.l: New file.
19024 (grub_lexer_yyfree): Wrapper for flex yyffre.
19025 (grub_lexer_yyalloc): Likewise.
19026 (grub_lexer_yyrealloc): Likewise.
19027 * script/parser.y: Refactored.
19028
19029 * script/script.c (grub_script_arg_add): Out of memory fixes.
19030 (grub_script_add_arglist): Likewise.
19031 (grub_script_create_cmdline): Likewise.
19032 (grub_script_create_cmdmenu): Likewise.
19033 (grub_script_add_cmd): Likewise.
19034 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19035 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19036 unnecessary code.
19037
19038 * tests/grub_script_echo1.in: New testcase.
19039 * tests/grub_script_vars1.in: New testcase.
19040 * tests/grub_script_echo_keywords.in: New testcase.
19041
1d63a066
VS
190422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 Remove some redundancy in build system.
19045
19046 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19047 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19048 (TARGET_LDFLAGS): Add -nostdlib.
19049 (TARGET_IMG_LDFLAGS): Likewise.
19050 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19051 anything since mmap isn't available.
19052 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19053 Add util/time.c.
19054 (pkglib_MODULES): Remove reboot.mod.
19055 (reboot_mod_SOURCES): Removed.
19056 (reboot_mod_CFLAGS): Likewise.
19057 (reboot_mod_LDFLAGS): Likewise.
19058 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19059 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19060 (DEFSYMFILES): Add kernel_syms.lst.
19061 (kernel_img_HEADERS): Add common headers.
19062 (symlist.c): New target.
19063 (kernel_syms.lst): Likewise.
19064 (pkglib_MODULES): Add memdisk.mod.
19065 (memdisk_mod_SOURCES): New variable.
19066 (memdisk_mod_CFLAGS): Likewise.
19067 (memdisk_mod_LDFLAGS): Likewise.
19068 (pkglib_MODULES): Add reboot.mod.
19069 (reboot_mod_SOURCES): New variable.
19070 (reboot_mod_CFLAGS): Likewise.
19071 (reboot_mod_LDFLAGS): Likewise.
19072 (pkglib_MODULES): Add date.mod.
19073 (date_mod_SOURCES): New variable.
19074 (date_mod_CFLAGS): Likewise.
19075 (date_mod_LDFLAGS): Likewise.
19076 (pkglib_MODULES): Add datehook.mod.
19077 (datehook_mod_SOURCES): New variable.
19078 (datehook_mod_CFLAGS): Likewise.
19079 (datehook_mod_LDFLAGS): Likewise.
19080 (pkglib_MODULES): Add lsmmap.mod.
19081 (lsmmap_mod_SOURCES): New variable.
19082 (lsmmap_mod_CFLAGS): Likewise.
19083 (lsmmap_mod_LDFLAGS): Likewise.
19084 (pkglib_MODULES): Add boot.mod.
19085 (boot_mod_SOURCES): New variable.
19086 (boot_mod_CFLAGS): Likewise.
19087 (boot_mod_LDFLAGS): Likewise.
19088 * conf/i386-coreboot.rmk: Removed redundant parts.
19089 * conf/i386-ieee1275.rmk: Likewise.
19090 * conf/i386-pc.rmk: Likewise.
19091 * conf/mips-yeeloong.rmk: Likewise.
19092 * conf/mips.rmk: Likewise.
19093 * conf/powerpc-ieee1275.rmk: Likewise.
19094 * conf/sparc64-ieee1275.rmk: Likewise.
19095 * conf/x86_64-efi.rmk: Likewise.
19096 * conf/i386-coreboot.rmk: Moved qemu parts ..
19097 * conf/i386-qemu.rmk: ... here
19098 * conf/i386-efi.rmk: Moved common parts to...
19099 * conf/x86-efi.rmk: ... here.
19100 * conf/i386.rmk: Added modules common to all x86 variants.
19101 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19102 * disk/memdisk.c: Remove grub/machine/kernel.h.
19103 * gensymlist.sh.in: Include symbol.h.
19104 * hook/datehook.c: Correct module name.
19105 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19106 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19107 * include/grub/i386/efi/serial.h: New file.
19108 * include/grub/x86_64/efi/serial.h: Likewise.
19109 * util/time.c: Likewise.
19110 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19111
463ac55f
CK
191122010-03-14 Colin King <colin.king@ubuntu.com>
191132010-03-14 Colin Watson <cjwatson@ubuntu.com>
19114
19115 Shrink the pre-partition-table part of boot.img by eight bytes.
19116
19117 * boot/i386/pc/boot.S (ERR): New macro.
19118 (chs_mode): Use ERR.
19119 (geometry_error): Likewise.
19120 (hd_probe_error): Remove. This is only used once, so we wrwite
19121 it inline instead.
19122 (read_error): Instead of printing read_error_string, just set up
19123 %si and fall through to ...
19124 (error_message): ... this new function, also used by ERR.
19125
08e46ede
CW
191262010-03-14 Colin Watson <cjwatson@ubuntu.com>
19127
19128 Speed up consecutive hostdisk operations on the same device.
19129
19130 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19131 (grub_util_biosdisk_open): Initialise disk->data.
19132 (struct linux_partition_cache): New structure.
19133 (linux_find_partition): Cache partition start positions; these are
19134 expensive to compute on every read and write.
19135 (open_device): Cache open file descriptor in disk->data, so that we
19136 don't have to reopen it and flush the buffer cache for consecutive
19137 operations on the same device.
19138 (grub_util_biosdisk_close): New function.
19139 (grub_util_biosdisk_dev): Set `close' member.
19140
19141 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19142 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19143 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19144 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19145 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19146
4a6d2d06
VS
191472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 Compile parts of grub-emu as modules.
19150
19151 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19152 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19153 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19154 (all-local): Add $(GRUB_EMU).
19155 (install-local): Install $(GRUB_EMU).
19156 (uninstall): Uninstall $(GRUB_EMU).
19157 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19158 * kern/dl.c: Likewise.
19159 * commands/sleep.c: Not include machine/time.h.
19160 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19161 (COMMON_CFLAGS): Likewise.
19162 (sbin_UTILITIES): Remove grub-emu.
19163 (grub_emu_SOURCES): Removed.
19164 (kernel_img_RELOCATABLE): New variable.
19165 (pkglib_PROGRAMS): Add kernel.img.
19166 (kernel_img_SOURCES): New variable
19167 (kernel_img_CFLAGS): Likewise.
19168 (kernel_img_LDFLAGS): Likewise.
19169 (TARGET_NO_STRIP): Likewise.
19170 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19171 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19172 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19173 (grub-emu): New target.
19174 (GRUB_EMU): New variable.
19175 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19176 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19177 * loader/xnu.c: Likewise.
19178 * include/grub/pci.h: Likewise.
19179 * genemuinit.sh: New file.
19180 * genemuinitheader.sh: Likewise.
19181 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19182 Support TARGET_NO_DYNAMIC_MODULES.
19183 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19184 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19185 * disk/loopback.c: Likewise.
19186 * font/font_cmd.c: Likewise.
19187 * partmap/acorn.c: Likewise.
19188 * partmap/amiga.c: Likewise.
19189 * partmap/apple.c: Likewise.
19190 * partmap/gpt.c: Likewise.
19191 * partmap/msdos.c: Likewise.
19192 * partmap/sun.c: Likewise.
19193 * parttool/msdospart.c: Likewise.
19194 * term/gfxterm.c: Likewise.
19195 * video/bitmap.c: Likewise.
19196 * video/readers/jpeg.c: Likewise.
19197 * video/readers/png.c: Likewise.
19198 * video/readers/tga.c: Likewise.
19199 * video/video.c: Likewise.
19200 * util/grub-emu.c (read_command_list): Removed.
19201 (main): Don't call util_init_nls.
19202 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19203 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19204
91fdd2ed
VS
192052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19208 date.mod, datehook.mod.
19209 (datetime_mod_SOURCES): New variable.
19210 (datetime_mod_CFLAGS): Likewise.
19211 (datetime_mod_LDFLAGS): Likewise.
19212 (date_mod_SOURCES): Likewise.
19213 (date_mod_CFLAGS): Likewise.
19214 (date_mod_LDFLAGS): Likewise.
19215 (datehook_mod_SOURCES): Likewise.
19216 (datehook_mod_CFLAGS): Likewise.
19217 (datehook_mod_LDFLAGS): Likewise.
19218 * conf/sparc64-ieee1275.rmk: Likewise.
19219 * lib/ieee1275/datetime.c: New file.
19220
873ccae6
VS
192212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19224 (ieee1275_fb_mod_SOURCES): New variable.
19225 (ieee1275_fb_mod_CFLAGS): Likewise.
19226 (ieee1275_fb_mod_LDFLAGS): Likewise.
19227 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19228 New proto.
19229 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19230 (HEAP_MAX_ADDR): Likewise.
19231 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19232 type.
19233 Correct stop condition.
19234 (grub_ieee1275_devices_iterate): New function.
19235 * video/ieee1275.c: New file.
19236
601c97c0
VS
192372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19240
19241 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19242 as scratch.
19243 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19244 SCRATCH_PAD_DISKBOOT as scratch.
19245 (bootit): Pass Openfirmware pointer in %o4.
19246 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19247 of 0x200000.
19248 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19249 with util/grub-mkrawimage.c.
19250 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19251 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19252 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19253 (grub_aout_load) [GRUB_UTIL]: Likewise.
19254 * include/grub/kernel.h (grub_modules_get_end): New proto.
19255 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19256 (SCRATCH_PAD_BOOT): New definition.
19257 (SCRATCH_PAD_DISKBOOT): Likewise.
19258 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19259 * include/grub/sparc64/ieee1275/ieee1275.h
19260 (grub_ieee1275_original_stack): New variable
19261 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19262 New definition
19263 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19264 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19265 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19266 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19267 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19268 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19269 (grub_platform_image_format_t): New type.
19270 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19271 * kern/main.c (grub_modules_get_end)
19272 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19273 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19274 (codestart): Switch stacks.
19275 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19276 variable.
19277 (grub_heap_init): Use grub_modules_get_end.
19278 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19279 stack.
19280 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19281 (main): Likewise.
19282 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19283
d68b491e
TG
192842010-03-14 Thorsten Glaser <tg@mirbsd.org>
19285
19286 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19287
4e02ed50
MK
192882010-03-08 Matt Kraai <kraai@ftbfs.org>
19289
19290 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19291 bug #559005).
19292
1f15fc1e
VS
192932010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * genmoddep.awk: Output all missing symbols and not only first.
19296
fce5d8ff
VS
192972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * NEWS: Put the date of 1.98 release.
19300
d1e8a02f
VS
193012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19304 ft2build.h.
19305
696fd607
VS
193062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19309 completition in the middle of string.
19310
33e2e6f3
VS
193112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * util/grub-mkrescue.in: Use mktemp with explicit template.
19314
b1f6d291
VS
193152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19318
2ac227c7
VS
193192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19322 right pointer.
19323
8f9a632b
VS
193242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 Fix FreeBSD compilation.
19327
19328 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19329 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19330
60b03859
VS
193312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19334
48a5a769
VS
193352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19338
3ab4bd77
VS
193392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19342
d116e0d8
RM
193432010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19344
19345 Support relative image path in theme file.
19346
19347 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19348 (image_set_property): Handle theme_dir and relative path.
19349
c7ef54aa
VS
193502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 * configure.ac: Alias amd64 to x86_64.
19353
fcee14ed
VS
193542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * NEWS: mention multiboot on EFI.
19357
d0780363
VS
193582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * kern/main.c (grub_load_modules): Handle errors from init functions of
19361 embeded modules.
19362
41168ea4
VS
193632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * normal/autofs.c (autoload_fs_module): Handle errors.
19366
b54d93ac
VS
193672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 Disable linux.mod on qemu-mips since it's not functional and leads
19370 to compilation failure.
19371
19372 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19373 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19374 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19375 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19376 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19377 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19378 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19379 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19380 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19381 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19382 Reported by: BVK Chaitanya
19383
fc8345da
JU
193842010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19385
19386 * INSTALL: Add gettext as a dependency and add qemu to a new section
19387 "Prerequisites for make-check".
19388
4760f979
CF
193892010-03-04 Christian Franke <franke@computer.org>
19390
19391 * util/grub-pe2elf.c: Add missing include "progname.h".
19392
f209b5b2
VS
193932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * normal/crypto.c (read_crypto_list): Fix a typo.
19396 Reported by: Seth Goldberg.
19397
b4b7be98
VS
193982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19401 Reported by: Seth Goldberg.
b4b7be98 19402
c0ee0385
VS
194032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19406 ascii.bitmaps.
19407
a8efbf64
VS
194082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19411 Reported by: Seth Goldberg.
a8efbf64 19412
08dcd913
VS
194132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 * util/i386/efi/grub-install.in: Copy gettext files.
19416
c4d0b332
VS
194172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19420
c6f2fe52
VS
194212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Wait for user entry basing on presence of output rather than on errors.
19424
19425 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19426 (grub_install_newline_hook): Likewise.
19427 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19428 * normal/menu.c (show_menu): Check line_counter to determine presence
19429 of output.
19430 * normal/term.c (grub_normal_line_counter): New variable.
19431 (grub_normal_get_line_counter): New function.
19432 (grub_install_newline_hook): Likewise.
19433
5382b1e4
VS
194342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19437
5519963b
VS
194382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19439
19440 * configure.ac: Update version to 1.98.
19441
72b28631
VS
194422010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * util/grub.d/10_linux.in (linux_entry): Don't default to
19445 gfxpayload=keep if Linux doesn't support video handover.
19446
c140a180
VS
194472010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 Don't compile video modules on yeeloong since video subsystem is part
19450 of kernel.
19451
19452 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19453 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19454 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19455 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19456 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19457 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19458 * include/grub/bitmap_scale.h: Likewise.
19459 * include/grub/bufio.h: Likewise.
19460 * include/grub/font.h: Likewise.
19461 * include/grub/gfxterm.h: Likewise.
19462 * include/grub/video.h: Likewise.
19463 * include/grub/vbe.h: Don't include video_fb.h.
19464 * video/i386/pc/vbe.c: Include video_fb.h.
19465 * commands/i386/pc/vbetest.c: Include video.h.
19466
a0ca21c2
CW
194672010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19468
19469 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19470 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19471 default entry if GRUB_SAVEDEFAULT=true. This allows using
19472 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19473 saving a new default on every boot.
19474
4a8a763c
VS
194752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19476
19477 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19478 * normal/term.c (read_terminal_list): Likewise.
19479 * normal/main.c (grub_normal_init_page): Likewise.
19480 (grub_normal_read_line_real): Likewise.
19481
607ffde2
VS
194822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19485 memory leak.
19486 Reported by: Seth Goldberg.
19487
2b8fa975
CW
194882010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19489
19490 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19491 duplicate declaration of `start'.
19492
618307dd
VS
194932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19494
19495 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19496 filename.
19497 Reported by: Georgy Buranov
19498
7dd05b96 194992010-02-20 Carles Pina i Estany <carles@pina.cat>
19500
19501 * util/grub-mkrawimage.c (usage): Change string formatting to
19502 improve gettext.
19503
d1484a42
MRA
195042010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19505
19506 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19507 backspace keys.
19508
42b1d186
VS
195092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19512 Reported by: Michael Suchanek.
19513
195142010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19515
19516 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19517 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19518
d9f31a41
VS
195192010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 Remove any reference to non-free fonts.
19522
19523 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19524 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19525 uses non-free components.
19526 * font/font.c (grub_font_get_name): Remove example name.
19527 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19528 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19529 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19530 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19531
2793c71e
GB
195322010-02-16 Georgy Buranov <gburanov@gmail.com>
19533
19534 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19535
402e3779
VS
195362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19539 Double divisor.
19540 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19541 features.
19542 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19543
0dd1e0dd
VS
195442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19547
6fa7cfce
ST
195482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19549
19550 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19551 * docs/grub.texi (Command-line and menu entry commands): Document play
19552 command.
19553
37c8483b
ST
195542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19555
19556 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19557 parse arguments as inline tempo and notes. Move code for playing notes
19558 to...
19559 (play): ... new function.
19560
14da0fb7
ST
195612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19562
19563 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19564 grub_uint16_t instead of short.
19565 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19566 disk from little endian to cpu endianness.
19567
04459e70
ST
195682010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19569
19570 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19571 GRUB_TICKS_PER_SECOND instead of 120.
19572
a0876943
VS
195732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19576 escape sequence after \e.
19577
e29f95dc
VS
195782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19581 non-ASCII characters.
19582
d27859b2
VS
195832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19586 set root in single quotes to prevent \, from being unescaped.
19587
bc028f2f
VS
195882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19589
19590 Prevent unknown commands from stopping menuentry execution.
19591
19592 * script/execute.c (grub_script_execute_cmdline): Print error after
19593 unknown command.
19594
095f5f82
VS
195952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19598 Reported by: Pavel Pisa.
19599
8c717950
VS
196002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19603
904935c3
VS
196042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 Merge grub_ieee1275_map_physical into grub_map and rename to
19607 grub_ieee1275_map
19608
19609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19610 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19611 Remove.
19612 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19613 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19614 necessary.
19615 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19616
5b59a4e3
VS
196172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19620 opening and not after.
19621
69e137e8
VS
196222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19625 constants.
19626
2c0fcc36
VS
196272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19630 (alloc_phys): Use ALIGN_UP instead of align_addr.
19631
8c6052ce
VS
196322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19635
17cec782
VS
196362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19639
e0128bbd
VS
196402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19643 verbose dprintf.
19644
ca62070b
VS
196452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 Fix over-4GiB seek on sparc64.
19648
19649 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19650 Replace pos_i and pos_lo with pos. All users updated.
19651 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19652 New constant.
19653 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19654 Likewise.
19655 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19656 and pos_lo.
19657
bdca2607
VS
196582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19659
19660 * util/grub-mkrawimage.c (main): Call set_program_name.
19661
da278c4d
VS
196622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 Properly align 64-bit targets.
19665
19666 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19667 (generate_image): Use ALIGN_ADDR.
19668
b274d734
VS
196692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Properly create cross-endian images.
19672
19673 * include/grub/types.h (grub_host_to_target_addr): New macro
19674 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19675
82da2062
VS
196762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19679
7cae4377
VS
196802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19683
19684 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19685 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19686 (grub_linux_boot): Divide by 64K when on VESA.
19687
65a533e7
VS
196882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Support GRUB_GFXPAYLOAD_LINUX.
19691
19692 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19693 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19694
dd01d397
VS
196952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19696
19697 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19698 to show messages instead of discarding them.
19699 Process errors after executing command and not before. Keep old method
19700 too as precaution.
19701
660960d6
VS
197022010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 * configure.ac: Check for ft2build.h.
19705
62509f04
VS
197062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19709
473df63d
VS
197102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * genkernsyms.sh.in: Use TARGET_CC.
19713
c98d2a13
CW
197142010-02-07 Colin Watson <cjwatson@ubuntu.com>
19715
19716 * NEWS: Update.
19717
6e14234c
VS
197182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19721 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19722 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19723
b255e9cf
YB
197242010-02-07 Yves Blusseau <blusseau@zetam.org>
19725
6e14234c 19726 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19727
98e6959d
VS
197282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 Fix warnings in grub-emu when compiling with maximum warning options.
19731
19732 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19733 (grub_arch_modules_addr): Return 0 and not NULL.
19734 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19735 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19736 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19737 of disk to dsk to avoid shadowing.
74e4934e
VS
19738 (find_free_slot): Fix prototype.
19739 * util/getroot.c (grub_util_is_dmraid): Make static.
19740 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19741 Add missing prototype.
19742 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19743
74e31b5c
VS
197442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19747 appropriately.
19748
6b2ad14b
VS
197492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19752 code out.
19753
8f891adc
VS
197542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19757 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19758 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19759 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19760 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19761 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19762
74b45184
VS
197632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 * include/grub/err.h (grub_err_printf): Don't export.
19766
a4bced77
VS
197672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19770
007d0695
VS
197712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19774 * kern/misc.c (grub_gettext_dummy): Make static.
19775
b6c0d9c2
VS
197762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19779 by non-valid ones.
19780 * kern/term.c (grub_putchar): Likewise.
19781
f51a90d0
VS
197822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19785 buggy hook call and memory leak.
19786
6846cec5
VS
197872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19790
468d69fe
VS
197912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19794
51906b8c
VS
197952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19798 modevar.
19799 Return grub_errno on allocation error.
19800
09706ce5
VS
198012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19804
911df80c
YB
198052010-02-06 Yves Blusseau <blusseau@zetam.org>
19806
19807 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19808 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19809
3746a6bc
VS
198102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19813 non-pxe disk.
19814 (grub_pxefs_open): Likewise.
19815
09706ce5
VS
198162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19817
19818 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19819 * util/grub.d/10_kfreebsd.in: Likewise.
19820 * util/grub.d/10_linux.in: Likewise.
19821
7cc192d9
VS
198222010-02-06 Colin D Bennett <colin@gibibit.com>
19823
19824 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19825 (gfxmenu_mod_SOURCES): New variable.
19826 (gfxmenu_mod_CFLAGS): Likewise.
19827 (gfxmenu_mod_LDFLAGS): Likewise.
19828 * include/grub/term.h (grub_term_set_current_output): Declare
19829 argument as const.
19830 * docs/gfxmenu-theme-example.txt: New file.
19831 * gfxmenu/gfxmenu.c: Likewise.
19832 * gfxmenu/gui_box.c: Likewise.
19833 * gfxmenu/gui_canvas.c: Likewise.
19834 * gfxmenu/gui_circular_progress.c: Likewise.
19835 * gfxmenu/gui_image.c: Likewise.
19836 * gfxmenu/gui_label.c: Likewise.
19837 * gfxmenu/gui_list.c: Likewise.
19838 * gfxmenu/gui_progress_bar.c: Likewise.
19839 * gfxmenu/gui_string_util.c: Likewise.
19840 * gfxmenu/gui_util.c: Likewise.
19841 * gfxmenu/icon_manager.c: Likewise.
19842 * gfxmenu/model.c: Likewise.
19843 * gfxmenu/named_colors.c: Likewise.
19844 * gfxmenu/theme_loader.c: Likewise.
19845 * gfxmenu/view.c: Likewise.
19846 * gfxmenu/widget-box.c: Likewise.
19847 * include/grub/gfxmenu_model.h: Likewise.
19848 * include/grub/gfxmenu_view.h: Likewise.
19849 * include/grub/gfxwidgets.h: Likewise.
19850 * include/grub/gui.h: Likewise.
19851 * include/grub/gui_string_util.h: Likewise.
19852 * include/grub/icon_manager.h: Likewise.
19853
198542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19855
19856 Agglomerate scrolling in gfxterm.
19857
19858 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19859 (grub_virtual_screen_setup): Initialise 'total_screen'.
19860 (write_char): Split to ...
19861 (paint_char): ... this ...
19862 (write_char): ... and this.
19863 (paint_char): Handle delayed scrolling.
19864 (draw_cursor): Likewise.
19865 (scroll_up): Split to ...
19866 (real_scroll): ... this ...
19867 (scroll_up): ... and this.
19868 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19869 characters.
19870 (grub_gfxterm_refresh): Call real_scroll.
19871
198722010-02-06 Colin D Bennett <colin@gibibit.com>
19873
19874 * include/grub/misc.h (grub_iscntrl): New inline function.
19875 (grub_isalnum): Likewise.
19876 (grub_strtol): Likewise.
19877
198782010-02-06 Colin D Bennett <colin@gibibit.com>
19879
19880 * normal/menu_text.c (get_entry_number): Move from here ...
19881 * normal/menu.c (get_entry_number): ... moved here.
19882 * include/grub/menu.h (grub_menu_get_default_entry_index):
19883 New prototype.
19884 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19885 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19886 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19887 (grub_menu_viewer_should_return): Likewise.
19888 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19889 * normal/menu_text.c (run_menu): Enable menu switching.
19890 * normal/menu_viewer.c (should_return): New variable.
19891 (menu_viewer_changed): Likewise.
19892 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19893 (grub_menu_viewer_should_return): New function.
19894 (menuviewer_write_hook): Likewise.
19895 (grub_menu_viewer_init): Likewise.
19896
198972010-02-06 Colin D Bennet <colin@gibibit.com>
198982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Support for gfxterm in a window.
19901
19902 * include/grub/gfxterm.h: New file.
19903 * include/grub/video.h (struct grub_video_rect): New declaration.
19904 (grub_video_rect_t): Likewise.
19905 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19906 (refcount): New variable.
19907 (render_target): Likewise.
19908 (window): Likewise.
19909 (repaint_callback): Likewise.
19910 (grub_virtual_screen_setup): Use 'render_target'.
19911 (init_window): New function.
19912 (grub_gfxterm_init_window): Likewise.
19913 (grub_gfxterm_init): Check reference counter.
19914 Use init_window.
19915 (destroy_window): New function.
19916 (grub_gfxterm_destroy_window): Likewise.
19917 (grub_gfxterm_fini): Check reference counter.
19918 Use destroy_window.
19919 (redraw_screen_rect): Restore viewport.
19920 Use 'render_target' and 'window'.
19921 Call 'repaint_callback'.
19922 (write_char): Use 'render_target'.
19923 (draw_cursor): Likewise.
19924 (scroll_up): Restore viewport.
19925 Use 'render_target' and 'window'.
19926 Call 'repaint_callback'.
19927 (grub_gfxterm_cls): Likewise.
19928 (grub_gfxterm_refresh): Use 'window'.
19929 (grub_gfxterm_set_repaint_callback): New function.
19930 (grub_gfxterm_background_image_cmd): Use 'window'.
19931 (grub_gfxterm_get_term): New function.
19932 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19933
199342010-02-06 Colin D Bennett <colin@gibibit.com>
19935
19936 Bitmap scaling support.
19937
19938 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19939 (bitmap_scale_mod_SOURCES): New variable.
19940 (bitmap_scale_mod_CFLAGS): Likewise.
19941 (bitmap_scale_mod_LDFLAGS): Likewise.
19942 * include/grub/bitmap_scale.h: New file.
19943 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19944 (background_image_cmd_options): New variable.
19945 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19946 (cmd): Rename and change type to ...
19947 (background_image_cmd_handle): ... this. All users updated.
19948 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19949 * video/bitmap_scale.c: New file.
19950
199512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 SDL support.
19954
19955 * Makefile.in (LIBSDL): New variable.
19956 (enable_grub_emu_sdl): Likewise.
19957 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19958 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19959 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19960 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19961 * util/sdl.c: New file.
19962
199632010-02-06 Colin D Bennett <colin@gibibit.com>
199642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19965
19966 Double buffering support.
19967
19968 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19969 * include/grub/video.h: Update comment.
19970 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19971 New type.
19972 (grub_video_fb_doublebuf_blit_init): New prototype.
19973 * term/gfxterm.c (scroll_up): Support double buffering.
19974 (grub_gfxterm_refresh): Likewise.
19975 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19976 (grub_video_fb_doublebuf_blit_init): Likewise.
19977 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19978 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19979 'displayed_page', 'render_page' and 'update_screen'.
19980 (grub_video_vbe_fini): Free offscreen buffer.
19981 (doublebuf_pageflipping_commit): New function.
19982 (doublebuf_pageflipping_update_screen): Likewise.
19983 (doublebuf_pageflipping_init): Likewise.
19984 (double_buffering_init): Likewise.
19985 (grub_video_vbe_setup): Enable doublebuffering.
19986 (grub_video_vbe_swap_buffers): Implement.
19987 (grub_video_vbe_set_active_render_target): Handle double buffering.
19988 (grub_video_vbe_get_active_render_target): Likewise.
19989 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19990 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19991 (grub_video_vbe_enable_double_buffering): Likewise.
19992 (grub_video_vbe_swap_buffers): Use update_screen.
19993 (grub_video_set_mode): Use double buffering.
19994
199952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19996
19997 * maintainance/gentrigtables.py: Remove.
19998 * lib/trig.c: Likewise.
19999
20000 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20001
20002 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20003 `trigtables.c'.
20004 (trigtables.c): New rule.
20005 (gentrigtables): Likewise.
20006 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20007
200082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20009
20010 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20011 integer constants.
20012
200132010-02-06 Colin D Bennet <colin@gibibit.com>
20014
20015 Trigonometry support.
20016
20017 * include/grub/trig.h: New file.
20018 * lib/trig.c: Likewise.
20019 * maintainance/gentrigtables.py: Likewise.
20020 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20021 (trig_mod_SOURCES): New variable.
20022 (trig_mod_CFLAGS): Likewise.
20023 (trig_mod_LDFLAGS): Likewise.
20024
5562834e
VS
200252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20028 disk devices.
20029
4f8528fc
VS
200302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20033 error.
20034
2b4068e9
VS
200352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * util/hostdisk.c (open_device): Don't use partition device when reading
20038 before the partition.
20039 (grub_util_biosdisk_read): Don't read from partition and before the
20040 partition in single operation.
20041 (grub_util_biosdisk_write): Don't write to partition and before the
20042 partition in single operation.
20043
399f6e4d
TL
200442010-02-03 Torsten Landschoff <torsten@debian.org>
20045
20046 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20047 last sectors.
20048
996649b0
VS
200492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20050
20051 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20052 CDROM reads.
20053 (grub_biosdisk_write): Refuse to write to CDROM.
20054
3b205d4d
VS
200552010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20058
61e89d9d
VS
200592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20060
20061 * font/font.c (find_glyph): Check that bmp_idx is available before
20062 using it.
20063 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20064 with (font == NULL).
20065
bf7fcba2
CS
200662010-01-28 Christian Schmitt <chris@ilovelinux.de>
20067
20068 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20069
f45d2663
BC
200702010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20071
20072 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20073 * util/grub-script-check.c (getline): Fix empty lines case.
20074
ec1444e6
RM
200752010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20076
20077 * Makefile.in (check): Exit with fail status when one of the tests
20078 fails.
20079 * tests/example_functional_test.c (example_test): Fix reversed assert.
20080 * tests/example_unit_test.c (example_test): Likewise.
20081
2e1cb9bb
CW
200822010-01-28 Colin Watson <cjwatson@ubuntu.com>
20083
20084 * util/grub.d/10_linux.in: This script does not use any of the
20085 contents of gettext.sh, only the external command `gettext', so stop
20086 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20087 the same prefix as GRUB.)
20088 * util/grub.d/10_kfreebsd.in: Likewise.
20089
63533ab0
VS
200902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20091
20092 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20093 of the line.
20094
989e1f93
VS
200952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20098 last sectors.
20099
e709ebe2
VS
201002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20103 having a 4KiB and not 32KiB buffer size.
20104
27dea7ed
RM
201052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 * util/hostfs.c: Include `<errno.h>'.
20108 (grub_hostfs_read): Handle errors from fseeko() and fread().
20109
67667b9c
RM
201102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20111
20112 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20113 loop when using read hooks on files whose size isn't sector-aligned.
20114
c294d9d8
RM
201152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20116
20117 Remove unused parameter.
20118
20119 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20120 (grub_iso9660_open): Remove initialization of `data->length'.
20121
af75a9f1
RM
201222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20125 memleak conditions.
20126
254e2ce5 201272010-01-27 Carles Pina i Estany <carles@pina.cat>
20128
20129 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20130 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20131
b510928c 201322010-01-26 Carles Pina i Estany <carles@pina.cat>
20133
20134 * util/bin2h.c (usage): Fix warning (space after backslash).
20135
aa2f9dd2 201362010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20137
20138 * font/font.c: Include `grub/fontformat.h.
20139 Remove font file format constants.
20140 (grub_font_load): Use the new macros.
20141 * include/grub/fontformat.h: New file.
20142 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20143 (write_font_pf2): Use the new macros.
20144
94e7e712
RM
201452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20146
20147 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20148 does.
20149
3973a59a
RM
201502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20151
20152 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20153
20154 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20155 (_start): Macroify `0x7F'.
20156
20157 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20158 (make_install_device): Use "(pxe)" as fallback prefix when booting
20159 via PXE.
20160
42e0cba3
GS
201612010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * configure.ac: Reset LIBS after check for libgcc symbols.
20164
847effd8
CW
201652010-01-25 Colin Watson <cjwatson@ubuntu.com>
20166
20167 * util/hostdisk.c (open_device): Add trailing newline to debug
20168 message.
20169
ea4a7e35
GS
201702010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20171
20172 * configure.ac: Check for `limits.h'.
20173 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20174
67951a53
RM
201752010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20176
20177 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20178 capitalize error strings.
20179
c273d4ce
ST
201802010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20181
20182 * util/grub.d/10_hurd.in: Add a recovery mode.
20183
69be5b74
VS
201842010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * configure.ac: Check for libgcc symbols with -nostdlib.
20187
fc9e5810
BC
201882010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20189
20190 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20191
4b358c0a
VS
201922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20193
20194 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20195 stack since heap may be unavailable at that point.
20196 (grub_ofconsole_gotoxy): Likewise.
20197
454fcd1c
VS
201982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * configure.ac: Check for _restgpr_14_x.
20201 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20202 and _savegpr_* prototypes.
20203
566863ca
RM
202042010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20205
20206 Use generic grub_reboot() for i386-efi.
20207
20208 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20209 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20210 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20211
bf86e59a
VS
202122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20215 presence of "prefix" variable as it breaks when normal.mod is
20216 embedded.
20217
d645e0f8
VS
202182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20221 stack since heap is unavailable at that point.
20222
f9ab2e25
VS
202232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20226 (grub_freebsd_bootinfo): Rewritten.
20227 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20228
01fc7054
VS
202292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20232
caab4fd6
RM
202332010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20236 domain now.
20237
67eb1427
FZ
202382010-01-20 Felix Zielcke <fzielcke@z-51.de>
20239
20240 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20241 around for handling "/" to the correct fix. Fix a memory leak. Use
20242 xstrdup instead of strdup.
20243
a9ed4ff3
VS
202442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20247
202482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20249
20250 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20251
20252 * font/font.c (struct grub_font): New member 'bmp_idx'.
20253 (font_init): Initialise 'bmp_idx'.
20254 (load_font_index): Fill 'bmp_idx'.
20255 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20256
48209f4f
VS
202572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20260 unnecessary calls.
20261
9f0a4bb7
VS
202622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 Move context handling out of the kernel.
20265
20266 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20267 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20268 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20269 * conf/i386-efi.rmk: Likewise.
20270 * conf/i386-ieee1275.rmk: Likewise.
20271 * conf/i386-pc.rmk: Likewise.
20272 * conf/powerpc-ieee1275.rmk: Likewise.
20273 * conf/sparc64-ieee1275.rmk: Likewise.
20274 * conf/x86_64-efi.rmk: Likewise.
20275 * include/grub/env.h: Include grub/menu.h.
20276 (grub_env_var_type): Removed.
20277 (grub_env_var): Replaced field 'type' with 'global'.
20278 (grub_env_find): New prototype.
20279 (grub_env_context_open): Remove EXPORT_FUNC.
20280 (grub_env_context_close): Likewise.
20281 (grub_env_export): Likewise.
20282 (grub_env_set_data_slot): Removed.
20283 (grub_env_get_data_slot): Likewise.
20284 (grub_env_unset_data_slot): Likewise.
20285 (grub_env_unset_menu): New prototype.
20286 (grub_env_set_menu): Likewise.
20287 (grub_env_get_menu): Likewise.
20288 * include/grub/env_private.h: New file.
20289 * include/grub/normal.h (grub_context_init): New prototype.
20290 (grub_context_fini): Likewise.
20291 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20292 * normal/context.c (grub_cmd_export): ... to here.
20293 * kern/env.c: Include env_private.h.
20294 (HASHSZ): Moved to include/grub/env_private.h.
20295 (grub_env_context): Likewise.
20296 (grub_env_sorted_var): Likewise.
20297 (current_context): Renamed from this ...
20298 (grub_current_context): ...to this. 'static' removed. All users updated.
20299 (grub_env_find): Removed 'static'.
20300 (grub_env_context_open): Moved to normal/context.c.
20301 (grub_env_context_close): Likewise.
20302 (grub_env_export): Likewise.
20303 (mangle_data_slot_name): Removed.
20304 (grub_env_set_data_slot): Likewise.
20305 (grub_env_get_data_slot): Likewise.
20306 (grub_env_unset_data_slot): Likewise.
20307 * kern/main.c (grub_set_root_dev): Don't export root.
20308 It will be done later.
20309 (grub_main): Don't export prefix.
20310 It will be done later.
20311 * normal/context.c: New file.
20312 * normal/main.c (free_menu): Use grub_env_unset_menu.
20313 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20314 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20315 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20316 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20317
8dd35b8c
VS
203182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 setpci support.
20321
20322 * commands/setpci.c: New file.
20323 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20324 (setpci_mod_SOURCES): New variable.
20325 (setpci_mod_CFLAGS): Likewise.
20326 (setpci_mod_LDFLAGS): Likewise.
20327
449193d5
VS
203282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 Byte-addressable PCI configuration space.
20331
20332 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20333 dword address.
20334 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20335 GRUB_PCI_REG_CACHELINE.
20336 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20337 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20338 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20339 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20340 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20341 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20342 grub_pci_make_address.
20343 (lock_rom_area): Likewise.
20344 * commands/lspci.c (grub_lspci_iter): Use macroses
20345 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20346 of grub_pci_make_address.
20347 * disk/ata.c (grub_ata_pciinit): Likewise.
20348 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20349 (GRUB_PCI_REG_VENDOR): Likewise.
20350 (GRUB_PCI_REG_DEVICE): Likewise.
20351 (GRUB_PCI_REG_COMMAND): Likewise.
20352 (GRUB_PCI_REG_STATUS): Likewise.
20353 (GRUB_PCI_REG_REVISION): Likewise.
20354 (GRUB_PCI_REG_CLASS): Likewise.
20355 (GRUB_PCI_REG_CACHELINE): Likewise.
20356 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20357 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20358 (GRUB_PCI_REG_BIST): Likewise.
20359 (GRUB_PCI_REG_ADDRESSES): Likewise.
20360 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20361 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20362 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20363 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20364 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20365 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20366 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20367 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20368 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20369 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20370 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20371 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20372 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20373 (GRUB_PCI_REG_MIN_GNT): Likewise.
20374 (GRUB_PCI_REG_MAX_LAT): Likewise.
20375 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20376 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20377 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20378 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20379 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20380 space.
20381
96d73208
RM
203822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20383
20384 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20385 can be reliably determined to be supported.
20386
d4484482
RM
203872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20388
20389 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20390 that VESA is supported.
20391 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20392 supported.
20393
00308ecf
VS
203942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20397
f66924a4
RM
203982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20399
20400 * util/misc.c (make_system_path_relative_to_its_root): Work around
20401 special-casing of "/", as previous incarnation of this routine did.
20402
cbca0ada
VS
204032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 Fix any-emu compilation.
20406
20407 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20408 * grub_bin2h_SOURCES: New variable.
20409
34a66d99
RM
204102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20411
20412 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20413
94fabf58
RM
204142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20415
20416 * util/grub.d/00_header.in: Fix handling of locale_dir.
20417
02cf98ca
VS
204182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20421 as possible unifont location (Gentoo).
20422 Reported by: Alexander Brüning
20423
327dbcd7
VS
204242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 Don't try to generate lists for kernel.img.
20427
20428 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20429 (pkglib_MODULES): Remove kernel.img.
20430 (kernel_img_EXPORTS): Removed.
20431 (kernel_img_RELOCATABLE): New variable.
20432 * conf/x86_64-efi.rmk: Likewise.
20433 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20434
ca467290
VS
204352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20438 grub_xasprintf or grub_snprintf.
20439 (grub_vsprintf): Likewise.
20440 (grub_snprintf): New proto.
20441 (grub_vsnprintf): Likewise.
20442 (grub_xasprintf): Likewise.
20443 (grub_xvasprintf): Likewise.
20444 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20445 (grub_sprintf): Removed.
20446 (grub_vsnprintf): New function.
20447 (grub_snprintf): Likewise.
20448 (grub_xvasprintf): Likewise.
20449 (grub_xasprintf): Likewise.
20450 (grub_vsprintf): Renamed to ...
20451 (grub_vsnprintf_real): ...this. New argument max_len.
20452
aca655fd
BC
204532010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20454
20455 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20456 fix grub-script-check warning.
20457
7ee92c32
VS
204582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * include/grub/font.h (grub_font_load): Fix prototype.
20461
f80927ca
VS
204622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20465
119c50ea
VS
204662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * include/grub/x86_64/at_keyboard.h: New file.
20469
47d5f3c1
VS
204702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * loader/mips/linux.c: Include missing grub/i18n.h.
20473
55ff5266
RM
204742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20475
20476 * normal/menu.c (notify_execution_failure): Clarify error message.
20477
c893cc87
RM
204782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20479
20480 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20481 return value (and revert all return statements). Update users.
20482
917dd370
CW
204832010-01-20 Dan Merillat <debian@dan.merillat.org>
20484
20485 * kern/device.c (grub_device_iterate): Allocate new part_ent
20486 structure based on sizeof (*p) rather than sizeof (p->next), to
20487 account for structure padding.
20488
20489 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20490 disk is NULL, which might happen for LVM physical volumes with no
20491 LVM signature.
20492
d4a4ee57
RM
204932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20494
20495 * loader/mips/linux.c (grub_cmd_initrd)
20496 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20497
204982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20499
20500 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20501 (grub_video_video_init, grub_video_bitmap_init)
20502 (grub_font_manager_init, grub_term_gfxterm_init)
20503 (grub_at_keyboard_init): New extern declarations.
20504 (grub_machine_init): Initialize gfxterm and at_keyboard.
20505
20506 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20507
20508 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20509 `gfxterm.mod' into core image.
20510
20511 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20512 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20513 (kernel_img_FORMAT): Copy to ...
20514
20515 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20516 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20517 (kernel_img_FORMAT): ... here, and ...
20518
20519 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20520 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20521 (kernel_img_FORMAT): ... here.
20522
20523 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20524 and input (at_keyboard) terminals in kernel.
20525 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20526
20527 (pkglib_MODULES): Remove `pci.mod'.
20528 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20529 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20530 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20531 (at_keyboard_mod_LDFLAGS): Remove variables.
20532
205332010-01-11 Felix Zielcke <fzielcke@z-51.de>
20534
20535 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20536
205372009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20538
20539 * include/grub/mips/libgcc.h: Only export symbols for functions
20540 that libgcc provides.
20541
205422009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20543
20544 MIPS support.
20545
20546 * bus/bonito.c: New file.
20547 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20548 GRUB_PCI_NUM_DEVICES.
20549 * term/i386/pc/serial.c: Move to ...
20550 * term/serial.c: ... here. All users updated.
20551 * util/i386/pc/grub-mkimage.c: Move to ...
20552 * util/grub-mkrawimage.c: ... here. All users updated.
20553 * term/i386/pc/at_keyboard.c: Move to ...
20554 * term/at_keyboard.c: ... here. All users updated.
20555 * conf/mips-qemu-mips.rmk: New file.
20556 * conf/mips-yeeloong.rmk: Likewise.
20557 * conf/mips.rmk: Likewise.
20558 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20559 mipsel-qemu-mips.
20560 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20561 to port addresses.
20562 (grub_ata_pciinit): Support CS5536.
20563 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20564 * font/font_cmd.c (loadfont_command): Open file before passing it to
20565 grub_font_load.
20566 (pseudo_file_read): New function.
20567 (pseudo_file_close): Likewise.
20568 (pseudo_fs): New structure.
20569 (load_font_module): New function.
20570 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20571 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20572 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20573 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20574 * include/grub/i386/at_keyboard.h: Split into ...
20575 * include/grub/at_keyboard.h: ... this ...
20576 * include/grub/i386/at_keyboard.h: ... and this.
20577 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20578 New prototype.
20579 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20580 updated.
20581 (grub_elf64_size): Likewise.
20582 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20583 filename.
20584 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20585 * include/grub/i386/coreboot/serial.h: Rewritten.
20586 * include/grub/i386/ieee1275/serial.h: Include
20587 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20588 * include/grub/i386/pc/serial.h: Moved from here ...
20589 * include/grub/serial.h: ... to here. All users updated.
20590 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20591 (GRUB_PCI_NUM_BUS): Likewise.
20592 (GRUB_PCI_NUM_DEVICES): Likewise.
20593 (grub_pci_device_map_range): Add missing volatile keyword.
20594 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20595 * include/grub/mips/at_keyboard.h: New file.
20596 * include/grub/mips/cache.h: Likewise.
20597 * include/grub/mips/io.h: Likewise.
20598 * include/grub/mips/kernel.h: Likewise.
20599 * include/grub/mips/libgcc.h: Likewise.
20600 * include/grub/mips/pci.h: Likewise.
20601 * include/grub/mips/qemu-mips/boot.h: Likewise.
20602 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20603 * include/grub/mips/qemu-mips/loader.h: Likewise.
20604 * include/grub/mips/qemu-mips/memory.h: Likewise.
20605 * include/grub/mips/qemu-mips/serial.h: Likewise.
20606 * include/grub/mips/qemu-mips/time.h: Likewise.
20607 * include/grub/mips/relocator.h: Likewise.
20608 * include/grub/mips/time.h: Likewise.
20609 * include/grub/mips/types.h: Likewise.
20610 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20611 * include/grub/mips/yeeloong/boot.h: Likewise.
20612 * include/grub/mips/yeeloong/kernel.h: Likewise.
20613 * include/grub/mips/yeeloong/loader.h: Likewise.
20614 * include/grub/mips/yeeloong/memory.h: Likewise.
20615 * include/grub/mips/yeeloong/pci.h: Likewise.
20616 * include/grub/mips/yeeloong/serial.h: Likewise.
20617 * include/grub/mips/yeeloong/time.h: Likewise.
20618 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20619 * kern/elf.c (grub_elf32_size): New parameter. All users
20620 updated.
20621 (grub_elf64_size): Likewise.
20622 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20623 Load modules before saying "Welcome to GRUB!".
20624 Call grub_refresh after saying "Welcome to GRUB!".
20625 * kern/mips/cache.S: New file.
20626 * kern/mips/cache_flush.S: Likewise.
20627 * kern/mips/dl.c: Likewise.
20628 * kern/mips/init.c: Likewise.
20629 * kern/mips/qemu-mips/init.c: Likewise.
20630 * kern/mips/startup.S: Likewise.
20631 * kern/mips/yeeloong/init.c: Likewise.
20632 * kern/term.c (grub_putcode): Handle NULL terminal.
20633 (grub_getcharwidth): Likewise.
20634 (grub_getkey): Likewise.
20635 (grub_checkkey): Likewise.
20636 (grub_getkeystatus): Likewise.
20637 (grub_getxy): Likewise.
20638 (grub_getwh): Likewise.
20639 (grub_gotoxy): Likewise.
20640 (grub_cls): Likewise.
20641 (grub_setcolorstate): Likewise.
20642 (grub_setcolor): Likewise.
20643 (grub_getcolor): Likewise.
20644 (grub_refresh): Likewise.
20645 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20646 (write_jump): Add hatch nop.
20647 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20648 * lib/mips/setjmp.S: New file.
20649 * loader/mips/linux.c: Likewise.
20650 * term/i386/pc/at_keyboard.c: Move from here ...
20651 * term/at_keyboard.c: ... to here.
20652 * term/i386/pc/serial.c: Moved from here ...
20653 * term/serial.c: ... to here. All users updated.
20654 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20655 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20656 (serial_translate_key_sequence): Avoid deadlock.
20657 (grub_serial_getkey): Handle backspace.
20658 (grub_serial_putchar): Fix newline handling.
20659 * util/i386/pc/grub-mkimage.c: Move from here ...
20660 * util/grub-mkrawimage.c: ... to here. All users updated.
20661 (generate_image): New parameters 'font_path' and 'format'.
20662 Support embedding font.
20663 Use grub_host_to_target* instead of grub_cpu_to_le*.
20664 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20665 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20666 (options): New option "--font".
20667 (usage): Likewise.
20668 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20669 (main): Handle "--font".
20670 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20671 (grub_virtual_screen_setup): Set bg_color_display.
20672 (redraw_screen_rect): Use bg_color_display instead of incorrect
20673 bg_color.
20674 (grub_gfxterm_cls): Likewise.
20675 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20676 Support embedding config file.
20677 (add_segments): Likewise.
20678 (options): New option "--config".
20679 (main): Handle "--config".
20680 * video/sm712.c: New file.
20681
25c2b5b3
RM
206822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20683
20684 Fix parallel builds.
20685
20686 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20687 font.c depend on ascii.h).
20688
206892010-01-12 Carles Pina i Estany <carles@pina.cat>
20690
20691 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20692
206932010-01-11 Carles Pina i Estany <carles@pina.cat>
20694
20695 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20696 By default: disabled.
20697 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20698 parameter.
20699
207002010-01-10 Carles Pina i Estany <carles@pina.cat>
20701
20702 * font/font.c: Update copyright years.
20703 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20704
207052010-01-10 Carles Pina i Estany <carles@pina.cat>
20706
20707 * font/font.c: Include `ascii.h'.
20708 (ASCII_BITMAP_SIZE): New macro.
20709 (ascii_font_glyph): Define.
20710 (ascii_glyph_lookup): New function.
20711 (grub_font_get_string_width): Change comment. If glyph not found, use
20712 ascii_glyph_lookup.
20713 (grub_font_get_glyph_with_fallback): If glyph not available returns
20714 ascii_glyph_lookup.
20715 * util/grub-mkfont.c (file_formats): New enum.
20716 (options): Add `ascii-bitmaps' new option.
20717 (usage): Add `asii-bitmaps' new option.
20718 (write_font_ascii_bitmap): New function.
20719 (write_font): Rename to ...
20720 (write_font_p2): ... this. Remove print_glyphs call.
20721 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20722 used. Call print_glyphs.
20723 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20724
207252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20726
20727 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20728 (grub_bin2h_SOURCES): New variable.
20729 * util/bin2h.c: New file.
20730
915fc1b8
VS
207312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * include/multiboot.h: Resynced with spec.
20734 * include/multiboot2.h: Likewise.
20735 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20736 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20737
9444b678
RM
207382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20739
20740 * include/grub/term.h (grub_term_register_input,
20741 grub_term_register_output): Check return of terminal init()
20742 routines, and abort if errors are raised.
20743
20744 * commands/terminal.c: Update copyright year.
20745
cba98e8d
RM
207462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20747
20748 * commands/terminal.c (grub_cmd_terminal_input)
20749 (grub_cmd_terminal_output): Check return of terminal init()
20750 routines, and abort if errors are raised.
20751
6f7db5d6
VS
207522010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * include/grub/i386/bsd.h: Fix include pathes.
20755
262bff8d
VS
207562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Add missing *BSD copyright headers.
20759
20760 * include/grub/aout.h: Add BSD licence.
20761 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20762 * include/grub/i386/freebsd_linker.h: ... here,
20763 * include/grub/i386/freebsd_reboot.h: ... here,
20764 * include/grub/i386/netbsd_bootinfo.h: ... here,
20765 * include/grub/i386/netbsd_reboot.h: ... here,
20766 * include/grub/i386/openbsd_bootarg.h: ... here,
20767 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20768 licence to each file.
20769
b2cab848
RM
207702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 * acinclude.m4: Remove `nop' assembly instruction; it's not
20773 implemented by all architectures.
20774
2cb6be4b
RM
207752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20778 ELILO. This is no longer necessary.
20779
a2eaee15
BC
207802010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20781
20782 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20783
20784 * util/grub-script-check.c: grub-script-check tool.
20785 * conf/common.rmk: Make rules for grub-script-check.
20786
88d17012
RM
207872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20788
20789 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20790 spotting it back in 2008. Shame on me for forgetting he did.
20791
20792 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20793
8040619d
RM
207942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20797 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20798 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20799 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20800 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20801 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20802
a0c2a0f6
RM
208032010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20804
20805 * include/grub/test.h: Add license header.
20806 * tests/example_functional_test.c: Likewise.
20807 * tests/example_unit_test.c: Likewise.
20808 * tests/lib/functional_test.c: Likewise.
20809 * tests/lib/test.c: Likewise.
20810 * tests/lib/unit_test.c: Likewise.
20811
b0b13907
VS
208122010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 Use flag-based instead of hook-based video mode selection and "auto"
20815 keyword.
20816
20817 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20818 (grub_video_set_mode): Changed prototype. All users updated.
20819 (grub_video_check_mode_flag): New inline function.
20820 * video/video.c (parse_modespec): New function.
20821 (grub_video_set_mode): Parse flags and keywords.
20822
ea379330 208232010-01-17 Carles Pina i Estany <carles@pina.cat>
20824
20825 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20826 fprintf call.
20827
e15c215e
FZ
208282010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20829
20830 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20831
409ae1c9 208322010-01-16 Carles Pina i Estany <carles@pina.cat>
20833
20834 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20835 string.
20836 * util/grub-emu.c (usage): Likewise.
20837 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20838 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20839 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20840 * util/i386/pc/grub-setup.c (usage): Likewise.
20841
70a14d3d 208422010-01-16 Carles Pina i Estany <carles@pina.cat>
20843
20844 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20845 the message.
20846 (grub_util_info): Likewise.
20847 (grub_util_error): Likewise.
20848 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20849 and/or new lines in `grub_util_warna', `grub_util_info',
20850 `grub_util_error' calls.
20851 * util/getroot.c: Likewise.
20852 * util/grub-editenv.c: Likewise.
20853 * util/grub-emu.c: Likewise.
20854 * util/grub-fstest.c: Likewise.
20855 * util/grub-mkdevicemap.c: Likewise.
20856 * util/grub-mkfont.c: Likewise.
20857 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20858 * util/grub-mkrelpath.c: Likewise.
20859 * util/grub-pe2elf.c: Likewise.
20860 * util/grub-probe.c: Likewise.
20861 * util/hostdisk.c: Likewise.
20862 * util/i386/efi/grub-mkimage.c: Likewise.
20863 * util/i386/pc/grub-mkimage.c: Likewise.
20864 * util/i386/pc/grub-setup.c: Likewise.
20865 * util/ieee1275/ofpath.c: Likewise.
20866 * util/mkisofs/eltorito.c: Likewise.
20867 * util/mkisofs/rock.c: Likewise.
20868 * util/mkisofs/write.c: Likewise.
20869 * util/raid.c: Likewise.
20870 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20871 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20872
a0b766fc
VS
208732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 Enable multiboot on non-pc.
20876
20877 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20878 multiboot.mod and multiboot2.mod to ...
20879 * conf/i386.rmk (pkglib_MODULES): ... here.
20880 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20881 Moved to ...
20882 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20883 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20884 Moved to ...
20885 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20886 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20887 Moved to ...
20888 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20889 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20890 Moved to ...
20891 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20892 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20893 relocator.mod.
20894 (ata_mod_SOURCES): Removed.
20895 (ata_mod_CFLAGS): Likewise.
20896 (ata_mod_LDFLAGS): Likewise.
20897 (relocator_mod_SOURCES): Removed.
20898 (relocator_mod_CFLAGS): Likewise.
20899 (relocator_mod_ASFLAGS): Likewise.
20900 (relocator_mod_LDFLAGS): Likewise.
20901 Include i386.mk.
20902 * include/grub/x86_64/multiboot.h: New file.
20903 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20904 Terminate EFI.
20905
884ade56
VS
209062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 Video multiboot support.
20909
20910 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20911 New prototype.
20912 * include/multiboot.h: Resynced with multiboot specification.
20913 * include/multiboot2.h: Likewise.
20914 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20915 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20916 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20917 (HAS_VGA_TEXT): Likewise.
20918 (accepts_video): New variable.
20919 (grub_multiboot_set_accepts_video): New function.
20920 (grub_multiboot_get_mbi_size): Account for video structures.
20921 (set_video_mode): New function.
20922 (retrieve_video_parameters): Likewise.
20923 (grub_multiboot_make_mbi): Fill video fields.
20924
0d90e8a6
VS
209252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 Video driver ids.
20928
20929 * include/grub/video.h (grub_video_driver_id): New type.
20930 (grub_video_adapter): New member 'id'. All users updated.
20931 (grub_video_get_driver_id): New proto.
20932 * video/video.c (grub_video_get_driver_id): New function.
20933
5c71db1b 209342010-01-14 Carles Pina i Estany <carles@pina.cat>
20935
20936 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20937 `var=val'.
20938
cca15b52 209392010-01-14 Carles Pina i Estany <carles@pina.cat>
20940
20941 * normal/cmdline.c (print_completion): Gettextizze.
20942
c586fbb2 209432001-01-14 Carles Pina i Estany <carles@pina.cat>
20944
20945 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20946
ba2f6848 209472010-01-14 Carles Pina i Estany <carles@pina.cat>
20948
20949 * gettext/gettext.c (grub_gettext_translate): Push and pop
20950 grub_errno.
20951 (grub_gettext_delete_list): Change comment style.
20952 * kern/err.c (grub_error): Gettextizze.
20953 (grub_fatal): Gettextizze.
20954
0a46429a
RM
209552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20956
20957 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20958 (grub_linux16_real_boot): ... this.
20959 * kern/i386/loader.S: Likewise.
20960 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20961 (grub_linux16_boot): New function. Switches to text mode and calls
20962 grub_linux16_real_boot().
20963
20964 * loader/i386/bsd.c: Include `<grub/video.h>'.
20965 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20966 text mode before calling grub_unix_real_boot().
20967
20968 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20969 (grub_multiboot_boot): Switch to text mode before calling
20970 grub_relocator32_boot().
20971
20972 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20973 (grub_chainloader_boot): Switch to text mode before calling
20974 grub_chainloader_real_boot().
20975
d6f93a66
RM
209762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209772010-01-05 Colin Watson <cjwatson@ubuntu.com>
20978
20979 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20980 non-empty value.
20981
209822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209832010-01-05 Colin Watson <cjwatson@ubuntu.com>
20984
20985 * util/grub.d/00_header.in: Define a "savedefault" function for use
20986 in menu entries.
20987 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20988
209892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
209902010-01-05 Colin Watson <cjwatson@ubuntu.com>
20991
20992 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20993 saved_entry if boot_once is unset.
20994 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20995 previous saved entry (i.e. grub-reboot).
20996
209972009-12-08 Colin Watson <cjwatson@ubuntu.com>
20998
20999 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21000
210012009-12-08 Colin Watson <cjwatson@ubuntu.com>
21002
21003 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21004 `var=val'.
21005 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21006
210072009-12-08 Colin Watson <cjwatson@ubuntu.com>
21008
21009 * util/grub-reboot.in: Fix --version output.
21010 * util/grub-set-default.in: Likewise.
21011
210122009-12-08 Colin Watson <cjwatson@ubuntu.com>
21013
21014 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21015 blocks.
21016
210172009-12-08 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * util/grub.d/00_header.in: Quote the value assigned to `default',
21020 in case it contains spaces.
21021
210222009-12-08 Colin Watson <cjwatson@ubuntu.com>
21023
21024 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21025 `save_default_entry' call from the macosx case to the linux case.
21026
210272009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
210282009-10-25 Colin Watson <cjwatson@ubuntu.com>
21029
21030 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21031 in `chosen' environment variable.
21032 * normal/menu_text.c (get_entry_number): Check if the variable
21033 matches the title of a menu entry.
21034 (run_menu): Pass menu to get_entry_number.
21035
21036 * util/grub-reboot.in: New file.
21037 * util/grub-set-default.in: New file.
21038 * conf/common.rmk (grub-reboot): New utility.
21039 (grub-set-default): New utility.
21040
21041 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21042 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21043 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21044 move it to `saved_entry' for the next boot. Load environment on
21045 initialisation.
21046 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21047 * util/grub.d/10_hurd.in: Likewise.
21048 * util/grub.d/10_linux.in (linux_entry): Likewise.
21049 * util/grub.d/10_windows.in: Likewise.
21050 * util/grub.d/30_os-prober.in: Likewise.
21051
21052 * util/grub-install.in: Create environment block.
21053 * util/i386/efi/grub-install.in: Likewise.
21054 * util/ieee1275/grub-install.in: Likewise.
21055 * util/sparc64/ieee1275/grub-install.in: Likewise.
21056
0934d184
BC
210572010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21058
21059 Unit testing framework for GRUB.
21060
21061 * Makefile.in: Test framework build rules for 'make check'.
21062 * conf/tests.rmk: Build rules for individual tests and framework.
21063
21064 * include/grub/test.h: Header file for whitebox tests.
21065 * tests/lib/functional_test.c: Framework support for whitebox
21066 functional tests.
21067 * tests/lib/test.c: Common whitebox testing code for unit and
21068 functional tests.
21069 * tests/lib/unit_test.c: Framework support for whitebox unit
21070 tests.
21071
21072 * tests/util/grub-shell-tester.in: Support utility for grub-script
21073 tests.
21074 * tests/util/grub-shell.in: Utility to execute grub-script
21075 commands in a Qemu instance.
21076
21077 * tests/example_functional_test.c: Example whitebox functional
21078 test.
21079 * tests/example_grub_script_test.in: Example grub-script test.
21080 * tests/example_scripted_test.in: Example scripted test.
21081 * tests/example_unit_test.c: Example whitebox unit test.
21082
9c4ffeeb
VS
210832010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21086 Add loader/i386/multiboot_mbi.c.
21087 (multiboot2_mod_SOURCES): Likewise.
21088 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21089 (multiboot2_mod_SOURCES): Likewise.
21090 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21091 (grub_multiboot_make_mbi): Likewise.
21092 (grub_multiboot_free_mbi): Likewise.
21093 (grub_multiboot_init_mbi): Likewise.
21094 (grub_multiboot_add_module): Likewise.
21095 (grub_multiboot_set_bootdev): Likewise.
21096 * loader/i386/multiboot.c (mbi): Removed.
21097 (mbi_dest): Likewise.
21098 (alloc_mbi): New variable.
21099 (grub_multiboot_payload_size): Removed. All users updated.
21100 (grub_multiboot_pure_size): New variable.
21101 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21102 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21103 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21104 (grub_fill_multiboot_mmap): Likewise.
21105 (grub_multiboot_get_bootdev): Likewise.
21106 (grub_multiboot): Use multiboot_mbi functions.
21107 * loader/i386/multiboot_mbi.c: New file.
21108
17383dfe
VS
211092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21112 it would result in module crash.
21113
c1f28820
VS
211142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21117 (grub_ofconsole_getwh): Split to ...
21118 (grub_ofconsole_getwh): ... this.
21119 (grub_ofconsole_dimensions): ...and this.
21120 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21121
58655a16
RM
211222010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21123
21124 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21125
10891398
VS
211262010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * loader/i386/pc/multiboot2.c: Removed stalled file.
21129
0b8a223c
VS
211302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21133 Reported by: Grégoire Sutre
21134
92ab12b0
RM
211352010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21136
21137 * util/misc.c (canonicalize_file_name): New function.
21138 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21139 instead of realpath().
21140
a788afb6
CW
211412010-01-11 Colin Watson <cjwatson@ubuntu.com>
21142
21143 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21144 and make it clearer that it's optional. Based on confusion
21145 witnessed on IRC.
21146
ffa8e3d2
VS
211472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21150 in premature implicit newline.
21151
e9060a9d
VS
211522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21155 which resulted in garbled command line at the end of screen.
21156
f0d0c0b7
RM
211572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21158
21159 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21160 initialization with similar approach as with other Linux loaders.
21161
0e60bae7
RM
211622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21163
21164 Fix i386-ieee1275 build.
21165
21166 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21167 and grub_term_height() for video_{width,height} initialization.
21168
211692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21170
21171 Fix grub-emu build.
21172
21173 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21174
cdb3f378
RM
211752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
211762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21177
21178 Support for multiple terminals.
21179
21180 * Makefile.in (pkglib_DATA): terminal.lst.
21181 (terminal.lst): New target.
21182 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21183 (GRUB_MOD_INIT(handler)): Likewise.
21184 (GRUB_MOD_FINI(handler)): Likewise.
21185 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21186 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21187 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21188 (grub_cmd_sleep): Use grub_term_save_pos.
21189 * commands/terminal.c: New file.
21190 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21191 commands/terminal.c and lib/charset.c.
21192 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21193 (pkglib_MODULES): Add terminal.mod.
21194 (terminal_mod_SOURCES): New variable.
21195 (terminal_mod_CFLAGS): Likewise.
21196 (terminal_mod_LDFLAGS): Likewise.
21197 * genhandlerlist.sh: Don't handle terminals.
21198 * genmk.rb: Generate terminal-*.lst.
21199 * genterminallist.sh: New file.
21200 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21201 (grub_is_valid_utf8): Likewise.
21202 (grub_utf8_to_ucs4_alloc): Likewise.
21203 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21204 (grub_menu_register_viewer): Changed argument.
21205 (grub_menu_try_text): New proto.
21206 (grub_gfxmenu_try_hook): New declaration.
21207 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21208 (grub_menu_init_page): Additional argument term.
21209 (grub_normal_init_page): Likewise.
21210 (grub_cmdline_get): Arguments simplified.
21211 (grub_utf8_to_ucs4_alloc): Removed.
21212 (grub_print_ucs4): Additional argument term.
21213 (grub_getstringwidth): Likewise.
21214 (grub_print_message_indented): Likewise.
21215 (grub_menu_text_register_instances): New proto.
21216 (grub_show_menu): Likewise.
21217 (read_terminal_list): Likewise.
21218 (grub_set_more): Likewise.
21219 * include/grub/parser.h: Include handler.h.
21220 * include/grub/reader.h: Rewritten.
21221 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21222 (GRUB_TERM_WIDTH): Changed to function.
21223 (GRUB_TERM_HEIGHT): Likewise.
21224 (GRUB_TERM_BORDER_WIDTH): Likewise.
21225 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21226 (GRUB_TERM_NUM_ENTRIES): Likewise.
21227 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21228 (GRUB_TERM_CURSOR_X): Likewise.
21229 (grub_term_input_class): Likewise.
21230 (grub_term_output_class): Likewise.
21231 (grub_term_outputs_disabled): New declaration.
21232 (grub_term_inputs_disabled): Likewise.
21233 (grub_term_outputs): Likewise.
21234 (grub_term_inputs): Likewise.
21235 (grub_term_register_input): Rewritten.
21236 (grub_term_register_output): Likewise.
21237 (grub_term_unregister_input): Likewise.
21238 (grub_term_unregister_output): Likewise.
21239 (FOR_ACTIVE_TERM_INPUTS): New macro.
21240 (FOR_DISABLED_TERM_INPUTS): Likewise.
21241 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21242 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21243 * include/grub/terminfo.h: Add oterm argument to all protypes.
21244 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21245 Use grub_rescue_run.
21246 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21247 All users updated.
21248 * kern/reader.c: Removed. All users updated.
21249 * kern/rescue_reader.c (grub_rescue_init): Removed.
21250 (grub_rescue_reader): Likewise.
21251 (grub_register_rescue_reader): Likewise.
21252 (grub_rescue_run): New function based on kern/reader.c.
21253 * kern/term.c: Adapted for multiterm.
21254 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21255 (grub_is_valid_utf8): Likewise.
21256 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21257 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21258 right terminal.
21259 * loader/i386/linux.c (grub_linux_boot): Likewise.
21260 * normal/auth.c (grub_username_get): New function.
21261 (grub_auth_check_authentication): Use grub_username_get.
21262 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21263 * normal/color.c: Adapt for multiterm.
21264 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21265 (grub_normal_init_page): Additional argument term.
21266 (read_lists): Call read_terminal_lists.
21267 (grub_enter_normal_mode): Call grub_cmdline_run.
21268 Handle grub_normal_exit_level.
21269 (grub_cmd_normal): Make reentrant.
21270 (grub_cmd_normal_exit): New function.
21271 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21272 * normal/menu.c: Adapt for multiterm.
21273 * normal/menu_entry.c: Likewise.
21274 * normal/menu_text.c: Likewise.
21275 * normal/menu_viewer.c: Removed. All users updated.
21276 * normal/term.c: New file.
21277 * util/console.c: Change order of includes to workaround a bug in
21278 ncurses headers.
21279 * term/terminfo.c: New argument oterm on all exported functions.
21280 All users updated.
21281 * util/grub-editenv.c (grub_term_input_class): Removed.
21282 (grub_term_output_class): Likewise.
21283
1a064917
RM
212842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21285
21286 Make loader output a bit more user-friendly.
21287
21288 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21289 is being loaded. Likewise for the Hurd.
21290
21291 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21292 that kernel of FreeBSD ${version} is being loaded.
21293
21294 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21295 grub_dprintf().
21296 (grub_cmd_initrd): Likewise.
21297 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21298 that Linux ${version} is being loaded. Likewise for initrd.
21299
5ce0a83a 213002010-01-09 Carles Pina i Estany <carles@pina.cat>
21301
21302 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21303
809bbfeb 213042010-01-08 Carles Pina i Estany <carles@pina.cat>
21305
21306 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21307 (GRUB_MOD_INIT): Gettextizze.
21308 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21309 (GRUB_MOD_INIT): Gettextizze.
21310 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21311 (grub_cmd_linux): Capitalise Linux.
21312 (GRUB_MOD_INIT): Gettextizze.
21313 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21314 (grub_cmd_linux): Capitalise Linux.
21315 (GRUB_MOD_INIT): Gettextizze.
21316 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21317 (grub_cmd_linux): Capitalise Linux.
21318 (GRUB_MOD_INIT): Gettextizze.
21319 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21320 (GRUB_MOD_INIT): Gettextizze.
21321 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21322 (grub_cmd_linux): Capitalise Linux.
21323 (GRUB_MOD_INIT): Gettextizze.
21324 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21325 (grub_cpu_xnu_init): Gettextizze.
21326 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21327 (GRUB_MOD_INIT): Gettextizze.
21328 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21329 (GRUB_MOD_INIT): Gettextizze.
21330 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21331 (grub_linux_load64): Capitalise Linux.
21332 (GRUB_MOD_INIT): Gettextizze.
21333 * loader/xnu.c: Include `<grub/i18n.h>'.
21334 (GRUB_MOD_INIT): Gettextizze.
21335 * po/POTFILES: Add `loader/efi/appleloader.c',
21336 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21337 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21338 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21339 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21340 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21341 and `loader/xnu.c'.
21342
b394b2ca
RM
213432010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21344
21345 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21346
213472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21348
21349 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21350 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21351 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21352
bc8b32b3
RM
213532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21354
21355 Reset Multiboot 2 support. New loader implements the draft in
21356 /branches/multiboot2 and shares as much code as possible with the
21357 production Multiboot 1 implementation.
21358
21359 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21360 * loader/multiboot2.c: Likewise.
21361 * loader/i386/multiboot_helper.S: Likewise.
21362 * include/multiboot2.h: Replace with latest version from the draft
21363 in /branches/multiboot2.
21364
21365 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21366 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21367 and `loader/multiboot2.c'.
21368 (pkglib_MODULES): Add `multiboot2.mod'.
21369 (multiboot2_mod_SOURCES): New variable.
21370 (multiboot2_mod_LDFLAGS): Likewise.
21371 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21372
21373 * conf/i386-pc.rmk: Likewise.
21374
21375 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21376 (multiboot_mod_SOURCES): Remove variable.
21377 (multiboot_mod_LDFLAGS): Likewise.
21378 (multiboot_mod_CFLAGS): Likewise.
21379
21380 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21381 `<multiboot2.h>' instead of `<multiboot.h>'.
21382 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21383 (MULTIBOOT_HEADER_MAGIC): New macros.
21384
21385 * loader/multiboot_loader.c (module_version_status): Remove variable.
21386 (find_multi_boot2_header): Remove function.
21387 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21388 logic. Always check for the Multiboot version we're compiling for.
21389 (grub_cmd_module_loader): Likewise.
21390 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21391 command instead of `multiboot'.
21392
5d2c52b8
RM
213932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21394
21395 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21396 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21397 all users.
21398
53108d92
RM
213992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
214002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 Fix breakage introduced with previous commit.
21403
21404 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21405 commands.
21406 * normal/handler.c (read_handler_list): Revert part of previous commit
21407 affecting this file.
21408 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21409 (grub_normal_execute): ... here.
21410
e2e936b2
RM
214112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21412
21413 Merge prefix-redefinition-fix branch.
21414
21415 * normal/autofs.c (read_fs_list): Make function capable of being
21416 run multiple times, gracefuly replacing the previous data
21417 structures.
21418 * normal/dyncmd.c (read_command_list): Likewise.
21419 * normal/handler.c (read_handler_list): Likewise.
21420 * normal/main.c (read_lists): New function. Calls all the
21421 list reading functions.
21422 (grub_normal_execute): Use read_lists() instead of calling all
21423 list reading functions explicitly. Register read_lists() as a
21424 variable hook attached to ${prefix}.
21425
607a3701
VS
214262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 Merge crypto branch.
21429
21430 * Makefile.in (pkglib_DATA): Add crypto.lst.
21431 (crypto.lst): New target.
21432 * commands/hashsum.c: New file.
21433 * commands/password.c (check_password): Use grub_crypto_memcmp.
21434 * commands/password_pbkdf2.c: New file.
21435 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21436 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21437 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21438 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21439 -I$(srcdir)/lib/libgcrypt_wrap.
21440 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21441 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21442 password_pbkdf2.mod.
21443 (crypto_mod_SOURCES): New variable.
21444 (crypto_mod_CFLAGS): Likewise.
21445 (crypto_mod_LDFLAGS): Likewise.
21446 (hashsum_mod_SOURCES): New variable.
21447 (hashsum_mod_CFLAGS): Likewise.
21448 (hashsum_mod_LDFLAGS): Likewise.
21449 (pbkdf2_mod_SOURCES): New variable.
21450 (pbkdf2_mod_CFLAGS): Likewise.
21451 (pbkdf2_mod_LDFLAGS): Likewise.
21452 (password_pbkdf2_mod_SOURCES): New variable.
21453 (password_pbkdf2_mod_CFLAGS): Likewise.
21454 (password_pbkdf2_mod_LDFLAGS): Likewise.
21455 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21456 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21457 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21458 Include conf/gcry.rmk.
21459 * include/grub/auth.h: Rewritten.
21460 * include/grub/crypto.h: New file.
21461 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21462 * include/grub/normal.h (read_crypto_list): New prototype.
21463 * lib/crypto.c: New file.
21464 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21465 * lib/pbkdf2.c: Likewise.
21466 * normal/auth.c (grub_auth_strcmp): Removed.
21467 (grub_iswordseparator): Likewise.
21468 (grub_auth_strword): Likewise.
21469 (is_authenticated): Use grub_strword.
21470 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21471 and grub_strword. Pass entered password to authentication callback.
21472 * normal/crypto.c: New file.
21473 * normal/main.c: Call read_crypto_list.
21474 * util/grub-mkpasswd-pbkdf2.c: New file.
21475 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21476
42841caa
VS
214772010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 Fix descent and ascent calculation.
21480
21481 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21482 (options): New option "asce".
21483 (usage): Likewise.
21484 (add_char): Ignore invalid glyphs for descent calculation.
21485 Calculate ascent from actual content.
21486 (print_glyphs): Use 'asce'.
21487 (write_font): Likewise. Allow ascent override.
21488 (main): Handle "asce" option.
21489
e7730de7 214902010-01-06 Carles Pina i Estany <carles@pina.cat>
21491
21492 * kern/err.c: Include `<grub/i18n.h>'.
21493 (grub_print_error): Add full stop. Gettextizze.
21494 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21495 (grub_bsd_load_elf): Capitalise ELF.
21496 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21497 (grub_cmd_freebsd_module): Likewise.
21498 (grub_cmd_freebsd_module_elf): Likewise.
21499 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21500
40e3a41f 215012010-01-06 Carles Pina i Estany <carles@pina.cat>
21502
21503 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21504 * commands/search_file.c (HELP_MESSAGE): New macro.
21505 * commands/search_label.c (HELP_MESSAGE): Likewise.
21506 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21507 * po/POTFILES: Add `commands/search_file.c',
21508 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21509 `commands/search.c'.
21510
83507e68
RM
215112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21512
21513 * config.rpath: Update from Gnulib.
21514
465c787b
YB
215152010-01-05 Yves Blusseau <blusseau@zetam.org>
21516
21517 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21518
6581dd3a
YB
215192010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21520
21521 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21522
3bff18c5
CW
215232010-01-05 Colin Watson <cjwatson@ubuntu.com>
21524
21525 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21526 arguments to fread so that we get a return value in bytes, rather
21527 than something that will normally be rounded down to 0.
21528 Adjust error handling to avoid producing garbage when size_t is not
21529 the same size as long long.
21530
a1368118
CW
215312010-01-05 Colin Watson <cjwatson@ubuntu.com>
21532
21533 * util/mkisofs/write.c (padblock_write): Check return value of
21534 fread.
21535
7c302978
RM
215362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21537
21538 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21539 floppy images now.
21540
21541 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21542
e33ace06
RM
215432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21544
21545 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21546 instead of manual alignment.
21547 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21548 verbose). Avoid attempts to read past end of the device
21549 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21550 but GRUB_DISK_CACHE_SIZE may exceed that).
21551
4b856776
RM
215522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21553
21554 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21555 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21556 it to upper layer.
21557
52c2d97f
VS
215582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21561 New constant.
21562 (grub_efi_piwg_device_path): New structure
21563 (grub_efi_piwg_device_path_t): New type.
21564 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21565 (devpath_1): Transform to a structure. All users updated.
21566 (devpath_2): Likewise.
21567 (devpath_3): Likewise.
21568 (devpath_4): Likewise.
21569 (devpath_5): Likewise.
21570
98ff6a54
VS
215712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 * loader/efi/appleloader.c: Restored. Update all users.
21574
3a73dcb6
RM
215752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21576
21577 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21578
21579 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21580 (struct boot_blocklist): Move from here ...
21581 * include/grub/i386/pc/boot.h [ASM_FILE]
21582 (struct grub_boot_blocklist): ... to here. Update all users.
21583 (setup): Only initialize `start' member of `first_block'
21584 structure. Add assert() calls to verify the other members.
21585
21586 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21587 (generate_image): Fix broken blocklist length initialization.
21588 Add assert() call to verify blocklist `segment' field.
21589
ab0eeb0c
RM
215902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21591
21592 * loader/efi/appleloader.c: Remove. Update all users.
21593
58bc8bd5
RM
215942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21595
21596 * boot/i386/pc/boot.S: Update copyright year.
21597 * boot/i386/pc/cdboot.S: Likewise.
21598 * boot/i386/pc/diskboot.S: Likewise.
21599 * boot/i386/pc/lnxboot.S: Likewise.
21600 * boot/i386/pc/pxeboot.S: Likewise.
21601 * bus/pci.c: Likewise.
21602 * commands/cmp.c: Likewise.
21603 * commands/help.c: Likewise.
21604 * commands/hexdump.c: Likewise.
21605 * commands/i386/pc/halt.c: Likewise.
21606 * commands/i386/pc/play.c: Likewise.
21607 * commands/i386/pc/vbeinfo.c: Likewise.
21608 * commands/ls.c: Likewise.
21609 * commands/test.c: Likewise.
21610 * disk/dmraid_nvidia.c: Likewise.
21611 * disk/i386/pc/biosdisk.c: Likewise.
21612 * disk/ieee1275/nand.c: Likewise.
21613 * disk/ieee1275/ofdisk.c: Likewise.
21614 * disk/lvm.c: Likewise.
21615 * disk/raid.c: Likewise.
21616 * disk/raid6_recover.c: Likewise.
21617 * disk/scsi.c: Likewise.
21618 * fs/affs.c: Likewise.
21619 * fs/cpio.c: Likewise.
21620 * fs/ext2.c: Likewise.
21621 * fs/hfs.c: Likewise.
21622 * fs/iso9660.c: Likewise.
21623 * fs/ntfs.c: Likewise.
21624 * fs/sfs.c: Likewise.
21625 * fs/udf.c: Likewise.
21626 * fs/ufs.c: Likewise.
21627 * fs/xfs.c: Likewise.
21628 * gencmdlist.sh: Likewise.
21629 * genmk.rb: Likewise.
21630 * include/grub/disk.h: Likewise.
21631 * include/grub/efi/api.h: Likewise.
21632 * include/grub/efi/efi.h: Likewise.
21633 * include/grub/efi/pe32.h: Likewise.
21634 * include/grub/elf.h: Likewise.
21635 * include/grub/fs.h: Likewise.
21636 * include/grub/i386/at_keyboard.h: Likewise.
21637 * include/grub/i386/pc/memory.h: Likewise.
21638 * include/grub/i386/pc/vbe.h: Likewise.
21639 * include/grub/i386/pci.h: Likewise.
21640 * include/grub/i386/tsc.h: Likewise.
21641 * include/grub/ieee1275/ieee1275.h: Likewise.
21642 * include/grub/ntfs.h: Likewise.
21643 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21644 * include/grub/sparc64/libgcc.h: Likewise.
21645 * include/grub/symbol.h: Likewise.
21646 * include/grub/types.h: Likewise.
21647 * include/multiboot2.h: Likewise.
21648 * io/gzio.c: Likewise.
21649 * kern/device.c: Likewise.
21650 * kern/disk.c: Likewise.
21651 * kern/efi/efi.c: Likewise.
21652 * kern/efi/mm.c: Likewise.
21653 * kern/elf.c: Likewise.
21654 * kern/file.c: Likewise.
21655 * kern/i386/dl.c: Likewise.
21656 * kern/i386/pc/init.c: Likewise.
21657 * kern/i386/pc/startup.S: Likewise.
21658 * kern/ieee1275/ieee1275.c: Likewise.
21659 * kern/ieee1275/init.c: Likewise.
21660 * kern/main.c: Likewise.
21661 * kern/mm.c: Likewise.
21662 * kern/powerpc/dl.c: Likewise.
21663 * kern/sparc64/dl.c: Likewise.
21664 * kern/x86_64/dl.c: Likewise.
21665 * lib/hexdump.c: Likewise.
21666 * loader/efi/appleloader.c: Likewise.
21667 * loader/i386/ieee1275/linux.c: Likewise.
21668 * loader/i386/pc/chainloader.c: Likewise.
21669 * loader/i386/pc/linux.c: Likewise.
21670 * loader/i386/pc/multiboot2.c: Likewise.
21671 * loader/ieee1275/multiboot2.c: Likewise.
21672 * loader/multiboot2.c: Likewise.
21673 * loader/multiboot_loader.c: Likewise.
21674 * loader/powerpc/ieee1275/linux.c: Likewise.
21675 * normal/completion.c: Likewise.
21676 * normal/menu_entry.c: Likewise.
21677 * partmap/apple.c: Likewise.
21678 * util/grub.d/10_hurd.in: Likewise.
21679 * util/hostfs.c: Likewise.
21680 * video/readers/png.c: Likewise.
21681
e2d70b5c
CW
216822010-01-03 Colin Watson <cjwatson@ubuntu.com>
21683
21684 * include/grub/misc.h (GNUC_PREREQ): New macro.
21685 (ATTRIBUTE_ERROR): New macro.
21686 * include/grub/list.h (grub_bad_type_cast_real): Use
21687 ATTRIBUTE_ERROR.
21688
a173283f 216892010-01-03 Carles Pina i Estany <carles@pina.cat>
21690
21691 * normal/menu_text.c (print_message): Change messages.
21692
7fa7ff74 216932010-01-03 Carles Pina i Estany <carles@pina.cat>
21694
21695 * normal/menu_entry.c (store_completion): Gettextizze.
21696
136d24f6 216972010-01-03 Carles Pina i Estany <carles@pina.cat>
21698
21699 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21700
f936862e 217012010-01-03 Carles Pina i Estany <carles@pina.cat>
21702
21703 * po/POTFILES: Sort correctly.
21704
29c44ad1 217052010-01-03 Carles Pina i Estany <carles@pina.cat>
21706
21707 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21708 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21709 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21710 full stop.
21711 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21712 summary. Gettextizze the strings.
21713 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21714 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21715 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21716 full stop.
21717 (GRUB_MOD_INIT): Remove command name from summary.
21718 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21719 summary.
21720 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21721 * term/i386/pc/serial.c (options): Add full stops.
21722 (GRUB_MOD_INIT): Remove command name from the summary.
21723
77a79592 217242010-01-03 Carles Pina i Estany <carles@pina.cat>
21725
21726 * commands/acpi.c: Gettextizze help strings and/or options. Include
21727 `grub/i18n.h' if needed.
21728 * commands/blocklist.c: Likewise.
21729 * commands/boot.c: Likewise.
21730 * commands/cat.c: Likewise.
21731 * commands/cmp.c: Likewise.
21732 * commands/configfile.c: Likewise.
21733 * commands/crc.c: Likewise.
21734 * commands/date.c: Likewise.
21735 * commands/echo.c: Likewise.
21736 * commands/efi/fixvideo.c: Likewise.
21737 * commands/efi/loadbios.c: Likewise.
21738 * commands/gptsync.c: Likewise.
21739 * commands/halt.c: Likewise.
21740 * commands/handler.c: Likewise.
21741 * commands/hdparm.c: Likewise.
21742 * commands/hexdump.c: Likewise.
21743 * commands/i386/cpuid.c: Likewise.
21744 * commands/i386/pc/drivemap.c: Likewise.
21745 * commands/i386/pc/halt.c: Likewise.
21746 * commands/i386/pc/pxecmd.c: Likewise.
21747 * commands/i386/pc/vbeinfo.c: Likewise.
21748 * commands/i386/pc/vbetest.c: Likewise.
21749 * commands/ieee1275/suspend.c: Likewise.
21750 * commands/keystatus.c: Likewise.
21751 * commands/loadenv.c: Likewise.
21752 * commands/ls.c: Likewise.
21753 * commands/lsmmap.c: Likewise.
21754 * commands/lspci.c: Likewise.
21755 * commands/memrw.c: Likewise.
21756 * commands/minicmd.c: Likewise.
21757 * commands/parttool.c: Likewise.
21758 * commands/password.c: Likewise.
21759 * commands/probe.c: Likewise.
21760 * commands/read.c: Likewise.
21761 * commands/reboot.c: Likewise.
21762 * commands/search.c: Likewise.
21763 * commands/sleep.c: Likewise.
21764 * commands/test.c: Likewise.
21765 * commands/true.c: Likewise.
21766 * commands/usbtest.c: Likewise.
21767 * commands/videotest.c: Likewise.
21768 * commands/xnu_uuid.c: Likewise.
21769 * disk/loopback.c: Likewise.
21770 * hello/hello.c: Likewise.
21771 * loader/i386/bsd.c: Likewise.
21772 * term/i386/pc/serial.c: Likewise.
21773 * po/POTFILES: Add new files.
21774
da8d5c53
CW
217752010-01-02 Colin Watson <cjwatson@ubuntu.com>
21776
21777 * term/i386/pc/at_keyboard.c
21778 (keyboard_controller_wait_untill_ready): Rename to ...
21779 (keyboard_controller_wait_until_ready): ... this. Update all users.
21780
33937904 217812010-01-01 Carles Pina i Estany <carles@pina.cat>
21782
21783 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21784 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21785 string using string width.
21786 * normal/menu_text.c (grub_print_message_indented): Use
21787 grub_print_spaces and not print_spaces.
21788 (print_timeout): Likewise.
21789 (print_spaces): Move to...
21790 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21791
3fd3b8d8
RM
217922010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21793
21794 Import from Gnulib.
21795
21796 * gnulib/getdelim.c: New file.
21797 * gnulib/getline.c: Likewise.
21798
33433555
VS
217992009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21800
21801 * include/grub/list.h (grub_assert_fail): Removed.
21802 (grub_bad_type_cast_real): New function.
21803 (grub_bad_type_cast): New macro.
21804 (GRUB_AS_LIST): Use grub_bad_type_cast.
21805 (GRUB_AS_LIST_P): Likewise.
e44721e8 21806 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21807 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21808 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21809 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21810 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21811
f5a51306
VS
218122009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21815 Fix syntax error.
21816
90d1e879
RM
218172009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21818
21819 * configure.ac: Check for TARGET_CFLAGS initialization before we
21820 initialize it ourselves (sigh).
21821 Move a few modifications to TARGET_CFLAGS to be unconditional
21822 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21823 eh_frame)
21824
21825 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21826 * term/i386/pc/at_keyboard.c
21827 (keyboard_controller_wait_untill_ready): Likewise.
21828 (keyboard_controller_led): Rename `led_status' paramter to avoid
21829 name conflict.
21830
465b5a81 218312009-12-28 Carles Pina i Estany <carles@pina.cat>
21832
21833 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21834 quotes.
21835
c181849b
VS
218362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21839
9c8739a4
VS
218402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21841
21842 * normal/menu_text.c (grub_print_message_indented): Prevent
21843 past-the-end-of-array dereference.
21844
3e74249c
VS
218452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21848 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21849
64fd18ed 218502009-12-27 Carles Pina i Estany <carles@pina.cat>
21851
21852 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21853 * normal/main.c (grub_normal_read_line): Remove a space from the
21854 default prompt.
21855
714af9b9 218562009-12-27 Carles Pina i Estany <carles@pina.cat>
21857
21858 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21859 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21860 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21861 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21862 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21863 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21864 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21865
82f3e412 218662009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21867
21868 * video/readers/jpeg.c (cmd): Declare.
21869 (grub_cmd_jpegtest): 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/png.c (cmd): Declare.
21874 (grub_cmd_pngtest): Use `grub_command_t' type.
21875 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21876 Assign to `cmd'.
21877 (GRUB_MOD_FINI): Use `cmd' to unregister.
21878 * video/readers/tga.c (cmd): Declare.
21879 (grub_cmd_tgatest): Use `grub_command_t' type.
21880 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21881 Assign to `cmd'.
21882 (GRUB_MOD_FINI): Use `cmd' to unregister.
21883
82f3e412 218842009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21885
21886 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21887 stops.
21888 * kern/corecmd.c (grub_register_core_commands): Likewise.
21889 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21890 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21891 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21892 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21893 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21894 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21895 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21896 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21897 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21898 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21899 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21900 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21901 * normal/handler.c (insert_handler): Likewise.
21902 * normal/main.c (GRUB_MOD_INIT): Likewise.
21903 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21904
fdcdbb66 219052009-12-26 Carles Pina i Estany <carles@pina.cat>
21906
21907 * commands/help.c (grub_cmd_help): Print the command name before the
21908 summary.
21909 (GRUB_MOD_INIT): Remove command name from the summary.
21910 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21911 string as summary.
fdcdbb66 21912 * lib/arg.c (find_long): Print the command name before the summary.
21913 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21914 summary.
21915 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21916 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21917 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21918 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21919 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21920 * commands/date.c (GRUB_MOD_INIT): Likewise.
21921 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21922 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21923 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21924 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21925 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21926 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21927 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21928 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21929 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21930 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21931 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21932 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21933 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21934 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21935 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21936 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21937 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21938 * commands/password.c (GRUB_MOD_INIT): Likewise.
21939 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21940 * commands/read.c (GRUB_MOD_INIT): Likewise.
21941 * commands/search.c (GRUB_MOD_INIT): Likewise.
21942 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21943 * commands/test.c (GRUB_MOD_INIT): Likewise.
21944 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21945 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21946 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21947 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21948 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21949 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21950 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21951 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21952 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21953 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21954 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21955 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21956 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21957 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21958
9c288be2
VS
219592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21960
21961 Use search command for preliminar UUID search.
21962
21963 * commands/search.c: Split into ...
21964 * commands/search_wrap.c: ...this
21965 * commands/search.c: ...and this.
21966 * commands/search_file.c: New file.
21967 * commands/search_label.c: New file.
21968 * commands/search_uuid.c: New file.
21969 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21970 Add commands/search_wrap.c, commands/search_file.c,
21971 commands/search_label.c and commands/search_uuid.c.
21972 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21973 (search_mod_SOURCES): Set to commands/search_wrap.c.
21974 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21975 search_label.mod.
21976 (search_fs_file_mod_SOURCES): New variable.
21977 (search_fs_file_mod_CFLAGS): Likewise.
21978 (search_fs_file_mod_LDFLAGS): Likewise.
21979 (search_label_mod_SOURCES): Likewise.
21980 (search_label_mod_CFLAGS): Likewise.
21981 (search_label_mod_LDFLAGS): Likewise.
21982 (search_fs_uuid_mod_SOURCES): New variable.
21983 (search_fs_uuid_mod_CFLAGS): Likewise.
21984 (search_fs_uuid_mod_LDFLAGS): Likewise.
21985 (fs_file_mod_SOURCES): Removed.
21986 (fs_file_mod_CFLAGS): Likewise.
21987 (fs_file_mod_LDFLAGS): Likewise.
21988 (fs_uuid_mod_SOURCES): Removed.
21989 (fs_uuid_mod_CFLAGS): Likewise.
21990 (fs_uuid_mod_LDFLAGS): Likewise.
21991 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21992 Set to util/grub-install.in.
21993 * disk/fs_file.c: Removed.
21994 * disk/fs_uuid.c: Likewise.
21995 * include/grub/search.h: New file.
21996 * util/grub-install.in: Handle sparc64.
21997 Create and use load.cfg.
21998 * util/sparc64/ieee1275/grub-install.in: Removed.
21999
db943399
VS
220002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22003 Ignore return status if CF is cleared.
22004 (grub_biosdisk_get_diskinfo_standard): Likewise.
22005
3fdae612
RM
220062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22007
22008 * term/i386/pc/at_keyboard.c
22009 (keyboard_controller_wait_untill_ready): New function.
22010 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22011 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22012 for keyboard polling, rather than duplicate the same loop. This
22013 saves a few bytes in code size.
22014
7ebaa2b4
VS
220152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 Support for (pxe[:server[:gateway]]) syntax and
22018 use environment variable for PXE.
22019
22020 * commands/i386/pc/pxecmd.c (options): Removed.
22021 (print_ip): Removed.
22022 (grub_cmd_pxe): Removed
22023 (grub_cmd_pxe_unload): New function.
22024 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22025 (grub_pxe_your_ip): Made static.
22026 (grub_pxe_default_server_ip): Likewise.
22027 (grub_pxe_default_gateway_ip): Likewise.
22028 (grub_pxe_blksize): Likewise.
22029 (parse_ip): New function.
22030 (grub_pxe_open): Support server and gateway specification.
22031 (grub_pxe_close): Free disk->data.
22032 (grub_pxefs_open): Use disk->data.
22033 (grub_pxefs_read): Likewise.
22034 (grub_env_write_readonly): New function.
22035 (set_mac_env): Likewise.
22036 (set_env_limn_ro): Likewise.
22037 (parse_dhcp_vendor): Likewise.
22038 (grub_pxe_detect): Set the environment variables.
22039 (set_ip_env): New function.
22040 (write_ip_env): Likewise.
22041 (grub_env_write_pxe_default_server): Likewise.
22042 (grub_env_write_pxe_default_gateway): Likewise.
22043 (grub_env_write_pxe_blocksize): Likewise.
22044 (GRUB_MOD_INIT(pxe)): Set environment variables.
22045 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22046 (grub_pxe_mac_addr_t): ... this. All users updated.
22047 (grub_pxe_your_ip): Removed.
22048 (grub_pxe_server_ip): Likewise.
22049 (grub_pxe_gateway_ip): Likewise.
22050 (grub_pxe_blksize): Likewise.
22051
ec5f98ab 220522009-12-25 Carles Pina i Estany <carles@pina.cat>
22053
22054 * commands/help.c: Include `<grub/i18n.h>'.
22055 (grub_cmd_help): Gettextizze.
22056 (GRUB_MOD_INIT): Likewise.
22057 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22058 (GRUB_MOD_INIT): Gettextizze.
22059 * commands/search.c: Include `<grub/i18n.h>'.
22060 (options): Gettextizze.
22061 (GRUB_MOD_INIT): Gettextizze.
22062 * lib/arg.c: Include `<grub/i18n.h>'.
22063 (help_options): Gettextizze.
22064 (find_long): Likewise.
22065 (grub_arg_show_help): Likewise.
22066 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22067 (read_command_list): Gettextizze.
22068 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22069 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22070
22815526
RM
220712009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22072
22073 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22074 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22075 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22076 (led_status): New variable.
22077 (keyboard_controller_led): New function.
22078 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22079 update led status for caps lock, num lock and scroll lock.
22080
0ad46fd7
FZ
220812009-12-25 Felix Zielcke <fzielcke@z-51.de>
22082
22083 * util/hostdisk.c (open_device): Fix a comment.
22084
d0e158c2
RM
220852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22086
22087 * util/grub-install.in (host_os): New variable.
22088 * util/i386/efi/grub-install.in (host_os): Likewise.
22089
401c0ad6
RM
220902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22091
22092 * util/mkisofs/write.c (padblock_write): Abort when given an
22093 excedingly large embed image, instead of silently truncating it.
22094
d14d3370
RM
220952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22096
22097 * include/multiboot.h: Indentation fixes.
22098
eeed10b4
RM
220992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22100
22101 * include/multiboot.h (struct multiboot_aout_symbol_table)
22102 (struct multiboot_elf_section_header_table): New structure
22103 declarations (stolen from GRUB Legacy).
22104 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22105 table information.
22106
22107 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22108 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22109 type aliases.
22110
681c70ab
RM
221112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22112
22113 * include/multiboot.h: Make comments src2texi-friendly.
22114
e4d47d8d
RM
221152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22116
22117 For consistency with [multiboot]/docs/boot.S.
22118
22119 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22120 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22121 (MULTIBOOT_MAGIC2): Rename from this ...
22122 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22123
a0b70bda
RM
221242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 * include/multiboot.h: Remove `<grub/types.h>'.
22127 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22128 types. Update all users.
22129
61ba42be 221302009-12-25 Carles Pina i Estany <carles@pina.cat>
22131
22132 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22133 `couldn't' and `can not' by `cannot'.
22134 * commands/i386/pc/drivemap.c: Likewise.
22135 * disk/ata.c: Likewise.
22136 * disk/ieee1275/nand.c: Likewise.
22137 * fs/affs.c: Likewise.
22138 * fs/fat.c: Likewise.
22139 * fs/hfs.c: Likewise.
22140 * fs/hfsplus.c: Likewise.
22141 * fs/iso9660.c: Likewise.
22142 * fs/jfs.c: Likewise.
22143 * fs/minix.c: Likewise.
22144 * fs/reiserfs.c: Likewise.
22145 * fs/sfs.c: Likewise.
22146 * fs/udf.c: Likewise.
22147 * fs/ufs.c: Likewise.
22148 * fs/xfs.c: Likewise.
22149 * loader/powerpc/ieee1275/linux.c: Likewise.
22150 * loader/sparc64/ieee1275/linux.c: Likewise.
22151 * util/grub-probe.c: Likewise.
22152 * util/misc.c: Likewise.
22153
7fd0baee 221542009-12-24 Carles Pina i Estany <carles@pina.cat>
22155
22156 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22157 grub_errno calls.
22158 * commands/acpi.c: Likewise.
22159 * commands/blocklist.c: Likewise.
22160 * commands/efi/loadbios.c: Likewise.
22161 * commands/i386/pc/drivemap.c: Likewise.
22162 * commands/loadenv.c: Likewise.
22163 * commands/memrw.c: Likewise.
22164 * commands/password.c: Likewise.
22165 * commands/videotest.c: Likewise.
22166 * disk/ata.c: Likewise.
22167 * disk/ata_pthru.c: Likewise.
22168 * disk/dmraid_nvidia.c: Likewise.
22169 * disk/ieee1275/nand.c: Likewise.
22170 * disk/ieee1275/ofdisk.c: Likewise.
22171 * disk/loopback.c: Likewise.
22172 * disk/lvm.c: Likewise.
22173 * disk/mdraid_linux.c: Likewise.
22174 * disk/raid.c: Likewise.
22175 * disk/raid6_recover.c: Likewise.
22176 * disk/scsi.c: Likewise.
22177 * efiemu/main.c: Likewise.
22178 * efiemu/mm.c: Likewise.
22179 * efiemu/pnvram.c: Likewise.
22180 * efiemu/symbols.c: Likewise.
22181 * font/font.c: Likewise.
22182 * fs/cpio.c: Likewise.
22183 * fs/hfsplus.c: Likewise.
22184 * fs/iso9660.c: Likewise.
22185 * fs/jfs.c: Likewise.
22186 * fs/minix.c: Likewise.
22187 * fs/ntfs.c: Likewise.
22188 * fs/ntfscomp.c: Likewise.
22189 * fs/reiserfs.c: Likewise.
22190 * fs/ufs.c: Likewise.
22191 * fs/xfs.c: Likewise.
22192 * gettext/gettext.c: Likewise.
22193 * include/grub/auth.h: Likewise.
22194 * kern/elf.c: Likewise.
22195 * kern/file.c: Likewise.
22196 * kern/ieee1275/init.c: Likewise.
22197 * kern/ieee1275/mmap.c: Likewise.
22198 * kern/ieee1275/openfw.c: Likewise.
22199 * kern/powerpc/dl.c: Likewise.
22200 * kern/sparc64/dl.c: Likewise.
22201 * lib/arg.c: Likewise.
22202 * loader/i386/bsd.c: Likewise.
22203 * loader/i386/bsdXX.c: Likewise.
22204 * loader/i386/efi/linux.c: Likewise.
22205 * loader/i386/efi/xnu.c: Likewise.
22206 * loader/i386/ieee1275/linux.c: Likewise.
22207 * loader/i386/linux.c: Likewise.
22208 * loader/i386/multiboot.c: Likewise.
22209 * loader/i386/pc/linux.c: Likewise.
22210 * loader/i386/pc/multiboot2.c: Likewise.
22211 * loader/i386/xnu.c: Likewise.
22212 * loader/ieee1275/multiboot2.c: Likewise.
22213 * loader/macho.c: Likewise.
22214 * loader/machoXX.c: Likewise.
22215 * loader/multiboot2.c: Likewise.
22216 * loader/multiboot_loader.c: Likewise.
22217 * loader/powerpc/ieee1275/linux.c: Likewise.
22218 * loader/sparc64/ieee1275/linux.c: Likewise.
22219 * loader/xnu.c: Likewise.
22220 * loader/xnu_resume.c: Likewise.
22221 * mmap/i386/pc/mmap.c: Likewise.
22222 * normal/menu_viewer.c: Likewise.
22223 * partmap/acorn.c: Likewise.
22224 * partmap/amiga.c: Likewise.
22225 * partmap/apple.c: Likewise.
22226 * script/lexer.c: Likewise.
22227 * term/gfxterm.c: Likewise.
22228 * term/i386/pc/serial.c: Likewise.
22229 * term/i386/pc/vga.c: Likewise.
22230 * term/ieee1275/ofconsole.c: Likewise.
22231 * term/terminfo.c: Likewise.
22232 * video/bitmap.c: Likewise.
22233 * video/efi_gop.c: Likewise.
22234 * video/efi_uga.c: Likewise.
22235 * video/fb/video_fb.c: Likewise.
22236 * video/i386/pc/vbe.c: Likewise.
22237 * video/readers/tga.c: Likewise.
22238 * video/video.c: Likewise.
22239
0ad46fd7 222402009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22241
22242 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22243 * commands/lspci.c: Likewise.
22244 * commands/probe.c: Likewise.
22245 * commands/xnu_uuid.c: Likewise.
22246 * conf/i386-coreboot.rmk: Likewise.
22247 * conf/i386-efi.rmk: Likewise.
22248 * conf/i386-ieee1275.rmk: Likewise.
22249 * conf/i386-pc.rmk: Likewise.
22250 * conf/powerpc-ieee1275.rmk: Likewise.
22251 * conf/sparc64-ieee1275.rmk: Likewise.
22252 * conf/x86_64-efi.rmk: Likewise.
22253 * fs/i386/pc/pxe.c: Likewise.
22254 * gettext/gettext.c: Likewise.
22255 * include/grub/efi/graphics_output.h: Likewise.
22256 * include/grub/i386/pc/memory.h: Likewise.
22257 * kern/env.c: Likewise.
22258 * kern/i386/qemu/startup.S: Likewise.
22259 * lib/i386/pc/biosnum.c: Likewise.
22260 * lib/i386/relocator.c: Likewise.
22261 * lib/i386/relocator_asm.S: Likewise.
22262 * lib/relocator.c: Likewise.
22263 * loader/i386/bsd.c: Likewise.
22264 * loader/i386/multiboot.c: Likewise.
22265 * loader/i386/pc/chainloader.c: Likewise.
22266 * loader/i386/xnu.c: Likewise.
22267 * loader/xnu.c: Likewise.
22268 * normal/main.c: Likewise.
22269 * normal/menu_text.c: Likewise.
22270 * util/getroot.c: Likewise.
22271 * util/grub-mkconfig_lib.in: Likewise.
22272 * util/grub.d/00_header.in: Likewise.
22273 * util/i386/pc/grub-mkimage.c: Likewise.
22274 * util/mkisofs/eltorito.c: Likewise.
22275 * util/mkisofs/exclude.h: Likewise.
22276 * util/mkisofs/hash.c: Likewise.
22277 * util/mkisofs/iso9660.h: Likewise.
22278 * util/mkisofs/joliet.c: Likewise.
22279 * util/mkisofs/mkisofs.c: Likewise.
22280 * util/mkisofs/mkisofs.h: Likewise.
22281 * util/mkisofs/multi.c: Likewise.
22282 * util/mkisofs/name.c: Likewise.
22283 * util/mkisofs/rock.c: Likewise.
22284 * util/mkisofs/tree.c: Likewise.
22285 * util/mkisofs/write.c: Likewise.
22286 * video/efi_gop.c: Likewise.
22287
009ec743
VS
222882009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22291 size counting.
22292
0ad46fd7 222932009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22294
22295 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22296 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22297
d3d30ea0
VS
222982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22301 (GRUB_MOD_INIT(memrw)): Update help line.
22302
a34f5c70
VS
223032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22306 Use grub_extcmd_t. All users updated.
22307 (options): New variable.
22308 (grub_cmd_read): Restructure for readability. Support "-v" option.
22309 (grub_cmd_write): Restructure for readability.
22310
0ad46fd7 223112009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22312
22313 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22314
0ad46fd7 223152009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22316
22317 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22318 with the actual contents of the correspondending make variable.
22319 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22320 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22321 specifying `*.lst' and `efiemu??.o'
22322
0ad46fd7 223232009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22324
22325 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22326 after function name.
22327 Noticed by Rene Engelhard <rene@debian.org>.
22328
dc77a799
VS
223292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22330
22331 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22332 (options): New variable.
22333 (iospace): Likewise.
22334 (grub_lspci_iter): List IO spaces if "-i" was given.
22335 (grub_cmd_lspci): Parse options.
22336 (GRUB_MOD_INIT(lspci)): Use extcmd.
22337 (GRUB_MOD_FINI(lspci)): Likewise.
22338
0ad46fd7 223392009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22340
22341 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22342 `function' keyword.
22343 Patch by Tony Mancill <tmancill@debian.org>.
22344
b5d5993b
VS
223452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22348 (grub_uhci_portstatus): Likewise.
22349 (grub_uhci_portstatus): Add necessary delay.
11d18281 22350 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22351
941903f2 223522009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22353
941903f2 22354 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22355 (GRUB_MOD_INIT): Likewise.
22356 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22357 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22358 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22359 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22360 (enable_rom_area): Likewise.
22361 (GRUB_MOD_INIT): Likewise.
22362 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22363 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22364 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22365 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22366 * commands/hexdump.c (options): Likewise.
22367 * commands/i386/cpuid.c (options): Likewise.
22368 (GRUB_MOD_INIT): Likewise.
22369 * commands/i386/pc/drivemap.c (options): Likewise.
22370 (GRUB_MOD_INIT): Likewise.
22371 * commands/i386/pc/halt (options): Likewise.
22372 (GRUB_MOD_INIT): Likewise.
22373 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22374 * commands/i386/pc/pxecmd.c (options): Likewise.
22375 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22376 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22377 * commands/keystatus.c (options): Likewise.
22378 (GRUB_MOD_INIT): Likewise.
22379 * commands/loadenv.c (options): Likewise.
22380 * commands/ls.c (options): Likewise.
22381 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22382 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22383 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22384 * commands/parttool.c (helpmsg): Likewise.
22385 * commands/probe.c (options): Likewise.
22386 * commands/read.c (GRUB_MOD_INIT): Likewise.
22387 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22388 * commands/search.c (options): Likewise.
22389 * commands/sleep.c (options): Likewise.
22390 * commands/test.c (GRUB_MOD_INIT): Likewise.
22391 * commands/true.c (GRUB_MOD_INIT): Likewise.
22392 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22393 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22394 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22395 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22396 `$(XGETTEXT)'.
98a50553 22397 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22398
0ad46fd7 223992009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22400
ef3c2c3a 22401 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22402 instead of specifying them explicit.
22403
7922f68b
RM
224042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22405
22406 * NEWS: Add grub-probe support for GNU/Hurd.
22407
537ce47f
RM
224082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * NEWS: gettext was added after 1.97.
22411
9b214e3a
RM
224122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22413
22414 * util/mkisofs/msdos_partition.h: New file (based on
22415 include/grub/msdos_partition.h).
22416 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22417 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22418 (ld_options, main): Recognize --protective-msdos-label.
22419 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22420 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22421 (padblock_write): If `use_protective_msdos_label' is set, patch a
22422 protective DOS-style label in the output image.
22423
22424 * util/grub-mkrescue.in: Use --protective-msdos-label.
22425
e9309813
RM
224262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22427
22428 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22429 boot.
22430
0ae56929
RM
224312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22432
22433 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22434 variables.
22435 (ld_options, main): Recognize `--embedded-boot'.
22436 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22437 declarations.
22438 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22439 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22440 (padblock_write): Likewise. Rewrite to support embedded boot image.
22441
22442 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22443 for BIOS-based disk boot instead of only ElTorito.
22444
b15937b1
RM
224452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22446
22447 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22448 build (not needed for bootstrap).
22449
52cc3ce0
RM
224502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22451
22452 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22453 from i386-pc build (not needed for bootstrap).
22454 Rewrite a pair of strings.
22455
36f5ff04
RM
224562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22459
973c6c85 224602009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22461
22462 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22463
05d21547
AB
224642009-12-21 Andreas Born <futur.andy@googlemail.com>
22465
22466 * kern/env.c (grub_env_context_open): Mark exported variable for
22467 reexport.
22468
0175d51f
AB
224692009-12-21 Andreas Born <futur.andy@googlemail.com>
22470
22471 * kern/env.c (grub_env_export): Create nonexistent variables before
22472 exporting.
22473
7f39d92f 224742009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22475
7f39d92f 22476 * include/grub/auth.h: Include `<grub/i18n.h>'.
22477 (GRUB_GET_PASSWORD): Gettextizze string.
22478 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22479 menu_text.c.
22480 (grub_utf8_to_ucs4_alloc): Fix indentation.
22481 (grub_print_ucs4): Likewise.
22482 (grub_getstringwidth): Likewise.
22483 (print_message_indented): New declaration.
22484 * normal/auth.c: Include `<grub/i18n.h>'.
22485 (grub_auth_check_authentication): Gettexttize string.
22486 * normal/cmdline.c: Include `<grub/i18n.h>'.
22487 (grub_cmdline_get): Gettextizze.
22488 * normal/color.c: Include `<grub/i18n.h>'.
22489 (grub_parse_color_name_pair): Gettexttize strings.
22490 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22491 string (use `print_message_indented').
22492 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22493 `include/grub/normal.h'.
22494 (print_message_indented): Renamed to ...
22495 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22496 used in normal/main.c).
22497 (print_message): Use `grub_print_message_indented' instead of
22498 `print_message_indented'.
22499 (print_timeout): Likewise.
22500 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22501 (grub_normal_print_device_info): Gettexttize strings.
22502 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22503
3041d898
VS
225042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22505
22506 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22507 of arguments. Return number of tokens and not arguments. All users
22508 updated.
22509
de15bf8e
VS
225102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22513 non-MSDOS paritions.
22514
e0a6ca52
VS
225152009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * include/grub/types.h (UNUSED): Removed since it conflicts with
22518 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22519 Reported by Grégoire Sutre.
22520
b99518d1 225212009-12-19 Carles Pina i Estany <carles@pina.cat>
22522
22523 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22524 (grub_print_ucs4_alloc): Likewise.
22525 (grub_getstringwidth): Likewise.
22526 * normal/main.c (grub_normal_init_page): Gettextize version string.
22527 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22528 (getstringwidth): Renamed to ...
22529 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22530 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22531 (grub_print_ucs4): Remove `static' qualifer (now used in
22532 normal/main.c).
22533 * po/POTFILES: Add normal/main.c.
22534
bfd5e52b 225352009-12-19 Carles Pina i Estany <carles@pina.cat>
22536
22537 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22538 (print_message_indented): Add `margin_left' and `margin_right'
22539 parameters.
22540 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22541 strings.
22542 (print_timeout): Use `print_message_indented' to print the message.
22543 Deletes `second_stage' parameter.
22544 (run_menu): Update `print_timeout' calls.
22545
5a1ad2b9
VS
225462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 Fix console palette on OpenFirmware.
22549
22550 * term/ieee1275/ofconsole.c (MAX): Removed.
22551 (colors): Redone based on VGA palette.
22552 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22553 colors are supported.
22554 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22555
b045f00a
VS
225562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 Fix potential EfiEmu double prepare.
22559
22560 * efiemu/main.c (prepared): New variable
22561 (grub_efiemu_unload): Set prepare to '0'.
22562 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22563
22564 set_virtual_address_map support.
22565
22566 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22567 prototype.
22568 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22569 prototype.
22570 (grub_efiemu_crc32): Likewise.
22571 (grub_efiemu_crc64): Likewise.
22572 (grub_efiemu_set_virtual_address_map): Likewise.
22573 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22574 New definition.
22575 (grub_autoefi_set_virtual_address_map): Likewise.
22576 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22577 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22578 Restructure flow to accomodate it.
22579 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22580 (grub_efiemu_crc): Recompute CRC32.
22581 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22582 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22583 * efiemu/symbols.c (relocated_handle): New variable.
22584 (grub_efiemu_free_syms): Free relocated_handle.
22585 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22586 (grub_efiemu_write_sym_markers): New function.
22587 (grub_efiemu_set_virtual_address_map): Likewise.
22588
22589 Newer XNU parameters.
22590
22591 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22592 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22593 (grub_xnu_fill_devicetree): New prototype.
22594 (grub_xnu_heap_real_start): New variable.
22595 * loader/xnu.c (get_name_ptr): New function.
22596 (grub_xnu_load_driver): Fill namelen and name.
22597
22598 64-bit xnu support.
22599
22600 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22601 and 'loader/macho64.c'.
22602 * conf/i386-pc.rmk: Likewise.
22603 * conf/x86_64-efi.rmk: Likewise.
22604 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22605 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22606 * include/grub/macho.h (grub_macho_segment64): New structure.
22607 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22608 (grub_macho_size32): ... to this.
22609 (grub_macho32_get_entry_point): Renamed from ...
22610 (grub_macho_get_entry_point32): ... to this.
22611 (grub_macho_contains_macho64): New prototype.
22612 (grub_macho_size64): Likewise.
22613 (grub_macho_get_entry_point64): Likewise.
22614 (grub_macho32_load): Renamed from ...
22615 (grub_macho_load32): ... to this.
22616 (grub_macho32_filesize): Renamed from ...
22617 (grub_macho_filesize32): ... to this.
22618 (grub_macho32_readfile): Renamed from ...
22619 (grub_macho_readfile32): ... to this.
22620 (grub_macho_filesize64): New prototype.
22621 (grub_macho_readfile64): Likewise.
22622 (grub_macho_parse32): Likewise.
22623 (grub_macho_parse64): Likewise.
22624 * loader/macho.c: Split into ...
22625 * loader/machoXX.c: ... and this. Replace 32 with XX.
22626 * loader/macho32.c: New file.
22627 * loader/macho64.c: Likewise.
22628 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22629 (grub_cmd_xnu_kernel): Make 32-bit only.
22630 (grub_cmd_xnu_kernel64): New function.
22631 (grub_xnu_load_driver): Support Mach-O 64.
22632 (grub_cmd_xnu_mkext): Likewise.
22633 * util/grub.d/30_os-prober.in (osx_entry): New function.
22634 Generate entries for 64-bit boot too.
22635
22636 Eliminate ad-hoc tree format in XNU and EfiEmu.
22637
22638 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22639 * efiemu/pnvram.c: Rewritten to use environment variables.
22640 All users updated.
22641
22642 Inline utf16_to_utf8.
22643
22644 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22645 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22646 All users updated.
22647 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22648
22649 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22650 * commands/usbtest.c (grub_usb_get_string): ... move here.
22651 (usb_print_str): Fix error handling.
22652 * include/grub/usb.h (grub_usb_get_string): Remove.
22653
22654 UTF-8 to UTF-16 transformation.
22655
22656 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22657 (charset_mod_SOURCES): New variable.
22658 (charset_mod_CFLAGS): Likewise.
22659 (charset_mod_LDFLAGS): Likewise.
22660 * include/grub/utf.h: New file.
22661 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22662
22663 Support for device properties.
22664
22665 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22666 (grub_xnu_devprop_device_header): Likewise.
22667 (grub_xnu_devprop_device_descriptor): Likewise.
22668 (grub_xnu_devprop_add_device): New prototype.
22669 (grub_xnu_devprop_remove_device): Likewise.
22670 (grub_xnu_devprop_remove_property): Likewise.
22671 (grub_xnu_devprop_add_property_utf8): Likewise.
22672 (grub_xnu_devprop_add_property_utf16): Likewise.
22673 (grub_cpu_xnu_init): Likewise.
22674 (grub_cpu_xnu_fini): Likewise.
22675 (grub_cpu_xnu_unload): Likewise.
22676 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22677 (property_descriptor): Likewise.
22678 (devices): New variable.
22679 (grub_xnu_devprop_remove_property): New function.
22680 (grub_xnu_devprop_add_device): Likewise.
22681 (grub_xnu_devprop_remove_device): Likewise.
22682 (grub_xnu_devprop_add_property): Likewise.
22683 (grub_xnu_devprop_add_property_utf8): Likewise.
22684 (grub_xnu_devprop_add_property_utf16): Likewise.
22685 (hextoval): Likewise.
22686 (grub_cpu_xnu_fill_devprop): Likewise.
22687 (grub_cmd_devprop_load): Likewise.
22688 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22689 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22690 (cmd_devprop_load): New variable.
22691 (grub_cpu_xnu_init): New function.
22692 (grub_cpu_xnu_fini): Likewise.
22693 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22694 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22695 (grub_cmd_xnu_devtree): Likewise.
22696 (hextoval): New function.
22697 (unescape): Likewise.
22698 (grub_xnu_fill_devicetree): Likewise.
22699
22700 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22701 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22702
0945f181
VS
227032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 Workaround for broken ATI VBE.
22706
22707 * video/i386/pc/vbe.c (last_set_mode): New variable.
22708 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22709 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22710 (grub_video_vbe_setup): Don't check for reserved flag.
22711
0ad46fd7 227122009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22713
22714 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22715 the `find' command.
22716
c179ebe4
VS
227172009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22718
22719 UUID support for HFS.
22720
22721 * fs/hfs.c (grub_hfs_uuid): New function.
22722 (grub_hfs_fs): New value .uuid.
22723 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22724
0ad46fd7 227252009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22726
22727 Fix a segfault with parsing unknown long options.
22728
22729 * util/grub-mkrelpath.c (options): Zero terminate it.
22730
c4a3e41a
CPE
227312009-12-13 Carles Pina i Estany <carles@pina.cat>
22732
22733 * include/grub/misc.h (grub_puts): New declaration.
22734 (grub_puts_): Likewise.
a22008a6 22735 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22736 (grub_puts_): Likewise.
22737
2e8a7602
RM
227382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22739
22740 * util/grub-probe.c (probe): Improve error message.
22741
b50b77b9
RM
227422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22743
22744 * loader/i386/multiboot_elfxx.c
22745 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22746 initialization.
22747
227482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 Relocator framework
22751
22752 * loader/i386/xnu_helper.S: Removed. All users updated.
22753 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22754 (relocator_mod_SOURCES): New variable.
22755 (relocator_mod_CFLAGS): Likewise.
22756 (relocator_mod_LDFLAGS): Likewise.
22757 (relocator_mod_ASFLAGS): Likewise.
22758 * conf/x86_64.rmk: Likewise.
22759 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22760 (grub_multiboot_payload_entry_offset): Likewise.
22761 (grub_multiboot_forward_relocator): Likewise.
22762 (grub_multiboot_forward_relocator_end): Likewise.
22763 (grub_multiboot_backward_relocator): Likewise.
22764 (grub_multiboot_backward_relocator_end): Likewise.
22765 (grub_multiboot_payload_eip): New variable.
22766 (grub_multiboot_payload_orig): Likewise.
22767 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22768 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22769 * include/grub/i386/memory.h
22770 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22771 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22772 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22773 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22774 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22775 * include/grub/i386/relocator.h: New file.
22776 * include/grub/x86_64/relocator.h: Likewise.
22777 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22778 (XNU_RELOCATOR): New macro.
22779 (grub_xnu_launcher_start): Remove.
22780 (grub_xnu_launcher_end): Likewise.
22781 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22782 (grub_xnu_heap_real_start): Remove.
22783 (grub_xnu_heap_start): Change to void *. All users updated.
22784 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22785 * lib/i386/relocator.c: New file.
22786 * lib/i386/relocator_asm.S: Likewise.
22787 * lib/i386/relocator_backward.S: Likewise.
22788 * lib/mips/relocator.c: Likewise.
22789 * lib/mips/relocator_asm.S: Likewise.
22790 * lib/relocator.c: Likewise.
22791 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22792 (entry): Removed.
22793 (playground): Likewise.
22794 (grub_multiboot_payload_orig): New variable.
22795 (grub_multiboot_payload_dest): Likewise.
22796 (grub_multiboot_payload_size): Likewise.
22797 (grub_multiboot_payload_eip): Likewise.
22798 (grub_multiboot_payload_esp): Likewise.
22799 (grub_multiboot_boot): Use grub_relocator32_boot.
22800 (grub_multiboot_unload): Free relocators.
22801 (grub_multiboot): Setup stack. Use relocators.
22802 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22803 (grub_multiboot_load_elfXX): Use relocators.
22804 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22805 (grub_multiboot_payload_size): Likewise.
22806 (grub_multiboot_payload_dest): Likewise.
22807 (grub_multiboot_payload_entry_offset): Likewise.
22808 (grub_multiboot_forward_relocator): Likewise.
22809 (grub_multiboot_backward_relocator): Likewise.
22810 (grub_multiboot_real_boot): Likewise.
22811 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22812 (grub_xnu_entry_point): Likewise.
22813 (grub_xnu_arg1): Likewise.
22814 (grub_xnu_stack): Likewise.
22815 (grub_xnu_launch): Removed.
22816 (grub_xnu_boot_resume): New function.
22817 (grub_xnu_boot): Use relocators.
22818 * loader/i386/xnu_helper.S: Removed.
22819 * loader/xnu.c (grub_xnu_heap_start): New variable.
22820 (grub_xnu_heap_size): Likewise.
22821 (grub_xnu_heap_malloc): Use relocators.
22822 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22823
29eb90c6
VS
228242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22827 anything.
22828
31027430
CPE
228292009-12-13 Carles Pina i Estany <carles@pina.cat>
22830
22831 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22832 GRUB_ERR_NONE before calling grub_env_set.
22833
dc0c71d9
RM
228342009-12-12 Robert Millan <rmh@aybabtu.com>
22835
22836 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22837 * genmk.rb (video): New variable.
22838 (CLEANFILES, VIDEOFILES): Add #{video}.
22839 (#{video}): New target rule.
22840 * genvideolist.sh: New file.
22841 * Makefile.in (pkglib_DATA): Add video.lst.
22842 (video.lst): New target rule.
22843 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22844 `video.lst'.
22845 * util/grub.d/30_os-prober.in: Replace `vbe' with
22846 ${GRUB_VIDEO_BACKEND}.
22847
2a4bfcf0
RM
228482009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22849
22850 * THANKS: Add David Miller.
22851
2a3aa4d5
RM
228522009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 libpciaccess support.
22855
22856 * Makefile.in (LIBPCIACCESS): New variable.
22857 (enable_grub_emu_pci): Likewise.
22858 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22859 util/pci.c and commands/lspci.c.
22860 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22861 * configure.ac (grub-emu-pci): New option.
22862 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22863 (grub_pci_device_unmap_range): Likewise.
22864 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22865 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22866 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22867 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22868 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22869 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22870 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22871 * include/grub/pciutils.h: New file.
22872 * util/pci.c: Likewise.
22873
0ad46fd7 228742009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22875
22876 * util/misc.c: Don't include <errno.h> twice.
22877
0ad46fd7 228782009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22879
22880 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22881 name in an error message.
22882 (grub_biosdisk_rw): Likewise.
22883
2e59983c
VS
228842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 Eliminate NTFS 4Gib barrier.
22887
22888 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22889 (read_run_data): Likewise.
22890 (grub_ntfs_read_run_list): Likewise.
22891 (grub_ntfs_read_block): Likewise.
22892 (grub_ntfs_iterate_dir): Likewise.
22893 (read_mft): Likewise.
22894 (read_data): Likewise.
22895 Use COM_LOG_LEN.
22896 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22897 to avoid 64-bit division
22898 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22899 (grub_ntfs_rlst): Use grub_disk_addr_t.
22900
71ee178a
VS
229012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22902
22903 Eliminate grub-fstest 4Gib barrier.
22904
22905 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22906 (read_file): Fix error reporting.
22907
2520d4b8
VS
229082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 Eliminate hexdump 4Gib barrier.
22911
22912 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22913 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22914
e1f27065
VS
229152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22918 Fixes amarsh bug.
22919
1a0f7f45
RM
229202009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22921
22922 Remove miscellaneous files in distclean target.
22923
22924 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22925
c631d9fb
CW
229262009-12-09 Colin Watson <cjwatson@ubuntu.com>
22927
22928 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22929 if they're already set. This resolves the conflict between my
22930 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22931 fixing the --grub-probe option again.
22932 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22933 change on 2009-10-06, so that we now once again source
22934 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22935
7c7b6106
RM
229362009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22937
22938 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22939 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22940 `util/devicemap.c'.
22941
e3069ec1
CPE
229422009-12-08 Carles Pina i Estany <carles@pina.cat>
22943
22944 * include/grub/misc.h (grub_printf_): New declaration.
22945 * kern/misc.c (grub_printf_): New definition.
22946 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22947 instead of `grub_printf' and `_'.
22948 * normal/menu_entry.c (store_completion): Likewise.
22949 (run): Likewise.
22950 (grub_menu_entry_run): Likewise.
22951 * normal/menu_text.c (grub_wait_after_message): Likewise.
22952 (notify_booting): Likewise.
22953 (notify_fallback): Likewise.
22954 (notify_execution_failure): Likewise.
22955
d6ceebf1
CW
229562009-12-07 Colin Watson <cjwatson@ubuntu.com>
22957
22958 * configure.ac: Check for vasprintf.
22959 * util/misc.c (asprintf): Move allocation from here ...
22960 (vasprintf): ... to here. New function.
22961 (xasprintf): New function.
22962 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22963 prototypes.
22964 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22965 * util/grub-mkfont.c (write_font): Likewise.
22966 * util/grub-probe.c (probe): Likewise.
22967 * util/hostdisk.c (make_device_name): Likewise.
22968
de6daa8b
DM
229692009-12-06 David S. Miller <davem@sunset.davemloft.net>
22970
22971 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22972 anything even prefixed with 'cdrom' as a cdrom.
22973
0ad46fd7 229742009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22975
22976 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22977 mount points.
22978
98d3dc02
CPE
229792009-12-05 Carles Pina i Estany <carles@pina.cat>
22980
22981 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22982 grub_gettext_msg_list.
22983 (grub_gettext_gettranslation_from_position): Return const char *
22984 and not char *.
a2c1332b 22985 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22986 returns from the list if existing there.
22987 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22988 (grub_gettext_delete_list): Delete the list.
22989 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22990 lang environment variable is changed.
22991 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22992
b283f108
VS
229932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 Rename kernel.mod to kernel.img.
22996
22997 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22998 (kernel_mod_EXPORTS): Rename to ...
22999 (kernel_img_EXPORTS): ... this.
23000 (kernel_mod_SOURCES): Rename to ...
23001 (kernel_img_SOURCES): ... this.
23002 (kernel_mod_HEADERS): Rename to ...
23003 (kernel_img_HEADERS): ... this. All users updated.
23004 (kernel_mod_CFLAGS): Rename to ...
23005 (kernel_img_CFLAGS): ... this.
23006 (kernel_mod_ASFLAGS): Rename to ...
23007 (kernel_img_ASFLAGS): ... this.
23008 (kernel_mod_LDFLAGS): Rename to ...
23009 (kernel_img_LDFLAGS): ... this.
23010 * conf/x86_64-efi.rmk: Likewise.
23011 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23012 (read_kernel_image): ... this. All users updated.
23013 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23014
69055f8a
CPE
230152009-12-05 Carles Pina i Estany <carles@pina.cat>
23016
23017 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23018 (print_spaces): New function.
23019 (grub_print_ucs4): New function.
23020 (getstringwidth): New function.
23021 (print_message_indented): New function.
23022 (print_message): Gettexttize strings using print_message_indented.
23023 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23024 width.
23025 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23026 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23027 Gettextize.
23028 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23029 string.
23030 (run): Likewise.
23031 (grub_menu_entry_run): Likewise.
23032 * PO/POTFILES: Add normal/menu_entry.c.
23033
f616f51c
VS
230342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23035
23036 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23037
57bbe3be
CPE
230382009-12-05 Carles Pina i Estany <carles@pina.cat>
23039
23040 * util/grub-install.in: Install gettext .mo files.
23041 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23042
013d67a1
CPE
230432009-12-05 Carles Pina i Estany <carles@pina.cat>
23044
23045 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23046 grub_dprintf.
23047
fb954db0
RM
230482009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23051 non-firmware-dependant one in realmode.S takes precedence.
23052
6b8474f8
RM
230532009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23054
23055 * commands/halt.c: Replace misc arch-specific headers with
23056 `<grub/misc.h>'.
23057 * commands/reboot.c: Likewise.
23058 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23059 `<grub/misc.h>'.
23060 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23061 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23062 (kernel_img_SOURCES): ... to here.
23063
23064 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23065 * include/grub/i386/pc/init.h: Likewise.
23066 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23067 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23068
23069 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23070
23071 * include/grub/i386/halt.h: Remove.
23072 * include/grub/i386/reboot.h: Likewise.
23073
23074 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23075
4b2e6ca2
DM
230762009-12-03 David S. Miller <davem@sunset.davemloft.net>
23077
23078 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23079 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23080 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23081 "progname.h"
23082 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23083 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23084 (usage): Add missing comma in printf.
23085
5239348f
RM
230862009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23087
23088 Use the same reboot approach on i386 coreboot and qemu as we do on
23089 BIOS.
23090
23091 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23092 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23093 * kern/i386/reboot.c: Remove.
23094 * include/grub/i386/reboot.h (grub_reboot): Export function.
23095 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23096 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23097 0xf000:0xfff0 instead of 0xffff:0x0000.
23098 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23099 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23100
ef34cbd4
RM
231012009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23102
23103 Fix $srcdir != $objdir build.
23104
23105 * Makefile.in (po/%.po): Rewrite as ...
23106 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23107
dc9837ea
ST
231082009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23109
23110 Fix GNU/Hurd grub-install crash.
23111 * util/grub-probe.c (probe): Try to access `path' only when it is not
23112 NULL.
23113
2f857f98
VS
231142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23115
23116 Correct module naming.
23117
23118 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23119 (GRUB_MOD_INIT(efi_uga)): ... to this
23120 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23121 (GRUB_MOD_FINI(efi_uga)): ... to this
23122 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23123 (GRUB_MOD_INIT(efi_gop)): ... to this
23124 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23125 (GRUB_MOD_FINI(efi_gop)): ... to this
23126
c5448046
RM
231272009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23128
23129 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23130 translatable.
23131 (usage): Translate `arg' strings using gettext().
23132 Thanks to Jordi Mallach for the suggestion.
23133
c85184ad
VS
231342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 GOP support. Based on patch from Bean
23137 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23138
23139 * video/efi_gop.c: New file.
23140 * include/grub/efi/graphics_output.h: Likewise.
23141 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23142 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23143 variables.
23144 * conf/x86_64-efi.rmk: Likewise.
23145
8a4c48d8
VS
231462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23147
23148 Rename efi_fb to efi_uga.
23149
23150 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23151 'efi_uga.mod'.
23152 (efi_fb_mod_SOURCES): Rename this ...
23153 (efi_uga_mod_SOURCES): ... to this.
23154 (efi_fb_mod_CFLAGS): Rename this ...
23155 (efi_uga_mod_CFLAGS): ... to this.
23156 (efi_fb_mod_LDFLAGS): Rename this ...
23157 (efi_uga_mod_LDFLAGS): ... to this.
23158 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23159 'efi_uga.mod'.
23160 (efi_fb_mod_SOURCES): Rename this ...
23161 (efi_uga_mod_SOURCES): ... to this.
23162 (efi_fb_mod_CFLAGS): Rename this ...
23163 (efi_uga_mod_CFLAGS): ... to this.
23164 (efi_fb_mod_LDFLAGS): Rename this ...
23165 (efi_uga_mod_LDFLAGS): ... to this.
23166 * video/efi_fb.c: Move this ...
23167 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23168
fb6c1a7b
RM
231692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * po/README: New file. Explain our PO file workflow.
23172
3bc7896c
RM
231732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23174
23175 * po/ChangeLog: Remove. Move relevant entries back to ...
23176 * ChangeLog: ... here.
23177 * po/ca.po: Remove (now handled by TLP).
23178 * po/id.po: Likewise.
23179 * po/zh_CN.po: Likewise.
23180 * Makefile.in (LINGUAS): Initialize in a way that supports
23181 empty set.
23182
9ed4841d
RM
231832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23184
23185 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23186 reliing on po/LINGUAS.
23187 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23188 (po/%.po): ... this.
23189
0ad46fd7 231902009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23191
23192 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23193 (main): Use `program_name' instead of nonexistent `progname'.
23194
e30dd392
FZ
231952009-11-26 Felix Zielcke <fzielcke@z-51.de>
23196
23197 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23198 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23199
7656de4f
RM
232002009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23201
23202 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23203 commit.
23204 * conf/i386-efi.rmk: Likewise.
23205 * conf/i386-ieee1275.rmk: Likewise.
23206 * conf/powerpc-ieee1275.rmk: Likewise.
23207 * conf/sparc64-ieee1275.rmk: Likewise.
23208 * conf/x86_64-efi.rmk: Likewise.
23209
db77c4d4
FZ
232102009-11-26 Felix Zielcke <fzielcke@z-51.de>
23211
23212 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23213
a755bb04
FZ
232142009-11-26 Felix Zielcke <fzielcke@z-51.de>
23215
23216 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23217
8a4c07fd
RM
232182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23219
23220 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23221 (grub_mkdevicemap_SOURCES): New variable.
23222 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23223 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23224 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23225 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23226 (grub_mkdevicemap_SOURCES): Remove.
23227 * conf/i386-efi.rmk: Likewise.
23228 * conf/i386-ieee1275.rmk: Likewise.
23229 * conf/i386-pc.rmk: Likewise.
23230 * conf/powerpc-ieee1275.rmk: Likewise.
23231 * conf/sparc64-ieee1275.rmk: Likewise.
23232 * conf/x86_64-efi.rmk: Likewise.
23233 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23234 (usage): Fix strings to use `program_name'.
23235 (main): Initialize gettext.
23236 * util/grub-editenv.c: Likewise.
23237 * util/grub-emu.c: Likewise.
23238 * util/grub-fstest.c: Likewise.
23239 * util/grub-mkdevicemap.c: Likewise.
23240 * util/grub-mkfont.c: Likewise.
23241 * util/grub-mkrelpath.c: Likewise.
23242 * util/grub-pe2elf.c: Likewise.
23243 * util/grub-probe.c: Likewise.
23244 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23245 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23246 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23247
23248 * util/misc.c: Include `"progname.h"'.
23249 (progname): Remove variable.
23250 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23251
6f61ed55
FZ
232522009-11-25 Felix Zielcke <fzielcke@z-51.de>
23253
23254 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23255 printf and print a newline after the menuentry header line.
23256 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23257
f022876b
FZ
232582009-11-25 Felix Zielcke <fzielcke@z-51.de>
23259
23260 autoconf >= 2.60 support $(localedir).
23261
23262 * INSTALL: Note that autoconf 2.60 is required.
23263 * configure.ac (AC_PREREQ): Bump to 2.60.
23264 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23265 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23266
6717926e
YB
232672009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23268
23269 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23270 aclocal is run.
23271
08806a54
RM
232722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23273
23274 * normal/main.c (grub_normal_read_line): Fix off-by-one
23275 buffer overflow.
23276
13b33fba
RM
232772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23278
23279 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23280 "parser.grub" in grub_command_execute() call.
23281
4a8572e9
CPE
232822009-11-24 Carles Pina i Estany <carles@pina.cat>
23283
23284 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23285 * conf/i386-efi.rmk: Likewise.
23286 * conf/i386-ieee1275.rmk: Likewise.
23287 * conf/i386-pc.rmk: Likewise.
23288 * conf/powerpc-ieee1275.rmk: Likewise.
23289 * conf/sparc64-ieee1275.rmk: Likewise.
23290 * conf/x86_64-efi.rmk: Likewise.
23291 * gettext/gettex.c: Include <grub/i18n.h>.
23292 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23293 here ...
23294 * include/grub/i18n.h: ... to here
23295 * include/grub/i18n.h: ... to here.
23296 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23297 (grub_gettext_dummy): Move above user.
4a8572e9 23298
bee48093
FZ
232992009-11-24 Felix Zielcke <fzielcke@z-51.de>
23300
23301 * util/Makefile.in (install-local): Convert a `for' into a normal
23302 shell expansion.
23303
a031e91c
RM
233042009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23305
23306 * autogen.sh: Add automake call.
23307 * config.guess: Remove.
23308 * config.sub: Likewise.
23309 * install-sh: Likewise.
23310
26bec39d
FZ
233112009-11-24 Felix Zielcke <fzielcke@z-51.de>
23312
23313 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23314
8e2532fd
FZ
233152009-11-24 Felix Zielcke <fzielcke@z-51.de>
23316
23317 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23318 function to a normal shell `for'.
23319
fefa1b7d
FZ
233202009-11-24 Felix Zielcke <fzielcke@z-51.de>
23321
23322 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23323
4501250b
FZ
233242009-11-24 Felix Zielcke <fzielcke@z-51.de>
23325
23326 * util/grub-mkrelpath.c: New file.
23327 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23328 (grub_mkrelpath_SOURCES): New variable.
23329 * include/grub/util/misc.h: New function prototype.
23330 * util/misc.c (make_system_path_relative_to_its_root): New function.
23331
23332 * util/grub-mkconfig_lib.in (bindir): New variable.
23333 (grub_mkrelpath): Likewise.
23334 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23335
23336 * util/probe.c (probe): Make the file path relative to its root.
23337 Change a info message to use the GRUB path. Enable again the
23338 check if we can read the file with GRUB facilities.
23339
23340 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23341 to its root.
23342
11d9778b
FZ
233432009-11-24 Felix Zielcke <fzielcke@z-51.de>
23344
23345 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23346 platform.
23347
4465287d
FZ
233482009-11-24 Felix Zielcke <fzielcke@z-51.de>
23349
23350 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23351 strncmp().
23352
62b47f22
FZ
233532009-11-24 Felix Zielcke <fzielcke@z-51.de>
23354
23355 * util/getroot.c (grub_util_is_dmraid): New function.
23356 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23357 devices as normal ones, not as LVM.
23358
1eafb9b9 233592009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23360
23361 * conf/common.rmk: Add grub-gettext_lib target and updates
23362 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23363 LDFLAGS.
23364 * gettext/gettext.c: New file. (Reads mo files).
23365 * include/grub/file.h (grub_file_pread): New prototype.
23366 * include/grub/i18n.h (_): New prototype.
23367 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23368 prototypes.
23369 * kern/misc.c (grub_gettext_dummy): New function.
23370 * normal/menu_text.c: Include <grub/i18n.h>.
23371 * normal/menu_text.c (print_timeout): Gettexttize string.
23372 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23373 * po/POTFILES: Add `normal/menu_text.c'.
23374 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23375 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23376 gettext module and defines locale_dir and lang in grub.cfg.
23377 * NEWS: Add gettext support.
23378
0fdb2568
RM
233792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23380
23381 * util/hostdisk.c: Include `<grub/i18n.h>'.
23382 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23383 (make_device_name): Rewrite using asprintf.
23384 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23385 (find_system_device): If a device is not found, generate one just
23386 by reusing the OS path name.
23387 (read_device_map): Make it permissible for device.map not to exist.
23388
f515aa62
RM
233892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23390
23391 * script/sh/execute.c: Move from here ...
23392 * script/execute.c: ... to here. Update all users.
23393 * script/sh/function.c: Move from here ...
23394 * script/function.c: ... to here. Update all users.
23395 * script/sh/lexer.c: Move from here ...
23396 * script/lexer.c: ... to here. Update all users.
23397 * script/sh/main.c: Move from here ...
23398 * script/main.c: ... to here. Update all users.
23399 * script/sh/parser.y: Move from here ...
23400 * script/parser.y: ... to here. Update all users.
23401 * script/sh/script.c: Move from here ...
23402 * script/script.c: ... to here. Update all users.
23403
f84b481b
RM
234042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23405
23406 * configure.ac: Detect all `emu' platforms. Define
23407 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23408 --enable-grub-emu logic. Disable include/grub/machine
23409 symlink on `emu' platforms.
23410
23411 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23412 * gensymlist.sh.in: Likewise.
23413
23414 * include/grub/i386/coreboot/machine.h: Remove file.
23415 * include/grub/i386/efi/machine.h: Likewise.
23416 * include/grub/i386/ieee1275/machine.h: Likewise.
23417 * include/grub/i386/pc/machine.h: Likewise.
23418 * include/grub/i386/qemu/machine.h: Likewise.
23419 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23420 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23421 * include/grub/x86_64/efi/machine.h: Likewise.
23422
23423 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23424 * commands/halt.c: Likewise.
23425 * commands/reboot.c: Likewise.
23426 * include/grub/autoefi.h: Likewise.
23427 * include/grub/i386/at_keyboard.h: Likewise.
23428 * include/grub/i386/kernel.h: Likewise.
23429 * include/grub/i386/loader.h: Likewise.
23430 * include/grub/i386/pc/memory.h: Likewise.
23431 * kern/dl.c: Likewise.
23432 * kern/i386/coreboot/init.c: Likewise.
23433 * loader/i386/bsd.c: Likewise.
23434 * loader/i386/linux.c: Likewise.
23435 * loader/multiboot_loader.c: Likewise.
23436 * term/i386/pc/serial.c: Likewise.
23437 * term/usb_keyboard.c: Likewise.
23438
23439 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23440 `<grub/machine/machine.h>'
23441 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23442 * util/misc.c: Remove `<grub/machine/machine.h>' and
23443 `<grub/machine/time.h>'.
23444
23445 * Makefile.in (enable_grub_emu): Remove variable.
23446 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23447
23448 * conf/any-emu.rmk: New file.
23449 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23450 (grub_emu_init.c): Move from here ...
23451 * conf/any-emu.rmk: ... to here.
23452
23453 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23454 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23455 * conf/any-emu.rmk: ... to here.
23456
4efeab03
RM
234572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23458
23459 * include/grub/parser.h (grub_parser_register): Document need
23460 of `name' parameter.
23461 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23462 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23463 "sh" to "grub".
23464
ea1dd8bf
RM
234652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23466
23467 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23468 `$(XGETTEXT)'.
23469 * include/grub/i18n.h (N_): New macro.
23470 * util/mkisofs/mkisofs.h: Likewise.
23471 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23472 around N_().
23473 (usage): Use gettext() to translate help strings when printing them.
23474
0c140626
RM
234752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23476
23477 Based on patch from Bean
23478 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23479
23480 * video/efi_fb.c: New file.
23481 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23482 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23483 variables.
23484 * conf/x86_64-efi.rmk: Likewise.
23485
87d58298
RM
234862009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23487
23488 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23489 * util/i386/pc/grub-setup.c: Likewise.
23490
994cc3a3
ST
234912009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23492
23493 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23494 <hurd/fs.h>
23495 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23496 file_get_storage_info to implement grub_guess_root_device.
23497
26a61d6a
FZ
234982009-11-21 Felix Zielcke <fzielcke@z-51.de>
23499
23500 * Makefile.in (target): Use make's builtin $(shell) function
23501 instead of calling directly $(SHELL) to create the locale directories,
23502 inside the $(foreach) function.
23503
74ff1dd5
FZ
235042009-11-21 Felix Zielcke <fzielcke@z-51.de>
23505
23506 * util/grub-mkrescue.in: Print an error and usage if output option
23507 has not been given.
23508
0b787d0e
FZ
235092009-11-21 Felix Zielcke <fzielcke@z-51.de>
23510
23511 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23512 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23513 root and /boot are on different devices.
23514
1164b270
RM
235152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23516
23517 Fix build for srcdir != objdir.
23518
23519 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23520 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23521 $(srcdir).
23522 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23523 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23524 reference for input.
23525
13774a2f
RM
235262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23529 or hardlinking it). Remove -J option, Joliet is not compatible with
23530 multiple source directories.
23531
efda854e
RM
235322009-11-21 Carles Pina i Estany <carles@pina.cat>
235332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23534
23535 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23536 (process_input_dir): New function. Process an arbitrary input
23537 directory.
23538 Misc adjustments to support both "override mode" and system-wide mode.
23539
6c09890c
FZ
235402009-11-20 Felix Zielcke <fzielcke@z-51.de>
23541
23542 * configure.ac (UNIFONT_BDF): Rename to ...
23543 (FONT_SOURCE): ... this. Update all users.
23544
a797824f
FZ
235452009-11-20 Felix Zielcke <fzielcke@z-51.de>
23546
23547 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23548 to the list of unifont files to look for.
23549
cd4f42b0
RM
235502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23551
23552 Patch from Joe Auricchio <jauricchio@gmail.com>
23553 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23554 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23555 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23556
393c783d
FZ
235572009-11-19 Felix Zielcke <fzielcke@z-51.de>
23558
23559 * Makefile.in (install-local): Add a missing backslash.
23560
b2f1e327
FZ
235612009-11-19 Felix Zielcke <fzielcke@z-51.de>
23562
23563 * include/grub/x86_64/io.h: New file.
23564
f577f7a0
RM
235652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23566
23567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23568 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23569 Include `"progname.h"'.
23570 (main): Initialize gettext.
23571 * util/i386/pc/grub-setup.c: Gettexttize.
23572 * util/i386/pc/grub-mkimage.c: Likewise.
23573
23574 * Makefile.in (po/*.po): Redefine as ...
23575 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23576
3bc7896c
RM
23577 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23578
c37943b6
RM
235792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23580
23581 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23582 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23583 (program_name): Remove.
23584 (main): Initialize gettext support.
6323f705
RM
23585 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23586 Include `<libintl.h>'.
23587 (_): New macro.
c37943b6
RM
23588
23589 * util/mkisofs/eltorito.c: Gettexttize.
23590 * util/mkisofs/joliet.c: Likewise.
23591 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23592 * util/mkisofs/multi.c: Likewise.
23593 * util/mkisofs/rock.c: Likewise.
23594 * util/mkisofs/tree.c: Likewise.
23595 * util/mkisofs/write.c: Likewise.
23596
3bc7896c
RM
23597 * po/POTFILES: Update with new files.
23598
5ce77c6e
RM
235992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23600
23601 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23602 * util/mkisofs/iso9660.h: Likewise.
23603 * util/mkisofs/joliet.c: Likewise.
23604 * util/mkisofs/mkisofs.c: Likewise.
23605 * util/mkisofs/mkisofs.h: Likewise.
23606 * util/mkisofs/rock.c: Likewise.
23607 * util/mkisofs/tree.c: Likewise.
23608 * util/mkisofs/write.c: Likewise.
23609
23610 * util/mkisofs/eltorito.c (rcsid): Remove.
23611 * util/mkisofs/hash.c: Likewise.
23612 * util/mkisofs/joliet.c: Likewise.
23613 * util/mkisofs/name.c: Likewise.
23614 * util/mkisofs/rock.c: Likewise.
23615 * util/mkisofs/tree.c: Likewise.
23616 * util/mkisofs/write.c: Likewise.
23617
1dabbc77
RM
236182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23619
23620 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23621 instead of static allocation.
23622 * util/mkisofs/match.h: Likewise.
23623
633877cb
RM
236242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23625
3bc7896c
RM
23626 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23627 and `util/grub.d/10_linux.in'.
633877cb
RM
23628 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23629 translatable Shell files.
23630
af1c0c85
RM
236312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23632
23633 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23634
769ae37b
RM
236352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23636
23637 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23638 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23639 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23640 Add gettext initialization.
23641 (kfreebsd_entry): Make menuentry output translatable.
23642
236432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23644
23645 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23646 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23647 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23648 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23649 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23650 * po/LINGUAS: New file.
769ae37b
RM
23651
236522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23653
23654 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23655 other things).
23656 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23657 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23658 bindtextdomain() calls for gettext initialization.
23659
236602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23661
23662 * gnulib/progname.c: New file (imported from Gnulib).
23663 * gnulib/progname.h: Likewise.
23664 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23665 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23666 (usage): Replace `progname' with `program_name'.
23667 (main): Use set_program_name() for program name initialization.
23668
236692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23670
23671 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23672 from here ...
23673 * Makefile.in (CPPFLAGS): ... to here.
23674
236752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23676
23677 * aclocal.m4: Move from here ...
23678 * acinclude.m4: ... to here.
23679 * autogen.sh: Add call to `aclocal'.
23680 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23681
236822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23683
23684 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23685 (LINGUAS): New variable.
23686 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23687 (install-local): Install MO files.
23688 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23689 * include/grub/i18n.h: New file.
3bc7896c
RM
23690 * po/POTFILES: New file.
23691 * po/ca.po: New file.
769ae37b
RM
23692 * util/grub.d/10_linux.in (bindir): New variable.
23693 Add gettext initialization.
23694 (linux_entry): Make menuentry output translatable.
23695 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23696 (usage): Make --help output translatable.
23697 (main): Initialize gettext.
23698
02c0a6ad
RM
236992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23700
23701 * import_gcry.py: New file (written by Vladimir with minor
23702 adjustments).
23703 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23704 ciphers.
23705 * INSTALL: Document that Python is required for bootstrap.
23706
237072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23708
23709 Import ciphers from libgcrypt 1.4.4.
23710
23711 * lib/libgcrypt/cipher/ChangeLog
23712 * lib/libgcrypt/cipher/ac.c
23713 * lib/libgcrypt/cipher/arcfour.c
23714 * lib/libgcrypt/cipher/bithelp.h
23715 * lib/libgcrypt/cipher/blowfish.c
23716 * lib/libgcrypt/cipher/camellia-glue.c
23717 * lib/libgcrypt/cipher/camellia.c
23718 * lib/libgcrypt/cipher/camellia.h
23719 * lib/libgcrypt/cipher/cast5.c
23720 * lib/libgcrypt/cipher/cipher.c
23721 * lib/libgcrypt/cipher/crc.c
23722 * lib/libgcrypt/cipher/des.c
23723 * lib/libgcrypt/cipher/dsa.c
23724 * lib/libgcrypt/cipher/ecc.c
23725 * lib/libgcrypt/cipher/elgamal.c
23726 * lib/libgcrypt/cipher/hash-common.c
23727 * lib/libgcrypt/cipher/hash-common.h
23728 * lib/libgcrypt/cipher/hmac-tests.c
23729 * lib/libgcrypt/cipher/md.c
23730 * lib/libgcrypt/cipher/md4.c
23731 * lib/libgcrypt/cipher/md5.c
23732 * lib/libgcrypt/cipher/primegen.c
23733 * lib/libgcrypt/cipher/pubkey.c
23734 * lib/libgcrypt/cipher/rfc2268.c
23735 * lib/libgcrypt/cipher/rijndael-tables.h
23736 * lib/libgcrypt/cipher/rijndael.c
23737 * lib/libgcrypt/cipher/rmd.h
23738 * lib/libgcrypt/cipher/rmd160.c
23739 * lib/libgcrypt/cipher/rsa.c
23740 * lib/libgcrypt/cipher/seed.c
23741 * lib/libgcrypt/cipher/serpent.c
23742 * lib/libgcrypt/cipher/sha1.c
23743 * lib/libgcrypt/cipher/sha256.c
23744 * lib/libgcrypt/cipher/sha512.c
23745 * lib/libgcrypt/cipher/tiger.c
23746 * lib/libgcrypt/cipher/twofish.c
23747 * lib/libgcrypt/cipher/whirlpool.c
23748
af2f93ac
RM
237492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23750
23751 Fix build for systems without error().
23752
23753 * gnulib/error.c: New file (imported from Gnulib).
23754 * gnulib/error.h: Likewise.
23755 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23756 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23757 (this variable is now used by error()).
23758
73fb3dd5
FZ
237592009-11-16 Felix Zielcke <fzielcke@z-51.de>
23760
814f5e96
FZ
23761 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23762 instead of relying that char is signed.
73fb3dd5 23763
a691ca33
VS
237642009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23767 blocksize different from specified.
23768 (grub_pxefs_read): Likewise.
23769
2af8f0f4
FZ
237702009-11-16 Felix Zielcke <fzielcke@z-51.de>
23771
23772 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23773
23774 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23775 (grub_ata_readwrite): Likewise. Update 2 format strings.
23776 (grub_atapi_read): Likewise.
23777
23778 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23779 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23780 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23781 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23782 (ata_mod_LDFLAGS): Move from here ...
23783 * conf/i386.rmk: ... to here ...
23784 * conf/x86_64-efi.rmk: ... and here.
23785 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23786 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23787
83bdecaf
RM
237882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23789
23790 Relicense multiboot.h, with RMS' blessing.
23791
23792 * include/multiboot.h: Change to X11 license.
23793
fd6fd3d7
RM
237942009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 Support --version in grub-mkisofs.
23797
23798 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23799 (OPTION_VERSION): New macro.
23800 (ld_options): Recognize --version.
23801 (usage): Move `program_name' from here ...
23802 (program_name): ... to here. Add `static' qualifier.
23803 (main): Recognize `OPTION_VERSION'.
23804
16a88c49
FZ
238052009-11-15 Felix Zielcke <fzielcke@z-51.de>
23806
23807 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23808 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23809
a4158476
RM
238102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 Fix help2man generation for mkisofs.
23813
23814 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23815 (usage): Send output to stdout (rather than stderr).
23816
fc2208b0
RM
238172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23818
23819 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23820 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23821 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23822 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23823 (bin_SCRIPTS): Add `grub-mkfloppy'.
23824 (grub_mkfloppy_SOURCES): New variable.
23825
23826 * util/grub-mkrescue.in: New file.
23827 * util/i386/pc/grub-mkfloppy.in: New file.
23828
23829 * util/i386/coreboot/grub-mkrescue.in: Remove.
23830 * util/i386/pc/grub-mkrescue.in: Remove.
23831
8d0edf4a
RM
238322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23833
23834 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23835 from here ...
23836 * include/multiboot.h (struct multiboot_header): ... to here. Update
23837 all users.
23838 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23839 from here ...
23840 * include/multiboot.h (struct multiboot_info): ... to here. Update
23841 all users.
23842 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23843 from here ...
23844 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23845 Update all users.
23846 * include/grub/multiboot.h (struct grub_mod_list): Move
23847 from here ...
23848 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23849 Update all users.
23850
a73f5969
RM
238512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23852
23853 * include/multiboot2.h (multiboot_word): Rename from this ...
23854 (multiboot2_word): ... to this. Update all users.
23855 (multiboot_header): Rename from this ...
23856 (multiboot2_header): ... to this. Update all users.
23857 (multiboot_tag_header): Rename from this ...
23858 (multiboot2_tag_header): ... to this. Update all users.
23859 (multiboot_tag_start): Rename from this ...
23860 (multiboot2_tag_start): ... to this. Update all users.
23861 (multiboot_tag_name): Rename from this ...
23862 (multiboot2_tag_name): ... to this. Update all users.
23863 (multiboot_tag_module): Rename from this ...
23864 (multiboot2_tag_module): ... to this. Update all users.
23865 (multiboot_tag_memory): Rename from this ...
23866 (multiboot2_tag_memory): ... to this. Update all users.
23867 (multiboot_tag_unused): Rename from this ...
23868 (multiboot2_tag_unused): ... to this. Update all users.
23869 (multiboot_tag_end): Rename from this ...
23870 (multiboot2_tag_end): ... to this. Update all users.
23871
1c8927f0
RM
238722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23873
23874 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23875 this platform we should support Multiboot1 first.
23876
23877 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23878 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23879 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23880
6e1e0d89
RM
238812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23882
23883 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23884 of write calls (converting them to fwrite() if they aren't already).
23885 (get_torito_desc): Likewise.
23886 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23887
7f2b34d8
RM
238882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23889
23890 * util/i386/pc/grub-install.in: Move from here ...
23891 * util/grub-install.in: ... to here. Update all users.
23892
c0ef3311
CW
238932009-11-11 Colin Watson <cjwatson@ubuntu.com>
23894
23895 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23896
e1f240ff
RM
238972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23898
23899 Support for El Torito without floppy emulation.
23900
23901 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23902 (init_boot_catalog): Improve error handling.
23903 (get_torito_desc): Don't use floppy emulation unless requested by
23904 user. Patch boot information table when requested via
23905 `-boot-info-table'.
23906 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23907 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23908 (use_boot_info_table): New variables.
23909 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23910 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23911 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23912 `--eltorito-emul-floppy'.
23913 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23914 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23915 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23916 (use_boot_info_table, get_731): New prototypes.
23917 * util/mkisofs/write.c (get_731): New function.
23918
af7d4de5
FZ
239192009-11-11 Felix Zielcke <fzielcke@z-51.de>
23920
23921 Fix the generation of the man page.
23922
23923 * util/pc/i386/grub-install.in: Source
23924 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23925
2c55dbc0
RM
239262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23927
23928 Large file support for grub-mkisofs.
23929
23930 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23931 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23932 (session_start): Upgrade type to `uint64_t'. Update all users.
23933 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23934 (struct directory_entry): Upgrade type of `starting_block' and
23935 `size' to `uint64_t'. Update all users.
23936 (struct deferred): Remove unused structure.
23937 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23938 Update all users.
23939 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23940 file is larger than `UINT32_MAX'.
23941 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23942 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23943 return value.
23944 (struct deferred_write): Upgrade type of `extent' and `size' to
23945 `uint64_t'. Update all users.
23946 (last_extent_written): Upgrade type to `uint64_t'. Update all
23947 users.
23948 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23949 Update all users. Upgrade type of `remain' to `int64_t' and
23950 `use' to `size_t'. Use error() to handle fread() errors.
23951 (write_files): Rely on write_one_file() rather than calling
23952 xfwrite() directly.
23953
6a9cead5
FZ
239542009-11-09 Felix Zielcke <fzielcke@z-51.de>
23955
23956 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23957
4825d790
RM
239582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23959
23960 * util/mkisofs/fnmatch.c: Remove.
23961 * util/mkisofs/getopt1.c: Likewise.
23962 * util/mkisofs/getopt.c: Likewise.
23963 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23964 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23965 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23966 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23967 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23968
23969 * configure.ac: Detect `mingw32msvc' host_os.
23970 Check for lstat(), getuid() and getgid().
23971
23972 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23973 instances of `u_char' with `uint8_t'.
23974
23975 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23976 [!HAVE_GETUID] (getuid): New function (stub).
23977 [!HAVE_GETGID] (getgid): Likewise.
23978 [!HAVE_LSTAT] (lstat): Likewise.
23979 [!S_IROTH] (S_IROTH): New macro (dummy).
23980 [!S_IRGRP] (S_IRGRP): Likewise.
23981
84b860d8
RM
239822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23983
23984 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23985 conditional expression).
23986
66e9b712
RM
239872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23988
23989 Import from Gnulib.
23990
23991 * gnulib/fnmatch.c: New file.
23992 * gnulib/fnmatch.h: Likewise.
23993 * gnulib/fnmatch_loop.c: Likewise.
23994 * gnulib/getopt.c: Likewise.
23995 * gnulib/getopt.h: Likewise.
23996 * gnulib/getopt1.c: Likewise.
23997 * gnulib/getopt_int.h: Likewise.
23998 * gnulib/gettext.h: Likewise.
23999
34f4a5b0
RM
240002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24003 * normal/handler.c (read_handler_list): Likewise.
24004
ac451143
RM
240052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 Misc cleanup.
24008
24009 * kern/command.c (grub_register_command_prio): Use
24010 grub_zalloc() instead of explicitly zeroing data.
24011 * kern/list.c: Include `<grub/mm.h>'.
24012 (grub_named_list_find): Replace `0' with `NULL'.
24013 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24014 (fs_module_list): Change type to `grub_named_list_t'. Update all
24015 users.
24016 * normal/dyncmd.c (read_command_list): Add space between function
24017 call and parenthesis.
24018 * normal/handler.c (read_handler_list): Likewise.
24019
4089b167
RM
240202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * normal/auth.c (punishment_delay): Moved from here ...
24023 (grub_auth_strcmp): ... to here (inside function).
24024
325f5037
RM
240252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24026
24027 * include/grub/list.h (struct grub_named_list): Remove `const'
24028 qualifier from `name'.
24029 (struct grub_prio_list): Likewise.
24030
7aea29a3
RM
240312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 * normal/auth.c: Include `<grub/time.h>'.
24034 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24035
3fd6f044
RM
240362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * normal/auth.c (punishment_delay): New variable.
24039 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24040 (grub_auth_check_authentication): Punish failed login attempts with
24041 an incremental (2^N) delay.
24042
a4cd68e4
RM
240432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24044
24045 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24046 path with $(srcdir).
24047
7ad12f43
VS
240482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24049
24050 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24051
c1129f03
RM
240522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24053
24054 * util/i386/coreboot/grub-mkrescue.in: New file.
24055 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24056 variables.
24057
24058 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24059 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24060 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24061 requirements.
24062 * util/mkisofs/defaults.h: New file.
24063 * util/mkisofs/eltorito.c: Likewise.
24064 * util/mkisofs/exclude.h: Likewise.
24065 * util/mkisofs/fnmatch.c: Likewise.
24066 * util/mkisofs/getopt.c: Likewise.
24067 * util/mkisofs/getopt1.c: Likewise.
24068 * util/mkisofs/hash.c: Likewise.
24069 * util/mkisofs/include/fctldefs.h: Likewise.
24070 * util/mkisofs/include/mconfig.h: Likewise.
24071 * util/mkisofs/include/prototyp.h: Likewise.
24072 * util/mkisofs/include/statdefs.h: Likewise.
24073 * util/mkisofs/iso9660.h: Likewise.
24074 * util/mkisofs/joliet.c: Likewise.
24075 * util/mkisofs/match.c: Likewise.
24076 * util/mkisofs/match.h: Likewise.
24077 * util/mkisofs/mkisofs.c: Likewise.
24078 * util/mkisofs/mkisofs.h: Likewise.
24079 * util/mkisofs/multi.c: Likewise.
24080 * util/mkisofs/name.c: Likewise.
24081 * util/mkisofs/rock.c: Likewise.
24082 * util/mkisofs/tree.c: Likewise.
24083 * util/mkisofs/write.c: Likewise.
24084
ec8bb77d
VS
240852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24088 being insecure.
24089
3716b12c
RM
240902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24091
24092 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24093 `grub-mkimage' (and use $0 when possible).
24094
b97b7b91
RM
240952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24096
24097 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24098 error message for excessively large memory map.
24099
04114812
RM
241002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24103 executable bit.
24104
e4eb2373
RM
241052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24106
24107 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24108 message for coreboot users.
24109
c926e1d5 241102009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24111
24112 Fix build with GNU gold.
24113
24114 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24115 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24116 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24117 link addresses.
24118 * aclocal.m4: Likewise.
24119
86e5b1db 241202009-11-04 Felix Zielcke <fzielcke@z-51.de>
24121
24122 * configure.ac (AC_PREREQ): Bump to 2.59d.
24123 * INSTALL: Make it more clear when Autoconf and Ruby are
24124 needed and when to run `./autogen.sh'.
24125
246cd78f 241262009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24127
24128 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24129 OSes.
24130
4f9dfb37 241312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24132
24133 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24134
b82bd5e1 241352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24136
24137 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24138 giving it to GNU Mach.
24139
ff1a9bca 241402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24141
24142 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24143 GNU partition number to get internal GRUB partition number.
24144
61697d9c 241452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24146
24147 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24148 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24149
a50569e1 241502009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24153 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24154 case.
24155
5b153867 241562009-11-01 Felix Zielcke <fzielcke@z-51.de>
24157
24158 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24159
d9e2cd70 241602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24161
24162 Fix build problem.
24163
24164 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24165 `-isystem=$(srcdir)/include'.
24166
805111a4 241672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24168
24169 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24170 checked (grub-install doesn't currently rely on it).
24171
fa6e945f 241722009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24173
24174 Revert SVN r2660.
24175
24176 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24177 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24178 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24179 * conf/i386-ieee1275.rmk: Likewise.
24180 * conf/i386-pc.rmk: Likewise.
24181 * conf/powerpc-ieee1275.rmk: Likewise.
24182 * conf/sparc64-ieee1275.rmk: Likewise.
24183 * conf/x86_64-efi.rmk: Likewise.
24184
cee15086 241852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24188
95b9239e 241892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24190
24191 * include/grub/misc.h: Stop checking for APPLE_CC.
24192
2ed19dfd 241932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24194
24195 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24196 doesn't cause an infinite call loop.
24197
fdcdde19 241982009-10-28 Felix Zielcke <fzielcke@z-51.de>
24199
24200 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24201 strings.
24202
cefabfe1 242032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24204
24205 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24206 variable.
24207 * Makefile.in: Likewise.
24208
ed96ab6d 242092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24212
0579b753 242132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24214
24215 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24216
478df409 242172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24218
24219 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24220
083d1679 242212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24222
24223 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24224 from here ...
24225 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24226
5947ae32 242272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24228
24229 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24230 in $(MAKEINFO) invocation. This makes it clear in output that
24231 errors are being ignored.
24232
94180ff6 242332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24236 from here ...
24237 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24238 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24239 * conf/i386-ieee1275.rmk: Likewise.
24240 * conf/i386-pc.rmk: Likewise.
24241 * conf/powerpc-ieee1275.rmk: Likewise.
24242 * conf/sparc64-ieee1275.rmk: Likewise.
24243 * conf/x86_64-efi.rmk: Likewise.
24244
9031b03a 242452009-10-26 Colin Watson <cjwatson@ubuntu.com>
24246
24247 * util/grub-editenv.c (main): If only a command is given, use
24248 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24249 (usage): FILENAME is now optional and has a default.
24250
e4f6809b 242512009-10-26 Colin Watson <cjwatson@ubuntu.com>
24252
24253 Improve grub-mkconfig performance when there are several menu
24254 entries on a single filesystem.
24255
24256 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24257 prepare_grub_to_access_device.
24258 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24259 * util/grub.d/30_os-prober.in: Likewise.
24260
67937d4d 242612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24262
24263 * util/grub.d/10_freebsd.in: Remove.
24264 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24265 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24266
ee3756cc 242672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24268
5c35048e 24269 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24270
4dea1c6f 242712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24272
24273 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24274 grub_util_error() call.
24275
042484d7 242762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24277
24278 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24279 `reserved_first_sector' member.
24280 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24281 `reserved_first_sector' to 1.
24282 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24283 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24284 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24285 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24286 filesystems which begin at first sector.
24287 (options): New option --skip-fs-probe.
24288 (main): Handle --skip-fs-probe and pass it to setup().
24289
d64448a7 242902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24291
24292 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24293 (memset): Fix function prototype.
24294
508d42ec 242952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
242962009-10-25 Vasily Averin <vvs@parallels.com>
24297
24298 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24299 `dirent.direntlen == 0'.
24300
b240e30c 243012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24302
24303 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24304 `cpio'.
24305 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24306
346e7fbe 243072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24308
24309 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24310 `__trampoline_setup' and `__ucmpdi2'.
24311 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24312 that libgcc provides.
24313
cdb308b0 243142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24315
24316 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24317 * include/grub/sparc64/libgcc.h (memset): Likewise.
24318 * include/grub/misc.h (memset, memcmp): New function prototypes.
24319
fb26abc2 243202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24321
24322 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24323 `cpio'.
24324 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24325
f6693890 243262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24327
24328 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24329 * docs/grub.cfg: Compensate for recent change in multiboot
24330 loader (since 2009-08-14 it won't pass filename to payload).
24331 * util/grub.d/10_hurd.in: Likewise.
24332
0933cdc0 243332009-10-21 Felix Zielcke <fzielcke@z-51.de>
24334
24335 * config.guess: Update to latest version from config git
24336 repository.
24337 * config.sub: Likewise.
24338
3b2fe8c2 243392009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24340
24341 Fix build on sparc64.
24342
24343 * configure.ac: Perform checks for libgcc symbols before
24344 adding `-nostdlib' to LDFLAGS.
24345
46695a62 243462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24347
24348 Let user specify OpenBSD root device.
24349
24350 * loader/i386/bsd.c (openbsd_root): New variable.
24351 (openbsd_opts): New option 'root'.
24352 (OPENBSD_ROOT_ARG): New macro.
24353 (grub_openbsd_boot): Use 'openbsd_root'.
24354 (grub_cmd_openbsd): Fill 'openbsd_root'.
24355
d2b6b7fc 243562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24357
24358 * NEWS: Misc adjustments.
24359
421bd7ac 243602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24363
f1d29d87 243642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24365
24366 * configure.ac: Bump version to 1.97.
24367
6f3cd880 243682009-10-16 Colin Watson <cjwatson@ubuntu.com>
24369
24370 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24371 -mno-3dnow on x86 architectures. Some toolchains enable these
24372 features by default, but they rely on registers that aren't enabled
24373 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24374
035f7122 243752009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24376
24377 Make entry text a bit more readable.
24378
24379 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24380
44998e58 243812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24382
24383 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24384
cd2851b3 243852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24388 operations.
24389
c6f3b249 243902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24391
24392 * configure.ac: Add missing dollar.
24393
6b5886ba 243942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24395
24396 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24397
24398 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24399 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24400 exports.
24401 * include/grub/sparc64/libgcc.h: Likewise. Use
24402 preprocessor conditionals.
24403
e9d66f6d 244042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24405
24406 * conf/common.rmk (grub-dumpbios): Remove rule.
24407 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24408 * util/grub-dumpbios.in: Remove file.
24409
9155bc17 244102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24411
24412 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24413 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24414
24415 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24416 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24417 users.
24418
24419 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24420 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24421 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24422 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24423 users.
24424
bf7f7a18 244252009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24426
24427 * term/tparm.c: Switch to GPLv3.
24428
86564c26 244292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24430
24431 * include/grub/i386/cpuid.h: Add header protection.
24432
5c936493 244332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24434
24435 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24436
24437 * include/grub/i386/cpuid.h: New file.
24438 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24439 (has_longmode): Rename to ...
24440 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24441 `static' attribute.
24442 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24443 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24444 on a CPU that doesn't implement AMD64 instruction set.
24445
186e7cf2 244462009-10-06 Colin Watson <cjwatson@ubuntu.com>
24447
24448 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24449 that version.texi is rebuilt on version number changes.
24450
83b65c4a 244512009-10-06 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24454 Fixes bug #27602.
24455
d244281c 244562009-10-06 Colin Watson <cjwatson@ubuntu.com>
24457
24458 * util/i386/pc/grub-install.in: Source
24459 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24460 that the --grub-probe option will work.
24461 * util/sparc64/ieee1275/grub-install.in: Likewise.
24462
da25306d 244632009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24464
24465 * configure.ac: Bump version to 1.97~beta4.
24466
e8ee83c0 244672009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24468
24469 Resync grub-mkdevicemap in x86_64-efi.
24470
24471 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24472 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24473 `util/devicemap.c'.
24474
50dcabcf 244752009-10-01 Colin Watson <cjwatson@ubuntu.com>
24476
24477 * util/grub-editenv.c (create_envblk_file): Write new block with a
24478 .new suffix and then rename it into place, to ensure atomic
24479 creation.
24480
0e51c3a7 244812009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24482
24483 Do not automatically install headers.
24484
24485 * Makefile.in (include_DATA): Remove. Update all users.
24486
31299a95 244872009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24490 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24491
24492 * util/osdetect.lua: Remove.
24493 * script/lua/lauxlib.c: Likewise.
24494 * script/lua/ldebug.c: Likewise.
24495 * script/lua/grub_main.c: Likewise.
24496 * script/lua/lauxlib.h: Likewise.
24497 * script/lua/ldebug.h: Likewise.
24498 * script/lua/ltablib.c: Likewise.
24499 * script/lua/liolib.c: Likewise.
24500 * script/lua/lstrlib.c: Likewise.
24501 * script/lua/lualib.h: Likewise.
24502 * script/lua/ldo.c: Likewise.
24503 * script/lua/ldump.c: Likewise.
24504 * script/lua/ldo.h: Likewise.
24505 * script/lua/loslib.c: Likewise.
24506 * script/lua/lundump.c: Likewise.
24507 * script/lua/grub_lib.c: Likewise.
24508 * script/lua/ldblib.c: Likewise.
24509 * script/lua/lundump.h: Likewise.
24510 * script/lua/lmem.c: Likewise.
24511 * script/lua/grub_lib.h: Likewise.
24512 * script/lua/lmathlib.c: Likewise.
24513 * script/lua/lstate.c: Likewise.
24514 * script/lua/ltm.c: Likewise.
24515 * script/lua/lvm.c: Likewise.
24516 * script/lua/lmem.h: Likewise.
24517 * script/lua/lstate.h: Likewise.
24518 * script/lua/ltm.h: Likewise.
24519 * script/lua/ltable.c: Likewise.
24520 * script/lua/lvm.h: Likewise.
24521 * script/lua/llex.c: Likewise.
24522 * script/lua/lgc.c: Likewise.
24523 * script/lua/grub_lua.h: Likewise.
24524 * script/lua/loadlib.c: Likewise.
24525 * script/lua/lfunc.c: Likewise.
24526 * script/lua/lopcodes.c: Likewise.
24527 * script/lua/lparser.c: Likewise.
24528 * script/lua/ltable.h: Likewise.
24529 * script/lua/llex.h: Likewise.
24530 * script/lua/lgc.h: Likewise.
24531 * script/lua/lfunc.h: Likewise.
24532 * script/lua/lbaselib.c: Likewise.
24533 * script/lua/lopcodes.h: Likewise.
24534 * script/lua/lparser.h: Likewise.
24535 * script/lua/lzio.c: Likewise.
24536 * script/lua/linit.c: Likewise.
24537 * script/lua/lobject.c: Likewise.
24538 * script/lua/llimits.h: Likewise.
24539 * script/lua/lstring.c: Likewise.
24540 * script/lua/lzio.h: Likewise.
24541 * script/lua/lapi.c: Likewise.
24542 * script/lua/lcode.c: Likewise.
24543 * script/lua/lua.h: Likewise.
24544 * script/lua/lobject.h: Likewise.
24545 * script/lua/lstring.h: Likewise.
24546 * script/lua/lapi.h: Likewise.
24547 * script/lua/lcode.h: Likewise.
24548 * script/lua/luaconf.h: Likewise.
24549
cb8a2c38 245502009-09-26 Colin Watson <cjwatson@ubuntu.com>
24551
24552 * docs/grub.texi (Command-line and menu entry commands): Document
24553 date and echo commands.
24554
6b9b6276 245552009-09-24 Pavel Roskin <proski@gnu.org>
24556
24557 * include/grub/kernel.h (struct grub_module_header): Remove
24558 `grub_module_header_types'. Make `type' unsigned. Make `size'
24559 32-bit on all platforms.
24560 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24561 8-bit field. Use grub_host_to_target32() for `size'.
24562 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24563 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24564 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24565
4e5a02a7 245662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24567
24568 Fix "lost keypress" bug in at_keyboard.
24569
24570 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24571 Checks for readyness of input buffer (without flushing it).
24572 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24573 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24574
c6dcedf6 245752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24578 size check within GRUB_MACHINE_PCBIOS section.
24579
74c958b1 245802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24581
24582 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24583 return value.
24584 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24585 KEYBOARD_ISREADY check.
24586 (grub_at_keyboard_checkkey): Rename to ...
24587 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24588 Remove gratuitous cast.
24589
ff420223 245902009-09-23 Colin Watson <cjwatson@ubuntu.com>
24591
24592 * configure.ac: Call AC_PROG_MKDIR_P.
24593 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24594 version.texi in $(builddir) rather than $(srcdir).
24595 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24596 to makeinfo's @include search path.
24597
d96875df 245982009-09-23 Felix Zielcke <fzielcke@z-51.de>
24599
24600 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24601
9b3f8365 246022009-09-23 Felix Zielcke <fzielcke@z-51.de>
24603
24604 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24605 for `*.dpkg-new'.
24606
c44c90db 246072009-09-21 Colin Watson <cjwatson@ubuntu.com>
24608
24609 Build info documentation. Some code borrowed from Automake.
24610
24611 * configure.ac: Check for makeinfo.
24612 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24613 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24614 docs/version.texi.
24615 (MOSTLYCLEANFILES): Add vti.tmp.
24616 (docs/version.texi, docs/stamp-vti): Update automatically.
24617 (docs/grub.info): Build info documentation. Use --force and ignore
24618 errors for now.
24619 (all-local): Add $(INFOS).
24620 (install-local): Install info files.
24621 (uninstall): Uninstall info files.
24622 * docs/version.texi: Remove from revision control. This file is
24623 automatically generated on build now.
24624 * gendistlist.sh: Add `*.info'.
24625
e0b37bb5 246262009-09-21 Felix Zielcke <fzielcke@z-51.de>
24627
24628 * kern/term.c: Fix indentation.
24629
5a78865b 246302009-09-21 Felix Zielcke <fzielcke@z-51.de>
24631
24632 * util/hostdisk.c: Fix a comment.
24633
dace7e8a 246342009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24635
24636 Fix regression introduced in r2539.
24637
24638 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24639 to 0xA1.
24640
a83d079b 246412009-09-19 Colin Watson <cjwatson@ubuntu.com>
24642
24643 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24644 os-prober. Under normal operation, it does not print anything to
24645 stderr; if it does, we need to debug it, and throwing away stderr
24646 makes that excessively difficult.
a83d079b 24647
be94a509 246482009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24649
24650 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24651
63f745e8 246522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24655 AC_LANG_PROGRAM from autoconf.
24656 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24657 prototypes (fixes warning).
24658
24659 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24660 `--disable-werror' was used.
24661
bbb2a70f 246622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24665 uninitialized `lastaddr'.
24666
77c24f1d 246672009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24668
0f0b8c87 24669 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24670
07197f23 246712009-09-14 Colin Watson <cjwatson@ubuntu.com>
24672
24673 * commands/test.c (get_fileinfo): Return immediately if
24674 grub_fs_probe fails.
24675
dabf1798 246762009-09-14 José Martínez <xosemp@gmail.com>
24677
24678 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24679
d52109a7 246802009-09-14 Colin Watson <cjwatson@ubuntu.com>
24681
24682 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24683 output.
24684
56532179 246852009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24686
24687 * configure.ac: Remove --enable-grub-pe2elf. Only build
24688 grub-pe2elf when needed by the build system itself.
24689 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24690
8ef070f5 246912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * configure.ac: Bump version to 1.97~beta3.
24694 * docs/version.texi: Likewise.
24695
61229557 246962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24699 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24700 from here ...
24701 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24702 (grub_linux_setup_video): ... to here (with some adjustments).
24703
5c9f8d84 247042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24705
24706 Fix memory corruption issue (spotted by Colin Watson).
24707
24708 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24709 causing returned size to be stored in an incorrect memory location.
24710 Fix use of uninitialized value when storing the returned size.
24711
e8f5d6e9 247122009-09-12 Yves Blusseau <blusseau@zetam.org>
24713
24714 Change clean rules to properly remove files
24715
24716 * genmk.rb: add new clean rules
24717 * Makefile.in (clean): add the new targets
24718 (mostlyclean): likewise
24719
cda2a409 247202009-09-11 Colin Watson <cjwatson@ubuntu.com>
24721
24722 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24723 to grub_uint64_t.
24724 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24725 non-resident files.
24726
86695375 247272009-09-11 Colin Watson <cjwatson@ubuntu.com>
24728
24729 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24730 part of bug #27349.
24731
8aa1541a 247322009-09-10 Felix Zielcke <fzielcke@z-51.de>
24733
24734 * util/grub-mkconfig.in: Make the created config mode 400 and
24735 print a warning if it fails.
24736
48d9bb0a 247372009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24738
24739 * util/grub.d/40_custom.in: Ask user to type custom entries below
24740 comment, rather than below 'exec tail' line.
24741
3b0521be 247422009-09-10 Colin Watson <cjwatson@ubuntu.com>
24743
24744 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24745 visible in grub.cfg.
24746
50051d55 247472009-09-10 Colin Watson <cjwatson@ubuntu.com>
24748
24749 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24750 file.
24751
c0d34387 247522009-09-10 Felix Zielcke <fzielcke@z-51.de>
24753
24754 * docs/grub.cfg: Add an example menu entry for memtest86+.
24755
80a608f3 247562009-09-09 Felix Zielcke <fzielcke@z-51.de>
24757
a2094832 24758 * config.guess: Update to latest version from config git.
80a608f3 24759 * config.sub: Likewise.
24760
99423078 247612009-09-08 Colin Watson <cjwatson@ubuntu.com>
24762
24763 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24764 unknown-command case. Fixes bug #27320.
24765
44454e4c 247662009-09-08 Felix Zielcke <fzielcke@z-51.de>
24767
24768 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24769 `help' if the command exists.
24770
e30d87ad 247712009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24772
24773 * INSTALL: Require GCC 4.1.3 or later.
24774
9a86f1ec 247752009-09-06 Yves Blusseau <blusseau@zetam.org>
24776
24777 * Makefile.in (RMKFILES): add i386-qemu.rmk
24778 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24779 $(srcdir)/stamp-h.in
24780
7f26d466 247812009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24782
24783 * util/grub-probe.c (probe): Comment out buggy codepath, which
24784 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24785 should be re-enabled after 1.97.
24786
3a613259 247872009-09-05 Felix Zielcke <fzielcke@z-51.de>
24788
24789 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24790 find searches for.
24791
197f76c7 247922009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24795 unnecessary calls to grub_error.
24796
70ba68ce 247972009-09-04 Colin Watson <cjwatson@ubuntu.com>
24798
24799 * NEWS: Mention `keystatus' and Unicode fonts.
24800
4ff0d7a4 248012009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24802
24803 * configure.ac: Bump version to 1.97~beta2.
24804 * docs/version.texi: Likewise.
24805
77c55a87 248062009-09-03 Colin Watson <cjwatson@ubuntu.com>
24807
24808 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24809 containing unwind information in some cases where it previously did
24810 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24811 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24812 discussion.
24813
f79572cd 248142009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24815
24816 Embedding loadenv module into grub-emu
24817
24818 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24819 commands/loadenv.c
24820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24821 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24824 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24825 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24826
93a81088 248272009-09-03 Magnus Granberg <zorry@ume.nu>
24828
24829 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24830 include -fPIE in the default specs.
24831 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24832 to TARGET_CFLAGS.
24833
160034b2 248342009-09-03 Felix Zielcke <fzielcke@z-51.de>
24835
24836 * INSTALL: Note that GNU Bison 2.3 or later is required.
24837
087c07c4 248382009-09-03 Colin Watson <cjwatson@ubuntu.com>
24839
24840 * kern/i386/pc/startup.S: Fix typo.
24841
cbf978c0 248422009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24845 according to GCS.
24846
248472009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24848
24849 * docs/grub.texi (Naming convention): Describe one-based partition
24850 numbering.
24851 (Device syntax): Likewise.
24852 (File name syntax): Likewise.
24853 (Block list syntax): Likewise.
24854 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24855 menu.lst.
24856 (File name syntax): Likewise.
24857 (Command-line and menu entry commands): Document acpi, blocklist,
24858 crc, export, insmod, keystatus, ls, set, and unset commands.
24859
f3e8cdfd 248602009-09-02 Colin Watson <cjwatson@ubuntu.com>
24861
24862 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24863 to avoid implying that only one of --shift, --ctrl, or --alt may be
24864 used.
24865
c0bc232b 248662009-09-02 Colin Watson <cjwatson@ubuntu.com>
24867
24868 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24869 rather than comparing against S_IFREG, which will almost never work.
24870
aa0f752d 248712009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24872
24873 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24874 (write_blocklists): Likewise.
24875
ecb3166a 248762009-09-01 Colin Watson <cjwatson@ubuntu.com>
24877
24878 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24879 argument to grub_printf.
24880
c403a125 248812009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24882
24883 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24884 non GNU test.
31aba781 24885
b5e7312c 248862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24887
24888 * kern/file.c (grub_file_read): Spelling fix
24889
fe00f472 248902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24891
24892 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24893 loading of headers in some cases.
24894
cc55302e 248952009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24896
24897 * configure.ac: Bump version to 1.97~beta1.
24898 * docs/version.texi: Likewise.
24899
5c90cdd2 249002009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24901
24902 * include/grub/i386/xnu.h: Add license header.
24903 include grub/err.h explicitly.
24904
c90edae4 249052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24906
24907 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24908 to `ufs' in the vfs.root.mountfrom kernel parameter.
24909
d8888b5c 249102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24911
24912 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24913
24914 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24915 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24916
24917 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24918 `ARRAY_SIZE' macro.
24919
6f07b921 249202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * kern/file.c (grub_file_read): Check offset.
24923 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24924 * fs/jfs.c (grub_jfs_read_file): Likewise.
24925 * fs/ntfs.c (grub_ntfs_read): Likewise.
24926 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24927 * fs/minix.c (grub_minix_read_file): Correct offset check.
24928 * fs/ufs.c (grub_ufs_read_file): Likewise.
24929
b4f34077 249302009-08-28 Colin Watson <cjwatson@ubuntu.com>
24931
24932 * term/i386/pc/console.c (bios_data_area): Cast
24933 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24934
e7c69859 249352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24936
24937 1-bit optimised blitters.
24938
24939 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24940 prototype.
24941 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24942 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24943 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24944 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24945 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24946 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24947 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24948 function.
24949 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24950 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24951 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24952 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24953 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24954 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24955 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24956 when possible.
24957 * video/video.c (grub_video_get_blit_format): Return
24958 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24959
a57da43f 249602009-08-28 Colin Watson <cjwatson@ubuntu.com>
24961
24962 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24963 the first argument to grub_printf.
24964
4cbe67e5 249652009-08-28 Colin Watson <cjwatson@ubuntu.com>
249662009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24967
24968 Add `getkeystatus' terminal method. Add a new `keystatus' command
24969 to query it.
24970
24971 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24972 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24973 modifier key bitmasks.
24974 (struct grub_term_input): Add `getkeystatus' member.
24975 (grub_getkeystatus): Add prototype.
24976 * kern/term.c (grub_getkeystatus): New function.
24977
24978 * include/grub/i386/pc/memory.h
24979 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24980 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24981 Data Area layout.
24982 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24983 (grub_console_term_input): Set `getkeystatus' member.
24984 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24985 constants.
24986 (grub_usb_keyboard_getreport): Likewise.
24987 (grub_usb_keyboard_checkkey): Likewise.
24988 (grub_usb_keyboard_getkeystatus): New function.
24989 (grub_usb_keyboard_term): Set `getkeystatus' member.
24990
24991 * commands/keystatus.c: New file.
24992 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24993 (keystatus_mod_SOURCES): New variable.
24994 (keystatus_mod_CFLAGS): Likewise.
24995 (keystatus_mod_LDFLAGS): Likewise.
24996 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24997 commands/keystatus.c.
24998 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25000 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25002 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25003 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25004
6e2a9085 250052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 Split befs.mod and afs.mod into *_be.mod and *.mod
25008
25009 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25010 (grub_fstest_SOURCES): Likewise.
25011 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25012 (afs_be_mod_SOURCES): New variable.
25013 (afs_be_mod_CFLAGS): Likewise.
25014 (afs_be_mod_LDFLAGS): Likewise.
25015 (befs_be_mod_SOURCES): Likewise.
25016 (befs_be_mod_CFLAGS): Likewise.
25017 (befs_be_mod_LDFLAGS): Likewise.
25018 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25019 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25020 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25021 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25022 (grub_emu_SOURCES): Likewise.
25023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25026 * fs/afs_be.c: New file.
25027 * fs/befs_be.c: New file.
25028 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25029 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25030 (U16): Replaced with ...
25031 (grub_afs_to_cpu16): ...this. All users updated.
25032 (U32): Replaced with ...
25033 (grub_afs_to_cpu32): ...this. All users updated.
25034 (U64): Replaced with ...
25035 (grub_afs_to_cpu64): ...this. All users updated.
25036 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25037 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25038 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25039 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25040 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25041 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25042 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25043 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25044 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25045 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25046 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25047
32a71655 250482009-08-26 Bean <bean123ch@gmail.com>
25049
25050 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25051 64-bit number.
25052 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25053 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25054 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25055
552bf6c5 250562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 NetBSD memory map support.
25059
25060 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25061 (grub_netbsd_btinfo_mmap_header): New structure.
25062 (grub_netbsd_btinfo_mmap_entry): Likewise.
25063 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25064
1ae2078c 250652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 Enable bsd.mod on coreboot.
25068
25069 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25070 (bsd_mod_SOURCES): New variable.
25071 (bsd_mod_CFLAGS): Likewise.
25072 (bsd_mod_LDFLAGS): Likewise.
25073 (bsd_mod_ASFLAGS): Likewise.
25074 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25075 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25076
beefc598 250772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25078
25079 Cleanup NetBSD root support.
25080
25081 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25082 grub_bsd_get_device.
25083 Fix typo.
25084
3b76e68b 250852009-08-25 Felix Zielcke <fzielcke@z-51.de>
25086
25087 * util/grub.d/00_header.in: Move check for the video backend of
25088 gfxterm from here ...
25089 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25090 a suitable video backend.
25091
aea664ea 250922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 Fix breakage in grub-setup.
25095
25096 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25097 "msdos_partition_map".
25098
ff747d50 250992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25100
25101 Fix breakage in normal/auth.c.
25102
25103 * normal/auth.c (grub_iswordseparator): New function.
25104
e7e1f93f 251052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25106
25107 Authentication support.
25108
25109 * commands/password.c: New file.
25110 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25111 (password_mod_SOURCES): New variable.
25112 (password_mod_CFLAGS): Likewise.
25113 (password_mod_LDFLAGS): Likewise.
25114 (normal_mod_SOURCES): Add normal/auth.c.
25115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25116 normal/auth.c.
25117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25118 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25119 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25121 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25122 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25123 * include/grub/auth.h: New file.
25124 * include/grub/err.h (grub_err_t): New enum value
25125 GRUB_ERR_ACCESS_DENIED.
25126 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25127 'users'.
25128 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25129 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25130 users updated.
25131 * normal/auth.c: New file.
25132 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25133 (grub_cmdline_run): Don't allow to go to command line without
25134 authentication.
25135 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25136 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25137 menuentry without superuser rights.
25138 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25139 user isn't a superuser.
25140
70f1161d 251412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 Save space by inlining misc.c functions.
25144
25145 * kern/misc.c (grub_iswordseparator): Made static.
25146 * kern/misc.c (grub_strcat): Moved from here ...
25147 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25148 * kern/misc.c (grub_strncat): Moved from here ...
25149 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25150 * kern/misc.c (grub_strcasecmp): Moved from here ...
25151 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25152 * kern/misc.c (grub_strncasecmp): Moved from here ...
25153 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25154 * kern/misc.c (grub_isalpha): Moved from here ...
25155 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25156 * kern/misc.c (grub_isdigit): Moved from here ...
25157 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25158 * kern/misc.c (grub_isgraph): Moved from here ...
25159 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25160 * kern/misc.c (grub_tolower): Moved from here ...
25161 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25162
48e40bff 251632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 * script/sh/function.c (grub_script_function_find): Cut error message
25166 not to flood terminal.
25167 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25168 limit.
25169 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25170
c385bfc3 251712009-08-24 Colin Watson <cjwatson@ubuntu.com>
25172
25173 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25174 `report' grub_uint8_t *.
25175 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25176 Use a 50-millisecond timeout rather than just repeating
25177 grub_usb_keyboard_getreport 50 times.
25178 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25179
2d21e3e8 251802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 Rename *_partition_map to part_*
25183
25184 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25185 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25186 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25187 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25188 All users updated.
25189 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25190 All users updated.
25191 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25192 * util/grub-probe.c (probe_partmap): Don't transform partition name
25193 to get module name.
25194
dd103c4e 251952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 Fix OpenBSD and NetBSD support.
25198
25199 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25200 memory address conflict.
25201 (OPENBSD_MMAP_ACPI): New definition.
25202 (OPENBSD_MMAP_NVS): Likewise.
25203 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25204 and OPENBSD_MMAP_NVS.
25205 Add memory map terminator
25206 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25207 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25208
16c84d74 252092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 Let user specify NetBSD root device.
25212
25213 * loader/i386/bsd.c (netbsd_root): New variable.
25214 (netbsd_opts): New option 'root'.
25215 (NETBSD_ROOT_ARG): New macro.
25216 (grub_netbsd_boot): Use 'netbsd_root'.
25217 (grub_bsd_unload): Free 'netbsd_root'.
25218 (grub_cmd_netbsd): Fill 'netbsd_root'.
25219
adb29902 252202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25221
25222 Support for 64-bit NetBSD.
25223
25224 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25225 point when booting non-FreeBSD.
25226
f5ae9f74 252272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 Support --no-smp and --no-acpi for NetBSD.
25230
25231 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25232 (NETBSD_AB_NOACPI): Likewise.
25233 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25234 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25235
de74f136 252362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25237
25238 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25239 errors.
25240 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25241 errors. Call grub_error when needed.
25242
e9a925da 252432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25244
25245 * commands/search.c (search_fs): Try searching without autoload first.
25246 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25247 filesystem module explicitly for faster booting.
25248
5174302b 252492009-08-23 Colin Watson <cjwatson@ubuntu.com>
25250
25251 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25252
c8c80635 252532009-08-23 Colin Watson <cjwatson@ubuntu.com>
25254
25255 * util/grub.d/30_os-prober.in: Disable os-prober if
25256 `GRUB_DISABLE_OS_PROBER' was set to true.
25257
71acf5e5 252582009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25259
25260 * partmap/pc.c: Rename to ...
25261 * partmap/msdos.c: ... this. Update all users.
25262 (grub_pc_partition_map): Rename to ...
25263 (grub_msdos_partition_map): ... this. Update all users.
25264
25265 * parttool/pcpart.c: Rename to ...
25266 * parttool/msdospart.c: ... this. Update all users.
25267
25268 * include/grub/pc_partition.h: Rename to ...
25269 * include/grub/msdos_partition.h: ... this. Update all users.
25270 (grub_pc_partition_bsd_entry): Rename to ...
25271 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25272 (grub_pc_partition_disk_label): Rename to ...
25273 (grub_msdos_partition_disk_label): ... this. Update all users.
25274 (grub_pc_partition_entry): Rename to ...
25275 (grub_msdos_partition_entry): ... this. Update all users.
25276 (grub_pc_partition_mbr): Rename to ...
25277 (grub_msdos_partition_mbr): ... this. Update all users.
25278 (grub_pc_partition): Rename to ...
25279 (grub_msdos_partition): ... this. Update all users.
25280 (grub_pc_partition_is_empty): Rename to ...
25281 (grub_msdos_partition_is_empty): ... this. Update all users.
25282 (grub_pc_partition_is_extended): Rename to ...
25283 (grub_msdos_partition_is_extended): ... this. Update all users.
25284 (grub_pc_partition_is_bsd): Rename to ...
25285 (grub_msdos_partition_is_bsd): ... this. Update all users.
25286
25287 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25288 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25289 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25290 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25291 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25292 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25293 (gpt_mod_LDFLAGS): Rename to ...
25294 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25295 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25296 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25297 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25298 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25299 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25300 (part_gpt_mod_LDFLAGS): ... this.
25301 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25302 `pcpart.mod' to `msdospart.mod'.
25303 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25304 to ...
25305 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25306 (msdospart_mod_LDFLAGS): ... this.
25307
c11fded5 253082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25309
25310 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25311 (openbsd_opts): Likewise.
25312 (netbsd_opts): Likewise.
25313 (freebsd_flags): Added 0 terminator.
25314 (openbsd_flags): Likewise.
25315 (netbsd_flags): Likewise.
25316 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25317 (grub_cmd_freebsd): Transformed into extended command.
25318 (grub_cmd_openbsd): Likewise.
25319 (grub_cmd_netbsd): Likewise.
25320 (cmd_freebsd): Changed type to grub_extcmd_t.
25321 (cmd_openbsd): Likewise.
25322 (cmd_netbsd): Likewise.
25323 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25324 grub_cmd_openbsd as extended commands.
25325 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25326 cmd_netbsd and cmd_openbsd
25327
11d1c769 253282009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25331
7a9094e5 253322009-08-21 Pavel Roskin <proski@gnu.org>
25333
5496c37e 25334 * Makefile.in (install-local): When checking if a file is in the
25335 build directory, use "test -e" to detect symlinks.
25336
7a9094e5 25337 * Makefile.in (install-local): Remove all files in
25338 $(DESTDIR)$(pkglibdir) before installing new files there.
25339
e53cea11 253402009-08-18 Felix Zielcke <fzielcke@z-51.de>
25341
25342 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25343 grub-mkelfimage.
25344
9aced544 253452009-08-18 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25348 explicitly specified by the user.
25349
b7da6bab 253502009-08-18 Pavel Roskin <proski@gnu.org>
25351
25352 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25353 grub_uint8_t pointer for data.
25354 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25355 Likewise.
25356 * video/fb/fbutil.c: Remove unnecessary casts.
25357
19f1b335 253582009-08-17 Michal Suchanek <hramrach@centrum.cz>
25359
25360 VBE cleanup.
25361
25362 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25363 (grub_vbe_set_video_mode): Save active mode info
25364 only after setting the mode.
25365 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25366 second argument.
25367
2f467aa9 253682009-08-17 Michal Suchanek <hramrach@centrum.cz>
25369
25370 Rename variables for clarity.
25371
25372 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25373 (active_vbe_mode_info): ... this. All users updated.
25374 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25375 All users updated.
25376 (initial_mode): Rename to ...
25377 (initial_vbe_mode): ... this. All users updated.
25378 (mode_in_use): Rename to ..
25379 (vbe_mode_in_use): ... this. All users updated.
25380 (mode_list): Rename to ..
25381 (vbe_mode_list): ... this. All users updated.
25382 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25383 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25384 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25385 'mode_list_size' to 'vbe_mode_list_size'.
25386 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25387 'best_mode_info' to 'best_vbe_mode_info' and
25388 'best_mode' to 'best_vbe_mode'
25389
6025fcd7 253902009-08-17 Michal Suchanek <hramrach@centrum.cz>
25391
25392 Remove duplicate grub_video_fb_get_video_ptr.
25393
25394 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25395 (grub_video_fb_get_video_ptr): ... this.
25396 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25397 * video/fb/fbutil.c: Add comment about addressing.
25398 (get_data_ptr): Rename to ...
25399 (grub_video_fb_get_video_ptr): ... this. All users updated.
25400 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25401
cc8c6faf 254022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25403
25404 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25405 grub_dprintf() that was just added.
25406
08aa61f0 254072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25408
25409 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25410 (DEFAULT_VIDEO_MODE): Remove macros.
25411 (grub_linux_boot): Remove assumption that Linux has FB support,
25412 and use "text" as default video mode.
25413
7cef4f75 254142009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25417 grub_dprintf.
25418 * fs/fat.c (grub_fat_read_data): Likewise.
25419
e1f39873 254202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25423 payload.
25424 (grub_module): Likewise.
25425
c166d79e 254262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25427
25428 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25429 mbi->cmdline but free playground.
25430
c60cee8e 254312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 Handle group offset on UFS1.
25434
25435 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25436 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25437
c0d8b5d4 254382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25439
25440 Split ufs.mod into ufs1.mod and ufs2.mod.
25441
25442 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25443 (grub_fstest_SOURCES): Likewise.
25444 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25445 (ufs_mod_SOURCES): Remove.
25446 (ufs_mod_CFLAGS): Likewise.
25447 (ufs_mod_LDFLAGS): Likewise.
25448 (ufs1_mod_SOURCES): New variable.
25449 (ufs1_mod_CFLAGS): Likewise.
25450 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25451 (ufs2_mod_SOURCES): New variable.
25452 (ufs2_mod_CFLAGS): Likewise.
25453 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25455 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25456 Likewise.
25457 (grub_emu_SOURCES): Likewise.
25458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25459 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25460 (grub_setup_SOURCES): Likewise.
25461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25462 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25463 (grub_setup_SOURCES): Likewise.
25464 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25465 Likewise.
25466 * fs/ufs2.c: New file.
25467 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25468
d3539132 254692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25470
25471 Framebuffer split.
25472
25473 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25474 subsystem at the end.
25475 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25476 (video_fb_mod_SOURCES): New variable.
25477 (video_fb_mod_CFLAGS): Likewise.
25478 (video_fb_mod_LDFLAGS): Likewise.
25479 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25480 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25481 * video/i386/pc/vbeblit.c: Moved from here ...
25482 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25483 * video/i386/pc/vbefill.c: Moved from here ...
25484 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25485 * video/i386/pc/vbeutil.c: Moved from here ...
25486 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25487 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25488 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25489 * include/grub/i386/pc/vbefill.h: Moved from here ...
25490 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25491 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25492 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25493 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25494 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25495 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25496 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25497 (grub_video_adapter): Added 'get_info_and_fini'.
25498 (grub_video_get_info_and_fini): New prototype.
25499 (grub_video_set_mode): make modestring const char *.
25500 * loader/i386/linux.c (grub_linux_setup_video): Use
25501 grub_video_get_info_and_fini.
25502 (grub_linux_boot): Move modesetting just before booting.
25503 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25504 grub_video_get_info_and_fini.
25505 * video/i386/pc/vbe.c: Moved framebuffer part ...
25506 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25507 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25508 grub_video_fbstd_colors and grub_video_fb_set_palette.
25509 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25510 grub_video_fb_init.
25511 (grub_video_vbe_fini): Use grub_video_fb_fini.
25512 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25513 render_target and use grub_video_fb_set_active_render_target and
25514 grub_video_fb_set_palette.
25515 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25516 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25517 (grub_video_vbe_adapter): Use framebuffer.
25518 * video/video.c (grub_video_get_info_and_fini): New function.
25519 (grub_video_set_mode): Make modestring const char *.
25520 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25521 values are already initialised.
25522
d404ee56 255232009-08-14 Pavel Roskin <proski@gnu.org>
25524
25525 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25526 ABS and APPLE_CC.
25527 * boot/i386/pc/diskboot.S: Likewise.
25528 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25529 sectors allow compilation on MacOSX.
25530 * conf/i386-pc.rmk: Enable unconditional compilation of
25531 lnxboot.img.
25532
9a10df16 255332009-08-13 Colin Watson <cjwatson@ubuntu.com>
25534
25535 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25536 * util/grub.d/00_header.in: Enter interruptible sleep if
25537 GRUB_HIDDEN_TIMEOUT is set.
25538
be3c9ca7 255392009-08-13 Yves Blusseau <blusseau@zetam.org>
25540
25541 * include/grub/symbol.h: Add the LOCAL macro.
25542 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25543 starting with "L_".
25544
1f9e557e 255452009-08-13 Pavel Roskin <proski@gnu.org>
25546
9ca62843 25547 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25548 any modern compilers we support.
25549
1f9e557e 25550 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25551 Use local labels starting with "L_" so that Apple assembler
25552 knows they are local.
25553
81623db6 255542009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25555
25556 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25557 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25558 (bsd_kernel_types): ... this enum.
25559
25560 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25561 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25562 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25563
25564 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25565 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25566 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25567 messages.
25568
f5d35e7a 255692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25570
25571 * util/grub-dumpdevtree: Moved from here ...
25572 * util/i386/efi/grub-dumpdevtree: ... to here.
25573 (hexify): New function. Converts a string to its hex version.
25574 Generate hex versions of "efi" and "device-properties" by calling
25575 hexify() on the ASCII strings rather than by hardcoding numbers.
25576
d1e1d527 255772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25578
25579 * fs/jfs.c: Update copyright year.
25580
1ebbe064 255812009-08-08 Felix Zielcke <fzielcke@z-51.de>
25582
25583 * util/grub.d/00_header.in: Fix a comment.
25584 * util/grub.d/10_linux.in: Likewise.
25585 * util/grub.d/10_windows.in: Likewise.
25586 * util/grub.d/10_hurd.in: Likewise.
25587
a78c8d24 255882009-08-08 Felix Zielcke <fzielcke@z-51.de>
25589
25590 * util/grub-mkconfig.in: Allow the user to specify the used font
25591 with GRUB_FONT.
25592
29a6b9e8 255932009-08-08 Pavel Roskin <proski@gnu.org>
25594
b5f16cc4 25595 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25596 available, xfs.mod needs it now.
25597
2f5cb827 25598 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25599 the "g" modifier in sed when the intention is to strip something
25600 once. This fixes comparison of kernels with multiple dashes.
25601
29a6b9e8 25602 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25603 on it. Add missing space before closing bracket. Fix
25604 misleading formatting.
25605
892a3d98 256062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25607
25608 * docs/grub.texi: Major overhaul. Remove all sections that are
25609 specific to GRUB Legacy, or mostly composed of Legacy-specific
25610 information.
25611
ed94253f 256122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25613
25614 * docs/version.texi: New file. Provides version information for
25615 grub.texi.
25616
126d6628 256172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * docs/grub.texi: Update CVS information to SVN.
25620 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25621
998b5aa9 256222009-08-07 Felix Zielcke <fzielcke@z-51.de>
25623
25624 * util/grub-mkconfig.in: Remove a wrong `fi'.
25625
818e094a 256262009-08-07 Felix Zielcke <fzielcke@z-51.de>
25627
25628 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25629 (grub_jfs_uuid): New function.
25630 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25631
b969c52f 256322009-08-07 Felix Zielcke <fzielcke@z-51.de>
25633
25634 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25635 of it to ...
25636 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25637 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25638
7a4894cc 256392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25640
25641 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25642 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25643 Update all users.
25644
25645 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25646 not just "vmlinu[zx]".
25647 Moved from here ...
25648 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25649 all users.
25650
25651 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25652 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25653 all users.
25654
4e2171f8 256552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25656
25657 * util/grub.d/10_freebsd.in: Use an absolute device path for
25658 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25659
6dcfcb32 256602009-08-06 Felix Zielcke <fzielcke@z-51.de>
25661
25662 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25663 handling of multiple abstraction modules.
25664
f56a8756 256652009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25666
25667 Fix a bug resulting in black screen when loading Linux using a
25668 packed video mode.
25669
25670 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25671 function.
25672
25673 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25674 (grub_vbe_bios_getset_dac_palette_width): New function.
25675 (grub_vbe_bios_get_dac_palette_width)
25676 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25677 grub_vbe_bios_getset_dac_palette_width()).
25678
25679 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25680 check for return status.
25681 (grub_vbe_get_video_mode_info): When getting information for a packed
25682 mode (<= 8 bpp), obtain DAC palette width using
25683 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25684 {red,green,blue}_mark_size.
25685
222671b2 256862009-08-04 Felix Zielcke <fzielcke@z-51.de>
25687
ecb1a6d9 25688 * commands/search.c (options): Fix help output to match actual code.
222671b2 25689
f84114f5 256902009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25691
25692 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25693 of homegrown code.
25694
bd288a20 256952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25696
25697 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25698 on XFS or ReiserFS.
25699
8aab5e25 257002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 Support Apple partition map with sector size different from 512 bytes.
25703
25704 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25705 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25706 and 'apart.partmap_size'.
25707
6ad6258a 257082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
257092009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25710
25711 Fix cpuid command.
25712
25713 * commands/i386/cpuid.c (options): New variable.
25714 (grub_cmd_cpuid): Return real error.
25715 (GRUB_MOD_INIT(cpuid)): Declare options.
25716
67459bc6 257172009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25718
25719 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25720 valid.
25721
fbc6ab54 257222009-07-31 Bean <bean123ch@gmail.com>
25723
25724 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25725 log2_inode.
25726 (grub_fshelp_node): Move inode field to the end.
25727 (grub_xfs_data): Remove inode field.
25728 (grub_xfs_inode_block): Calculate inode size using sblock.
25729 (grub_xfs_inode_offset): Likewise.
25730 (grub_xfs_read_inode): Calculate inode size using sblock.
25731 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25732 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25733 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25734 to match inode size.
25735 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25736 not accessible when data is null.
25737 (grub_xfs_open): Likewise.
25738
f45d6cfc 257392009-07-31 Bean <bean123ch@gmail.com>
25740
25741 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25742 Don't change pv->disk if it's already set.
25743
25744 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25745 (grub_raid_register): ... here.
25746 (grub_raid_rescan): Removed.
25747
25748 * include/grub/raid.h (grub_raid_rescan): Removed.
25749
25750 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25751 (fstest): Replace grub_raid_rescan with module fini function followed
25752 by init function.
25753
25754 * util/grub-probe.c: Add include file <grub/raid.h>.
25755 (probe_raid_level): New function.
25756 (probe): Detect abstraction by walking the disk device, support two
25757 level of abstraction (LVM on RAID) when detecting partition map.
25758
24443b5a 257592009-07-31 Pavel Roskin <proski@gnu.org>
25760
25761 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25762 to grub_zalloc(), it was erroneous.
25763 Reported by Bean <bean123ch@gmail.com>
25764
a275d9e7 257652009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25766
25767 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25768 embedding zone, not only the first one.
a275d9e7 25769
56c5a47f 257702009-07-29 Joe Auricchio <jauricchio@gmail.com>
25771
25772 * term/gfxterm.c (clear_char): New function.
25773 (grub_virtual_screen_setup): Use clear_char.
25774 (scroll_up): Likewise.
25775 (grub_virtual_screen_cls): Likewise.
25776
67bb323a 257772009-07-29 Felix Zielcke <fzielcke@z-51.de>
25778
25779 * util/deviceiter.c (get_acceleraid_disk_name): New static
25780 function.
25781 (grub_util_iterate_devices): Handle Accelraid devices.
25782 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25783
388a7c75 257842009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25785
25786 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25787 separator for the suggested gfxpayload string (';' collides with the
25788 parser and needs escaping).
25789
3bb7abcf 257902009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25791
25792 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25793 Clear direction flag before jumping to OS.
25794 (grub_multiboot2_real_boot): Likewise.
25795
2ddd36d7 257962009-07-28 Felix Zielcke <fzielcke@z-51.de>
25797
25798 * util/i386/pc/grub-install: Fix parsing of --disk-module
25799 option.
25800
c521b62b 258012009-07-28 Felix Zielcke <fzielcke@z-51.de>
25802
25803 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25804 when embedding.
25805
880e0a0c 258062009-07-26 Felix Zielcke <fzielcke@z-51.de>
25807
25808 * util/grub-mkconfig.in (package_version): New variable.
25809 Use it do display the version.
25810
2366e356 258112009-07-25 Felix Zielcke <fzielcke@z-51.de>
25812
25813 * kern/file.c (grub_file_open): Revert to previous check with
25814 grub_errno.
25815
7ad8c80e 258162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25817
25818 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25819 from help line. It's out of sync with code.
25820
72b9658b 258212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25824 entries on failed boot.
25825
77435277 258262009-07-25 Felix Zielcke <fzielcke@z-51.de>
25827
25828 * kern/file.c (grub_file_open): Fix an error check.
25829
fcaa8b21 258302009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25831
35d16c74 25832 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25833 partition map couldn't be identified.
fcaa8b21 25834
48904cd1 258352009-07-23 Pavel Roskin <proski@gnu.org>
25836
ef3c317f 25837 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25838 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25839 case of little endian words becomes just an optimization.
25840 Respect const modifier.
ad8ea1f4 25841 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25842
48904cd1 25843 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25844 to avoid loss of upper bits if align is unsigned and shorter
25845 than addr.
25846
260c9a89 258472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25848
25849 UUID support for UFS
25850
25851 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25852 (grub_ufs_uuid): New function.
25853 (grub_ufs_fs): add .uuid
25854
f76ce889 258552009-07-21 Pavel Roskin <proski@gnu.org>
25856
25857 * kern/dl.c (grub_dl_check_header): Make static.
25858
6a6cbcaf 258592009-07-21 Felix Zielcke <fzielcke@z-51.de>
25860
25861 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25862 add drivemap for Vista. It breaks Windows 7.
25863
cffcddb2 258642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25867 128 bytes
25868
1ef44b80 258692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 Add BFS support
25872
25873 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25874 (grub_fstest_SOURCES): Likewise.
25875 (pkglib_MODULES): Add befs.mod.
25876 (befs_mod_SOURCES): New variable.
25877 (befs_mod_CFLAGS): Likewise.
25878 (befs_mod_LDFLAGS): Likewise.
25879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25882 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25883 (grub_setup_SOURCES): Likewise.
25884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25886 (grub_setup_SOURCES): Likewise.
25887 * fs/befs.c: New file.
25888 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25889 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25890 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25891 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25892 (B_KEY_INDEX_ALIGN): New declaration.
25893 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25894 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25895 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25896 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25897 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25898 (grub_afs_mount) [MODE_BFS]: Likewise.
25899 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25900 (grub_afs_fs): Use GRUB_AFS_FSNAME
25901 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25902 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25903 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25904 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25905
4f253044 259062009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25907
25908 * util/getroot.c (find_root_device): Add support for MacOSX.
25909 * util/hostdisk.c: Likewise.
25910
57a55913 259112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * font/font.c (find_glyph): Check whether a font is present to avoid
25914 segmentation fault.
75421ca9 25915
259162009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25917
25918 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25919
e98cd0c2 259202009-07-20 Pavel Roskin <proski@gnu.org>
25921
25922 * configure.ac: Trim excessively wordy excuses.
25923
1d2d169a 259242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 Add symlink, mtime and label support to AtheFS.
25927
25928 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25929 (grub_afs_iterate_dir): Handle symlinks.
25930 (grub_afs_open): Use grub_afs_read_symlink.
25931 (grub_afs_dir): Likewise.
25932 Pass mtime.
25933 (grub_afs_label): New function.
25934 (grub_afs_fs): Add grub_afs_label.
25935 (grub_afs_read_symlink): New function.
25936
186f3189 259372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 Fix AtheFS support.
25940
25941 * fs/afs.c: Fix comments style.
25942 (grub_afs_blockrun): Declare as packed.
25943 (grub_afs_datastream): Likewise.
25944 (grub_afs_bnode): Likewise.
25945 (grub_afs_btree): Likewise.
25946 (grub_afs_sblock): Likewise.
25947 Declare `name' as char.
25948 (grub_afs_inode): Declare as packed.
25949 Change void *vnode to grub_uint32_t unused.
25950 (grub_afs_iterate_dir): Check that key_size is positive.
25951 (grub_afs_mount): Don't read superblock twice.
75421ca9 25952 (grub_afs_dir): Don't free node in case of error,
186f3189 25953 grub_fshelp_find_file already handles this.
25954 (grub_afs_open): Likewise.
25955
5680109e 259562009-07-19 Pavel Roskin <proski@gnu.org>
25957
25958 * Makefile.in: Remove LIBLZO and enable_lzo.
25959 * conf/i386-pc.rmk: Remove lzo support.
25960 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25961 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25962 support.
25963 * kern/i386/pc/lzo1x.S: Remove.
25964 * kern/i386/pc/startup.S: Remove lzo support.
25965 * util/i386/pc/grub-mkimage.c: Likewise.
25966
ac70fa32 259672009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25968
25969 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25970 * fs/xfs.c (grub_xfs_dir): Likewise.
25971 * fs/afs.c (grub_afs_dir): Likewise.
25972 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25973 (grub_iso9660_open): Likewise.
25974 * fs/jfs.c (grub_jfs_open): Likewise.
25975 * fs/ext2.c (grub_ext2_dir): Likewise.
25976 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25977 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25978
eab58da2 259792009-07-16 Pavel Roskin <proski@gnu.org>
25980
d2838156 25981 * configure.ac: Never add "-c" to CFLAGS.
25982
55c70904 25983 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25984
43e6200c 25985 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25986 grub_cv_cc_efiemu should be used.
25987
ce7a733d 25988 * configure.ac: Typo fixes.
25989
eab58da2 25990 * kern/mm.c (grub_zalloc): New function.
25991 (grub_debug_zalloc): Likewise.
25992 * include/grub/mm.h: Declare grub_zalloc() and
25993 grub_debug_zalloc().
25994 * util/misc.c (grub_zalloc): New function.
25995 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25996 instead of grub_malloc(), remove unneeded initializations.
25997 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25998 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25999 * commands/parttool.c (grub_cmd_parttool): Likewise.
26000 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26001 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26002 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26003 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26004 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26005 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26006 (grub_cmd_efiemu_pnvram): Likewise.
26007 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26008 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26009 (grub_iso9660_iterate_dir): Likewise.
26010 * fs/jfs.c (grub_jfs_opendir): Likewise.
26011 * fs/ntfs.c (list_file): Likewise.
26012 (grub_ntfs_mount): Likewise.
26013 * kern/disk.c (grub_disk_open): Likewise.
26014 * kern/dl.c (grub_dl_load_core): Likewise.
26015 * kern/elf.c (grub_elf_file): Likewise.
26016 * kern/env.c (grub_env_context_open): Likewise.
26017 (grub_env_set): Likewise.
26018 (grub_env_set_data_slot): Likewise.
26019 * kern/file.c (grub_file_open): Likewise.
26020 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26021 * loader/i386/multiboot.c (grub_module): Likewise.
26022 * loader/xnu.c (grub_xnu_create_key): Likewise.
26023 (grub_xnu_create_value): Likewise.
26024 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26025 (read_config_file): Likewise.
26026 * normal/menu_entry.c (make_screen): Likewise.
26027 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26028 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26029 * script/sh/script.c (grub_script_parse): Likewise.
26030 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26031 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26032 * video/readers/png.c (grub_png_output_byte): Likewise.
26033 (grub_video_reader_png): Likewise.
26034
830afef7 260352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26036
26037 Enable all targets that can be built by default
26038
830afef7 26039 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26040 grub-mkfont and grub-fstest if they can be built
26041
ee293aee 260422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26043
26044 Fix hang and segmentation fault in grub-emu-usb
26045
26046 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26047 * util/usb.c (grub_libusb_devices): likewise
26048 (grub_libusb_init): rename to ...
26049 (GRUB_MOD_INIT (libusb)):...this
26050 (grub_libusb_fini): rename to ..
26051 (GRUB_MOD_FINI (libusb)):...this
26052 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26053 * include/grub/disk.h (grub_raid_init): removed, it's useless
26054 (grub_raid_fini): likewise
26055 (grub_lvm_init): likewise
26056 (grub_lvm_fini): likewise
26057 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26058 by grub_init_all
26059
94414221 260602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 Fix libusb
26063
26064 * Makefile.in (LIBUSB): new macro
26065 * genmk.rb (Utility/print_tail): new method
26066 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26067 (top level): call util.print_tail at the end.
26068
59ade63d 260692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26070
26071 Make FreeBSD accept zpool.cache
26072
26073 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26074 type is /boot/zfs/zpool.cache
26075
a58da8c7 260762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26077
26078 Fix 64-bit efiemu
26079
26080 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26081 correct wrong typedef
26082 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26083
20591577 260842009-07-15 Pavel Roskin <proski@gnu.org>
26085
560ca572 26086 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26087 * kern/disk.c (struct grub_disk_cache): Likewise.
26088
e8e8e4fd 26089 * commands/probe.c (options): Typo fix.
26090
fde24e10 26091 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26092 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26093 accordingly.
26094 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26095
379c54c1 26096 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26097 the end of "Error" to make the message more readable.
26098
7bd8f5bf 26099 * boot/i386/pc/boot.S (kernel_segment): Remove.
26100 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26101 for destination.
26102
40b132c5 26103 * boot/i386/pc/boot.S (boot_version): Remove.
26104 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26105 Remove.
26106
20591577 26107 * include/grub/i386/pc/boot.h: Sort all offsets.
26108 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26109 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26110 * boot/i386/pc/boot.S: Assert location of every offset listed in
26111 include/grub/i386/pc/boot.h.
26112
2df32b2c 261132009-07-13 Pavel Roskin <proski@gnu.org>
26114
44b5d879 26115 * include/grub/i386/coreboot/machine.h: Rename
26116 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26117 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26118 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26119
17dc3751 26120 * kern/dl.c: Force native word size to suppress warnings when
26121 compiling grub-emu.
26122
2df32b2c 26123 * kern/device.c (grub_device_iterate): Change struct part_ent to
26124 hold the name, not a pointer to it. Use one grub_malloc() per
26125 partition, not two. Free partition_name if grub_malloc() fails.
26126 Set ents to NULL only before grub_partition_iterate() is called.
26127
75c59f59 261282009-07-11 Bean <bean123ch@gmail.com>
26129
26130 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26131 childname.
26132
0ae1bf88 261332009-07-10 Bean <bean123ch@gmail.com>
261342009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 * kern/ieee1275/openfw.c (grub_children_iterate)
26137 (grub_devalias_iterate): Fix size evaluation for property or path
26138 strings, which was broken since r2132.
26139
8279cade 261402009-07-07 Pavel Roskin <proski@gnu.org>
26141
7d8a52d3 26142 * commands/search.c (search_file): Merge into ...
26143 (search_fs): ... this. Accept search type as argument.
26144 (grub_cmd_search): Pass search type to search_fs().
26145
25f9a05a 26146 * include/grub/util/console.h: New file.
26147 * util/console.c: Use it instead of grub/machine/console.h.
26148 * util/grub-emu.c: Likewise.
26149
8279cade 26150 * lib/arg.c (find_long_option): Remove.
26151 (find_long): Add `len' argument, make `s' const char *.
26152 (grub_arg_parse): Parse long options in place, not in a
26153 temporary buffer.
26154
4a11b60f 261552009-07-06 Pavel Roskin <proski@gnu.org>
26156
99f68041 26157 * commands/search.c (search_fs): Fix potential NULL pointer
26158 dereference.
26159
4a11b60f 26160 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26161 function pointer.
26162
e110f4de 261632009-07-06 Daniel Mierswa <impulze@impulze.org>
26164
26165 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26166 comparison.
26167
46eeb6a2 261682009-07-05 Pavel Roskin <proski@gnu.org>
26169
bab74958 26170 * include/grub/i386/linux.h (struct linux_kernel_params):
26171 Restore padding3, it's still needed.
26172
46eeb6a2 26173 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26174 FreeBSD.
26175 * util/osdetect.lua: Likewise.
26176
b4a1dc79 261772009-07-05 Bean <bean123ch@gmail.com>
26178
26179 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26180
26181 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26182 (grub_lua_getenv): Likewise.
26183 (grub_lua_setenv): Likewise.
26184 (save_errno): New function.
26185 (push_result): Likewise.
26186 (grub_lua_enum_device): Likewise.
26187 (grub_lua_enum_file): Likewise.
26188 (grub_lua_file_open): Likewise.
26189 (grub_lua_file_close): Likewise.
26190 (grub_lua_file_seek): Likewise.
26191 (grub_lua_file_read): Likewise.
26192 (grub_lua_file_getline): Likewise.
26193 (grub_lua_file_getsize): Likewise.
26194 (grub_lua_file_getpos): Likewise.
26195 (grub_lua_file_eof): Likewise.
26196 (grub_lua_file_exist): Likewise.
26197 (grub_lua_add_menu): Likewise.
26198
26199 * script/lua/grub_lua.h (isupper): New inline function.
26200 (islower): Likewise.
26201 (ispunct): Likewise.
26202 (isxdigit): Likewise.
26203 (strcspn): Change to normal function.
26204 (strpbkr): New function declaration.
26205 (memchr): Likewise.
26206
26207 * script/lua/grub_main.c (scan_str): New function.
26208 (strcspn): Likewise.
26209 (strpbrk): Likewise.
26210 (memchr): Likewise.
26211
26212 * script/lua/linit.c (lualibs): Enable the string library.
26213
26214 * util/osdetect.lua: New file.
26215
2da92295 262162009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26217
26218 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26219 `capabilities' member.
26220
b2582ec9 262212009-07-02 Pavel Roskin <proski@gnu.org>
26222
26223 * genparttoollist.sh: Add missing newline at the end.
26224
32622956 262252009-07-01 Pavel Roskin <proski@gnu.org>
26226
87a7339e 26227 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26228
d23af54e 26229 * util/hostdisk.c (open_device): Remove `const' from
26230 `sysctl_size', as sysctlbyname() can change it (in this case it
26231 doesn't actually happen).
26232
c94b18a9 26233 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26234 using signed long int constants.
26235
c6cd3ef0 26236 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26237 constant to avoid a warning on FreeBSD.
26238
0df63420 26239 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26240 where it's needed.
26241
999577f1 26242 * Makefile.in: Install include/grub/machine symlink.
26243
6f41557f 26244 * Makefile.in: When installing symlinks, use "cp -fR", which
26245 works on FreeBSD and MacOSX.
26246 From Yves Blusseau <cl7m42e02@sneakemail.com>
26247
c8d22988 26248 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26249 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26250
1b96e952 26251 * util/misc.c: Move grub_reboot() and grub_halt() ...
26252 * util/grub-emu.c: ... here. Make main_env static.
26253 * include/grub/util/misc.h: Remove main_env.
26254
2ef0084d 26255 * kern/mm.c: Use correct format to print size_t.
26256
32622956 26257 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26258 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26259 * kern/powerpc/dl.c: Likewise.
26260 * kern/sparc64/dl.c: Likewise.
26261 * kern/x86_64/dl.c: Likewise.
26262
3f7f0cd0 262632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26264
26265 Fix grub-emu build on sparc64-ieee1275.
26266
75421ca9 26267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26269
211d06b5 262702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26271
26272 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26273 (grub_reboot, grub_halt): New functions.
26274
26275 * util/i386/pc/misc.c: Delete. Update all users.
26276 * util/sparc64/ieee1275/misc.c: Likewise.
26277 * util/powerpc/ieee1275/misc.c: Likewise.
26278
aaf53e3c 262792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26280
26281 * conf/i386.rmk (setjmp_mod_SOURCES)
26282 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26283 * conf/common.rmk (setjmp_mod_SOURCES)
26284 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26285 to use $(target_cpu).
26286 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26287 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26288 * conf/powerpc-ieee1275.rmk: Likewise.
26289 * conf/sparc64-ieee1275.rmk: Likewise.
26290
26291 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26292 $(target_cpu) for kern/$(target_cpu)/dl.c.
26293 * conf/i386-efi.rmk: Likewise.
26294 * conf/i386-ieee1275.rmk: Likewise.
26295 * conf/x86_64-efi.rmk: Likewise.
26296 * conf/i386-coreboot.rmk: Likewise.
26297 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26298 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26299 kern/$(target_cpu)/cache.S.
26300 * conf/sparc64-ieee1275.rmk: Likewise.
26301
a337130b 263022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26303
26304 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26305 type to `grub_uint8_t', and adjust `padding9' accordingly.
26306
c6fe4d53 263072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26308
b09db61d 26309 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26310
c6fe4d53 26311 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26312 assembly in final jump, using register constraints.
26313
b09db61d 26314 (grub_linux_boot): For text mode, initialize `have_vga' using
26315 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26316
26317 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26318 right before the final jump.
26319
26320 Set `video_mode' to 0x3.
26321
26322 Document initialization of `video_page', `video_mode' and
26323 `video_ega_bx'.
26324
28333ad0 263252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26326
26327 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26328 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26329 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26330
02164e1b 263312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26332
26333 Fix build on Debian / sparc.
26334
26335 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26336
18b6c557 263372009-06-28 Pavel Roskin <proski@gnu.org>
26338
85f2aab6 26339 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26340 fix a warning.
26341
18b6c557 26342 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26343
ad760f81 263442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26345
26346 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26347 `err'.
26348
87a4623b 263492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26350
26351 Revert r2338.
26352
26353 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26354 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26355 grub_errno / grub_errmsg appropriately.
87a4623b 26356 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26357
8231fb77 263582009-06-27 Pavel Roskin <proski@gnu.org>
263592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26360
26361 * include/grub/dl.h: Include grub/elf.h.
26362 (struct grub_dl): Add symtab field.
26363 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26364 GRUB_MODULES_MACHINE_READONLY.
26365 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26366 of the header for read-only modules.
26367 (grub_dl_unload): Free mod->symtab for read-only modules.
26368 * kern/i386/dl.c: Use mod->symtab.
26369 * kern/powerpc/dl.c: Likewise.
26370 * kern/sparc64/dl.c: Likewise.
26371 * kern/x86_64/dl.c: Likewise.
26372
26373 * conf/i386-qemu.rmk: New file.
26374 * kern/i386/qemu/startup.S: Likewise.
26375 * kern/i386/qemu/mmap.c: Likewise.
26376 * boot/i386/qemu/boot.S: Likewise.
26377 * include/grub/i386/qemu/time.h: Likewise.
26378 * include/grub/i386/qemu/serial.h: Likewise.
26379 * include/grub/i386/qemu/kernel.h: Likewise.
26380 * include/grub/i386/qemu/console.h: Likewise.
26381 * include/grub/i386/qemu/boot.h: Likewise.
26382 * include/grub/i386/qemu/init.h: Likewise.
26383 * include/grub/i386/qemu/machine.h: Likewise.
26384 * include/grub/i386/qemu/loader.h: Likewise.
26385 * include/grub/i386/qemu/memory.h: Likewise.
26386
26387 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26388 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26389 [qemu] (pkglib_IMAGES): Add `boot.img'.
26390 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26391 [qemu] (boot_img_FORMAT): New variables.
26392 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26393 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26394 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26395 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26396 [qemu] (kernel_img_FORMAT): New variables.
26397
26398 * configure.ac: Recognise `i386-qemu'.
26399
26400 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26401 (for no compression).
26402 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26403 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26404 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26405 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26406 ifdefs).
26407
97fe384e 264082009-06-27 Pavel Roskin <proski@gnu.org>
26409
26410 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26411 read.
26412 * efiemu/prepare32.c: Likewise.
26413 * efiemu/prepare64.c: Likewise.
26414
c402ab17 264152009-06-26 Pavel Roskin <proski@gnu.org>
26416
26417 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26418 * include/grub/elf.h: Define symbols without "32" or "64" based
26419 on GRUB_TARGET_WORDSIZE.
26420 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26421 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26422 ELF definitions.
26423 * efiemu/loadcore64.c: Likewise.
26424 * loader/i386/bsd32.c: Likewise.
26425 * loader/i386/bsd64.c: Likewise.
26426 * kern/dl.c: Remove own ELF definitions.
26427 * util/i386/efi/grub-mkimage.c: Likewise.
26428
9bbdfd4d 264292009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26430
26431 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26432 segment 0x0 unconditionally, because the reference generated by
26433 GAS is an absolute address.
26434
a42ce6e9 264352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26436
26437 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26438 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26439
c952cf92 264402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26441
26442 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26443 indexes. Check for -f explicitly.
cc3752ad 26444 (search_file): Improve error message.
26445 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26446
132a0a59 264472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26448
26449 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26450 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26451
387a140c 264522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26453
26454 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26455 * conf/i386-ieee1275.rmk: Likewise.
26456 * conf/i386-coreboot.rmk: Likewise.
26457
26458 * kern/i386/pc/startup.S (grub_stop): Remove function.
26459 * kern/i386/ieee1275/startup.S: Likewise.
26460 * kern/i386/coreboot/startup.S: Likewise.
26461 * kern/i386/misc.S (grub_stop): New function.
26462
41da9665 264632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26466 * kern/i386/realmode.S (real_to_prot): ... to here.
26467
bf337234 264682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26469
26470 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26471 with `kernel.img'.
26472 (kernel_elf_SOURCES): Rename to ...
26473 (kernel_img_SOURCES): ... this.
26474 (kernel_elf_HEADERS): Rename to ...
26475 (kernel_img_HEADERS): ... this. Update all users.
26476 (kernel_elf_ASFLAGS): Rename to ...
26477 (kernel_img_ASFLAGS): ... this.
26478 (kernel_elf_CFLAGS): Rename to ...
26479 (kernel_img_CFLAGS): ... this.
26480 (kernel_elf_LDFLAGS): Rename to ...
26481 (kernel_img_LDFLAGS): ... this.
26482 * conf/i386-coreboot.rmk: Likewise.
26483 * conf/powerpc-ieee1275.rmk: Likewise.
26484
26485 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26486 with "kernel.img".
26487
f52196ff 264882009-06-21 Pavel Roskin <proski@gnu.org>
26489
c3cee413 26490 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26491 to match nested functions.
26492 * loader/sparc64/ieee1275/linux.c: Likewise.
26493
f52196ff 26494 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26495
58750afc 264962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26497
26498 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26499 all i386 platforms.
26500
15355c7d 265012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26502
26503 Fix asm file handling on ELF, and remove workarounds.
26504
26505 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26506 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26507 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26508 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26509
3f3ec72b 265102009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26511
26512 Load BSD ELF modules
26513
26514 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26515 and loader/i386/bsd64.c
26516 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26517 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26518 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26519 (grub_freebsd_load_elfmodule32): New declaration
26520 (grub_freebsd_load_elfmoduleobj64): Likewise
26521 (grub_freebsd_load_elf_meta32): Likewise
26522 (grub_freebsd_load_elf_meta64): Likewise
26523 (grub_freebsd_add_meta): Likewise
26524 (grub_freebsd_add_meta_module): Likewise
26525 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26526 (grub_freebsd_add_meta_module): Likewise and move module-specific
26527 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26528 (grub_cmd_freebsd): Add elf-kernel specific parts
26529 based on grub_freebsd_add_meta_module
26530 (grub_cmd_freebsd_module): Add type parsing moved from
26531 grub_freebsd_add_meta_module
26532 (grub_cmd_freebsd_module_elf): New function
26533 (cmd_freebsd_module_elf): New variable
26534 (GRUB_MOD_INIT): Register freebsd_module_elf
26535 * loader/i386/bsd32.c: New file
26536 * loader/i386/bsd64.c: Likewise
26537 * loader/i386/bsdXX.c: Likewise
26538 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26539 (grub_elf64_load): Likewise
26540 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26541 All users updated
26542 (grub_elf64_load_hook_t): Likewise
26543
0db15301 265442009-06-21 Colin Watson <cjwatson@ubuntu.com>
26545
26546 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26547 variable.
26548 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26549 don't write a menu entry for recovery mode.
26550
546796c1 265512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26552
26553 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26554 after it's no longer needed.
26555
cd7310d5 265562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26557
26558 * include/grub/i386/loader.h (grub_linux_prot_size)
26559 (grub_linux_tmp_addr, grub_linux_real_addr)
26560 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26561 GRUB_MACHINE_PCBIOS.
26562 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26563 common grub_util_info() call to ...
26564 (generate_image): ... here.
26565 Fix use of uninitialized memory, comparison of signed with
26566 unsigned integers and memory leak.
26567 Remove bogus module address message.
26568
ab32d3b5 265692009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26570
26571 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26572 grub_raid_register
26573 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26574
024ef597 265752009-06-19 Pavel Roskin <proski@gnu.org>
26576
26577 * configure.ac: Remove stray AC_MSG_CHECKING.
26578
3ac72b51 265792009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26580
26581 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26582
e14cd814 265832009-06-18 Pavel Roskin <proski@gnu.org>
26584
26585 * conf/common.rmk: Add fs_file.mod.
26586 * disk/fs_file.c: New file.
26587 * include/grub/disk.h (enum grub_disk_dev_id): Add
26588 GRUB_DISK_DEVICE_FILE_ID.
26589
26586d98 265902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 Fix build with Apple's toolchain. Part 2
26593
26594 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26595 a fake start
26596
26de2bcd 265972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26598
26599 Fix build with Apple's toolchain. Part 1
26600
26601 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26602 for long calls
26603 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26604 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26605 Apple's toolchain
26606
09b3490b 266072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 Fix warnings
26610
26611 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26612 (decomp_block): initialize ch
26613 use grub_memcpy instead of memcpy
26614
c22a006a 266152009-06-17 Pavel Roskin <proski@gnu.org>
26616
d3638678 26617 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26618 version, use declarations needed to use vga_text as the startup
26619 console.
26620
c22a006a 26621 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26622 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26623 the kernel.
26624 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26625 and grub_at_keyboard_fini(), it's done on module load and
26626 unload.
26627
05b129e0 266282009-06-17 Felix Zielcke <fzielcke@z-51.de>
26629
26630 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26631 file can't be found.
26632 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26633
cf24ed9e 266342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26635
26636 Fix newline handling
26637
26638 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26639 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26640 (grub_script_yylex): don't segfault on unterminated script
26641 newline terminates command and variable
26642
74aa8e4b 266432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26644
26645 avoid double grub_adjust_range call. Bug reported by David Simner
26646
26647 * kern/disk.c (grub_disk_write): change to raw disk access before
26648 calling disk_read
26649
1bd265f3 266502009-06-17 Colin Watson <cjwatson@ubuntu.com>
26651
26652 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26653 spaces, for the benefit of help2man.
26654 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26655
a2d08c06 266562009-06-16 Pavel Roskin <proski@gnu.org>
26657
26658 * kern/i386/halt.c: Include grub/machine/init.h.
26659 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26660
b97bcb19 266612009-06-16 Felix Zielcke <fzielcke@z-51.de>
26662
26663 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26664 drivemap menuentry.
26665
0644f96c 266662009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26667
26668 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26669 `echo' command.
26670
3ef17a2e 266712009-06-16 Pavel Roskin <proski@gnu.org>
26672
26673 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26674 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26675 save %dx, we only need %dl and we never change it.
26676 * boot/i386/pc/cdboot.S: Don't set the root drive.
26677 * boot/i386/pc/pxeboot.S: Likewise.
26678 * include/grub/i386/pc/boot.h: Remove
26679 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26680 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26681 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26682 * kern/i386/pc/init.c (make_install_device): Remove references
26683 to grub_root_drive.
26684 * kern/i386/pc/startup.S: Likewise.
26685 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26686
693fe637 266872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26688
26689 xnu_uuid command
26690
26691 * commands/xnu_uuid.c: new file
26692 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26693 (xnu_uuid_mod_SOURCES): new variable
26694 (xnu_uuid_mod_CFLAGS): likewise
26695 (xnu_uuid_mod_LDFLAGS): likewise
26696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26697 * conf/i386-ieee1275.rmk: likewise
26698 * conf/i386-pc.rmk: likewise
26699 * conf/powerpc-ieee1275.rmk: likewise
26700 * conf/sparc64-ieee1275.rmk: likewise
26701 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26702
c9da87d0 267032009-06-16 Pavel Roskin <proski@gnu.org>
26704
26705 * configure.ac: Avoid '==' in test command, it's not portable.
26706
9c6f4596 267072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26708
26709 Probe command
26710
26711 * commands/probe.c: new file
26712 * conf/common.rmk (pkglib_MODULES): add probe.mod
26713 (probe_mod_SOURCES): new variable
26714 (probe_mod_CFLAGS): likewise
26715 (probe_mod_LDFLAGS): likewise
26716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26717 * conf/i386-ieee1275.rmk: likewise
26718 * conf/i386-pc.rmk: likewise
26719 * conf/powerpc-ieee1275.rmk: likewise
26720 * conf/sparc64-ieee1275.rmk: likewise
26721
70b7f9fd 267222009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26723
26724 Fix handling of string like \"hello\" and "a
26725 b"
26726
26727 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26728 (grub_script_yylex): fix parsing of quoting, escaping and newline
26729
71c79a6b 267302009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26731
dd74360c 26732 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26733 handling
dd74360c 26734
0644f96c 267352009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26736
26737 * util/grub-mkconfig.in: Fix parsing of --output option.
26738
e40893c3 267392009-06-12 Pavel Roskin <proski@gnu.org>
26740
26741 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26742 genmk.rb don't need to be generated or installed.
26743
3a1acfe2 267442009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26745
26746 * commands/i386/pc/drivemap_int13h.S: add more comments
26747
3a4575d4 267482009-06-11 Pavel Roskin <proski@gnu.org>
26749
0658e928 26750 * Makefile.in (uninstall): Uninstall manuals.
26751
ca0388f0 26752 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26753 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26754 and update-grub_lib in two places.
26755 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26756
e3b27c39 26757 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26758 a compiler warning.
26759
3a4575d4 26760 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26761 `entry_lo' to fix variable shadowing.
26762
af1f4f55 267632009-06-11 Christian Franke <franke@computer.org>
26764
26765 * kern/misc.c (__enable_execute_stack): Add missing return type
26766 to prevent gcc warning.
26767
5225e649 267682009-06-11 Felix Zielcke <fzielcke@z-51.de>
26769
26770 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26771
7d83bd47 267722009-06-11 Pavel Roskin <proski@gnu.org>
26773
c1cb63ba 26774 * Makefile.in: Don't rely on any scripts being executable.
26775 Always use $(SHELL) to run shell scripts.
26776
7d83bd47 26777 * configure.ac: Always define ___main if using -nostdlib. This
26778 fixes tests on Cygwin.
26779
948f48e7 267802009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26781
26782 UDF fix
26783
7d83bd47 26784 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26785 is in bytes and not in blocks
7d83bd47 26786
8ada9bc1 267872009-06-11 Pavel Roskin <proski@gnu.org>
26788
26789 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26790 warning.
26791
25ad2323 267922009-06-11 Felix Zielcke <fzielcke@z-51.de>
26793
26794 * util/grub.d/30_os-prober.in: Fix a comment. Source
26795 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26796 to set the root device. Place drivemap command in the generated
26797 chain entry.
26798
e65acb0c 267992009-06-11 Pavel Roskin <proski@gnu.org>
26800
26801 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26802 have long been resolved.
26803
f285fe2d 268042009-06-11 Colin Watson <cjwatson@ubuntu.com>
26805
bd47b0b5 26806 * util/grub.d/10_linux.in: Capitalise "Linux".
26807
f285fe2d 26808 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26809
a0c62e4e 268102009-06-11 Pavel Roskin <proski@gnu.org>
26811
b6783cb2 26812 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26813 fix a gcc warning and ensure that the function won't ever exit.
26814
dde032e8 26815 * kern/i386/ieee1275/init.c: Add missing prototype for
26816 grub_stop_floppy().
26817
22cd079d 26818 * loader/ieee1275/multiboot2.c [__i386__]: Include
26819 grub/cpu/multiboot.h.
26820
a0c62e4e 26821 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26822 casts to short - they are not portable and cause warnings. Fix
26823 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26824
63963d17 268252009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 Drivemap fixes
26828
26829 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26830 new function
26831 (grub_get_root_biosnumber_saved): new variable
26832 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26833 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26834 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26835 %dx after the call if necessary
26836 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26837 (boot_mod_SOURCES): remove
26838 (boot_mod_CFLAGS): remove
26839 (boot_mod_LDFLAGS): remove
26840 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26841 (boot_mod_SOURCES): new variable
26842 (boot_mod_CFLAGS): likewise
26843 (boot_mod_LDFLAGS): likewise
26844 * conf/i386-efi.rmk: likewise
26845 * conf/i386-ieee1275.rmk: likewise
26846 * conf/i386-pc.rmk: likewise
26847 * conf/powerpc-ieee1275.rmk: likewise
26848 * conf/sparc64-ieee1275.rmk: likewise
26849 * conf/x86_64-efi.rmk: likewise
26850 * include/grub/i386/pc/biosnum.h: new file
26851 * lib/i386/pc/biosnum.c: likewise
26852 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26853 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26854 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26855
33abf7ae 268562009-06-10 Pavel Roskin <proski@gnu.org>
26857
5ac35b35 26858 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26859 Use separate variables. Read only the file size at the end, but
26860 not the checksum that we don't use.
26861
5c5215d5 26862 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26863 Adjust all callers.
26864
27d5fef7 26865 * kern/ieee1275/openfw.c: Remove libc includes.
26866 * kern/ieee1275/cmain.c: Likewise.
26867 * include/grub/ieee1275/ieee1275.h: Likewise.
26868
33abf7ae 26869 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26870 compiler warnings.
26871
19d50c2b 268722009-06-10 Felix Zielcke <fzielcke@z-51.de>
26873
26874 * Makefile.in: Remove all trailing whitespace.
26875 * conf/i386-pc.rmk: Likewise.
26876 * conf/powerpc-ieee1275.rmk: Likewise.
26877 * conf/sparc64-ieee1275.rmk: Likewise.
26878 * docs/grub.texi: Likewise.
26879 * docs/texinfo.tex: Likewise.
26880 * disk/fs_uuid.c: Likewise.
26881 * disk/lvm.c: Likewise.
26882 * disk/scsi.c: Likewise.
26883 * disk/ata.c: Likewise.
26884 * disk/ieee1275/ofdisk.c: Likewise.
26885 * disk/i386/pc/biosdisk.c: Likewise.
26886 * disk/host.c: Likewise.
26887 * disk/raid.c: Likewise.
26888 * disk/efi/efidisk.c: Likewise.
26889 * disk/usbms.c: Likewise.
26890 * disk/memdisk.c: Likewise.
26891 * disk/loopback.c: Likewise.
26892 * kern/powerpc/dl.c: Likewise.
26893 * kern/device.c: Likewise.
26894 * kern/dl.c: Likewise.
26895 * kern/sparc64/dl.c: Likewise.
26896 * kern/ieee1275/ieee1275.c: Likewise.
26897 * kern/term.c: Likewise.
26898 * kern/fs.c: Likewise.
26899 * kern/i386/dl.c: Likewise.
26900 * kern/i386/pc/startup.S: Likewise.
26901 * kern/i386/pc/init.c: Likewise.
26902 * kern/i386/pc/mmap.c: Likewise.
26903 * kern/i386/pc/lzo1x.S: Likewise.
26904 * kern/i386/ieee1275/init.c: Likewise.
26905 * kern/i386/realmode.S: Likewise.
26906 * kern/i386/tsc.c: Likewise.
26907 * kern/partition.c: Likewise.
26908 * kern/corecmd.c: Likewise.
26909 * kern/file.c: Likewise.
26910 * kern/efi/efi.c: Likewise.
26911 * kern/efi/init.c: Likewise.
26912 * kern/efi/mm.c: Likewise.
26913 * kern/main.c: Likewise.
26914 * kern/err.c: Likewise.
26915 * kern/env.c: Likewise.
26916 * kern/disk.c: Likewise.
26917 * kern/generic/millisleep.c: Likewise.
26918 * kern/generic/rtc_get_time_ms.c: Likewise.
26919 * kern/misc.c: Likewise.
26920 * kern/parser.c: Likewise.
26921 * genmk.rb: Likewise.
26922 * configure.ac: Likewise.
26923 * boot/i386/pc/diskboot.S: Likewise.
26924 * boot/i386/pc/pxeboot.S: Likewise.
26925 * boot/i386/pc/boot.S: Likewise.
26926 * boot/i386/pc/lnxboot.S: Likewise.
26927 * boot/i386/pc/cdboot.S: Likewise.
26928 * parttool/pcpart.c: Likewise.
26929 * video/readers/tga.c: Likewise.
26930 * video/video.c: Likewise.
26931 * video/bitmap.c: Likewise.
26932 * lib/envblk.c: Likewise.
26933 * lib/i386/setjmp.S: Likewise.
26934 * fs/xfs.c: Likewise.
26935 * fs/afs.c: Likewise.
26936 * fs/fat.c: Likewise.
26937 * fs/ntfs.c: Likewise.
26938 * fs/udf.c: Likewise.
26939 * fs/affs.c: Likewise.
26940 * fs/iso9660.c: Likewise.
26941 * fs/hfs.c: Likewise.
26942 * fs/fshelp.c: Likewise.
26943 * fs/ext2.c: Likewise.
26944 * fs/jfs.c: Likewise.
26945 * fs/reiserfs.c: Likewise.
26946 * fs/hfsplus.c: Likewise.
26947 * fs/minix.c: Likewise.
26948 * fs/cpio.c: Likewise.
26949 * fs/sfs.c: Likewise.
26950 * fs/ufs.c: Likewise.
26951 * efiemu/prepare.c: Likewise.
26952 * efiemu/loadcore_common.c: Likewise.
26953 * efiemu/runtime/efiemu.sh: Likewise.
26954 * efiemu/runtime/efiemu.S: Likewise.
26955 * efiemu/runtime/efiemu.c: Likewise.
26956 * efiemu/pnvram.c: Likewise.
26957 * efiemu/main.c: Likewise.
26958 * efiemu/i386/pc/cfgtables.c: Likewise.
26959 * efiemu/i386/loadcore64.c: Likewise.
26960 * efiemu/i386/loadcore32.c: Likewise.
26961 * efiemu/loadcore.c: Likewise.
26962 * efiemu/symbols.c: Likewise.
26963 * efiemu/mm.c: Likewise.
26964 * include/grub/autoefi.h: Likewise.
26965 * include/grub/datetime.h: Likewise.
26966 * include/grub/term.h: Likewise.
26967 * include/grub/hfs.h: Likewise.
26968 * include/grub/lvm.h: Likewise.
26969 * include/grub/i386/tsc.h: Likewise.
26970 * include/grub/i386/linux.h: Likewise.
26971 * include/grub/i386/xnu.h: Likewise.
26972 * include/grub/i386/efiemu.h: Likewise.
26973 * include/grub/i386/pc/biosdisk.h: Likewise.
26974 * include/grub/i386/pc/memory.h: Likewise.
26975 * include/grub/i386/pc/vbe.h: Likewise.
26976 * include/grub/parttool.h: Likewise.
26977 * include/grub/video.h: Likewise.
26978 * include/grub/memory.h: Likewise.
26979 * include/grub/fs.h: Likewise.
26980 * include/grub/partition.h: Likewise.
26981 * include/grub/xnu.h: Likewise.
26982 * include/grub/efi/api.h: Likewise.
26983 * include/grub/efi/pe32.h: Likewise.
26984 * include/grub/efi/memory.h: Likewise.
26985 * include/grub/multiboot.h: Likewise.
26986 * include/grub/usbdesc.h: Likewise.
26987 * include/grub/multiboot2.h: Likewise.
26988 * include/grub/acpi.h: Likewise.
26989 * include/grub/efiemu/efiemu.h: Likewise.
26990 * include/grub/disk.h: Likewise.
26991 * include/grub/ieee1275/ieee1275.h: Likewise.
26992 * include/grub/net.h: Likewise.
26993 * include/grub/machoload.h: Likewise.
26994 * include/grub/macho.h: Likewise.
26995 * include/multiboot.h: Likewise.
26996 * genmoddep.awk: Likewise.
26997 * normal/main.c: Likewise.
26998 * normal/menu_entry.c: Likewise.
26999 * normal/menu_viewer.c: Likewise.
27000 * normal/completion.c: Likewise.
27001 * normal/cmdline.c: Likewise.
27002 * normal/misc.c: Likewise.
27003 * normal/datetime.c: Likewise.
27004 * bus/usb/usbtrans.c: Likewise.
27005 * bus/usb/ohci.c: Likewise.
27006 * bus/usb/uhci.c: Likewise.
27007 * bus/usb/usb.c: Likewise.
27008 * mmap/efi/mmap.c: Likewise.
27009 * mmap/i386/pc/mmap_helper.S: Likewise.
27010 * mmap/i386/pc/mmap.c: Likewise.
27011 * mmap/i386/mmap.c: Likewise.
27012 * mmap/i386/uppermem.c: Likewise.
27013 * mmap/mmap.c: Likewise.
27014 * commands/acpi.c: Likewise.
27015 * commands/echo.c: Likewise.
27016 * commands/blocklist.c: Likewise.
27017 * commands/loadenv.c: Likewise.
27018 * commands/usbtest.c: Likewise.
27019 * commands/boot.c: Likewise.
27020 * commands/parttool.c: Likewise.
27021 * commands/search.c: Likewise.
27022 * commands/cat.c: Likewise.
27023 * commands/i386/pc/play.c: Likewise.
27024 * commands/i386/pc/drivemap.c: Likewise.
27025 * commands/i386/pc/vbeinfo.c: Likewise.
27026 * commands/i386/pc/acpi.c: Likewise.
27027 * commands/i386/pc/vbetest.c: Likewise.
27028 * commands/ls.c: Likewise.
27029 * commands/cmp.c: Likewise.
27030 * commands/test.c: Likewise.
27031 * commands/efi/acpi.c: Likewise.
27032 * commands/gptsync.c: Likewise.
27033 * commands/help.c: Likewise.
27034 * partmap/amiga.c: Likewise.
27035 * partmap/apple.c: Likewise.
27036 * partmap/acorn.c: Likewise.
27037 * partmap/pc.c: Likewise.
27038 * partmap/sun.c: Likewise.
27039 * partmap/gpt.c: Likewise.
27040 * script/sh/lexer.c: Likewise.
27041 * script/sh/function.c: Likewise.
27042 * font/font.c: Likewise.
27043 * font/font_cmd.c: Likewise.
27044 * loader/powerpc/ieee1275/linux.c: Likewise.
27045 * loader/efi/chainloader.c: Likewise.
27046 * loader/multiboot_loader.c: Likewise.
27047 * loader/macho.c: Likewise.
27048 * loader/i386/multiboot.c: Likewise.
27049 * loader/i386/linux.c: Likewise.
27050 * loader/i386/pc/linux.c: Likewise.
27051 * loader/i386/pc/multiboot2.c: Likewise.
27052 * loader/i386/pc/chainloader.c: Likewise.
27053 * loader/i386/pc/xnu.c: Likewise.
27054 * loader/i386/bsd_trampoline.S: Likewise.
27055 * loader/i386/efi/linux.c: Likewise.
27056 * loader/i386/multiboot_elfxx.c: Likewise.
27057 * loader/i386/bsd_helper.S: Likewise.
27058 * loader/i386/bsd.c: Likewise.
27059 * loader/i386/linux_trampoline.S: Likewise.
27060 * loader/i386/xnu_helper.S: Likewise.
27061 * loader/i386/xnu.c: Likewise.
27062 * loader/i386/bsd_pagetable.c: Likewise.
27063 * loader/i386/multiboot_helper.S: Likewise.
27064 * loader/xnu.c: Likewise.
27065 * loader/xnu_resume.c: Likewise.
27066 * io/gzio.c: Likewise.
27067 * term/efi/console.c: Likewise.
27068 * term/terminfo.c: Likewise.
27069 * term/ieee1275/ofconsole.c: Likewise.
27070 * term/i386/pc/serial.c: Likewise.
27071 * term/i386/pc/vesafb.c: Likewise.
27072 * term/i386/pc/vga.c: Likewise.
27073 * term/usb_keyboard.c: Likewise.
27074 * term/gfxterm.c: Likewise.
27075 * aclocal.m4: Likewise.
27076 * util/lvm.c: Likewise.
27077 * util/grub.d/30_os-prober.in: Likewise.
27078 * util/grub.d/10_hurd.in: Likewise.
27079 * util/console.c: Likewise.
27080 * util/grub-macho2img.c: Likewise.
27081 * util/grub-probe.c: Likewise.
27082 * util/hostfs.c: Likewise.
27083 * util/i386/pc/grub-mkimage.c: Likewise.
27084 * util/i386/pc/grub-setup.c: Likewise.
27085 * util/i386/efi/grub-mkimage.c: Likewise.
27086 * util/grub-mkconfig.in: Likewise.
27087 * util/raid.c: Likewise.
27088 * util/resolve.c: Likewise.
27089 * util/grub-mkdevicemap.c: Likewise.
27090 * util/grub-emu.c: Likewise.
27091 * util/getroot.c: Likewise.
27092 * util/hostdisk.c: Likewise.
27093 * util/usb.c: Likewise.
27094 * util/grub-editenv.c: Likewise.
27095 * util/misc.c: Likewise.
27096
d2d49665 270972009-06-10 Felix Zielcke <fzielcke@z-51.de>
27098
27099 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27100 `genparttoollist.sh'.
27101 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27102 Add `*.sh' to the list find searches for and change `mdate.sh'
27103 to `mdate-sh'.
27104
fe052e37 271052009-06-10 Pavel Roskin <proski@gnu.org>
27106
2763ac18 27107 * include/grub/multiboot2.h: Provide compatibility defines for
27108 multiboot2.h.
27109 * include/multiboot2.h: Include stdint.h only if needed, using
27110 angle brackets.
27111 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27112 grub/multiboot2.h.
27113 * loader/ieee1275/multiboot2.c: Likewise.
27114 * loader/multiboot2.c: Likewise.
27115 * loader/multiboot_loader.c: Likewise.
27116
437e6adc 27117 * configure.ac: Use -nostdlib when probing for the target. It
27118 should not be required to have libc for the target.
27119
06a6836c 27120 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27121 they fail without libc headers for the target.
27122 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27123 exports.
27124 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27125 preprocessor conditionals.
27126
fe052e37 27127 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27128 build system doesn't need to be aware of the tar.c internals.
27129
afd22553 271302009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27131
afd22553 27132 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27133
6b787c4f 271342009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27135
27136 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27137 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27138
271392009-06-09 Felix Zielcke <fzielcke@z-51.de>
27140
27141 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27142 aren't available if ata.mod gets used.
6b787c4f 27143
473d1e45 271442009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27145
473d1e45 27146 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27147 initialising controller.
473d1e45 27148 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27149
255a27d4 271502009-06-08 Felix Zielcke <fzielcke@z-51.de>
27151
27152 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27153 to choose between ata and biosdisk module on i386-pc.
27154
473d1e45 271552009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27156
d55842d8 27157 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27158 Subclass and Programming Interface fields in terms of the 3 byte
27159 Class Code register.
27160 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27161
fa5db0b1 27162 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27163 interface is OHCI. Add grub_dprintf for symmetry with
27164 bus/usb/uhci.c.
27165 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27166 interface is UHCI. Add interf variable for programming
27167 interface. Print interface with class/subclass.
27168
c0947beb 27169 * bus/usb/ohci.c: Set interf with correct field.
27170
69da8877 27171 * bus/usb/uhci.c: Remove unneeded doubled lines.
27172 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27173 Remove whitespace inside comment.
27174
9e172e30 271752009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27176
27177 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27178 as fallback an equivalent option without depth.
27179
de65ee2b 271802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 Not fail if unable to retrieve C/H/S on LBA disks
27183
473d1e45 27184 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27185 if unable to retrieve C/H/S on LBA disks
27186
b57ea2c9 271872009-06-08 Pavel Roskin <proski@gnu.org>
27188
27189 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27190 about aliasing.
27191
af361263 271922009-06-08 Felix Zielcke <fzielcke@z-51.de>
27193
27194 * Makefile.in (uninstall): Remove all $lib_DATA files.
27195
4c9ec6b3 271962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27197
27198 Bugfix: install on partitionless device
27199
27200 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27201 is a whole disk
27202
e76fc924 272032009-06-08 Felix Zielcke <fzielcke@z-51.de>
27204
27205 * Makefile.in (uninstall): Remove all $include_DATA files.
27206
ba5a0d05 272072009-06-08 Felix Zielcke <fzielcke@z-51.de>
27208
27209 * commands/true.c: New file. Implement the true and false commands.
27210 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27211 (true_mod_SOURCES): New variable.
27212 (true_mod_CFLAGS): Likewise.
27213 (true_mod_LDFLAGS): Likewise.
27214
c8048e32 272152009-06-05 Colin D Bennett <colin@gibibit.com>
27216
27217 Optimized font character lookup using binary search instead of linear
27218 search. Fonts now are required to have the character index ordered by
27219 code point.
27220
27221 * font/font.c (load_font_index): Verify that fonts have ordered
27222 character indices.
27223 (find_glyph): Use binary search instead of linear search to find a
27224 character in a font.
27225
408305be 272262009-06-05 Michael Scherer <misc@mandriva.org>
27227
27228 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27229 uses case sensitive btree.
27230 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27231 only for case insensitive filesystems.
27232
8ee1e0d9 272332009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27234
27235 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27236 * conf/common.rmk (search_mod_CFLAGS): likewise
27237
a9966eb1 272382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27239
473d1e45 27240 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27241 compensate a compiler bug
27242
9e7100fb 272432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27244
473d1e45 27245 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27246 instead of '\b'
473d1e45 27247
ede21d71 272482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 Definitions for creating asm symbols with Apple's CC
27251
27252 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27253 [APPLE_CC] (VARIABLE): likewise
27254
9dbf7653 272552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27256
27257 Disable lnxboot.img when compiled
27258 with Apple's CC
27259
27260 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27261 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27262 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27263 [! APPLE_CC] (CODE_LENG): skip
27264 [! APPLE_CC] (setup_sects): likewise
27265 [! APPLE_CC]: skip filling
473d1e45 27266
e93cdc3d 272672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27268
27269 Address in trampolines based on 32-bit registers when compiled
27270 with Apple's CC
27271
473d1e45 27272 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27273 for addresses
27274 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27275
6c688477 272762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27277
27278 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27279
27280 * kern/misc.c [APPLE_CC] (memcpy): new function
27281 [APPLE_CC] (memmove): likewise
27282 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27283 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27284 (memset): likewise
27285 (abort): likewise
27286 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27287 APPLE_CC are defined
27288 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27289 (grub_assert_fail): make prototype conditional
27290
e37ffc5c 272912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27294
473d1e45 27295 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27296 grub-macho2img
e37ffc5c 27297 (CLEANFILES): add grub-macho2img
27298 (grub_macho2img_SOURCES): new variable
27299 * kern/i386/pc/startup.S (bss_start): new variable
27300 (bss_end): likewise
27301 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27302 * util/grub-macho2img.c: new file
27303
cf00df31 273042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27305
27306 Use objconv when compiling with Apple's CC
27307
27308 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27309 (efiemu64.o): likewise
27310 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27311 when compiling with Apple's CC
27312 (efiemu64_s.o): likewise
27313 * configure.ac: check for objconv when compiling with Apple's CC
27314 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27315
d119a20c 273162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 Define segment as well as section when compiling with
27319 Apple's CC
27320
27321 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27322 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27323 (efiemu_convert_pointer): likewise
27324 (efiemu_set_virtual_address_map): likewise
27325 (efiemu_convert_pointer): likewise
27326 (efiemu_getcrc32): likewise
27327 (init_crc32_table): likewise
27328 (reflect): likewise
27329 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27330 (GRUB_MOD_DEP): likewise
473d1e45 27331
c8600122 273322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 Allow a compilation without -mcmodel=large
27335
27336 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27337 when compiled without -mcmodel=large
473d1e45 27338 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27339 without -mcmodel=large
473d1e45 27340 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27341 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27342
e8df1d4e 273432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27344
27345 Remove nested functions in efiemu core
27346
27347 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27348
cc6c3ac1 273492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27350
27351 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27352
27353 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27354 temporary storage
473d1e45 27355 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27356 using Apple's CC
cc6c3ac1 27357 (grub_cpu_is_tsc_supported): likewise
27358 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27359
3e325901 273602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 Absolute addressing through constant with Apple's cc
27363
27364 * kern/i386/pc/startup.S: Define necessary constants
27365 and address through it when using ABS with Apple's CC
27366 * boot/i386/pc/diskboot.S: likewise
27367 * boot/i386/pc/boot.S: likewise
27368 * boot/i386/pc/lnxboot.S: likewise
27369 * boot/i386/pc/cdboot.S: likewise
27370 * mmap/i386/pc/mmap_helper.S: likewise
27371 * commands/i386/pc/drivemap_int13h.S: likewise
27372
2b167a72 273732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27374
27375 Check if compiler is apple cc
27376
27377 * Makefile.in (ASFLAGS): new variable
27378 (TARGET_ASFLAGS): likewise
27379 (TARGET_MODULE_FORMAT): likewise
27380 (TARGET_APPLE_CC): likewise
27381 (OBJCONV): likewise
27382 (TARGET_IMG_CFLAGS): likewise
27383 (TARGET_CPPFLAGS): add includedir
27384 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27385 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27386 Check for linker script only if compiler isn't Apple's CC
27387 (TARGET_MODULE_FORMAT): set
27388 (TARGET_APPLE_CC): likewise
27389 (TARGET_ASFLAGS): likewise
27390 (ASFLAGS): likewise
27391 Check for objcopy only if compiler isn't Apple's CC
27392 Check for BSS symbol only if compiler isn't Apple's CC
27393 * genmk.rb: adapt nm options if we use Apple's utils
27394 * aclocal.m4 (grub_apple_cc): new test
27395 (grub_apple_target_cc): likewise
473d1e45 27396
fb14123e 273972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27398
27399 Simplify sed expressions and improve awk
27400
27401 * Makefile.in (install-local): simplify sed expression
27402 * gencmdlist.sh: likewise
27403 * genmoddep.awk: avoid adding module as a dependency of itself
27404
5b889789 274052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27406
27407 Add missing start symbols
27408
27409 * boot/i386/pc/boot.S: add start
fb14123e 27410 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27411
fd2bf2e3 274122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27413
27414 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27415
27416 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27417 (relocate_addresses): consider both r_addend and value at offset
27418 (make_mods_section): zerofill modinfo and header
27419 (convert_elf): write prefix here
473d1e45 27420
5389763d 274212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27422
27423 Use .asciz instead of .string
27424
27425 * i386/pc/diskboot.S: use .asciz instead of .string
27426 * i386/pc/boot.S: likewise
27427 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27428 (GRUB_MOD_NAME): likewise
473d1e45 27429
3eb5ed4e 274302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27431
27432 gfxpayload support
27433
27434 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27435 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27436 (grub_video_setup): remove
27437 (grub_video_set_mode): new prototype
27438 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27439 (vid_mode): remove
27440 (linux_vesafb_res): compile only on PCBIOS
27441 (grub_linux_boot): support gfxpayload
27442 * loader/i386/pc/xnu.c (video_hook): new function
27443 (grub_xnu_set_video): support gfxpayload
27444 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27445 (DEFAULT_VIDEO_HEIGHT): likewise
27446 (DEFAULT_VIDEO_FLAGS): likewise
27447 (DEFAULT_VIDEO_MODE): new definition
27448 (video_hook): new function
27449 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27450 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27451 loading xnu
27452 * video/video.c (grub_video_setup): removed
473d1e45 27453 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27454 grub_video_setup
27455
4b0e1143 274562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27457
27458 Avoid calling biosdisk in drivemap
27459
27460 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27461 (revparse_biosdisk): likewise
27462 (list_mappings): derive name from id directly
27463 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27464
fda6cb98 274652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27466
27467 Script fixes
27468
27469 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27470 (grub_lexer_param): add tokenonhold
27471 (grub_script_create_cmdline): remove cmdline. All callers updated
27472 (grub_script_function_create): make functionname
27473 grub_script_arg. All callers updated
27474 (grub_script_execute_argument_to_string): new prototype
27475 * kern/parser.c (state_transitions): reorder
27476 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27477 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27478 make global
27479 (grub_script_execute_cmdline): use new format
27480 * script/sh/function.c (grub_script_function_create): make functionname
27481 grub_script_arg. All callers updated
473d1e45 27482 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27483 (grub_script_yylex): remove
27484 (grub_script_yylex2): renamed to ...
27485 (grub_script_yylex): ...renamed
27486 parse the expressions like a${b}c
27487 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27488 (GRUB_PARSER_TOKEN_VAR): remove
27489 (GRUB_PARSER_TOKEN_NAME): likewise
27490 ("if"): declare as typeless
27491 ("while"): likewise
27492 ("function"): likewise
27493 ("else"): likewise
27494 ("then"): likewise
27495 ("fi"): likewise
27496 (text): remove
27497 (argument): likewise
27498 (script): accept empty scripts and make exit on error
27499 (arguments): use GRUB_PARSER_TOKEN_ARG
27500 (function): likewise
27501 (command): move error handling to script
27502 (menuentry): move grub_script_lexer_ref before
473d1e45 27503 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27504 argument. All callers updated
27505
f4448a07 275062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27507
27508 Prevent GRUB from probing floppies during boot.
27509
27510 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27511 * commands/search.c (options): Add --no-floppy.
27512 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27513 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27514 --no-floppy when searching for UUIDs.
27515
2bf5885a 275162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27517
27518 Simplify the code duplication in commands/search.c.
27519
27520 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27521 (search_fs): ... this. Update all users.
27522
f6fd460a 275232009-06-03 Felix Zielcke <fzielcke@z-51.de>
27524
27525 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27526
cbb3c83e 275272009-05-28 Pavel Roskin <proski@gnu.org>
27528
57788cfd 27529 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27530 Remove the original symlink explicitly.
27531
cbb3c83e 27532 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27533 just one slash. That's how grub_fshelp_find_file() does it.
27534
cd0d5e30 275352009-05-26 Pavel Roskin <proski@gnu.org>
27536
f0f8bbe2 27537 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27538 to `str'.
27539
cd0d5e30 27540 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27541 possibly unused.
27542
8c2cab51 275432009-05-25 Christian Franke <franke@computer.org>
27544
27545 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27546 register.
27547 (grub_atapi_identify): Add wait after drive select.
27548 (grub_ata_identify): Do more strict status register check before
27549 calling grub_atapi_identify (). Suppress error message if status
27550 register is 0x00 after command failure. Add status register
27551 check after PIO read to avoid bogus identify due to stuck DRQ.
27552 Thanks to Pavel Roskin for testing.
27553 (grub_device_initialize): Remove unsafe status register check.
27554 Thanks to 'phcoder' for problem report and patch.
27555 Prevent sign extension in debug message.
27556
230c0ad6 275572009-05-23 Colin D Bennett <colin@gibibit.com>
27558
27559 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27560 definition file, and functions defined in `normal/menu.c' have had
27561 their prototypes moved to `include/grub/menu.h' for consistency.
27562
27563 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27564 from normal.h.
27565 (grub_menu_get_entry): Likewise.
27566 (grub_menu_get_timeout): Likewise.
27567 (grub_menu_set_timeout): Likewise.
27568 (grub_menu_execute_entry): Likewise.
27569 (grub_menu_execute_with_fallback): Likewise.
27570 (grub_menu_entry_run): Likewise.
27571
27572 * include/grub/normal.h: Re-ordered and grouped function
27573 prototypes by file that the function is defined in.
27574 (grub_menu_execute_callback): Removed; moved to menu.h.
27575 (grub_menu_get_entry): Likewise.
27576 (grub_menu_get_timeout): Likewise.
27577 (grub_menu_set_timeout): Likewise.
27578 (grub_menu_execute_entry): Likewise.
27579 (grub_menu_execute_with_fallback): Likewise.
27580 (grub_menu_entry_run): Likewise.
27581 (grub_menu_addentry): Renamed from this ...
27582 (grub_normal_add_menu_entry): ... to this.
27583
27584 * normal/main.c (grub_menu_addentry): Renamed from this ...
27585 (grub_normal_add_menu_entry): ... to this.
27586
27587 * script/sh/execute.c (grub_script_execute_menuentry): Update
27588 reference to renamed grub_menu_addentry function.
27589
861f03a5 275902009-05-23 Felix Zielcke <fzielcke@z-51.de>
27591
27592 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27593
96b1619a 275942009-05-22 Pavel Roskin <proski@gnu.org>
27595
bf6a5fb2 27596 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27597 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27598 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27599 compiling for the i386 targets, but not for the utilities.
27600
96b1619a 27601 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27602 to grub_uint8_t.
27603 (grub_root_drive): Likewise.
27604 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27605 remove alignment.
27606 (grub_root_drive): Change size to byte.
27607 (grub_start_addr): Remove.
27608 (grub_end_addr): Likewise.
27609 (grub_apm_bios_info): Likewise.
27610
b729776b 276112009-05-21 Felix Zielcke <fzielcke@z-51.de>
27612
27613 * normal/i386: Remove.
27614 * normal/powerpc: Likewise.
27615 * normal/sparc64: Likewise.
27616 * normal/x86_64: Likewise.
27617
0a15ce80 276182009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27621 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27622 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27623
33db9015 276242009-05-18 Colin D Bennett <colin@gibibit.com>
27625
d6da58e6 27626 Display error messages when parsing a Lua statement fails.
27627 Previously, executing a syntactically invalid statement like
27628 ")foo" or "bar;" would silently fail.
33db9015 27629
27630 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27631 (grub_lua_parse_line): Improved reporting of Lua parser and
27632 execution errors.
33db9015 27633
46422c89 276342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 Remove -Werror which causes build to fail on some systems
27637
27638 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27639 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27640 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27641
22f53a96 276422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 trampoline for linux on 64-bit platform
27645
18f547ad 27646 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27647 loader/i386/efi/linux_trampoline.S
27648 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27649 declaration
d6da58e6 27650 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27651 here
22f53a96 27652 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27653 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27654 trampoline
22f53a96 27655 (jumpvector): removed
27656 (grub_linux_trampoline_start): new declaration
27657 (grub_linux_trampoline_end): likewise
27658 (grub_linux_boot): use trampoline when on 64-bit platform
27659 * loader/i386/linux.c: likewise
27660
cb5a0f40 276612009-05-16 Pavel Roskin <proski@gnu.org>
27662
27663 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27664 const to avoid a warning.
27665 (grub_lua_setenv): Likewise.
27666 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27667 lmsg to fix a warning.
27668
334f2c28 276692009-05-16 Felix Zielcke <fzielcke@z-51.de>
27670
27671 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27672 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27673 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27674 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27675 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27676 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27677 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27678 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27679
59e5d3ec 276802009-05-16 Felix Zielcke <fzielcke@z-51.de>
27681
27682 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27683
9d87a1ba 276842009-05-16 Bean <bean123ch@gmail.com>
27685
27686 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27687 (lua_mod_SOURCES): New variable.
27688 (lua_mod_CFLAGS): Likewise.
27689 (lua_mod_LDFLAGS): Likewise.
27690
27691 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27692 (setjmp_mod_SOURCES): New variable.
27693 (setjmp_mod_CFLAGS): Likewise.
27694 (setjmp_LDFLAGS): Likewise.
27695
27696 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27697 (setjmp_mod_SOURCES): New variable.
27698 (setjmp_mod_CFLAGS): Likewise.
27699 (setjmp_LDFLAGS): Likewise.
27700
27701 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27702 (setjmp_mod_SOURCES): New variable.
27703 (setjmp_mod_CFLAGS): Likewise.
27704 (setjmp_LDFLAGS): Likewise.
27705
27706 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27707 (setjmp_mod_SOURCES): New variable.
27708 (setjmp_mod_CFLAGS): Likewise.
27709 (setjmp_LDFLAGS): Likewise.
27710
27711 * normal/i386/setjmp.S: Moved from here ...
27712 * lib/i386/setjmp.S: ... Moved here
27713 * normal/x86_64/setjmp.S: Moved from here ...
27714 * lib/x86_64/setjmp.S: ... Moved here
27715 * normal/powerpc/setjmp.S: Moved from here ...
27716 * lib/powerpc/setjmp.S: ... Moved here
27717 * normal/sparc64/setjmp.S: Moved from here ...
27718 * lib/sparc64/setjmp.S: ... Moved here
27719
27720 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27721 returns_twice in mingw.
27722
27723 * script/lua/grub_lib.c: New file.
27724 * script/lua/grub_lib.h: Likewise.
27725 * script/lua/grub_lua.h: Likewise.
27726 * script/lua/grub_main.c: Likewise.
27727 * script/lua/lapi.c: Likewise.
27728 * script/lua/lapi.h: Likewise.
27729 * script/lua/lauxlib.c: Likewise.
27730 * script/lua/lauxlib.h: Likewise.
27731 * script/lua/lbaselib.c: Likewise.
27732 * script/lua/lcode.c: Likewise.
27733 * script/lua/lcode.h: Likewise.
27734 * script/lua/ldblib.c: Likewise.
27735 * script/lua/ldebug.c: Likewise.
27736 * script/lua/ldebug.h: Likewise.
27737 * script/lua/ldo.c: Likewise.
27738 * script/lua/ldo.h: Likewise.
27739 * script/lua/ldump.c: Likewise.
27740 * script/lua/lfunc.c: Likewise.
27741 * script/lua/lfunc.h: Likewise.
27742 * script/lua/lgc.c: Likewise.
27743 * script/lua/lgc.h: Likewise.
27744 * script/lua/linit.c: Likewise.
27745 * script/lua/liolib.c: Likewise.
27746 * script/lua/llex.c: Likewise.
27747 * script/lua/llex.h: Likewise.
27748 * script/lua/llimits.h: Likewise.
27749 * script/lua/lmathlib.c: Likewise.
27750 * script/lua/lmem.c: Likewise.
27751 * script/lua/lmem.h: Likewise.
27752 * script/lua/loadlib.c: Likewise.
27753 * script/lua/lobject.c: Likewise.
27754 * script/lua/lobject.h: Likewise.
27755 * script/lua/lopcodes.c: Likewise.
27756 * script/lua/lopcodes.h: Likewise.
27757 * script/lua/loslib.c: Likewise.
27758 * script/lua/lparser.c: Likewise.
27759 * script/lua/lparser.h: Likewise.
27760 * script/lua/lstate.c: Likewise.
27761 * script/lua/lstate.h: Likewise.
27762 * script/lua/lstring.c: Likewise.
27763 * script/lua/lstring.h: Likewise.
27764 * script/lua/lstrlib.c: Likewise.
27765 * script/lua/ltable.c: Likewise.
27766 * script/lua/ltable.h: Likewise.
27767 * script/lua/ltablib.c: Likewise.
27768 * script/lua/ltm.c: Likewise.
27769 * script/lua/ltm.h: Likewise.
27770 * script/lua/lua.h: Likewise.
27771 * script/lua/luaconf.h: Likewise.
27772 * script/lua/lualib.h: Likewise.
27773 * script/lua/lundump.c: Likewise.
27774 * script/lua/lundump.h: Likewise.
27775 * script/lua/lvm.c: Likewise.
27776 * script/lua/lvm.h: Likewise.
27777 * script/lua/lzio.c: Likewise.
27778 * script/lua/lzio.h: Likewise.
27779
5e898c9d 277802009-05-16 Bean <bean123ch@gmail.com>
27781
27782 * include/grub/kernel.h (grub_module_header_types): Add type
27783 OBJ_TYPE_CONFIG.
27784
27785 * kern/main.c (grub_load_config): New function.
27786 (grub_main): Call grub_load_config to read boot config.
27787
27788 * grub-mkimage (generate_image): New parameter config_path.
27789 (options): New option --config.
27790 (main): Parse --config option, and pass it to generate_image.
27791
cf353a47 277922009-05-14 Christian Franke <franke@computer.org>
27793
27794 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27795 This fixes build on Cygwin.
27796
3834887f 277972009-05-14 Pavel Roskin <proski@gnu.org>
27798
27799 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27800 jump. This saves two bytes, so the typical case of 2 swapped
27801 drives would fit 32 bytes.
27802
8090fc01 278032009-05-13 Pavel Roskin <proski@gnu.org>
27804
ac963883 27805 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27806 grub_uint32_t to avoid a warning.
27807
8090fc01 27808 * loader/i386/linux.c (allocate_pages): When assigning
27809 real_mode_mem, cast through grub_size_t to fix a warning. The
27810 code already makes sure that the value would fit a pointer.
27811 (grub_linux_setup_video): Cast render_target->data to
27812 grub_size_t to fix a warning.
27813
18f547ad 278142009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27815
27816 * commands/i386/pc/drivemap.c: New file - implement drivemap
27817 command.
27818 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27819 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27820
6f6a8b28 278212009-05-13 Pavel Roskin <proski@gnu.org>
27822
27823 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27824 embedding_area_exists.
27825
15fbf4c4 278262009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27827
27828 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27829 it easier to understand / work with.
59978c8a 27830 Improve warning messages for cases where there's no embedding area,
27831 or when it is too small (or core.img too large).
15fbf4c4 27832
238e871f 278332009-05-13 Pavel Roskin <proski@gnu.org>
27834
0ab3a9a4 27835 * loader/i386/pc/multiboot2.c: Add necessary includes for
27836 grub_multiboot2_real_boot().
27837
a2c8c5f8 27838 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27839 PX record is always little-endian. We only need the lower 2
27840 bytes of the mode.
27841
faec96af 27842 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27843 facilitate code reuse.
27844 (grub_cpio_mount): Use "struct head", not a char buffer. This
27845 fixes a warning reported by gcc 4.4.
27846
238e871f 27847 * kernel/disk.c (grub_disk_read): Use void pointer for the
27848 buffer.
27849 (grub_disk_write): Use const void pointer for the buffer.
27850 Adjust all callers. Remove unnecessary casts.
27851
901d2f0c 278522009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27853
27854 * util/i386/pc/grub-install.in: Update copyright year.
27855
18f547ad 278562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27857
27858 gptsync
27859
27860 * commands/gptsync.c: new file
27861 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27862 (gptsync_mod_SOURCES): new variable
27863 (gptsync_mod_CFLAGS): likewise
27864 (gptsync_mod_LDFLAGS): likewise
18f547ad 27865 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27866 new definition
27867 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27868 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27869 * conf/i386-ieee1275.rmk: likewise
27870 * conf/i386-pc.rmk: likewise
27871 * conf/powerpc-ieee1275.rmk: likewise
27872
b4ba690a 278732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27874
27875 Fixed grub-emu
27876
27877 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27878 (grub_dl_ref): likewise
27879
317e1a44 278802009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27881
27882 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27883 split in two functions (one for msdos and one for gpt).
27884
041b8094 278852009-05-08 Pavel Roskin <proski@gnu.org>
27886
752473c2 27887 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27888 not modified.
27889
041b8094 27890 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27891 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27892 Initialize them with -1. Add sanity check for bad1. Eliminate
27893 nerr variable.
27894
172800ce 278952009-05-08 David S. Miller <davem@davemloft.net>
27896
27897 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27898
29aa5e81 278992009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27900
27901 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27902 existence.
29aa5e81 27903
96613b62 279042009-05-05 Felix Zielcke <fzielcke@z-51.de>
27905
27906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27907 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27908
eef73c8a 279092009-05-05 David S. Miller <davem@davemloft.net>
27910
27911 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27912
119494b5 279132009-05-05 Pavel Roskin <proski@gnu.org>
27914
27915 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27916 of grub_dl_ref() and grub_dl_unref().
27917 * commands/parttool.c: Remove preprocessor conditionals around
27918 grub_dl_ref() and grub_dl_unref().
27919 * fs/affs.c: Likewise.
27920 * fs/afs.c: Likewise.
27921 * fs/cpio.c: Likewise.
27922 * fs/ext2.c: Likewise.
27923 * fs/fat.c: Likewise.
27924 * fs/hfs.c: Likewise.
27925 * fs/hfsplus.c: Likewise.
27926 * fs/iso9660.c: Likewise.
27927 * fs/jfs.c: Likewise.
27928 * fs/minix.c: Likewise.
27929 * fs/ntfs.c: Likewise.
27930 * fs/reiserfs.c: Likewise.
27931 * fs/sfs.c: Likewise.
27932 * fs/udf.c: Likewise.
27933 * fs/ufs.c: Likewise.
27934 * fs/xfs.c: Likewise.
27935 * include/grub/dl.h: Likewise.
27936 * loader/xnu.c: Likewise.
27937
de5fd76e 279382009-05-04 Pavel Roskin <proski@gnu.org>
27939
27940 * commands/acpi.c: Remove unused variable my_mod.
27941 * partmap/amiga.c: Likewise.
27942 * partmap/apple.c: Likewise.
27943 * partmap/gpt.c: Likewise.
27944 * partmap/pc.c: Likewise.
27945 * partmap/sun.c: Likewise.
27946 * term/gfxterm.c: Likewise.
27947 * term/i386/pc/vesafb.c: Likewise.
27948 * term/i386/pc/vga.c: Likewise.
27949
983598ad 279502009-05-04 David S. Miller <davem@davemloft.net>
27951
27952 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27953 pointer args to grub_ieee1275_get_property().
27954
8aadec43 27955 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27956
9554b15e 27957 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27958 devices, and do not traverse down under controller nodes.
27959
67e23c90 27960 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27961 (grub_ofdisk_open): Use it to un-escape "," characters.
27962 * kern/disk.c (find_part_sep): New.
27963 (grub_disk_open): Use it to find the first non-escaped ','
27964 character in the disk name.
27965 * util/ieee1275/devicemap.c (escape_of_path): New.
27966 (grub_util_emit_devicemap_entry): Use it.
27967 * util/sparc64/ieee1275/grub-install.in: Update script to
27968 strip partition specifiers properly by not triggering on
27969 '\' escaped ',' characters.
27970
74bfdd2f 279712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27972
27973 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27974 to 0x300.
27975 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27976 resolutions.
27977 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27978 on documentation from Wikipedia).
27979
4241d2b1 279802009-05-04 Pavel Roskin <proski@gnu.org>
27981
27982 * disk/ata.c: Spelling fixes.
27983 * disk/raid.c: Likewise.
27984 * disk/usbms.c: Likewise.
27985 * disk/dmraid_nvidia.c: Likewise.
27986 * kern/ieee1275/openfw.c: Likewise.
27987 * kern/ieee1275/init.c: Likewise.
27988 * kern/ieee1275/cmain.c: Likewise.
27989 * boot/i386/pc/cdboot.S: Likewise.
27990 * video/readers/png.c: Likewise.
27991 * video/i386/pc/vbe.c: Likewise.
27992 * fs/udf.c: Likewise.
27993 * fs/hfs.c: Likewise.
27994 * fs/reiserfs.c: Likewise.
27995 * efiemu/runtime/efiemu.c: Likewise.
27996 * efiemu/main.c: Likewise.
27997 * efiemu/mm.c: Likewise.
27998 * include/grub/elf.h: Likewise.
27999 * include/grub/xnu.h: Likewise.
28000 * include/grub/usbdesc.h: Likewise.
28001 * include/grub/usb.h: Likewise.
28002 * include/grub/script_sh.h: Likewise.
28003 * include/grub/lib/LzmaEnc.h: Likewise.
28004 * include/grub/efiemu/efiemu.h: Likewise.
28005 * include/grub/command.h: Likewise.
28006 * normal/menu.c: Likewise.
28007 * normal/main.c: Likewise.
28008 * normal/datetime.c: Likewise.
28009 * bus/usb/uhci.c: Likewise.
28010 * mmap/i386/uppermem.c: Likewise.
28011 * mmap/mmap.c: Likewise.
28012 * commands/acpi.c: Likewise.
28013 * commands/test.c: Likewise.
28014 * partmap/apple.c: Likewise.
28015 * font/font.c: Likewise.
28016 * loader/sparc64/ieee1275/linux.c: Likewise.
28017 * loader/macho.c: Likewise.
28018 * loader/i386/bsd_trampoline.S: Likewise.
28019 * loader/i386/bsd.c: Likewise.
28020 * loader/xnu.c: Likewise.
28021 * term/i386/pc/vesafb.c: Likewise.
28022 * term/usb_keyboard.c: Likewise.
28023 * util/resolve.c: Likewise.
28024 * util/getroot.c: Likewise.
28025
0cfc0083 280262009-05-04 Felix Zielcke <fzielcke@z-51.de>
28027
28028 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28029
7c1d00cd 280302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28033 build error.
28034
b01f0548 280352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28036
28037 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28038 parameter only available on BIOS.
28039
ecc3eb22 280402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28041
28042 Removed wrong semicolon in declaration
28043
28044 * grub/misc.h (grub_dprintf): remove semicolon
28045
112972a9 280462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28047
28048 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28049 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28050 is done by grub_cmd_linux() now).
28051 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28052 restore video to text mode.
28053 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28054 indicates lack of "vga=" parameter. "vga=0" is mapped to
28055 `GRUB_LINUX_VID_MODE_NORMAL'.
28056
afd5c115 280572009-05-04 Felix Zielcke <fzielcke@z-51.de>
28058
28059 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28060 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28061 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28062 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28063 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28064 `grub_script.tab.c'.
28065
28066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28067 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28071
faa517ce 28072 * Makefile.in: Remove duplicated 2008 in Copyright line.
28073
ae0c0bdc 280742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28075
473d1e45 28076 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28077 unconditionally.
28078 * include/grub/util/misc.h (grub_util_warn): New declaration.
28079
28080 * util/i386/pc/grub-install.in: Understand --force and pass it down
28081 to grub-setup.
28082
28083 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28084 down to setup().
28085 (setup): Improve error messages and add warnings when requested to
28086 install in odd layouts. Refuse to install using blocklists unless
28087 --force was set.
28088
18f547ad 280892009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28090
28091 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28092
6d260daa 280932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28094
28095 Updated copyright year
28096
28097 * fs/hfsplus.c: updated copyright year
18f547ad 28098
69f853f8 280992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 HFS+ UUID
28102
18f547ad 28103 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28104 in the space previously used by unused3
28105 (grub_hfsplus_uuid): new function
28106 (grub_hfsplus_fs): added uuid field
28107
4c402e73 281082009-05-03 Pavel Roskin <proski@gnu.org>
28109
28110 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28111 suppress warnings. It's no longer needed.
28112 * disk/host.c: Likewise.
28113 * disk/ata_pthru.c: Likewise.
28114 * disk/loopback.c: Likewise.
28115 * hook/datehook.c: Likewise.
28116 * parttool/pcpart.c: Likewise.
28117 * fs/i386/pc/pxe.c: Likewise.
28118 * fs/ntfscomp.c: Likewise.
28119 * efiemu/main.c: Likewise.
28120 * mmap/mmap.c: Likewise.
28121 * commands/crc.c: Likewise.
28122 * commands/hexdump.c: Likewise.
28123 * commands/hdparm.c: Likewise.
28124 * commands/acpi.c: Likewise.
28125 * commands/echo.c: Likewise.
28126 * commands/minicmd.c: Likewise.
28127 * commands/blocklist.c: Likewise.
28128 * commands/memrw.c: Likewise.
28129 * commands/loadenv.c: Likewise.
28130 * commands/usbtest.c: Likewise.
28131 * commands/lsmmap.c: Likewise.
28132 * commands/boot.c: Likewise.
28133 * commands/parttool.c: Likewise.
28134 * commands/configfile.c: Likewise.
28135 * commands/search.c: Likewise.
28136 * commands/ieee1275/suspend.c: Likewise.
28137 * commands/cat.c: Likewise.
28138 * commands/i386/pc/pxecmd.c: Likewise.
28139 * commands/i386/pc/play.c: Likewise.
28140 * commands/i386/pc/halt.c: Likewise.
28141 * commands/i386/pc/vbeinfo.c: Likewise.
28142 * commands/i386/pc/vbetest.c: Likewise.
28143 * commands/lspci.c: Likewise.
28144 * commands/date.c: Likewise.
28145 * commands/handler.c: Likewise.
28146 * commands/ls.c: Likewise.
28147 * commands/test.c: Likewise.
28148 * commands/cmp.c: Likewise.
28149 * commands/efi/loadbios.c: Likewise.
28150 * commands/efi/fixvideo.c: Likewise.
28151 * commands/halt.c: Likewise.
28152 * commands/help.c: Likewise.
28153 * commands/reboot.c: Likewise.
28154 * hello/hello.c: Likewise.
28155 * script/sh/main.c: Likewise.
28156 * loader/xnu.c: Likewise.
28157 * term/terminfo.c: Likewise.
28158 * term/i386/pc/serial.c: Likewise.
28159 * term/usb_keyboard.c: Likewise.
28160
515b5079 281612009-05-03 David S. Miller <davem@davemloft.net>
28162
28163 * normal/menu.c: Include grub/parser.h
28164
dfc31a22 281652009-05-03 Pavel Roskin <proski@gnu.org>
28166
2fee74f1 28167 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28168 not char*.
28169 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28170 Suggested by Javier Martín <lordhabbit@gmail.com>
28171
dfc31a22 28172 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28173 efiemu??.o doesn't exist.
28174 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28175 copying.
28176
18f547ad 281772009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28178
28179 FreeBSD 64-bit support
28180
18f547ad 28181 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28182 and loader/i386/bsd_trampoline.S
28183 (bsd_mod_ASFLAGS): new variable
28184 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28185 (FREEBSD_MODTYPE_KERNEL64): likewise
28186 (grub_bsd64_trampoline_start): likewise
28187 (grub_bsd64_trampoline_end): likewise
28188 (grub_bsd64_trampoline_selfjump): likewise
28189 (grub_bsd64_trampoline_gdt): likewise
28190 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28191 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28192 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28193 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28194 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28195 of "attrib" member
28196 * loader/i386/bsd_pagetable.c: new file
28197 * loader/i386/bsd_trampoline.S: likewise
28198 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28199 (ALIGN_VAR): likewise
28200 (entry_hi): new variable
28201 (kern_end_mdofs): likewise
28202 (is_64bit): likewise
28203 (grub_freebsd_add_meta): use ALIGN_VAR
28204 (grub_e820_mmap): new declaration
28205 (grub_freebsd_add_mmap): new function
28206 (grub_freebsd_add_meta_module): support 64 bit kernels
28207 (grub_freebsd_list_modules): use ALIGN_VAR
28208 (gdt_descriptor): new declaration
28209 (grub_freebsd_boot): support 64 bit kernels
28210 (grub_bsd_elf64_hook): new function
28211 (grub_bsd_load_elf): support elf64
28212
038c5720 282132009-05-03 Bean <bean123ch@gmail.com>
28214
28215 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28216 after we get the result of if statement.
28217
fc45fb58 282182009-05-03 Bean <bean123ch@gmail.com>
28219
28220 * Makefile.in (enable_efiemu): New variable.
28221
28222 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28223 set.
28224 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28225 path.
28226 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28227 path, add -mno-red-zone option.
28228 (efiemu64_s.o): Likewise.
28229 (efiemu64.o): Use macro $^ for source file.
28230
28231 * configure.ac (--enable-efiemu): New option.
28232
bbee0f2b 282332009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 xnu support
28236
28237 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28238 (pkglib_MODULES): add xnu.mod
28239 (xnu_mod_SOURCES): new variable
28240 (xnu_mod_CFLAGS): likewise
28241 (xnu_mod_LDFLAGS): likewise
28242 (xnu_mod_ASFLAGS): likewise
28243 * conf/i386-pc.rmk: likewise
28244 * conf/x86_64-efi.rmk: likewise
7dd4a573 28245 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28246 new declaration
28247 * include/grub/i386/macho.h: new file
28248 * include/grub/i386/xnu.h: likewise
28249 * include/grub/macho.h: likewise
28250 * include/grub/machoload.h: likewise
28251 * include/grub/x86_64/macho.h: likewise
28252 * include/grub/x86_64/xnu.h: likewise
28253 * include/grub/xnu.h: likewise
28254 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28255 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28256 * loader/i386/efi/xnu.c: new file
28257 * loader/i386/pc/xnu.c: likewise
28258 * loader/i386/xnu.c: likewise
28259 * loader/i386/xnu_helper.S: likewise
28260 * loader/macho.c: likewise
28261 * loader/xnu.c: likewise
28262 * loader/xnu_resume.c: likewise
28263 * util/grub-dumpdevtree: likewise
28264 * include/grub/i386/pit.h: include grub/err.h
28265 (grub_pit_wait): export
28266 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28267
5caf964d 282682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28269
28270 Efiemu
7dd4a573 28271
5caf964d 28272 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28273 _linux_efi, linux_efi.
28274 new files in grub-emu
5caf964d 28275 new targets efiemu32.o and efiemu64.o
28276 * loader/linux_normal_efiemu.c: likewise
28277 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28278 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28279 files to copy
28280 * include/grub/autoefi.h: new file
7dd4a573 28281 * include/grub/i386/efiemu.h: likewise
5caf964d 28282 * include/grub/i386/pc/efiemu.h: likewise
28283 * include/grub/efi/api.h: add LL suffix when necessary
28284 new definitions relating to tables
28285 * include/grub/efiemu/efiemu.h: new file
28286 * include/grub/efiemu/runtime.h: likewise
28287 * efiemu/prepare.c: likewise
28288 * efiemu/loadcore_common.c: likewise
28289 * efiemu/loadcore64.c: likewise
28290 * efiemu/runtime/efiemu.sh: likewise
28291 * efiemu/runtime/efiemu.S: likewise
28292 * efiemu/runtime/efiemu.c: likewise
28293 * efiemu/runtime/config.h: likewise
28294 * efiemu/prepare32.c: likewise
28295 * efiemu/main.c: likewise
28296 * efiemu/modules/pnvram.c: likewise
28297 * efiemu/modules/i386: likewise
28298 * efiemu/modules/i386/pc: likewise
28299 * efiemu/modules/acpi.c: likewise
28300 * efiemu/i386/pc/cfgtables.c: likewise
28301 * efiemu/i386/loadcore64.c: likewise
28302 * efiemu/i386/loadcore32.c: likewise
28303 * efiemu/prepare64.c: likewise
28304 * efiemu/loadcore.c: likewise
28305 * efiemu/symbols.c: likewise
28306 * efiemu/mm.c: likewise
28307 * efiemu/loadcore32.c: likewise
7dd4a573 28308
283092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28310
28311 ACPI spoofing
28312
28313 * commands/acpi.c: new file
28314 * commands/i386/pc/acpi.c: likewise
28315 * commands/efi/acpi.c: likewise
28316 * include/grub/acpi.h: likewise
28317 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28318 (acpi_mod_SOURCES): new variable
28319 (acpi_mod_CFLAGS): likewise
28320 (acpi_mod_LDFLAGS): likewise
28321 * conf/i386-efi.rmk: likewise
28322 * conf/x86_64-efi.rmk: likewise
28323
7dd4a573 283242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28325
28326 Missing part from mmap patch
28327
28328 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28329 (grub_mmap_unregister)
28330 (grub_mmap_free_and_unregister): use grub_mmap_register
28331
7dd4a573 283322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28333
28334 Mmap services
28335
28336 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28337 * loader/i386/linux.c (find_mmap_size): likewise
28338 (allocate_pages): likewise
28339 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28340 (grub_fill_multiboot_mmap): likewise
28341 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28342 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28343 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28344 (OPENBSD_MMAP_RESERVED): likewise
28345 * include/grub/i386/pc/memory.h: include grub/memory.h
28346 (grub_lower_mem): removed
28347 (grub_upper_mem): likewise
28348 (GRUB_MACHINE_MEMORY_ACPI): new definition
28349 (GRUB_MACHINE_MEMORY_NVS): likewise
28350 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28351 (GRUB_MACHINE_MEMORY_HOLE): likewise
28352 (grub_machine_mmap_register): likewise
28353 (grub_machine_mmap_unregister): likewise
28354 (grub_machine_get_upper): likewise
28355 (grub_machine_get_lower): likewise
28356 (grub_machine_get_post64): likewise
28357 * include/grub/i386/efi/memory.h: new file
28358 * include/grub/x86_64/efi/memory.h: likewise
28359 * include/grub/efi/memory.h: likewise
28360 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28361 (mmap_mod_SOURCES): new variable
28362 (mmap_mod_LDFLAGS): likewise
28363 (mmap_mod_ASFLAGS): likewise
28364 * conf/i386-coreboot.rmk: likewise
28365 * conf/i386-ieee1275.rmk: likewise
28366 * conf/i386-efi.rmk: likewise
28367 * conf/x86_64-efi.rmk: likewise
28368 * include/grub/types.h (UINT_TO_PTR): new macro
28369 (PTR_TO_UINT32): likewise
28370 (PTR_TO_UINT64): likewise
28371 * include/grub/memory.h: new file
28372 * mmap/i386/pc/mmap.c: likewise
28373 * mmap/i386/pc/mmap_helper.S: likewise
28374 * mmap/i386/uppermem.c: likewise
28375 * mmap/mmap.c: likewise
28376 * mmap/efi/mmap.c: likewise
7dd4a573 28377 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28378 grub_upper_mem
28379 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28380 (grub_upper_mem): likewise
28381 (grub_machine_init): don't use grub_upper_mem,
28382 make grub_lower_mem local
28383 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28384 grub_mmap_iterate and grub_mmap_get_upper
28385 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28386
d558e6b5 283872009-05-02 Bean <bean123ch@gmail.com>
28388
28389 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28390 script/sh/parser.y.
28391 (pkglib_MODULES): Add normal.mod and sh.mod.
28392 (normal_SOURCES): New variable.
28393 (normal_mod_CFLAGS): Likewise.
28394 (normal_mod_LDFLAGS): Likewise.
28395 (sh_mod_SOURCES): Likewise.
28396 (sh_mod_CFLAGS): Likewise.
28397 (sh_mod_LDFLAGS): Likewise.
28398
28399 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28400 script/sh/lexer.c_DEPENDENCIES.
28401 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28402 kern/rescue_reader.c and kern/rescue_parser.c.
28403 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28404 (grub_emu_SOURCES): Change source files.
28405 (pkglib_MODULES): Remove normal.mod.
28406 (normal_SOURCES): Removed.
28407 (normal_mod_CFLAGS): Likewise.
28408 (normal_mod_LDFLAGS): Likewise.
28409 * conf/i386-coreboot.rmk: Likewise.
28410 * conf/i386-efi.rmk: Likewise.
28411 * conf/i386-ieee1276.rmk: Likewise.
28412 * conf/powerpc-ieee1275.rmk: Likewise.
28413 * conf/sparc64-ieee1275.rmk: Likewise.
28414 * conf/x86_64-efi.rmk: Likewise.
28415
28416 * include/grub/command.h (grub_command_execute): New inline function.
28417
28418 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28419
28420 * include/grub/normal.h: Remove <grub/setjmp.h>.
28421 (grub_fs_module_list): Moved to normal/autofs.c.
28422 (grub_exit_env): Removed.
28423 (grub_command_execute): Likewise.
28424 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28425 parameter script.
28426 (read_command_list): New function declaration.
28427 (read_fs_list): Likewise.
28428
28429 * include/parser.h: Include <grub/reader.h>.
28430 (grub_parser_split_cmdline): Change type of getline parameter.
28431 (grub_parser): New structure.
28432 (grub_parser_class): New variable.
28433 (grub_parser_execute): New function declaration.
28434 (grub_register_rescue_parser): Likewise.
28435 (grub_parser_register): New inline function.
28436 (grub_parser_unregister): Likewise.
28437 (grub_parser_get_current): Likewise.
28438 (grub_parser_set_current): Likewise.
28439
28440 * include/grub/reader.h: New file.
28441 * kern/reader.c: Likewise.
28442 * kern/rescue_parser.c: Likewise.
28443 * kern/rescue_reader.c: Likewise.
28444 * normal/autofs.c: Likewise.
28445 * normal/dyncmd.c: Likewise.
28446
28447 * include/grub/rescue.h: Removed.
28448 * normal/command.h: Likewise.
28449
28450 * include/grub/script.h: Moved to ...
28451 * include/grub/script_sh.h: ... Moved here.
28452 * normal/execute.c: Moved to ...
28453 * script/sh/execute.c: ... Moved here.
28454 * normal/function.c: Moved to ...
28455 * script/sh/function.c: ... Moved here.
28456 * normal/lexer.c: Moved to ...
28457 * script/sh/lexer.c: ... Moved here.
28458 * normal/parser.y: Moved to ...
28459 * script/sh/parser.y: ... Moved here.
28460 * normal/script.c: Moved to ...
28461 * script/sh/script.c: ... Moved here.
28462
28463 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28464 <grub/reader.h>.
28465 (grub_exit_env): Removed.
28466 (fs_module_list): Moved to normal/autofs.c.
28467 (grub_file_getline): Don't handle comment here.
28468 (free_menu): Skip removed field entry->commands.
28469 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28470 script parameter.
28471 (read_config_file): Removed nested parameter, change getline function.
28472 (grub_enter_normal_mode): Removed.
28473 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28474 (read_command_list): Likewise.
28475 (autoload_fs_module): Moved to normal/autofs.c.
28476 (read_fs_list): Likewise.
28477 (reader_nested): New variable.
28478 (grub_normal_execute): Run parser.sh to switch to sh parser.
28479 (grub_cmd_rescue): Removed.
28480 (cmd_normal): Removed.
28481 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28482 rescue command.
28483 (grub_cmdline_run): New function.
28484 (grub_normal_reader_init): Likewise.
28485 (grub_normal_read_line): Likewise.
28486 (grub_env_write_pager): Likewise.
28487 (cmdline): New variable.
28488 (grub_normal_reader): Likewise.
28489 (GRUB_MOD_INIT): Register normal reader and set as current, register
28490 pager hook, register normal command with grub_register_command_prio,
28491 so that it won't show up in command.lst.
28492 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28493 grub_fs_autoload_hook.
28494
28495 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28496 (grub_menu_execute_entry): Replace grub_script_execute with
28497 grub_parser_execute, change parameter to grub_command_execute.
28498
28499 * normal/menu_text.c: Remove <grub/script.h>.
28500
28501 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28502 and <grub/parser.h>.
28503 (run): Change editor_getline to use new parser interface. Change
28504 parameter to grub_command_execute.
28505
28506 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28507 <grub/reader.h> and <grub/parser.h>.
28508 (grub_load_normal_mode): Execute normal command.
28509 (grub_main): Call grub_register_core_commands,
28510 grub_register_rescue_parser and grub_register_rescue_reader, use
28511 grub_reader_loop to enter input loop.
28512
7dd4a573 28513 * kern/parser.c (grub_parser_split_cmdline): Change type of
28514 getline parameter.
d558e6b5 28515 (grub_parser_class): New variable.
28516 (grub_parser_execute): New function.
28517
28518 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28519 * loader/multiboot2.c: Likewise.
28520 * loader/sparc64/ieee1275/linux.c: Likewise.
28521
28522 * util/grub-emu.c (read_command_list): New dummy function.
28523
18db813d 285242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28525
28526 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28527 count to 16 for CCISS and IDA.
28528
6c67de15 285292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28530
28531 * normal/menu_text.c (grub_wait_after_message): Print a newline
28532 after waiting for user input.
28533
28534 * loader/i386/linux.c: Include `<grub/normal.h>'.
28535 (grub_cmd_linux): Improve the error message about `ask' mode, by
28536 waiting for user input so it's not missed (we can do this, since
28537 user requested interaction).
28538
d9dc87b0 285392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28540
28541 Added missing lst to grub-mkrescue
28542
28543 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28544 and ${input_dir}/parttool.lst
28545
ac8a2baa 285462009-04-30 David S. Miller <davem@davemloft.net>
28547
ad22a610 28548 * util/hostdisk.c (device_is_wholedisk): New function.
28549 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28550 zero only if device_is_wholedisk() returns true.
28551
6966215d 28552 * util/hostdisk.c (convert_system_partition_to_system_disk):
28553 Handle virtual disk devices named /dev/vdiskX as found on sparc
28554 and powerpc.
28555
ac8a2baa 28556 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28557 lettered partition specifier is found, convert to numbered.
28558
979b4fb4 285592009-04-29 David S. Miller <davem@davemloft.net>
28560
e2bf39b2 28561 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28562 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28563
3c64e104 28564 * normal/command.c: Add missing newline at end of file.
28565
979b4fb4 28566 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28567 warnings.
28568 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28569 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28570 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28571 ihandles have a 32-bit type but need to be stored in a "void *".
28572
136d9f82 285732009-04-28 Pavel Roskin <proski@gnu.org>
28574
9459c306 28575 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28576 not disk. Adjust all dependencies.
2e08a26a 28577 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28578 grub_disk_close().
28579
136d9f82 28580 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28581 parent's partition, don't copy it by reference, as it gets freed
28582 on close.
28583
7dd4a573 285842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28585
28586 Preboot hooks support
28587
28588 * commands/boot.c (struct grub_preboot_t): new declaration
28589 (preboots_head): new variable
28590 (preboots_tail): likewise
28591 (grub_loader_register_preboot_hook): new function
28592 (grub_loader_unregister_preboot_hook): likewise
28593 (grub_loader_set): launch preboot hooks
28594 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28595 (grub_loader_register_preboot_hook): new declaration
28596 (grub_loader_unregister_preboot_hook): likewise
28597
5af922b5 285982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 Warning fix
28601
7dd4a573 28602 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28603 calling grub_dprintf
28604
a5562c30 286052009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 Bug and warning fixes
28608
7dd4a573 28609 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28610 declaration
28611 * commands/test.c (test_parse): fixed bug with file tests and corrected
28612 declaration of find_file
28613
4006f85c 286142009-04-26 Pavel Roskin <proski@gnu.org>
28615
28616 * Makefile.in: Don't install empty manual pages if help2man is
28617 missing. Use help2man option for output, not shell redirection.
28618
5c77c3de 286192009-04-26 David S. Miller <davem@davemloft.net>
28620
28621 * util/grub-mkdevicemap.c (make_device_map): Add missing
28622 NESTED_FUNC_ATTR to process_device().
28623
033b10a8 286242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28625
28626 Test command
28627
28628 * commands/test.c: rewritten to use bash-like test
28629
e4343593 286302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28631
28632 Parttool autoloading and improvements
28633
7dd4a573 28634 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28635 (parttool.lst): new target
28636 * genmk.rb: generate parttool-*
28637 (CLEANFILES): add #{parttool}
28638 (PARTTOOLFILES): new variable
28639 * genparttoollist.sh: new file
7dd4a573 28640 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28641 (grub_pcpart_type): likewise
28642 * commands/parttool.c (helpmsg): new variable
28643 (grub_cmd_parttool): output help if not enough arguments are supplied
28644 autoload modules
28645 (GRUB_MOD_INIT(parttool)): use helpmsg
28646
0d312500 286472009-04-24 David S. Miller <davem@davemloft.net>
28648
7dd4a573 28649 Avoiding opening same device multiple times in device iterator.
0d312500 28650
28651 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28652 and use it to build a list of partitions in iterate_disk() and
0d312500 28653 iterate_partition().
28654
ac20caff 28655 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28656 on disk->data.
28657
0dcf7495 28658 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28659 grub_devalias_iterate() result instead of unconditional 0.
28660 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28661 Also, capture hook return value, either directly or via
28662 grub_children_iterate(), and propagate to caller.
28663 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28664 grub_children_iterate): Return value is now 'int' instead of
28665 'grub_err_t'.
28666 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28667 like a proper iterator, stopping when hooks return non-zero.
28668 (grub_devalias_iterate): Likewise.
28669
c8c08833 286702009-04-23 David S. Miller <davem@davemloft.net>
28671
28672 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28673
f01005a8 286742009-04-22 David S. Miller <davem@davemloft.net>
28675
28676 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28677 is larger than address_cells, use that value for address_cells too.
28678
4e8269da 28679 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28680 IEEE1275_MAX_PATH_LEN): Define.
28681 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28682 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28683 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28684 'devtype'. Explicitly NULL terminate devalias expansion.
28685
a1447506 28686 * util/sparc64/ieee1275/misc.c: New file.
28687 * util/sparc64/ieee1275/grub-setup.c: New file.
28688 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28689 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28690 * util/sparc64/ieee1275/grub-install.in: New file.
28691 * util/ieee1275/ofpath.c: New file.
28692 * util/ieee1275/devicemap.c: New file.
28693 * util/devicemap.c: New file.
28694 * util/deviceiter.c: New file.
28695 * kern/sparc64/ieee1275/init.c: New file.
28696 * include/grub/util/ofpath.h: New file.
28697 * include/grub/util/deviceiter.h: New file.
28698 * util/grub-mkdevicemap.c: Include deviceiter.h.
28699 Implement using grub_util_emit_devicemap_entry and
28700 grub_util_iterate_devices.
28701 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28702 util/devicemap.c into grub-mkdevicemap
28703 * conf/i386-efi.rmk: Likewise.
28704 * conf/i386-ieee1275.rmk: Likewise.
28705 * conf/i386-pc.rmk: Likewise.
28706 * conf/powerpc-ieee1275.rmk: Likewise.
28707 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28708 images and installation utilities. Build kernel as image
28709 instead of as elf binary. Use common rules as much as possible.
28710
7dd4a573 287112009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28712
28713 Correct GPT definition
28714
7dd4a573 28715 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28716 of "attrib" member
28717
c6c5219f 287182009-04-19 Felix Zielcke <fzielcke@z-51.de>
28719
28720 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28721
0552ff9f 287222009-04-19 David S. Miller <davem@davemloft.net>
28723
28724 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28725 (grub_rescue_cmd_linux): Rename to...
28726 (grub_cmd_linux): and fix prototype.
28727 (grub_rescue_cmd_initrd): Rename to...
28728 (grub_cmd_initrd): and fix prototype.
28729 (cmd_linux, cmd_initrd): New.
28730 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28731 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28732
d1a282fc 287332009-04-17 Pavel Roskin <proski@gnu.org>
28734
07c5039f 28735 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28736 format.
28737 (grub_ohci_transfer): Likewise.
28738
b012002d 28739 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28740
1bc09c35 28741 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28742 return without a value. Fix inconsistent indentation.
28743
e0ff9126 28744 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28745 match struct grub_fs.
28746
d1a282fc 28747 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28748 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28749 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28750 * commands/lspci.c (grub_lspci_iter): Likewise.
28751
a96df3f2 287522009-04-16 Bean <bean123ch@gmail.com>
28753
28754 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28755 value.
28756
41bb0fe9 287572009-04-15 Pavel Roskin <proski@gnu.org>
28758
28759 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28760 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28761 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28762 definitions.
28763
596c6970 287642009-04-15 Felix Zielcke <fzielcke@z-51.de>
28765
28766 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28767 that no multiple data or metadata areas are supported and `Unknown
596c6970 28768 metadata header'.
28769
7dd4a573 287702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28771
28772 Move loader out of the kernel
28773
28774 * kern/loader.c: moved to ...
28775 * commands/boot.c: ... moved here
28776 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28777 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28778 * include/grub/kernel.h (grub_machine_fini): export
28779 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28780 (grub_loader_set): likewise
28781 (grub_loader_unset): likewise
28782 (grub_loader_boot): likewise
28783 * conf/common.rmk: new module boot.mod
28784 (pkglib_MODULES): add boot.mod
28785 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28786 (grub_emu_SOURCES): likewise
28787 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28788 (grub_emu_SOURCES): likewise
28789 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28790 (grub_emu_SOURCES): likewise
28791 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28792 (grub_emu_SOURCES): likewise
28793 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28794 (grub_emu_SOURCES): likewise
7dd4a573 28795 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28796 (grub_emu_SOURCES): likewise
0d5d5653 28797 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28798 (grub_emu_SOURCES): likewise
0d5d5653 28799
7dd4a573 288002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28801
28802 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28803
5999d619 28804 * kern/misc.c (grub_itoa): Removed function
28805 (grub_ltoa): likewise
28806 (grub_vsprintf): use grub_lltoa
28807
7dd4a573 288082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28809
28810 Restore grub-emu
28811
28812 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28813 * conf/i386-coreboot.rmk: likewise
28814 * conf/i386-ieee1275.rmk: likewise
28815 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28816
20318222 288172009-04-15 Felix Zielcke <fzielcke@z-51.de>
28818
28819 * INSTALL: Add that `./autogen.sh' needs to be run before
28820 `./configure.'.
28821
d05f0df3 288222009-04-14 Bean <bean123ch@gmail.com>
28823
28824 * Makefile.in (pkglib_DATA): Add handler.lst.
28825 (handler.lst): New rule.
28826
28827 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28828 * conf/i386-coreboot.rmk: Likewise.
28829 * conf/i386-ieee1275.rmk: Likewise.
28830 * conf/i386-efi.rmk: Likewise.
28831 * conf/x86_64-efi.rmk: Likewise.
28832 * conf/powerpc-ieee1275.rmk: Likewise.
28833 * conf/sparc64-ieee1275.rmk: Likewise.
28834
28835 * genhandlerlist.sh: New file.
28836
28837 * genmk.rb: Add rules to generate handler.lst.
28838
28839 * include/grub/normal.h (grub_file_getline): New function definition.
28840 (read_handler_list): Likewise.
28841 (free_handler_list): Likewise.
28842
28843 * include/grub/term.h (grub_term_register_input): Add name parameter
28844 for auto generation of handler.lst.
28845 (grub_term_register_output): Likewise.
28846
28847 * normal/handler.c: New file.
28848
28849 * normal/main.c (get_line): Renamed to grub_file_getline.
28850 (read_config_file): Use the newly renamed grub_file_getline.
28851 (read_command_list): Likewise.
28852 (read_fs_list): Likewise.
28853 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28854 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28855
28856 * term/efi/console.c (grub_console_init): Add name parameter for auto
28857 generation of handler.lst.
28858 * term/gfxterm.c: Likewise.
28859 * term/i386/pc/at_keyboard.c: Likewise.
28860 * term/i386/pc/console.c: Likewise.
28861 * term/i386/pc/serial.c: Likewise.
28862 * term/i386/pc/vesafb.c: Likewise.
28863 * term/i386/pc/vga.c: Likewise.
28864 * term/i386/pc/vga_text.c: Likewise.
28865 * term/ieee1275/ofconsole.c: Likewise.
28866 * term/usb_keyboard.c: Likewise.
28867
33c846be 288682009-04-14 Bean <bean123ch@gmail.com>
28869
28870 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28871 properly with null character.
28872
4484e01e 288732009-04-14 Felix Zielcke <fzielcke@z-51.de>
28874
28875 * configure: Remove.
28876 * config.h.in: Likewise.
f93d668e 28877 * stamp-h.in: Likewise.
4484e01e 28878 * DISTLIST: Likewise.
28879 * conf/common.mk: Likewise.
28880 * conf/i386-coreboot.mk: Likewise.
28881 * conf/i386-efi.mk: Likewise.
28882 * conf/i386-ieee1275.mk: Likewise.
28883 * conf/i386.mk: Likewise.
28884 * conf/i386-pc.mk: Likewise.
28885 * conf/powerpc-ieee1275.mk: Likewise.
28886 * conf/sparc64-ieee1275.mk: Likewise.
28887 * conf/x86_64-efi.mk: Likewise.
28888
28889 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28890 develop on GRUB.
28891
7dd4a573 288922009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28893 David S. Miller <davem@davemloft.net>
28894
28895 * util/hostdisk.c (make_device_name): Fix buffer length
28896 calculations.
28897
e25b5a8c 288982009-04-14 Felix Zielcke <fzielcke@z-51.de>
28899
28900 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28901 <sys/param.h> and <sys/sysctl.h>.
28902 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28903 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28904 opening the device and reset them afterwards.
28905
1f1f580c 289062009-04-13 Pavel Roskin <proski@gnu.org>
28907
28908 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28909 Reported by John Stanley <jpsinthemix@verizon.net>
28910
7ebc2d6b 289112009-04-13 Robert Millan <rmh@aybabtu.com>
28912
28913 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28914 that name for menuentries when appropriate.
7ebc2d6b 28915
d8ba3667 289162009-04-13 Felix Zielcke <fzielcke@z-51.de>
28917
28918 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28919
cba416eb 289202009-04-13 Robert Millan <rmh@aybabtu.com>
28921
28922 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28923 to Linux, simply abort telling the user it's no longer supported.
28924
a547a745 289252009-04-13 Felix Zielcke <fzielcke@z-51.de>
28926
28927 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28928 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28929 `freebsd_loadenv' only when devices.hints exist.
28930
232a769c 289312009-04-13 Pavel Roskin <proski@gnu.org>
28932
28933 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28934
c3012039 289352009-04-13 Felix Zielcke <fzielcke@z-51.de>
28936
28937 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28938 partition number.
28939 (grub_drive): Likewise.
28940
234022fe 289412009-04-13 David S. Miller <davem@davemloft.net>
28942
28943 * kern/sparc64/ieee1275/ieee1275.c: New file.
28944 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28945 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28946 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28947 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28948 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28949 grub_ieee1275_alloc_physmem): Declare new exported functions.
28950
d8e1836c 28951 * include/grub/sparc64/ieee1275/loader.h: New file.
28952 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28953 * include/grub/sparc64/kernel.h: Likewise.
28954 * loader/sparc64/ieee1275/linux.c: Likewise.
28955
96bd81ec 28956 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28957 (grub_fstest_SOURCES): Likewise.
28958
6a4737e5 28959 * util/hostdisk.c (make_device_name): Do not make any assumptions
28960 about the length of drive names.
28961
1d7a72fd 28962 * kern/dl.c (grub_dl_load_file): Close file immediately when
28963 we are done using it.
28964
56bc2471 289652009-04-12 David S. Miller <davem@davemloft.net>
28966
28967 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28968 values. Noticed by Pavel Roskin.
28969
df38d0bb 28970 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28971 target compiler.
7dd4a573 28972
e382e93a 28973 * genmk.rb: Add more flexible image type specification, also
28974 pass --strip-unneeded to objcopy.
28975 * conf/i386-pc.rmk: Use *_FORMAT.
28976 * conf/i386-pc.mk: Rebuilt.
28977
f5dbbca9 28978 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28979 (OFDISK_HASH_SZ): Define.
28980 (ofdisk_hash): New hash table.
28981 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28982 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28983 instead of device phandle which is not unique.
28984
91c88b12 28985 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28986 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28987 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28988 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28989 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28990 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28991 GRUB_KERNEL_MACHINE_DATA_END): Define.
28992 (grub_kernel_image_size, grub_total_module_size): Declare.
28993
5b5d4aa5 289942009-04-12 Pavel Roskin <proski@gnu.org>
28995
7dd4a573 28996 * configure.ac: Change the logic when we check for target tools.
28997 Do it when the target is specified and it's different from the
28998 specified value of the host.
5b5d4aa5 28999
c91e1793 290002009-04-11 Felix Zielcke <fzielcke@z-51.de>
29001
29002 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29003 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29004 GNU/kFreeBSD. Check if a device is a character device. Use
29005 DIOCGMEDIASIZE to get the size.
29006 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29007 support for GNU/kFreeBSD.
29008 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29009 is a character device instead of a block device. Add support for
29010 FreeBSD device names.
29011
29012 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29013 is a character device instead of a block device.
29014
29015 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29016 is a character device instead of a block device.
29017
b1ac8644 290182009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29019
29020 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29021 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29022 FreeBSD. Check if a device is a character device. Use
29023 DIOCGMEDIASIZE to get the size.
29024 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29025 support for FreeBSD.
29026 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29027 is a character device instead of a block device. Add support for
29028 FreeBSD device names.
29029
29030 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29031 a character device instead of a block device.
29032 (grub_util_check_char_device): New function.
29033
29034 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29035 a character device instead of a block device.
29036
29037 * include/grub/util/getroot.h (grub_util_check_char_device): New
29038 prototype.
29039
a3f7515a 290402009-04-11 David S. Miller <davem@davemloft.net>
29041
29042 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29043 static libgcc.
29044 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29045 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29046 function, if present.
29047 (__bswapdi2): Likewise.
29048
0d44993d 29049 * include/grub/sparc64/ieee1275/boot.h: New file.
29050 * boot/sparc64/ieee1275/boot.S: Likewise.
29051 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29052
ed3d2bc2 29053 * kern/misc.c (grub_ltoa): New function.
29054 (grub_vsprintf): Use it to format 'long' integers.
29055
d3bfb59c 290562009-04-10 David S. Miller <davem@davemloft.net>
29057
29058 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29059 slots are of type grub_ieee1275_cell_t.
29060 (grub_nand_read): Likewise.
29061 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29062 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29063 macros are used to compare values in arg/ret block of the call.
29064 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29065 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29066 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29067 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29068 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29069 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29070 grub_ieee1275_close, grub_ieee1275_set_property,
29071 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29072 grub_ieee1275_cell_t.
29073 * kern/ieee1275/openfw.c (grub_map): Likewise.
29074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29075 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29076
450e2238 29077 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29078 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29079 (grub_devalias_iterate): Likewise.
29080
7dd4a573 290812009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29082
29083 UFS improvements
29084
29085 * fs/ufs.c (INODE_NBLOCKS): new definition
29086 (struct grub_ufs_dirent): added fields for non-BSD dirents
29087 (grub_ufs_get_file_block): fixed double indirect handling
29088 (grub_ufs_lookup_symlink): use more robust way to determine whether
29089 symlink is inline
29090 (grub_ufs_find_file): support for non-BSD dirents
29091 (grub_ufs_dir): support for non-BSD dirents
29092
e7e6862a 290932009-04-10 Bean <bean123ch@gnail.com>
29094
29095 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29096 attribute, otherwise the size would be wrong for i386 platform.
29097
29098 * include/grub/pci.h (grub_pci_read_word): New inline function.
29099 (grub_pci_read_byte): Likewise.
29100 (grub_pci_write): Likewise.
29101 (grub_pci_write_word): Likewise.
29102 (grub_pci_write_byte): Likewise.
29103
29104 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29105
29106 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29107 (find_framebuf): Scan pci to locate the frame buffer address.
29108
29109 * commands/efi/fixvideo.c: New file.
29110
29111 * commands/efi/loadbios.c: Likewise.
29112
29113 * commands/memrw.c: Likewise.
29114
29115 * util/grub-dumpbios.in: Likewise.
29116
29117 * conf/common.rmk (grub-dumpbios): New utility.
29118 (pkglib_MODULES): New module memrw.mod.
29119 (memrw_mod_SOURCE): New macro.
29120 (memrw_mod_CFLAGS): Likewise.
29121 (memrw_mod_LDFLAGS): Likewise.
29122
7dd4a573 29123 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29124 fixvideo.mod.
29125 (loadbios_mod_SOURCE): New macro.
29126 (loadbios_mod_CFLAGS): Likewise.
29127 (loadbios_mod_LDFLAGS): Likewise.
29128 (fixvideo_mod_SOURCE): Likewise.
29129 (fixvideo_mod_CFLAGS): Likewise.
29130 (fixvideo_mod_LDFLAGS): Likewise.
29131
7dd4a573 29132 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29133 fixvideo.mod.
29134 (loadbios_mod_SOURCE): New macro.
29135 (loadbios_mod_CFLAGS): Likewise.
29136 (loadbios_mod_LDFLAGS): Likewise.
29137 (fixvideo_mod_SOURCE): Likewise.
29138 (fixvideo_mod_CFLAGS): Likewise.
29139 (fixvideo_mod_LDFLAGS): Likewise.
29140
af63ada2 291412009-04-08 Felix Zielcke <fzielcke@z-51.de>
29142
29143 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29144
c2cdde70 291452009-04-07 David S. Miller <davem@davemloft.net>
29146
29147 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29148 support for R_SPARC_OLO10 relocations. Fix compile warning for
29149 R_SPARC_WDISP30 case.
ea3f72cf 29150 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29151
761319cf 291522009-04-06 Pavel Roskin <proski@gnu.org>
29153
1007d1f5 29154 * include/grub/misc.h (ARRAY_SIZE): New macro.
29155 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29156 New macro.
29157 * loader/i386/linux.c (allocate_pages): Use free_pages().
29158 (grub_linux_unload): Don't use free_pages().
29159 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29160 wrong index. Treat all other modes as text modes.
29161 (grub_cmd_linux): Initialize vid_mode unconditionally to
29162 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29163
761319cf 29164 * commands/help.c (print_command_help): Use cmd->prio, not
29165 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29166
ea761d40 291672009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29168
ea761d40 29169 Parttool
29170
29171 * parttool/pcpart.c: new file
29172 * commands/parttool.c: likewise
29173 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29174 (parttool_mod_SOURCES): new variable
29175 (parttool_mod_CFLAGS): likewise
29176 (parttool_mod_LDFLAGS): likewise
29177 (pcpart_mod_SOURCES): likewise
29178 (pcpart_mod_CFLAGS): likewise
29179 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29181 and parttool/pcpart.c
29182 * conf/i386-efi.rmk: likewise
29183 * conf/i386-ieee1275.rmk: likewise
29184 * conf/i386-pc.rmk: likewise
29185 * conf/powerpc-ieee1275.rmk: likewise
29186 * conf/sparc64-ieee1275.rmk: likewise
29187 * conf/x86_64-ieee1275.rmk: likewise
29188
05aaebfb 291892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29190
29191 Support for mtime and further expandability of dir command
29192
29193 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29194 * include/grub/datetime.h: ... moved here and added
05aaebfb 29195 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29196 * include/grub/fs.h: new syntax for dir and mtime functions in
29197 struct grub_fs
05aaebfb 29198 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29199 and GRUB_FSHELP_FLAGS_MASK
29200 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29201 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29202 (grub_ext2_mtime): new function
29203 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29204 (grub_hfsplus_mtime): new function
29205 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29206 (GRUB_UFS_ATTR_FILE): likewise
29207 (GRUB_UFS_ATTR_LNK): likewise
29208 (struct grub_ufs_sblock): new fields mtime
29209 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29210 all users updated
29211 (grub_ufs_dir): mtime support
29212 (grub_ufs_mtime): new function
29213 * fs/affs.c (grub_affs_dir): use new dir syntax
29214 * fs/afs.c (grub_afs_dir): likewise
29215 * fs/cpio.c (grub_cpio_dir): likewise
29216 * fs/fat.c (grub_fat_find_dir): likewise
29217 * fs/hfs.c (grub_hfs_dir): likewise
29218 * fs/iso9660.c (grub_iso9660_dir): likewise
29219 * fs/jfs.c (grub_jfs_dir): likewise
29220 * fs/minix.c (grub_minix_dir): likewise
29221 * fs/ntfs.c (grub_ntfs_dir): likewise
29222 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29223 * fs/sfs.c (grub_sfs_dir): likewise
29224 * fs/xfs.c (grub_xfs_dir): likewise
29225 * util/hostfs.c (grub_hostfs_dir): likewise
29226 * lib/datetime.c: moved to ...
29227 * normal/datetime.c: ... moved here
29228 (grub_unixtime2datetime): new function
29229 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29230 * normal/completion.c (iterate_dir): use new dir syntax
29231 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29232 last modification time of a volume
7dd4a573 29233 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29234 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29236 (normal_mod_SOURCES): likewise
29237 (datetime_mod_SOURCES): Removed lib/datetime.c
29238 * conf/i386-efi.rmk: likewise
7dd4a573 29239 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29240 * conf/i386-pc.rmk: likewise
29241 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29242 * conf/sparc64-ieee1275.rmk: likewise
29243 * conf/x86_64-efi.rmk: likewise
05aaebfb 29244
8a7e1a14 292452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29248
29249 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29250 on grub_fat_find_dir
29251 (grub_fat_find_dir): use grub_fat_iterate_dir
29252 (grub_fat_label): likewise
29253
04186a9c 292542009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29255
7dd4a573 29256 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29257 and command.h
29258 remove extraneous kernel_elf_HEADERS
29259
da4c0bb6 292602009-04-04 Bean <bean123ch@gnail.com>
29261
29262 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29263
29264 * util/misc.c: Likewise.
29265
54ad9555 292662009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29267
29268 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29269 instead of grub_printf.
29270
7a6bf9f2 292712009-04-03 Robert Millan <rmh@aybabtu.com>
29272
29273 * loader/i386/linux.c (grub_linux_setup_video): Fill
29274 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29275 values from `mode info' structure instead of hardcoded
29276 values.
29277
3fcc2083 292782009-04-01 Pavel Roskin <proski@gnu.org>
29279
29280 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29281 unused now.
29282 * genmk.rb: Likewise.
29283 * configure.ac: Likewise.
29284
5ec9740b 292852009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29286
29287 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29288 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29289
5270cec8 292902009-04-01 David S. Miller <davem@davemloft.net>
29291
29292 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29293 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29294 (grub_setjmp): Mark with 'returns_twice' attribute.
29295 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29296 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29297 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29298
9c3dd854 292992009-04-01 Robert Millan <rmh@aybabtu.com>
29300
29301 Reapply fix from 2008-07-28 which was accidentally reverted; also
29302 perform the same fix to a similar check in same function.
29303
29304 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29305 with the same number are found, just use issue a warning with
29306 grub_dprintf(), as this error has been reported to be non-fatal.
29307
0d818b7e 293082009-03-31 Pavel Roskin <proski@gnu.org>
29309
29310 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29311 for cross-compilation.
29312
95646d92 293132009-03-30 Robert Millan <rmh@aybabtu.com>
29314
29315 Fix i386-ieee1275 build.
29316
29317 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29318 Remove declaration.
29319
6a003ed1 293202009-03-30 Pavel Roskin <proski@gnu.org>
29321
29322 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29323 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29324 zero-terminated, rely only on the strlen value. Fix comparison
29325 of strings differing in length.
29326
92f33540 293272009-03-30 Robert Millan <rmh@aybabtu.com>
29328
29329 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29330 checking for abi version. Improve error messages on BIOS to notify
29331 user about `linux16' command.
29332
a8c48fd5 293332009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29334
f968172e 29335 Leak fixes
a8c48fd5 29336
f968172e 29337 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29338 in case of collision
29339 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29340
9c323f09 293412009-03-29 Robert Millan <rmh@aybabtu.com>
29342
29343 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29344 set `vid_mode' accordingly.
29345 (grub_linux_boot): Process `vid_mode' and set video mode.
29346
ae68f423 293472009-03-29 Robert Millan <rmh@aybabtu.com>
29348
29349 * util/grub.d/10_linux.in (linux_entry): New function.
29350 Factorize generation of Linux boot entries.
29351
5709cfc4 293522009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29353
29354 Make the format of Environment Block plain text. The boot loader
29355 part is not tested well yet.
7dd4a573 29356
5709cfc4 29357 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29358 (buffer): Removed.
29359 (envblk): Likewise.
29360 (usage): Remove "info" and "clear". Add "unset". Update the
29361 description of "set", as this does not delete variables any
29362 longer.
29363 (create_envblk_file): Complete rewrite.
29364 (open_envblk_file): Likewise.
29365 (cmd_info): Removed.
29366 (cmd_list): Likewise.
29367 (cmd_set): Likewise.
29368 (cmd_clear): Likewise.
29369 (list_variables): New function.
29370 (write_envblk): Likewise.
29371 (set_variables): Likewise.
29372 (unset_variables): Likewise.
29373 (main): Complete rewrite.
29374
29375 * commands/loadenv.c (buffer): Removed.
29376 (envblk): Likewise.
29377 (open_envblk_file): New function.
29378 (read_envblk_file): Complete rewrite.
29379 (grub_cmd_load_env): Likewise.
29380 (grub_cmd_list_env): Likewise.
29381 (struct blocklist): New struct.
29382 (free_blocklists): New function.
29383 (check_blocklists): Likewise.
29384 (write_blocklists): Likewise.
29385 (grub_cmd_save_env): Complete rewrite.
29386
29387 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29388 a plain text signature.
29389 (GRUB_ENVBLK_MAXLEN): Removed.
29390 (struct grub_envblk): Complete rewrite.
29391 (grub_envblk_find): Removed.
29392 (grub_envblk_insert): Likewise.
29393 (grub_envblk_open): New prototype.
29394 (grub_envblk_set): Likewise.
29395 (grub_envblk_delete): Put const to VALUE.
29396 (grub_envblk_iterate): Put const to NAME and VALUE.
29397 (grub_envblk_close): New prototype.
29398 (grub_envblk_buffer): New inline function.
29399 (grub_envblk_size): Likewise.
29400
29401 * lib/envblk.c: Include grub/mm.h.
29402 (grub_env_find): Removed.
29403 (grub_envblk_open): New function.
29404 (grub_envblk_close): Likewise.
29405 (escaped_value_len): Likewise.
29406 (find_next_line): Likewise.
29407 (grub_envblk_insert): Removed.
29408 (grub_envblk_set): New function.
29409 (grub_envblk_delete): Complete rewrite.
29410 (grub_envblk_iterate): Likewise.
29411
a9368fd3 294122009-03-28 Robert Millan <rmh@aybabtu.com>
29413
29414 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29415 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29416 variables. Use 16-bit loader.
29417 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29418 loader.
29419 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29420 (grub_linux16_boot): ... this. Update all users.
29421 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29422 (grub_linux_boot): ... this. Update all users.
29423
29424 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29425 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29426 commands to `linux16' and `initrd16'.
29427 (GRUB_MOD_FINI(linux)): Rename to ...
29428 (GRUB_MOD_FINI(linux16)): ... this.
29429
e4dd5a7e 294302009-03-24 Pavel Roskin <proski@gnu.org>
29431
29432 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29433 not just for compilation.
29434
c04d6e05 294352009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29436
29437 Move multiboot helper out of kernel
29438
29439 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29440 `loader/i386/multiboot_helper.S'.
29441 * conf/i386-coreboot.rmk: Likewise
29442 * conf/i386-ieee1275.rmk: Likewise
29443
29444 * kern/i386/loader.S: Move multiboot helpers from here...
29445 * loader/i386/multiboot_helper.S: ...moved here
29446 * include/grub/i386/loader.h: Move declarations of multiboot
29447 helpers from here...
29448 * include/grub/i386/multiboot.h: ...moved here
29449 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29450
42a5b3fc 294512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29452
29453 * kern/env.c (grub_env_context_open): Added an argument to specify
29454 whether a new context inherits exported variables from current
29455 one. This is useful when making a sandbox to interpret a config
29456 file.
29457 All callers updated.
29458
29459 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29460
b28bbc4e 294612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29462
29463 * kern/env.c (grub_env_context_close): Fix memory leaks.
29464
f04f02e4 294652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29466
29467 * normal/main.c (grub_normal_execute): Added an argument
29468 BATCH to specify if an interactive interface should be provided
29469 after reading a config file.
29470 All callers updated.
29471 (read_command_list): Prevent being executed twice.
29472 (read_fs_list): Likewise.
29473
42a5b3fc 29474 * include/grub/normal.h (grub_normal_execute): Updated the
29475 prototype.
f04f02e4 29476
41473ac2 294772009-03-22 Pavel Roskin <proski@gno.org>
29478
fbc00b0c 29479 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29480 _start.
29481 * kern/i386/pc/startup.S: Likewise.
29482 * kern/i386/efi/startup.S: Likewise.
29483 * kern/i386/ieee1275/startup.S: Likewise.
29484 * kern/i386/coreboot/startup.S: Likewise.
29485 * kern/x86_64/efi/startup.S: Likewise.
29486
41473ac2 29487 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29488 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29489 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29490
2274cc8f 294912009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29492
29493 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29494
29495 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29496 limit detection.
29497 Use vaddr of correct segment for entry_point.
29498
b1b797cb 294992009-03-21 Bean <bean123ch@gmail.com>
29500
29501 * commands/blocklist.c: Add include file <grub/command.h>, remove
29502 <grub/normal.h> and <grub/arg.h>.
29503 (grub_cmd_blocklist): Use the new command interface.
29504 (GRUB_MOD_INIT): Likewise.
29505 (GRUB_MOD_FINI): Likewise.
29506 * commands/boot.c: Likewise.
29507 * commands/cat.c: Likewise.
29508 * commands/cmp.c: Likewise.
29509 * commands/configfile.c: Likewise.
29510 * commands/crc.c: Likewise.
29511 * commands/echo.c: Likewise.
29512 * commands/halt.c: Likewise.
29513 * commands/handler.c: Likewise.
29514 * commands/hdparm.c: Likewise.
29515 * commands/help.c: Likewise.
29516 * commands/hexdump.c: Likewise.
29517 * commands/loadenv.c: Likewise.
29518 * commands/ls.c: Likewise.
29519 * commands/lsmmap.c: Likewise.
29520 * commands/lspci.c: Likewise.
29521 * commands/loadenv.c: Likewise.
29522 * commands/read.c: Likewise.
29523 * commands/reboot.c: Likewise.
29524 * commands/search.c: Likewise.
29525 * commands/sleep.c: Likewise.
29526 * commands/test.c: Likewise.
29527 * commands/usbtest.c: Likewise.
29528 * commands/videotest.c: Likewise.
29529 * commands/i386/cpuid.c: Likewise.
29530 * commands/i386/pc/halt.c: Likewise.
29531 * commands/i386/pc/play.c: Likewise.
29532 * commands/i386/pc/pxecmd.c: Likewise.
29533 * commands/i386/pc/vbeinfo.c: Likewise.
29534 * commands/i386/pc/vbetest.c: Likewise.
29535 * commands/ieee1275/suspend.c: Likewise.
29536 * disk/loopback.c: Likewise.
29537 * font/font_cmd.c: Likewise.
29538 * hello/hello.c: Likewise.
29539 * loader/efi/appleloader.c: Likewise.
29540 * loader/efi/chainloader.c: Likewise.
29541 * loader/i386/bsd.c: Likewise.
29542 * loader/i386/efi/linux.c: Likewise.
29543 * loader/i386/ieee1275/linux.c: Likewise.
29544 * loader/i386/linux.c: Likewise.
29545 * loader/i386/pc/chainloader.c: Likewise.
29546 * loader/i386/pc/linux.c: Likewise.
29547 * loader/powerpc/ieee1275/linux.c: Likewise.
29548 * loader/multiboot_loader.c: Likewise.
29549 * term/gfxterm.c: Likewise.
29550 * term/i386/pc/serial.c: Likewise.
29551 * term/terminfo.c: Likewise.
29552
29553 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29554 * term/i386/pc/vga.c: Likewise.
29555 * video/readers/jpeg.c: Likewise.
29556 * video/readers/png.c: Likewise.
29557 * video/readers/tga.c: Likewise.
29558
29559 * util/grub-fstest (cmd_loopback): Removed.
29560 (cmd_blocklist): Likewise.
29561 (cmd_ls): Likewise.
29562 (grub_register_command): Likewise.
29563 (grub_unregister_command): Likewise.
29564 (execute_command): Use grub_command_find to locate command and execute
29565 it.
29566
29567 * include/grub/efi/chainloader.h: Removed.
29568 * loader/efi/chainloader_normal.c: Likewise.
29569 * loader/i386/bsd_normal.c: Likewise.
29570 * loader/i386/pc/chainloader_normal.c: Likewise.
29571 * loader/i386/pc/multiboot_normal.c: Likewise.
29572 * loader/linux_normal.c: Likewise.
29573 * loader/multiboot_loader_normal.c: Likewise.
29574 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29575
29576 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29577 and grub_register_command_p1.
29578
29579 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29580 kern/command.c, lib/arg.c and commands/extcmd.c.
29581 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29582 (minicmd_mod_SOURCES): New variable.
29583 (minicmd_mod_CFLAGS): Likewise.
29584 (minicmd_mod_LDFLAGS): Likewise.
29585 (extcmd_mod_SOURCES): Likewise.
29586 (extcmd_mod_CFLAGS): Likewise.
29587 (extcmd_mod_LDFLAGS): Likewise.
29588 (boot_mod_SOURCES): Removed.
29589 (boot_mod_CFLAGS): Likewise.
29590 (boot_mod_LDFLAGS): Likewise.
29591
29592 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29593 kern/corecmd.c.
29594 (kernel_img_HEADERS): Add command.h.
29595 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29596 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29597 and lib/arg.c.
29598 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29599 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29600 remove the corresponding normal mode command.
29601 (normal_mod_SOURCES): Remove normal/arg.c.
29602 * conf/i386-coreboot.rmk: Likewise.
29603 * conf/i386-efi.rmk: Likewise.
29604 * conf/i386-ieee1275.rmk: Likewise.
29605 * conf/powerpc-ieee1275.rmk: Likewise.
29606 * conf/x86_64-efi.rmk: Likewise.
29607
29608 * include/grub/arg.h: Move from here ...
29609 * include/grub/lib/arg.h: ... to here.
29610
29611 * normal/arg.c: Move from here ...
29612 * lib/arg.c: ... to here.
29613
29614 * commands/extcmd.c: New file.
29615 * commands/minicmd.c: Likewise.
29616 * include/grub/command.h: Likewise.
29617 * include/grub/extcmd.h: Likewise.
29618 * kern/command.c: Likewise.
29619 * kern/corecmd.c: Likewise.
29620
29621 * kern/list.c (grub_list_iterate): Return int instead of void.
29622 (grub_list_insert): New function.
29623 (grub_prio_list_insert): Likewise.
29624
29625 * kern/rescue.c (grub_rescue_command): Removed.
29626 (grub_rescue_command_list): Likewise.
29627 (grub_rescue_register_command): Likewise.
29628 (grub_rescue_unregister_command): Likewise.
29629 (grub_rescue_cmd_boot): Move to minicmd.c
29630 (grub_rescue_cmd_help): Likewise.
29631 (grub_rescue_cmd_info): Likewise.
29632 (grub_rescue_cmd_boot): Likewise.
29633 (grub_rescue_cmd_testload): Likewise.
29634 (grub_rescue_cmd_dump): Likewise.
29635 (grub_rescue_cmd_rmmod): Likewise.
29636 (grub_rescue_cmd_lsmod): Likewise.
29637 (grub_rescue_cmd_exit): Likewise.
29638 (grub_rescue_print_devices): Moved to corecmd.c.
29639 (grub_rescue_print_files): Likewise.
29640 (grub_rescue_cmd_ls): Likewise.
29641 (grub_rescue_cmd_insmod): Likewise.
29642 (grub_rescue_cmd_set): Likewise.
29643 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29644 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29645 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29646 commands, remove grub_rescue_register_command calls.
b1b797cb 29647
7d074e3c 29648 * normal/command.c (grub_register_command): Removed.
b1b797cb 29649 (grub_unregister_command): Likewise.
29650 (grub_command_find): Likewise.
29651 (grub_iterate_commands): Likewise.
29652 (rescue_command): Likewise.
29653 (export_command): Moved to corecmd.c.
29654 (set_command): Removed.
29655 (unset_command): Likewise.
29656 (insmod_command): Likewise.
29657 (rmmod_command): Likewise.
29658 (lsmod_command): Likewise.
29659 (grub_command_init): Likewise.
29660
29661 * normal/completion.c (iterate_command): Use cmd->prio to check for
29662 active command.
29663 (complete_arguments): Use grub_extcmd_t structure to find options.
29664 (grub_normal_do_completion): Change function grub_iterate_commands to
29665 grub_command_iterate.
29666
29667 * normal/execute.c (grub_script_execute_cmd): No need to parse
29668 argument here.
29669
29670 * normal/main.c (grub_dyncmd_dispatcher): New function.
29671 (read_command_list): Register unload commands as dyncmd.
29672 (grub_cmd_normal): Use new command interface, register rescue,
29673 unregister normal at entry, register normal, unregister rescue at exit.
29674
29675 * include/grub/list.h (grub_list_test_t): New type.
29676 (grub_list_iterate): Return int instead of void.
29677 (grub_list_insert): New function.
29678 (GRUB_AS_NAMED_LIST_P): New macro.
29679 (GRUB_AS_PRIO_LIST): Likewise.
29680 (GRUB_AS_PRIO_LIST_P): Likewise.
29681 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29682 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29683 (grub_prio_list): New structure.
29684 (grub_prio_list_insert): New function.
29685 (grub_prio_list_remove): New inline function.
29686
29687 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29688 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29689 (GRUB_COMMAND_FLAG_MENU): Likewise.
29690 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29691 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29692 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29693 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29694 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29695 (grub_command): Likewise.
29696 (grub_register_command): Likewise.
29697 (grub_command_find): Likewise.
29698 (grub_iterate_commands): Likewise.
29699 (grub_command_init): Likewise.
29700 (grub_arg_parse): Likewise.
29701 (grub_arg_show_help): Likewise.
29702
29703 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29704 (grub_rescue_unregister_command): Likewise.
29705
29706 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29707 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29708 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29709
29710 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29711 grub_rescue_cmd_initrd.
29712 * include/grub/i386/loader.h: Likewise.
29713 * include/grub/x86_64/loader.h: Likewise.
29714
29715 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29716
1f4147aa 297172009-03-21 Bean <bean123ch@gmail.com>
29718
29719 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29720 instead of stat in mingw environment.
29721
29722 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29723
29724 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29725
29726 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29727 AC_CONFIG_LINKS.
29728
2156d5ba 297292009-03-21 Bean <bean123ch@gmail.com>
29730
29731 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29732 out of range error.
29733
177b82ca 297342009-03-18 Michel Dänzer <michel@daenzer.net>
29735
29736 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29737 checking inode flags for EXT4_EXTENTS_FLAG.
29738
14aad807 297392009-03-18 Robert Millan <rmh@aybabtu.com>
29740
29741 * loader/i386/linux.c: Include `<grub/video.h>' and
29742 `<grub/i386/pc/vbe.h>'..
29743 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29744 (grub_linux32_boot): Attempt to configure video settings with
29745 grub_linux_setup_video().
29746 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29747 to avoid grub_console_fini() which would step out of graphical mode
29748 unconditionally.
29749
8cf83a27 297502009-03-14 Robert Millan <rmh@aybabtu.com>
29751
29752 Fix build on powerpc.
29753 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29754
40164e75 297552009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29758 background image command.
29759
c58bc32a 297602009-03-12 Colin D Bennett <colin@gibibit.com>
29761
29762 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29763 (grub_gfxterm_putchar): Extract pairs of identical calls to
29764 draw_cursor out of conditional blocks.
29765
5415144a 297662009-03-11 Pavel Roskin <proski@gnu.org>
29767
29768 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29769 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29770
6394042e 297712009-03-11 Robert Millan <rmh@aybabtu.com>
29772
29773 * loader/i386/multiboot_elfxx.c
29774 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29775
b7b50e5f 297762009-03-11 Felix Zielcke <fzielcke@z-51.de>
29777
29778 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29779 `kern/handler.c'.
29780
1ca7fc96 297812009-03-11 Robert Millan <rmh@aybabtu.com>
29782
29783 * loader/i386/multiboot.c (code_size): New variable.
29784 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29785 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29786 4-byte alignment to MBI and others by increasing
7d074e3c 29787 `boot_loader_name_length' appropriately.
1ca7fc96 29788
29789 * loader/i386/multiboot_elfxx.c
29790 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29791
a83ea1d2 297922009-03-09 Felix Zielcke <fzielcke@z-51.de>
29793
29794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29795 `fs/ext2.c'.
29796
aa9f3bff 297972009-03-08 Robert Millan <rmh@aybabtu.com>
29798
29799 Make loader/i386/linux.c usable on i386-pc again.
29800
29801 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29802 memory to heap.
29803 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29804 `#error' stanza.
29805
d8b3b60e 298062009-03-07 Bean <bean123ch@gmail.com>
29807
29808 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29809 allocation.
29810
b362c9e9 298112009-03-06 Robert Millan <rmh@aybabtu.com>
29812
29813 Fix display issue on terminals with screen size other than 80x25
29814 (e.g. gfxterm with resolution higher than 640x480).
29815
29816 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29817 position relative to the center of the terminal instead of relying
b362c9e9 29818 on a hardcoded offset.
29819
9304eef1 298202009-03-04 Robert Millan <rmh@aybabtu.com>
29821
29822 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29823 installed.
29824
29825 * Makefile.in (host_kernel): New variable.
29826 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29827 scripts instead of just the windows one.
29828 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29829
eabc95fb 298302009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29831
29832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29833 `kern/handler.c'.
29834 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29835 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29838 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29839 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29840
ceb1223c 298412009-03-04 Felix Zielcke <fzielcke@z-51.de>
29842
29843 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29844 or if there's no space for the disk label and print the partition number on a
29845 invalid magic.
29846
4910684a 298472009-03-04 Felix Zielcke <fzielcke@z-51.de>
29848
29849 * util/misc.c: Include <time.h>.
29850 (grub_millisleep): New function.
29851
7e9ca17a 298522009-03-04 Bean <bean123ch@gmail.com>
29853
29854 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29855 another option -mno-red-zone.
29856
29857 * commands/handler.c: Change module description.
29858
29859 * kern/handler.c: Add missing space at the end of description line.
29860
29861 * kern/list.c: Likewise.
29862
f501677c 298632009-03-03 Robert Millan <rmh@aybabtu.com>
29864
29865 Move more components to the relocation area, and fix mbi pointer
29866 handling to use the destination rather than the origin (thanks to
29867 Vladimir Serbinenko for spotting).
29868
29869 * loader/i386/multiboot.c (mbi_dest): New variable.
29870 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29871 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29872 relocation area.
29873
9902d047 298742009-03-01 Bean <bean123ch@gmail.com>
29875
50fb7002 29876 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29877 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29878 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29879 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29880
29881 * loader/i386/efi/linux.c (acpi_guid): New variable.
29882 (acpi_guid): Likewise.
29883 (EBDA_SEG_ADDR): New constant.
29884 (LOW_MEM_ADDR): Likewise.
29885 (FAKE_EBDA_SEG): Likewise.
29886 (fake_bios_data): New function.
29887 (grub_linux_boot): Call fake_bios_data.
29888
71b9f361 298892009-03-01 Bean <bean123ch@gmail.com>
29890
29891 * commands/terminal.c: Removed.
29892
29893 * commands/handler.c: New file.
29894
29895 * include/grub/list.h: Likewise.
29896
29897 * include/grub/handler.h: Likewise.
29898
29899 * kern/list.c: Likewise.
29900
29901 * kern/handler.c: Likewise.
29902
29903 * kern/term.h: Include header file <grub/handler.h>.
29904 (grub_term_input): Move next field to the beginning.
29905 (grub_term_output): Likewise.
29906 (grub_term_input_class): New variable.
29907 (grub_term_output_class): Likewise.
29908 (grub_term_register_input): Changed to inline function.
29909 (grub_term_register_output): Likewise.
29910 (grub_term_unregister_input): Likewise.
29911 (grub_term_unregister_output): Likewise.
29912 (grub_term_set_current_input): Likewise.
29913 (grub_term_set_current_output): Likewise.
29914 (grub_term_get_current_input): Likewise.
29915 (grub_term_get_current_output): Likewise.
29916 (grub_term_iterate_input): Removed.
29917 (grub_term_iterate_output): Likewise.
29918
29919 * kern/term.c (grub_term_list_input): Removed.
29920 (grub_term_list_output): Likewise.
29921 (grub_term_input_class): New variable.
29922 (grub_term_output_class): Likewise.
50fb7002 29923 (grub_cur_term_input): Change variable as macro.
71b9f361 29924 (grub_cur_term_output): Likewise.
29925 (grub_term_register_input): Removed.
29926 (grub_term_register_output): Likewise.
29927 (grub_term_unregister_input): Likewise.
29928 (grub_term_unregister_output): Likewise.
29929 (grub_term_set_current_input): Likewise.
29930 (grub_term_set_current_output): Likewise.
29931 (grub_term_iterate_input): Likewise.
29932 (grub_term_iterate_output): Likewise.
29933 (grub_term_get_current_input): Likewise.
29934 (grub_term_get_current_output): Likewise.
29935
29936 * util/grub-editenv.c: Include header file <grub/handler.h>.
29937 (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-fstest.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/grub-probe.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 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29953 (grub_term_get_current_output): Likewise.
29954 (grub_term_input_class): New variable.
50fb7002 29955 (grub_term_output_class): Likewise.
71b9f361 29956
29957 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29958 (terminal_mod_SOURCES): Likewise.
29959 (terminal_mod_CFLAGS): Likewise.
29960 (terminal_mod_LDFLAGS): Likewise.
29961
29962 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29963 handler.c.
29964 (kernel_img_SOURCES): Add list.c and handler.c.
29965 (kernel_img_HEADERS): Add list.h and handler.h.
29966
29967 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29968 handler.c.
29969 (kernel_mod_SOURCES): Add list.c and handler.c.
29970 (kernel_mod_HEADERS): Add list.h and handler.h.
29971
29972 * conf/i386-coreboot.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/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29978 handler.c.
29979 (kernel_elf_SOURCES): Add list.c and handler.c.
29980 (kernel_elf_HEADERS): Add list.h and handler.h.
29981
29982 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29983 handler.c.
29984 (kernel_mod_SOURCES): Add list.c and handler.c.
29985 (kernel_mod_HEADERS): Add list.h and handler.h.
29986
29987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29988 handler.c.
29989 (kernel_elf_SOURCES): Add list.c and handler.c.
29990 (kernel_elf_HEADERS): Add list.h and handler.h.
29991
8a31787f 299922009-02-27 Robert Millan <rmh@aybabtu.com>
29993
29994 Factorize elf32 / elf64 code in Multiboot loader. This will
29995 prevent it from getting out of sync again.
29996
29997 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29998 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29999 grub_multiboot_load_elf64): Move from here ...
30000 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30001 grub_multiboot_load_elf): ... to here (new file).
30002
51cd3dfc 300032009-02-27 Robert Millan <rmh@aybabtu.com>
30004
30005 * util/grub.d/10_linux.in: Rename "single-user mode" to
30006 "recovery mode".
30007
6e8c9c3a 300082009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30009
30010 Don't leak in SCSI code.
30011 * disk/scsi.c (grub_scsi_close): free `scsi'.
30012
4b6bf4f9 300132009-02-27 Robert Millan <rmh@aybabtu.com>
30014
30015 * loader/i386/pc/multiboot.c: Move from here ...
30016 * loader/i386/multiboot.c: ... to here. Update all users.
30017
b9413424 300182009-02-27 Robert Millan <rmh@aybabtu.com>
30019
30020 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30021 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30022
50fb7002 300232009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30024
30025 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30026 b-tree.
30027
8cc50345 300282009-02-27 Robert Millan <rmh@aybabtu.com>
30029
30030 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30031 `0x' qualifier as 0 when base is specified as parameter).
30032
6e09b8b7 300332009-02-24 Bean <bean123ch@gmail.com>
30034
30035 * configure.ac: Check for -mcmodel=large in x86_64 target.
30036
30037 * include/grub/efi/api.h (efi_call_10): New macro.
30038 (efi_wrap_10): New function.
30039
30040 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30041 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30042 (GRUB_PE32_REL_BASED_LOW): Likewise.
30043 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30044 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30045 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30046 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30047 (GRUB_PE32_REL_BASED_REL): Likewise.
30048 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30049 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30050 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30051
30052 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30053 issue.
30054
30055 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30056 (efi_wrap_10): New function.
30057
30058 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30059
30060 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30061 MB/MBP model (NV chipset).
30062 (devdata_devs): Add devpath_5 to the list.
30063
30064 * load/i386/efi/linux.c (video_base): Remove variable.
30065 (RGB_MASK): New macro.
30066 (RGB_MAGIC): Likewise.
30067 (LINE_MIN): Likewise.
30068 (LINE_MAX): Likewise.
30069 (FBTEST_STEP): Likewise.
30070 (FBTEST_COUNT): Likewise.
30071 (fb_list): New variable.
30072 (grub_find_video_card): Remove function.
30073 (find_framebuf): New function.
30074 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30075 line length.
30076
30077 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30078 problem for x86_64.
30079
74b21bee 300802009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30081
30082 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30083
30084 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30085 coding tool name.
30086
a455f472 300872009-02-22 Robert Millan <rmh@aybabtu.com>
30088
30089 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30090 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30091 in our relocation, instead of using it directly from heap. Also
30092 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30093
6374daf3 300942009-02-21 Robert Millan <rmh@aybabtu.com>
30095
30096 Implement USB keyboard support (based on patch by Marco Gerards)
30097
30098 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30099 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30100 (usb_keyboard_mod_LDFLAGS): New variables.
30101
30102 * term/usb_keyboard.c: New file.
30103
8fa4ea70 301042009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30105
30106 Corrected wrong declaration
30107
30108 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30109
353976ac 301102009-02-14 Christian Franke <franke@computer.org>
30111
30112 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30113 (grub_lspci_iter): Print class code and programming interface byte.
30114
6aa1169b 301152009-02-14 Christian Franke <franke@computer.org>
30116
30117 * gendistlist.sh: Ignore `.svn' directories.
30118
265372ca 301192009-02-14 Felix Zielcke <fzielcke@z-51.de>
30120
30121 * fs/fat.c: Add 2009 to Copyright line.
30122
9ff516f3 301232009-02-14 Christian Franke <franke@computer.org>
30124
30125 * commands/hdparm.c: New file. Provides `hdparm' command
30126 which sends ATA commands via grub_disk_ata_pass_through ().
30127
30128 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30129
30130 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30131 and <grub/cpu/io.h> to include/grub/ata.h.
30132 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30133 (GRUB_CDROM_SECTOR_SIZE): Remove.
30134 (GRUB_ATA_*): Move to include/grub/ata.h.
30135 (GRUB_ATAPI_*): Likewise.
30136 (enum grub_ata_commands): Likewise.
30137 (enum grub_ata_timeout_milliseconds): Likewise.
30138 (struct grub_ata_device): Likewise.
30139 (grub_ata_regset): Likewise.
30140 (grub_ata_regget): Likewise.
30141 (grub_ata_regset2): Likewise.
30142 (grub_ata_regget2): Likewise.
30143 (grub_ata_check_ready): Likewise.
30144 (grub_ata_wait_not_busy): Remove static, exported in
30145 include/grub/ata.h.
30146 (grub_ata_wait_drq): Likewise.
30147 (grub_ata_pio_read): Likewise.
30148
30149 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30150 function for hdparm.mod.
30151
30152 * include/grub/ata.h: New file, contains declarations from
30153 disk/ata.c.
30154 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30155
30156 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30157 (grub_disk_ata_pass_through): New exported variable.
30158
30159 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30160
772e23da 301612009-02-13 Colin D Bennett <colin@gibibit.com>
30162
30163 Support multiple fallback entries, and provide an API to support
30164 executing default+fallback menu entries. Renamed the `terminal' menu
30165 viewer to `text'.
30166
30167 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30168 variable declaration.
30169 (grub_menu_execute_callback): New structure declaration.
30170 (grub_menu_execute_callback_t): New typedef.
30171 (grub_menu_execute_with_fallback): New function declaration.
30172 (grub_menu_get_entry): Likewise.
30173 (grub_menu_get_timeout): Likewise.
30174 (grub_menu_set_timeout): Likewise.
30175
30176 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30177
30178 * normal/menu.c (grub_wait_after_message): Moved to
30179 `normal/menu_text.c'.
30180 (draw_border): Likewise.
30181 (print_message): Likewise.
30182 (print_entry): Likewise.
30183 (print_entries): Likewise.
30184 (grub_menu_init_page): Likewise.
30185 (get_entry_number): Likewise.
30186 (print_timeout): Likewise.
30187 (run_menu): Likewise.
30188 (grub_menu_execute_entry): Likewise.
30189 (show_text_menu): Likewise.
30190 (get_and_remove_first_entry_number): New function.
30191 (grub_menu_execute_with_fallback): Likewise.
30192 (get_entry): Renamed to ...
30193 (grub_menu_get_entry): .. this and made it global.
30194 (get_timeout): Renamed to ...
30195 (grub_menu_get_timeout): ... this and made it global.
30196 (set_timeout): Renamed to ...
30197 (grub_menu_set_timeout): ... this and made it global.
30198 (grub_normal_terminal_menu_viewer): Renamed to ...
30199 (grub_normal_text_menu_viewer): ... this.
30200
30201 * normal/menu_text.c: New file. Extracted text-menu-specific code
30202 from normal/menu.c.
30203
30204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30205 (normal_mod_SOURCES): Likewise.
30206
30207 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30208 (normal_mod_SOURCES): Likewise.
30209
30210 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30211 (normal_mod_SOURCES): Likewise.
30212
30213 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30214 (normal_mod_SOURCES): Likewise.
30215
30216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30217 (normal_mod_SOURCES): Likewise.
30218
30219 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30220 (normal_mod_SOURCES): Likewise.
30221
30222 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30223 (normal_mod_SOURCES): Likewise.
30224
16ac430e 302252009-02-11 Robert Millan <rmh@aybabtu.com>
30226
30227 * util/grub.d/00_header.in: Update old reference to `font' command.
30228
06ff20fc 302292009-02-10 Felix Zielcke <fzielcke@z-51.de>
30230
30231 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30232
30233 Based on patch from Javier Martín.
30234
96da9407 302352009-02-09 Felix Zielcke <fzielcke@z-51.de>
30236
30237 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30238 to avoid false positives with FAT.
96da9407 30239 (grub_fstest_SOURCES): Likewise.
30240 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30241 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30243 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30244 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30245 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30246
6dca6fe4 302472009-02-09 Felix Zielcke <fzielcke@z-51.de>
30248
06ff20fc 30249 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30250 bpb.version_specific.fat12_or_fat16.fstype and
30251 bpb.version_specific.fat32.fstype.
30252
2550c62f 302532009-02-08 Robert Millan <rmh@aybabtu.com>
30254
be110b30 30255 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30256
56978920 302572009-02-08 Robert Millan <rmh@aybabtu.com>
30258
30259 * Makefile.in (host_os, host_cpu): New variables.
30260 (target_os): Remove. Update all users.
30261
d64399b5 302622009-02-08 Marco Gerards <marco@gnu.org>
30263
30264 * Makefile.in (enable_grub_emu_usb): New variable.
30265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30266 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30267 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30268 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30269 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30270 `usbtest.mod' and `usbms.mod'.
30271 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30272 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30273 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30274 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30275 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30276 variables.
30277
30278 * disk/usbms.c: New file.
30279
30280 * include/grub/usb.h: Likewise.
30281
30282 * include/grub/usbtrans.h: Likewise.
30283
30284 * include/grub/usbdesc.h: Likewise.
30285
30286 * bus/usb/usbtrans.c: Likewise.
30287
30288 * bus/usb/ohci.c: Likewise.
30289
30290 * bus/usb/uhci.c: Likewise.
30291
30292 * bus/usb/usbhub.c: Likewise.
30293
30294 * bus/usb/usb.c: Likewise.
30295
30296 * commands/usbtest.c: Likewise.
30297
30298 * util/usb.c: Likewise.
50fb7002 30299
d64399b5 30300 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30301
30302 * configure.ac: Test for libusb presence.
50fb7002 30303
d64399b5 30304 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30305
2b40d6bb 303062009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30307
30308 * kern/mm.c: Add more comments.
30309
73a4ce81 303102009-02-08 Robert Millan <rmh@aybabtu.com>
30311
30312 Patch from Javier Martín.
30313 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30314 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30315
f821ce59 303162009-02-08 Robert Millan <rmh@aybabtu.com>
30317
30318 * fs/cpio.c: Split tar functionality to ...
30319 * fs/tar.c: ... here (new file). Update all users.
30320
aebfc4b0 303212009-02-07 Robert Millan <rmh@aybabtu.com>
30322
30323 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30324 backward-incompatible features.
30325
30326 Based on patch from Javier Martín, with some adjustments.
30327
50fb7002 303282009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30329
30330 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30331
0bb5115e 303322009-02-07 Robert Millan <rmh@aybabtu.com>
30333
30334 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30335 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30336 after the RAID stuff.
30337
38a0f8e7 303382009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30339
50fb7002 30340 Fixes problem when running vbetest command as reported by
38a0f8e7 30341 Vladimir Serbinenko <phcoder@gmail.com>.
30342
30343 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30344
3143cc1c 303452009-02-04 Felix Zielcke <fzielcke@z-51.de>
30346
30347 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30348 /dev/md/NpN style mdraid devices.
30349
9cba6fce 303502009-02-03 Felix Zielcke <fzielcke@z-51.de>
30351
30352 * util/unifont2pff.rb: Remove.
30353
e507a2c1 303542009-02-03 Felix Zielcke <fzielcke@z-51.de>
30355
30356 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30357 `#'.
30358
d2c2b4cd 303592009-02-03 Felix Zielcke <fzielcke@z-51.de>
30360
30361 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30362 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30363 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30364 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30366 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30368
b4315fb0 303692009-02-02 Christian Franke <franke@computer.org>
30370
30371 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30372
de3aa260 303732009-02-01 Felix Zielcke <fzielcke@z-51.de>
30374
7c3ff286 30375 * INSTALL: Note that we now require at least autoconf 2.59 and
30376 that LZO is optional.
de3aa260 30377
825a182b 303782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30379
30380 Base on patch on bug #24154 created by Tomas Tintera
30381 <trosos@seznam.cz>.
30382
30383 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30384
a69ef770 303852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30386
7c3ff286 30387 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30388 <bero@arklinux.org>.
30389
30390 * normal/parser.y (script_init): Add missing semicolon.
30391
6fa42fa6 303922009-01-31 Colin D Bennett <colin@gibibit.com>
30393
7c3ff286 30394 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30395 (free_menu_entry_classes): Added.
30396 (grub_normal_menu_addentry): Added class property handling.
30397 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30398 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30399
30400 * normal/menu_viewer.c: New file.
30401
30402 * normal/menu.c (run_menu_entry): Renamed to ...
30403 (grub_menu_execute_entry): ... this and made it as global.
30404 (grub_menu_run): Renamed to ...
30405 (show_text_menu): ... this and made it local.
30406 (show_text_menu): Adapt to new function names.
30407 (grub_normal_terminal_menu_viewer): New global variable.
30408
30409 * include/grub/menu.h: New file.
30410
30411 * include/grub/menu_viewer.h: New file.
30412
30413 * include/grub/normal.h: Added include to grub/menu.h.
30414 (grub_menu_entry): Moved to include/grub/menu.h.
30415 (grub_menu_entry_t): Likewise.
30416 (grub_menu): Likewise.
30417 (grub_menu_t): Likewise.
30418 (grub_normal_terminal_menu_viewer): Added.
30419 (grub_menu_execute_entry): Likewise.
30420 (grub_menu_run): Removed.
30421
30422 * DISTLIST: Added include/grub/menu.h.
30423 Added include/grub/menu_viewer.h.
30424 Added normal/menu_viewer.c.
30425
304262009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30427
30428 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30429 arglist for menutitle arguments.
30430
30431 * normal/main.c (grub_normal_menu_addentry): Likewise.
30432
30433 * normal/parser.y (menuentry): Likewise.
30434
30435 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30436
30437 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30438 (grub_script_create_cmdmenu): Likewise.
30439
30440 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30441
30442 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30443 changes.
30444
30445 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30446
30447 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30448
30449 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30450
30451 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30452
30453 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30454
30455 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30456
56192c23 304572009-01-30 Christian Franke <franke@computer.org>
30458
30459 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30460 in option help text.
30461
d72521b3 304622009-01-27 Pavel Roskin <proski@gnu.org>
30463
30464 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30465
994b5e84 304662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30467
30468 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30469
30470 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30471
30472 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30473 unregister function.
30474
6a7eab2c 304752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30476
30477 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30478
30479 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30480
30481 * util/grub-mkfont.c (usage): Fix typo.
30482
30483 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30484
1806b56e 304852009-01-26 Daniel Mierswa <impulze@impulze.org>
30486
3fb18f09 30487 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30488
336e1fb9 30489 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30490
1806b56e 30491 * kern/misc.c (grub_strcasecmp): New function.
30492 (grub_strcasecmp): Use grub_size_t instead of int for length.
30493 Fix return value.
30494 * include/grub/misc.h: Update function prototypes.
30495
580b2a0f 304962009-01-26 Robert Millan <rmh@aybabtu.com>
30497
30498 * configure.ac: Fix cross-compilation check.
ef257b36 30499
d31c24f1 305002009-01-22 Christian Franke <franke@computer.org>
30501
30502 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30503 (precision) digit string. Allow `.format2' without `format1' (width).
30504 Limit input chars for `%s' output to `format2' if specified. This is
30505 compatible with standard printf ().
30506
3138b44c 305072009-01-22 Christian Franke <franke@computer.org>
30508
30509 * disk/ata.c (grub_ata_wait_status): Replace by ...
30510 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30511 other status bits may be invalid while BSY is asserted.
30512 (grub_ata_check_ready): New function.
30513 (grub_ata_cmd): Removed.
30514 (grub_ata_wait_drq): New function.
30515 (grub_ata_strncpy): Remove inline.
30516 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30517 and error check now done by grub_ata_wait_drq ().
30518 (grub_ata_pio_write): Likewise.
30519 (grub_atapi_identify): Set DEV before check for !BSY. Use
30520 grub_ata_wait_drq () to wait for data.
30521 (grub_ata_device_initialize): Add status register check to
30522 detect missing SATA slave devices. Add debug messages.
30523 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30524 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30525 transfer loop by grub_ata_pio_write ().
30526 (grub_ata_identify): Set DEV before check for !BSY. Use
30527 grub_ata_wait_drq () to wait for data.
ef257b36 30528 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30529 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30530 read/write in one loop. Fix invalid command on write. Fix incomplete
30531 command on (size % batch) == 0. Add missing error check after write of
30532 last block. Add debug messages.
30533 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30534
59a64ef6 305352009-01-19 Christian Franke <franke@computer.org>
30536
30537 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30538 (GRUB_ATAPI_IREASON_*): Likewise.
30539 (grub_ata_pio_write): Fix timeout error return.
30540 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30541 (grub_atapi_wait_drq): New function.
30542 (grub_atapi_packet): New parameter `size'.
30543 Use grub_atapi_wait_drq () and direct write instead of
30544 grub_ata_pio_write ().
30545 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30546 reads the number of bytes requested by the device for each DRQ
30547 assertion.
30548 (grub_atapi_write): Remove old implementation, return not
30549 implemented instead.
30550
1cfe20b3 305512009-01-19 Christian Franke <franke@computer.org>
30552
30553 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30554 of 512 to calculate data size.
30555 (grub_scsi_read12): Likewise.
30556 (grub_scsi_write10): Likewise.
30557 (grub_scsi_write12): Likewise.
30558 (grub_scsi_read): Adjust size according to blocksize.
30559 Add checks for invalid blocksize and unaligned transfer.
30560
bee5fe5d 305612009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30562
30563 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30564
ef257b36 30565 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30566 width glyphs.
30567
3e643f8c 305682009-01-19 Robert Millan <rmh@aybabtu.com>
30569
30570 * config.guess: Update to latest version from config git.
30571 * config.sub: Likewise.
30572
4fa80998 305732009-01-17 Felix Zielcke <fzielcke@z-51.de>
30574
30575 * Makefile.in: Change font compilation to use new grub-mkfont instead
30576 of java version.
30577
30578 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30579 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30580 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30581 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30582 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30583 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30584 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30585 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30586 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30587
7086085b 305882009-01-16 Christian Franke <franke@computer.org>
30589
30590 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30591 (enum grub_ata_timeout_milliseconds): New enum.
30592 (grub_ata_wait_status): Add parameter milliseconds.
30593 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30594 recovery from timed-out commands.
30595 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30596 return grub_errno instead of REG_ERROR.
30597 (grub_ata_pio_write): Add parameter milliseconds.
30598 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30599 Pass milliseconds to grub_ata_wait_status () and
30600 grub_ata_pio_read ().
30601 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30602 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30603 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30604 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30605 It is not suitable for device detection, because DEV bit is ignored,
30606 the command may run too long, and not all devices set the signature
30607 properly.
30608 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30609 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30610 Fix device selection, DEV bit must be set first to address the registers
30611 of the correct device.
30612 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30613 grub_ata_pio_read/write ().
30614 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30615 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30616
4a412913 306172009-01-13 Carles Pina i Estany <carles@pina.cat>
30618
30619 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30620
7795c55e 306212009-01-13 Bean <bean123ch@gmail.com>
d913988c 30622
30623 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30624
7795c55e 306252009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30626
30627 * Makefile.in: (enable_grub_mkfont): New variable.
30628 (freetype_cflags): Likewise.
30629 (freetype_libs): Likewise.
30630
30631 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30632 (grub_mkfont_SOURCES): New variable.
30633 (grub_mkfont_CFLAGS): Likewise.
30634 (grub_mkfont_LDFLAGS): Likewise.
30635
30636 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30637 library if `--enable-grub-mkfont' is requested.
30638 (enable_grub_mkfont): New variable.
30639 (freetype_cflags): Likewise.
30640 (freetype_libs): Likewise.
30641
30642 * util/grub-mkfont.c: New file.
30643
093af1fe 306442009-01-12 Christian Franke <franke@computer.org>
30645
30646 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30647 mode check. Fix setting of compat_use[].
30648
f36cc108 306492009-01-10 Robert Millan <rmh@aybabtu.com>
30650
30651 Update a few copyright years which we forgot to do in 2008 (only for
30652 files whose changes made in 2008 were copyright-significant)
30653
30654 * Makefile.in: Add 2008 to Copyright line.
30655 * disk/ieee1275/ofdisk.c: Likewise.
30656 * disk/efi/efidisk.c: Likewise.
30657 * kern/dl.c: Likewise.
30658 * kern/sparc64/ieee1275/init.c: Likewise.
30659 * kern/mm.c: Likewise.
30660 * kern/efi/mm.c: Likewise.
30661 * boot/i386/pc/boot.S: Likewise.
30662 * genfslist.sh: Likewise.
30663 * fs/iso9660.c: Likewise.
30664 * fs/hfs.c: Likewise.
30665 * fs/jfs.c: Likewise.
30666 * fs/minix.c: Likewise.
30667 * fs/ufs.c: Likewise.
30668 * gensymlist.sh.in: Likewise.
30669 * genkernsyms.sh.in: Likewise.
30670 * include/grub/misc.h: Likewise.
30671 * include/grub/types.h: Likewise.
30672 * include/grub/symbol.h: Likewise.
30673 * include/grub/elf.h: Likewise.
30674 * include/grub/kernel.h: Likewise.
30675 * include/grub/disk.h: Likewise.
30676 * include/grub/dl.h: Likewise.
30677 * include/grub/i386/linux.h: Likewise.
30678 * include/grub/i386/pc/biosdisk.h: Likewise.
30679 * include/grub/efi/api.h: Likewise.
30680 * include/grub/efi/pe32.h: Likewise.
30681 * include/grub/util/misc.h: Likewise.
30682 * normal/execute.c: Likewise.
30683 * normal/arg.c: Likewise.
30684 * normal/completion.c: Likewise.
30685 * normal/lexer.c: Likewise.
30686 * normal/parser.y: Likewise.
30687 * normal/misc.c: Likewise.
30688 * commands/i386/pc/vbeinfo.c: Likewise.
30689 * commands/hexdump.c: Likewise.
30690 * commands/terminal.c: Likewise.
30691 * commands/ls.c: Likewise.
30692 * commands/help.c: Likewise.
30693 * partmap/pc.c: Likewise.
30694 * loader/efi/chainloader.c: Likewise.
30695 * loader/multiboot_loader.c: Likewise.
30696 * loader/i386/pc/multiboot2.c: Likewise.
30697 * term/efi/console.c: Likewise.
30698 * term/i386/pc/serial.c: Likewise.
30699 * util/lvm.c: Likewise.
30700 * util/console.c: Likewise.
30701 * util/i386/efi/grub-mkimage.c: Likewise.
30702 * util/raid.c: Likewise.
30703
7f02114b 307042009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30705
30706 * commands/videotest.c: Removed include to grub/machine/memory.h.
30707
30708 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30709 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30710 (video_mod_SOURCES): Removed.
30711 (video_mod_CFLAGS): Likewise.
30712 (video_mod_LDFLAGS): Likewise.
30713 (gfxterm_mod_SOURCES): Likewise.
30714 (gfxterm_mod_CFLAGS): Likewise.
30715 (gfxterm_mod_LDFLAGS): Likewise.
30716 (videotest_mod_SOURCES): Likewise.
30717 (videotest_mod_CFLAGS): Likewise.
30718 (videotest_mod_LDFLAGS): Likewise.
30719 (bitmap_mod_SOURCES): Likewise.
30720 (bitmap_mod_CFLAGS): Likewise.
30721 (bitmap_mod_LDFLAGS): Likewise.
30722 (tga_mod_SOURCES): Likewise.
30723 (tga_mod_CFLAGS): Likewise.
30724 (tga_mod_LDFLAGS): Likewise.
30725 (jpeg_mod_SOURCES): Likewise.
30726 (jpeg_mod_CFLAGS): Likewise.
30727 (jpeg_mod_LDFLAGS): Likewise.
30728 (png_mod_SOURCES): Likewise.
30729 (png_mod_CFLAGS): Likewise.
30730 (png_mod_LDFLAGS): Likewise.
30731
30732 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30733 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30734 (video_mod_SOURCES): Added.
30735 (video_mod_CFLAGS): Likewise.
30736 (video_mod_LDFLAGS): Likewise.
30737 (videotest_mod_SOURCES): Likewise.
30738 (videotest_mod_CFLAGS): Likewise.
30739 (videotest_mod_LDFLAGS): Likewise.
30740 (bitmap_mod_SOURCES): Likewise.
30741 (bitmap_mod_CFLAGS): Likewise.
30742 (bitmap_mod_LDFLAGS): Likewise.
30743 (tga_mod_SOURCES): Likewise.
30744 (tga_mod_CFLAGS): Likewise.
30745 (tga_mod_LDFLAGS): Likewise.
30746 (jpeg_mod_SOURCES): Likewise.
30747 (jpeg_mod_CFLAGS): Likewise.
30748 (jpeg_mod_LDFLAGS): Likewise.
30749 (png_mod_SOURCES): Likewise.
30750 (png_mod_CFLAGS): Likewise.
30751 (png_mod_LDFLAGS): Likewise.
30752 (gfxterm_mod_SOURCES): Likewise.
30753 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30754 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30755
30756 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30757 grub/machine/console.h.
30758
644fff97 307592009-01-04 Jerone Young <jerone@gmail.com>
30760
30761 Make on screen instructions clearer
30762
30763 Based on patch created by Jidanni <jidanni@jidanni.org>
30764
30765 * normal/menu.c: print clearer instructions on the screen
30766
1e901a75 307672009-01-02 Colin D Bennett <colin@gibibit.com>
30768
30769 New font engine.
34c44600 30770
1e901a75 30771 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30772 build system and fixed gfxterm.c to work with different sized fonts.
30773
30774 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30775
1e901a75 30776 * configure: Re-generated.
34c44600 30777
1e901a75 30778 * DISTLIST: Removed font/manager.c.
30779 Added font/font.c.
30780 Added font/font_cmd.c.
34c44600 30781
1e901a75 30782 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30783 compilation.
34c44600 30784
1e901a75 30785 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30786
30787 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30788
30789 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30790
1e901a75 30791 * normal/menu.c: Likewise.
34c44600 30792
1e901a75 30793 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30794 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30795
1e901a75 30796 * include/grub/font.h: Replaced with new file.
34c44600 30797
1e901a75 30798 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30799 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30800 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30801 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30802 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30803 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30804 fg_red, fg_green, fg_blue, fg_alpha.
30805 (grub_video_adapter): Removed blit_glyph.
34c44600 30806 (grub_video_blit_glyph): Removed.
30807
1e901a75 30808 * font/manager.c: Removed file.
34c44600 30809
30810 * font/font.c: New file.
30811
1e901a75 30812 * font/font_cmd.c: Likewise.
34c44600 30813
1e901a75 30814 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30815
1e901a75 30816 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30817 (grub_video_vbe_map_rgba): Likewise.
30818 (grub_video_vbe_unmap_color_int): Likewise.
30819 (grub_video_vbe_blit_glyph): Removed.
30820 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30821
1e901a75 30822 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30823 (get_pixel): Likewise.
34c44600 30824 (set_pixel): Likewise.
30825
1e901a75 30826 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30827
1e901a75 30828 * term/gfxterm.c: Adapted to new font engine.
34c44600 30829
1e901a75 30830 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30831
1e901a75 30832 * term/i386/pc/vga.c: Likewise.
34c44600 30833
1e901a75 30834 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30835
1e901a75 30836 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30837
1e901a75 30838 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30839
1e901a75 30840 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30841
1e901a75 30842 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30843
1e901a75 30844 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30845
1e901a75 30846 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30847
1e901a75 30848 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30849
1e901a75 30850 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30851
30852 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30853
1e901a75 30854 * util/grub-mkconfig_lib.in: Changed font extension.
30855
278922e8 308562008-12-28 Felix Zielcke <fzielcke@z-51.de>
30857
30858 * util/getroot.c (grub_util_get_grub_dev): Add support for
30859 /dev/md/dNNpNN style partitionable mdraid devices.
30860
3ced05cf 308612008-12-12 Alex Smith <alex@alex-smith.me.uk>
30862
30863 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30864 at a time limit of the PXE TFTP API correctly.
30865 (grub_pxefs_close): Likewise.
30866
7fd0ee30 308672008-11-29 Robert Millan <rmh@aybabtu.com>
30868
34c44600 30869 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30870 grub_ata_device_initialize() calls.
30871
34c44600 308722008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30873
30874 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30875 iteration failed.
30876 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30877
89313780 308782008-11-28 Robert Millan <rmh@aybabtu.com>
30879
30880 Fix build on powerpc-ieee1275. Based on patch created by
30881 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30882 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30883 `kern/ieee1275/mmap.c'.
30884 * include/grub/powerpc/ieee1275/memory.h: New file.
30885
15257703 30886 Provide grub-install on coreboot.
30887 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30888 (grub_install_SOURCES): New variable.
30889 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30890 usable on coreboot.
30891
9fc5388a 308922008-11-25 Felix Zielcke <fzielcke@z-51.de>
30893
30894 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30895 to `grub_term_input_t'.
30896 (grub_term_get_current_output): Change return type to
30897 `grub_term_output_t'.
30898
bc3a2f31 308992008-11-22 Robert Millan <rmh@aybabtu.com>
30900
34c44600 30901 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30902 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30903 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30904 grub_vga_text_cls().
30905
80fc88f2 30906 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30907 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30908
cbf36fd3 30909 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30910 to 0x200000 (avoids trouble with some OFW implementations, and matches
30911 with the one in Yaboot).
30912 Reported by Manoel Abranches
30913
73e8e268 309142008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30915
30916 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30917 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30918
73e8e268 30919 * util/grub-mkconfig_lib.in (grub_warn): New function.
30920 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30921 warnings, to obtain consistent formatting.
30922 * util/grub.d/00_header.in: Likewise.
30923 * util/update-grub_lib.in: Likewise.
30924
e94045a1 30925 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30926 Move comment text to `#error' stanza.
e94045a1 30927
79d29fd7 30928 Harmonize ieee1275's grub_available_iterate() with the generic
30929 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30930 build problem on i386-ieee1275):
30931 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30932 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30933 parameter `type'. Update all users of this function.
30934 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30935 `kern/ieee1275/mmap.c'.
30936 * kern/ieee1275/init.c
30937 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30938 with ...
30939 (grub_machine_mmap_iterate): ... this.
30940 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30941 return type to `grub_err_t'. Update all implementations of this
30942 function prototype.
30943 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30944 Likewise.
30945
60d6b16e 30946 Add `lsmmap' command (lists firmware-provided memory map):
30947 * commands/lsmmap.c: New file.
30948 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30949 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30950 variables.
30951 * conf/powerpc-ieee1275.rmk: Likewise.
30952 * conf/i386-coreboot.rmk: Likewise.
30953 * conf/i386-ieee1275.rmk: Likewise.
30954
ebaaf49b 309552008-11-19 Robert Millan <rmh@aybabtu.com>
30956
30957 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30958 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30959 constraints to initrd allocation (based on code from
30960 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30961 for Linux to find it.
ebaaf49b 30962
dfab719f 309632008-11-14 Robert Millan <rmh@aybabtu.com>
30964
30965 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30966 order to cope with duplicate slashes.
30967
10fc3eb9 309682008-11-14 Robert Millan <rmh@aybabtu.com>
30969
30970 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30971 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30972 don't want to mess with lower memory, because it is used in the Linux
30973 loader.
30974
30975 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30976 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30977 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30978 is in our heap (probably as a result of it being corrupted during
2f2a3442 30979 decompression). Add #error instance with comment to explain why this
30980 loader isn't currently usable on PC/BIOS.
10fc3eb9 30981
e2e07847 309822008-11-14 Robert Millan <rmh@aybabtu.com>
30983
30984 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30985 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30986
fe8e8d69 309872008-11-12 Robert Millan <rmh@aybabtu.com>
30988
30989 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30990
30991 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30992 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30993 from here ...
30994 * include/grub/i386/pc/memory.h: ... to here.
30995
976b07d0 309962008-11-12 Robert Millan <rmh@aybabtu.com>
30997
30998 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30999 split).
31000
31001 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31002 (grub_console_cur_color, grub_console_real_putchar)
31003 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31004 (grub_console_setcolorstate, grub_console_setcolor)
31005 (grub_console_getcolor): Move from here ...
31006 * include/grub/i386/vga_common.h: ... to here (new file).
31007
31008 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31009 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31010 `<grub/i386/io.h>'.
31011 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31012 `<grub/i386/vga_common.h>'.
31013
76679cd3 310142008-11-12 Robert Millan <rmh@aybabtu.com>
31015
31016 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31017 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31018 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31019 variables.
31020 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31021 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31022
31023 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31024 grub_console_init() with call to grub_vga_text_init().
31025 (grub_machine_fini): Replace call to
31026 grub_console_fini() with call to grub_vga_text_fini() and
31027 grub_at_keyboard_fini().
31028
31029 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31030 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31031 (grub_console_setcolorstate, grub_console_setcolor)
31032 (grub_console_getcolor): New function prototypes.
31033
31034 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31035 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31036 (grub_vga_text_setcursor): Static-ize.
31037 (grub_vga_text_term): New structure.
31038 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31039
31040 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31041 (grub_console_cur_color, grub_console_standard_color)
31042 (grub_console_normal_color, grub_console_highlight_color)
31043 (map_char, grub_console_putchar, grub_console_getcharwidth)
31044 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31045 (grub_console_getcolor): Move from here ...
31046 * term/i386/vga_common.c: ... to here (same function names).
31047
95b841d3 310482008-11-12 Robert Millan <rmh@aybabtu.com>
31049
31050 Use newly-added Multiboot support in coreboot.
31051
31052 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31053 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31054
31055 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31056 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31057 (codestart): Store the MBI in `startup_multiboot_info' when we're
31058 being loaded using Multiboot.
31059
31060 * kern/i386/coreboot/init.c (grub_machine_init): Move
31061 grub_at_keyboard_init() call to beginning of function (useful for
31062 debugging). Call grub_machine_mmap_init() before attempting to use
31063 grub_machine_mmap_iterate().
31064 (grub_lower_mem, grub_upper_mem): Move from here ...
31065 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31066 here (new file).
31067
31068 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31069 function prototype.
31070
761ca975 310712008-11-12 Robert Millan <rmh@aybabtu.com>
31072
31073 Fix a regression introduced by the at_keyboard.mod split. Because
31074 some terminals are default on some platforms and non-default on
31075 others, the first terminal being registered determines which is
31076 going to be default.
31077
31078 * kern/term.c (grub_term_register_input): If this is the first
31079 terminal being registered, set it as the current one.
31080 (grub_term_register_output): Likewise.
31081
31082 * term/efi/console.c (grub_console_init): Do not call
31083 grub_term_set_current_output() or grub_term_set_current_input().
31084 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31085 * term/i386/pc/console.c (grub_console_init): Likewise.
31086 (grub_console_fini): Do not call grub_term_set_current_input()
31087 (but leave grub_term_set_current_output() to restore text mode).
31088
6c529df7 310892008-11-10 Robert Millan <rmh@aybabtu.com>
31090
31091 * util/grub.d/00_header.in: Add backward compatibility check for
31092 versions of terminal.mod that don't understand `terminal_input' or
31093 `terminal_output'.
31094
132e4113 310952008-11-09 Robert Millan <rmh@aybabtu.com>
31096
31097 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31098 `terminal_input' / `terminal_output', not `terminal'.
31099
ac293d50 311002008-11-08 Robert Millan <rmh@aybabtu.com>
31101
31102 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31103 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31104
0025933a 311052008-11-08 Robert Millan <rmh@aybabtu.com>
31106
31107 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31108 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31109 members. Update all users.
31110 * util/console.c (grub_ncurses_term): Split in ...
31111 (grub_ncurses_term_input): ... this, and ...
31112 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31113 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31114
37c86336 311152008-11-08 Robert Millan <rmh@aybabtu.com>
31116
31117 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31118 (PKGDATA): Add $(pkgdata_SRCDIR).
31119 (pkglib_BUILDDIR): New variable.
31120 (pkgdata_SRCDIR): New variable.
31121 (build_env.mk): New target.
31122 (include_DATA): New variable.
31123 (install-local): Install $(include_DATA) files in $(includedir).
31124
b6c15a2d 311252008-11-07 Pavel Roskin <proski@gnu.org>
31126
d99d46f1 31127 * gendistlist.sh: Use C locale for sorting to ensure consistent
31128 output on all systems.
31129
b6c15a2d 31130 * util/grub.d/00_header.in: Remove incorrect space before
31131 "serial".
31132
c32ee8c9 311332008-11-07 Robert Millan <rmh@aybabtu.com>
31134
31135 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31136 per specification.
31137 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31138 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31139 (based on find_multi_boot1_header).
31140 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31141 using find_multi_boot2_header(), and abort if neither Multiboot or
31142 Multiboot headers were found.
31143
651c29b7 311442008-11-07 Robert Millan <rmh@aybabtu.com>
31145
31146 Modularize at_keyboard.mod:
31147
31148 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31149 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31150 (at_keyboard_mod_LDFLAGS): New variables.
31151
31152 Actual terminal split:
31153
31154 * include/grub/term.h (struct grub_term): Split in ...
31155 (struct grub_term_input): ... this, and ...
31156 (struct grub_term_output): ... this. Update all users.
31157 (grub_term_set_current): Split in ...
31158 (grub_term_set_current_input): ... this, and ...
31159 (grub_term_set_current_output): ... this.
31160 (grub_term_get_current): Split in ...
31161 (grub_term_get_current_input): ... this, and ...
31162 (grub_term_get_current_output): ... this.
31163 (grub_term_register): Split in ...
31164 (grub_term_register_input): ... this, and ...
31165 (grub_term_register_output): ... this.
31166 (grub_term_unregister): Split in ...
31167 (grub_term_unregister_input): ... this, and ...
31168 (grub_term_unregister_output): ... this.
31169 (grub_term_iterate): Split in ...
31170 (grub_term_iterate_input): ... this, and ...
31171 (grub_term_iterate_output): ... this.
31172
31173 * kern/term.c (grub_term_list): Split in ...
31174 (grub_term_list_input): ... this, and ...
31175 (grub_term_list_output): ... this. Update all users.
31176 (grub_cur_term): Split in ...
31177 (grub_cur_term_input): ... this, and ...
31178 (grub_cur_term_output): ... this. Update all users.
31179 (grub_term_set_current): Split in ...
31180 (grub_term_set_current_input): ... this, and ...
31181 (grub_term_set_current_output): ... this.
31182 (grub_term_get_current): Split in ...
31183 (grub_term_get_current_input): ... this, and ...
31184 (grub_term_get_current_output): ... this.
31185 (grub_term_register): Split in ...
31186 (grub_term_register_input): ... this, and ...
31187 (grub_term_register_output): ... this.
31188 (grub_term_unregister): Split in ...
31189 (grub_term_unregister_input): ... this, and ...
31190 (grub_term_unregister_output): ... this.
31191 (grub_term_iterate): Split in ...
31192 (grub_term_iterate_input): ... this, and ...
31193 (grub_term_iterate_output): ... this.
31194
31195 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31196 a check for input and one for output (and only attempt to get keys
31197 from user when input works).
31198
31199 * util/grub-probe.c (grub_term_get_current): Split in ...
31200 (grub_term_get_current_input): ... this, and ...
31201 (grub_term_get_current_output): ... this.
31202 * util/grub-fstest.c: Likewise.
31203 * util/i386/pc/grub-setup.c: Likewise.
31204 * util/grub-editenv.c: Likewise.
31205
31206 Portability adjustments:
31207
31208 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31209 `term/i386/pc/at_keyboard.c'.
31210 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31211 grub_keyboard_controller_init() (now handled by terminal .init).
31212 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31213 grub_at_keyboard_init().
31214 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31215 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31216 at_keyboard.mod via input terminal interface).
31217 * include/grub/i386/coreboot/console.h: Convert into a stub for
31218 `<grub/i386/pc/console.h>'.
31219
31220 Migrate full terminals to new API:
31221
31222 * term/efi/console.c (grub_console_term): Split into ...
31223 (grub_console_term_input): ... this, and ...
31224 (grub_console_term_output): ... this. Update all users.
31225 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31226 (grub_ofconsole_init): Split into ...
31227 (grub_ofconsole_init_input): ... this, and ...
31228 (grub_ofconsole_init_output): ... this.
31229 (grub_ofconsole_term): Split into ...
31230 (grub_ofconsole_term_input): ... this, and ...
31231 (grub_ofconsole_term_output): ... this. Update all users.
31232 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31233 (grub_serial_term_input): ... this, and ...
31234 (grub_serial_term_output): ... this. Update all users.
31235 * term/i386/pc/console.c (grub_console_term): Split into ...
31236 (grub_console_term_input): ... this, and ...
31237 (grub_console_term_output): ... this. Update all users.
31238 (grub_console_term_input): Only enable it on PC/BIOS platform.
31239 (grub_console_init): Remove grub_keyboard_controller_init() call.
31240
31241 Migrate input terminals to new API:
31242
31243 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31244 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31245 i386-specific anyway).
31246 (grub_console_checkkey): Rename to ...
31247 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31248 users.
31249 (grub_keyboard_controller_orig): New variable.
31250 (grub_console_getkey): Rename to ...
31251 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31252 users.
31253 (grub_keyboard_controller_init): Static-ize. Save original
31254 controller value so that it can be restored ...
31255 (grub_keyboard_controller_fini): ... here (new function).
31256 (grub_at_keyboard_term): New structure.
31257 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31258 functions.
31259
31260 Migrate output terminals to new API:
31261
31262 * term/i386/pc/vga.c (grub_vga_term): Change type to
31263 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31264 members. Update all users.
31265 * term/gfxterm.c (grub_video_term): Change type to
31266 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31267 members. Update all users.
31268 * include/grub/i386/pc/console.h (grub_console_checkkey)
31269 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31270 etc).
31271
31272 Migrate `terminal' command and userland tools to new API:
31273
31274 * commands/terminal.c (grub_cmd_terminal): Split into ...
31275 (grub_cmd_terminal_input): ... this, and ...
31276 (grub_cmd_terminal_output): ... this.
31277 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31278 `terminal_input' and `terminal_output'.
31279 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31280 `terminal_input' / `terminal_output' API.
31281 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31282 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31283 provided ${GRUB_TERMINAL}, convert it).
31284
96e5d876 312852008-11-04 Robert Millan <rmh@aybabtu.com>
31286
31287 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31288 for FreeBSD.
31289 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31290
556f3775 312912008-11-03 Bean <bean123ch@gmail.com>
31292
31293 * kern/elf.c (grub_elf32_load): Revert to previous code.
31294 (grub_elf64_load): Likewise.
31295
31296 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31297
926b9823 312982008-11-01 Robert Millan <rmh@aybabtu.com>
31299
31300 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31301 (TARGET_CPPFLAGS): Likewise.
31302 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31303
1432e958 313042008-11-01 Carles Pina i Estany <carles@pina.cat>
31305
31306 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31307
dba3f844 313082008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31309
31310 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31311 addition of objects until the code is not going to be able to fail.
31312
dba3f844 313132008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31314
31315 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31316 (add a missing NULL check, and correct them by moving the pointer
31317 operations after the actual check).
31318
7ab28c21 313192008-10-29 Robert Millan <rmh@aybabtu.com>
31320
31321 * util/i386/pc/grub-install.in: Handle empty string as output from
31322 make_system_path_relative_to_its_root().
31323
1b7748eb 313242008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31325
31326 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31327 circular metadata worst case scenario. If the metadata is circular
31328 then copy the wrap in place.
31329 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31330 project lib/format_text/layout.h
31331 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31332
c9618ab2 313332008-10-03 Felix Zielcke <fzielcke@z-51.de>
31334
7a36edca 31335 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31336
bf981c62 313372008-10-03 Felix Zielcke <fzielcke@z-51.de>
31338
31339 * util/update-grub_lib.in: Mention filename in warning message.
31340
6d994591 313412008-09-29 Felix Zielcke <fzielcke@z-51.de>
31342
31343 * NEWS: Update for rename of update-grub to grub-mkconfig.
31344
18ade780 313452008-09-29 Felix Zielcke <fzielcke@z-51.de>
31346
31347 * util/update-grub_lib.in: Copy to ...
31348 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31349 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31350 * util/update-grub.in: Rename to ...
31351 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31352 option. Add `--output' option to allow users to specify the generated
31353 configuration file. Default to stdout.
31354 (update_grub_dir): Rename to ...
31355 (grub_mkconfig_dir): ... this.
31356 (grub_cfg): Default to an empty string.
31357 * conf/common.rmk (update-grub): Rename to ...
31358 (grub-mkconfig): ... this.
31359 (update-grub_lib): Copy to ...
31360 (grub-mkconfig_lib): ... this.
31361 (update-grub_SCRIPTS): Copy to ...
31362 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31363 (update-grub_DATA): Rename to ...
31364 (grub-mkconfig_DATA): ... this.
31365
556ce6ac 313662008-09-28 Robert Millan <rmh@aybabtu.com>
31367
31368 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31369 to `modified'. Add the real `created' field.
31370 (grub_iso9660_uuid): Use `modified' rather than `created' for
31371 constructing the UUID.
31372
313732008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31374
31375 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31376 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31377
92274e85 313782008-09-28 Bean <bean123ch@gmail.com>
31379
31380 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31381 Thanks to Christian Franke for finding this bug.
31382
add6f17a 313832008-09-25 Robert Millan <rmh@aybabtu.com>
31384
31385 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31386 instances of grub_util_get_disk_name() (see previous commit).
31387
d2a367b8 313882008-09-25 Robert Millan <rmh@aybabtu.com>
31389
31390 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31391 `util/i386/get_disk_name.c'.
31392 * conf/i386-efi.rmk: Likewise.
31393 * conf/x86_64-efi.rmk: Likewise.
31394 * conf/i386-coreboot.rmk: Likewise.
31395 * conf/i386-ieee1275.rmk: Likewise.
31396 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31397 `util/ieee1275/get_disk_name.c'.
31398 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31399 * util/ieee1275/get_disk_name.c: Remove file.
31400 * util/i386/get_disk_name.c: Remove file.
31401 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31402 "hd%d" for device.map entries, rather than using
31403 grub_util_get_disk_name().
31404
81a06771 314052008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31406
31407 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31408 warning.
31409 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31410
5a004279 314112008-09-24 Carles Pina i Estany <carles@pina.cat>
31412
31413 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31414 Changed to 0x5100.
31415 (GRUB_TERM_PPAGE): Changed to 0x4900.
31416
397093d3 314172008-09-24 Robert Millan <rmh@aybabtu.com>
31418
31419 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31420 macros (they were i386-pc specific).
31421 * include/grub/sparc64/ieee1275/console.h: Likewise.
31422 * include/grub/efi/console.h: Likewise.
31423
a91b6c7c 314242008-09-22 Bean <bean123ch@gmail.com>
31425
31426 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31427 resident and in attribute list.
31428
31429 * include/grub/ntfs.h (BMP_LEN): Removed.
31430
c40fd116 314312008-09-22 Bean <bean123ch@gmail.com>
31432
81a06771 31433 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31434 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31435
31436 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31437 error occurs, as grub_disk_open will call grub_disk_close, which will
31438 call p->close (scsi).
31439
81a06771 314402008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31441
31442 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31443 (AC_PREREQ): Bumped to 2.59.
31444 (AC_TRY_COMPILE): Replace obsolete macro with ...
31445 (AC_COMPILE_IFELSE): ... this.
31446 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31447 (AC_LINK_IFELSE): ... this.
31448
5dc43410 314492008-09-21 Felix Zielcke <fzielcke@z-51.de>
31450
31451 * autogen.sh: Add a call to `gendistlist.sh'.
31452
9035dce4 314532008-09-19 Christian Franke <franke@computer.org>
31454
31455 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31456 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31457 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31458 Export __enable_execute_stack() to modules.
31459 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31460 New function.
31461
7fd75377 314622008-09-09 Felix Zielcke <fzielcke@z-51.de>
31463
040030b3 31464 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31465 Sort the list.
31466
314672008-09-09 Felix Zielcke <fzielcke@z-51.de>
31468
31469 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31470 #include <grub/util/hostdisk.h>.
31471
89d5ffcf 314722008-09-08 Robert Millan <rmh@aybabtu.com>
31473
31474 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31475 segments when their filesz is zero (grub_file_read() interprets
81a06771 31476 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31477 Use `lowest_segment' rather than 0 for calculating the current
31478 segment load address.
31479
40da438f 314802008-09-08 Robert Millan <rmh@aybabtu.com>
31481
31482 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31483 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31484 clobbered useful information.
31485
ddbf5556 314862008-09-08 Robert Millan <rmh@aybabtu.com>
31487
31488 * include/grub/util/biosdisk.h: Move to ...
31489 * include/grub/util/hostdisk.h: ... here. Update all users.
31490 * util/biosdisk.c: Move to ...
31491 * util/hostdisk.c: ... here. Update all users.
31492
783d0f48 314932008-09-07 Robert Millan <rmh@aybabtu.com>
31494
31495 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31496 variables.
31497 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31498 and length can be stored directly in the `mbi->mmap_addr' and
31499 `mbi->mmap_length' struct fields.
31500
548e2ea5 315012008-09-07 Robert Millan <rmh@aybabtu.com>
31502
31503 * conf/i386.rmk: New file. Provides declaration for building
31504 `cpuid.mod'.
31505 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31506 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31507 variables.
31508 Include `conf/i386.mk'.
31509 * conf/i386-efi.rmk: Likewise.
31510 * conf/x86_64-efi.rmk: Likewise.
31511 * conf/i386-coreboot.rmk: Likewise.
31512 * conf/i386-ieee1275.rmk: Likewise.
31513
0ea85a37 315142008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31515
31516 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31517 Adds optimization support for BGR based modes.
31518
31519 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31520 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31521 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31523 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31524 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31525 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31526 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31527 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31528 (grub_video_i386_vbeblit_index_index): Likewise.
31529 (grub_video_i386_vbeblit_replace_directN): Added.
31530 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31531 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31532 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31533 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31534 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31535 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31536 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31537 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31538 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31539 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31540 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31541 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31542 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31543
31544 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31545 (grub_video_i386_vbefill_R8G8B8): Likewise.
31546 (grub_video_i386_vbefill_index): Likewise.
31547 (grub_video_i386_vbefill_direct32): Added.
31548 (grub_video_i386_vbefill_direct24): Likewise.
31549 (grub_video_i386_vbefill_direct16): Likewise.
31550 (grub_video_i386_vbefill_direct8): Likewise.
31551
81a06771 31552 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31553 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31554 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31555 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31556 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31557 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31558
0ea85a37 31559 * video/video.c (grub_video_get_blit_format): Updated to use new
31560 blit formats. Added handling for 16 bit color modes.
81a06771 31561
31562 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31563 fillers.
31564 (common_blitter): Updated to use new blitters.
31565
31566 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31567 Removed.
31568 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31569 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31570 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31571 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31572 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31573 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31575 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31576 (grub_video_i386_vbeblit_index_index): Likewise.
31577 (grub_video_i386_vbeblit_replace_directN): Added.
31578 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31579 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31580 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31581 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31582 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31583 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31584 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31585 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31586 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31587 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31588 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31589 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31590 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31591
0ea85a37 31592 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31593 (grub_video_i386_vbefill_R8G8B8): Likewise.
31594 (grub_video_i386_vbefill_index): Likewise.
31595 (grub_video_i386_vbefill_direct32): Added.
31596 (grub_video_i386_vbefill_direct24): Likewise.
31597 (grub_video_i386_vbefill_direct16): Likewise.
31598 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31599
0ea85a37 31600 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31601 types.
81a06771 31602
0ea85a37 31603 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31604 types.
81a06771 31605
0ea85a37 31606 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31607 blitter types.
81a06771 31608
0ea85a37 31609 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31610 types.
31611
e8a83df6 316122008-09-06 Felix Zielcke <fzielcke@z-51.de>
31613
31614 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31615 RAID level 1.
31616
6bcd8ee5 316172008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31618
6bcd8ee5 31619 * fs/iso9660.c (grub_iso9660_date): New structure.
31620 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31621 (grub_iso9660_uuid): New function.
c375ae58 31622
59261157 316232008-09-05 Bean <bean123ch@gmail.com>
31624
31625 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31626
31627 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31628 insensitive bit for names in Win32 and Win32 & DOS namespace.
31629
31630 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31631
31632 * include/grub/types.h (LONG_MAX): Likewise.
31633
58b6645a 316342008-09-04 Felix Zielcke <fzielcke@z-51.de>
31635
4ee55921 31636 * util/getroot.c: Include <config.h>.
31637 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31638 add support for /dev/md/N devices and handle LVM double dash escaping.
31639
316402008-09-04 Felix Zielcke <fzielcke@z-51.de>
31641
31642 * config.guess: Update to latest version from config git.
31643 * config.sub: Likewise.
58b6645a 31644
9124f65d 316452008-09-03 Robert Millan <rmh@aybabtu.com>
31646
31647 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31648 `disk->total_sectors'.
31649
81a06771 316502008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31651
31652 * include/grub/normal.h: Fixed incorrect comment for
31653 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31654
81a06771 316552008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31656
31657 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31658 values with defines.
31659
31660 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31661 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31662 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31663 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31664 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31665 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31666 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31667 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31668 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31669 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31670 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31671 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31672 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31673 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31674 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31675 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31676 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31677 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31678 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31679
93d5cbf8 316802008-08-31 Robert Millan <rmh@aybabtu.com>
31681
31682 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31683 declaration.
31684 (grub_multiboot): Fix a few warnings.
31685
21751d50 316862008-08-31 Robert Millan <rmh@aybabtu.com>
31687
31688 * loader/i386/pc/multiboot.c: Update comment not to say that
31689 boot_device support is unimplemented.
31690
e27a75c5 316912008-08-31 Robert Millan <rmh@aybabtu.com>
31692
31693 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31694 or memory map support are unimplemented.
31695
81a06771 316962008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31697
31698 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31699
81a06771 317002008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31701
31702 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31703 total video memory in 'vbeinfo' output; show color format details for
31704 each video mode.
31705
7c5d8d95 317062008-08-30 Pavel Roskin <proski@gnu.org>
31707
31708 * util/genmoddep.c: Remove for real this time.
31709 * DISTLIST: Remove util/genmoddep.c.
31710
4cebd25a 317112008-08-30 Robert Millan <rmh@aybabtu.com>
31712
31713 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31714 as required by Multiboot spec (it was already 4-byte aligned, but
31715 only by chance).
31716
b497a269 317172008-08-29 Pavel Roskin <proski@gnu.org>
31718
e3925185 31719 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31720 * kern/powerpc/ieee1275/startup.S: ... this.
31721 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31722 * DISTLIST: Likewise.
31723
b497a269 31724 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31725 grub/cpu/kernel.h. Add start label for consistency with other
31726 platforms. Add grub_prefix immediately after start. Add jump
31727 to the code after grub_prefix.
31728 * include/grub/powerpc/kernel.h: Provide valid values for
31729 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31730
6e5a42fe 317312008-08-29 Bean <bean123ch@gmail.com>
31732
31733 * configure.ac: Change host_os to cygwin for mingw.
31734 (asprintf): New check for function.
31735
31736 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31737 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31738
31739 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31740 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31741 sync, sleep and grub_util_get_disk_size for mingw.
31742
31743 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31744 to get size in mingw.
31745 (open_device): Use flag O_BINARY if it's defined.
31746 (find_root_device): Add dummy code for mingw.
31747
31748 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31749 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31750 (get_scsi_disk_name): Return 0 for mingw.
31751
31752 * util/hostfs.c: #include <grub/util/misc.h>.
31753 (grub_hostfs_open): Use "rb" flag to open file, use
31754 grub_util_get_disk_size to get disk size for mingw.
31755
31756 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31757 (asprintf): New function if HAVE_ASPRINTF is not set.
31758 (sync): New function for mingw.
31759 (sleep): Likewise.
31760 (grub_util_get_disk_size): Likewise.
31761
ab3f2673 317622008-08-28 Pavel Roskin <proski@gnu.org>
31763
31764 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31765 kern/time.c.
31766
1c282483 317672008-08-28 Robert Millan <rmh@aybabtu.com>
31768
31769 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31770
678e849c 317712008-08-28 Robert Millan <rmh@aybabtu.com>
31772
31773 Change find_grub_drive() syntax so it doesn't prevent it from
31774 detecting NULL names as errors.
31775
31776 * util/biosdisk.c (find_grub_drive): Move free slot search code
31777 from here ...
31778 (find_free_slot): ... to here.
31779 (read_device_map): Use find_free_slot() to search for free slots.
31780
965c75ca 317812008-08-27 Marco Gerards <marco@gnu.org>
31782
31783 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31784 (scsi_mod_SOURCES): New variable.
31785 (scsi_mod_CFLAGS): Likewise
31786 (scsi_mod_LDFLAGS): Likewise.
31787
31788 * disk/scsi.c: New file.
31789
31790 * include/grub/scsi.h: Likewise.
31791
31792 * include/grub/scsicmd.h: Likewise.
31793
31794 * disk/ata.c: Include <grub/scsi.h>.
31795 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31796 instead.
31797 (grub_ata_iterate): Skip ATAPI devices.
31798 (grub_ata_open): Only handle ATAPI devices.
31799 (struct grub_atapi_read): Removed.
31800 (grub_atapi_readsector): Likewise.
31801 (grub_ata_read): No longer handle ATAPI devices.
31802 (grub_ata_write): Likewise.
31803 (grub_atapi_iterate): New function.
31804 (grub_atapi_read): Likewise.
31805 (grub_atapi_write): Likewise.
31806 (grub_atapi_open): Likewise.
31807 (grub_atapi_close): Likewise.
31808 (grub_atapi_dev): New variable.
31809 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31810 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31811
31812 * include/grub/disk.h (enum grub_disk_dev_id): Add
31813 `GRUB_DISK_DEVICE_SCSI_ID'.
31814
c07ae501 318152008-08-26 Robert Millan <rmh@aybabtu.com>
31816
31817 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31818 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31819 descriptive.
31820
5ed20adc 318212008-08-23 Bean <bean123ch@gmail.com>
31822
31823 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31824 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31825 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31826 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31827 dm_nv.mod.
31828 (raid5rec_mod_SOURCES): New macro.
31829 (raid5rec_mod_CFLAGS): Likewise.
31830 (raid5rec_mod_LDFLAGS): Likewise.
31831 (raid6rec_mod_SOURCES): Likewise.
31832 (raid6rec_mod_CFLAGS): Likewise.
31833 (raid6rec_mod_LDFLAGS): Likewise.
31834 (mdraid_mod_SOURCES): Likewise.
31835 (mdraid_mod_CFLAGS): Likewise.
31836 (mdraid_mod_LDFLAGS): Likewise.
31837 (dm_nv_mod_SOURCES): Likewise.
31838 (dm_nv_mod_CFLAGS): Likewise.
31839 (dm_nv_mod_LDFLAGS): Likewise.
31840
31841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31842 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31843 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31844
31845 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31846 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31847
31848 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31849
31850 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31851
31852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31853
31854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31855
31856 * disk/raid5_recover.c: New file.
31857
31858 * disk/raid6_recover.c: Likewise.
31859
31860 * disk/mdraid_linux.c: Likewise.
31861
31862 * disk/dmraid_nvidia.c: Likewise.
31863
31864 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31865 ULONG_MAX.
31866
31867 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31868 calculate the size of raid device.
31869 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31870 different layout of raid5.
31871 (grub_raid_scan_device): Remove code specific to mdraid.
31872 (grub_raid_list): New variable.
31873 (free_array): New function.
31874 (grub_raid_register): Likewise.
31875 (grub_raid_unregister): Likewise.
31876 (grub_raid_rescan): Likewise.
31877 (GRUB_MOD_INIT): Don't iterate device here.
31878 (GRUB_MOD_FINI): Use free_array to release resource.
31879
31880 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31881 (grub_raid5_recover_func_t): New function variable type.
31882 (grub_raid6_recover_func_t): Likewise.
31883 (grub_raid5_recover_func): New variable.
31884 (grub_raid6_recover_func): Likewise.
31885 (grub_raid_register): New function.
31886 (grub_raid_unregister): Likewise.
31887 (grub_raid_rescan): Likewise.
31888 (grub_raid_block_xor): Likewise.
31889
31890 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31891 (CMD_CRC): New macro.
31892 (part): Removed.
31893 (read_file): Handle device as well as file.
31894 (cmd_crc): New function.
31895 (fstest): Handle multiple disks.
31896 (options): Remove part, raw and long, add root and diskcount.
31897 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31898 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31899 add handling for the new options, support multiple disks.
31900
31901 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31902
29c18915 319032008-08-23 Bean <bean123ch@gmail.com>
31904
31905 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31906
31907 * genfslist.sh: Ignore kernel.mod.
31908
31909 * genpartmaplist.sh: Likewise.
31910
8415f261 319112008-08-23 Robert Millan <rmh@aybabtu.com>
31912
31913 * util/getroot.c (find_root_device): Skip anything that starts with
31914 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31915
d5a7dc5b 319162008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31917
d5a7dc5b 31918 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31919 * util/grub.d/00_header.in: Allow the administrator to change default
31920 gfxmode via ${GRUB_GFXMODE}.
31921
380cfbb4 319222008-08-21 Felix Zielcke <fzielcke@z-51.de>
31923
31924 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31925
c9baafe7 319262008-08-21 Robert Millan <rmh@aybabtu.com>
31927
31928 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31929 loader.
31930 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31931 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31932
e290bef2 319332008-08-20 Carles Pina i Estany <carles@pina.cat>
31934
31935 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31936 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31937
f9dbfc96 319382008-08-19 Robert Millan <rmh@aybabtu.com>
31939
31940 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31941 (struct grub_virtual_screen): Remove `cursor_color'.
31942 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31943 initialization.
31944 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31945
dd6bd6ab 319462008-08-18 Robert Millan <rmh@aybabtu.com>
31947
31948 Unify (identical) linux_normal.c files.
31949 * loader/i386/efi/linux_normal.c: Move from here ...
31950 * loader/linux_normal.c: ... to here. Update all users.
31951 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31952 * loader/i386/ieee1275/linux_normal.c: Likewise.
31953
7f42f83e 319542008-08-18 Robert Millan <rmh@aybabtu.com>
31955
31956 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31957 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31958 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31959 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31960 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31961 New macros.
31962 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31963 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31964 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31965 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31966 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31967 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31968 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31969 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31970 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31971 portably using grub_getxy().
31972 Replace `-EFI' with `-bzImage' in boot message.
31973
38487ddb 319742008-08-17 Robert Millan <rmh@aybabtu.com>
31975
31976 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31977
deceb3ec 319782008-08-17 Robert Millan <rmh@aybabtu.com>
31979
31980 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31981
31982 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31983 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31984 (grub_machine_mmap_iterate): New function declaration.
31985 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31986 structure.
31987 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31988 macros.
31989
31990 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31991 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31992 Move e820 parsing from here ...
31993 * kern/i386/pc/mmap.c: New file.
31994 (grub_machine_mmap_iterate): ... to here.
31995
31996 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31997 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31998 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31999 (grub_available_iterate): Redeclare to return `void', and redeclare
32000 its hook to use grub_uint64_t as addr and size parameters, and rename
32001 to ...
32002 (grub_machine_mmap_iterate): ... this. Update all users.
32003
32004 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32005 to make it more readable. Rename to ...
32006 (grub_machine_mmap_iterate): ... this.
32007
32008 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32009 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32010 (grub_multiboot): Allocate an extra region after the payload, and fill
32011 it with a Multiboot memory map. Adjust a.out loader to calculate size
32012 with the extra space.
32013 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32014 with the extra space.
32015
f8aa0f43 320162008-08-17 Carles Pina i Estany <carles@pina.cat>
32017
9807deb9 32018 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32019
605f5bb6 320202008-08-17 Felix Zielcke <fzielcke@z-51.de>
32021
32022 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32023 mdate-sh to the list `find' searches for.
32024 * DISTLIST: Regenerated.
32025
210db6c6 320262008-08-16 Felix Zielcke <fzielcke@z-51.de>
32027
32028 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32029 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32030 genmoddep.awk, gensymlist.sh.in.
32031 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32032 * DISTLIST: Regenerated.
48cdbfd4 32033 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32034
1082b929 320352008-08-16 Robert Millan <rmh@aybabtu.com>
32036
32037 * disk/raid.c (grub_raid_init): Handle/report errors set by
32038 grub_device_iterate().
32039 * disk/lvm.c (grub_lvm_init): Likewise.
32040
42ce5170 320412008-08-15 Bean <bean123ch@gmail.com>
32042
32043 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32044 and datehook.mod.
32045 (datetime_mod_SOURCES): New macro.
32046 (datetime_mod_CFLAGS): Likewise.
32047 (datetime_mod_LDFLAGS): Likewise.
32048 (date_mod_SOURCES): Likewise.
32049 (date_mod_CFLAGS): Likewise.
32050 (date_mod_LDFLAGS): Likewise.
32051 (datehook_mod_SOURCES): Likewise.
32052 (datehook_mod_CFLAGS): Likewise.
32053 (datehook_mod_LDFLAGS): Likewise.
32054
32055 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32056 and datehook.mod.
32057 (datetime_mod_SOURCES): New macro.
32058 (datetime_mod_CFLAGS): Likewise.
32059 (datetime_mod_LDFLAGS): Likewise.
32060 (date_mod_SOURCES): Likewise.
32061 (date_mod_CFLAGS): Likewise.
32062 (date_mod_LDFLAGS): Likewise.
32063 (datehook_mod_SOURCES): Likewise.
32064 (datehook_mod_CFLAGS): Likewise.
32065 (datehook_mod_LDFLAGS): Likewise.
32066
32067 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32068 and datehook.mod.
32069 (datetime_mod_SOURCES): New macro.
32070 (datetime_mod_CFLAGS): Likewise.
32071 (datetime_mod_LDFLAGS): Likewise.
32072 (date_mod_SOURCES): Likewise.
32073 (date_mod_CFLAGS): Likewise.
32074 (date_mod_LDFLAGS): Likewise.
32075 (datehook_mod_SOURCES): Likewise.
32076 (datehook_mod_CFLAGS): Likewise.
32077 (datehook_mod_LDFLAGS): Likewise.
32078
32079 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32080 and datehook.mod.
32081 (datetime_mod_SOURCES): New macro.
32082 (datetime_mod_CFLAGS): Likewise.
32083 (datetime_mod_LDFLAGS): Likewise.
32084 (date_mod_SOURCES): Likewise.
32085 (date_mod_CFLAGS): Likewise.
32086 (date_mod_LDFLAGS): Likewise.
32087 (datehook_mod_SOURCES): Likewise.
32088 (datehook_mod_CFLAGS): Likewise.
32089 (datehook_mod_LDFLAGS): Likewise.
32090
32091 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32092 and datehook.mod.
32093 (datetime_mod_SOURCES): New macro.
32094 (datetime_mod_CFLAGS): Likewise.
32095 (datetime_mod_LDFLAGS): Likewise.
32096 (date_mod_SOURCES): Likewise.
32097 (date_mod_CFLAGS): Likewise.
32098 (date_mod_LDFLAGS): Likewise.
32099 (datehook_mod_SOURCES): Likewise.
32100 (datehook_mod_CFLAGS): Likewise.
32101 (datehook_mod_LDFLAGS): Likewise.
32102
32103 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32104
32105 * commands/date.c: New file.
32106
32107 * hook/datehook.c: Likewise.
32108
32109 * include/grub/lib/datetime.h: Likewise.
32110
32111 * include/grub/i386/cmos.h: Likewise.
32112
32113 * lib/datetime.c: Likewise.
32114
32115 * lib/i386/datetime.c: Likewise.
32116
32117 * lib/efi/datetime.c: Likewise.
32118
0e9242da 321192008-08-14 Robert Millan <rmh@aybabtu.com>
32120
32121 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32122 (grub_mkelfimage_SOURCES): New variable.
32123 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32124
32125 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32126 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32127 * conf/powerpc-ieee1275.rmk: Likewise.
32128 * conf/i386-ieee1275.rmk: Likewise.
32129
32130 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32131 * kern/i386/coreboot/init.c: Likewise.
32132
32133 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32134 with `<grub/cpu/kernel.h>'.
32135 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32136 to ...
32137 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32138 * kern/i386/coreboot/startup.S: Likewise.
32139
32140 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32141 (GRUB_MOD_GAP): Remove.
32142 * include/grub/powerpc/kernel.h: New file.
32143 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32144 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32145 * include/grub/i386/kernel.h: New file.
32146 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32147 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32148 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32149
32150 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32151 `grub-mkelfimage'.
32152 Use --directory when invoking grub_mkimage.
32153
32154 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32155 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32156 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32157 and GRUB_KERNEL_CPU_PREFIX.
32158
b86408f8 321592008-08-14 Felix Zielcke <fzielcke@z-51.de>
32160
d5e619ca 32161 * include/grub/err.h (grub_err_printf): New function prototype.
32162 * util/misc.c (grub_err_printf): New function.
32163 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32164 grub_printf.
32165 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32166
7161f0e0 321672008-08-13 Robert Millan <rmh@aybabtu.com>
32168
32169 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32170
a1967522 321712008-08-13 Robert Millan <rmh@aybabtu.com>
32172
32173 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32174 boot entry.
32175
371458b5 321762008-08-12 Robert Millan <rmh@aybabtu.com>
32177
32178 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32179 of the relocation code from here ...
32180 (grub_multiboot): ... to here.
32181 (forward_relocator, backward_relocator): Move from here ...
32182 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32183 (grub_multiboot_backward_relocator): ... to here.
32184 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32185 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32186 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32187 (grub_multiboot_forward_relocator_end)
32188 (grub_multiboot_backward_relocator)
32189 (grub_multiboot_backward_relocator_end): New variables.
32190
05f9452b 321912008-08-12 Bean <bean123ch@gmail.com>
32192
32193 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32194
20024ab0 321952008-08-11 Robert Millan <rmh@aybabtu.com>
32196
32197 * kern/i386/linuxbios/startup.S: Move from here ...
32198 * kern/i386/coreboot/startup.S: ... to here.
32199
32200 * kern/i386/linuxbios/init.c: Move from here ...
32201 * kern/i386/coreboot/init.c: ... to here.
32202
32203 * kern/i386/linuxbios/table.c: Move from here ...
32204 * kern/i386/coreboot/mmap.c: ... to here.
32205
32206 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32207
e352e9cd 322082008-08-11 Robert Millan <rmh@aybabtu.com>
32209
32210 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32211 errors. Leave it to the upper layer to handle them.
32212
2d05bc6a 322132008-08-09 Christian Franke <franke@computer.org>
32214
32215 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32216 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32217 Install `grub.d/10_windows' only on Cygwin.
32218 * configure.ac: Add subst of `target_os'.
32219 Check `target_os' also before setting TARGET_OBJ2ELF.
32220 Add `--enable-grub-pe2elf'.
32221
042bd419 322222008-08-08 Robert Millan <rmh@aybabtu.com>
32223
32224 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32225 (grub_last_time): Change type to grub_uint64_t.
32226 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32227 (grub_disk_close): Likewise.
32228
32229 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32230 (run_menu): Migrate code from to using grub_get_time_ms().
32231
32232 * util/misc.c (grub_get_time_ms): New function.
32233
7f280db5 322342008-08-08 Marco Gerards <marco@gnu.org>
32235
32236 * disk/ata.c (grub_ata_regget): Change return type to
32237 `grub_uint8_t'.
32238 (grub_ata_regget2): Likewise.
32239 (grub_ata_wait_status): New function.
32240 (grub_ata_wait_busy): Removed function, updated all users to use
32241 `grub_ata_wait_status'.
32242 (grub_ata_wait_drq): Likewise.
32243 (grub_ata_cmd): New function.
32244 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32245 error handling.
32246 (grub_ata_pio_write): Add error handling.
32247 (grub_atapi_identify): Likewise.
32248 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32249 handling.
32250 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32251 handling. Actually use the detected registers. Reorder the
32252 detection logic such that it is easier to read.
32253 (grub_ata_pciinit): Do not assign the same ID to each controller.
32254 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32255 handling.
32256 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32257
32258 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32259
1fbc5e66 322602008-08-08 Marco Gerards <marco@gnu.org>
32261
32262 * NEWS: Update.
32263
819ce6c0 322642008-08-07 Bean <bean123ch@gmail.com>
32265
32266 * include/grub/x86_64/pci.h: New file.
32267
5c41d44d 322682008-08-07 Christian Franke <franke@computer.org>
32269
32270 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32271 (TIMER2_GATE): Likewise.
32272 (grub_pit_wait): Add enable/disable of the timer2 gate
32273 bit of port 0x61. This fixes a possible infinite loop.
32274
5ebc275d 322752008-08-07 Bean <bean123ch@gmail.com>
32276
32277 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32278 kern/i386/tsc.c and kern/i386/pit.c.
32279
32280 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32281 x86_64 platform.
32282
32283 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32284 <grub/i386/tsc.h>.
32285
32286 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32287
e383b3d0 322882008-08-07 Bean <bean123ch@gmail.com>
32289
32290 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32291
32292 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32293
32294 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32295 multiple inclusion. Add #include <grub/types.h>.
32296
1cbb58ac 322972008-08-06 Christian Franke <franke@computer.org>
32298
32299 * conf/common.rmk: Build and install `10_windows'.
32300 * util/grub.d/10_windows.in: New script.
32301
337f5a1e 323022008-08-06 Pavel Roskin <proski@gnu.org>
32303
32304 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32305
057bc4ac 323062008-08-06 Robert Millan <rmh@aybabtu.com>
32307
32308 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32309 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32310
2b99f123 323112008-08-06 Bean <bean123ch@gmail.com>
32312
32313 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32314 (grub_pxefs_fs_int): Remove dummy definition.
32315 (grub_pxefs_open): Use data->block_size to store the current block
32316 size setting.
32317 (grub_pxefs_read): Use block size stored in data->block_size. As the
32318 value of grub_pxe_blksize can be changed after the file is opened.
32319
9f0234cb 323202008-08-06 Bean <bean123ch@gmail.com>
32321
32322 * fs/i386/pc/pxe.c (curr_file): new variable.
32323 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32324 require the dummy internal file system anymore.
32325 (grub_pxefs_read): Removed.
32326 (grub_pxefs_close): Likewise.
32327 (grub_pxefs_fs_int): Likewise.
32328 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32329 connection when we switch file.
32330 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32331
a55d42e0 323322008-08-06 Robert Millan <rmh@aybabtu.com>
32333
32334 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32335 `halt.mod'.
32336 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32337 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32338
32339 * kern/i386/halt.c: New file.
32340 * kern/i386/reboot.c: Likewise.
32341 * include/grub/i386/reboot.h: Likewise.
32342 * include/grub/i386/halt.h: Likewise.
32343
32344 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32345 Include `<grub/cpu/halt.h>'.
32346 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32347 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32348
32349 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32350 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32351 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32352 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32353 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32354 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32355 from here ...
32356 * include/grub/i386/at_keyboard.h: ... to here.
32357
24371d26 323582008-08-05 Robert Millan <rmh@aybabtu.com>
32359
32360 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32361 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32362 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32363 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32364 `kern/generic/millisleep.c'.
32365
32366 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32367 instead of grub_get_rtc().
32368 (grub_tsc_init): Initialize `tsc_boot_time'.
32369
32370 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32371 (grub_machine_init): Use grub_tsc_init() rather than
32372 installing an RTC-based handler via grub_install_get_time_ms().
32373
32374 * kern/i386/pit.c: New file.
32375 * include/grub/i386/pit.h: Likewise.
32376
9e7007b3 323772008-08-05 Bean <bean123ch@gmail.com>
32378
32379 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32380
32381 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32382 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32383 (pxe_mod_SOURCES): New macro.
32384 (pxe_mod_CFLAGS): Likewise.
32385 (pxe_mod_LDFLAGS): Likewise.
32386 (pxecmd_mod_SOURCES): Likewise.
32387 (pxecmd_mod_CFLAGS): Likewise.
32388 (pxecmd_mod_LDFLAGS): Likewise.
32389
32390 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32391 (grub_pxe_call): Likewise.
32392
32393 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32394
32395 * commands/i386/pc/pxecmd.c: New file.
32396
9f0234cb 32397 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32398
32399 * include/grub/i386/pc/pxe.h: Likewise.
32400
6977d49f 324012008-08-05 Bean <bean123ch@gmail.com>
32402
32403 * util/console.c (grub_console_cur_color): New variable.
32404 (grub_console_standard_color): Likewise.
32405 (grub_console_normal_color): Likewise.
32406 (grub_console_highlight_color): Likewise.
32407 (color_map): Likewise.
32408 (use_color): Likewise.
32409 (NUM_COLORS): New macro.
32410 (grub_ncurses_setcolorstate): Handle color properly.
32411 (grub_ncurses_setcolor): Don't change color here, just remember the
32412 settings, color will be set in grub_ncurses_setcolorstate.
32413 (grub_ncurses_getcolor): New function.
32414 (grub_ncurses_init): Initialize color pairs.
32415 (grub_ncurses_term): New member grub_ncurses_getcolor.
32416
9c2ff3ee 324172008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32418
9c2ff3ee 32419 High resolution timer support. Implemented for x86 CPUs using TSC.
32420 Extracted generic grub_millisleep() so it's linked in only as needed.
32421 This requires a Pentium compatible CPU; if the RDTSC instruction is
32422 not supported, then it falls back on the generic grub_get_time_ms()
32423 implementation that uses the machine's RTC.
32424
32425 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32426 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32427 `kern/generic/millisleep.c'.
32428
32429 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32430 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32431
32432 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32433 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32434
32435 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32436
32437 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32438 `kern/generic/millisleep.c'.
32439
32440 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32441
32442 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32443
32444 * kern/generic/rtc_get_time_ms.c: New file.
32445
32446 * kern/generic/millisleep.c: New file.
337f5a1e 32447
9c2ff3ee 32448 * kern/misc.c: Don't include
32449 <kern/time.h> anymore.
32450 (grub_millisleep_generic): Removed.
32451
32452 * commands/sleep.c (grub_interruptible_millisleep): Uses
32453 grub_get_time_ms() instead of grub_get_rtc().
32454
32455 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32456 function.
32457 (grub_cpu_is_cpuid_supported): New inline function.
32458 (grub_cpu_is_tsc_supported): New inline function.
32459 (grub_tsc_init): New function prototype.
32460 (grub_tsc_get_time_ms): New function prototype.
32461
32462 * kern/i386/tsc.c (grub_get_time_ms): New file.
32463
32464 * include/grub/time.h: Include <grub/types.h.
32465 (grub_millisleep_generic): Removed.
32466 (grub_get_time_ms): New prototype.
32467 (grub_install_get_time_ms): New prototype.
32468 (grub_rtc_get_time_ms): New prototype.
32469
32470 * kern/time.c (grub_get_time_ms): New function.
32471 (grub_install_get_time_ms): New function.
32472
32473 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32474 <grub/time.h> anymore.
32475 (grub_millisleep): Removed.
32476 (grub_machine_init): Call grub_tsc_init.
32477
32478 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32479 get_time_ms() implementation.
32480
32481 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32482 (ieee1275_get_time_ms): New function.
32483 (grub_machine_init): Install get_time_ms() implementation.
32484
32485 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32486 (grub_machine_init): Call grub_tsc_init().
32487 (grub_millisleep): Removed.
bf06a93f 32488
9c2ff3ee 32489 * kern/ieee1275/init.c (grub_millisleep): Removed.
32490 (grub_machine_init): Install ieee1275_get_time_ms()
32491 implementation.
32492 (ieee1275_get_time_ms): New function.
32493 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32494 real work.
32495
9ec92aaf 324962008-08-05 Marco Gerards <marco@gnu.org>
32497
32498 * disk/ata.c: Include <grub/pci.h>.
32499 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32500 (grub_ata_initialize): Rewritten.
32501 (grub_ata_device_initialize): New function.
32502
8d23f507 325032008-08-04 Pavel Roskin <proski@gnu.org>
32504
32505 * kern/main.c: Include grub/mm.h.
32506
5e15ee3d 325072008-08-04 Robert Millan <rmh@aybabtu.com>
32508
32509 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32510 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32511 corruption problem).
32512
a9053f8f 325132008-08-04 Robert Millan <rmh@aybabtu.com>
32514
32515 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32516 warnings introduced in my last commit.
32517
dd19c7d7 325182008-08-03 Robert Millan <rmh@aybabtu.com>
32519
32520 Make PCI available on all i386 architectures.
32521
32522 * include/grub/i386/pc/pci.h: Move from here ...
32523 * include/grub/i386/pci.h: ... to here.
32524
32525 * include/grub/i386/pc/pci.h: Remove.
32526 * include/grub/i386/efi/pci.h: Remove.
32527 * include/grub/x86_64/efi/pci.h: Remove.
32528
32529 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32530 `<grub/cpu/pci.h>'.
32531
32532 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32533 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32534 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32535
32536 * conf/i386-ieee1275.rmk: Likewise.
32537
e14a6184 325382008-08-03 Robert Millan <rmh@aybabtu.com>
32539
32540 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32541 (grub_console_setcursor): Make it possible to set cursor off.
32542
52768e37 325432008-08-03 Robert Millan <rmh@aybabtu.com>
32544
32545 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32546 of modules instead of assuming which platform provides what.
32547 * util/update-grub.in: Likewise.
32548
2d52f57f 325492008-08-03 Robert Millan <rmh@aybabtu.com>
32550
32551 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32552 instead of `grub_install_dos_part' to determine whether a drive needs
32553 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32554 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32555
2a5cd121 325562008-08-02 Robert Millan <rmh@aybabtu.com>
32557
32558 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32559
93808428 325602008-08-02 Robert Millan <rmh@aybabtu.com>
32561
32562 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32563 of informational grub_dprintf() calls.
32564
3bd0a12a 325652008-08-02 Robert Millan <rmh@aybabtu.com>
32566
32567 * disk/memdisk.c (memdisk_size): Don't initialize.
32568 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32569
32570 * include/grub/i386/pc/kernel.h
32571 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32572 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32573 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32574 (grub_arch_memdisk_size): Remove.
32575
32576 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32577 field (was only used to transfer a constant). Add `type' field to
32578 support multiple module types.
32579 (grub_module_iterate): New function.
32580
32581 * kern/device.c (grub_device_open): Do not hide error messages
32582 when grub_disk_open() fails. Use grub_print_error() instead.
32583
32584 * kern/i386/pc/init.c (grub_arch_modules_addr)
32585 (grub_arch_memdisk_size): Remove functions.
32586 (grub_arch_modules_addr): Return the module address in high memory
32587 (now that it isn't copied anymore).
32588
32589 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32590 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32591 decompression routine (grub_total_module_size already includes that
32592 now). Don't copy modules back to low memory.
32593
32594 * kern/main.c: Include `<grub/mm.h>'.
32595 (grub_load_modules): Split out (and use) ...
32596 (grub_module_iterate): ... this function, which iterates through
32597 module objects and runs a hook.
32598 Comment out grub_mm_init_region() call, as it would cause non-ELF
32599 modules to be overwritten.
32600
32601 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32602 the memdisk image in its own region, make it part of the module list.
32603 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32604 (main): Parse --memdisk|-m option, and pass user-provided path as
32605 parameter to generate_image().
32606 (add_segments): Pass `memdisk_path' down to load_modules().
32607 (load_modules): Embed memdisk image in module section when requested.
32608 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32609 `header.type' instead of `header.offset'.
32610
32611 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32612 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32613 (memdisk_mod_LDFLAGS): New variables.
32614 * conf/i386-coreboot.rmk: Likewise.
32615 * conf/i386-ieee1275.rmk: Likewise.
32616
a927cc73 326172008-08-02 Robert Millan <rmh@aybabtu.com>
32618
32619 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32620 (backward_relocator): New variables. Used to allocate and relocate
32621 the payload, respectively.
32622 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32623 address, install the appropriate relocator code in each bound of
a927cc73 32624 the payload, and set the entry point such that
32625 grub_multiboot_real_boot() will jump to one of them.
32626
32627 * kern/i386/loader.S (grub_multiboot_payload_size)
32628 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32629 (grub_multiboot_payload_entry_offset): New variables.
32630 (grub_multiboot_real_boot): Set cpu context to what the relocator
32631 expects, and jump to the relocator instead of the payload.
32632
32633 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32634 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32635 (grub_multiboot_payload_entry_offset): Export.
32636
b15d8a0c 326372008-08-01 Bean <bean123ch@gmail.com>
32638
32639 * normal/menu_entry.c (editor_getline): Don't return the original
32640 string as result, as it will be released by lexer once it has done
32641 using it.
32642
cdfb3d22 326432008-08-01 Robert Millan <rmh@aybabtu.com>
32644
32645 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32646 within menuentries, not before them.
32647 util/grub.d/10_hurd.in: Likewise.
32648
9175e93d 326492008-08-01 Bean <bean123ch@gmail.com>
32650
32651 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32652 (bufio_mod_SOURCES): New macro.
32653 (bufio_mod_CFLAGS): Likewise.
32654 (bufio_mod_LDFLAGS): Likewise.
32655
32656 * include/grub/bufio.h: New file.
32657
32658 * io/bufio.c: Likewise.
32659
32660 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32661 (grub_video_reader_png): Use grub_buffile_open to open file.
32662
32663 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32664 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32665
32666 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32667 (grub_video_reader_tga): Use grub_buffile_open to open file.
32668
32669 * font/manager.c: Include <grub/bufio.h>.
32670 (add_font): Use grub_buffile_open to open file.
32671
3d8383e7 326722008-07-31 Robert Millan <rmh@aybabtu.com>
32673
32674 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32675 ELF segments, use a macro for arbitrarily accessing any of them instead
32676 of preparing a pointer that allows access to one at a time.
32677 (grub_multiboot_load_elf64): Likewise.
32678
16e641b6 326792008-07-31 Bean <bean123ch@gmail.com>
32680
32681 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32682 GRUB_KERNEL_MACHINE_DATA_END.
32683
59198b72 326842008-07-30 Robert Millan <rmh@aybabtu.com>
32685
32686 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32687 Increase from 0x50 to 0x60.
32688 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32689 use UUIDs to identify the root drive for them. If that's not
32690 possible, abort.
32691 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32692 check, for cross-disk installs.
32693
ae88bca3 326942008-07-30 Robert Millan <rmh@aybabtu.com>
32695
32696 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32697 is non-empty, use it to set the `prefix' environment variable instead
32698 of the usual approach.
32699 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32700 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32701 environment variable instead of dummy make_install_device().
32702
32703 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32704 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32705 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32706
32707 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32708 New variable reference.
32709 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32710 New macro. Defines offset of `grub_prefix' within startup.S (relative
32711 to `start').
32712 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32713 section within startup.S (relative to `start').
32714 * include/grub/i386/coreboot/kernel.h: Likewise.
32715
32716 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32717 Overwrite grub_prefix with its contents, at the beginning of the
32718 first segment.
32719 (main): Understand -p|--prefix.
32720
14f41dd1 327212008-07-30 Robert Millan <rmh@aybabtu.com>
32722
32723 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32724
4ca049a3 327252008-07-30 Robert Millan <rmh@aybabtu.com>
32726
32727 * term/i386/pc/vga_text.c (grub_console_cls): Use
32728 grub_console_gotoxy() to go back to beginning of the screen.
32729 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32730
2921d337 327312008-07-29 Christian Franke <franke@computer.org>
32732
32733 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32734 Add conversion of emulated mount points on Cygwin.
32735
b609876d 327362008-07-29 Christian Franke <franke@computer.org>
32737
32738 * util/update-grub.in: Add a check for admin
32739 group on Cygwin.
32740 Remove old `grub.cfg.new' before creation.
32741 Add `-f' to `mv' to handle the different filesystem
32742 semantics of Windows.
32743
e93e4679 327442008-07-29 Bean <bean123ch@gmail.com>
32745
32746 * normal/main.c (get_line): Fix buffer overflow bug.
32747
41694fd0 327482008-07-28 Robert Millan <rmh@aybabtu.com>
32749
32750 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32751 (struct grub_apple_header): New struct. Describes the layout of
32752 the partmap header.
32753 (apple_partition_map_iterate): Check the header magic as well as the
32754 partition magic (which was already being checked).
32755
cfd0b4e6 327562008-07-28 Pavel Roskin <proski@gnu.org>
32757
32758 * genmk.rb: Add a warning to the beginning of the output that
32759 it's a generated file and should not be edited.
32760
93cce016 327612008-07-28 Robert Millan <rmh@aybabtu.com>
32762
32763 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32764 with the same number are found, just use issue a warning with
32765 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32766
cd1df915 327672008-07-27 Robert Millan <rmh@aybabtu.com>
32768
32769 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32770 information.
32771
b70a8427 327722008-07-27 Bean <bean123ch@gmail.com>
32773
32774 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32775 (grub_fat_find_dir): Ignore case when comparing filename.
32776
8f5e379f 327772008-07-27 Bean <bean123ch@gmail.com>
32778
32779 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32780 smallino, as it's more descriptive, and i8count can be confused with
32781 the other field count.
32782 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32783 inode type.
32784
a85cd5a0 327852008-07-27 Bean <bean123ch@gmail.com>
32786
32787 * commands/crc.c: New file.
32788
32789 * lib/crc.c: Likewise.
32790
32791 * include/grub/lib/crc.h: Likewise.
32792
32793 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32794
32795 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32796 (hexdump): Move this function to ...
32797
32798 * lib/hexdump.c: ... here.
32799
32800 * include/grub/hexdump.h: Renamed to ...
32801
32802 * include/grub/lib/hexdump.h: ... this.
32803
32804 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32805
32806 * util/grub-editenv.c: Likewise.
32807
32808 * include/envblk.h: Renamed to ...
32809
32810 * include/lib/envblk.h: ... this.
32811
32812 * util/envblk.c: Renamed to ...
32813
32814 * lib/envblk.c: ... this.
32815
32816 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32817 lib/hexdump.c.
32818 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32819 (pkglib_MODULES): Add crc.mod.
32820 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32821 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32822 (crc_mod_SOURCES): New macro.
32823 (crc_mod_CFLAGS): Likewise.
32824 (crc_mod_LDFLAGS): Likewise.
32825
32826 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32827
32828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32829
32830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32831
32832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32833
32834 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32835
c298def0 328362008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32837
32838 * commands/help.c: Include <grub/term.h>.
32839 (TERM_WIDTH): Removed. Updated all users.
32840
cc349fb3 328412008-07-27 Pavel Roskin <proski@gnu.org>
32842
32843 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32844 spurious warnings about a comment within a comment.
32845
9051607e 328462008-07-25 Robert Millan <rmh@aybabtu.com>
32847
32848 * util/getroot.c (find_root_device): Skip devices that match
32849 /dev/dm-[0-9]. This lets the real device be found for any type of
32850 abstraction (LVM, EVMS, RAID..).
32851 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32852 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32853 device is found first, find_root_device() will now skip it.
32854
01453bfc 328552008-07-24 Pavel Roskin <proski@gnu.org>
32856
32857 * include/grub/types.h: Use __builtin_bswap32() and
32858 __builtin_bswap64() with gcc 4.3 and newer.
32859
6af9849f 328602008-07-24 Christian Franke <franke@computer.org>
32861
3a0fa256 32862 * util/i386/pc/grub-install.in: If `--debug' is specified,
32863 pass `--verbose' to grub-setup.
32864 Abort script if make_system_path_relative_to_its_root() fails.
32865
7810e747 328662008-07-24 Bean <bean123ch@gmail.com>
32867
32868 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32869 variable `target_platform' should be `platform'.
32870
42290e17 328712008-07-24 Bean <bean123ch@gmail.com>
32872
51cc5193 32873 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32874 (grub_png_init_fixed_block): New function.
32875 (grub_png_decode_image_data): Handle fixed huffman code compression.
32876
2a8a80e4 328772008-07-24 Bean <bean123ch@gmail.com>
32878
32879 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32880 (grub_pe2elf_SOURCES): New macro.
32881 (CLEANFILES): Add grub-pe2elf.
32882
32883 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32884 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32885 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32886 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32887 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32888 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32889 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32890 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32891 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32892 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32893 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32894 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32895 (GRUB_PE32_DT_FUNCTION): Likewise.
32896 (GRUB_PE32_REL_I386_DIR32): Likewise.
32897 (GRUB_PE32_REL_I386_REL32): Likewise.
32898 (grub_pe32_symbol): New structure.
32899 (grub_pe32_reloc): Likewise.
32900
32901 * util/grub-pe2elf.c: New file.
32902
32903 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32904 start symbol in non pc platform.
32905
32906 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32907
32908 The following patches are from Christian Franke.
32909
32910 * include/grub/dl.h: Remove .previous, gas supports this only
32911 for ELF format.
32912
32913 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32914 Remove .type, gas supports this only for ELF format.
32915
32916 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32917 nullbytes in symbol table. This fixes an infinite loop if table is
32918 zero filled.
32919
32920 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32921 TARGET_IMG_LDFLAGS and EXEEXT.
32922
32923 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32924 TARGET_IMG_LDFLAGS_AC.
32925 (grub_CHECK_STACK_ARG_PROBE): New function.
32926
32927 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32928
32929 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32930
32931 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32932 to set TARGET_IMG_LD* accordingly.
32933 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32934 Add call to grub_CHECK_STACK_ARG_PROBE.
32935 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32936
32937 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32938
32939 * genmk.rb: Add EXEEXT to CLEANFILES.
32940
12ccdb75 329412008-07-23 Robert Millan <rmh@aybabtu.com>
32942
32943 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32944 define the codes for arrows and lines used for the menu).
32945 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32946 as well.
32947
32948 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32949 fonts, because the latter are too slow.
32950
18eeaf04 329512008-07-21 Bean <bean123ch@gmail.com>
32952
32953 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32954 a20. Run keyboard test last, as it will cause macbook to halt.
32955
b095e2ad 329562008-07-18 Pavel Roskin <proski@gnu.org>
32957
32958 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32959 load foreign architecture modules correctly anyway. Keep
32960 support for loading host architecture modules, whether we
32961 compile them or not.
32962
737feb35 329632008-07-17 Pavel Roskin <proski@gnu.org>
32964
3f4ce737 32965 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32966 change target_cpu. The compiler default can mismatch target_cpu
32967 in any case.
32968
4ad2d049 32969 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32970 * kern/efi/efi.c: Likewise.
32971
f6130a12 32972 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32973 target compiler is functional.
32974 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32975 are set up.
32976
58393a2d 32977 * configure.ac: Default to efi platform for x86_64-apple. Allow
32978 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32979 adjustments from the rest, only do them if target is not
32980 explicitly given. Merge other adjustments with the final sanity
32981 check. Remove an extraneous check for supported CPU. Be
32982 specific which CPU and which platform is not supported.
32983
737feb35 32984 * configure.ac: Default to pc platform for x86_64.
32985
546f966a 329862008-07-17 Robert Millan <rmh@aybabtu.com>
32987
32988 Partial LinuxBIOS -> Coreboot rename.
32989
32990 * conf/i386-linuxbios.rmk: Renamed to ...
32991 * conf/i386-coreboot.rmk: ... this.
32992 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32993 * configure.ac: Accept "coreboot" as input platform (but maintain
32994 compatibility with "linuxbios").
32995 * include/grub/i386/linuxbios: Renamed to ...
32996 * include/grub/i386/coreboot: ... this.
32997
20011694 329982008-07-17 Bean <bean123ch@gmail.com>
32999
33000 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33001 (appleldr_mod_SOURCE): New variable.
20011694 33002 (appleldr_mod_CFLAGS): Likewise.
33003 (appleldr_mod_LDFLAGS): Likewise.
33004 (pci_mod_SOURCES): Likewise.
33005 (pci_mod_CFLAGS): Likewise.
33006 (pci_mod_LDFLAGS): Likewise.
33007 (lspci_mod_SOURCES): Likewise.
33008 (lspci_mod_CFLAGS): Likewise.
33009 (lspci_mod_LDFLAGS): Likewise.
33010
33011 * conf/x86_64-efi.rmk: New file.
33012
33013 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33014 macro.
33015 (grub_efidisk_write): Likewise.
33016
33017 * include/efi/api.h (efi_call_0): New macro.
33018 (efi_call_1): Likewise.
33019 (efi_call_2): Likewise.
33020 (efi_call_3): Likewise.
33021 (efi_call_4): Likewise.
33022 (efi_call_5): Likewise.
33023 (efi_call_6): Likewise.
33024
33025 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33026 grub_rescue_cmd_chainloader.
33027
33028 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33029 (grub_pe32_optional_header): Change some fields based on i386 or
33030 x86_64 platform.
33031 (GRUB_PE32_PE32_MAGIC): Likewise.
33032
33033 * include/grub/efi/uga_draw.h: New file.
33034
33035 * include/grub/elf.h (STN_ABS): New constant.
33036 (R_X86_64_NONE): Relocation constant for x86_64.
33037 (R_X86_64_64): Likewise.
33038 (R_X86_64_PC32): Likewise.
33039 (R_X86_64_GOT32): Likewise.
33040 (R_X86_64_PLT32): Likewise.
33041 (R_X86_64_COPY): Likewise.
33042 (R_X86_64_GLOB_DAT): Likewise.
33043 (R_X86_64_JUMP_SLOT): Likewise.
33044 (R_X86_64_RELATIVE): Likewise.
33045 (R_X86_64_GOTPCREL): Likewise.
33046 (R_X86_64_32): Likewise.
33047 (R_X86_64_32S): Likewise.
33048 (R_X86_64_16): Likewise.
33049 (R_X86_64_PC16): Likewise.
33050 (R_X86_64_8): Likewise.
33051 (R_X86_64_PC8): Likewise.
33052
33053 * include/grub/i386/efi/pci.h: New file.
33054
33055 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33056 Change it value based on platform.
33057 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33058 (GRUB_E820_RAM): Likewise.
33059 (GRUB_E820_RESERVED): Likewise.
33060 (GRUB_E820_ACPI): Likewise.
33061 (GRUB_E820_NVS): Likewise.
33062 (GRUB_E820_EXEC_CODE): Likewise.
33063 (GRUB_E820_MAX_ENTRY): Likewise.
33064 (grub_e820_mmap): New structure.
33065 (linux_kernel_header): Change the efi field according to different
33066 kernel version, also field from linux_kernel_header.
33067
33068 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33069
33070 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33071 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33072 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33073 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33074 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33075 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33076 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33077 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33078 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33079 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33080
33081 * include/grub/x86_64/efi/kernel.h: New file.
33082
33083 * include/grub/x86_64/efi/loader.h: Likewise.
33084
33085 * include/grub/x86_64/efi/machine.h: Likewise.
33086
33087 * include/grub/x86_64/efi/pci.h: Likewise.
33088
33089 * include/grub/x86_64/efi/time.h: Likewise.
33090
33091 * include/grub/x86_64/linux.h: Likewise.
33092
33093 * include/grub/x86_64/setjmp.h: Likewise.
33094
33095 * include/grub/x86_64/time.h: Likewise.
33096
33097 * include/grub/x86_64/types.h: Likewise.
33098
33099 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33100 GRUB_TARGET_SIZEOF_VOID_P.
33101
33102 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33103 (grub_efi_locate_handle): Likewise.
33104 (grub_efi_open_protocol): Likewise.
33105 (grub_efi_set_text_mode): Likewise.
33106 (grub_efi_stall): Likewise.
33107 (grub_exit): Likewise.
33108 (grub_reboot): Likewise.
33109 (grub_halt): Likewise.
33110 (grub_efi_exit_boot_services): Likewise.
33111 (grub_get_rtc): Likewise.
33112
33113 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33114 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33115 (grub_efi_allocate_pages): Wrap efi calls.
33116 (grub_efi_free_pages): Wrap efi calls.
33117 (grub_efi_get_memory_map): Wrap efi calls.
33118
33119 * kern/x86_64/dl.c: New file.
33120
33121 * kern/x86_64/efi/callwrap.S: Likewise.
33122
33123 * kern/x86_64/efi/startup.S: Likewise.
33124
33125 * loader/efi/appleloader.c: Likewise.
33126
33127 * loader/efi/chainloader.c (cmdline): New variable.
33128 (grub_chainloader_unload): Wrap efi calls.
33129 (grub_chainloader_boot): Likewise.
33130 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33131 command line.
33132
33133 * loader/efi/chainloader_normal.c (chainloader_command):
33134 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33135 command line.
33136
33137 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33138 method.
33139 (grub_e820_add_region): New function.
33140 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33141 booting.
33142 (grub_find_video_card): New function.
33143 (grub_linux_setup_video): New function.
33144 (grub_rescue_cmd_linux): Probe for video information.
33145
33146 * normal/x86_64/setjmp.S: New file.
33147
33148 * term/efi/console.c (map_char): New function.
33149 (grub_console_putchar): Map unicode char.
33150 (grub_console_checkkey): Wrap efi calls.
33151 (grub_console_getkey): Likewise.
33152 (grub_console_getwh): Likewise.
33153 (grub_console_gotoxy): Likewise.
33154 (grub_console_cls): Likewise.
33155 (grub_console_setcolorstate): Likewise.
33156 (grub_console_setcursor): Likewise.
33157
33158 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33159
59652a20 331602008-07-16 Pavel Roskin <proski@gnu.org>
33161
ef294055 33162 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33163 format strings.
33164
59652a20 33165 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33166 pointer, not an integer. This fixes a warning and prevents
33167 precision loss on 64-bit systems.
33168 (relocate_addresses): Remove unneeded cast.
33169
afc3b5d7 331702008-07-15 Pavel Roskin <proski@gnu.org>
33171
506b2b3e 33172 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33173
62ead89c 33174 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33175
c4cd51d7 33176 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33177 Fix comparison between signed and unsigned.
33178
0d3d8f28 33179 * include/grub/i386/ieee1275/console.h: Declare
33180 grub_console_init() and grub_console_fini().
33181
8804b286 33182 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33183 It's empty and unused.
33184
ee01cf35 33185 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33186 beginning to avoid warnings with some compilers.
33187
afc3b5d7 33188 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33189 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33190
e4e8eaa5 331912008-07-14 Pavel Roskin <proski@gnu.org>
33192
407aceb4 33193 * kern/env.c (grub_register_variable_hook): Don't copy empty
33194 string, it leaks memory. Pass "" to grub_env_set(), it should
33195 handle constant strings.
33196
e4e8eaa5 33197 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33198 * commands/cmp.c (grub_cmd_cmp): Likewise.
33199 * kern/dl.c (grub_dl_flush_cache): Likewise.
33200 (grub_dl_load_core): Likewise.
33201 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33202 (grub_elf64_load_phdrs): Likewise.
33203
d4e2dad3 332042008-07-13 Pavel Roskin <proski@gnu.org>
33205
33206 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33207 between signed and unsigned.
33208 (LzmaEnc_Finish): Fix warning about an unused parameter.
33209
aa24b516 332102008-07-13 Bean <bean123ch@gmail.com>
33211
33212 * Makefile.in (enable_lzo): New rule.
33213
33214 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33215
33216 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33217
33218 * boot/i386/pc/lnxboot.S: #include <config.h>.
33219
33220 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33221 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33222
33223 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33224 compression algorithm according to configure macro.
33225
33226 * kern/i386/pc/startup.S (codestart): Likewise.
33227
33228 * kern/i386/pc/lzma_decode.S: New file.
33229
33230 * include/grub/lib/LzFind.h: Likewise.
33231
33232 * include/grub/lib/LzHash.h: Likewise.
33233
33234 * include/grub/lib/LzmaDec.h: Likewise.
33235
33236 * include/grub/lib/LzmaEnc.h: Likewise.
33237
33238 * include/grub/lib/LzmaTypes.h: Likewise.
33239
33240 * lib/LzFind.c: Likewise.
33241
33242 * lib/LzmaDec.c: Likewise.
33243
33244 * lib/LzmaEnc.c: Likewise.
33245
4ae821ac 332462008-07-13 Bean <bean123ch@gmail.com>
33247
33248 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33249 (grub_ext4_extent_header): New structure.
33250 (grub_ext4_extent): Likewise.
33251 (grub_ext4_extent_idx): Likewise.
33252 (grub_ext4_find_leaf): New function.
33253 (grub_ext2_read_block): Handle extents.
33254
9a745147 332552008-07-12 Robert Millan <rmh@aybabtu.com>
33256
33257 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33258
d49a4cf6 332592008-07-11 Robert Millan <rmh@aybabtu.com>
33260
33261 * util/grub.d/40_custom.in: New file. Example on how to add custom
33262 entries to /etc/grub.d.
33263 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33264 40_custom (implicitly, by merging all the grub.d rules).
33265
947414b4 332662008-07-11 Pavel Roskin <proski@gnu.org>
33267
0059cf6f 33268 * commands/read.c (grub_getline): Fix invalid memory access.
33269 Don't add newline to the variable value.
33270
947414b4 33271 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33272 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33273 (serial_hw_get_port): Check validity of the port number.
33274 (grub_cmd_serial): Check return value of serial_hw_get_port().
33275
62a02d00 332762008-07-07 Pavel Roskin <proski@gnu.org>
33277
33278 * boot/i386/pc/diskboot.S (notification_string): Replace
33279 "Loading kernel" with just "loading". This is shorter, less
33280 confusing and saves a few bytes for possible future changes.
33281
3e5581b0 332822008-07-05 Pavel Roskin <proski@gnu.org>
33283
ea387a48 33284 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33285 size for ATAPI devices, they are undefined. Output sector
33286 number in decimal form.
33287
3e5581b0 33288 * disk/ata.c: Use named constants for status bits.
33289
fdecb8fd 332902008-07-04 Pavel Roskin <proski@gnu.org>
33291
bcd35b90 33292 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33293 grub_addr_t before casting it to the void pointer to fix a
33294 warning. Non-addressable regions are discarded earlier.
33295 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33296 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33297 (check_signature): Don't shadow table_header.
33298 (grub_linuxbios_table_iterate): Cast numeric constants to
33299 grub_linuxbios_table_header_t.
33300 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33301 grub_stop().
33302
af58ab3d 33303 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33304 prevent warnings.
33305
1759aa57 33306 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33307 pointer, which can cause warnings. Support 64-bit addresses.
33308
fdecb8fd 33309 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33310 of sizeof(long). This fixes PowerPC image generation on x86_64.
33311
8516d2a8 333122008-07-04 Robert Millan <rmh@aybabtu.com>
33313
33314 This fixes a performance issue when pc & gpt partmap iterators
33315 didn't abort iteration even after our hook found what it was
fe987087 33316 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33317
33318 Some callers relied on previous buggy behaviour, since they would
34c44600 33319 raise an error when their own hooks caused early abortion of its
8516d2a8 33320 iteration.
33321
33322 * kern/device.c (grub_device_open): Improve error message.
33323 * disk/lvm.c (grub_lvm_open): Likewise.
33324 * disk/raid.c (grub_raid_open): Likewise.
33325
33326 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33327 when hook requests it, independently of grub_errno.
33328 (pc_partition_map_probe): Do not fail when find_func() caused
33329 early abortion of pc_partition_map_iterate().
33330
33331 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33332 when hook requests it, independently of grub_errno.
33333 (gpt_partition_map_probe): Do not fail when find_func() caused
33334 early abortion of gpt_partition_map_iterate().
33335
33336 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33337 when hook requests it, independently of grub_errno. Do not fail when
33338 part_map_iterate_hook() caused early abortion of p->iterate().
33339
33340 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33341 when grub_partition_iterate() returned with non-zero.
33342
277d0de9 333432008-07-03 Pavel Roskin <proski@gnu.org>
33344
33345 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33346 like we do in grub_ata_pio_read().
33347 (grub_ata_readwrite): Always write individual sectors. Fix the
33348 sector count for the remainder.
33349 (grub_ata_write): Enable writing to ATA devices. Correctly
33350 report error for ATAPI devices.
33351
d4c9b428 333522008-07-02 Pavel Roskin <proski@gnu.org>
33353
e43fc690 33354 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33355 warning.
33356
f707af42 33357 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33358 for every read sector, we already increment it for the whole
33359 batch. This fixes reading more than 256 sectors at once.
33360
11e16b15 33361 * util/grub-editenv.c (cmd_info): Cast argument to long
33362 explicitly. ptrdiff_t reduces to int on i386.
33363
cbabfdd4 33364 * util/grub-editenv.c (main): Be specific which parameter is
33365 missing.
33366
b8fbce0a 33367 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33368 (memdisk): Make memdisk_orig_addr a pointer.
33369
c9c8e606 33370 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33371 for file offsets, use grub_off_t instead. Fix printf format
33372 warnings.
33373
ca62e598 33374 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33375 there. Real unexpected warnings should not drown in the noise
33376 about known problems.
33377
ce8d1766 33378 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33379 grub_disk_addr_t for memory addresses.
33380
00c7a56a 33381 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33382 explicitly to fix a warning.
33383
08d3ef09 33384 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33385
cb71ba20 33386 * Makefile.in (MODULE_LDFLAGS): New variable.
33387 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33388 the linker accepts --build-id=none.
33389 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33390 MODULE_LDFLAGS.
33391 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33392
d4c9b428 33393 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33394 those in Linux XFS code. Provide a way to access 64-bit parent
33395 inode.
33396 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33397 the end of struct grub_xfs_dir_header.
33398
d4156eee 333992008-07-02 Bean <bean123ch@gmail.com>
33400
33401 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33402 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33403 and GRUB_IEEE1275_FLAG_NO_ANSI.
33404
33405 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33406 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33407 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33408
33409 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33410 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33411
33412 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33413 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33414
33415 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33416 esc sequence on non ANSI terminal.
33417 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33418
33419 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33420 beginning of file.
33421
2270f77b 334222008-07-02 Bean <bean123ch@gmail.com>
33423
33424 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33425 (grub_editenv_SOURCES): New variable.
33426 (pkglib_MODULES): Add loadenv.mod.
33427 (loadenv_mod_SOURCES): New variable.
33428 (loadenv_mod_CFLAGS): Likewise.
33429 (loadenv_mod_LDFLAGS): Likewise.
33430
33431 * include/grub/envblk.h: New file.
33432
33433 * util/envblk.c: New file.
33434
33435 * util/grub-editenv.c: New file.
33436
33437 * commands/loadenv.c: New file.
33438
0e9e51ec 334392008-07-01 Pavel Roskin <proski@gnu.org>
33440
d89b7634 33441 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33442 not unsigned char. This fixes warnings and is consistent with
33443 other tags.
33444
bf1835b1 33445 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33446
8222a04b 33447 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33448
6a42d99d 33449 * term/tparm.c (analyze): Always set *popcount.
33450
10b159d1 33451 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33452 cast to fix a warning.
33453
b8789f6c 33454 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33455 cast to suppress a warning.
33456
29d7e38a 33457 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33458 grub_fshelp_read_file() expects.
33459
f341f669 33460 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33461 write uuid as a 32-bit value in CPU byte order, so declare and
33462 use it as such.
33463
0e9e51ec 33464 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33465 long if the format specifier expects it.
33466 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33467 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33468 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33469 long to fix a warning.
33470 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33471 grub_dprintf() arguments to fix warnings.
33472
3aefa857 334732008-06-30 Pavel Roskin <proski@gnu.org>
33474
56c7668b 33475 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33476 install_bsd_part immediately before core.img is embedded or
33477 modified on disk. This fixes core.img verification if core.img
33478 cannot be embedded.
33479
3aefa857 33480 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33481 core_path to calculate the blocklist.
33482 Patch from Javier Martín <lordhabbit@gmail.com>
33483
5444088d 334842008-06-29 Robert Millan <rmh@aybabtu.com>
33485
33486 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33487 block to disk block.
33488 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33489 Patch from Niels Böhm <bitbucket@arcor.de>
33490
674835c8 334912008-06-29 Robert Millan <rmh@aybabtu.com>
33492
33493 * util/update-grub_lib.in (font_path): Search for fonts in
33494 /boot/grub first, which is more likely to be readable (we aren't
33495 deciding where fonts live, just looking for them).
33496
f527dbc8 334972008-06-26 Pavel Roskin <proski@gnu.org>
33498
6c2d8df6 33499 * util/biosdisk.c (read_device_map): Don't leave dead map
33500 entries for devices failing stat() check.
33501
f527dbc8 33502 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33503 core_path_dev for the core.img path on the target device.
33504
aebe3d13 335052008-06-26 Robert Millan <rmh@aybabtu.com>
33506
33507 * disk/fs_uuid.c: New file.
33508 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33509 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33510 (fs_uuid_mod_LDFLAGS): New variables.
33511 * include/grub/disk.h (grub_disk_dev_id): Add
33512 `GRUB_DISK_DEVICE_UUID_ID'.
33513 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33514 implement iterate().
33515
37aaf354 335162008-06-26 Robert Millan <rmh@aybabtu.com>
33517
33518 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33519 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33520 Linux image includes no initrd.
33521
25ff262a 335222008-06-21 Javier Martín <lordhabbit@gmail.com>
33523
33524 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33525 call to resolve the core image location that effectively appended the
33526 name twice.
33527
76a2bd44 335282008-06-21 Robert Millan <rmh@aybabtu.com>
33529
33530 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33531 call from here ...
33532
33533 * util/grub.d/10_hurd.in: ... to here ...
33534 * util/grub.d/10_linux.in: ... and here.
33535
650e1c79 335362008-06-19 Robert Millan <rmh@aybabtu.com>
33537
fe987087 33538 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33539 after it has been set by grub_machine_set_prefix().
33540
6ce63911 335412008-06-19 Robert Millan <rmh@aybabtu.com>
33542
33543 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33544 search result when not saving to variable, not the other way around.
33545 When saving to variable, abort iteration as soon as a match is found.
33546
73940cec 335472008-06-19 Robert Millan <rmh@aybabtu.com>
33548
33549 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33550 check for partition that provides /boot/grub. Its logic is flawed,
33551 as it prevents prepare_grub_to_access_device() from being called
33552 multiple times.
33553
3c62a39d 335542008-06-19 Robert Millan <rmh@aybabtu.com>
33555
33556 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33557 "insmod" command directly when abstraction modules are needed,
fe987087 33558 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33559 since it had already been processed).
33560
47395a42 335612008-06-19 Pavel Roskin <proski@gnu.org>
33562
33563 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33564 changed. This is needed in case GRUB_LIBDIR changes.
33565 * conf/i386-ieee1275.rmk: Likewise.
33566 * conf/i386-linuxbios.rmk: Likewise.
33567 * conf/i386-pc.rmk: Likewise.
33568 * conf/powerpc-ieee1275.rmk: Likewise.
33569
a145ac2d 335702008-06-18 Pavel Roskin <proski@gnu.org>
33571
33572 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33573 kernel_elf_symlist.c to symlist.c for consistency with other
33574 architectures. Update all users.
33575 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33576
7847c51e 335772008-06-18 Robert Millan <rmh@aybabtu.com>
33578
33579 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33580 it in prefix.
33581
33582 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33583 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33584 a RAID device, run setup() for all members independently on whether
33585 LVM abstraction is being used.
33586 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33587 If grub-mkimage has set `*install_dos_part == -2', don't override this
33588 value.
33589 Perform *install_dos_part adjustments independently on whether
33590 we're embedding or not.
33591 Clarify error message when image is too big for embedding.
33592 Remove duplicate *install_dos_part stanza.
33593
b23e5644 335942008-06-17 Robert Millan <rmh@aybabtu.com>
33595
33596 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33597 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33598 variables.
33599 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33600 values in grub_ofconsole_normal_color and
33601 grub_ofconsole_highlight_color (they're not directly related to
33602 background and foreground).
33603 (grub_ofconsole_setcolorstate): Extract background and foreground
33604 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33605
0aac2f79 336062008-06-17 Robert Millan <rmh@aybabtu.com>
33607
33608 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33609 /boot/grub for the check in last commit, not /boot (they could be
33610 different partitions).
33611
3cca7ef3 336122008-06-16 Robert Millan <rmh@aybabtu.com>
33613
33614 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33615 asked to setup access for the same partition that provides /boot,
33616 don't bother using UUIDs since our root already has the value we
33617 want.
33618
347396d8 336192008-06-16 Robert Millan <rmh@aybabtu.com>
33620
33621 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33622 I2O devices.
33623 Patch from Sven Mueller <sven@debian.org>.
33624
991477f8 336252008-06-16 Robert Millan <rmh@aybabtu.com>
33626
33627 * util/update-grub.in: Check for $EUID instead of $UID.
33628 Reported by Vincent Zweije.
33629
d31a32a1 336302008-06-16 Bean <bean123ch@gmail.com>
33631
fe987087 33632 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33633 (grub_ext2_read_block): Likewise.
33634 (grub_ext2_read_inode): Likewise.
33635 (grub_ext2_mount): Likewise.
33636 (grub_ext2_close): Likewise.
33637 (grub_ext3_get_journal): Removed.
33638
fe987087 33639 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33640 (grub_reiserfs_read_symlink): Likewise.
33641 (grub_reiserfs_mount): Likewise.
33642 (grub_reiserfs_open): Likewise.
33643 (grub_reiserfs_read): Likewise.
33644 (grub_reiserfs_close): Likewise.
33645 (grub_reiserfs_get_journal): Removed.
33646
33647 * fs/fshelp.c (grub_fshelp_read): Removed.
33648 (grub_fshelp_map_block): Likewise.
33649
33650 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33651 (grub_fshelp_journal): Likewise.
33652 (grub_fshelp_read): Likewise.
33653 (grub_fshelp_map_block): Likewise.
33654
3540a760 336552008-06-16 Pavel Roskin <proski@gnu.org>
33656
33657 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33658 floating point anymore.
33659 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33660
95614c84 336612008-06-15 Pavel Roskin <proski@gnu.org>
33662
33663 * commands/ls.c (grub_ls_list_files): Use integer calculations
33664 for human readable format, avoid floating point use.
33665 * kern/misc.c (grub_ftoa): Remove.
33666 (grub_vsprintf): Remove floating point support.
33667
50465dd6 336682008-06-15 Robert Millan <rmh@aybabtu.com>
33669
fe6b695a 33670 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33671 devices.
33672 Reported by Max Vozeler.
33673
a9207284 336742008-06-15 Robert Millan <rmh@aybabtu.com>
33675
33676 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33677 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33678 skipped later.
33679 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33680 the beginning of the prefix.
33681
33682 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33683 It is assumed that if we have a memdisk, grub-mkimage has set
33684 grub_prefix to include the "(memdisk)" drive in it.
33685
a7cbd45a 336862008-06-15 Robert Millan <rmh@aybabtu.com>
33687
33688 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33689 Initialize keyboard controller after registering the terminal, so that
33690 grub_printf() can be called from grub_keyboard_controller_init().
33691
21cf716a 336922008-06-15 Robert Millan <rmh@aybabtu.com>
33693
33694 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33695 extent-btree which is written as big endian on disk.
33696 Reported by Alain Greppin <al@chilibi.org>.
33697
23a64d8e 336982008-06-14 Robert Millan <rmh@aybabtu.com>
33699
33700 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33701 * util/i386/pc/grub-install.in (modules): Likewise.
33702
d687651c 337032008-06-13 Pavel Roskin <proski@gnu.org>
33704
33705 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33706
dfe9ddd4 337072008-06-13 Bean <bean123ch@gmail.com>
33708
33709 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33710
33711 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33712
33713 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33714 to indicate sparse block.
33715
16ae7781 337162008-06-12 Pavel Roskin <proski@gnu.org>
33717
e6d1a308 33718 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33719 number, grub_fshelp_read() does it for us.
33720
16ae7781 33721 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33722 linear disk read with journal translation.
33723 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33724 * include/grub/fshelp.h: Declare grub_fshelp_read().
33725
40fd3a2b 337262008-06-09 Pavel Roskin <proski@gnu.org>
33727
33728 * fs/minix.c (grub_minix_mount): Handle error reading
33729 superblock.
33730
f5679726 337312008-06-08 Robert Millan <rmh@aybabtu.com>
33732
33733 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33734 don't append the RAID prefix afterwards.
33735 Reported by Clint Adams.
33736
ce525529 337372008-06-08 Robert Millan <rmh@aybabtu.com>
33738
33739 Based on description from Pavel:
33740 * kern/disk.c (grub_disk_check_range): Rename to ...
33741 (grub_disk_adjust_range): ... this. Add a comment explaining the
33742 tasks performed by this function.
33743
ad4936a0 337442008-06-08 Robert Millan <rmh@aybabtu.com>
33745
33746 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33747 `num_serial' (for consistency with other variables).
33748 (struct grub_ntfs_data): Add `uuid' member.
33749 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33750 (grub_ntfs_uuid): New function.
33751 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33752
dc20b0f9 337532008-06-07 Pavel Roskin <proski@gnu.org>
33754
33755 * util/biosdisk.c (open_device): Revert last change to the
33756 function, it broke installation. The sector needs to be
33757 different dependent on which device is opened.
33758
c5e3cfba 337592008-06-06 Robert Millan <rmh@aybabtu.com>
33760
33761 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33762 rest of GRUB, and breakage doesn't happen if its value were modified.
33763
33764 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33765 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33766 a constant (same value).
33767 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33768 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33769
26a1f8c4 337702008-06-06 Robert Millan <rmh@aybabtu.com>
33771
33772 * util/biosdisk.c (open_device): Do not modify sector offset when
33773 accessing a partition. kern/disk.c already handles this for us.
33774
25d6b327 337752008-06-06 Robert Millan <rmh@aybabtu.com>
33776
33777 * util/grub-emu.c (grub_machine_init): Move code in this function from
33778 here ...
33779 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33780 segfault in case grub_printf() is called).
33781
33782 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33783 grub_probe. Update all users not to explicitly add it again.
33784 (grub_device): New variable; contains corresponding device for grubdir.
33785 (fs_module, partmap_module, devabstraction_module): Pass
33786 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33787 every time.
33788
9ece62fb 337892008-06-05 Robert Millan <rmh@aybabtu.com>
33790
33791 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33792 is found, print it (same layout as with labels).
33793
1ad36d37 337942008-06-04 Robert Millan <rmh@aybabtu.com>
33795
33796 * util/biosdisk.c (get_drive): Rename to ...
33797 (find_grub_drive): ... this. Update all users.
33798
33799 (get_os_disk): Rename to ...
33800 (convert_system_partition_to_system_disk): ... this. Update all users.
33801
33802 (find_drive): Rename to ...
33803 (find_system_device): ... this. Update all users.
33804
e6a30859 338052008-06-04 Robert Millan <rmh@aybabtu.com>
33806
33807 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33808 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33809 (make_device_map): Likewise.
33810
00c108a4 338112008-06-01 Robert Millan <rmh@aybabtu.com>
33812
33813 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33814 before dereferencing it.
33815
33816 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33817 union with fat12/fat16-specific ones. Add some new fields, including
33818 `num_serial' for both versions.
33819 (struct grub_fat_data): Add `uuid' member.
33820 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33821 names. Initialize `data->uuid' using `num_serial'.
33822 (grub_fat_uuid): New function.
33823 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33824
33825 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33826 (grub_reiserfs_uuid): New function.
33827 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33828 member.
33829
33830 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33831 (grub_xfs_uuid): New function.
33832 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33833
1385c5bb 338342008-06-01 Robert Millan <rmh@aybabtu.com>
33835
33836 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33837 code that is backward compatible with pre-uuid search command.
33838
c682dfd7 338392008-05-31 Robert Millan <rmh@aybabtu.com>
33840
33841 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33842 floppies after everything else, to ensure floppy drive isn't accessed
33843 unnecessarily (patch from Bean).
33844
b7db5d47 338452008-05-31 Robert Millan <rmh@aybabtu.com>
33846
33847 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33848 not print device names when we were asked to set a variable.
33849
6e037aa9 338502008-05-31 Robert Millan <rmh@aybabtu.com>
33851
33852 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33853 using "cursor-on" and "cursor-off" commands (understood at least by
33854 the Open Firmware flavour on OLPC).
33855
41305bc8 338562008-05-31 Michael Gorven <michael@gorven.za.net>
33857
33858 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33859 on and off sequences.
33860
69ba137e 338612008-05-31 Robert Millan <rmh@aybabtu.com>
33862
33863 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33864 * util/update-grub.in: Likewise.
33865
520ae21b 338662008-05-30 Pavel Roskin <proski@gnu.org>
33867
33868 * util/biosdisk.c (linux_find_partition): Simplify logic and
33869 make the code more universal. Keep special processing for
33870 devfs, but use a simple rule for all other devices. If the
33871 device ends with a number, append 'p' and the partition number.
33872 Otherwise, append only the partition number.
33873
5786569b 338742008-05-30 Robert Millan <rmh@aybabtu.com>
33875
33876 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33877 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33878 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33879 the `root' parameter to Linux.
33880
51500452 338812008-05-30 Robert Millan <rmh@aybabtu.com>
33882
33883 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33884 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33885 --fs_uuid with --fs-uuid.
33886 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33887 all filesystems support them).
33888
811d3878 338892008-05-30 Robert Millan <rmh@aybabtu.com>
33890
33891 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33892 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33893
cab63c95 338942008-05-30 Robert Millan <rmh@aybabtu.com>
33895
33896 * util/grub.d/00_header.in: Remove obsolete comment referencing
33897 convert_system_path_to_grub_path().
33898 * util/update-grub.in: Likewise.
33899 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33900 (convert_system_path_to_grub_path): Add a warning message explaining
33901 that this function is deprecated. Rely on is_path_readable_by_grub()
33902 for the readability checks.
33903 (font_path): Use is_path_readable_by_grub() for the readability
33904 check rather than convert_system_path_to_grub_path().
33905
972e2f7a 339062008-05-30 Robert Millan <rmh@aybabtu.com>
33907
33908 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33909 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33910 converting it first.
33911 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33912 grub.cfg for access to font file, and afterwards call it again to set
33913 the root device.
33914
62191274 339152008-05-30 Robert Millan <rmh@aybabtu.com>
33916
33917 * commands/search.c (options): Add --fs_uuid option.
33918 (search_fs_uuid): New function.
33919 (grub_cmd_search): Fix --set argument passing.
33920 Use search_fs_uuid() when requested via --fs_uuid.
33921 (grub_search_init): Update help message.
33922 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33923 and redeclare it as an array of 16-bit words.
33924 (grub_ext2_uuid): New function.
33925 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33926 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33927 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33928 (GRUB_DEVICE_BOOT_UUID): New variables.
33929 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33930 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33931 whenever possible.
33932 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33933 just assume `root' variable has the right value.
33934 * util/grub.d/10_linux.in: Likewise.
33935 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33936 via PRINT_FS_UUID.
33937 (main): Recognise `-t fs_uuid' argument.
33938
01b73ec8 339392008-05-30 Robert Millan <rmh@aybabtu.com>
33940
33941 * util/biosdisk.c (map): Redefine structure to hold information
33942 about GRUB drive name.
fe6b695a 33943 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33944 drive names.
33945 (call_hook): Remove.
33946 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33947 member. Assume drive has partitions.
33948 (grub_util_biosdisk_open): Access device names via `.device' struct
33949 member.
33950 (open_device): Likewise.
33951 (find_drive): Likewise.
33952 (read_device_map): Adjust map[] usage to match the new struct
33953 definition. Don't check for duplicates (still possible, but not cheap
33954 anymore).
33955 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33956 (make_device_name): Remove assumption of BIOS-like drive names.
33957
22f16596 339582008-05-30 Pavel Roskin <proski@gnu.org>
33959
33960 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33961 compiling execute.c doesn't need grub_script.tab.h anymore.
33962 (normal/command.c_DEPENDENCIES): Likewise.
33963 (normal/function.c_DEPENDENCIES): Likewise.
33964 * conf/i386-ieee1275.rmk: Likewise.
33965 * conf/i386-linuxbios.rmk: Likewise.
33966 * conf/i386-pc.rmk: Likewise.
33967 * conf/powerpc-ieee1275.rmk: Likewise.
33968 * conf/sparc64-ieee1275.rmk: Likewise.
33969
528ad8f2 339702008-05-29 Pavel Roskin <proski@gnu.org>
33971
d1dff95d 33972 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33973 when scanning metadata for volume group name.
33974
528ad8f2 33975 * include/grub/script.h: Don't include grub_script.tab.h. It's
33976 a generated file, which may only be included from the files with
33977 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33978 use union YYSTYPE, as the later allows forward declaration.
33979 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33980
47248e08 339812008-05-29 Robert Millan <rmh@aybabtu.com>
33982
33983 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33984 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33985 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33986 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33987 scan codes.
33988
ee632529 339892008-05-29 Robert Millan <rmh@aybabtu.com>
33990
33991 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33992 control key combinations.
33993
eee96e08 339942008-05-29 Robert Millan <rmh@aybabtu.com>
33995
33996 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33997 * util/ieee1275/grub-install.in: ... to here.
33998 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33999 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34000 (grub_install_SOURCES): Likewise.
34001
da9a6a94 340022008-05-29 Robert Millan <rmh@aybabtu.com>
34003
34004 * fs/affs.c: Update copyright year.
34005 * fs/ext2.c: Likewise.
34006 * fs/fshelp.c: Likewise.
34007 * fs/hfsplus.c: Likewise.
34008 * fs/ntfs.c: Likewise.
34009 * fs/xfs.c: Likewise.
34010 * include/grub/fshelp.h: Likewise.
34011 * util/grub-mkdevicemap.c: Likewise.
34012
12e65f3a 340132008-05-28 Robert Millan <rmh@aybabtu.com>
34014
34015 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34016 might need to be fatfs to support some firmware implementations
34017 (e.g. OFW or EFI).
34018
23023641 340192008-05-28 Robert Millan <rmh@aybabtu.com>
34020
34021 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34022 devices.
34023 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34024 (make_device_map): Likewise.
34025
887d2619 340262008-05-20 Bean <bean123ch@gmail.com>
34027
34028 * fs/fshelp.c (grub_fshelp_map_block): New function.
34029 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34030 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34031
34032 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34033 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34034 (grub_fshelp_journal): New structure.
34035 (grub_fshelp_map_block): New function prototype.
34036 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34037 (grub_fshelp_map_block): Likewise.
34038
34039 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34040 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34041 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34042 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34043 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34044 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34045 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34046 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34047 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34048 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34049 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34050 (grub_ext2_sblock): New members for journal support.
34051 (grub_ext3_journal_header): New structure.
34052 (grub_ext3_journal_revoke_header): Likewise.
34053 (grub_ext3_journal_block_tag): Likewise.
34054 (grub_ext3_journal_sblock): Likewise.
34055 (grub_fshelp_node): New members logfile and journal.
34056 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34057 grub_fshelp_map_block to get real block number.
34058 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34059 number.
34060 (grub_ext2_read_inode): Likewise.
34061 (grub_ext3_get_journal): New function.
34062 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34063 (grub_ext2_close): Release memory used by journal.
34064
34065 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34066 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34067 (grub_reiserfs_transaction_header): Renamed to
34068 grub_reiserfs_description_block, replace field data with real_blocks.
34069 (grub_reiserfs_commit_block): New structure.
34070 (grub_reiserfs_data): New member journal.
34071 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34072 number.
34073 (grub_reiserfs_read_symlink): Likewise.
34074 (grub_reiserfs_iterate_dir): Likewise.
34075 (grub_reiserfs_open): Likewise.
34076 (grub_reiserfs_read): Likewise.
34077 (grub_reiserfs_get_journal): New function.
34078 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34079 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34080 using grub_reiserfs_get_journal.
34081 (grub_reiserfs_close): Release memory used by journal.
34082
34083 * fs/affs.c (grub_affs_read_block): Change block type to
34084 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34085
34086 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34087
34088 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34089
34090 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34091
34092 * fs/udf.c (grub_udf_read_block): Change block type to
34093 grub_disk_addr_t. Use type cast to avoid warning.
34094
34095 * fs/xfs.c (grub_xfs_read_block): Likewise.
34096
b7c6bed5 340972008-05-16 Christian Franke <franke@computer.org>
34098
34099 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34100 to ensure that break with ESC will always work.
34101 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34102 Remove ESC from keyboard queue.
34103
eedf167f 341042008-05-16 Christian Franke <franke@computer.org>
34105
34106 * util/biosdisk.c: [__CYGWIN__] Add includes.
34107 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34108 (get_os_disk): Move variable declarations to OS specific
34109 parts to avoid warning.
34110 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34111 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34112 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34113 Cygwin.
34114 * util/getroot.c: [__CYGWIN__] Add includes.
34115 (strip_extra_slashes): Fix "/" case.
34116 [__CYGWIN__] (get_win32_path): New function.
34117 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34118 [__CYGWIN__] (find_root_device): Disable.
34119 [__CYGWIN__] (get_bootsec_serial): New function.
34120 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34121 [__linux__] (grub_guess_root_device): Add early returns to simplify
34122 structure.
34123 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34124 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34125 check for Linux only.
34126
a079699e 341272008-05-15 Bean <bean123ch@gmail.com>
34128
34129 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34130 keyboard hang problem in apple's intel mac.
34131
1cf4059a 341322008-05-09 Robert Millan <rmh@aybabtu.com>
34133
34134 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34135 devices.
34136 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34137 (make_device_map): Likewise.
34138 Reported by Aurelien Jarno <aurel32@debian.org>
34139
ed759390 341402008-05-07 Ian Campbell <ijc@hellion.org.uk>
34141
34142 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34143 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34144 (make_device_map): Output entries for xvd type disks.
34145
b56c4eaa 341462008-05-07 Robert Millan <rmh@aybabtu.com>
34147
34148 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34149 devices.
34150 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34151 (make_device_map): Likewise.
34152 Reported by Roland Dreier <rdreier@cisco.com>
34153
7f8866ed 341542008-05-07 Robert Millan <rmh@aybabtu.com>
34155
34156 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34157 grub_strstr() call. Correct a few mistakes in failure path handling.
34158
b0346e0f 341592008-05-06 Robert Millan <rmh@aybabtu.com>
34160
34161 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34162 Do not print a trailing slash (therefore, the root directory is an
34163 empty string).
34164 (convert_system_path_to_grub_path): Do not remove trailing slash
34165 from make_system_path_relative_to_its_root() output.
34166
34167 * util/i386/pc/grub-install.in: Add trailing slash to output from
34168 make_system_path_relative_to_its_root().
34169
6cf12cbd 341702008-05-06 Robert Millan <rmh@aybabtu.com>
34171
34172 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34173 ensures that output lines aren't intermangled with those sent to
34174 stderr (via grub_util_info()).
34175 * util/grub-probe.c (grub_refresh): Likewise.
34176 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34177
0fbb3117 341782008-05-05 Christian Franke <franke@computer.org>
34179
34180 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34181 Add Cygwin device names.
34182 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34183 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34184 (check_device): Return error instead of success on empty name.
34185 (make_device_map): Move label inside linux specific code to
34186 prevent compiler warning.
34187
8124cdb7 341882008-04-30 Robert Millan <rmh@aybabtu.com>
34189
34190 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34191 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34192 first boot option.
34193 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34194
094c01d0 341952008-04-29 Robert Millan <rmh@aybabtu.com>
34196
34197 * docs/grub.cfg: New file (example GRUB configuration).
34198
f4b1fc02 341992008-04-26 Robert Millan <rmh@aybabtu.com>
34200
329ce2a5 34201 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34202 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34203 and `disk/ieee1275/nand.c'.
f4b1fc02 34204
25f16ec1 342052008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34206
25f16ec1 34207 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34208 i386-linuxbios.
34209
34210 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34211 change the buffer size to 4096 for cdrom device.
34212
34213 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34214 and nand.mod.
34215 (_linux_mod_SOURCES): New variable.
34216 (_linux_mod_CFLAGS): Likewise.
34217 (_linux_mod_LDFLAGS): Likewise.
34218 (linux_mod_SOURCES): Likewise.
34219 (linux_mod_CFLAGS): Likewise.
34220 (linux_mod_LDFLAGS): Likewise.
34221 (nand_mod_SOURCES): Likewise.
34222 (nand_mod_CFLAGS): Likewise.
34223 (nand_mod_LDFLAGS): Likewise.
34224
34225 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34226 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34227 type property. (nand device in olpc don't have this property)
34228
34229 * include/grub/disk.h (grub_disk_dev_id): New macro
34230 GRUB_DISK_DEVICE_NAND_ID.
34231
34232 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34233 function prototype.
34234 (grub_rescue_cmd_initrd): Likewise.
34235
34236 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34237 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34238 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34239
25f16ec1 34240 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34241 GRUB_MACHINE_IEEE1275 is defined.
34242
34243 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34244 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34245
34246 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34247 on nested function heap_init.
34248 (grub_upper_mem): New variable for i386-ieee1275.
34249 (grub_get_extended_memory): New function for i386-ieee1275.
34250 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34251
34252 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34253 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34254 property.
f19dbdb7 34255
25f16ec1 34256 * loader/i386/ieee1275/linux.c: New file.
34257
34258 * loader/i386/ieee1275/linux_normal.c: New file.
34259
34260 * disk/ieee1275/nand.c: New file.
34261
e89d61e9 342622008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34263
34264 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34265 value.
34266 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34267
602566f6 342682008-04-18 Robert Millan <rmh@aybabtu.com>
34269
34270 Restructures early code path on ieee1275 to unify grub_main() as
34271 the first C function that is executed in every platform.
34272
34273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34274 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34275 cmain().
34276 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34277 * kern/ieee1275/cmain.c (cmain): Rename to ...
34278 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34279 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34280 at the beginning.
34281
57490c2b 342822008-04-18 Robert Millan <rmh@aybabtu.com>
34283
34284 * util/update-grub.in: Fix syntax error when setting
34285 `GRUB_PRELOAD_MODULES'.
34286 Reported by Stephane Chazelas <stephane@artesyncp.com>
34287
1977517d 342882008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34289
34290 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34291 section into account, newer toolchains generate unique build ids
34292 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34293 we want build ids to be preserved
1977517d 34294 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34295 far from other sections don't cause the raw binary images grow
34296 size
34297
bfb1f1a2 342982008-04-15 Robert Millan <rmh@aybabtu.com>
34299
34300 * disk/lvm.c: Update copyright year.
34301 * kern/misc.c: Likewise.
34302
01979850 343032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34304
34305 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34306 there is no memory left for physical volume name.
01979850 34307
0a1150e2 343082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34309
34310 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34311 volume name mapping to support bigger than 9 character names properly.
34312
82ead3fe 343132008-04-13 Robert Millan <rmh@aybabtu.com>
34314
34315 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34316 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34317
e54a72f5 343182008-04-13 Christian Franke <franke@computer.org>
34319
34320 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34321 to create a floppy emulation boot CD when non emulation mode
34322 does not work.
34323 Enable Joliet CD filesystem extension.
34324
9fe86034 343252008-04-13 Robert Millan <rmh@aybabtu.com>
34326
34327 * kern/misc.c (grub_strncat): Fix off-by-one error.
34328 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34329
34330 * kern/env.c (grub_env_context_close): Clear current context, not
34331 previous one.
34332 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34333
34334 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34335
7ceeee39 343362008-04-13 Robert Millan <rmh@aybabtu.com>
34337
34338 Improve robustness when handling LVM.
34339
34340 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34341 (and leave `*p' unmodified).
7ceeee39 34342 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34343 through it.
34344 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34345 iterating through it.
34346 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34347 through it.
fe6b695a 34348 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34349 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34350 Don't assume `vg->pvs != NULL' when iterating through it.
34351
58cd3d85 343522008-04-13 Robert Millan <rmh@aybabtu.com>
34353
34354 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34355 * genmk.rb (partmap): New variable.
34356 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34357 (#{partmap}): New target rule.
34358 * genpartmaplist.sh: New file.
34359 * Makefile.in (pkglib_DATA): Add partmap.lst.
34360 (partmap.lst): New target rule.
34361 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34362 modules (including all partition maps), instead of preloading them.
34363
78b51059 343642007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34365
34366 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34367 `linux-boot-prober' (if installed) to detect other operating
34368 systems which are installed on the computer and add them to
34369 the boot menu.
34370 * conf/common.rmk: Build and install 30_os-prober.
34371
a91627b4 343722008-04-12 Robert Millan <rmh@aybabtu.com>
34373
34374 * kern/powerpc/ieee1275/init.c: Move from here ...
34375 * kern/ieee1275/init.c: ... to here. Update all users.
34376
34377 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34378 * kern/ieee1275/cmain.c: ... to here. Update all users.
34379
34380 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34381 * kern/ieee1275/openfw.c: ... to here. Update all users.
34382
34383 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34384 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34385
322562ea 343862008-04-10 Pavel Roskin <proski@gnu.org>
34387
34388 * configure.ac: Always use "_cv_" in cache variables for
34389 compatibility with Autoconf 2.62.
34390
a02a73c5 343912008-04-07 Robert Millan <rmh@aybabtu.com>
34392
34393 Revert grub/machine/init.h addition by Pavel (since it breaks on
34394 i386-ieee1275 and others):
34395 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34396 * util/powerpc/ieee1275/misc.c: Likewise.
34397
25c024b1 343982008-04-07 Robert Millan <rmh@aybabtu.com>
34399
34400 * util/grub-probe.c (probe): Improve error message.
34401
3cbd2f98 344022008-04-07 Robert Millan <rmh@aybabtu.com>
34403
34404 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34405 (this prevents the presence of a bogus entry from ruining the whole
34406 thing).
34407
87a297bf 344082008-04-06 Pavel Roskin <proski@gnu.org>
34409
36747a62 34410 * util/biosdisk.c: Include grub/util/biosdisk.h.
34411 * util/grub-fstest.c (execute_command): Make static.
34412 * util/grub-mkdevicemap.c (check_device): Likewise.
34413 * util/i386/pc/misc.c: Include grub/machine/init.h.
34414 * util/powerpc/ieee1275/misc.c: Likewise.
34415 * util/lvm.c: Include grub/util/lvm.h.
34416 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34417 grub/cache.h.
34418 * util/raid.c: Include grub/util/raid.h.
34419 (grub_util_getdiskname): Make static.
34420
87a297bf 34421 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34422 grub_hostfs_fini(), as they are called from grub_init_all() and
34423 grub_fini_all() respectively. This fixes an infinite loop in
34424 grub-fstest due to double registration of hostfs.
34425 Reported by Christian Franke <Christian.Franke@t-online.de>
34426
f6ce7629 344272008-04-05 Pavel Roskin <proski@gnu.org>
34428
34429 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34430 all 8 functions. Otherwise, probe function 0 only.
34431
070e49e4 344322008-04-04 Pavel Roskin <proski@gnu.org>
34433
8b088a4c 34434 * commands/lspci.c (grub_lspci_iter): Print the bus number
34435 correctly.
34436
4f657021 34437 * commands/lspci.c (grub_pci_classes): Fix typos.
34438 (grub_lspci_iter): Don't print func twice. Print vendor ID
34439 before device ID, as it's normally done.
34440
070e49e4 34441 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34442 Fix signedness warnings.
34443 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34444 Likewise.
34445 * util/ieee1275/get_disk_name.c: Include config.h so that
34446 _GNU_SOURCE is defined and getline() is declared. Mark an
34447 unused argument as such. Fix a signedness warning.
34448
ba7328dc 344492008-04-02 Pavel Roskin <proski@gnu.org>
34450
26887f22 34451 * genkernsyms.sh.in: Use more robust assignments for CC and
34452 srcdir. Quote srcdir.
34453 * gensymlist.sh.in: Likewise. Assert at the compile time that
34454 the symbol table is not empty.
34455
ba7328dc 34456 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34457 * fs/cpio.c (grub_cpio_read): Likewise.
34458
0f582c6b 344592008-04-01 Pavel Roskin <proski@gnu.org>
34460
4b6e1995 34461 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34462 * disk/host.c (grub_host_open): Likewise.
34463 * disk/loopback.c (grub_loopback_open): Likewise.
34464 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34465 disk->id as in disk/host.c, not a multi-character constant.
34466
828a2768 34467 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34468 later is obsolete, potentially dangerous and sets a bad example.
34469 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34470 * util/misc.c (grub_util_get_image_size): Likewise.
34471
2bb4fb47 34472 * disk/loopback.c (options): Improve help for "--partitions".
34473
0f582c6b 34474 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34475 options to align them with the short options, e.g. "echo -e".
34476
a33224e0 344772008-03-31 Bean <bean123ch@gmail.com>
34478
34479 * video/reader/png.c (grub_png_data): New member is_16bit and
34480 image_data.
34481 (grub_png_decode_image_header): Detect 16 bit png image.
34482 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34483 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34484 (grub_video_reader_png): Release memory occupied by image_data.
34485
34486 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34487 4096 bytes.
34488 (grub_nfs_mount): Skip the test for sector per cluster.
34489
34490 * include/grub/ntfs.h (MAX_SPC): Removed.
34491
86cb4f54 344922008-03-31 Bean <bean123ch@gmail.com>
34493
34494 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34495 (grub_probe_SOURCES): Add fs/afs.c.
34496 (grub_fstest_SOURCES): Likewise.
34497 (afs_mod_SOURCES): New variable.
34498 (afs_mod_CFLAGS): Likewise.
34499 (afs_mod_LDFLAGS): Likewise.
34500
34501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34502 (grub_emu_SOURCES): Likewise.
34503
34504 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34505
34506 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34507
34508 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34509
34510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34511
34512 * fs/afs.c: New file.
34513
17c74c21 345142008-03-30 Pavel Roskin <proski@gnu.org>
34515
4cb68e89 34516 * disk/host.c: Include grub/misc.h to fix a warning.
34517 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34518 warnings about implicit declarations.
34519
8790bb04 34520 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34521 variable.
34522 * include/grub/i386/loader.h: Change declaration of
34523 grub_linux_boot() to match what grub_loader_set() expects.
34524 * util/getroot.c (grub_guess_root_device): Return const char* to
34525 fix a warning.
34526 * util/grub-probe.c (probe): Fix a warning about uninitialized
34527 abstraction_name variable.
34528 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34529 second argument as unused to fix a warning.
34530
9a3f3296 34531 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34532 missing grub_error() call.
34533
0ecef90d 34534 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34535 2.60 and newer uses it to define datadir.
34536
0bf6d401 34537 * commands/sleep.c: Fix warning about implicit declaration.
34538 * disk/memdisk.c: Likewise.
34539 * loader/aout.c: Likewise.
34540 * loader/i386/bsd_normal.c: Likewise.
34541 * util/grub-probe.c: Likewise.
34542
7cdacf97 34543 * commands/i386/cpuid.c (has_longmode): Make static.
34544 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34545 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34546
17c74c21 34547 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34548 GDT. This is more robust, as %ds can change.
34549 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34550 calling real_to_prot().
34551 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34552
80a3e68b 345532008-03-28 Pavel Roskin <proski@gnu.org>
34554
34555 * kern/i386/pc/startup.S: Assert that uncompressed functions
34556 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34557 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34558 code, as they push parts of the code (error handlers) beyond
34559 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34560 code as correctness and size.
34561
77bcd272 345622008-03-28 Pavel Roskin <proski@gnu.org>
34563
34564 * kern/i386/pc/startup.S
34565 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34566 data block address to the real mode, keep offset minimal. This
34567 works around a bug in AWARD BIOS on old Athlon systems, which
34568 makes CD detection hang.
34569
c5dfd43b 345702008-03-26 Pavel Roskin <proski@gnu.org>
34571
34572 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34573 const.
34574 * include/grub/normal.h: Add grub_parse_color_name_pair()
34575 declaration.
34576
bf962df2 345772008-03-24 Bean <bean123ch@gmail.com>
34578
34579 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34580 (cd_count): Removed.
34581 (cd_drive): New variable.
34582 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34583 (grub_biosdisk_call_hook): Likewise.
34584 (grub_biosdisk_iterate): Change cdrom detection method.
34585 (grub_biosdisk_open): Replace cd_start with cd_drive.
34586 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34587 detect cdrom device.
34588
34589 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34590 Removed.
34591 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34592 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34593 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34594 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34595 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34596 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34597 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34598 (grub_biosdisk_cdrp): New structure.
34599 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34600
34601 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34602
34603 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34604 device.
34605
34606 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34607 New function.
34608
68e7fc7a 346092008-03-20 Robert Millan <rmh@aybabtu.com>
34610
34611 Remove 2 TiB limit in ata.mod.
34612 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34613 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34614 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34615 grub_uint64_t instead of grub_uint32_t.
34616
38ad2cf5 346172008-03-05 Bean <bean123ch@gmail.com>
34618
34619 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34620 (grub_multiboot): Set boot device.
34621
34622 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34623
2b89344e 346242008-03-02 Bean <bean123ch@gmail.com>
34625
34626 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34627 symlink_buffer.
34628
87a95d1f 346292008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34630
34631 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34632 texinfo.tex.
34633
34634 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34635 modified.
34636
34637 * docs/fdl.texi: New file.
f19dbdb7 34638
87a95d1f 34639 * docs/mdate-sh: New file. Copied from gnulib.
34640 * docs/texinfo.tex: Likewise.
34641
34642 * config.guess: Updated from gnulib.
34643 * install-sh: Likewise.
34644
7dc15d8e 346452008-02-28 Robert Millan <rmh@aybabtu.com>
34646
34647 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34648 (aout_mod_SOURCES): New variable.
34649 (aout_mod_CFLAGS): Likewise.
34650 (aout_mod_LDFLAGS): Likewise.
34651
34652 * conf/i386-ieee1275.rmk: Likewise.
34653
b00ab696 346542008-02-28 Robert Millan <rmh@aybabtu.com>
34655
34656 * util/update-grub.in: Reorganise terminal validity check. Accept
34657 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34658 Based on suggestion by Franklin PIAT.
34659
79ca2d78 346602008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34661
34662 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34663 function.
34664 * util/getroot.c (grub_util_check_block_device): New function that
34665 returns the given argument if it is a block device and returns NULL else.
34666 * util/grub-probe.c (argument_is_device): New variable.
34667 (probe): Promote device_name from a variable to an argument. Receive
34668 device_name from grub_util_check_block_device() if path is NULL and from
34669 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34670 (options): Introduce new parameter '-d, --device'.
79ca2d78 34671 (main): Add description of the new parameter to the help screen.
34672 Rename path variable to argument. Set argument_is_device if the '-d'
34673 option is given. Pass argument to probe() depending on
34674 argument_is_device.
34675
0d16e571 346762008-02-24 Bean <bean123ch@gmail.com>
34677
34678 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34679 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34680 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34681 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34682 (GRUB_ISO9660_VOLDESC_END): Likewise.
34683 (grub_iso9660_primary_voldesc): New member escape.
34684 (grub_iso9660_data): New member joliet.
34685 (grub_iso9660_convert_string): New function.
34686 (grub_iso9660_mount): Detect joliet extension.
34687 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34688 (grub_iso9660_iso9660_label): Likewise.
34689
34690 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34691 (grub_setup_SOURCES): Add fs/udf.c.
34692 (grub_fstest_SOURCES): Likewise.
34693 (udf_mod_SOURCES): New variable.
34694 (udf_mod_CFLAGS): Likewise.
34695 (udf_mod_LDFLAGS): Likewise.
34696
34697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34698 (grub_emu_SOURCES): Likewise.
34699
34700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34701
34702 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34703
34704 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34705
34706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34707
34708 * fs/udf.c: New file.
34709
8a594a17 347102008-02-24 Robert Millan <rmh@aybabtu.com>
34711
34712 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34713 (normal/lexer.c_DEPENDENCIES): New variables.
34714 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34715 (normal/lexer.c_DEPENDENCIES): Likewise.
34716 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34717 (normal/lexer.c_DEPENDENCIES): Likewise.
34718 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34719 (normal/lexer.c_DEPENDENCIES): Likewise.
34720 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34721 (normal/lexer.c_DEPENDENCIES): Likewise.
34722 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34723 (normal/lexer.c_DEPENDENCIES): Likewise.
34724
2dc33c03 347252008-02-23 Robert Millan <rmh@aybabtu.com>
34726
34727 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34728 since they were intended to be in hex. This didn't break previously
34729 because of a bug in gpt_partition_map_iterate() (see below).
34730
34731 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34732 when checking the validity of GPT header.
34733 Remove `partno', since it always provides the same information as `i'.
34734
f6f4cfb0 347352008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34736
34737 * include/grub/efi/time.h: Fix a wrong comment.
34738
79ff665f 347392008-02-19 Pavel Roskin <proski@gnu.org>
34740
34741 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34742 message.
34743
d38e24c2 347442008-02-19 Bean <bean123ch@gmail.com>
34745
34746 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34747 (aout_mod_SOURCES): New variable.
34748 (aout_mod_CFLAGS): Likewise.
34749 (aout_mod_LDFLAGS): Likewise.
34750 (_bsd_mod_SOURCES): New variable.
34751 (_bsd_mod_CFLAGS): Likewise.
34752 (_bsd_mod_LDFLAGS): Likewise.
34753 (bsd_mod_SOURCES): New variable.
34754 (bsd_mod_CFLAGS): Likewise.
34755 (bsd_mod_LDFLAGS): Likewise.
34756
34757 * include/grub/aout.h: New file.
34758
34759 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34760
34761 * include/grub/i386/bsd.h: New file.
34762
34763 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34764 to make it public.
34765
34766 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34767 function is called, so that it's possible to change it inside the hook.
34768 (grub_elf64_load): Likewise.
34769 (grub_elf_file): Don't close the file if elf header is not found.
34770 (grub_elf_close): Close the file if grub_elf_file fails (The new
34771 grub_elf_file won't close it).
34772 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34773 (grub_elf64_size): Likewise.
34774
34775 * kern/i386/loader.S (grub_unix_real_boot): New function.
34776
34777 * loader/aout.c: New file.
34778
34779 * loader/i386/bsd.c: New file.
34780
34781 * loader/i386/bsd_normal.c: New file.
34782
34783 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34784
34785 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34786 can test other formats.
d38e24c2 34787
b93bdb0f 347882008-02-19 Robert Millan <rmh@aybabtu.com>
34789
34790 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34791 (grub_gpt_partition_type_empty): Redefine with macro from
34792 `<grub/gpt_partition.h>'.
34793 (gpt_partition_map_iterate): Adjust partition type comparison.
34794
34795 Export `entry' as partmap-specific `part.data' struct.
34796 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34797
34798 * include/grub/gpt_partition.h (grub_gpt_header)
34799 (grub_gpt_partentry): ... to here (new file).
34800
34801 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34802
34803 (grub_gpt_partition_type_bios_boot): New const variable, defined
34804 with macro from `<grub/gpt_partition.h>'.
34805
34806 (setup): Replace `first_start' with `embed_region', which keeps
34807 track of the embed region (and is partmap-agnostic).
34808
34809 Replace find_first_partition_start() with find_usable_region(),
34810 which finds a usable region for embedding using partmap-specific
34811 knowledge (supports PC/MSDOS and GPT).
34812
34813 Fix all assumptions that the embed region start at sector 1, using
34814 `embed_region.start' from now on. Similarly, use `embed_region.end'
34815 rather than `first_start' to calculate available size.
34816
34817 In grub_util_info() message, replace "into after the MBR" with an
34818 indication of the specific sector our embed region starts at.
34819
66cb40f6 348202008-02-19 Robert Millan <rmh@aybabtu.com>
34821
34822 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34823 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34824 `commands/reboot.c'.
34825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34826 (halt_mod_SOURCES): Likewise.
34827 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34828 (halt_mod_SOURCES): Likewise.
34829
b7202015 348302008-02-17 Christian Franke <franke@computer.org>
34831
34832 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34833
32b0fc49 348342008-02-17 Robert Millan <rmh@aybabtu.com>
34835
34836 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34837 set `first_start' to 0 for non-PC/MSDOS partition maps.
34838
aca63502 348392008-02-16 Robert Millan <rmh@aybabtu.com>
34840
34841 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34842 do not assume partition map is PC/MSDOS before performing checks that
34843 are specific to that layout.
34844
0de8be86 348452008-02-13 Robert Millan <rmh@aybabtu.com>
34846
34847 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34848 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34849 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34850
c3db8364 348512008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34852
34853 * configure.ac: Only a cosmetic change on the handling of
34854 -fno-stack-protector.
34855
f714229e 348562008-02-12 Alexandre Boeglin <alex@boeglin.org>
34857
c3db8364 34858 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34859 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34860 reboot.c.
f714229e 34861 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34862 (halt_mod_SOURCES): New variable.
34863 (halt_mod_CFLAGS): Likewise.
34864 (halt_mod_LDFLAGS): Likewise.
34865 (reboot_mod_SOURCES): Likewise.
34866 (reboot_mod_CFLAGS): Likewise.
34867 (reboot_mod_LDFLAGS): Likewise.
34868
c3db8364 34869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34870 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34871 reboot.c.
f714229e 34872 (halt_mod_SOURCES): Likewise.
34873 (reboot_mod_SOURCES): Likewise.
34874
c3db8364 34875 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34876 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34877 (reboot_mod_SOURCES): Likewise.
34878
34879 * commands/i386/pc/reboot.c: merge this file ...
34880
34881 * commands/ieee1275/reboot.c: ... and this file ...
34882
34883 * commands/reboot.c: ... to this file.
c3db8364 34884 Add some precompiler directive to include the correct header for
34885 each machine.
f714229e 34886
34887 * commands/ieee1275/halt.c: move this file ...
34888
34889 * commands/halt.c: ... to here.
c3db8364 34890 Add some precompiler directive to include the correct header for
34891 each machine.
f714229e 34892
34893 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34894 (grub_halt): Likewise.
34895
34896 * kern/efi/efi.c (grub_reboot): New function.
34897 (grub_halt): Likewise.
34898
c74493e0 348992008-02-12 Robert Millan <rmh@aybabtu.com>
34900
34901 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34902 /dev (like it is done for /dev/mapper). This doesn't provide support
34903 for EVMS, but at least it is now easy to identify the problem when it
34904 arises.
34905
d0db4b04 349062008-02-11 Robert Millan <rmh@aybabtu.com>
34907
34908 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34909 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34910 comparing it with -1, not 0.
34911
bf748642 349122008-02-10 Robert Millan <rmh@aybabtu.com>
34913
34914 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34915 `disk/lvm.c'.
34916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34917 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34918
34919 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34920 `disk/lvm.c' to the end of the list.
34921 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34922 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34923
b5db202a 349242008-02-10 Robert Millan <rmh@aybabtu.com>
34925
34926 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34927 grub_print_error() instead. This will let user know why we're entering
34928 rescue mode.
34929 Based on suggestions from Sam Morris.
34930
83abee31 349312008-02-10 Alexandre Boeglin <alex@boeglin.org>
34932
34933 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34934 on remaining N args, instead of "--" arg N times.
34935
78d5a08b 349362008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34937
34938 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34939 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34940 pattern for unknown glyphs.
34941
68807e5f 349422008-02-09 Robert Millan <rmh@aybabtu.com>
34943
34944 * configure.ac: Probe for `help2man'.
34945 * Makefile.in (builddir): New variable.
34946 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34947 or otherwise add a few flags/options to it.
34948 (install-local): For every executable utility or script that is
34949 installed, invoke $(HELP2MAN) to install a manpage based on --help
34950 output.
34951
34952 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34953 that it doesn't prevent --help from working in build tree.
34954
34955 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34956 with `bug-grub@gnu.org'.
34957 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34958 * util/update-grub.in (usage): New function.
34959 Implement proper argument check, with support for --help and --version
34960 (as well as existing -y).
34961
349622008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34963
34964 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34965 avoid overwriting previous output.
34966 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34967
c1962162 349682008-02-09 Robert Millan <rmh@aybabtu.com>
34969
34970 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34971 drawing the menu.
34972
3dac2e3f 349732008-02-09 Robert Millan <rmh@aybabtu.com>
34974
34975 * commands/sleep.c: New file.
34976 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34977 (sleep_mod_SOURCES): New variable.
34978 (sleep_mod_CFLAGS): Likewise.
34979 (sleep_mod_LDFLAGS): Likewise.
34980
7a634e08 349812008-02-09 Robert Millan <rmh@aybabtu.com>
34982
34983 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34984 situations in which we can deduce the RAID size and the superblock
34985 doesn't match it.
34986
b92f0c18 349872008-02-09 Robert Millan <rmh@aybabtu.com>
34988
34989 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34990 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34991 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34992
34993 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34994 and return a grub_diskmemberlist_t composed of physical array members.
34995 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34996
34997 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34998 prototype.
34999 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35000 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35001 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35002
35003 * util/grub-probe.c (probe): Move partmap probing code from here ...
35004 (probe_partmap): ... to here.
35005 (probe): Use probe_partmap() once for the disk we're probing, and
35006 additionally, when such disk contains a memberlist() struct member,
35007 once for each disk that is contained in the structure returned by
35008 memberlist().
35009
91a4bf68 350102008-02-09 Robert Millan <rmh@aybabtu.com>
35011
35012 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35013 environment variable to 'all' in order to obtain debug output from
35014 non-util/ code.
35015 * util/i386/pc/grub-setup.c (main): Likewise.
35016
a96f9caa 350172008-02-08 Robert Millan <rmh@aybabtu.com>
35018
35019 * disk/raid.c (grub_raid_scan_device): Check for
35020 `array->device[sb.this_disk.number]' rather than for
35021 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35022 guaranteed to be accessible.
a96f9caa 35023
b37a9222 350242008-02-08 Robert Millan <rmh@aybabtu.com>
35025
35026 * disk/raid.c: Update copyright.
35027 * fs/cpio.c: Likewise.
35028 * include/grub/raid.h: Likewise.
35029 * loader/i386/pc/multiboot.c: Likewise.
35030 * util/hostfs.c: Likewise.
35031
5626aee1 350322008-02-08 Robert Millan <rmh@aybabtu.com>
35033
35034 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35035 to a grub_disk_t array.
35036 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35037 `device[x]'.
35038 (grub_raid_scan_device): Replace `device[x].name' accesses with
35039 `device[x]->name'. Simplify initialization of `array->device[x]'.
35040
554f0187 350412008-02-08 Robert Millan <rmh@aybabtu.com>
35042
35043 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35044 grub_dprintf() calls.
35045 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35046 error message.
35047
1ec8425d 350482008-02-07 Christian Franke <franke@computer.org>
35049
35050 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35051 instead of fseek and ftell to support large files.
35052 (grub_hostfs_read): Likewise.
35053
f2156fda 350542008-02-07 Robert Millan <rmh@aybabtu.com>
35055
35056 Patch from Jeroen Dekkers.
35057 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35058 failure, since successfully reading all array members might not be
f2156fda 35059 required.
35060
9216e0e7 350612008-02-06 Robert Millan <rmh@aybabtu.com>
35062
35063 * util/grub-probe.c (probe): Simplify partmap probing (with the
35064 assumption that the first word up to the underscore equals to
35065 the module name).
35066
b0dfd29a 350672008-02-06 Christian Franke <franke@computer.org>
35068
35069 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35070 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35071 last block of a cpio or tar stream.
35072 Check for "TRAILER!!!" instead of any empty data
35073 block to detect last block of a cpio stream.
35074 (grub_cpio_dir): Fix constness of variable np.
35075 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35076 cpio or tar trailer is detected. This fixes a crash
35077 on open of a non existing file.
35078
c32865bf 350792008-02-05 Bean <bean123ch@gmail.com>
35080
35081 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35082 address of entry.
35083 (grub_multiboot_load_elf64): Likewise.
35084 (grub_multiboot): Initialize mbi structure.
35085
35086 * util/grub-fstest.c: Don't include unused header file script.h.
35087
fe6b695a 35088 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35089 of file.
35090 (grub_fstest_SOURCES): Likewise.
35091
409480b7 350922008-02-05 Robert Millan <rmh@aybabtu.com>
35093
35094 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35095 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35096 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35097 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35098
35099 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35100 (translation_table): Replace hardcoded values with macros
35101 provided by `<grub/term.h>'.
35102
35103 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35104 (keyboard_map): Correct/add a few values, with macros provided
35105 by `<grub/term.h>'.
35106 (keyboard_map_shift): Zero values that don't differ from their
35107 `keyboard_map' equivalents.
35108 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35109 Discard the second scan code that is always sent by Caps lock.
35110 Only use `keyboard_map_shift' when it provides a non-zero value,
35111 otherwise fallback to `keyboard_map'.
35112
99fadbaa 351132008-02-04 Bean <bean123ch@gmail.com>
35114
35115 * Makefile.in (enable_grub_fstest): New variable.
35116
35117 * conf/common.rmk (grub_fstest_init.lst): New rule.
35118 (grub_fstest_init.h): Likewise.
35119 (grub_fstest_init.c): Likewise.
35120 (util/grub-fstest.c_DEPENDENCIES): New variable.
35121 (grub_fstest_SOURCES): Likewise.
35122
35123 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35124
35125 * util/grub-fstest.c: New file.
35126
bf567c50 351272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35128
35129 Make grub-setup handle a separate root device.
f19dbdb7 35130
bf567c50 35131 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35132 so that the root device can be compared with the destination
35133 device.
35134 When embedding the core image, if the root and destination devices
35135 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35136 0xFF.
35137 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35138
9be6b98b 351392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35140
35141 Add support for having a grub directory in a different drive. This
35142 is still only the data handling part.
f19dbdb7 35143
9be6b98b 35144 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35145 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35146 (grub_root_drive): New variable.
35147
35148 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35149 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35150 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35151 as it was.
35152
35153 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35154
35155 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35156 macro.
35157 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35158
35159 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35160 is bogus, because PXE booting does not specify any drive
35161 correctly.
35162
35163 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35164 am not sure if this is really correct.
35165
35166 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35167 is always identical to the boot drive when booting from a CD.
35168
35169 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35170 longer.
35171 (root_drive): New variable.
35172 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35173 (setup_sectors): Push %dx right after popping it, because %dh will
35174 be modified later.
35175 (copy_buffer): Restore %dx.
35176
e0ca0677 351772008-02-03 Robert Millan <rmh@aybabtu.com>
35178
35179 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35180 use `cdboot.img' for cdrom images.
35181
3b3f6629 351822008-02-03 Robert Millan <rmh@aybabtu.com>
35183
35184 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35185 only setup gfxterm when `font' command has succeeded.
35186
d42b3672 351872008-02-03 Robert Millan <rmh@aybabtu.com>
35188
35189 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35190 (grub_rescue_cmd_multiboot_loader)
35191 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35192
fa370ea6 351932008-02-03 Pavel Roskin <proski@gnu.org>
35194
e0c5dacb 35195 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35196 %edx and %esi from stack only after grub_gate_a20() is called.
35197 grub_gate_a20() clobbers %edx.
35198
f2a76e1d 351992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35200
35201 * configure.ac (AC_INIT): Bumped to 1.96.
35202
35203 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35204 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35205 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35206 video/readers/png.c.
35207
90fd32d1 352082008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35209
35210 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35211 (cdboot_img_SOURCES): New variable.
35212 (cdboot_img_ASFLAGS): New variable.
35213 (cdboot_img_LDFLAGS): New variable.
35214
35215 * boot/i386/pc/cdboot.S: New file.
35216
35217 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35218 (cd_count): Likewise.
35219 (grub_biosdisk_get_drive): Add support for cd device.
35220 (grub_biosdisk_call_hook): Likewise.
35221 (grub_biosdisk_iterate): Likewise.
35222 (grub_biosdisk_open): Likewise.
35223 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35224 (grub_biosdisk_rw): Support reading from cd device.
35225 (GRUB_MOD_INIT): Iterate cd devices.
35226
35227 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35228 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35229 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35230
35231 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35232
4020aa53 352332008-02-02 Robert Millan <rmh@aybabtu.com>
35234
35235 * commands/read.c: New file.
35236 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35237 (read_mod_SOURCES): New variable.
35238 (read_mod_CFLAGS): Likewise.
35239 (read_mod_LDFLAGS): Likewise.
35240
e03a1132 352412008-02-02 Robert Millan <rmh@aybabtu.com>
35242
35243 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35244 determining whether menu has to be displayed.
35245
58c69220 352462008-02-02 Marco Gerards <marco@gnu.org>
35247
35248 * bus/pci.c: New file.
35249
35250 * include/grub/pci.h: Likewise.
35251
35252 * include/grub/i386/pc/pci.h: Likewise.
35253
35254 * commands/lspci.c: Likewise.
35255
35256 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35257 `lspci.mod'.
35258 (pci_mod_SOURCES): New variable.
35259 (pci_mod_CFLAGS): Likewise.
35260 (pci_mod_LDFLAGS): Likewise.
35261 (lspci_mod_SOURCES): Likewise.
35262 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35263 (lspci_mod_LDFLAGS): Likewise.
58c69220 35264
c004e1b4 352652008-02-02 Bean <bean123ch@gmail.com>
35266
35267 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35268 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35269
35270 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35271 (grub_xfs_btree_node): New structure.
35272 (grub_xfs_btree_root): New structure.
35273 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35274 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35275 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35276 (GRUB_XFS_EXTENT_SIZE): Likewise.
35277 (grub_xfs_read_block): Support btree format type.
35278 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35279 Use directory block as basic unit.
35280
35281 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35282
35283 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35284 __attribute__ ((__regparm__ (1))).
35285
f95562bf 352862008-02-01 Robert Millan <rmh@aybabtu.com>
35287
35288 Correct a mistake in previous commit.
35289
35290 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35291 top.
35292 (normal/command.c_DEPENDENCIES): New variable.
35293
7d31f41f 352942008-02-01 Robert Millan <rmh@aybabtu.com>
35295
35296 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35297 top.
35298 (normal/command.c_DEPENDENCIES): New variable.
35299 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35300 * conf/i386-ieee1275.rmk: Likewise.
35301 * conf/i386-linuxbios.rmk: Likewise.
35302 * conf/i386-pc.rmk: Likewise.
35303 * conf/sparc64-ieee1275.rmk: Likewise.
35304 * conf/powerpc-ieee1275.rmk: Likewise.
35305 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35306
35307 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35308
60b6be74 353092008-02-01 Robert Millan <rmh@aybabtu.com>
35310
35311 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35312 call at beginning of function.
35313
078522ab 353142008-01-31 Pavel Roskin <proski@gnu.org>
35315
35316 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35317 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35318 (grub_mkrescue_SOURCES): Likewise.
078522ab 35319 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35320
ccaa8a5f 353212008-01-30 Robert Millan <rmh@aybabtu.com>
35322
35323 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35324 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35325 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35326 (grub_probe_SOURCES): ... to here.
35327
35328 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35329 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35330 * conf/i386-ieee1275.rmk: Likewise.
35331 * conf/i386-linuxbios.rmk: Likewise.
35332 * conf/powerpc-ieee1275.rmk: Likewise.
35333
ae5a9cd7 353342008-01-30 Tristan Gingold <gingold@free.fr>
35335
35336 * kern/rescue.c: Silently accept empty lines.
35337
70bc2ef2 353382008-01-29 Bean <bean123ch@gmail.com>
35339
35340 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35341 (real_code_2): Code cleanup and change comment style.
35342 (move_memory): Avoid using 32-bit address mode.
35343
6a4d50ea 353442008-01-29 Bean <bean123ch@gmail.com>
35345
35346 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35347 (png_mod_SOURCES): New variable.
35348 (png_mod_CFLAGS): Likewise.
35349 (png_mod_LDFLAGS): Likewise.
35350
35351 * video/readers/png.c: New file.
35352
11cc30ac 353532008-01-28 Robert Millan <rmh@aybabtu.com>
35354
35355 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35356 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35357 `ifndef GRUB_MOD_GAP' hack.
35358 * util/elf/grub-mkimage.c (add_segments): Likewise.
35359
3abc589f 353602008-01-27 Robert Millan <rmh@aybabtu.com>
35361
35362 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35363 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35364 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35365
e1907778 353662008-01-27 Robert Millan <rmh@aybabtu.com>
35367
35368 Get grub-emu to build again (including parallel builds).
35369
35370 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35371 Split into ...
35372 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35373 (normal/execute.c_DEPENDENCIES): ... this, ...
35374 (grub-emu_DEPENDENCIES): ... and this.
35375
35376 * conf/i386-efi.rmk: Likewise.
35377 * conf/i386-linuxbios.rmk: Likewise.
35378 * conf/i386-ieee1275.rmk: Likewise.
35379 * conf/powerpc-ieee1275.rmk: Likewise.
35380 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35381
2216b101 353822008-01-27 Robert Millan <rmh@aybabtu.com>
35383
35384 * NEWS: Add a few items.
35385
f75172d9 353862008-01-27 Robert Millan <rmh@aybabtu.com>
35387
35388 Fix parallel builds with grub-emu. Based on earlier commit for
35389 grub-probe and grub-setup.
35390
35391 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35392 (util/grub-emu.c_DEPENDENCIES): ... this.
35393 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35394 (util/grub-emu.c_DEPENDENCIES): ... this.
35395 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35396 (util/grub-emu.c_DEPENDENCIES): ... this.
35397 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35398 (util/grub-emu.c_DEPENDENCIES): ... this.
35399 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35400 (util/grub-emu.c_DEPENDENCIES): ... this.
35401
3f51de77 354022008-01-27 Pavel Roskin <proski@gnu.org>
35403
35404 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35405 to create a gap between _end and the modules added to the image
35406 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35407 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35408 * util/elf/grub-mkimage.c (add_segments): Likewise.
35409
2033f53e 354102008-01-26 Pavel Roskin <proski@gnu.org>
35411
35412 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35413 just return an error.
35414
22da1f6f 354152008-01-26 Bean <bean123ch@gmail.com>
35416
35417 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35418 (grub_reiserfs_get_item): Save offset of the next item.
35419 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35420
2a9525e6 354212008-01-25 Robert Millan <rmh@aybabtu.com>
35422
35423 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35424 make all filesystem sources appear together (possibly fixing omissions
35425 while at it).
35426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35427 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35428 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35430
35431 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35432 add `kern/file.c'.
35433 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35434 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35435 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35436 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35437
35438 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35439 (probe): Add a sanity check to make sure of our ability to read
35440 requested files when probing for filesystem type.
35441
35442 * genmk.rb: Update copyright year (2007).
35443
35444 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35445 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35446 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35447 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35448 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35449 : Remove function prototypes.
35450
b95f71b5 354512008-01-25 Robert Millan <rmh@aybabtu.com>
35452
35453 Revert my previous commits (based on wrong assumption of how grub_errno
35454 works).
35455
fe6b695a 35456 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35457 * kern/file.c (grub_file_open): Likewise.
35458
d08bbb49 354592008-01-24 Pavel Roskin <proski@gnu.org>
35460
35461 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35462 that hang if GRUB tries to setup colors.
35463 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35464 colors for firmwares that don't support it.
35465 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35466 Recognize Open Hack'Ware, set flags to work around its
35467 limitations.
35468
605e36ed 354692008-01-24 Robert Millan <rmh@aybabtu.com>
35470
35471 * kern/file.c (grub_file_open): Do not account previous failures of
35472 unrelated functions when grub_errno is checked for.
35473 Reported by Oleg Strikov.
35474
bac332a1 354752008-01-24 Bean <bean123ch@gmail.com>
35476
35477 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35478 (grub_ufs_sblock): New member volume name.
35479 (grub_ufs_find_file): Fix string copy bug.
35480 (grub_ufs_label): Implement this function properly.
35481
35482 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35483 (grub_hfs_iterate_records): Use the correct file number for extents
35484 and catalog file. Fix problem in next index calculation.
35485 (grub_hfs_find_node): Replace recursive function call with loop.
35486 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35487
15c80c09 354882008-01-23 Robert Millan <rmh@aybabtu.com>
35489
35490 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35491 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35492 (grub_multiboot2_real_boot): New function prototype.
35493
35494 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35495 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35496
35497 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35498 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35499
305338fd 355002008-01-23 Robert Millan <rmh@aybabtu.com>
35501
35502 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35503 #ifdef'ed out grub_printf().
35504
3ea52685 355052008-01-23 Robert Millan <rmh@aybabtu.com>
35506
35507 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35508 grub_dprintf calls, since they make "debug=all" mode unusable.
35509 (grub_console_checkkey): Likewise.
35510
5882ae4b 355112008-01-23 Robert Millan <rmh@aybabtu.com>
35512
35513 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35514 `term/i386/pc/at_keyboard.c'.
35515 (pkglib_MODULES): Add `serial.mod'.
35516 (serial_mod_SOURCES): New variable.
35517 (serial_mod_CFLAGS): Likewise.
35518 (serial_mod_LDFLAGS): Likewise.
35519
35520 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35521 `<grub/powerpc/ieee1275/console.h>'.
35522 (grub_keyboard_controller_init): New function prototype.
35523 (grub_console_checkkey): Likewise.
35524 (grub_console_getkey): Likewise.
35525
35526 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35527 keyboard on i386.
35528
35529 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35530 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35531
06ab5303 355322008-01-23 Robert Millan <rmh@aybabtu.com>
35533
35534 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35535 present, "(memdisk)/boot/grub" becomes the default prefix.
35536
35537 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35538 a memdisk tarball with all the modules. Add --overlay=DIR option that
35539 allows users to overlay additional files into the image.
35540
dbb475a4 355412008-01-23 Robert Millan <rmh@aybabtu.com>
35542
35543 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35544 and `machine/memory.h'.
35545 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35546 (_multiboot_mod_SOURCES): New variable.
35547 (_multiboot_mod_CFLAGS): Likewise.
35548 (_multiboot_mod_LDFLAGS): Likewise.
35549 (multiboot_mod_SOURCES): Likewise.
35550 (multiboot_mod_CFLAGS): Likewise.
35551 (multiboot_mod_LDFLAGS): Likewise.
35552
35553 * include/grub/i386/ieee1275/loader.h: New file.
35554
35555 * include/grub/i386/ieee1275/machine.h: Likewise.
35556
35557 * include/grub/i386/ieee1275/memory.h: Likewise.
35558
35559 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35560 variable declaration.
35561 (grub_os_area_size): Likewise.
35562
35563 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35564 (grub_lower_mem, grub_upper_mem): New variables.
35565 (grub_stop_floppy): New function (just to make
35566 grub_multiboot2_real_boot() happy).
35567
35568 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35569 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35570 (grub_stop): New function.
35571 Include `"../realmode.S"' and `"../loader.S"'.
35572
35573 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35574 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35575
35576 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35577 rely on grub_multiboot2_real_boot() for final boot.
35578
25638629 355792008-01-22 Robert Millan <rmh@aybabtu.com>
35580
35581 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35582 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35583 device that doesn't look like an SD card.
35584 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35585 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35586 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35587 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35588 found.
35589
9dad816d 355902008-01-22 Robert Millan <rmh@aybabtu.com>
35591
35592 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35593 avoid claiming over our own code.
35594
34842f2d 355952008-01-22 Bean <bean123ch@gmail.com>
35596
35597 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35598 (jpeg_mod_SOURCES): New variable.
35599 (jpeg_mod_CFLAGS): Likewise.
35600 (jpeg_mod_LDFLAGS): Likewise.
35601
35602 * video/readers/jpeg.c : New file.
35603
44023a28 356042008-01-22 Bean <bean123ch@gmail.com>
35605
35606 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35607 there are no more items.
35608
bc2d8ac6 356092008-01-21 Robert Millan <rmh@aybabtu.com>
35610
35611 * kern/mm.c (grub_mm_init_region): Improve debug message.
35612
261bd4bc 356132008-01-21 Robert Millan <rmh@aybabtu.com>
35614
35615 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35616 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35617 address.
35618 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35619 a C macro.
35620 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35621 Indicates start of upper memory.
35622 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35623 (generate_image): Abort when image size is big enough to corrupt
35624 upper memory.
35625
35626 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35627 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35628 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35629 instead of hardcoding 0xA0000.
35630 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35631 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35632 instead of hardcoding 0xA0000.
35633
f970b55e 356342008-01-21 Robert Millan <rmh@aybabtu.com>
35635
35636 * disk/memdisk.c (memdisk_size): New variable.
35637 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35638 `memdisk_size'.
35639 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35640 image to dynamic memory.
35641 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35642 `memdisk_size'. Free memdisk block.
35643
1a8b0526 356442008-01-21 Robert Millan <rmh@aybabtu.com>
35645
35646 Fix detection of very small filesystems (like tar).
35647
35648 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35649 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35650 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35651 a problem with this disk).
35652
6e9b4aab 356532008-01-21 Robert Millan <rmh@aybabtu.com>
35654
35655 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35656 on grub_biosdisk_rw_standard() error.
35657
0d8837b2 356582008-01-21 Robert Millan <rmh@aybabtu.com>
35659
35660 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35661 recent changes.
35662 * kern/elf.c: Likewise.
35663 * kern/ieee1275/ieee1275.c: Likewise.
35664 * kern/powerpc/ieee1275/openfw.c: Likewise.
35665 * term/ieee1275/ofconsole.c: Likewise.
35666
ffd36e34 356672008-01-21 Robert Millan <rmh@aybabtu.com>
35668
35669 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35670
3f0093d0 35671 * include/grub/kernel.h (grub_arch_memdisk_addr)
35672 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35673
3f0093d0 35674 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35675 (grub_arch_memdisk_size): ... to here.
ffd36e34 35676
6c391b21 356772008-01-21 Robert Millan <rmh@aybabtu.com>
35678
35679 Mostly based on bugfix from Bean.
35680
35681 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35682 attribute with hook() parameter.
35683 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35684 declaration.
35685 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35686 attribute with hook() parameter.
35687 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35688 declaration.
35689
55a581dc 356902008-01-21 Robert Millan <rmh@aybabtu.com>
35691
35692 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35693 (pkglib_MODULES): Add `memdisk.mod'.
35694 (memdisk_mod_SOURCES): New variable.
35695 (memdisk_mod_CFLAGS): Likewise.
35696 (memdisk_mod_LDFLAGS): Likewise.
35697
35698 * disk/memdisk.c: New file.
35699
35700 * include/grub/disk.h (grub_disk_dev_id): Add
35701 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35702
35703 * include/grub/i386/pc/kernel.h
35704 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35705 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35706 (grub_kernel_image_size): New variable declaration.
35707 (grub_total_module_size): Likewise.
35708 (grub_memdisk_image_size): Likewise.
35709
35710 * include/grub/i386/pc/memory.h
35711 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35712
35713 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35714 (grub_arch_memdisk_addr): New variable declaration.
35715 (grub_arch_memdisk_size): Likewise.
35716
35717 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35718 (grub_arch_memdisk_size): Likewise.
35719
35720 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35721 (codestart): Replace hardcoded `0x100000' with
35722 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35723
35724 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35725 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35726 not NULL, append the contents of the file it refers to, at the end of
35727 the compressed kernel image. Initialize `grub_memdisk_image_size'
35728 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35729 (options): Add "memdisk"|'m' option.
35730 (main): Parse --memdisk|-m option, and pass user-provided path as
35731 parameter to generate_image().
35732
3d7f54c9 357332008-01-20 Robert Millan <rmh@aybabtu.com>
35734
35735 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35736 grub_dprintf() calls from here ...
35737 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35738
0bf74728 357392008-01-20 Robert Millan <rmh@aybabtu.com>
35740
35741 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35742
35743 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35744 declaration.
35745 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35746 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35747 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35748 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35749 property).
35750 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35751 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35752
33bf70a7 357532008-01-19 Robert Millan <rmh@aybabtu.com>
35754
fe6b695a 35755 Get rid of confusing function (superseded by
33bf70a7 35756 `grub_ieee1275_get_integer_property')
35757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35758 prototype.
35759 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35760 function.
35761 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35762 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35763 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35764
e2da7d26 357652008-01-19 Robert Millan <rmh@aybabtu.com>
35766
35767 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35768 command after "shut-down", since implementations differ on which
35769 the command for halt is.
35770
59f1fd8d 357712008-01-19 Robert Millan <rmh@aybabtu.com>
35772
35773 * include/grub/i386/linuxbios/console.h: Add header protection.
35774 (grub_keyboard_controller_init): New function prototype.
35775 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35776 (KEYBOARD_COMMAND_READ): Likewise.
35777 (KEYBOARD_COMMAND_WRITE): Likewise.
35778 (KEYBOARD_SCANCODE_SET1): Likewise.
35779 (grub_keyboard_controller_write): New function.
35780 (grub_keyboard_controller_read): Likewise.
35781 (grub_keyboard_controller_init): Likewise.
35782
35783 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35784 (grub_console_init): On coreboot/LinuxBIOS, call
35785 grub_keyboard_controller_init().
35786
5f5a7c15 357872008-01-19 Robert Millan <rmh@aybabtu.com>
35788
35789 PowerPC changes provided by Pavel Roskin.
35790
35791 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35792 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35793 don't rely on cmain() doing it.
35794 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35795 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35796
1210e168 357972008-01-16 Robert Millan <rmh@aybabtu.com>
35798
35799 * include/grub/i386/linuxbios/memory.h
35800 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35801 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35802 receive `table_header' as argument. Instead, probe for it in the
35803 known memory ranges where it can be present.
35804 (grub_available_iterate): Do not pass a fixed `table_header' address
35805 to grub_linuxbios_table_iterate().
35806
3d04eab8 358072008-01-15 Robert Millan <rmh@aybabtu.com>
35808
35809 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35810 * conf/i386-ieee1275.rmk: New file.
35811 * include/grub/i386/ieee1275/console.h: Likewise.
35812 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35813 * include/grub/i386/ieee1275/kernel.h: Likewise.
35814 * include/grub/i386/ieee1275/time.h: Likewise.
35815 * kern/i386/ieee1275/init.c: Likewise.
35816 * kern/i386/ieee1275/startup.S: Likewise.
35817
d1bc1b73 358182008-01-15 Robert Millan <rmh@aybabtu.com>
35819
35820 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35821 when pointers are 32-bit (but still do set it to one when they are
35822 64-bit).
35823
66a65807 358242008-01-15 Robert Millan <rmh@aybabtu.com>
35825
35826 * include/grub/ieee1275/ieee1275.h
35827 (grub_ieee1275_get_integer_property): New function prototype.
35828
35829 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35830 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35831 grub_ieee1275_get_property() to handle endianness.
66a65807 35832
35833 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35834 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35835 where appropriate.
66a65807 35836 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35837 (grub_map): Likewise.
35838 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35839
a83ccafd 358402008-01-15 Bean <bean123ch@gmail.com>
35841
35842 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35843 (grub_script_execute_cmdline): Reset grub_errno.
35844
35845 * normal/main.c (read_config_file): Reset grub_errno.
35846
35847 * normal/parse.y (script_init): New.
35848 (script): Move function and menuentry here.
35849 (delimiter): New.
35850 (command): Add delimiter at the end of command.
35851 (commands): Adjust to match the new command.
35852 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35853 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35854 (if): Use the new commands.
35855
35856 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35857
df6ecfc6 358582008-01-15 Robert Millan <rmh@aybabtu.com>
35859
35860 * normal/menu.c (run_menu): Move timeout message from here ...
35861 (print_timeout): ... to here.
35862 (run_menu): Use print_timeout() once during initial draw to print
35863 the whole message, and again in every clock tick to update only
35864 the number of seconds.
35865
87ae25eb 358662008-01-15 Robert Millan <rmh@aybabtu.com>
35867
35868 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35869 actual size of `available' from grub_ieee1275_get_property(), and
35870 restrict parsing to that bound.
35871
47bf09a4 358722008-01-15 Christian Franke <franke@computer.org>
35873
35874 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35875 (argp_program_version): Remove variable.
35876 (argp_program_bug_address): Likewise.
35877 (options): Convert from struct argp_option to struct option.
35878 (struct arguments): Remove.
35879 (parse_opt): Remove.
35880 (usage): New function.
35881 (main): Replace struct args members by simple variables.
35882 Replace argp_parse() by getopt_long().
35883 Add switch to evaluate options.
35884 Add missing "(...)" around root_dev in prefix string.
35885
c86f1469 358862008-01-14 Robert Millan <rmh@aybabtu.com>
35887
35888 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35889 for grub_ieee1275_exit(), in order to improve portability.
35890
e622c559 358912008-01-14 Robert Millan <rmh@aybabtu.com>
35892
35893 * util/grub.d/10_linux.in (prefix): Define.
35894 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35895
44cb1ec8 358962008-01-13 Pavel Roskin <proski@gnu.org>
35897
35898 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35899 grub_errno if no errors have been detected.
35900
1eb8c802 359012008-01-12 Robert Millan <rmh@aybabtu.com>
35902
35903 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35904 (grub_util_get_dev_abstraction): New function prototype.
35905
35906 * util/getroot.c: Include `<grub/util/getroot.h>'
35907 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35908 (grub_util_get_dev_abstraction): ... here (new function).
35909
35910 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35911 `PRINT_ABSTRACTION'.
35912 (probe): Probe for abstraction type when requested.
35913 (main): Understand `--target=abstraction'.
35914
35915 * util/i386/efi/grub-install.in: Add abstraction module to core
35916 image when it is found to be necessary.
35917 * util/i386/pc/grub-install.in: Likewise.
35918 * util/powerpc/ieee1275/grub-install.in: Likewise.
35919
35920 * util/update-grub_lib.in (font_path): Return system path without
35921 converting to GRUB path.
35922 * util/update-grub.in: Convert system path returned by font_path()
35923 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35924 abstraction module is needed for loading fonts (if any). Export
35925 that as `GRUB_PRELOAD_MODULES'.
35926 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35927 insmod commands).
35928
52bd3de9 359292008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35930
35931 Remove some unused code from reiserfs.
f19dbdb7 35932
52bd3de9 35933 * fs/reiserfs.c (struct grub_reiserfs_key)
35934 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35935 (struct grub_reiserfs_node_body): Removed.
35936 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35937 Likewise.
35938 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35939 Likewise.
35940 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35941 Likewise.
35942 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35943 Likewise.
35944 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35945 Likewise.
35946 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35947 Likewise.
35948 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35949 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35950 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35951
2f80039d 359522008-01-10 Robert Millan <rmh@aybabtu.com>
35953
35954 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35955 Determines if a file is garbage left by packaging systems, etc.
35956 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35957 for processing /etc/grub.d scripts.
35958 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35959 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35960 as a condition for processing Linux images.
35961
87888032 359622008-01-10 Pavel Roskin <proski@gnu.org>
35963
35964 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35965 to compile reiserfs.c on PowerPC.
35966
7e54fced 359672008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35968
35969 * kern/device.c (grub_device_iterate): Do not abort device iteration
35970 when one of the devices cannot be opened.
35971 * kern/disk.c (grub_disk_open): Do not account previous failures of
35972 unrelated functions when grub_errno is checked for.
35973
5aa541e6 359742008-01-08 Robert Millan <rmh@aybabtu.com>
35975
35976 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35977 `! grub_linux_is_bzimage', change order of address comparison to make
35978 it more intuitive, and improve "too big zImage" error message.
35979
7076340d 359802008-01-08 Robert Millan <rmh@aybabtu.com>
35981
35982 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35983 `$(update-grub_DATA)'.
35984 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35985 targets.
35986
9ca70333 359872008-01-07 Robert Millan <rmh@aybabtu.com>
35988
35989 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35990 which instruction is modified by grub-setup during installation
35991 (since it wasn't obvious by only looking at this file).
35992
38ccf575 359932008-01-07 Robert Millan <rmh@aybabtu.com>
35994
35995 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35996 listing actual TODO items.
35997
f5db4291 359982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35999
868967cf 36000 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36001 correctly.
36002 (grub_reiserfs_get_key_offset): Likewise.
36003 (grub_reiserfs_set_key_offset): Likewise.
36004 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36005 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36006
36007 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36008 better to remove the bitfield version completely.
f19dbdb7 36009
868967cf 360102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36011
f5db4291 36012 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36013 allocated from the heap, due to the fshelp implementation.
36014 (grub_reiserfs_dir): Free NODE, due to the same reason.
36015
492e6d9d 360162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36017
36018 Mostly from Vincent Pelletier:
f19dbdb7 36019
492e6d9d 36020 * fs/reiserfs.c: New file.
f19dbdb7 36021
492e6d9d 36022 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36023 (reiserfs_mod_SOURCES): New variable.
36024 (reiserfs_mod_CFLAGS): Likewise.
36025 (reiserfs_mod_LDFLAGS): Likewise.
36026
36027 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36028 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36029 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36030 normal/color.c.
36031
9ce3e7c1 360322008-01-06 Robert Millan <rmh@aybabtu.com>
36033
36034 * normal/color.c: Remove `<grub/env.h>'.
36035
f3b58148 360362008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36037
36038 * include/grub/normal.h: Include <grub/env.h>.
36039
7ac3bcfa 360402008-01-05 Robert Millan <rmh@aybabtu.com>
36041
36042 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36043 usage example with `(hd0,1)'.
fb358190 36044 Reported by Samuel Thibault.
7ac3bcfa 36045
c8ee99d7 360462008-01-05 Robert Millan <rmh@aybabtu.com>
36047
36048 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36049 (grub_linux_boot_zimage): Rename to ...
36050 (grub_linux_boot): ... this.
36051 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36052 (grub_linux_boot_zimage): Conditionalize zImage copy.
36053
36054 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36055 (grub_linux_boot_bzimage): Remove prototype.
36056 (grub_linux_boot_zimage): Rename to ...
36057 (grub_linux_boot): ... this.
36058
36059 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36060 (grub_linux_boot): Remove function.
36061
0ece25b1 360622008-01-05 Robert Millan <rmh@aybabtu.com>
36063
36064 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36065 (grub_env_write_color_highlight): Likewise.
36066 (grub_wait_after_message): Likewise.
36067
36068 * normal/color.c: New file.
36069
36070 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36071 (normal_mod_DEPENDENCIES): Likewise.
36072
36073 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36074 (normal_mod_DEPENDENCIES): Likewise.
36075
36076 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36077 (normal_mod_DEPENDENCIES): Likewise.
36078
36079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36080 (normal_mod_DEPENDENCIES): Likewise.
36081
36082 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36083 for waiting after a message is printed.
36084 * normal/main.c (read_config_file): Likewise.
36085 (grub_normal_init): Register grub_env_write_color_normal() and
36086 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36087 `color_highlight' variables as global.
36088
36089 * normal/menu.c (grub_wait_after_message): New function.
36090 (grub_color_menu_normal): New variable. Replaces ...
36091 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36092 (grub_color_menu_highlight): New variable. Replaces ...
36093 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36094 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36095 `GRUB_TERM_COLOR_STANDARD'.
36096 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36097 `normal_code' and `highlight_code' to `old_color_normal' and
36098 `old_color_highlight', respectively.
36099 (grub_menu_init_page): Update colors when drawing the menu, based on
36100 `menu_color_normal' and `menu_color_highlight' variables.
36101 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36102 a message is printed.
36103
182dd4e5 361042008-01-05 Robert Millan <rmh@aybabtu.com>
36105
36106 * kern/env.c (grub_env_context_open): Propagate hooks for global
36107 variables to new context.
36108
36109 * kern/main.c (grub_set_root_dev): Export `root' variable.
36110
ddf8f6ad 361112008-01-05 Robert Millan <rmh@aybabtu.com>
36112
36113 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36114 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36115 them.
36116
d8b43d9b 361172008-01-05 Robert Millan <rmh@aybabtu.com>
36118
36119 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36120
2bff2de3 361212008-01-04 Christian Franke <franke@computer.org>
36122
36123 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36124 of eisa_mmap.
36125
97eab917 361262008-01-03 Pavel Roskin <proski@gnu.org>
36127
36128 * kern/i386/linuxbios/init.c: Put "void" to all function
36129 declarations with no arguments.
36130 * kern/powerpc/ieee1275/init.c: Likewise.
36131 * term/i386/pc/at_keyboard.c: Likewise.
36132 * term/i386/pc/vga_text.c: Likewise.
36133 * util/grub-mkdevicemap.c: Likewise.
36134
b9416d00 361352008-01-02 Robert Millan <rmh@aybabtu.com>
36136
36137 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36138 message when loaded image is out of bounds.
36139 (grub_multiboot_load_elf64): Likewise.
36140
92695df9 361412008-01-02 Pavel Roskin <proski@gnu.org>
36142
36143 * util/grub.d/10_linux.in: Try version without ".old" when
36144 looking for initrd. It's better to use initrd from the newer
36145 kernel of the same version than no initrd at all.
36146
d98d9cad 361472008-01-01 Robert Millan <rmh@aybabtu.com>
36148
36149 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36150
dbfdce36 361512008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36152
f19dbdb7 36153 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36154 grub_video_get_active_render_target.
36155 (grub_video_adapter): Added unmap_color and get_active_render_target.
36156
f19dbdb7 36157 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36158 grub_video_get_active_render_target.
36159 (grub_video_get_info): Changed method to accept NULL pointer as an
36160 argument to allow detection of active video adapter.
36161
36162 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36163 grub_video_vbe_unmap_color_int.
36164 Added grub_video_vbe_unmap_color and
36165 grub_video_vbe_get_active_render_target.
36166 (grub_video_vbe_adapter): Added unmap_color and
36167 get_active_render_target.
36168
f19dbdb7 36169 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36170 with grub_video_vbe_unmap_color_int.
36171
36172 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36173 (DEFAULT_NORMAL_COLOR): Likewise.
36174 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36175 (DEFAULT_FG_COLOR): Removed.
36176 (DEFAULT_BG_COLOR): Likewise.
36177 (DEFAULT_CURSOR_COLOR): Changed value.
36178 (grub_virtual_screen): Added standard_color_setting,
36179 normal_color_setting, highlight_color_setting and term_color.
36180 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36181 (bitmap_width): Added.
36182 (bitmap_height): Likewise.
36183 (bitmap): Likewise.
36184 (set_term_color): Likewise.
36185 (grub_virtual_screen_setup): Changed to use new terminal coloring
36186 settings.
36187 (grub_gfxterm_init): Added init for bitmap.
36188 (grub_gfxterm_fini): Added destroy for bitmap.
36189 (redraw_screen_rect): Updated to use background bitmap and new
36190 terminal coloring.
36191 (scroll_up): Added optimization for case when there is no bitmap.
36192 (grub_gfxterm_cls): Fixed to use correct background color.
36193 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36194 coloring.
36195 (grub_virtual_screen_setcolor): Likewise.
36196 (grub_virtual_screen_getcolor): Added.
36197 (grub_gfxterm_background_image_cmd): Likewise.
36198 (grub_video_term): Added setcolor and getcolor.
36199 (MOD_INIT): Added registration of background_image command.
36200 (MOD_TERM): Added unregistration for background_image command.
36201
c3c20931 362022007-12-30 Pavel Roskin <proski@gnu.org>
36203
36204 * loader/multiboot_loader.c: Fix multiboot command
36205 unregistration. Fix all typos in the word "multiboot".
36206
df266716 362072007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36208
36209 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36210 support for initrd names used in Fedora.
36211
fc6e896c 362122007-12-26 Bean <bean123ch@gmail.com>
36213
36214 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36215 (cpio_mod_SOURCES): New variable.
36216 (cpio_mod_CFLAGS): Likewise.
36217 (cpio_mod_LDFLAGS): Likewise.
36218
36219 * fs/cpio.c: New file.
36220
36221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36222
36223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36224
36225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36226
36227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36228
533110ad 362292007-12-25 Robert Millan <rmh@aybabtu.com>
36230
36231 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36232 (grub_getcolor): New function.
36233
36234 * kern/term.c (grub_getcolor): New function.
36235 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36236 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36237 (print_entry): Set normal and highlight colors to
36238 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36239 respectively, before printing and restore them to old
36240 values afterwards.
36241 (grub_menu_init_page): Likewise. Fill an additional colored space
36242 that would otherwise be left blank.
36243
36244 * term/efi/console.c (grub_console_getcolor): New function.
36245 (struct grub_console_term.getcolor): New variable.
36246 * term/i386/pc/console.c (grub_console_getcolor): New function.
36247 (struct grub_console_term.getcolor): New variable.
36248 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36249 (struct grub_console_term.getcolor): New variable.
36250
36251 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36252 (struct grub_console_term.setcolor): Remove variable.
36253 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36254 (struct grub_console_term.setcolor): Remove variable.
36255 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36256 (struct grub_console_term.setcolor): Remove variable.
36257 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36258 (struct grub_console_term.setcolor): Remove variable.
36259
4931827f 362602007-12-25 Robert Millan <rmh@aybabtu.com>
36261
36262 * configure.ac: Search for possible unifont.hex locations, and
36263 define UNIFONT_HEX if found.
36264
36265 * Makefile.in (UNIFONT_HEX): Define variable.
36266 (DATA): Rename to ...
36267 (PKGLIB): ... this. Update all users.
36268 (PKGDATA): New variable.
36269 (pkgdata_IMAGES): Rename to ...
36270 (pkglib_IMAGES): ... this. Update all users.
36271 (pkgdata_MODULES): Rename to ...
36272 (pkglib_MODULES): ... this. Update all users.
36273 (pkgdata_PROGRAMS): Rename to ...
36274 (pkglib_PROGRAMS): ... this. Update all users.
36275 (pkgdata_DATA): Rename to ...
36276 (pkglib_DATA): ... this. Update all users.
36277 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36278 (unicode.pff, ascii.pff): New rules.
36279 (all-local): Add `$(PKGDATA)' dependency.
36280 (install-local): Process `$(PKGDATA)'.
36281
36282 * util/update-grub_lib.in (font_path): Search for *.pff files in
36283 a few more locations, including `${pkgdata}'.
36284
57e57e31 362852007-12-23 Robert Millan <rmh@aybabtu.com>
36286
36287 Patch from Bean <bean123ch@gmail.com>:
36288 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36289 `size'.
36290
4bc72aa9 362912007-12-21 Bean <bean123ch@gmail.com>
36292
36293 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36294 (ntfscomp_mod_SOURCES): New variable.
36295 (ntfscomp_mod_CFLAGS): Likewise.
36296 (ntfscomp_mod_LDFLAGS): Likewise.
36297
36298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36299 (grub_probe_SOURCES): Likewise.
36300 (grub_emu_SOURCES): Likewise.
36301
36302 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36303 (grub_emu_SOURCES): Likewise.
36304
36305 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36306 (grub_emu_SOURCES): Likewise.
36307
36308 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36309 (grub_emu_SOURCES): Likewise.
36310
36311 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36312 (read_run_list): Renamed to grub_ntfs_read_run_list.
36313 (decomp_nextvcn): Moved to ntfscomp.c.
36314 (decomp_getch): Likewise.
36315 (decomp_get16): Likewise.
36316 (decomp_block): Likewise.
36317 (read_block): Likewise.
36318 (read_data): Partially moved to ntfscomp.c.
36319 (fixup): Change unsigned to grub_uint16_t.
36320 (read_mft): Change unsigned long to grub_uint32_t.
36321 (read_attr): Likewise.
36322 (read_data): Likewise.
36323 (read_run_data): Likewise.
36324 (read_run_list): Likewise.
36325 (read_mft): Likewise.
36326
36327 * fs/ntfscomp.c: New file.
36328
36329 * include/grub/ntfs.h: New file.
36330
af680a87 363312007-12-16 Robert Millan <rmh@aybabtu.com>
36332
36333 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36334 IDE disk check, since Linux is known to support 20 IDE disks.
36335 Reported by Colin Watson.
36336
84be7599 363372007-12-15 Bean <bean123ch@gmail.com>
36338
36339 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36340 (lnxboot_img_SOURCES): New variable.
36341 (lnxboot_img_ASFLAGS): Likewise.
36342 (lnxboot_img_LDFLAGS): Likewise.
36343
36344 * boot/i386/pc/lnxboot.S: New file.
36345
6af9db01 363462007-11-24 Pavel Roskin <proski@gnu.org>
36347
36348 * configure.ac: Test if '--build-id=none' is supported by the
36349 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36350 objcopy to generate incorrect binary files (binutils
36351 2.17.50.0.18-1 as shipped by Fedora 8).
36352 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36353 linking, so that build ID doesn't break the test.
36354
7361cfe6 363552007-11-24 Pavel Roskin <proski@gnu.org>
36356
36357 * include/grub/i386/time.h: use "void" in the argument list
36358 of grub_cpu_idle().
36359 * include/grub/powerpc/time.h: Likewise.
36360 * include/grub/sparc64/time.h: Likewise.
36361
1593e10c 363622007-11-18 Christian Franke <franke@computer.org>
36363
36364 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36365 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36366 This fixes the problem that function keys did not work in grub-emu.
36367
3b8db1a8 363682007-11-18 Christian Franke <franke@computer.org>
36369
36370 * disk/host.c (grub_host_open): Remove attribute unused from
36371 name parameter. Add check for "host". This fixes the problem
36372 that grub-emu does not find partitions.
36373
2e29408d 363742007-11-18 Christian Franke <franke@computer.org>
36375
36376 * util/hostfs.c (is_dir): New function.
36377 (grub_hostfs_dir): Handle missing dirent.d_type case.
36378 (grub_hostfs_read): Add missing fseek().
36379 (grub_hostfs_label): Clear label pointer. This fixes a crash
36380 of grub-emu on "ls (host)".
36381
398cd047 363822007-11-18 Christian Franke <franke@computer.org>
36383
36384 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36385 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36386 to 64 bit boundary by default.
36387
c405c391 363882007-11-18 Bean <bean123ch@gmail.com>
36389
36390 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36391 (hexdump_mod_SOURCES): New variable.
36392 (hexdump_mod_CFLAGS): Likewise.
36393 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36394
c405c391 36395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36396
36397 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36398
36399 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36400
36401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36402
36403 * include/grub/hexdump.h: New file.
36404
36405 * commands/hexdump.c: New file.
36406
5cced7fd 364072007-11-10 Robert Millan <rmh@aybabtu.com>
36408
36409 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36410 in grub_outb() calls.
36411 (beep_on): Likewise.
36412
8b714eb0 364132007-11-10 Christian Franke <franke@computer.org>
36414
36415 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36416 (grub_menu_run): Likewise.
36417
ce0f1839 364182007-11-10 Robert Millan <rmh@aybabtu.com>
36419
36420 * include/grub/i386/efi/machine.h: New file.
36421 * include/grub/i386/linuxbios/machine.h: Likewise.
36422 * include/grub/i386/pc/machine.h: Likewise.
36423 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36424 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36425
36426 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36427 (serial_hw_io_addr): New variable.
36428 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36429 instead of `(unsigned short *) 0x400'.
36430
270c237d 364312007-11-10 Bean <bean123ch@gmail.com>
36432
36433 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36434
a87783bf 364352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36436
36437 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36438 (vga_mod_SOURCES): Added.
36439 (vga_mod_CFLAGS): Likewise.
36440 (vga_mod_LDFLAGS): Likewise.
36441
36442 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36443 grub_outb() calls.
36444 (set_map_mask): Likewise.
36445 (set_read_map): Likewise.
36446 (set_read_address): Likewise.
36447 (vga_font): Removed variable.
36448 (get_vga_glyph): Removed function.
36449 (invalidate_char): Likewise.
36450 (write_char): Changed to use grub_font_get_glyph() for font
36451 information.
36452 (grub_vga_putchar): Likewise.
36453 (grub_vga_getcharwidth): Likewise.
36454
6433b448 364552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36456
36457 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36458 flags.
36459 (pxeboot_img_LDFLAGS): Likewise.
36460 (diskboot_img_LDFLAGS): Likewise.
36461 (kernel_img_LDFLAGS): Likewise.
36462
49178511 364632007-11-06 Robert Millan <rmh@aybabtu.com>
36464
36465 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36466 in grub_outb() calls.
36467 (serial_hw_init): Likewise.
36468
53b052de 364692007-11-05 Robert Millan <rmh@aybabtu.com>
36470
36471 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36472 spaces. Skip non-regular files.
36473
5ab33bba 364742007-11-05 Robert Millan <rmh@aybabtu.com>
36475
36476 * kern/disk.c (grub_disk_firmware_fini)
36477 (grub_disk_firmware_is_tainted): New variables.
36478
36479 * include/grub/disk.h (grub_disk_firmware_fini)
36480 (grub_disk_firmware_is_tainted): Likewise.
36481
36482 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36483 (grub_disk_biosdisk_fini): ... to here.
36484 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36485 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36486 is set. Register grub_disk_biosdisk_fini() in
36487 `grub_disk_firmware_fini'.
36488
36489 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36490 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36491 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36492 to finish existing firmware disk interface.
36493
36494 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36495 (ata_mod_SOURCES): New variable.
36496 (ata_mod_CFLAGS): Likewise.
36497 (ata_mod_LDFLAGS): Likewise.
36498
0149ab7c 364992007-11-05 Robert Millan <rmh@aybabtu.com>
36500
36501 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36502 (grub_ata_wait): Reimplement using grub_millisleep().
36503
36504 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36505 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36506
be7ac41e 365072007-11-03 Marco Gerards <marco@gnu.org>
36508
36509 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36510 (CRTC_ADDR_PORT): New macro.
36511 (CRTC_DATA_PORT): Likewise.
36512 (CRTC_CURSOR): Likewise.
36513 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36514 (CRTC_CURSOR_ADDR_LOW): Likewise.
36515 (update_cursor): New function.
36516 (grub_console_real_putchar): Call `update_cursor'.
36517 (grub_console_gotoxy): Likewise.
36518 (grub_console_cls): Set the default color when clearing the
36519 screen.
36520 (grub_console_setcursor): Implemented.
36521
bb06ab2e 365222007-11-03 Marco Gerards <marco@gnu.org>
36523
36524 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36525 become activate.
36526 (grub_ata_pio_write): Likewise.
36527
36528 (grub_atapi_identify): Wait after issuing an ATA command.
36529 (grub_atapi_packet): Likewise.
36530 (grub_ata_identify): Likewise.
36531 (grub_ata_readwrite): Likewise.
36532
cf8f780b 365332007-11-03 Marco Gerards <marco@gnu.org>
36534
36535 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36536 (grub_ata_pio_write): Likewise.
36537 (grub_ata_readwrite): Use `grub_error', instead of
36538 returning `grub_errno'.
36539
ed649e54 365402007-11-03 Marco Gerards <marco@gnu.org>
36541
36542 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36543 grub_ata_pio_write once for every single sector, instead of for
36544 multiple sectors.
36545
ca25d8f0 365462007-10-31 Robert Millan <rmh@aybabtu.com>
36547
36548 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36549
36550 * conf/i386-linuxbios.rmk: New file.
36551
36552 * kern/i386/pc/hardware.c: Likewise.
36553 * term/i386/pc/at_keyboard.c: Likewise.
36554 * term/i386/pc/vga_text.c: Likewise.
36555
36556 * include/grub/i386/linuxbios/boot.h: Likewise.
36557 * include/grub/i386/linuxbios/console.h: Likewise.
36558 * include/grub/i386/linuxbios/init.h: Likewise.
36559 * include/grub/i386/linuxbios/kernel.h: Likewise.
36560 * include/grub/i386/linuxbios/loader.h: Likewise.
36561 * include/grub/i386/linuxbios/memory.h: Likewise.
36562 * include/grub/i386/linuxbios/serial.h: Likewise.
36563 * include/grub/i386/linuxbios/time.h: Likewise.
36564
36565 * kern/i386/linuxbios/init.c: Likewise.
36566 * kern/i386/linuxbios/startup.S: Likewise.
36567 * kern/i386/linuxbios/table.c: Likewise.
36568
e911ecc1 365692007-10-31 Marco Gerards <marco@gnu.org>
36570
36571 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36572 (ata_mod_SOURCES): New variable.
36573 (ata_mod_CFLAGS): Likewise.
36574 (ata_mod_LDFLAGS): Likewise.
36575
36576 * disk/ata.c: New file.
36577
36578 * include/grub/disk.h (grub_disk_dev_id): Add
36579 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36580
7f66d0e0 365812007-10-31 Robert Millan <rmh@aybabtu.com>
36582
36583 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36584 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36585
36586 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36587 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36588
36589 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36590 `<grub/types.h>'.
36591
36592 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36593
5cd7dd46 365942007-10-27 Robert Millan <rmh@aybabtu.com>
36595
3236ca65 36596 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36597
2ebfc90f 365982007-10-22 Robert Millan <rmh@aybabtu.com>
36599
36600 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36601 `"../realmode.S"'.
36602 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36603
73fcb0f3 366042007-10-22 Robert Millan <rmh@aybabtu.com>
36605
36606 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36607 (pkgdata_MODULES): Add `biosdisk.mod'.
36608 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36609 variables.
36610
36611 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36612 (grub_biosdisk_init): Replace with ...
36613 (GRUB_MOD_INIT(biosdisk)): ... this.
36614 (grub_biosdisk_fini): Replace with ...
36615 (GRUB_MOD_FINI(biosdisk)): ... this.
36616
36617 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36618 (grub_machine_init): Remove call to grub_biosdisk_init().
36619 (grub_machine_fini): Remove call to grub_machine_fini().
36620
36621 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36622
3381d274 366232007-10-22 Robert Millan <rmh@aybabtu.com>
36624
36625 * include/grub/time.h: New file.
36626 * include/grub/i386/time.h: Likewise.
36627 * include/grub/powerpc/time.h: Likewise.
36628 * include/grub/sparc64/time.h: Likewise.
36629
36630 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36631 instances to ...
36632 (KERNEL_MACHINE_TIME_HEADER): ... this.
36633 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36634 instances to ...
36635 (KERNEL_MACHINE_TIME_HEADER): ... this.
36636 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36637 instances to ...
36638 (KERNEL_MACHINE_TIME_HEADER): ... this.
36639
36640 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36641 (grub_millisleep): New function.
36642 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36643 (grub_millisleep): New function.
36644 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36645 Remove `grub/machine/time.h' include.
36646 (grub_millisleep): New function.
36647 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36648 Remove `grub/machine/time.h' include.
36649 (grub_millisleep): New function.
36650
36651 * include/grub/misc.h (grub_div_roundup): New function.
36652
36653 * kern/misc.c: Include `<grub/time.h>'.
36654 (grub_millisleep_generic): New function.
36655
36656 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36657 Add `time.h'.
36658 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36659 Add `time.h'.
36660 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36661 `machine/time.h'. Add `time.h'.
36662 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36663
a39a0312 366642007-10-21 Robert Millan <rmh@aybabtu.com>
36665
36666 * include/grub/misc.h (grub_max): New function.
36667
2aad70e2 366682007-10-21 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/misc.c (grub_util_info): Call fflush() before returning.
36671
54b71c4b 366722007-10-20 Robert Millan <rmh@aybabtu.com>
36673
36674 * genmk.rb (Image): Copy `extra_flags' from here ...
36675 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36676
36677 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36678 to `argc' and `args' arguments.
36679
a979f513 366802007-10-17 Robert Millan <rmh@aybabtu.com>
36681
36682 * kern/i386/loader.S: New file.
36683
36684 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36685 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36686 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36687 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36688 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36689 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36690 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36691 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36692 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36693 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36694 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36695 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36696 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36697 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36698
36699 * kern/i386/realmode.S: New file.
36700
36701 * kern/i386/pc/startup.S (protstack): Moved from here ...
36702 * kern/i386/realmode.S (protstack)... to here.
36703 * kern/i386/pc/startup.S (gdt): Moved from here ...
36704 * kern/i386/realmode.S (gdt)... to here.
36705 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36706 * kern/i386/realmode.S (prot_to_real)... to here.
36707
36708 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36709 `kern/i386/realmode.S'.
36710
825fc8fd 367112007-10-17 Robert Millan <rmh@aybabtu.com>
36712
36713 * include/grub/i386/loader.h: New file.
36714
36715 * include/grub/i386/pc/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): Moved from here ...
36720 * include/grub/i386/loader.h (grub_linux_prot_size)
36721 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36722 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36723 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36724 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36725
36726 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36727
e179b2f4 367282007-10-15 Robert Millan <rmh@aybabtu.com>
36729
36730 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36731 filesystem when dev->disk is unset.
36732 Do probe for filesystem even when dev->disk->has_partitions is set.
36733 In case a filesystem is found, always report it.
36734 In case it isn't, if dev->disk->has_partitions is set, report that
36735 a partition table was found instead of reporting that no filesystem
36736 could be identified.
36737
5db82af6 367382007-10-12 Robert Millan <rmh@aybabtu.com>
36739
36740 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36741 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36742
68f6ac74 36743 * include/grub/types.h (grub_host_to_target16): New macro.
36744 (grub_host_to_target32): Likewise.
36745 (grub_host_to_target64): Likewise.
36746 (grub_target_to_host16): Likewise.
36747 (grub_target_to_host32): Likewise.
36748 (grub_target_to_host64): Likewise.
5db82af6 36749
36750 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36751 Renamed from to ...
36752 (GRUB_MOD_ALIGN): ...this. Update all users.
36753
68f6ac74 36754 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36755 grub_host_to_target32.
36756 Replace grub_be_to_cpu32 with grub_target_to_host32.
36757 (load_modules): Likewise.
36758 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36759 Replace grub_be_to_cpu32 with grub_target_to_host32.
36760 Replace grub_cpu_to_be16 with grub_host_to_target16.
36761 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36762
3cf497cc 367632007-10-12 Robert Millan <rmh@aybabtu.com>
36764
36765 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36766 * util/elf/grub-mkimage.c: ... here.
36767
36768 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36769 `util/powerpc/ieee1275/grub-mkimage.c'.
36770
c8cc3692 367712007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36772
c8cc3692 36773 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36774 and make it easier to figure out.
36775 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36776 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36777 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36778 leave us with less than HEAP_MIN_SIZE total heap.
36779 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36780
5c58b791 367812007-10-03 Robert Millan <rmh@aybabtu.com>
36782
36783 * include/grub/i386/io.h: New file.
36784 * commands/i386/pc/play.c (inb): Removed.
36785 (outb): Removed.
36786 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36787 with grub_outb().
afcd2ef8 36788 * term/i386/pc/serial.c (inb): Removed.
36789 (outb): Removed.
36790 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36791 with grub_outb().
36792 * term/i386/pc/vga.c (inb): Removed.
36793 (outb): Removed.
36794 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36795 with grub_outb().
5c58b791 36796
1a477ed6 367972007-10-02 Robert Millan <rmh@aybabtu.com>
36798
36799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36801 Reported by Marcin Kurek.
36802
6b5d80fa 368032007-09-07 Robert Millan <rmh@aybabtu.com>
36804
36805 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36806 SmartFirmware version updates (as released by Sven Luther), and avoid
36807 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36808 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36809 known broken.
36810
5618afbf 368112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36812
36813 From Hitoshi Ozeki:
36814 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36815 when merging two regions.
36816
6139dcd9 368172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36818
508e39ee 36819 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36820 * normal/completion.c (grub_normal_do_completion): Likewise.
36821 Reported by Hitoshi Ozeki.
36822
368232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36824
6139dcd9 36825 Do not use devices at boot in chainloading.
f19dbdb7 36826
6139dcd9 36827 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36828 (boot_part_addr): Likewise.
36829 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36830 with BOOT_DRIVE and BOOT_PART_ADDR.
36831 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36832 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36833
38da6516 368342007-08-29 Robert Millan <rmh@aybabtu.com>
36835
36836 Patch from Simon Peter <dn.tlp@gmx.net>:
36837 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36838 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36839 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36840 util/i386/pc/grub-setup.c_DEPENDENCIES.
36841 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36842 util/grub-probe.c_DEPENDENCIES.
36843 * conf/powerpc-ieee1275.rmk: Likewise.
36844
29d0928c 368452007-08-28 Robert Millan <rmh@aybabtu.com>
36846
36847 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36848 to tell grub-mkdevicemap how to name devices.
36849 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36850 feature).
36851
36852 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36853 util/i386/get_disk_name.c.
36854 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36855 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36856 util/ieee1275/get_disk_name.c.
36857
36858 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36859
36860 * DISTLIST: Add util/i386/get_disk_name.c and
36861 util/ieee1275/get_disk_name.c.
36862
36863 * util/grub-mkdevicemap.c: Replace device naming logic with
36864 grub_util_get_disk_name() calls.
36865
5a0d3cca 368662007-08-20 Robert Millan <rmh@aybabtu.com>
36867
36868 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36869 (so that it works for both plural and singular quantities).
36870
8b72db2f 368712007-08-05 Robert Millan <rmh@aybabtu.com>
36872
36873 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36874 so that [xz] isn't taken into account when determining order.
36875
352466bf 368762007-08-02 Marco Gerards <marco@gnu.org>
36877
36878 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36879 `include/multiboot2.h', `include/grub/elfload.h',
36880 `include/multiboot.h', `include/grub/multiboot.h',
36881 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36882 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36883 `kern/elf.c', `loader/multiboot_loader.c',
36884 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36885 `loader/i386/pc/multiboot2.c',
36886 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36887 `util/i386/pc/grub-mkrescue.in'. Remove
36888 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36889 `include/grub/i386/pc/util/biosdisk.h' and
36890 `include/grub/powerpc/ieee1275/multiboot.h'.
36891
8f096014 368922007-08-02 Bean <bean123ch@gmail.com>
36893
36894 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36895 (ntfs_mod_SOURCES): New variable.
36896 (ntfs_mod_CFLAGS): Likewise.
36897 (ntfs_mod_LDFLAGS): Likewise.
36898
36899 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36900 (grub_probe_SOURCES): Likewise.
36901 (grub_emu_SOURCES): Likewise.
36902
36903 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36904 (grub_emu_SOURCES): Likewise.
36905
36906 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36907 (grub_emu_SOURCES): Likewise.
f19dbdb7 36908
8f096014 36909 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36910
36911 * fs/ntfs.c: New file.
36912
9959f7db 369132007-08-02 Bean <bean123ch@gmail.com>
36914
36915 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36916
36917 * file.h (grub_file): Likewise.
36918
36919 * fshelp.h (grub_fshelp_read_file): Likewise.
36920
36921 * util/i386/pc/grub-setup.c (setup): Likewise.
36922 (save_first_sector): Likewise.
36923 (save_blocklists): Likewise.
f19dbdb7 36924
9959f7db 36925 * fs/affs.c (grub_affs_read_file): Likewise.
36926
36927 * fs/ext2.c (grub_ext2_read_file): Likewise.
36928
36929 * fs/fat.c (grub_fat_read_data): Likewise.
36930
36931 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36932
36933 * fs/hfs.c (grub_hfs_read_file): Likewise.
36934
36935 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36936
36937 * fs/jfs.c (grub_jfs_read_file): Likewise.
36938
36939 * fs/minix.c (grub_minix_read_file): Likewise.
36940
36941 * fs/sfs.c (grub_sfs_read_file): Likewise.
36942
36943 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36944
9959f7db 36945 * fs/xfs.c (grub_xfs_read_file): Likewise.
36946
36947 * command/blocklist.c (read_blocklist): Likewise.
36948 (print_blocklist): Likewise.
36949
0a203f83 369502007-08-02 Marco Gerards <marco@gnu.org>
36951
36952 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36953 `util/hostfs.c'.
36954
36955 * disk/host.c: New file.
36956
36957 * util/hostfs.c: Likewise.
36958
36959 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36960 return `GRUB_ERR_BAD_FS'.
36961 * fs/sfs.c (grub_sfs_mount): Likewise.
36962 * fs/xfs.c (grub_xfs_mount): Likewise.
36963
36964 * include/grub/disk.h (enum grub_disk_dev_id): Add
36965 `GRUB_DISK_DEVICE_HOST_ID'.
36966
36967 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36968
e5dfe777 369692007-07-24 Jerone Young <jerone@gmail.com>
36970
f19dbdb7 36971 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36972 modules for compilation.
36973 * conf/powerpc-ieee1275.rmk: Likewise.
36974
36975 * include/multiboot.h: Move multiboot definitions to one file. Rename
36976 many definitions to not get grub specific.
36977 * include/multiboot2.h: Create header with multiboot 2 definitions.
36978 * include/grub/multiboot.h: Header for grub specific function
36979 prototypes and definitions.
36980 * include/grub/multiboot2.h: Likewise.
36981 * include/grub/multiboot_loader.h: Likewise.
36982 * include/grub/i386/pc/multiboot.h: Removed.
36983 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36984
36985 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36986 and 2 to allow for one multiboot and module commands.
36987 * loader/multiboot2.c: Add multiboot2 functionality.
36988 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36989 and definition names.
36990 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36991 2 functions.
36992 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36993 ieee1275 specific multiboot2 code.
36994
36995 * kern/i386/pc/startup.S: Change headers and definition names for
36996 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36997
daf0f0ba 369982007-07-22 Robert Millan <rmh@aybabtu.com>
36999
37000 * geninitheader.sh: Process file specified in first parameter rather
37001 than hardcoding grub_modules_init.lst.
fe6b695a 37002 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37003 than hardcoding grub_modules_init.h.
37004
37005 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37006 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37007 grub_probe_init.[ch] and grub_setup_init.[ch].
37008
37009 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37010 grub_modules_init.h with grub_emu_init.h.
37011 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37012 grub_probe_init.[ch] files.
37013 * conf/i386-efi.rmk: Likewise.
37014 * conf/i386-pc.rmk: Likewise.
37015 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37016 grub_setup_init.[ch] files.
37017
37018 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37019 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37020 to initialize modules rather than a list of hardcoded functions.
37021 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37022 grub_init_all() to initialize modules rather than a list of hardcoded
37023 functions.
37024
54cdc1cc 370252007-07-22 Robert Millan <rmh@aybabtu.com>
37026
37027 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37028 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37029
ad0686cc 370302007-07-22 Robert Millan <rmh@aybabtu.com>
37031
37032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37033 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37034 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37035 flag when running on SmartFirmware.
37036 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37037 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37038 was set.
37039
37040 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37041 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37042 rather than decreasing it.
37043
37044 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37045 there's not enough space to do it, fail in the same way as when it
37046 can't be done because there are no partitions.
37047
37048 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37049 when nvsetenv failed.
37050
969c02ec 370512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37052
37053 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37054 because this rule is automatically generated.
37055 (grub-mkrescue): Removed for the same reason as above.
37056
5a79f472 370572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37058
37059 Migrate to GNU General Public License Version 3.
f19dbdb7 37060
5a79f472 37061 * COPYING: Replaced with the plain text version of GPLv3.
37062
37063 * config.guess: Updated from gnulib.
37064 * config.sub: Likewise.
37065
37066 * geninit.sh: Output a GPLv3 copyright notice.
37067 * geninitheader.sh: Likewise.
37068 * genmodsrc.sh: Likewise.
37069 * gensymlist.sh.in: Likewise.
37070
37071 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37072 * boot/i386/pc/diskboot.S: Likewise.
37073 * boot/i386/pc/pxeboot.S: Likewise.
37074 * commands/blocklist.c: Likewise.
37075 * commands/boot.c: Likewise.
37076 * commands/cat.c: Likewise.
37077 * commands/cmp.c: Likewise.
37078 * commands/configfile.c: Likewise.
37079 * commands/echo.c: Likewise.
37080 * commands/help.c: Likewise.
37081 * commands/ls.c: Likewise.
37082 * commands/search.c: Likewise.
37083 * commands/terminal.c: Likewise.
37084 * commands/test.c: Likewise.
37085 * commands/videotest.c: Likewise.
37086 * commands/i386/cpuid.c: Likewise.
37087 * commands/i386/pc/halt.c: Likewise.
37088 * commands/i386/pc/play.c: Likewise.
37089 * commands/i386/pc/reboot.c: Likewise.
37090 * commands/i386/pc/vbeinfo.c: Likewise.
37091 * commands/i386/pc/vbetest.c: Likewise.
37092 * commands/ieee1275/halt.c: Likewise.
37093 * commands/ieee1275/reboot.c: Likewise.
37094 * commands/ieee1275/suspend.c: Likewise.
37095 * disk/loopback.c: Likewise.
37096 * disk/lvm.c: Likewise.
37097 * disk/raid.c: Likewise.
37098 * disk/efi/efidisk.c: Likewise.
37099 * disk/i386/pc/biosdisk.c: Likewise.
37100 * disk/ieee1275/ofdisk.c: Likewise.
37101 * font/manager.c: Likewise.
37102 * fs/affs.c: Likewise.
37103 * fs/ext2.c: Likewise.
37104 * fs/fat.c: Likewise.
37105 * fs/fshelp.c: Likewise.
37106 * fs/hfs.c: Likewise.
37107 * fs/hfsplus.c: Likewise.
37108 * fs/iso9660.c: Likewise.
37109 * fs/jfs.c: Likewise.
37110 * fs/minix.c: Likewise.
37111 * fs/sfs.c: Likewise.
37112 * fs/ufs.c: Likewise.
37113 * fs/xfs.c: Likewise.
37114 * hello/hello.c: Likewise.
37115 * include/grub/acorn_filecore.h: Likewise.
37116 * include/grub/arg.h: Likewise.
37117 * include/grub/bitmap.h: Likewise.
37118 * include/grub/boot.h: Likewise.
37119 * include/grub/cache.h: Likewise.
37120 * include/grub/device.h: Likewise.
37121 * include/grub/disk.h: Likewise.
37122 * include/grub/dl.h: Likewise.
37123 * include/grub/elfload.h: Likewise.
37124 * include/grub/env.h: Likewise.
37125 * include/grub/err.h: Likewise.
37126 * include/grub/file.h: Likewise.
37127 * include/grub/font.h: Likewise.
37128 * include/grub/fs.h: Likewise.
37129 * include/grub/fshelp.h: Likewise.
37130 * include/grub/gzio.h: Likewise.
37131 * include/grub/hfs.h: Likewise.
37132 * include/grub/kernel.h: Likewise.
37133 * include/grub/loader.h: Likewise.
37134 * include/grub/lvm.h: Likewise.
37135 * include/grub/misc.h: Likewise.
37136 * include/grub/mm.h: Likewise.
37137 * include/grub/net.h: Likewise.
37138 * include/grub/normal.h: Likewise.
37139 * include/grub/parser.h: Likewise.
37140 * include/grub/partition.h: Likewise.
37141 * include/grub/pc_partition.h: Likewise.
37142 * include/grub/raid.h: Likewise.
37143 * include/grub/rescue.h: Likewise.
37144 * include/grub/script.h: Likewise.
37145 * include/grub/setjmp.h: Likewise.
37146 * include/grub/symbol.h: Likewise.
37147 * include/grub/term.h: Likewise.
37148 * include/grub/terminfo.h: Likewise.
37149 * include/grub/tparm.h: Likewise.
37150 * include/grub/types.h: Likewise.
37151 * include/grub/video.h: Likewise.
37152 * include/grub/efi/api.h: Likewise.
37153 * include/grub/efi/chainloader.h: Likewise.
37154 * include/grub/efi/console.h: Likewise.
37155 * include/grub/efi/console_control.h: Likewise.
37156 * include/grub/efi/disk.h: Likewise.
37157 * include/grub/efi/efi.h: Likewise.
37158 * include/grub/efi/pe32.h: Likewise.
37159 * include/grub/efi/time.h: Likewise.
37160 * include/grub/i386/linux.h: Likewise.
37161 * include/grub/i386/setjmp.h: Likewise.
37162 * include/grub/i386/types.h: Likewise.
37163 * include/grub/i386/efi/kernel.h: Likewise.
37164 * include/grub/i386/efi/loader.h: Likewise.
37165 * include/grub/i386/efi/time.h: Likewise.
37166 * include/grub/i386/pc/biosdisk.h: Likewise.
37167 * include/grub/i386/pc/boot.h: Likewise.
37168 * include/grub/i386/pc/chainloader.h: Likewise.
37169 * include/grub/i386/pc/console.h: Likewise.
37170 * include/grub/i386/pc/init.h: Likewise.
37171 * include/grub/i386/pc/kernel.h: Likewise.
37172 * include/grub/i386/pc/loader.h: Likewise.
37173 * include/grub/i386/pc/memory.h: Likewise.
37174 * include/grub/i386/pc/multiboot.h: Likewise.
37175 * include/grub/i386/pc/serial.h: Likewise.
37176 * include/grub/i386/pc/time.h: Likewise.
37177 * include/grub/i386/pc/vbe.h: Likewise.
37178 * include/grub/i386/pc/vbeblit.h: Likewise.
37179 * include/grub/i386/pc/vbefill.h: Likewise.
37180 * include/grub/i386/pc/vbeutil.h: Likewise.
37181 * include/grub/i386/pc/vga.h: Likewise.
37182 * include/grub/ieee1275/ieee1275.h: Likewise.
37183 * include/grub/ieee1275/ofdisk.h: Likewise.
37184 * include/grub/powerpc/libgcc.h: Likewise.
37185 * include/grub/powerpc/setjmp.h: Likewise.
37186 * include/grub/powerpc/types.h: Likewise.
37187 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37188 * include/grub/powerpc/ieee1275/console.h: Likewise.
37189 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37190 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37191 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37192 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37193 * include/grub/powerpc/ieee1275/time.h: Likewise.
37194 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37195 * include/grub/sparc64/libgcc.h: Likewise.
37196 * include/grub/sparc64/setjmp.h: Likewise.
37197 * include/grub/sparc64/types.h: Likewise.
37198 * include/grub/sparc64/ieee1275/console.h: Likewise.
37199 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37200 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37201 * include/grub/sparc64/ieee1275/time.h: Likewise.
37202 * include/grub/util/biosdisk.h: Likewise.
37203 * include/grub/util/getroot.h: Likewise.
37204 * include/grub/util/lvm.h: Likewise.
37205 * include/grub/util/misc.h: Likewise.
37206 * include/grub/util/raid.h: Likewise.
37207 * include/grub/util/resolve.h: Likewise.
37208 * io/gzio.c: Likewise.
37209 * kern/device.c: Likewise.
37210 * kern/disk.c: Likewise.
37211 * kern/dl.c: Likewise.
37212 * kern/elf.c: Likewise.
37213 * kern/env.c: Likewise.
37214 * kern/err.c: Likewise.
37215 * kern/file.c: Likewise.
37216 * kern/fs.c: Likewise.
37217 * kern/loader.c: Likewise.
37218 * kern/main.c: Likewise.
37219 * kern/misc.c: Likewise.
37220 * kern/mm.c: Likewise.
37221 * kern/parser.c: Likewise.
37222 * kern/partition.c: Likewise.
37223 * kern/rescue.c: Likewise.
37224 * kern/term.c: Likewise.
37225 * kern/efi/efi.c: Likewise.
37226 * kern/efi/init.c: Likewise.
37227 * kern/efi/mm.c: Likewise.
37228 * kern/i386/dl.c: Likewise.
37229 * kern/i386/efi/init.c: Likewise.
37230 * kern/i386/efi/startup.S: Likewise.
37231 * kern/i386/pc/init.c: Likewise.
37232 * kern/i386/pc/lzo1x.S: Likewise.
37233 * kern/i386/pc/startup.S: Likewise.
37234 * kern/ieee1275/ieee1275.c: Likewise.
37235 * kern/powerpc/cache.S: Likewise.
37236 * kern/powerpc/dl.c: Likewise.
37237 * kern/powerpc/ieee1275/cmain.c: Likewise.
37238 * kern/powerpc/ieee1275/crt0.S: Likewise.
37239 * kern/powerpc/ieee1275/init.c: Likewise.
37240 * kern/powerpc/ieee1275/openfw.c: Likewise.
37241 * kern/sparc64/cache.S: Likewise.
37242 * kern/sparc64/dl.c: Likewise.
37243 * kern/sparc64/ieee1275/init.c: Likewise.
37244 * kern/sparc64/ieee1275/openfw.c: Likewise.
37245 * loader/efi/chainloader.c: Likewise.
37246 * loader/efi/chainloader_normal.c: Likewise.
37247 * loader/i386/efi/linux.c: Likewise.
37248 * loader/i386/efi/linux_normal.c: Likewise.
37249 * loader/i386/pc/chainloader.c: Likewise.
37250 * loader/i386/pc/chainloader_normal.c: Likewise.
37251 * loader/i386/pc/linux.c: Likewise.
37252 * loader/i386/pc/linux_normal.c: Likewise.
37253 * loader/i386/pc/multiboot.c: Likewise.
37254 * loader/i386/pc/multiboot_normal.c: Likewise.
37255 * loader/powerpc/ieee1275/linux.c: Likewise.
37256 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37257 * normal/arg.c: Likewise.
37258 * normal/cmdline.c: Likewise.
37259 * normal/command.c: Likewise.
37260 * normal/completion.c: Likewise.
37261 * normal/execute.c: Likewise.
37262 * normal/function.c: Likewise.
37263 * normal/lexer.c: Likewise.
37264 * normal/main.c: Likewise.
37265 * normal/menu.c: Likewise.
37266 * normal/menu_entry.c: Likewise.
37267 * normal/misc.c: Likewise.
37268 * normal/parser.y: Likewise.
37269 * normal/script.c: Likewise.
37270 * normal/i386/setjmp.S: Likewise.
37271 * normal/powerpc/setjmp.S: Likewise.
37272 * normal/sparc64/setjmp.S: Likewise.
37273 * partmap/acorn.c: Likewise.
37274 * partmap/amiga.c: Likewise.
37275 * partmap/apple.c: Likewise.
37276 * partmap/gpt.c: Likewise.
37277 * partmap/pc.c: Likewise.
37278 * partmap/sun.c: Likewise.
37279 * term/gfxterm.c: Likewise.
37280 * term/terminfo.c: Likewise.
37281 * term/efi/console.c: Likewise.
37282 * term/i386/pc/console.c: Likewise.
37283 * term/i386/pc/serial.c: Likewise.
37284 * term/i386/pc/vesafb.c: Likewise.
37285 * term/i386/pc/vga.c: Likewise.
37286 * term/ieee1275/ofconsole.c: Likewise.
37287 * util/biosdisk.c: Likewise.
37288 * util/console.c: Likewise.
37289 * util/genmoddep.c: Likewise.
37290 * util/getroot.c: Likewise.
37291 * util/grub-emu.c: Likewise.
37292 * util/grub-mkdevicemap.c: Likewise.
37293 * util/grub-probe.c: Likewise.
37294 * util/lvm.c: Likewise.
37295 * util/misc.c: Likewise.
37296 * util/raid.c: Likewise.
37297 * util/resolve.c: Likewise.
37298 * util/update-grub.in: Likewise.
37299 * util/update-grub_lib.in: Likewise.
37300 * util/grub.d/00_header.in: Likewise.
37301 * util/grub.d/10_hurd.in: Likewise.
37302 * util/grub.d/10_linux.in: Likewise.
37303 * util/i386/efi/grub-install.in: Likewise.
37304 * util/i386/efi/grub-mkimage.c: Likewise.
37305 * util/i386/pc/grub-install.in: Likewise.
37306 * util/i386/pc/grub-mkimage.c: Likewise.
37307 * util/i386/pc/grub-mkrescue.in: Likewise.
37308 * util/i386/pc/grub-setup.c: Likewise.
37309 * util/i386/pc/misc.c: Likewise.
37310 * util/powerpc/ieee1275/grub-install.in: Likewise.
37311 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37312 * util/powerpc/ieee1275/misc.c: Likewise.
37313 * video/bitmap.c: Likewise.
37314 * video/video.c: Likewise.
37315 * video/i386/pc/vbe.c: Likewise.
37316 * video/i386/pc/vbeblit.c: Likewise.
37317 * video/i386/pc/vbefill.c: Likewise.
37318 * video/i386/pc/vbeutil.c: Likewise.
37319 * video/readers/tga.c: Likewise.
37320
3572d015 373212007-07-02 Robert Millan <rmh@aybabtu.com>
37322
37323 * conf/i386-efi.rmk: Replace obsolete reference to
37324 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37325 with util/getroot.c.
37326 * conf/powerpc-ieee1275.rmk: Likewise.
37327 * conf/sparc64-ieee1275.rmk: Likewise.
37328
37329 * util/grub-emu.c (main): Fix unchecked pointer handling.
37330
2c2a681b 373312007-07-02 Robert Millan <rmh@aybabtu.com>
37332
37333 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37334 invocation to fail, in order to support partition-less media.
37335
37336 * util/i386/pc/grub-install.in: Likewise.
37337
37338 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37339 which fs or partmap modules are needed (akin to its sister scripts).
37340
37341 Also use grub-probe to get rid of unportable /proc/mounts check.
37342
37343 Print the same informational message that the other scripts do, before
fe6b695a 37344 exiting.
2c2a681b 37345
6193defe 373462007-06-23 Robert Millan <rmh@aybabtu.com>
37347
fe6b695a 37348 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37349 a font file can be found and, if so, echo the GRUB path to it.
37350
37351 * util/update-grub.in: Handle multiple terminals depending on user
37352 input, platform availability and font file presence. Propagate
37353 variables of our findings to /etc/grub.d/ children.
37354
37355 * util/grub.d/00_header.in: Handle multiple terminals, based on
37356 environment setup by update-grub.
37357
eface1dc 373582007-06-23 Robert Millan <rmh@aybabtu.com>
37359
ba50d28f 37360 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37361
bf697e28 373622007-06-21 Robert Millan <rmh@aybabtu.com>
37363
37364 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37365 indicate end of data section in kernel image.
37366 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37367 GRUB_KERNEL_MACHINE_DATA_END.
37368
37369 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37370 space for it.
37371 * kern/i386/efi/startup.S: Likewise.
37372
37373 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37374 during image generation. Implement --prefix option to override this
37375 patch.
37376 * util/i386/efi/grub-mkimage.c: Likewise.
37377
37378 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37379 code to make path relative to its root into a separate function.
37380
37381 * util/i386/pc/grub-install.in: Use newly provided
37382 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37383 pass the result to grub-install --prefix.
37384
baa574b4 373852007-06-13 Robert Millan <rmh@aybabtu.com>
37386
37387 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37388 DEFAULT_DEVICE_MAP.
37389 * util/grub-emu.c: Use above definitions from misc.h instead of
37390 defining them.
37391 * util/grub-mkdevicemap.c: Likewise.
37392 * util/i386/pc/grub-setup.c: Likewise.
37393 * util/grub-probe.c: Likewise.
37394 (probe): Abort with grub_util_error() when either
37395 grub_guess_root_device or grub_util_get_grub_dev fails.
37396
0215dcbf 373972007-06-12 Robert Millan <rmh@aybabtu.com>
37398
37399 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37400 "pager" assignment.
37401 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37402 "pcdata".
37403 * util/grub-probe.c (probe): Likewise for "drive_name".
37404
8af2ab7b 374052007-06-11 Robert Millan <rmh@aybabtu.com>
37406
37407 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37408 not just the cdrom one.
37409
59d31694 374102007-06-11 Robert Millan <rmh@aybabtu.com>
37411
37412 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37413 Add --pkglibdir=DIR option to override pkglibdir.
37414 Mention --image-type=TYPE in help output.
37415 Fix --grub-mkimage (it was a no-op).
fe6b695a 37416 Abort gracefully when no parameter is given.
59d31694 37417
7ee367e4 374182007-06-11 Robert Millan <rmh@aybabtu.com>
37419
37420 * util/i386/pc/grub-mkrescue.in: New file.
37421 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37422 * Makefile.in: Handle bin_SCRIPTS.
37423
29b0ed46 374242007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37425
37426 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37427 list of video modes.
37428
c0f90770 374292007-06-06 Robert Millan <rmh@aybabtu.com>
37430
37431 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37432 file doesn't exist, or if it is in a filesystem grub can't read.
37433
37434 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37435 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37436 header comment to fit in 80 columns when the variables are resolved.
37437
37438 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37439 could be identified by update-grub. Remove redundant check for
fe6b695a 37440 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37441 handles that).
37442
fb36dc26 374432007-06-04 Robert Millan <rmh@aybabtu.com>
37444
37445 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37446
37447 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37448
37449 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37450
0c68c93e 374512007-06-04 Robert Millan <rmh@aybabtu.com>
37452
37453 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37454
37455 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37456 grub_apple_partition_map_fini.
37457
37458 * util/biosdisk.c
37459 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37460 to access >2 TiB disks).
37461
37462 Print disk->total_sectors with %llu instead of %lu, since this
37463 variable is always 64-bit (prevents wrong disk size from being displayed
37464 on either >2 TiB disk or big-endian CPU).
37465
37466 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37467 into a generic case that supports all (sane) partition maps.
37468
37469 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37470 breaks big-endian.
37471
37472 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37473 and grub_apple_partition_map_fini() after that.
37474
0f23eb74 374752007-06-01 Robert Millan <rmh@aybabtu.com>
37476
37477 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37478
37479 * util/grub.d/00_header.in: Only enable gfxterm when
37480 convert_system_path_to_grub_path() succeeds.
37481
42c71976 374822007-05-20 Robert Millan <rmh@aybabtu.com>
37483
37484 * util/update-grub_lib.in: New file.
37485 * DISTLIST: Add update-grub_lib.in.
37486 * conf/common.rmk: Generate update-grub_lib and install it in
37487 $(lib_DATA).
37488 * Makefile.in: Add install routine for $(lib_DATA).
37489
37490 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37491 function provided by update-grub_lib to support arbitrary paths of
37492 unifont.pff.
37493 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37494 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37495
5beb2291 374962007-05-19 Robert Millan <rmh@aybabtu.com>
37497
37498 * commands/i386/cpuid.c: New module.
37499 * DISTLIST: Add it.
37500 * conf/i386-efi.rmk: Enable cpuid.mod.
37501 * conf/i386-pc.rmk: Likewise.
37502
7262eca1 375032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37504
37505 * kern/disk.c (grub_disk_read): Check return value of
37506 grub_realloc().
37507
260ba823 375082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37509
37510 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37511 arrays.
37512 * disk/raid.c (grub_raid_open): Likewise.
37513
1ecb6cf2 375142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37515
37516 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37517 stack instead of on the heap.
37518
37519 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37520 before doing a read on it.
37521
37522 * configure.ac: Only use -fno-stack-protector for the target
37523 environment.
f19dbdb7 37524
21c8cbb1 375252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37526
37527 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37528 __attribute_ ((unused)) to mode_type argument.
37529
37530 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37531
21c8cbb1 37532 * kern/misc.c (memcmp): Fix prototype.
37533
37534 * include/grub/partition.h [GRUB_UTIL]
37535 (grub_gpt_partition_map_init): Add prototype.
37536 (grub_gpt_partition_map_fini): Likewise.
37537
37538 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37539 at the right place.
37540
37541 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37542 (grub_fat_read_data): Likewise.
37543 (grub_fat_find_dir): Likewise.
37544
37545 * font/manager.c (find_glyph): Make table a const.
37546 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37547
849d55d3 375482007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37549
37550 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37551 code, first search for device in /dev/mapper, then in /dev.
37552 (grub_util_get_grub_dev): New function.
37553 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37554 prototype.
37555 * util/grub-probe.c (probe): Remove check for RAID, call
37556 grub_util_get_grub_dev() instead of
37557 grub_util_biosdisk_get_grub_dev().
37558 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37559 grub_util_biosdisk_get_grub_dev().
37560 * util/i386/pc/grub-setup.c (main): Likewise.
37561
8fff7c2f 375622007-05-16 Robert Millan <rmh@aybabtu.com>
37563
37564 * DISTLIST: Update for the latest changes.
37565 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37566 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37567 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37568 grub/util/biosdisk.h.
37569 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37570 grub/util/biosdisk.h.
37571
48e12b52 375722007-05-16 Robert Millan <rmh@aybabtu.com>
37573
37574 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37575
46b9d128 375762007-05-16 Robert Millan <rmh@aybabtu.com>
37577
37578 * util/i386/efi/grub-install.in: New.
37579 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37580 newly added grub-install.
37581 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37582 include.
37583 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37584 grub/util/biosdisk.h.
37585 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37586 grub/util/biosdisk.h.
37587
2d1a40a9 375882007-05-16 Robert Millan <rmh@aybabtu.com>
37589
37590 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37591 * include/grub/util/biosdisk.h: ... here.
37592 * util/i386/pc/biosdisk.c: Moved to ...
37593 * util/biosdisk.c: ... here.
37594 * util/i386/pc/getroot.c: Moved to ...
37595 * util/getroot.c: ... here.
37596 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37597 * util/grub-mkdevicemap.c: ... here.
37598 * util/i386/pc/grub-probe.c: Moved to ...
37599 * util/grub-probe.c: ... here.
37600
9e26e3bc 376012007-05-15 Robert Millan <rmh@aybabtu.com>
37602
37603 * util/update-grub.in: Remove duplicated line in grub.cfg header
37604 message.
37605
57f96397 376062007-05-13 Robert Millan <rmh@aybabtu.com>
37607
37608 * util/update-grub.in: Fix a few assumptions about the devices holding
37609 /, /boot and /boot/grub being the same.
37610 * util/grub.d/00_header.in: Likewise.
37611 * util/grub.d/10_hurd.in: Likewise.
37612 * util/grub.d/10_linux.in: Likewise.
37613
37614 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37615 patterns. Use that to define the `.old' suffix as older than `'.
37616
37617 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37618
37619 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37620 the grub.cfg header message.
37621
2e610d62 376222007-05-11 Robert Millan <rmh@aybabtu.com>
37623
37624 * util/update-grub.in: Create device.map if it doesn't already exist,
37625 before attempting to run grub-probe.
37626 Check for grub-probe and grub-mkdevicemap with the same code
37627 grub-install is using.
37628 Remove test mode.
37629
3f6a10ef 376302007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37631
37632 * Makefile.in: Add the datarootdir autoconf variable.
37633
02e7b75e 376342007-05-09 Robert Millan <rmh@aybabtu.com>
37635
37636 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37637 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37638
75f396cc 376392007-05-07 Robert Millan <rmh@aybabtu.com>
37640
37641 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37642 determine partition map module.
37643 * util/i386/pc/grub-install.in: Use this feature to decide which
37644 partition module to load, instead of hardcoding pc and gpt.
37645
da65cb36 376462007-05-07 Robert Millan <rmh@aybabtu.com>
37647
37648 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37649 source directory differs from build directory.
37650
b57d6a91 376512007-05-05 Robert Millan <rmh@aybabtu.com>
37652
37653 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37654 initialisation.
37655
509d00f1 376562007-05-05 Robert Millan <rmh@aybabtu.com>
37657
37658 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37659
c48f23ef 376602007-05-05 Robert Millan <rmh@aybabtu.com>
37661
37662 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37663 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37664
20b97658 376652007-05-05 Robert Millan <rmh@aybabtu.com>
37666
37667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37668 (grub_probe_SOURCES): Likewise.
37669 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37670 GPT and initialize dos_part and bsd_part accordingly.
37671 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37672 install_bsd_part.
37673 (main): Activate gpt module for use during partition identification,
37674 and deactivate it afterwards.
37675 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37676 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37677 partition identification, and deactivate it afterwards.
37678
99123174 376792007-05-05 Robert Millan <rmh@aybabtu.com>
37680
37681 * term/i386/pc/console.c (grub_console_fini): Call
37682 grub_term_set_current() before grub_term_unregister().
37683
ebd97f6e 376842007-05-04 Robert Millan <rmh@aybabtu.com>
37685
37686 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37687 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37688 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37689 and update-grub_DATA.
37690 * conf/common.rmk: Build and install update-grub components.
37691 * conf/common.mk: Regenerate.
37692 * util/update-grub.in: New. Core of update-grub.
37693 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37694 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37695 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37696 * util/grub.d/README: New. Document grub.d directory layout.
37697
b06a264d 376982007-05-01 Robert Millan <rmh@aybabtu.com>
37699
37700 * util/grub-emu.c: Move initialization functions
37701 grub_util_biosdisk_init() and grub_init_all() before
37702 grub_util_biosdisk_get_grub_dev(), which relies on them.
37703
41f0050e 377042007-04-19 Robert Millan <rmh@aybabtu.com>
37705
37706 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37707 it is used later.
37708
04582bb3 377092007-04-18 Jerone Young <jerone@gmail.com>
37710
f19dbdb7 37711 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37712 stanza.
37713
08db4632 377142007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37715
08db4632 37716 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37717 continue on and look for device node with real device name.
37718
801b76be 377192007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37720
fe6b695a 37721 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37722 ability.
37723 * Makefile.in: Add autoconf package transformation code.
37724 * util/i386/pc/grub-install.in: Likewise.
37725 * util/powerpc/ieee1275/grub-install.in: Likewise.
37726
6795c4e1 377272007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37728
37729 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37730 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37731 (EXT2_REVISION): Likewise.
37732 (EXT2_INODE_SIZE): Likewise.
37733 (struct grub_ext2_block_group): Added a missing member
37734 "used_dirs".
37735 (grub_ext2_read_inode): Divide by the inode size in a superblock
37736 instead of 128 to obtain INODES_PER_BLOCK.
37737 Use the macro EXT2_INODE_SIZE instead of directly using
37738 SBLOCK->INODE_SIZE.
37739
d70af616 377402007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37741
37742 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37743 superblock instead of the structure size to compute an
37744 offset. This fixes the problem that GRUB could not read a
37745 filesystem when inode size is different from 128-byte.
37746
3b801603 377472007-03-05 Marco Gerards <marco@gnu.org>
37748
37749 * normal/main.c (read_config_file): When "menu" is not set, create
37750 an initial context.
37751
4785bfe4 377522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37753
37754 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37755 (HEAP_LIMIT): New macro.
37756 (grub_claim_heap): Claim memory up to `heaplimit'.
37757
a0cbb023 377582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37759
37760 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37761 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37762 (_start): Likewise.
37763 (grub_arch_modules_addr): Return address after `_end'.
37764 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37765 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37766 (add_segments): Calculate `_end' from phdr size and location.
37767 (ALIGN_UP): Moved to ...
37768 * include/grub/misc.h: here.
37769 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37770 New macro.
37771 (GRUB_IEEE1275_MODULE_BASE): Removed.
37772
fd7d8eba 377732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37774
37775 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37776 loop boundary.
37777
9b09e6fc 377782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37779
37780 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37781 All users updated.
37782 (grub_elf64_load_hook_t): Likewise.
37783 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37784 debug output.
37785
3ce27299 377862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37787
37788 * kern/mm.c: Update copyright.
37789 (grub_mm_debug): Correct syntax error.
37790 (grub_mm_dump_free): New function.
37791 (grub_debug_free): Call `grub_free'.
37792 * include/grub/mm.h: Update copyright.
37793 (grub_mm_dump_free): Add declaration.
37794
077d5fee 377952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37796
37797 * include/grub/ieee1275/ieee1275.h: Update copyright.
37798 * kern/powerpc/ieee1275/init.c: Likewise.
37799 * kern/powerpc/ieee1275/openfw.c: Likewise.
37800
37801 * loader/powerpc/ieee1275/linux.c: Likewise.
37802 * include/grub/elfload.h: Likewise.
37803 * kern/elf.c: Likewise.
37804 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37805 callers.
37806 (grub_elf64_load): Likewise.
37807 (grub_elf32_load_segment): Move to a nested function.
37808 (grub_elf64_load_segment): Likewise.
37809
dc946850 378102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37811
37812 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37813 prototype.
37814 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37815 (grub_heap_len): Likewise.
37816 (HEAP_SIZE): New macro.
37817 (grub_claim_heap): New function.
37818 (grub_machine_init): Don't claim heap directly. Call
37819 `grub_claim_heap'.
37820 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37821 (grub_available_iterate): New function.
37822
baa2a121 378232007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37824
37825 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37826 * configure.ac: Use it for testing the HOST and TARGET compilers.
37827
4fe9862e 378282006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37829
37830 * Makefile.in (enable_grub_emu): New variable.
37831 * configure.ac (--enable-grub-emu): New option.
37832 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37833 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37834 * conf/i386-pc.rmk: Likewise.
37835 * conf/powerpc-ieee1275.rmk: Likewise.
37836 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37837
a8aa5762 378382006-12-12 Marco Gerards <marco@gnu.org>
37839
37840 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37841
37842 * kern/env.c (grub_env_unset): Don't free the member `value' when
37843 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37844 pointer.
37845
37846 * normal/main.c (current_menu): Removed.
37847 (free_menu): Unset the `menu' environment variable.
37848 (grub_normal_menu_addentry): Make use of the environment variable
37849 `menu', instead of using the global `current_menu'. Allocate
37850 memory for the sourcecode of this entry.
37851 (read_config_file): New argument `nested', changed all callers.
37852 Only in the case of a new context, initialize a new menu. Set the
37853 `menu' environment variable.
37854 (grub_normal_execute): Don't set and unset the environment
37855 variable `menu' here anymore. Only free the menu when leaving the
37856 context.
37857
37858 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37859 leak.
37860
957b3a3e 378612006-12-11 Marco Gerards <marco@gnu.org>
37862
37863 * normal/menu_entry.c (run): Fix off by one bug so the last line
37864 is executed. Move the loader check to outside the loop.
37865
ef875714 378662006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37867
37868 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37869
4e739985 378702006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37871
37872 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37873 the number of sectors. Reported by Andrey Shuvikov
37874 <mr_hyro@yahoo.com>.
f19dbdb7 37875
790707f2 378762006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37877
37878 * kern/disk.c (grub_disk_read): When there is a read error, always
37879 try to read only the necessary data.
f19dbdb7 37880
790707f2 37881 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37882 disk/raid.c.
37883 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37884 prototype.
37885 [GRUB_UTIL] (grub_raid_fini): Likewise.
37886 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37887 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37888 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37889 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37890 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37891 and grub_raid_fini().
f19dbdb7 37892
03e58196 378932006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37894
37895 * include/grub/types.h (__unused): Rename to UNUSED.
37896 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37897 (grub_elf64_size): Likewise.
f19dbdb7 37898
ae4f23bf 378992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37900
37901 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37902 grub_error_push and grub_error_pop in the error-handling path.
37903 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37904 length.
37905
2166cc83 379062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37907
37908 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37909 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37911 (kernel_elf_SOURCES): Likewise.
37912 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37913 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37914 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37915 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37916 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37917 (elf_mod_SOURCES): New variable.
37918 (elf_mod_CFLAGS): Likewise.
37919 (elf_mod_LDFLAGS): Likewise.
37920 * include/grub/types.h (__unused): New macro.
37921 * include/grub/elfload.h: New file.
37922 * kern/elf.c: Likewise.
37923 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37924 (ELF32_LOADMASK): New macro.
37925 (ELF64_LOADMASK): Likewise.
37926 (vmlinux): Removed.
37927 (grub_linux_load32): New function.
37928 (grub_linux_load64): Likewise.
37929 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37930 Use grub_elf_t instead of grub_file_t.
37931
a09d5aa5 379322006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37933
37934 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37935 `catch_result' to struct set_color_args.
37936
d976fc51 379372006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37938
37939 * normal/menu.c: Include grub/script.h.
37940 * normal/menu_entry.c: Likewise.
37941 * include/grub/normal.h: Do not include grub/script.h.
37942
67507549 379432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37944
37945 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37946
69203a99 379472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37948
37949 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37950 disk.
37951 (grub_disk_close): Print debug messages when closing a disk.
37952 (grub_disk_read): Print debug messages when disk read fails.
37953 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37954 filesystem type.
37955 * kern/partition.c: Include misc.h.
37956 (grub_partition_iterate): Print debug messages when detecting
37957 partition type.
37958
e2b8278c 379592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37960
37961 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37962 is negative.
37963 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37964
97b2f2ff 379652006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37966
37967 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37968 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37969
6555d655 379702006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37971
37972 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37973 instead of sizeof(lv). Patch by Michael Guntsche.
37974
4d42b77f 379752006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37976
37977 * disk/lvm.c: Rename VGS to VG_LIST.
37978 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37979 (grub_lvm_open): Likewise.
37980 Thanks to Michael Guntsche for finding this bug.
37981
5d74d927 379822006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37983
37984 * configure.ac (AC_INIT): Bumped to 1.95.
37985
a1bb27e4 379862006-10-14 Robert Millan <rmh@aybabtu.com>
37987
37988 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37989 with "/dev/.static/dev/md".
37990
e0994b8b 379912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37992
37993 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37994 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37995 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37996 DRIVE_NAME are always freed.
37997
37998 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37999 DOS_PART, as a DOS partition is counted from one instead of zero
38000 now. Reported by Robert Millan.
38001
ddd5cee9 380022006-10-14 Robert Millan <rmh@aybabtu.com>
38003
38004 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38005 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38006 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38007 string returned by grub_guess_root_device.
38008 * util/i386/pc/grub-setup.c: Likewise.
38009 * util/i386/pc/grub-probefs.c: Likewise.
38010
38011 * util/i386/pc/grub-probefs.c: Rename to ...
38012 * util/i386/pc/grub-probe.c: ... this.
38013 * DISTLIST: Remove grub-probefs, add grub-probe.
38014 * conf/i386-efi.rmk: Likewise.
38015 * conf/i386-pc.rmk: Likewise.
38016 * util/i386/pc/grub-install.in: Likewise.
38017
38018 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38019 choose which information we want to print.
38020
2b002173 380212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38022
38023 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38024 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38025 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38026 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38027 video/readers/tga.c and video/i386/pc/vbeutil.c.
38028
380292006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38030
38031 Added support for RAID and LVM.
f19dbdb7 38032
2b002173 38033 * disk/lvm.c: New file.
38034 * disk/raid.c: Likewise.
38035 * include/grub/lvm.h: Likewise.
f19dbdb7 38036 * include/grub/raid.h: Likewise.
2b002173 38037 * include/grub/util/lvm.h: Likewise.
38038 * include/grub/util/raid.h: Likewise.
38039 * util/lvm.c: Likewise.
38040 * util/raid.c: Likewise.
38041
38042 * include/grub/disk.h (grub_disk_dev_id): Add
38043 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38044 (grub_disk_get_size): New prototype.
38045 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38046 returns a partition.
38047 (grub_disk_get_size): New function.
f19dbdb7 38048
2b002173 38049 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38050 verbatim if grub_install_dos_part is -2.
38051
38052 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38053 and LVM devices.
38054
38055 * util/i386/pc/grub-setup.c (setup): New argument
38056 MUST_EMBED. Force embedding of GRUB when the argument is
38057 true. Close FILE before returning.
38058 (main): Add support for RAID and LVM.
f19dbdb7 38059
2b002173 38060 * conf/common.rmk: Add RAID and LVM modules.
38061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38062 util/lvm.c.
38063 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38064
38065 * kern/misc.c (grub_strstr): New function.
38066 * include/grub/misc.h (grub_strstr): New prototype.
38067
050548d0 380682006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38069
38070 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38071
da849d2d 380722006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38073
38074 * kern/misc.c (grub_strtoull): Guess the base only if not
38075 specified.
38076
97b2f2ff 380772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38078
38079 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38080 PowerMac support.
38081
97b2f2ff 380822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38083
38084 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38085
38086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38087 Remove `flags' argument. All callers changed.
38088 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38089 (IEEE1275_IHANDLE_INVALID): New variable.
38090 (IEEE1275_CELL_INVALID): New variable.
38091 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38092 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38093 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38094 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38095 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38096 codes from Open Firmware. All callers updated.
38097 (grub_ieee1275_next_property): Directly return Open Firmware return
38098 code.
38099 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38100 Standardize error checking from `grub_ieee1275_get_property'.
38101 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38102 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38103
97b2f2ff 381042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38105
38106 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38107 `instance_to_package_args' to `instance_to_path_args'.
38108
38109 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38110 `grub_ieee1275_chosen'.
38111
38112 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38113 `grub_ieee1275_interpret'.
38114
97b2f2ff 381152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38116
38117 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38118
97b2f2ff 381192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38120
38121 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38122 (__cmpdi): Likewise.
38123
38124 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38125 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38126 `grub_ssize_t'.
38127
02bb8acc 38128 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38129
38130 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38131 to type `grub_ssize_t'.
38132 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38133
7f9a8531 381342006-09-22 Marco Gerards <marco@gnu.org>
38135
38136 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38137 newlines.
38138
b5ef1102 381392006-09-22 Marco Gerards <marco@gnu.org>
38140
38141 * commands/echo.c: New file.
38142
38143 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38144
38145 * conf/common.rmk (echo_mod_SOURCES): New variable.
38146 (echo_mod_CFLAGS): Likewise.
38147 (echo_mod_LDFLAGS): Likewise.
38148
2cff3677 381492006-09-22 Marco Gerards <marco@gnu.org>
38150
38151 * normal/main.c (get_line): Malloc memory instead of using
38152 preallocated memory. Removed the arguments `cmdline' and
38153 `max_len'. Updated all callers.
38154
6ba4688b 381552006-09-22 Marco Gerards <marco@gnu.org>
38156
38157 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38158 (normal_mod_DEPENDENCIES): Likewise.
38159
38160 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38161 (normal_mod_DEPENDENCIES): Likewise.
38162
38163 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38164
e02ac02c 381652006-09-22 Johan Rydberg <jrydberg@gnu.org>
38166
38167 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38168 programs.
38169 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38170 (normal_mod_DEPENDENCIES): Likewise.
38171 * conf/i386-pc.mk: Regenerate.
38172 * conf/i386-efi.mk: Likewise
38173 * conf/common.mk: Likewise.
38174 * conf/powerpc-ieee1275.mk: Likewise.
38175 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38176
8d252e44 381772006-09-22 Robert Millan <rmh@aybabtu.com>
38178
38179 Sync with i386 version.
38180 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38181 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38182
209bf7ac 381832006-09-21 Robert Millan <rmh@aybabtu.com>
38184
38185 Import from GRUB Legacy (lib/device.c):
38186 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38187 (init_device_map) [__linux__]: Add support for I2O devices.
38188
6b146090 381892006-09-14 Marco Gerards <marco@gnu.org>
38190
38191 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38192 `-melf_i386'.
38193
e38600a8 381942006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38195
38196 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38197 /boot/grub/*.lst.
78fa1790 38198
2952da5d 38199 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38200
2952da5d 38201 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38202 before adding it to device.map.
38203
01b82a64 382042006-08-15 Johan Rydberg <jrydberg@gnu.org>
38205
fe6b695a 38206 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38207 compiles a file; using the -MD option.
38208 * conf/common.mk: Regenerate.
38209 * conf/i386-pc.mk: Likewise.
38210 * conf/i386-efi.mk: Likewise.
38211 * conf/powerpc-ieee1275.mk: Likewise.
38212 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38213
1064790d 382142006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38215
38216 Move the prototypes of grub_setjmp and grub_longjmp to
38217 cpu/setjmp.h, so that each architecture may specify different
38218 attributes.
f19dbdb7 38219
1064790d 38220 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38221 (grub_longjmp): Likewise.
38222 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38223 (grub_longjmp): Likewise.
38224 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38225 (grub_longjmp): Likewise.
38226
38227 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38228 [!GRUB_UTIL] (grub_longjmp): Removed.
38229
29dda3ed 382302006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38231
38232 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38233 "color!" method does not return any value.
38234
ad2a06ed 382352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38236
38237 * include/grub/bitmap.h: New file.
38238
38239 * include/grub/i386/pc/vbeutil.h: Likewise.
38240
38241 * video/bitmap.c: Likewise.
38242
38243 * video/readers/tga.c: Likewise.
38244
38245 * video/i386/pc/vbeutil.c: Likewise.
38246
38247 * commands/videotest.c: Code cleanup and updated to reflect to new
38248 video API.
38249
38250 * term/gfxterm.c: Likewise.
38251
38252 * video/video.c: Likewise.
38253
38254 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38255 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38256 (bitmap_mod_SOURCES): New entry.
38257 (bitmap_mod_CFLAGS): Likewise.
38258 (bitmap_mod_LDFLAGS): Likewise.
38259 (tga_mod_SOURCES): Likewise.
38260 (tga_mod_CFLAGS): Likewise.
38261 (tga_mod_LDFLAGS): Likewise.
38262
38263 * include/grub/video.h (grub_video_blit_operators): New enum type.
38264 (grub_video_render_target): Changed as forward declaration and moved
38265 actual definition to be video driver specific.
38266 (grub_video_adapter.blit_bitmap): Added blitting operator.
38267 (grub_video_adapter.blit_render_target): Likewise.
38268 (grub_video_blit_bitmap): Likewise.
38269 (grub_video_blit_render_target): Likewise.
38270
38271 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38272 driver specific render target definition.
38273 (grub_video_vbe_map_rgba): Added driver internal helper.
38274 (grub_video_vbe_unmap_color): Updated to use
38275 grub_video_i386_vbeblit_info.
38276 (grub_video_vbe_get_video_ptr): Likewise.
38277
38278 * include/grub/i386/pc/vbeblit.h
38279 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38280 grub_video_i386_vbeblit_info.
38281 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38282 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38283 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38284 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38285 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38286 (grub_video_i386_vbeblit_index_index): Likewise.
38287 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38288 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38289 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38290 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38291 operator.
38292 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38293 operator.
38294
38295 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38296 include/grub/i386/pc/vbeblit.h.
38297
38298 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38299 Updated to use grub_video_i386_vbeblit_info.
38300 (grub_video_i386_vbefill_R8G8B8): Likewise.
38301 (grub_video_i386_vbefill_index): Likewise.
38302 (grub_video_i386_vbefill): Added generic filler.
38303
38304 * video/i386/pc/vbefill.c: Updated to reflect changes on
38305 include/grub/i386/pc/vbefill.h.
38306
38307 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38308 grub_video_i386_vbeblit_info.
38309 (grub_video_vbe_unmap_color): Likewise.
38310 (grub_video_vbe_blit_glyph): Likewise.
38311 (grub_video_vbe_scroll): Likewise.
38312 (grub_video_vbe_draw_pixel): Removed function.
38313 (grub_video_vbe_get_pixel): Likewise.
38314 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38315 updated code to use it.
38316 (common_blitter): Added common blitter for render target and bitmap.
38317 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38318 (grub_video_vbe_blit_render_target): Likewise.
38319
bc8c036d 383202006-07-30 Johan Rydberg <jrydberg@gnu.org>
38321
38322 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38323 is in text mode if there is no console control protocol instance
38324 available.
38325
684a8eff 383262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38327
38328 * include/grub/video.h: Code cleanup.
38329
38330 * include/grub/i386/pc/vbe.h: Likewise.
38331
38332 * video/i386/pc/vbe.c: Likewise.
38333
38334 * video/i386/pc/vbeblit.c: Likewise.
38335
38336 * video/i386/pc/vbefill.c: Likewise.
38337
38338 * video/video.c: Likewise. Also added more comments.
38339
5915059b 383402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38341
38342 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38343 (struct grub_biosdisk_dap): Likewise.
38344
38345 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38346 linkage settings for all functions.
38347
90ce5d56 383482006-07-12 Marco Gerards <marco@gnu.org>
38349
38350 * configure.ac (--enable-mm-debug): Fix typo.
38351
38352 * genkernsyms.sh.in: Use proper quoting for `CC'.
38353
43e7f879 383542006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38355
38356 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38357 (normal_mod_ASFLAGS): Remove "-m32".
38358
4889bdec 383592006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38360
38361 * util/misc.c: Include config.h.
38362 [!HAVE_MEMALIGN]: Do not include malloc.h.
38363 (grub_memalign): Use posix_memalign, if present. Then, use
38364 memalign, if present. Otherwise, emit an error.
38365
38366 * util/grub-emu.c: Do not include malloc.h.
38367
38368 * include/grub/util/misc.h: Include unistd.h. This is required for
38369 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38370 D. Eades III <hde@foobar-qux.org>.
38371
38372 * configure.ac (AC_GNU_SOURCE): Added.
38373 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38374 type.
38375
fd39d4da 383762006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38377
38378 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38379 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38380
b786f3b5 383812006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38382
38383 * include/grub/types.h (grub_host_addr_t): Rename to
38384 grub_target_addr_t.
38385 (grub_host_off_t): Rename to grub_target_off_t.
38386 (grub_host_size_t): Rename to grub_target_size_t.
38387 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38388 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38389
38390 * include/grub/kernel.h (struct grub_module_header): Change type
38391 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38392 (grub_module_info): Likewise.
f19dbdb7 38393
051988bb 383942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38395
38396 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38397 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38398 Velazquez <jesus.velazquez@gmail.com>.
38399
deae281b 384002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38401
38402 Count partitions from 1 instead of 0 in the string representation
38403 of partitions. Still use 0-based internally.
f19dbdb7 38404
deae281b 38405 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38406 (sun_partition_map_iterate): Use grub_partition_t instead of
38407 struct grub_partition *. Cast DESC->START_CYLINDER to
38408 grub_uint64_t after converting the endian.
38409 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38410 (sun_partition_map_get_name): Add 1 to P->INDEX.
38411
38412 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38413 PCDATA->DOS_PART.
38414 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38415
38416 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38417 zero instead of one.
38418 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38419 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38420
38421 * partmap/apple.c (apple_partition_map_iterate): Change the type
38422 of POS to unsigned.
38423 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38424 (apple_partition_map_get_name): Add 1 into P->INDEX.
38425
38426 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38427 of POS to unsigned.
38428 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38429 calculate the offset of a partition.
38430 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38431 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38432
38433 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38434 SECTOR to grub_disk_addr_t.
38435 (acorn_partition_map_iterate): Likewise.
38436 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38437 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38438 top.
38439 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38440
38441 * kern/i386/pc/init.c (make_install_device): Add 1 into
38442 GRUB_INSTALL_DOS_PART.
38443
38444 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38445 conditional.
38446
524a1e6a 384472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38448
38449 Clean up the code to support 64-bit addressing in disks and
38450 files. This change is not enough for filesystems yet.
f19dbdb7 38451
524a1e6a 38452 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38453 type of "start" to grub_uint64_t.
38454 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38455 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38456 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38457 convert addresses.
38458
38459 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38460 to grub_disk_addr_t.
38461
38462 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38463 string.
38464
38465 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38466
38467 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38468 to char *.
38469
38470 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38471
38472 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38473
38474 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38475
38476 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38477 to grub_off_t, to detect an error from grub_file_seek.
38478 (grub_multiboot_load_elf32): Likewise.
38479
38480 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38481 maximum unsigned long value when an overflow is detected.
38482 (grub_strtoull): New function.
38483 (grub_divmod64): Likewise.
38484 (grub_lltoa): use grub_divmod64.
38485
38486 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38487 grub_disk_addr_t.
38488 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38489 the pointer to next character. Use grub_strtoull instead of
38490 grub_strtoul.
38491 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38492 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38493 respectively.
38494
fe6b695a 38495 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38496 return value is signed.
38497 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38498 test if OFFSET is less than zero, as OFFSET is unsigned now.
38499
38500 * kern/disk.c (struct grub_disk_cache): Change the type of
38501 "sector" to grub_disk_addr_t.
38502 (grub_disk_cache_get_index): Change the type of SECTOR to
38503 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38504 unsigned after shifting.
38505 (grub_disk_cache_invalidate): Change the type of SECTOR to
38506 grub_disk_addr_t.
38507 (grub_disk_cache_unlock): Likewise.
38508 (grub_disk_cache_store): Likewise.
38509 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38510 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38511 grub_disk_addr_t and grub_uint64_t, respectively.
38512 (grub_disk_read): 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 START_SECTOR, LEN and
38515 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38516 respectively.
38517 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38518 body, as the value of OFFSET is tweaked by
38519 grub_disk_check_range. Change the types of LEN and N to
38520 grub_size_t.
38521
38522 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38523 and "saved_offset" to grub_off_t.
38524 (test_header): Cast BUF to char *.
38525 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38526 to char *.
38527 (grub_gzio_read): Change the types of OFFSET and SIZE to
38528 grub_off_t and grub_size_t, respectively.
38529
38530 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38531 Removed.
38532 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38533 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38534 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38535 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38536 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38537
38538 * include/grub/types.h (grub_off_t): Unconditionally set to
38539 grub_uint64_t.
38540 (grub_disk_addr_t): Changed to grub_uint64_t.
38541
38542 * include/grub/partition.h (struct grub_partition): Change the
38543 types of "start", "len" and "offset" to grub_disk_addr_t,
38544 grub_uint64_t and grub_disk_addr_t, respectively.
38545 (grub_partition_get_start): Return grub_disk_addr_t.
38546 (grub_partition_get_len): Return grub_uint64_t.
38547
38548 * include/grub/misc.h (grub_strtoull): New prototype.
38549 (grub_divmod64): Likewise.
38550
38551 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38552 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38553 grub_off_t, respectively.
38554 All callers and references changed.
38555
38556 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38557 grub_size_t in "read".
38558 All callers and references changed.
38559
38560 * include/grub/file.h (struct grub_file): Change the types of
38561 "offset" and "size" to grub_off_t and grub_off_t,
38562 respectively. Change the type of SECTOR to grub_disk_addr_t in
38563 "read_hook".
38564 (grub_file_read): Change the type of LEN to grub_size_t.
38565 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38566 grub_off_t.
38567 (grub_file_size): Return grub_off_t.
38568 (grub_file_tell): Likewise.
38569 All callers and references changed.
38570
38571 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38572 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38573 "write".
38574 (struct grub_disk): Change the type of "total_sectors" to
38575 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38576 "read_hook".
524a1e6a 38577 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38578 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38579 (grub_disk_write): Likewise.
38580 All callers and references changed.
38581
38582 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38583 char * for grub_strncmp to silence gcc.
38584 (grub_iso9660_mount): Likewise.
38585 (grub_iso9660_mount): Likewise.
38586 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38587 return statement.
38588 (grub_iso9660_iterate_dir): Likewise.
38589 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38590
38591 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38592 LEN to grub_disk_addr_t and grub_size_t, respectively.
38593
38594 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38595
38596 * fs/jfs.c (grub_jfs_read_file): Likewise.
38597
38598 * fs/minix.c (grub_jfs_read_file): Likewise.
38599
38600 * fs/sfs.c (grub_jfs_read_file): Likewise.
38601
38602 * fs/ufs.c (grub_jfs_read_file): Likewise.
38603
38604 * fs/xfs.c (grub_jfs_read_file): Likewise.
38605
38606 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38607 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38608 respectively.
38609
38610 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38611 BLKNR to -1 instead of returning GRUB_ERRNO.
38612 (grub_ext2_read_file): Change the types of SECTOR and
38613 LEN to grub_disk_addr_t and grub_size_t, respectively.
38614
38615 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38616 LEN to grub_disk_addr_t and grub_size_t, respectively.
38617
38618 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38619 grub_file_read.
38620
38621 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38622 string. Do not cast SECTOR explicitly.
38623
38624 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38625 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38626 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38627 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38628 over 2TB and LBA mode is not supported, raise an error.
38629 (get_safe_sectors): New function.
38630 (grub_biosdisk_read): Use get_safe_sectors.
38631 (grub_biosdisk_write): Likewise.
38632
38633 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38634 (grub_efidisk_write): Likewise.
38635
38636 * disk/loopback.c (delete_loopback): Cosmetic changes.
38637 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38638 correctly.
38639 (grub_loopback_open): Likewise.
38640 (grub_loopback_read): Likewise. Also, change the type of POS to
38641 grub_off_t, and fix the usage of grub_memset.
38642
38643 * commands/i386/pc/play.c: Include grub/machine/time.h.
38644
38645 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38646 print FILE->SIZE.
38647
38648 * commands/configfile.c: Include grub/env.h.
38649
38650 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38651 GRUB_ERRNO directly instead. Change the type of POS to
38652 grub_off_t. Follow the coding standard.
38653
38654 * commands/blocklist.c: Include grub/partition.h.
38655 (grub_cmd_blocklist): Return an error if the underlying device is
38656 not a disk. Take the starting sector of a partition into account,
38657 if a partition is used.
38658
38659 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38660 a length field.
38661 (lba_mode): Support 64-bit addresses.
38662 (chs_mode): Likewise.
38663 (copy_buffer): Adapted to the new offsets of a length field and a
38664 segment field.
38665 (blocklist_default_start): Allocate 64-bit space.
38666
38667 * boot/i386/pc/boot.S (force_lba): Removed.
38668 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38669 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38670 space.
38671 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38672 is useless.
38673 (lba_mode): Refactored to support a 64-bit address. More size
38674 optimization.
38675 (setup_sectors): Likewise.
38676
53af98ad 386772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38678
38679 * DISTLIST: Added include/grub/i386/linux.h. Removed
38680 include/grub/i386/pc/linux.h
38681
38682 * configure.ac (AC_INIT): Bumped to 1.94.
38683
38684 * config.guess: Updated from gnulib.
38685 * config.sub: Likewise.
38686 * install-sh: Likewise.
38687 * mkinstalldirs: Likewise.
38688
b4c1940a 386892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38690
38691 * conf/common.rmk (grub_modules_init.lst): Depended on
38692 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38693 MODSRCFILES.
38694
38695 * genmk.rb (PModule::rule): Reverted the previous change.
38696
cfca1cfd 386972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38698
38699 * conf/common.rmk (grub_modules_init.lst): Depends on
38700 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38701 that the target does not exist before producing.
38702 (grub_modules_init.h): Remove the target before generating.
38703 (grub_emu_init.c): Likewise.
38704
38705 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38706
aa6d7826 387072006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38708
38709 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38710 for the target-specific tests. Make sure that we also have the
38711 up-to-date target variables for those tests.
38712
26c607b9 387132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38714
38715 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38716 (PModule::rule): Likewise.
38717
0162321a 387182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38719
38720 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38721 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38722 target-specific flags should be prefixed.
38723 (PModule::rule): Likewise.
38724
6c826348 387252006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38726
38727 * configure.ac (CMP): Check if cmp is available explicitly.
38728
b977bf01 387292006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38730
38731 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38732 (target_cpu): New variable.
38733 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38734
b977bf01 38735 * util/i386/pc/grub-install.in (host_cpu): Removed.
38736 (target_cpu): New variable.
38737 (pkglibdir): Use target_cpu instead of host_cpu.
38738
38739 * util/genmoddep.c: Removed.
f19dbdb7 38740
b977bf01 38741 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38742 instead of GRUB_HOST_SIZEOF_VOID_P.
38743 * kern/dl.c: Likewise.
38744
38745 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38746 ...
38747 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38748 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38749 (GRUB_TARGET_SIZEOF_LONG): ... this.
38750 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38751 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38752 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38753 to ...
38754 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38755 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38756 (GRUB_TARGET_SIZEOF_LONG): ... this.
38757 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38758 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38759 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38760 to ...
38761 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38762 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38763 (GRUB_TARGET_SIZEOF_LONG): ... this.
38764 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38765 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38766
38767 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38768 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38769 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38770 instead of GRUB_HOST_SIZEOF_LONG.
38771 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38772 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38773 GRUB_CPU_WORDS_BIGENDIAN.
38774 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38775 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38776 grub_host_ssize_t.
38777
38778 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38779 (genmoddep_SOURCES): Likewise.
38780 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38781 (genmoddep_SOURCES): Likewise.
38782 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38783 (genmoddep_SOURCES): Likewise.
38784 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38785 Likewise.
38786 (genmoddep_SOURCES): Likewise.
38787
38788 * genmoddep.awk: New file.
38789
38790 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38791 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38792 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38793 (PModule::rule): Likewise.
38794 (Program::rule): Likewise.
38795 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38796 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38797 respectively.
38798
38799 * configure.ac: Rewritten intensively to use host and target
38800 instead of build and host, respectively.
38801
38802 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38803 (host_cpu): Removed.
38804 (target_cpu): New variable.
38805 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38806 (BUILD_CC): Removed.
38807 (BUILD_CFLAGS): Likewise.
38808 (BUILD_CPPFLAGS): Likewise.
38809 (TARGET_CC): New variable.
38810 (TARGET_CFLAGS): Likewise.
38811 (TARGET_CPPFLAGS): Likewise.
38812 (TARGET_LDFLAGS): Likewise.
38813 (AWK): Likewise.
38814 (include): Use target_cpu instead of host_cpu.
38815 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38816
b977bf01 38817 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38818
f09771a1 388192006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38820
38821 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38822 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38823 field 'false' to 'exec_on_false'.
38824 (grub_script_create_cmdif): Renamed argument names to reflect above
38825 changes.
38826
38827 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38828
38829 * normal/script.c (grub_script_create_cmdif): Likewise.
38830
118f4fb3 388312006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38832
38833 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38834 top.
38835 (grub_hfsplus_btree_recptr): Likewise.
38836 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38837 FILEBLOCK both to pass a block number and store next block
38838 number.
38839 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38840 overflow file correctly. Specify errors appropriately, because
38841 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38842 grub_hfsplus_btree_recptr to get the pointer to a found key.
38843 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38844 is found.
38845
38846 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38847 linux.mod.
38848 (_linux_mod_SOURCES): New variable.
38849 (_linux_mod_CFLAGS): Likewise.
38850 (_linux_mod_LDFLAGS): Likewise.
38851 (linux_mod_SOURCES): Likewise.
38852 (linux_mod_CFLAGS): Likewise.
38853 (linux_mod_LDFLAGS): Likewise.
38854
38855 * DISTLIST: Added loader/i386/efi/linux.c,
38856 loader/i386/efi/linux_normal.c and
38857 include/grub/i386/efi/loader.h.
38858
38859 * loader/i386/efi/linux.c: New file.
38860 * loader/i386/efi/linux_normal.c: Likewise.
38861 * include/grub/i386/efi/loader.h: Likewise.
38862
89a7d726 388632006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38864
38865 * commands/blocklist.c: New file.
38866
38867 * DISTLIST: Added commands/blocklist.c.
38868
38869 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38870 color for the background, and a darker color for the foreground.
89a7d726 38871 (grub_console_checkkey): Return READ_KEY.
38872 (grub_console_cls): Set the background to
38873 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38874
38875 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38876
38877 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38878 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38879
38880 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38881 prototype.
38882
38883 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38884 BG. The spec is wrong again.
38885
38886 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38887 prototype.
38888 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38889
38890 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38891 commands/blocklist.c.
38892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38893
89a7d726 38894 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38895 (blocklist_mod_SOURCES): New variable.
38896 (blocklist_mod_CFLAGS): Likewise.
38897 (blocklist_mod_LDFLAGS): Likewise.
38898
75c8f258 388992006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38900
38901 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38902 duplication.
38903 (lba_mode): Use %eax more intensively to reduce the code size.
38904
da2eb181 389052006-05-20 Marco Gerards <marco@gnu.org>
38906
38907 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38908
38909 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38910 for `menuentry'.
38911 (script): Accept leading newlines.
38912 (newlines): New rule to describe 0 or more newlines.
38913 (commands): Accept `command' with trailing newline. Fixed the
38914 order in which arguments were passed to `grub_script_add_cmd'.
38915 Accept commands separated by newlines.
38916 (function): Changed to accept newlines.
38917 (menuentry) Rewritten.
38918
38919 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38920 front of the list, instead of to the end.
38921
577b4050 389222006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38923
38924 * util/i386/pc/grub-install.in (bindir): New variable.
38925 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38926 Shaver <lbgwjl@gmail.com>.
38927
0d6e1189 389282006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38929
38930 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38931 grub/machine/linux.h
38932 * loader/i386/pc/linux.c: Likewise.
38933
38934 * include/grub/i386/pc/linux.h: Moved to ...
38935 * include/grub/i386/linux.h: ... here.
38936
38937 * include/grub/i386/linux.h (struct linux_kernel_params): New
38938 struct.
f19dbdb7 38939
31b86e9f 389402006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38941
38942 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38943 checking.
38944 (grub_video_vbe_blit_glyph): Likewise.
38945 (grub_video_vbe_blit_bitmap): Likewise.
38946 (grub_video_vbe_blit_render_target): Likewise.
38947
83b984de 389482006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38949
38950 * configure.ac (--with-platform): Properly quote the square
38951 brackets.
38952
5f0413bd 389532006-05-08 Marco Gerards <marco@gnu.org>
38954
38955 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38956 this...
38957 (kernel_elf_HEADERS): ...to this. Updated all users.
38958 (grubof_symlist.c): Renamed from this...
38959 (kernel_elf_symlist.c): ...to this. Updated all users.
38960 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38961 (grubof_SOURCES): Renamed from this...
38962 (kernel_elf_SOURCES): ...to this.
38963 (grubof_HEADERS): Renamed from this...
38964 (kernel_elf_HEADERS): ...to this.
38965 (grubof_CFLAGS): Renamed from this...
38966 (kernel_elf_CFLAGS): ...to this.
38967 (grubof_ASFLAGS): Renamed from this...
38968 (kernel_elf_ASFLAGS): ...to this.
38969 (grubof_LDFLAGS): Renamed from this...
38970 (kernel_elf_LDFLAGS): ...to this.
38971
38972 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38973 this...
38974 (kernel_elf_HEADERS): ...to this. Updated all users.
38975 (grubof_symlist.c): Renamed from this...
38976 (kernel_elf_symlist.c): ...to this. Updated all users.
38977 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38978 (grubof_SOURCES): Renamed from this...
38979 (kernel_elf_SOURCES): ...to this.
38980 (grubof_HEADERS): Renamed from this...
38981 (kernel_elf_HEADERS): ...to this.
38982 (grubof_CFLAGS): Renamed from this...
38983 (kernel_elf_CFLAGS): ...to this.
38984 (grubof_ASFLAGS): Renamed from this...
38985 (kernel_elf_ASFLAGS): ...to this.
38986 (grubof_LDFLAGS): Renamed from this...
38987 (kernel_elf_LDFLAGS): ...to this.
38988
38989 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38990 `kernel.elf' instead of `grubof'.
38991
05568c2e 389922006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38993
38994 Add --with-platform to configure. Use pkglibdir instead of
38995 pkgdatadir. This is reported by Roger Leigh.
38996
38997 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38998 (host_vendor): Likewise.
38999 (host_os): Likewise.
39000 (pkgdatadir): Likewise.
39001 (platform): New variable.
39002 (pkglibdir): Likewise.
39003 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39004
05568c2e 39005 * util/i386/pc/grub-install.in (datadir): Removed.
39006 (host_vendor): Likewise.
39007 (host_os): Likewise.
39008 (pkgdatadir): Likewise.
39009 (platform): New variable.
39010 (pkglibdir): Likewise.
39011 Use PKGLIBDIR instead of PKGDATADIR.
39012
39013 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39014 instead of GRUB_DATADIR.
39015 (main): Likewise.
39016 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39017 (main): Likewise.
39018 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39019 (main): Likewise.
39020
39021 * configure.ac (--with-platform): New option.
39022 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39023
39024 * Makefile.in: Include a makefile based on PLATFORM instead of
39025 HOST_VENDOR.
39026 (pkgdatadir): Not appended by the machine type.
39027 (pkglibdir): Appended by the machine type.
39028 (host_vendor): Removed.
39029 (platform): New variable.
39030 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39031 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39032 (uninstall): Likewise.
39033
4e93851c 390342006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39035
39036 Use the environment context in the menu. Remove the commands
39037 "default" and "timeout", and use variables instead.
f19dbdb7 39038
4e93851c 39039 * normal/menu.c: Include grub/env.h.
39040 (print_entry): Cast TITLE to silence gcc.
39041 (get_timeout): New function.
39042 (set_timeout): Likewise.
39043 (get_entry_number): Likewise.
39044 (run_menu): Use a default entry, a fallback entry and a timeout
39045 in the environment variables "default", "fallback" and
39046 "timeout". Also, tweak the default entry if it is not within the
39047 current menu entries.
39048 (grub_menu_run): Use a fallback entry in the environment variable
39049 "fallback".
39050
39051 * normal/main.c (read_config_file): Do not initialize
39052 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39053 NEWMENU->TIMEOUT.
39054 (grub_normal_execute): Use a data slot to store the menu.
39055
39056 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39057 fallback_entry and timeout.
39058 (struct grub_menu_list): Removed.
39059 (grub_menu_list_t): Likewise.
39060 (struct grub_context): Likewise.
39061 (grub_context_t): Likewise.
39062 (grub_context_get): Likewise.
39063 (grub_context_get_current_menu): Likewise.
39064 (grub_context_push_menu): Likewise.
39065 (grub_context_pop_menu): Likewise.
39066 (grub_default_init): Likewise.
39067 (grub_default_fini): Likewise.
39068 (grub_timeout_init): Likewise.
39069 (grub_timeout_fini): Likewise.
39070
39071 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39072 and timeout.mod.
39073 (normal_mod_SOURCES): Removed normal/context.c.
39074
39075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39076 commands/default.c, commands/timeout.c and normal/context.c.
39077 (normal_mod_SOURCES): Removed normal/context.c.
39078
39079 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39080 commands/timeout.c and normal/context.c.
39081 (normal_mod_SOURCES): Removed normal/context.c.
39082
39083 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39084 commands/default.c, commands/timeout.c and normal/context.c.
39085 (normal_mod_SOURCES): Removed normal/context.c.
39086
39087 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39088 timeout.mod.
39089 (default_mod_SOURCES): Removed.
39090 (default_mod_CFLAGS): Likewise.
39091 (default_mod_LDFLAGS): Likewise.
39092 (timeout_mod_SOURCES): Removed.
39093 (timeout_mod_CFLAGS): Likewise.
39094 (timeout_mod_LDFLAGS): Likewise.
39095
39096 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39097 normal/context.c.
39098
39099 * commands/default.c: Removed.
39100 * commands/timeout.c: Likewise.
39101 * normal/context.c: Likewise.
39102
1eb9cc1d 391032006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39104
39105 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39106
385bd9c1 391072006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39108
39109 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39110 "next" to "prev" for readability.
39111 (struct grub_env_sorted_var): New struct.
39112 (grub_env_context): Renamed to ...
39113 (initial_context): ... this.
39114 (grub_env_var_context): Renamed to ...
39115 (current_context): ... this.
39116 (grub_env_find): Look only at CURRENT_CONTEXT.
39117 (grub_env_context_open): Rewritten to copy exported variables from
39118 previous context.
39119 (grub_env_context_close): Rewritten according to the new
39120 scheme. Also, add an assertion to prevent the initial context from
39121 removed.
39122 (grub_env_insert): Removed the code for the sorted list.
39123 (grub_env_remove): Likewise.
39124 (grub_env_export): Simply mark the variable with
39125 GRUB_ENV_VAR_GLOBAL.
39126 (grub_env_set): A cosmetic change for naming consistency.
39127 (grub_env_get): Likewise.
39128 (grub_env_unset): Likewise.
39129 (grub_env_iterate): Rewritten to sort variables within this
39130 function.
39131 (grub_register_variable_hook): Fixed for naming consistency. Call
39132 grub_env_find again, only if NAME is not found at the first time.
39133 (mangle_data_slot_name): New function.
39134 (grub_env_set_data_slot): Likewise.
39135 (grub_env_get_data_slot): Likewise.
39136 (grub_env_unset_data_slot): Likewise.
39137
39138 * include/grub/env.h (grub_env_var_type): New enum.
39139 (GRUB_ENV_VAR_LOCAL): New constant.
39140 (GRUB_ENV_VAR_GLOBAL): Likewise.
39141 (GRUB_ENV_VAR_DATA): Likewise.
39142 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39143 "type".
39144 (grub_env_set): Replace VAR with NAME for consistency.
39145 (grub_register_variable_hook): Likewise.
39146 (grub_env_export): Specify the name of the argument.
39147 (grub_env_set_data_slot): New prototype.
39148 (grub_env_get_data_slot): Likewise.
39149 (grub_env_unset_data_slot): Likewise.
39150
7f362539 391512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39152
39153 Extend the loader so that GRUB can accept a loader which comes
39154 back to GRUB when a loaded image exits. Also, this change adds
39155 support for a chainloader on EFI.
f19dbdb7 39156
7f362539 39157 * term/efi/console.c: Include grub/misc.h.
39158 (grub_console_checkkey): Display a scan code on the top for
39159 debugging. This will be removed once the EFI port gets stable.
39160 Correct the scan code mapping.
39161
39162 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39163 allocate memory from larger regions, in order to reduce the number
39164 of allocated regions. Otherwise, the MacOSX loader panics.
39165 (filter_memory_map): Avoid less than 1MB for compatibility with
39166 other loaders.
39167 (add_memory_regions): Allocate from the tail of a region, if
39168 possible, to avoid allocating a region near to 1MB, for the MacOSX
39169 loader.
39170
39171 * kern/efi/init.c (grub_efi_set_prefix): Specify
39172 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39173
39174 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39175 argument IMAGE_HANDLE and specify it to get a loaded image.
39176 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39177 grub_efi_get_loaded_image.
fe6b695a 39178 (grub_efi_get_filename): Divide the length by the size of
7f362539 39179 grub_efi_char16_t.
39180 (grub_efi_get_device_path): New function.
39181 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39182 the length by the size of grub_efi_char16_t for a file path device
39183 path node.
39184
39185 * kern/loader.c (grub_loader_noreturn): New variable.
39186 (grub_loader_set): Accept a new argument NORETURN. Set
39187 GRUB_LOADER_NORETURN to NORETURN.
39188 All callers changed.
39189 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39190 grub_machine_fini.
39191
39192 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39193 prototype.
39194 (grub_efi_get_loaded_image): Take an argument to specify an image
39195 handle.
39196
39197 * include/grub/loader.h (grub_loader_set): Added one more argument
39198 NORETURN.
39199
39200 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39201 instead of grub_efi_open_protocol.
39202 (grub_efidisk_get_device_name): Likewise.
39203 (grub_efidisk_close): Print a newline.
39204 (grub_efidisk_get_device_handle): Fixed to use
39205 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39206 GRUB_EFI_DEVICE_PATH_TYPE.
39207
39208 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39209 * kern/efi/efi.c (device_path_guid): ... here.
39210
39211 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39212 chain.mod.
39213 (kernel_mod_HEADERS): Added efi/disk.h.
39214 (_chain_mod_SOURCES): New variable.
39215 (_chain_mod_CFLAGS): Likewise.
39216 (_chain_mod_LDFLAGS): Likewise.
39217 (chain_mod_SOURCES): Likewise.
39218 (chain_mod_CFLAGS): Likewise.
39219 (chain_mod_LDFLAGS): Likewise.
39220
39221 * DISTLIST: Added include/grub/efi/chainloader.h,
39222 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39223
39224 * include/grub/efi/chainloader.h: New file.
39225 * loader/efi/chainloader.c: Likewise.
39226 * loader/efi/chainloader_normal.c: Likewise.
39227
c0111d6e 392282006-04-30 Marco Gerards <marco@gnu.org>
39229
39230 * commands/configfile.c (grub_cmd_source): New function.
39231 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39232 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39233
df5341da 392342006-04-30 Marco Gerards <marco@gnu.org>
39235
39236 * normal/execute.c (grub_script_execute_cmd): Change the return
39237 type to `grub_err_t'. Correctly return the error.
39238 (grub_script_execute_cmdline): In case a command line is not a
39239 command or a function, try to interpret it as an assignment.
39240
f85934bd 392412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39242
39243 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39244 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39245 skip a node whose name is obviously invalid as UTF-16,
39246 i.e. contains a NUL character. Stop the iteration when the last
39247 directory entry is found. Instead of using the return value of
39248 grub_hfsplus_btree_iterate_node, store the value in RET and use
39249 it, because the iterator can be stopped by the last directory
39250 entry.
39251
8f8a2cf8 392522006-04-30 Marco Gerards <marco@gnu.org>
39253
39254 * include/grub/env.h (grub_env_export): New prototype. Reported
39255 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39256
a27e84ce 392572006-04-30 Marco Gerards <marco@gnu.org>
39258
39259 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39260 size of the extents in a catalog file record.
39261
eaef0553 392622006-04-29 Marco Gerards <marco@gnu.org>
39263
39264 * commands/configfile.c (grub_cmd_configfile): Execute the
39265 configfile within its own context.
39266
39267 * include/grub/env.h (grub_env_context_open): New prototype.
39268 (grub_env_context_close): Likewise.
39269
39270 * kern/env.c (grub_env): Removed.
39271 (grub_env_sorted): Likewise.
39272 (grub_env_context): New variable.
39273 (grub_env_var_context): Likewise.
39274 (grub_env_find): Search both the active context and the global
39275 context.
39276 (grub_env_context_open): New function.
39277 (grub_env_context_close): Likewise.
39278 (grub_env_insert): Likewise.
39279 (grub_env_remove): Likewise.
39280 (grub_env_export): Likewise.
39281 (grub_env_set): Changed to use helper functions to avoid code
39282 duplication.
39283 (grub_env_iterate): Rewritten so both the current context and the
39284 global context are being used.
39285
39286 * normal/command.c (export_command): New function.
39287 (grub_command_init): Register the `export' function.
39288
7b455f4d 392892006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39290
39291 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39292 explicitly to suppress gcc's warnings.
39293 * fs/fat.c (grub_fat_find_dir): Likewise.
39294 (grub_fat_label): Likewise.
39295 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39296 (grub_xfs_mount): Likewise.
39297 (grub_xfs_label): Likewise.
39298 * fs/affs.c (grub_affs_mount): Likewise.
39299 (grub_affs_label): Likewise.
39300 (grub_affs_iterate_dir): Likewise.
39301 * fs/sfs.c (grub_sfs_mount): Likewise.
39302 (grub_sfs_iterate_dir): Likewise.
39303 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39304 * fs/hfs.c (grub_hfs_mount): Likewise.
39305 (grub_hfs_cmp_catkeys): Likewise.
39306 (grub_hfs_find_dir): Likewise.
39307 (grub_hfs_dir): Likewise.
39308 (grub_hfs_label): Likewise.
39309 * fs/jfs.c (grub_jfs_mount): Likewise.
39310 (grub_jfs_opendir): Likewise.
39311 (grub_jfs_getent): Likewise.
39312 (grub_jfs_lookup_symlink): Likewise.
39313 (grub_jfs_label): Likewise.
39314 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39315 (grub_hfsplus_iterate_dir): Likewise.
39316 (grub_hfsplus_btree_iterate_node): Made static.
39317
39318 * util/grub-emu.c (prefix): New variable.
39319 (grub_machine_set_prefix): New function.
39320 (main): Do not set the environment variable "prefix" here. Only
39321 set PREFIX, which is used later by grub_machine_set_prefix.
39322
39323 * include/grub/video.h: Do not include grub/symbol.h.
39324 (grub_video_register): Not exported. This symbol is not defined in
39325 the kernel.
39326 (grub_video_unregister): Likewise.
39327 (grub_video_iterate): Likewise.
39328 (grub_video_setup): Likewise.
39329 (grub_video_restore): Likewise.
39330 (grub_video_get_info): Likewise.
39331 (grub_video_get_blit_format): Likewise.
39332 (grub_video_set_palette): Likewise.
39333 (grub_video_get_palette): Likewise.
39334 (grub_video_set_viewport): Likewise.
39335 (grub_video_get_viewport): Likewise.
39336 (grub_video_map_color): Likewise.
39337 (grub_video_map_rgb): Likewise.
39338 (grub_video_map_rgba): Likewise.
39339 (grub_video_fill_rect): Likewise.
39340 (grub_video_blit_glyph): Likewise.
39341 (grub_video_blit_bitmap): Likewise.
39342 (grub_video_blit_render_target): Likewise.
39343 (grub_video_scroll): Likewise.
39344 (grub_video_swap_buffers): Likewise.
39345 (grub_video_create_render_target): Likewise.
39346 (grub_video_delete_render_target): Likewise.
39347 (grub_video_set_active_render_target): Likewise.
39348
39349 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39350 Undefined.
39351 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39352
39353 * conf/sparc64-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/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39359 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39360 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39361 instead of $(srcdir)/genkernsyms.sh.
39362
39363 * conf/i386-pc.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 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39369 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39370 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39371 instead of $(srcdir)/genkernsyms.sh.
39372
39373 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39374 genkernsyms.sh.
39375
39376 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39377 genkernsyms.sh.
39378 (gensymlist.sh): New target.
39379 (genkernsyms.sh): Likewise.
39380
39381 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39382 genkernsyms.sh.in and gensymlist.sh.in.
39383
39384 * genkernsyms.sh: Removed.
39385 * gensymlist.sh: Likewise.
f19dbdb7 39386
7b455f4d 39387 * genkernsyms.sh.in: New file.
39388 * gensymlist.sh.in: Likewise.
39389
1885bb27 393902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39391
39392 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39393 clobber "prefix", since we may have already set it manually.
39394
71538dff 393952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39396
39397 * kern/misc.c (abort): New alias for grub_abort.
39398
2965c7cc 393992006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39400
39401 A new machine-specific function "grub_machine_set_prefix" is
39402 defined. This is called after loading modules, so that a prefix
39403 initialization can use modules. Also, this change adds an
39404 intensive debugging feature for the memory manager via the
39405 configure option "--enable-mm-debug".
f19dbdb7 39406
2965c7cc 39407 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39408 PART.LEN.
39409
39410 * kern/sparc64/ieee1275/init.c (abort): Removed.
39411 (grub_stop): Likewise.
39412 (grub_exit): New function.
39413 (grub_set_prefix): Renamed to ...
39414 (grub_machine_set_prefix): ... this.
39415 (grub_machine_init): Do not call grub_set_prefix.
39416
39417 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39418 (grub_machine_set_prefix): ... this.
39419 (grub_machine_init): Do not call grub_set_prefix.
39420
39421 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39422 (grub_machine_init): Do not set the prefix here.
39423
39424 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39425
39426 * kern/efi/init.c: Include grub/mm.h.
39427 (grub_efi_set_prefix): New function.
39428
39429 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39430 (grub_efi_get_filename): New function.
39431 (grub_print_device_path): Renamed to ...
39432 (grub_efi_print_device_path): ... this.
39433
39434 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39435 [MM_DEBUG] (grub_realloc): Likewise.
39436 [MM_DEBUG] (grub_free): Likewise.
39437 [MM_DEBUG] (grub_memalign): Likewise.
39438 [MM_DEBUG] (grub_mm_debug): New variable.
39439 [MM_DEBUG] (grub_debug_malloc): New function.
39440 [MM_DEBUG] (grub_debug_free): New function.
39441 [MM_DEBUG] (grub_debug_realloc): New function.
39442 [MM_DEBUG] (grub_debug_memalign): New function.
39443
39444 * kern/misc.c (grub_abort): Print a newline to distinguish
39445 the message.
39446
39447 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39448 grub_set_root_dev after loading modules. This is necessary when
39449 setting a prefix depends on modules.
39450
39451 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39452 (grub_efi_print_device_path): ... this.
39453 (grub_efi_get_filename): New prototype.
39454 (grub_efi_set_prefix): Likewise.
39455
39456 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39457 and grub/disk.h.
39458 (grub_efidisk_get_device_handle): New prototype.
39459 (grub_efidisk_get_device_name): Likewise.
39460
39461 * include/grub/mm.h: Include config.h.
39462 (MM_DEBUG): Removed.
39463 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39464 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39465 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39466 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39467 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39468 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39469 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39470 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39471 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39472
39473 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39474
39475 * disk/efi/efidisk.c: Include grub/partition.h.
39476 (iterate_child_devices): New function.
39477 (add_device): First, compare only last device path nodes, so that
39478 devices are sorted by the types.
39479 (grub_efidisk_get_device_handle): New function.
39480 (grub_efidisk_get_device_name): Likewise.
39481
39482 * configure.ac (--enable-mm-debug): New option to enable the
39483 memory manager debugging feature. This makes the binary much
39484 bigger, so is disabled by default.
39485
9cacaa17 394862006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39487
39488 Use grub_abort instead of grub_stop, and grub_exit must be
39489 define in each architecture now. Also, this change adds support
39490 for EFI disks.
f19dbdb7 39491
9cacaa17 39492 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39493 (grub_getkey): New function.
39494 (grub_term_get_current): Likewise.
39495
39496 * util/i386/pc/grub-setup.c: Include grub/term.h.
39497 (grub_getkey): New function.
39498 (grub_term_get_current): Likewise.
39499
39500 * util/misc.c (grub_stop): Renamed to ...
39501 (grub_exit): ... this.
39502
39503 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39504 (grub_exit): ... this.
39505 (grub_machine_init): Use grub_abort instead of abort.
39506 (grub_stop): Removed.
39507
39508 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39509 abort.
39510
39511 * kern/i386/pc/startup.S (grub_exit): New function.
39512 (cold_reboot): New label.
39513
39514 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39515 (grub_efi_init): Call grub_efidisk_init.
39516 (grub_efi_fini): Call grub_efidisk_fini.
39517
39518 * kern/efi/efi.c: Include grub/mm.h.
39519 (grub_efi_console_control_guid): Renamed to ...
39520 (console_control_guid): ... this.
39521 (grub_efi_loaded_image_guid): Renamed to ...
39522 (loaded_image_guid): ... this.
39523 (grub_efi_locate_handle): New function.
39524 (grub_efi_open_protocol): Likewise.
39525 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39526 GRUB_EFI_CONSOLE_CONTROL_GUID.
39527 (grub_efi_exit): Removed.
39528 (grub_stop): Likewise.
39529 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39530 (grub_exit): New function.
39531 (grub_print_device_path): Likewise.
39532
39533 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39534 (grub_enter_rescue_mode): Register "exit".
39535
39536 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39537 (grub_abort): New function.
39538
39539 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39540
39541 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39542
39543 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39544
39545 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39546 (grub_print_device_path): New prototype.
39547 (grub_efi_locate_handle): Likewise.
39548 (grub_efi_open_protocol): Likewise.
39549
39550 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39551 * disk/efi/efidisk.c: Likewise.
39552
39553 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39554
39555 * include/grub/efi/console_control.h
39556 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39557
39558 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39559 last 8 bytes as an array.
39560 (GRUB_EFI_DISK_IO_GUID): New macro.
39561 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39562 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39563 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39564 grub_uint8_t.
39565 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39566 (struct grub_efi_device_path): Rename the member "sub_type" to
39567 "subtype".
39568 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39569 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39570 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39571 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39572 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39573 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39574 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39575 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39576 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39577 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39578 (struct grub_efi_pci_device_path): New structure.
39579 (grub_efi_pci_device_path_t): New type.
39580 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39581 (struct grub_efi_pccard_device_path): New structure.
39582 (grub_efi_pccard_device_path_t): New type.
39583 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39584 (struct grub_efi_memory_mapped_device_path): New structure.
39585 (grub_efi_memory_mapped_device_path_t): New type.
39586 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39587 (struct grub_efi_vendor_device_path): New structure.
39588 (grub_efi_vendor_device_path_t): New type.
39589 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39590 (struct grub_efi_controller_device_path): New structure.
39591 (grub_efi_controller_device_path_t): New type.
39592 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39593 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39594 (struct grub_efi_acpi_device_path): New structure.
39595 (grub_efi_acpi_device_path_t): New type.
39596 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39597 (struct grub_efi_expanded_acpi_device_path): New structure.
39598 (grub_efi_expanded_acpi_device_path_t): New type.
39599 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39600 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39601 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39602 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39603 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39604 (struct grub_efi_atapi_device_path): New structure.
39605 (grub_efi_atapi_device_path_t): New type.
39606 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39607 (struct grub_efi_fibre_channel_device_path): New structure.
39608 (grub_efi_fibre_channel_device_path_t): New type.
39609 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39610 (struct grub_efi_1394_device_path): New structure.
39611 (grub_efi_1394_device_path_t): New type.
39612 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39613 (struct grub_efi_usb_device_path): New structure.
39614 (grub_efi_usb_device_path_t): New type.
39615 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39616 (struct grub_efi_usb_class_device_path): New structure.
39617 (grub_efi_usb_class_device_path_t): New type.
39618 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39619 (struct grub_efi_i2o_device_path): New structure.
39620 (grub_efi_i2o_device_path_t): New type.
39621 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39622 (struct grub_efi_mac_address_device_path): New structure.
39623 (grub_efi_mac_address_device_path_t): New type.
39624 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39625 (struct grub_efi_ipv4_device_path): New structure.
39626 (grub_efi_ipv4_device_path_t): New type.
39627 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39628 (struct grub_efi_ipv6_device_path): New structure.
39629 (grub_efi_ipv6_device_path_t): New type.
39630 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39631 (struct grub_efi_infiniband_device_path): New structure.
39632 (grub_efi_infiniband_device_path_t): New type.
39633 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39634 (struct grub_efi_uart_device_path): New structure.
39635 (grub_efi_uart_device_path_t): New type.
39636 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39637 (struct grub_efi_vendor_messaging_device_path): New structure.
39638 (grub_efi_vendor_messaging_device_path_t): New type.
39639 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39640 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39641 (struct grub_efi_hard_drive_device_path): New structure.
39642 (grub_efi_hard_drive_device_path_t): New type.
39643 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39644 (struct grub_efi_cdrom_device_path): New structure.
39645 (grub_efi_cdrom_device_path_t): New type.
39646 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39647 (struct grub_efi_vendor_media_device_path): New structure.
39648 (grub_efi_vendor_media_device_path_t): New type.
39649 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39650 (struct grub_efi_file_path_device_path): New structure.
39651 (grub_efi_file_path_device_path_t): New type.
39652 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39653 (struct grub_efi_protocol_device_path): New structure.
39654 (grub_efi_protocol_device_path_t): New type.
39655 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39656 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39657 (struct grub_efi_bios_device_path): New structure.
39658 (grub_efi_bios_device_path_t): New type.
39659 (struct grub_efi_disk_io): New structure.
39660 (grub_efi_disk_io_t): New type.
39661 (struct grub_efi_block_io_media): New structure.
39662 (grub_efi_block_io_media_t): New type.
39663 (struct grub_efi_block_io): New structure.
39664 (grub_efi_block_io_t): New type.
39665
39666 * include/grub/misc.h (grub_stop): Removed.
39667 (grub_exit): New prototype.
39668 (grub_abort): Likewise.
39669
39670 * include/grub/disk.h (enum grub_disk_dev_id): Added
39671 GRUB_DISK_DEVICE_EFIDISK_ID.
39672
39673 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39674 disk/efi/efidisk.c.
39675 (kernel_syms.lst): Remove the target if an error occurs.
39676
49986a9f 396772006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39678
39679 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39680 as it was simply too buggy.
39681
970d3b8a 396822006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39683
39684 * kern/misc.c (grub_lltoa): New function.
39685 (grub_vsprintf): Added support for the long long suffix,
39686 i.e. "ll".
39687
ff04ec24 396882006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39689
39690 * Makefile.in (LDFLAGS): Add variable.
39691 (LD): Remove variable.
39692 * configure.ac: Add -m32 to LDFLAGS.
39693 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39694 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39695 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39696 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39697 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39698 variables.
39699 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39700 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39701 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39702
37e5e1a4 397032006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39704
39705 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39706 length for unknown glyph.
39707
c352d8dd 397082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39709
2eab1c0d 39710 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39711
2eab1c0d 39712 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39713 completely. Accept one more argument DIR. The caller has changed.
39714
39715 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39716
39717 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39718 (grub_efi_loaded_image_guid): New variable.
39719 (grub_efi_get_loaded_image): New function.
39720 (grub_arch_modules_addr): Likewise.
39721
39722 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39723 prototype.
39724
39725 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39726 (struct grub_efi_loaded_image): New structure.
39727 (grub_efi_loaded_image_t): New type.
39728
397292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39730
c352d8dd 39731 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39732 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39733 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39734
6d01d6b4 397352006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39736
39737 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39738
976a4ea0 397392006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39740
39741 * DISTLIST: Added include/grub/efi/console.h,
39742 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39743 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39744
39745 * include/grub/efi/console.h: New file.
39746 * include/grub/efi/time.h: Likewise.
39747 * include/grub/i386/efi/kernel.h: Likewise.
39748 * kern/efi/init.c: Likewise.
39749 * kern/efi/mm.c: Likewise.
39750 * term/efi/console.c: Likewise.
f19dbdb7 39751
976a4ea0 39752 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39753 (grub_stop): Removed.
39754 (grub_get_rtc): Likewise.
39755 (grub_machine_init): Simply call grub_efi_init.
39756 (grub_machine_fini): Call grub_efi_fini.
39757
39758 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39759 (grub_efi_output_string): Removed.
39760 (grub_efi_stall): New function.
39761 (grub_stop): Likewise.
39762 (grub_get_rtc): Likewise.
39763
39764 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39765 (grub_efi_stall): New prototype.
39766 (grub_efi_allocate_pages): Likewise.
39767 (grub_efi_free_pages): Likewise.
39768 (grub_efi_get_memory_map): Likewise.
39769 (grub_efi_mm_init): Likewise.
39770 (grub_efi_mm_fini): Likewise.
39771 (grub_efi_init): Likewise.
39772 (grub_efi_fini): Likewise.
39773
39774 * include/grub/i386/efi/time.h: Do not include
39775 grub/symbol.h. Include grub/efi/time.h.
39776 (GRUB_TICKS_PER_SECOND): Removed.
39777 (grub_get_rtc): Likewise.
39778
39779 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39780 Added padding. The EFI spec is buggy.
39781 (GRUB_EFI_BLACK): New macro.
39782 (GRUB_EFI_BLUE): Likewise.
39783 (GRUB_EFI_GREEN): Likewise.
39784 (GRUB_EFI_CYAN): Likewise.
39785 (GRUB_EFI_RED): Likewise.
39786 (GRUB_EFI_MAGENTA): Likewise.
39787 (GRUB_EFI_BROWN): Likewise.
39788 (GRUB_EFI_LIGHTGRAY): Likewise.
39789 (GRUB_EFI_BRIGHT): Likewise.
39790 (GRUB_EFI_DARKGRAY): Likewise.
39791 (GRUB_EFI_LIGHTBLUE): Likewise.
39792 (GRUB_EFI_LIGHTGREEN): Likewise.
39793 (GRUB_EFI_LIGHTCYAN): Likewise.
39794 (GRUB_EFI_LIGHTRED): Likewise.
39795 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39796 (GRUB_EFI_YELLOW): Likewise.
39797 (GRUB_EFI_WHITE): Likewise.
39798 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39799 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39800 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39801 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39802 (GRUB_EFI_BACKGROUND_RED): Likewise.
39803 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39804 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39805 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39806 (GRUB_EFI_TEXT_ATTR): Likewise.
39807
39808 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39809 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39810 (kernel_mod_HEADERS): Added efi/time.h.
39811
83709125 398122006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39813
39814 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39815 include/grub/efi/api.h, include/grub/efi/console_control.h,
39816 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39817 include/grub/i386/efi/time.h, kern/efi/efi.c,
39818 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39819 and util/i386/efi/grub-mkimage.c.
39820
39821 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39822
39823 * genmk.rb (PModule#rule): Do not export symbols if
39824 #{prefix}_EXPORTS is set to "no".
39825
39826 * conf/i386-efi.mk: New file.
39827 * conf/i386-efi.rmk: Likewise.
39828 * include/grub/efi/api.h: Likewise.
39829 * include/grub/efi/console_control.h: Likewise.
39830 * include/grub/efi/efi.h: Likewise.
39831 * include/grub/efi/pe32.h: Likewise.
39832 * include/grub/i386/efi/time.h: Likewise.
39833 * kern/efi/efi.c: Likewise.
39834 * kern/i386/efi/init.c: Likewise.
39835 * kern/i386/efi/startup.S: Likewise.
39836 * util/i386/efi/grub-mkimage.c: Likewise.
39837
398382006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39839
39840 * include/grub/script.h: Include <grub/parser.h> and
39841 "grub_script.tab.h".
39842 (struct grub_lexer_param): New struct.
39843 (struct grub_parser_param): Likewise.
39844 (grub_script_create_arglist): Pass the state in an argument.
39845 (grub_script_add_arglist): Likewise.
39846 (grub_script_create_cmdline): Likewise.
39847 (grub_script_create_cmdblock): Likewise.
39848 (grub_script_create_cmdif): Likewise.
39849 (grub_script_create_cmdmenu): Likewise.
39850 (grub_script_add_cmd): Likewise.
39851 (grub_script_arg_add): Likewise.
39852 (grub_script_lexer_ref): Likewise.
39853 (grub_script_lexer_deref): Likewise.
39854 (grub_script_lexer_record_start): Likewise.
39855 (grub_script_lexer_record_stop): Likewise.
39856 (grub_script_mem_record): Likewise.
39857 (grub_script_mem_record_stop): Likewise.
39858 (grub_script_malloc): Likewise.
39859 (grub_script_yylex): Likewise.
39860 (grub_script_yyparse): Likewise.
39861 (grub_script_yyerror): Likewise.
39862 (grub_script_yylex): Likewise.
39863 (grub_script_lexer_init): Return the state.
39864
39865 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39866 (grub_script_lexer_done): Likewise.
39867 (grub_script_lexer_getline): Likewise.
39868 (grub_script_lexer_refs): Likewise.
39869 (script): Likewise.
39870 (newscript): Likewise.
39871 (record): Likewise.
39872 (recording): Likewise.
39873 (recordpos): Likewise.
39874 (recordlen): Likewise.
39875 (grub_script_lexer_init): Return the state instead of setting
39876 global variables.
39877 (grub_script_lexer_ref): Use the newly added argument for state
39878 instead of globals.
39879 (grub_script_lexer_deref): Likewise.
39880 (grub_script_lexer_record_start): Likewise.
39881 (grub_script_lexer_record_stop): Likewise.
39882 (recordchar): Likewise.
39883 (nextchar): Likewise.
39884 (grub_script_yylex2): Likewise.
39885 (grub_script_yylex): Likewise.
39886 (grub_script_yyerror): Likewise.
39887
39888 * normal/parser.y (func_mem): Removed variable.
39889 (menu_entry): Likewise.
39890 (err): Likewise.
39891 (%lex-param): New parser option.
39892 (%parse-param): Likewise.
39893 (script): Always return the AST.
39894 (argument): Pass the state around.
39895 (arguments): Likewise.
39896 (grubcmd): Likewise.
39897 (commands): Likewise.
39898 (function): Likewise.
39899 (menuentry): Likewise.
39900 (if_statement): Likewise.
39901 (if): Likewise.
39902
39903 * normal/script.c (grub_script_memused): Removed variable.
39904 (grub_script_parsed): Likewise.
39905 (grub_script_malloc): Added a state argument. Use that instead of
39906 global variables.
39907 (grub_script_mem_record): Likewise.
39908 (grub_script_mem_record_stop): Likewise.
39909 (grub_script_arg_add): Likewise.
39910 (grub_script_add_arglist): Likewise.
39911 (grub_script_create_cmdline): Likewise.
39912 (grub_script_create_cmdif): Likewise.
39913 (grub_script_create_cmdmenu): Likewise.
39914 (grub_script_add_cmd): Likewise.
39915 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39916
e2a8c904 399172006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39918
39919 * normal/command.c (grub_command_init): Remove the title command.
39920
39921 * normal/lexer.c (grub_script_yylex): Renamed from this...
39922 (grub_script_yylex2): ... to this.
39923 (grub_script_yylex): New function. Temporary
39924 introduced to filter some tokens.
39925 (grub_script_yyerror): Print a newline.
39926
39927 * normal/main.c (read_config_file): Output information about the
39928 lines that contain errors. Wait for a key after all lines have
39929 been processed. Don't return an empty menu.
39930
39931 * normal/parser.y (func_mem): Don't initialize.
39932 (menu_entry): Likewise.
39933 (err): New variable.
39934 (script): Don't return anything when an error was encountered.
39935 (ws, returns): Removed rules.
39936 (argument): Disabled concatenated variable support.
39937 (arguments): Remove explicit separators.
39938 (grubcmd): Likewise.
39939 (function): Likewise.
39940 (menuentry): Likewise.
39941 (if): Likewise.
39942 (commands): Likewise. Add error handling.
39943
39944 * normal/script.c (grub_script_create_cmdline): If
39945 `grub_script_parsed' is 0, assume the parser encountered an error.
39946
c9a86192 399472006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39948
39949 * configure.ac: Add support for EFI. Fix the typo
39950 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39951
70f3b243 399522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39953
39954 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39955 foreign multibyte characters should be shown correctly.
39956
65f201ad 399572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39958
39959 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39960 calculation.
39961 (read_config_file): Made it to close file before returning.
39962
b4b93674 399632006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39964
39965 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39966 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39967 video/i386/pc/vbefill.c.
39968
39969 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39970 video/i386/pc/vbefill.c.
39971
39972 * include/grub/video.h (grub_video_blit_format): New enum.
39973 (grub_video_mode_info): Added new member blit_format.
39974 (grub_video_get_blit_format): New function prototype.
39975
39976 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39977 function prototype.
39978 (grub_video_vbe_map_rgb): Likewise.
39979 (grub_video_vbe_unmap_color): Likewise.
39980
39981 * include/grub/i386/pc/vbeblit.h: New file.
39982
39983 * include/grub/i386/pc/vbefill.h: New file.
39984
39985 * video/video.c (grub_video_get_blit_format): New function.
39986 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39987 (grub_video_vbe_map_rgb): Likewise.
39988 (grub_video_vbe_unmap_color): Likewise.
39989
39990 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39991 optimized fills.
39992 (grub_video_vbe_blit_render_target): Changed to use more optimized
39993 blits.
39994 (grub_video_vbe_setup): Added detection for optimized settings.
39995 (grub_video_vbe_create_render_target): Likewise.
39996
39997 * video/i386/pc/vbeblit.c: New file.
39998
39999 * video/i386/pc/vbefill.c: New file.
40000
c2379b9c 400012006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40002
40003 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40004 here...
40005
40006 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40007 parsing to support both hex and dec ranges. If filename was missing
40008 show usage information.
40009
bd0d7896 400102006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40011
40012 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40013 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40014
40015 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40016 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40017 (video_mod_SOURCES): Added.
40018 (video_mod_CFLAGS): Likewise.
40019 (video_mod_LDFLAGS): Likewise.
40020 (gfxterm_mod_SOURCES): Likewise.
40021 (gfxterm_mod_CFLAGS): Likewise.
40022 (gfxterm_mod_LDFLAGS): Likewise.
40023 (videotest_mod_SOURCES): Likewise.
40024 (videotest_mod_CFLAGS): Likewise.
40025 (videotest_mod_LDFLAGS): Likewise.
40026 (vesafb_mod_SOURCES): Removed.
40027 (vesafb_mod_CFLAGS): Likewise.
40028 (vesafb_mod_LDFLAGS): Likewise.
40029 (vga_mod_SOURCES): Likewise.
40030 (vga_mod_CFLAGS): Likewise.
40031 (vga_mod_LDFLAGS): Likewise.
40032
40033 * commands/videotest.c: New file.
40034
40035 * font/manager.c (fill_with_default_glyph): Modified to use
40036 grub_font_glyph.
40037 (grub_font_get_glyph): Likewise.
40038 (fontmanager): Renamed from this...
40039 (font_manager): ... to this.
40040
40041 * include/grub/font.h (grub_font_glyph): Added new structure.
40042 (grub_font_get_glyph): Modified to use grub_font_glyph.
40043
40044 * include/grub/misc.h (grub_abs): Added as inline function.
40045
40046 * include/grub/video.h: New file.
40047
40048 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40049 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40050 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40051 (grub_vbe_get_controller_info): Renamed from this...
40052 (grub_vbe_bios_get_controller_info): ... to this.
40053 (grub_vbe_get_mode_info): Renamed from this...
40054 (grub_vbe_bios_get_mode_info): ... to this.
40055 (grub_vbe_set_mode): Renamed from this...
40056 (grub_vbe_bios_set_mode): ... to this.
40057 (grub_vbe_get_mode): Renamed from this...
40058 (grub_vbe_bios_get_mode): ... to this.
40059 (grub_vbe_set_memory_window): Renamed from this...
40060 (grub_vbe_bios_set_memory_window): ... to this.
40061 (grub_vbe_get_memory_window): Renamed from this...
40062 (grub_vbe_bios_get_memory_window): ... to this.
40063 (grub_vbe_set_scanline_length): Renamed from this...
40064 (grub_vbe_set_scanline_length): ... to this.
40065 (grub_vbe_get_scanline_length): Renamed from this...
40066 (grub_vbe_bios_get_scanline_length): ... to this.
40067 (grub_vbe_set_display_start): Renamed from this...
40068 (grub_vbe_bios_set_display_start): ... to this.
40069 (grub_vbe_get_display_start): Renamed from this...
40070 (grub_vbe_bios_get_display_start): ... to this.
40071 (grub_vbe_set_palette_data): Renamed from this...
40072 (grub_vbe_bios_set_palette_data): ... to this.
40073 (grub_vbe_set_pixel_rgb): Removed.
40074 (grub_vbe_set_pixel_index): Likewise.
40075
40076 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40077 from this...
40078 (grub_vbe_bios_get_controller_info): ... to this.
40079 (grub_vbe_get_mode_info): Renamed from this...
40080 (grub_vbe_bios_get_mode_info): ... to this.
40081 (grub_vbe_set_mode): Renamed from this...
40082 (grub_vbe_bios_set_mode): ... to this.
40083 (grub_vbe_get_mode): Renamed from this...
40084 (grub_vbe_bios_get_mode): ... to this.
40085 (grub_vbe_set_memory_window): Renamed from this...
40086 (grub_vbe_bios_set_memory_window): ... to this.
40087 (grub_vbe_get_memory_window): Renamed from this...
40088 (grub_vbe_bios_get_memory_window): ... to this.
40089 (grub_vbe_set_scanline_length): Renamed from this...
40090 (grub_vbe_set_scanline_length): ... to this.
40091 (grub_vbe_get_scanline_length): Renamed from this...
40092 (grub_vbe_bios_get_scanline_length): ... to this.
40093 (grub_vbe_set_display_start): Renamed from this...
40094 (grub_vbe_bios_set_display_start): ... to this.
40095 (grub_vbe_get_display_start): Renamed from this...
40096 (grub_vbe_bios_get_display_start): ... to this.
40097 (grub_vbe_set_palette_data): Renamed from this...
40098 (grub_vbe_bios_set_palette_data): ... to this.
40099 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40100 getting corrupted after calling it. Added more pushes and pops.
40101 (grub_vbe_bios_set_mode): Likewise.
40102 (grub_vbe_bios_get_mode): Likewise.
40103 (grub_vbe_bios_get_memory_window): Likewise.
40104 (grub_vbe_bios_set_scanline_length): Likewise.
40105 (grub_vbe_bios_get_scanline_length): Likewise.
40106 (grub_vbe_bios_get_display_start): Likewise.
40107 (grub_vbe_bios_set_palette_data): Likewise.
40108
40109 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40110 (cl_insert): Likewise.
40111 (cl_delete): Likewise.
40112
40113 * term/gfxterm.c: New file.
40114
40115 * term/i386/pc/vesafb.c: Removed file.
40116
40117 * video/video.c: New file.
40118
40119 * video/i386/pc/vbe.c (real2pm): Added new function.
40120 (grub_video_vbe_draw_pixel): Likewise.
40121 (grub_video_vbe_get_video_ptr): Likewise.
40122 (grub_video_vbe_get_pixel): Likewise
40123 (grub_video_vbe_init): Likewise.
40124 (grub_video_vbe_fini): Likewise.
40125 (grub_video_vbe_setup): Likewise.
40126 (grub_video_vbe_get_info): Likewise.
40127 (grub_video_vbe_set_palette): Likewise.
40128 (grub_video_vbe_get_palette): Likewise.
40129 (grub_video_vbe_set_viewport): Likewise.
40130 (grub_video_vbe_get_viewport): Likewise.
40131 (grub_video_vbe_map_color): Likewise.
40132 (grub_video_vbe_map_rgb): Likewise.
40133 (grub_video_vbe_map_rgba): Likewise.
40134 (grub_video_vbe_unmap_color): Likewise.
40135 (grub_video_vbe_fill_rect): Likewise.
40136 (grub_video_vbe_blit_glyph): Likewise.
40137 (grub_video_vbe_blit_bitmap): Likewise.
40138 (grub_video_vbe_blit_render_target): Likewise.
40139 (grub_video_vbe_scroll): Likewise.
40140 (grub_video_vbe_swap_buffers): Likewise.
40141 (grub_video_vbe_create_render_target): Likewise.
40142 (grub_video_vbe_delete_render_target): Likewise.
40143 (grub_video_vbe_set_active_render_target): Likewise.
40144 (grub_vbe_set_pixel_rgb): Remove function.
40145 (grub_vbe_set_pixel_index): Likewise.
40146 (index_color_mode): Remove static variable.
40147 (active_mode): Likewise.
40148 (framebuffer): Likewise.
40149 (bytes_per_scan_line): Likewise.
40150 (grub_video_vbe_adapter): Added new static variable.
40151 (framebuffer): Likewise.
40152 (render_target): Likewise.
40153 (initial_mode): Likewise.
40154 (mode_in_use): Likewise.
40155 (mode_list): Likewise.
40156
5f97350b 401572006-03-10 Marco Gerards <marco@gnu.org>
40158
40159 * configure.ac (AC_INIT): Bumped to 1.93.
40160
40161 * DISTLIST: Added `include/grub/hfs.h'.
40162
a3c5c6f8 401632006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40164
40165 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40166 18H, which might help the BIOS falling back to next boot media.
40167
6de53d26 401682006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40169
40170 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40171 Poe Chen <poe.poechen@gmail.com>.
40172
77c4a393 401732006-01-17 Marco Gerards <marco@gnu.org>
40174
40175 * include/grub/normal.h: Include <grub/script.h>.
40176 (grub_command_list): Removed struct.
40177 (grub_command_list_t): Removed type.
40178 (grub_menu_entry): Remove members `num' and `command_list'. Add
40179 members `commands' and `sourcecode'.
40180 * include/grub/script.h: Add inclusion guards.
40181 (grub_script_cmd_menuentry): New struct.
40182 (grub_script_execute_menuentry): New prototype.
40183 (grub_script_lexer_record_start): Likewise.
40184 (grub_script_lexer_record_stop): Likewise.
40185 * normal/execute.c (grub_script_execute_menuentry): New function.
40186 * normal/lexer.c (record, recording, recordpos, recordlen): New
40187 variables.
40188 (grub_script_lexer_record_start): New function.
40189 (grub_script_lexer_record_stop): Likewise.
40190 (recordchar): Likewise.
40191 (nextchar): Likewise.
40192 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40193 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40194 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40195 (current_menu): New variable.
40196 (free_menu): Mainly rewritten.
40197 (grub_normal_menu_addentry): New function.
40198 (read_config_file): Rewritten.
40199 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40200 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40201 the menu entry.
40202 (run): Mainly rewritten.
40203 * normal/parser.y (menu_entry): New variable.
40204 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40205 (menuentry): New rule.
40206 (command): Add `menuentry'.
40207 (if_statement): Allow additional returns before `fi'.
40208 * normal/script.c (grub_script_create_cmdmenu): New function.
40209
144f1f98 402102006-01-03 Marco Gerards <marco@gnu.org>
40211
40212 * INSTALL: GNU Bison is required.
40213 * configure.ac: Rewritten the test to detect Bison.
40214 * Makefile.in (YACC): New variable. Reported by Xun Sun
40215 <xun.sun.cn@gmail.com>.
40216
af4b2d89 402172006-01-03 Marco Gerards <marco@gnu.org>
40218
40219 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40220 the HFS+ filesystem to filesystem blocks.
40221 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40222 GCC warning is silenced.
40223
15643b71 402242006-01-03 Marco Gerards <marco@gnu.org>
40225
40226 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40227 read from disk from big endian to host byte order.
40228
00905879 402292006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40230
40231 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40232 documentation.
40233 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40234 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40235 embedded HFS+ filesystem.
40236 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40237 (grub_hfs_sblock): Move from here...
40238 * include/grub/hfs.h: To here... New file.
40239 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40240 documentation.
40241 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40242 New macros.
40243 (grub_hfsplus_volheader): Change type of member `magic' to
40244 `grub_uint16_t'.
40245 (grub_hfsplus_data): Add new member `embedded_offset'.
40246 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40247 returned block.
40248 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40249 Calculate the offset.
40250
8899bc3e 402512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40252
40253 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40254 Removed.
40255 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40256
ae8c0277 402572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40258
40259 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40260 ENV->NAME is NULL after allocating ENV->VALUE.
40261
07084456 402622005-12-25 Marco Gerards <marco@gnu.org>
40263
40264 * kern/env.c (grub_env_set): Rewritten the error handling code.
40265
4750f5f1 402662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40267
40268 * geninit.sh: Made more robust, and more portable.
40269
50214199 402702005-12-25 Marco Gerards <marco@gnu.org>
40271
40272 Add support for Apple HFS+ filesystems.
f19dbdb7 40273
50214199 40274 * fs/hfsplus.c: New file.
40275
40276 * DISTLIST: Added `fs/hfsplus.c'.
40277
40278 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40279 (hfsplus_mod_SOURCES): New variable.
40280 (hfsplus_mod_CFLAGS): Likewise.
40281 (hfsplus_mod_LDFLAGS): Likewise.
40282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40283 (grub_setup_SOURCES): Likewise.
40284 (grub_mkdevicemap_SOURCES): Likewise.
40285 (grub_emu_SOURCES): Likewise.
40286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40287
40288 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40289
40290 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40291
befaed6c 402922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40293
40294 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40295 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40296 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40297 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40298 normal/lexer.c, normal/parser.y, normal/script.c, and
40299 partmap/gpt.c.
40300 Removed kern/sparc64/cache.c.
40301
40302 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40303 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40304 grub_emu_init.c.
40305
40306 * configure.ac (AC_INIT): Bumped to 1.92.
40307
6a124103 403082005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40309
40310 * kern/err.c (grub_error_push): Added new function to support error
40311 stacks.
40312 (grub_error_pop): Likewise.
40313 (grub_error_stack_items): New local variable to support error stacks.
40314 (grub_error_stack_pos): Likewise.
40315 (grub_error_stack_assert): Likewise.
40316 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40317 stack depth.
40318 (grub_print_error): Added support to print errors from error stack.
40319
40320 * include/grub/err.h (grub_error_push): Added function prototype.
40321 (grub_error_pop): Likewise.
40322
be973c1b 403232005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40324
40325 * configure.ac: Accept `powerpc64' as host_cpu.
40326 (amd64): Rename to `biarch32'.
40327
40328 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40329 non-cacheline-aligned addresses.
40330
40331 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40332 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40333 if `size' is non-zero.
40334
b04216ab 403352005-12-03 Marco Gerards <mgerards@xs4all.nl>
40336
40337 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40338 and `cd' to make sure the filename is not prefixed with a
40339 directory name.
40340 (pkgdata_MODULES): Add `gpt.mod'.
40341 (gpt_mod_SOURCES): New variable.
40342 (gpt_mod_CFLAGS): Likewise.
40343 (gpt_mod_LDFLAGS): Likewise.
40344
40345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40346
40347 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40348 New macro.
40349
40350 * partmap/gpt.c: New file.
40351
40352 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40353 GPT partition map is detected.
40354
41730ed9 403552005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40356
40357 * commands/i386/pc/play.c: New file.
40358 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40359 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40360 macros.
f19dbdb7 40361
95dc3643 403622005-11-27 Marco Gerards <mgerards@xs4all.nl>
40363
40364 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40365 ((unused))' to silence gcc warning.
40366
1569ec51 403672005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40368
40369 * configure.ac: Correct `AC_PROG_YACC' test.
40370
9abde152 403712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40372
40373 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40374 check before installing files.
40375
44b83271 403762005-11-22 Mike Small <smallm@panix.com>
40377
40378 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40379 number regex so multidigit numbers are recognized correctly.
40380
403812005-11-22 Mike Small <smallm@panix.com>
40382
40383 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40384 debugging message before attempting to claim memory.
40385 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40386 multiple addresses in case of failure.
40387
9c12956b 403882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40389
40390 * term/tparm.c (get_space): Remove empty `if' statement.
40391
40392 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40393
40394 * kern/parser.c (check_varstate): Rename `state' to 's'.
40395
aeaf81d9 403962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40397
40398 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40399 variable definitions to the beginning of each function. Sort stack
40400 variables by size.
40401 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40402 `buf' argument to `char *'.
40403
79bbb63f 404042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40405
40406 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40407 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40408 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40409 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40410 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40411 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40412 configfile.mod, search.mod, gzio.mod and test.mod.
40413 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40414 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40415 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40416 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40417 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40418 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40419 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40420 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40421 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40422 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40423 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40424 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40425 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40426 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40427 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40428 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40429 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40430 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40431 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40432 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40433 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40434 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40435 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40436
40437 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40438 `grep --include'.
40439 (pkgdata_MODULES): Add test.mod.
40440
233b1628 404412005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40442
40443 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40444 appending to variables with "+=".
40445 (PModule): Use full pathname to generate *.lst filenames.
40446
40447 * Makefile.in: Fixed list rules moved from genmk.rb.
40448 (.DELETE_ON_ERROR): New special target.
40449 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40450
40451 * conf/i386-pc.rmk: Include conf/common.mk.
40452 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40453 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40454 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40455 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40456 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40457 configfile.mod, search.mod, gzio.mod and test.mod.
40458 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40459 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40460 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40461 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40462 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40463 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40464 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40465 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40466 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40467 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40468 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40469 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40470 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40471 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40472 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40473 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40474 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40475 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40476 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40477 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40478 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40479 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40480 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40481 here...
40482 * conf/common.rmk: ... to here. New file.
40483
40484 * conf/common.mk: New file.
40485
16f820c8 404862005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40487
40488 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40489 (grub_script.tab.c): ... here.
40490
40491 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40492 (grub_script.tab.c): ... here.
40493
40494 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40495 (grub_script.tab.c): ... here.
40496
40497 * normal/command.c (grub_command_find): Fixed a memory leak of
40498 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40499
63ba1554 405002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40501
40502 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40503 "@" which marks the start of a comment on ARM.
40504 (VARIABLE): Likewise.
40505
7f67dc13 405062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40507
79bbb63f 40508 Add support for Linux/ADFS partition tables.
7f67dc13 40509
40510 * partmap/acorn.c: New file.
40511
40512 * include/grub/acorn_filecore.h: Likewise.
40513
40514 * DISTLIST: Added `partmap/acorn.c' and
40515 `include/grub/acorn_filecore.h'.
f19dbdb7 40516
7f67dc13 40517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40518 `partmap/acorn.c'.
40519 (pkgdata_MODULES): Add `acorn.mod'.
40520 (acorn_mod_SOURCES): New variable.
40521 (acorn_mod_CFLAGS): Likewise.
40522
40523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40524 `partmap/acorn.c'.
40525 (pkgdata_MODULES): Add `acorn.mod'.
40526 (acorn_mod_SOURCES): New variable.
40527 (acorn_mod_CFLAGS): Likewise.
40528
40529 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40530 (pkgdata_MODULES): Add `acorn.mod'.
40531 (acorn_mod_SOURCES): New variable.
40532 (acorn_mod_CFLAGS): Likewise.
40533 (acorn_mod_LDFLAGS): Likewise.
40534
40535 * include/types.h (grub_disk_addr_t): New typedef.
40536
6d099807 405372005-11-13 Marco Gerards <mgerards@xs4all.nl>
40538
40539 * geninit.sh: New file.
40540
40541 * geninitheader.sh: Likewise.
40542
40543 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40544 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40545 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40546 * commands/configfile.c (grub_configfile_init)
40547 (grub_configfile_fini): Likewise.
40548 * commands/default.c (grub_default_init, grub_default_fini):
40549 Likewise.
40550 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40551 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40552 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40553 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40554 Likewise.
40555 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40556 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40557 Likewise.
40558 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40559 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40560 Likewise.
40561 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40562 Likewise.
fe6b695a 40563 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40564 Likewise.
40565 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40566 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40567 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40568 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40569 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40570 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40571 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40572 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40573 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40574 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40575 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40576 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40577 * partmap/amiga.c (grub_amiga_partition_map_init)
40578 (grub_amiga_partition_map_fini): Likewise.
40579 * partmap/apple.c (grub_apple_partition_map_init)
40580 (grub_apple_partition_map_fini): Likewise.
40581 * partmap/pc.c (grub_pc_partition_map_init)
40582 (grub_pc_partition_map_fini): Likewise.
40583 * partmap/sun.c (grub_sun_partition_map_init,
40584 grub_sun_partition_map_fini): Likewise.
40585 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40586 Likewise.
40587
40588 * util/grub-emu.c: Include <grub_modules_init.h>.
40589 (main): Don't initialize and de-initialize any modules directly,
40590 use `grub_init_all' and `grub_fini_all' instead.
40591
40592 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40593 `grub_vesafb_mod_init'.
40594 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40595 all users.
40596 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40597 `grub_vga_mod_init'. Updated all users.
40598 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40599
6d099807 40600 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40601 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40602 rules.
40603
40604 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40605 Generate a function to initialize the module in utilities.
40606 Updated all callers.
40607 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40608 initialize the module in utilities. Updated all callers.
40609
9046bcf0 406102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40611
40612 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40613 escape sequence and a literal ^L to clear the screen.
40614
40615 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40616 when returning from Open Firmware.
40617
d13ea639 406182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40619
40620 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40621 (grub_ofconsole_height): Likewise.
40622 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40623 manually insert a '\n'.
40624 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40625 `grub_ofconsole_height'. Return early if these are already set.
40626
a8fcf206 406272005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40628
40629 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40630 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40631 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40632 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40633 and `normal/script.c'.
40634 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40635 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40636 (test_mod_SOURCES): New variable.
40637 (test_mod_CFLAGS): Likewise.
40638 (test_mod_LDFLAGS): Likewise.
40639 (pkgdata_MODULES): Add `test.mod'.
40640 (grub_script.tab.c): New rule.
40641 (grub_script.tab.h): Likewise.
40642
b6b32745 406432005-11-07 Marco Gerards <mgerards@xs4all.nl>
40644
40645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40646 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40647 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40648 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40649 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40650 (test_mod_SOURCES): New variable.
40651 (test_mod_CFLAGS): Likewise.
40652 (pkgdata_MODULES): Add `test.mod'.
40653 (grub_script.tab.c): New rule.
40654 (grub_script.tab.h): Likewise.
40655
daac212a 406562005-11-06 Marco Gerards <mgerards@xs4all.nl>
40657
40658 Add initial scripting support.
40659
40660 * commands/test.c: New file.
40661 * include/grub/script.h: Likewise.
40662 * normal/execute.c: Likewise.
40663 * normal/function.c: Likewise.
40664 * normal/lexer.c: Likewise.
40665 * normal/parser.y: Likewise.
40666 * normal/script.c: Likewise.
40667
40668 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40669
daac212a 40670 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40671 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40672 `normal/function.c' and `normal/script.c'.
40673 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40674 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40675 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40676 variables.
daac212a 40677 (pkgdata_MODULES): Add `test.mod'.
40678 (grub_script.tab.c): New rule.
40679 (grub_script.tab.h): Likewise.
40680
40681 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40682
40683 * include/grub/normal.h (grub_test_init): New prototype.
40684 (grub_test_fini): Likewise.
f19dbdb7 40685
daac212a 40686 * normal/command.c: Include <grub/script.h>.
40687 (grub_command_execute): Rewritten.
f19dbdb7 40688
daac212a 40689 * util/grub-emu.c (main): Call `grub_test_init' and
40690 `grub_test_fini'.
40691
77500b2b 406922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40693
40694 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40695 to 0.
40696 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40697 there are no pending characters.
40698
e45deb9e 406992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40700
40701 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40702 `grub_strndup' to drop device arguments. Replace unnecessary
40703 `grub_strndup' with `grub_strdup'.
40704
4ce32619 407052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40706
40707 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40708 `debug' environment variable has been set.
40709
407102005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40711
4ce32619 40712 * Makefile.in (install-local): Use $(DATA).
40713 (uninstall): Likewise.
40714 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40715 (sbin_UTILITIES): ... to here.
40716 (sbin_SCRIPTS): New variable.
40717 (grub_install_SOURCES): New variable.
40718 * util/powerpc/ieee1275/grub-install.in: New file.
40719 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40720 variable.
40721 (add_segments): Call `grub_util_get_path'.
40722
25fe6f03 407232005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40724
40725 From Timothy Baldwin:
40726 * commands/ls.c (grub_ls_list_files): Close FILE with
40727 grub_file_close.
40728 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40729
04ccf3ec 407302005-10-24 Marco Gerards <mgerards@xs4all.nl>
40731
40732 * include/grub/parser.h: New file.
40733
40734 * kern/parser.c: Likewise.
40735
40736 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40737 (grub_setup_SOURCES): Likewise.
40738 (grub_probefs_SOURCES): Likewise.
40739 (grub_emu_SOURCES): Likewise.
40740 (kernel_img_HEADERS): Add `parser.h'.
40741
40742 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40743 (grub_emu_SOURCES): Add `kern/parser.c'.
40744 (grubof_SOURCES): Likewise.
40745
40746 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40747 (grubof_SOURCES): Add `kern/parser.c'.
40748
40749 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40750
40751 * kern/misc.c (grub_split_cmdline): Removed function.
40752
40753 * kern/rescue.c: Include <grub/parser.h>.
40754 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40755 of `grub_split_cmdline'.
40756
40757 * normal/command.c: Include <grub/parser.h>.
40758 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40759 of `grub_split_cmdline'.
40760
40761 * normal/completion.c: Include <grub/parser.h>.
40762 (cmdline_state): New variable.
40763 (iterate_dir): End the filename with a quote depending on the
40764 command line state.
40765 (get_state): new function.
40766 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40767 split the arguments and determine the current argument. When the
40768 argument string is not quoted, escape all spaces.
40769
6d8f4b0e 407702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40771
40772 * normal/sparc64/setjmp.S: New file.
40773
15cf03ed 407742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40775
40776 * include/grub/sparc64/libgcc.h: New file.
40777 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40778 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40779 normal/sparc64/setjmp.c.
40780
03e8661a 407812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40782
40783 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40784 * kern/sparc64/cache.S: New file.
40785 * kern/sparc64/cache.c: Removed.
40786 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40787 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40788 -mtune=ultrasparc.
40789 (COMMON_LDFLAGS): Add -melf64_sparc.
40790 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40791 (grubof_SOURCES): Use cache.S instead of cache.c.
40792 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40793 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40794 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40795 commented though.
40796 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40797 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40798 (linux_mod_CFLAGS): Commented out.
40799 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40800 out because module isn't built.
40801 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40802 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40803 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40804 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40805 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40806 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40807 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40808 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40809 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40810 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40811 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40812 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40813 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40814 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40815
34eeec8a 408162005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40817
40818 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40819 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40820 longer, because HFS should not be used on PC.
40821
708367a3 408222005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40823
40824 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40825 consistently within the loop.
40826
6fa1251a 408272005-10-15 Marco Gerards <mgerards@xs4all.nl>
40828
40829 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40830 directory can not be read.
40831
4801580b 408322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40833
40834 * configure.ac (AC_INIT): Increase the version number to 1.91.
40835
40836 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40837 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40838 term/i386/pc/serial.c.
40839
219ad426 408402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40841
40842 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40843 file size must be permitted.
40844
40845 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40846 between %ah and %al.
40847
688e5699 408482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40849
40850 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40851 grub_uint64_t.
40852 Call the hook with a NUL-terminated filename.
40853 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40854 grub_cpu_to_be32.
40855
40856 * kern/term.c (cursor_state): New variable.
40857 (grub_term_set_current): Reset the cursor state on a new
40858 terminal.
40859 (grub_setcursor): Rewritten to use CURSOR_STATE.
40860 (grub_getcursor): New function.
40861
40862 * include/grub/term.h (grub_getcursor): New prototype.
40863
40864 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40865 integers on ARM. Reported by Timothy Baldwin
40866 <T.E.Baldwin99@members.leeds.ac.uk>.
40867
bb34586c 408682005-10-11 Marco Gerards <mgerards@xs4all.nl>
40869
40870 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40871 allocated.
40872 (grub_sfs_dir): Likewise.
40873
9a909877 408742005-10-09 Marco Gerards <mgerards@xs4all.nl>
40875
40876 Add support for the SFS filesystem.
40877
40878 * fs/sfs.c: New file.
40879
40880 * DISTLIST: Added `fs/sfs.c'.
40881
40882 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40883 (grub_probefs_SOURCES): Likewise.
40884 (grub_emu_SOURCES): Likewise.
40885 (pkgdata_MODULES): Add `sfs.mod'.
40886 (sfs_mod_SOURCES): New variable.
40887 (sfs_mod_CFLAGS): Likewise.
40888 (sfs_mod_LDFLAGS): Likewise.
40889
40890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40891 (pkgdata_MODULES): Add `sfs.mod'.
40892 (sfs_mod_SOURCES): New variable.
40893 (sfs_mod_CFLAGS): Likewise.
40894
40895 * util/grub-emu.c (main): Call `grub_sfs_init' and
40896 `grub_sfs_fini'.
40897
40898 * include/grub/fs.h (grub_sfs_init): New prototype.
40899 (grub_sfs_fini): Likewise.
40900
57bdbde3 409012005-10-07 Marco Gerards <mgerards@xs4all.nl>
40902
40903 Add support for the AFFS filesystem.
40904
40905 * fs/affs.c: New file.
40906
40907 * DISTLIST: Added `fs/affs.c'.
40908
40909 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40910 (grub_probefs_SOURCES): Likewise.
40911 (grub_emu_SOURCES): Likewise.
40912 (pkgdata_MODULES): Add `affs.mod'.
40913 (affs_mod_SOURCES): New variable.
40914 (affs_mod_CFLAGS): Likewise.
40915 (affs_mod_LDFLAGS): Likewise.
40916
40917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40918 (pkgdata_MODULES): Add `affs.mod'.
40919 (affs_mod_SOURCES): New variable.
40920 (affs_mod_CFLAGS): Likewise.
40921
40922 * util/grub-emu.c (main): Call `grub_affs_init' and
40923 `grub_affs_fini'.
40924
40925 * include/grub/fs.h (grub_affs_init): New prototype.
40926 (grub_affs_fini): Likewise.
40927
047b67e0 409282005-10-01 Marco Gerards <mgerards@xs4all.nl>
40929
40930 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40931
59b8208a 409322005-10-01 Marco Gerards <mgerards@xs4all.nl>
40933
40934 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40935 `-m32' to CFLAGS.
40936
40937 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40938 linking.
f19dbdb7 40939
59b8208a 40940 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40941 (COMMON_LDFLAGS): New variable.
40942 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40943 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40944 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40945 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40946 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40947 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40948 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40949 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40950 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40951 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40952 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40953 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40954 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40955 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40956 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40957 variables.
40958 (normal_mod_ASFLAGS): Add `-m32'.
40959
40960 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40961 (grub_host_size_t, grub_host_ssize_t): New types.
40962 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40963 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40964 `GRUB_HOST_SIZEOF_VOID_P'.
40965
40966 * include/grub/kernel.h (struct grub_module_header): Type of
40967 member offset changed to `grub_host_off_t'. Type of member size
40968 changed to `grub_host_size_t'.
40969 (struct grub_module_info): Type of member offset changed to
40970 `grub_host_off_t'. Type of member size changed to
40971 `grub_host_size_t'.
40972
b4093103 409732005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40974
40975 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40976
b4093103 40977 * kern/i386/pc/startup.S (multiboot_header): New label.
40978 (multiboot_entry): Likewise.
40979 (multiboot_trampoline): Likewise.
40980
40981 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40982 Increased to 0x4A0.
40983
40984 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40985 put parentheses after a question mark.
40986 [!GRUB_UTIL] (my_mod): New variable.
40987
40988 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40989
b2499b29 409902005-09-28 Marco Gerards <mgerards@xs4all.nl>
40991
40992 Adds support for the XFS filesystem. Btrees are not supported
40993 yet.
40994
40995 * fs/xfs.c: New file.
40996
40997 * DISTLIST: Added `fs/xfs.c'.
40998
40999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41000 (grub_probefs_SOURCES): Likewise.
41001 (grub_emu_SOURCES): Likewise.
41002 (pkgdata_MODULES): Add `xfs.mod'.
41003 (xfs_mod_SOURCES): New variable.
41004 (xfs_mod_CFLAGS): Likewise.
41005
41006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41007 (pkgdata_MODULES): Add `xfs.mod'.
41008 (xfs_mod_SOURCES): New variable.
41009 (xfs_mod_CFLAGS): Likewise.
41010
41011 * util/grub-emu.c (main): Call `grub_xfs_init' and
41012 `grub_xfs_fini'.
41013
41014 * include/grub/fs.h (grub_xfs_init): New prototype.
41015 (grub_xfs_fini): Likewise.
41016
f19dbdb7 41017
83d37a62 410182005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41019
41020 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41021 color modes, allow greater than 16 colors to be configured as
41022 a default palette.
41023
47d2d65e 410242005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41025
41026 * normal/completion.c (complete_arguments): Add the qualifier
41027 const into OPTIONS.
41028
41029 From Omniflux <omniflux+lists@omniflux.com>:
41030 * include/grub/terminfo.h: New file.
41031 * include/grub/tparm.h: Likewise.
41032 * include/grub/i386/pc/serial.h: Likewise.
41033 * term/terminfo.c: Likewise.
41034 * term/tparm.c: Likewise.
41035 * term/i386/pc/serial.c: Likewise.
41036 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41037 serial.mod.
41038 (terminfo_mod_SOURCES): New variable.
41039 (terminfo_mod_CFLAGS): Likewise.
41040 (serial_mod_SOURCES): Likewise.
41041 (serial_mod_CFLAGS): Likewise.
41042
48b671ff 410432005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41044
41045 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41046 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41047 and kern/powerpc/ieee1275/cmain.c, respectively.
41048
41049 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41050 * kern/powerpc/ieee1275/crt0.S: ... here.
41051
41052 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41053 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41054
48b671ff 41055 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41056 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41057 instead of boot/powerpc/ieee1275/crt0.S and
41058 boot/powerpc/ieee1275/cmain.c, respectively.
41059
41060 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41061 sectors. It was not used anyway.
41062
09fc77a7 410632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41064
41065 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41066 `unused parameter' warning.
41067
003789c7 410682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41069
41070 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41071 function.
41072 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41073 getcharwidth.
41074
67f44c86 410752005-08-28 Marco Gerards <metgerards@student.han.nl>
41076
41077 * include/grub/normal.h (enum grub_completion_type): Added
41078 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41079
41080 * normal/cmdline.c (print_completion): Handle
41081 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41082 * normal/menu_entry.c (store_completion): Likewise.
41083
41084 * normal/completion.c (complete_arguments): New function.
41085 (grub_normal_do_completion): Call `complete_arguments' when the
41086 current words start with a dash.
41087
0b5abe02 410882005-08-27 Marco Gerards <metgerards@student.han.nl>
41089
41090 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41091 `gzio.mod' instead of `io.mod').
41092
d9864ee1 410932005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41094
41095 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41096 (DISTDIRS): Added io and video.
41097 Rewrite the search routine to make an output consistently.
41098
41099 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41100 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41101 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41102 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41103 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41104 util/powerpc/ieee1275/misc.c.
f19dbdb7 41105
d9864ee1 41106 * include/grub/gzio.h: New file.
41107 * io/gzio.c: Likewise.
f19dbdb7 41108
d9864ee1 41109 * kern/file.c (grub_file_close): Call grub_device_close only if
41110 FILE->DEVICE is not NULL.
41111
41112 * include/grub/mm.h [!NULL] (NULL): New macro.
41113
41114 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41115
41116 * conf/powerpc-ieee1275.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 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41122 (pkgdata_MODULES): Added gzio.mod.
41123 (gzio_mod_SOURCES): New variable.
41124 (gzio_mod_CFLAGS): Likewise.
41125
41126 * commands/cat.c: Include grub/gzio.h.
41127 (grub_cmd_cat): Use grub_gzfile_open instead of
41128 grub_file_open.
f19dbdb7 41129
d9864ee1 41130 * commands/cmp.c: Include grub/gzio.h.
41131 (grub_cmd_cmp): Use grub_gzfile_open instead of
41132 grub_file_open.
41133
41134 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41135 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41136 grub_file_open.
41137 (grub_rescue_cmd_module): Likewise.
41138
fa46f4b5 411392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41140
41141 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41142 kern/sparc64/ieee1275/init.c because it contains _start.
41143 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41144
e9211b5d 411452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41146
41147 * configure.ac: Add support for sparc64 host with ieee1275
41148 firmware.
41149 * configure: Generated from configure.ac.
41150 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41151 instead of int.
41152 (grub_ofdisk_read): Likewise.
41153 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41154 pointers as (void *) to remove a warning.
41155 (grub_ofdisk_close): Likewise.
41156 (grub_ofdisk_read): Likewise.
41157 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41158 returns, so make it return void to remove a warning.
41159 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41160 Corresponding prototype change.
41161 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41162 values, and cast the pointers as (void *) to remove a warning.
41163 (grub_mm_dump): Likewise.
41164 * conf/sparc64-ieee1275.mk: New file.
41165 * conf/sparc64-ieee1275.rmk: Likewise.
41166 * include/grub/sparc64/setjmp.h: Likewise.
41167 * include/grub/sparc64/types.h: Likewise.
41168 * include/grub/sparc64/ieee1275/console.h: Likewise.
41169 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41170 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41171 * include/grub/sparc64/ieee1275/time.h: Likewise.
41172 * kern/sparc64/cache.c: Likewise.
41173 * kern/sparc64/dl.c: Likewise.
41174 * kern/sparc64/ieee1275/init.c: Likewise.
41175 * kern/sparc64/ieee1275/openfw.c: Likewise.
41176
385c6a92 411772005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41178
41179 * util/console.c (grub_ncurses_putchar): If C is greater than
41180 0x7f, set C to a question mark.
41181 (grub_ncurses_getcharwidth): New function.
41182 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41183 getcharwidth.
41184
41185 * normal/menu.c (print_entry): Made aware of Unicode. First,
41186 convert TITLE to UCS-4, and predict the cursor position by
41187 grub_getcharwidth.
41188
41189 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41190 const to SRC.
41191 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41192
16ccb8b1 411932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41194
41195 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41196 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41197 grub_strcat.
41198
41199 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41200 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41201 grub_strcpy and grub_strlen. Take it into account that a space
41202 character is inserted as a delimiter.
41203
6a85ce79 412042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41205
41206 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41207 invalid magic in the error.
6a85ce79 41208
41209 * commands/search.c: New file.
f19dbdb7 41210
6a85ce79 41211 * util/grub-emu.c (main): Call grub_search_init and
41212 grub_search_fini.
41213
41214 * kern/rescue.c (grub_rescue_print_disks): Removed.
41215 (grub_rescue_print_devices): New function.
41216 (grub_rescue_cmd_ls): Use grub_device_iterate with
41217 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41218 grub_rescue_print_disks.
41219
41220 * kern/partition.c (grub_partition_iterate): Return the result of
41221 PARTMAP->ITERATE instead of GRUB_ERRNO.
41222
41223 * kern/device.c: Include grub/partition.h.
41224 (grub_device_iterate): New function.
41225
41226 * include/grub/partition.h (grub_partition_iterate): Return int
41227 instead of grub_err_t.
41228
41229 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41230 prototype.
41231 [GRUB_UTIL] (grub_search_fini): Likewise.
41232
41233 * include/grub/device.h (grub_device_iterate): New prototype.
41234
41235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41236 commands/search.c.
41237 (pkgdata_MODULES): Added search.mod.
41238 (search_mod_SOURCES): New variable.
41239 (search_mod_CFLAGS): Likewise.
41240
41241 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41242 (pkgdata_MODULES): Added search.mod.
41243 (search_mod_SOURCES): New variable.
41244 (search_mod_CFLAGS): Likewise.
41245
41246 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41247 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41248 All callers changed.
41249
41250 * DISTLIST: Added commands/search.c.
41251
ef095434 412522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41253
41254 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41255 conversion.
41256 (grub_getcharwidth): New function.
41257
41258 * kern/misc.c (grub_utf8_to_ucs4): New function.
41259
41260 * include/grub/term.h (struct grub_term): Added a new member
41261 "getcharwidth".
41262 (grub_getcharwidth): New prototype.
41263
41264 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41265
41266 * term/i386/pc/console.c (map_char): New function. Segregated from
41267 grub_console_putchar.
41268 (grub_console_putchar): Use map_char.
41269 (grub_console_getcharwidth): New function.
41270 (grub_console_term): Specified grub_console_getcharwidth as
41271 getcharwidth.
41272
41273 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41274 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41275
41276 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41277 GRUB_ERRNO.
41278 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41279 on grub_strtoul completely.
41280 (write_char): Declare local variables in the beginning of the
41281 function.
41282 (grub_vesafb_getcharwidth): New function.
41283 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41284 getcharwidth.
41285
1f0a95e4 412862005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41287
41288 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41289 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41290 commands/i386/pc/vbetest.c.
41291
41292 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41293 call grub_vbe_get_controller_info again, because the returned
41294 information is volatile.
41295 (grub_vbe_set_video_mode): Mostly rewritten.
41296 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41297 grub_vbe_status_t correctly.
41298 (grub_vbe_get_video_mode_info): Likewise.
41299 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41300 several if statements.
41301
41302 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41303 * commands/i386/pc/vbeinfo.c: ... this.
41304
41305 * commands/i386/pc/vbe_test.c: Renamed to ...
41306 * commands/i386/pc/vbetest.c: ... this.
41307
41308 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41309 ...
41310 (grub_cmd_vbeinfo): ... this. Save video modes before
41311 iterating. Skip a video mode, if it is not available, not enough
41312 information is given or it is monochrome. Show the memory
41313 model. Leave the interpretation of MODEVAR to grub_strtoul
41314 completely.
41315 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41316 (GRUB_MOD_FINI): Likewise.
41317
41318 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41319 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41320 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41321 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41322 grub_strtoul completely.
41323 (real2pm): Removed.
41324 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41325 (GRUB_MOD_FINI): Likewise.
41326
41327 * normal/misc.c: Include grub/mm.h.
41328
41329 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41330 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41331 (vbe_list_modes_mod_SOURCES): Removed.
41332 (vbe_list_modes_mod_CFLAGS): Likewise.
41333 (vbe_test_mod_SOURCES): Likewise.
41334 (vbe_test_mod_CFLAGS): Likewise.
41335 (vbeinfo_mod_SOURCES): New variable.
41336 (vbeinfo_mod_CFLAGS): Likewise.
41337 (vbetest_mod_SOURCES): Likewise.
41338 (vbetest_mod_CFLAGS): Likewise.
41339
992ffbbe 413402005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41341
41342 * normal/misc.c: New file.
41343
41344 * DISTLIST: Added normal/misc.c.
f19dbdb7 41345
992ffbbe 41346 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41347 DISK to HOOK. Call HOOK with DISK.
41348 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41349 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41350 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41351
41352 * normal/menu_entry.c (struct screen): Added a new member
41353 "completion_shown".
41354 (completion_buffer): New global variable.
41355 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41356 (store_completion): New function.
41357 (complete): Likewise.
41358 (clear_completions): Likewise.
41359 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41360 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41361 a tab, call complete.
41362
41363 * normal/completion.c (disk_dev): Removed.
41364 (print_simple_completion): Likewise.
41365 (print_partition_completion): Likewise.
41366 (print_func): New global variable.
41367 (add_completion): Do not take the arguments WHAT or PRINT any
41368 longer. Added a new argument TYPE. Instead of printing directly,
41369 call PRINT_FUNC if not NULL.
41370 All callers changed.
41371 (complete_device): Use a local variable DEV instead of
41372 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41373 (grub_normal_do_completion): Take a new argument HOOK. Do not
41374 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41375 empty string, return NULL instead.
41376 All callers changed.
41377
41378 * normal/cmdline.c (print_completion): New function.
41379
41380 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41381 to HOOK.
41382 All callers changed.
41383
41384 * kern/disk.c (grub_print_partinfo): Removed.
41385
41386 * include/grub/partition.h (struct grub_partition_map): Add a new
41387 argument DISK into HOOK of ITERATE.
41388 (grub_partition_iterate): Add a new argument DISK to HOOK.
41389
41390 * include/grub/normal.h (enum grub_completion_type): New enum.
41391 (grub_completion_type_t): New type.
41392 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41393 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41394 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41395 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41396 (grub_normal_do_completion): Added a new argument HOOK.
41397 (grub_normal_print_device_info): New prototype.
41398
41399 * include/grub/disk.h (grub_print_partinfo): Removed.
41400
41401 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41402 (normal_mod_SOURCES): Likewise.
41403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41404 (normal_mod_SOURCES): Likewise.
41405
41406 * commands/ls.c (grub_ls_list_disks): Use
41407 grub_normal_print_device_info instead of grub_print_partinfo. Free
41408 PNAME.
41409 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41410 duplicating the code.
41411
0bd41162 414122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41413
41414 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41415 follow GCS more precisely.
41416 * commands/i386/pc/vbe_test.c: Likewise.
41417 * include/grub/i386/pc/vbe.h: Likewise.
41418 * term/i386/pc/vesafb.c: Likewise.
41419 * video/i386/pc/vbe.c: Likewise.
0bd41162 41420
6323696a 414212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41422
41423 * DISTLIST: Added term/i386/pc/vesafb.c
41424 DISTLIST: Added video/i386/pc/vbe.c
41425 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41426 DISTLIST: Added commands/i386/pc/vbe_test.c.
41427 * commands/i386/pc/vbe_list_modes.c: New file.
41428 * commands/i386/pc/vbe_test.c: Likewise.
41429 * term/i386/pc/vesafb.c: Likewise.
41430 * video/i386/pc/vbe.c: Likewise.
41431 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41432 (grub_vbe_probe) Added prototype.
41433 (grub_vbe_set_video_mode) Likewise.
41434 (grub_vbe_get_video_mode) Likewise.
41435 (grub_vbe_get_video_mode_info) Likewise.
41436 (grub_vbe_set_pixel_rgb) Likewise.
41437 (grub_vbe_set_pixel_index) Likewise.
41438 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41439 (pkgdata_MODULES): Added vesafb.mod.
41440 (pkgdata_MODULES): Added vbe_list_modes.mod.
41441 (pkgdata_MODULES): Added vbe_test.mod.
41442 (vbe_mod_SOURCES): Added.
41443 (vbe_mod_CFLAGS): Likewise.
41444 (vesafb_mod_SOURCES): Likewise.
41445 (vesafb_mod_CFLAGS): Likewise.
41446 (vbe_list_modes_mod_SOURCES): Likewise.
41447 (vbe_list_modes_mod_CFLAGS): Likewise.
41448 (vbe_test_mod_SOURCES): Likewise.
41449 (vbe_test_mod_CFLAGS): Likewise.
41450
0a74e62f 414512005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41452
0a74e62f 41453 * normal/command.c (grub_command_execute): If INTERACTIVE is
41454 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41455 CMDLINE. Disable the pager if INTERACTIVE is true.
41456 All callers are changed.
41457
41458 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41459 before reading a config file.
41460 * normal/main.c (read_config_file): Even if a command is not
41461 found, register it if it is within an entry.
41462
41463 * util/grub-emu.c: Include sys/types.h and unistd.h.
41464 (options): Added --hold.
41465 (struct arguments): Added a new member "hold".
41466 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41467 missing.
41468 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41469 cleared by a debugger, if it is not zero.
41470
41471 * include/grub/normal.h (grub_command_execute): Add an argument
41472 INTERACTIVE.
41473
e51f85ae 414742005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41475
41476 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41477
e9c6f39b 414782005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41479
41480 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41481 program with another one, because the old one didn't detect a bug
41482 in gcc-3.4. Always use regparm 2, because the new test is still
41483 not enough for gcc-4.0. Someone must investigate a simple test
41484 case which detects a bug in gcc-4.0.
41485
8de3495c 414862005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41487
41488 * DISTLIST: Added normal/completion.c.
41489
41490 * normal/completion.c: New file.
f19dbdb7 41491
8de3495c 41492 * term/i386/pc/console.c (grub_console_getwh): New function.
41493 (grub_console_term): Assign grub_console_getwh to getwh.
41494
41495 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41496 function is defined in normal/completion.c as
41497 grub_normal_do_completion.
41498 (grub_cmdline_get): Use grub_normal_do_completion instead of
41499 grub_tab_complete.
41500
41501 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41502 returns non-zero, otherwise return 0.
41503 (grub_partition_iterate): First, probe the partition map. Then,
41504 call ITERATE only for this partition map.
41505
41506 * kern/misc.c (grub_strncmp): Rewritten.
41507
41508 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41509 returns non-zero. Otherwise return 0.
41510
41511 * include/grub/partition.h (grub_partition_map_iterate): Return
41512 int instead of void.
41513
41514 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41515
41516 * include/grub/misc.h (grub_strncmp): Change the type of N to
41517 grub_size_t.
41518
41519 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41520 of void.
41521
41522 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41523 unsigned explicitly before comparing it with I.
8de3495c 41524
41525 * kern/main.c (grub_env_write_root): Add the attribute unused into
41526 VAR.
41527
41528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41529 normal/completion.c.
41530 (normal_mod_SOURCES): Likewise.
41531 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41532 (normal_mod_SOURCES): Likewise.
41533
41534 * normal/command.c (grub_iterate_commands): If ITERATE returns
41535 non-zero, return one immediately.
41536
e85e144b 415372005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41538
41539 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41540 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41541 descriptions.
41542 (grub_vbe_get_controller_info): New function.
41543 (grub_vbe_get_mode_info): Likewise.
41544 (grub_vbe_set_mode): Likewise.
41545 (grub_vbe_get_mode): Likewise.
41546 (grub_vbe_set_memory_window): Likewise.
41547 (grub_vbe_get_memory_window): Likewise.
41548 (grub_vbe_set_scanline_length): Likewise.
41549 (grub_vbe_get_scanline_length): Likewise.
41550 (grub_vbe_set_display_start): Likewise.
41551 (grub_vbe_get_display_start): Likewise.
41552 (grub_vbe_set_palette_data): Likewise.
41553 * include/grub/i386/pc/vbe.h: New file.
41554
c46153d2 415552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41556
41557 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41558 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41559 * DISTLIST: Likewise.
41560 * kern/ieee1275/of.c: Moved to ...
41561 * kern/ieee1275/ieee1275.c: ... here.
41562
0cb90c45 415632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41564
41565 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41566 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41567 Pass 0 as `end' parameter to grub_strtoul().
41568
a19fb360 415692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41570
41571 * include/grub/powerpc/ieee1275/console.h: Do not include
41572 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41573 ifdef.
41574 (grub_console_cur_color): Remove i386-specific prototype.
41575 (grub_console_real_putchar): Likewise.
41576 (grub_console_checkkey): Likewise.
41577 (grub_console_getkey): Likewise.
41578 (grub_console_getxy): Likewise.
41579 (grub_console_gotoxy): Likewise.
41580 (grub_console_cls): Likewise.
41581 (grub_console_setcursor): Likewise.
41582 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41583 Include <grub/machine/console.h>.
41584 * term/ieee1275/ofconsole.c: Likewise.
41585
4ac9bd04 415862005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41587
41588 * Makefile.in (LIBLZO): New variable.
41589
41590 * configure.ac: Check for LZO version 2.
41591
41592 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41593 lzo/lzo1x.h instead of lzo1x.h.
41594
41595 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41596 of -llzo.
41597
41598 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41599 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41600
41601 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41602 copying the data from PARTITION to P.
41603
f4917dfd 416042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41605
41606 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41607 negative, unload the module.
41608
41609 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41610 map is "pc_partition_map" but not "pc".
41611 (usage): Fix the description. The options are --boot-image and
41612 --core-image but not --boot-file or --core-file.
41613 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41614 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41615 DEFAULT_DIRECTORY.
41616
41617 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41618 --core-file. Specify INSTALL_DEVICE as an argument.
41619
41620 * util/console.c: Include config.h.
41621 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41622 [HAVE_NCURSES_H]: Include ncurses.h.
41623 [HAVE_CURSES_H]: Include curses.h.
41624 [!A_NORMAL] (A_NORMAL): Defined as zero.
41625 [!A_STANDOUT] (A_STANDOUT): Likewise.
41626
41627 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41628 -lncurses.
41629 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41630
41631 * configure.ac: Check for curses libraries and headers.
41632
41633 * Makefile.in (LIBCURSES): New variable.
41634
41635 * genmk.rb (Script::rule): Set the executable bits.
41636
41637 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41638 name of the PC partition map is "pc_partition_map" but not "pc".
41639
0e143073 416402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41641
41642 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41643 (modules): Likewise.
41644 (usage): Added descriptions for --modules and --grub-probefs.
41645 Handle --modules and --grub-probefs. Save the arguments in MODULES
41646 and GRUB_PROBEFS, respectively.
41647 Auto-detect a filesystem module against GRUBDIR. If the result is
41648 empty and modules are not specified explicitly, abort the
41649 installation. Add the result to MODULES.
41650
41651 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41652 disk/powerpc/ieee1275/ofdisk.c,
41653 include/grub/powerpc/ieee1275/init.h and
41654 term/powerpc/ieee1275/ofconsole.c.
41655 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41656 term/ieee1275/ofconsole.c.
41657
41658 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41659
41660 * COPYING: Upgraded to the latest version. Only the address of the
41661 FSF office has changed.
f19dbdb7 41662
efd6e6d5 416632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41664
41665 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41666 kern/ieee1275.c with kern/ieee1275/of.c.
41667
41668 * kern/ieee1275.c: Moved to ...
41669 * kern/ieee1275/of.c: ... here.
41670
8ceafda2 416712005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41672
41673 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41674 readability.
8ceafda2 41675
41676 * config.guess: Updated to the latest version from gnulib.
41677 * config.sub: Likewise.
41678 * install.sh: Likewise.
41679 * mkinstalldirs: Likewise.
41680
41681 * include/grub/console.h: Removed. This file is arch-specific. Do
41682 not put this in include/grub.
41683
41684 * include/grub/i386/pc/console.h: Resurrected.
41685
41686 * util/console.c: Include grub/machine/console.h instead of
41687 grub/console.h.
41688 * util/grub-emu.c: Likewise.
41689
267f6cd9 416902005-08-04 Marco Gerards <metgerards@student.han.nl>
41691
41692 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41693 hardcoded value.
f19dbdb7 41694
267f6cd9 41695 From Vincent Pelletier <subdino2004@yahoo.fr>
41696 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41697 Redefined to use grub_getwh.
41698 (grub_term): New member named getwh.
41699 (grub_getwh): New prototype.
41700 * kern/term.c (grub_getwh): New function.
41701 * term/i386/pc/console.c (grub_console_getwh): New function.
41702 (grub_console_term): New member `getwh'.
41703 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41704 (grub_vga_term): New member `getwh'.
0b5abe02 41705 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41706 grub_ssize_t.
41707 (grub_ofconsole_getw): New function.
41708 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41709 (grub_ofconsole_term): New field named getwh and new initial
41710 value.
41711
3be7266d 417122005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41713
41714 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41715 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41716 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41717 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41718 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41719 of <grub/machine/ieee1275.h>.
41720 * commands/ieee1275/reboot.c: Likewise.
41721 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41722 * kern/ieee1275.c: ... to here. All users updated. Change all
41723 parameter structs to use new type `grub_ieee1275_cell_t'.
41724 * term/powerpc/ieee1275/ofconsole.c: Move ...
41725 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41726 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41727 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41728 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41729 to return int.
41730 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41731 Remove unused prototypes. All users updated.
41732 * include/grub/powerpc/ieee1275/console.h: Removed.
41733 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41734 `grub_ieee1275_cell_t'.
41735 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41736 Cast comparisons with -1 to the correct type.
41737 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41738 type to match `grub_ieee1275_entry_fn'.
41739
8b5f3938 417402005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41741
41742 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41743
41744 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41745 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41746 partmap/sun.c.
41747 (grub_probefs_SOURCES): New variable.
41748
41749 * util/i386/pc/grub-probefs.c: New file.
41750
41751 * util/i386/pc/grub-setup.c (main): Call
41752 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41753 grub_hfs_init and grub_jfs_init to initialize the system. Call
41754 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41755 grub_pc_partition_map_fini to finish the system.
41756
ea409713 417572005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41758
41759 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41760 function.
41761 (grub_multiboot_load_elf32): Likewise.
41762 (grub_multiboot_is_elf64): Likewise.
41763 (grub_multiboot_load_elf64): Likewise.
41764 (grub_multiboot_load_elf): Likewise.
41765 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41766 an ELF32 or ELF64 file.
41767 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41768
41769 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41770 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41771 NULL before calling FS->LABEL.
41772 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41773 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41774 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41775 before calling FS->LABEL.
41776
141a288b 417772005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * util/i386/pc/grub-install.in (datadir): New variable.
41780 (libdir): Removed.
41781 (pkgdatadir): New variable.
41782 (pkglibdir): Removed.
41783
0d5f8a54 417842005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41785
41786 * DISTLIST: Added util/i386/pc/grub-install.in.
41787
41788 * util/i386/pc/grub-install.in: New file.
41789
41790 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41791 (grub_install_SOURCES): Likewise.
41792
41793 * genmk.rb: Added support for scripts.
41794 (Script): New class.
41795 (scripts): New variable.
41796
41797 * Makefile.in (install-local): Install sbin_SCRIPTS by
41798 INSTALL_SCRIPT.
41799 (uninstall): Remove sbin_SCRIPTS.
41800
41801 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41802 device, try to get a GRUB device by
41803 grub_util_biosdisk_get_grub_dev.
41804 Free DEST_DEV.
41805
41806 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41807 description for --device-map.
41808
5f968e1e 418092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41810
41811 Change the semantics of variable hooks. They now return strings
41812 instead of error values.
f19dbdb7 41813
5f968e1e 41814 * util/i386/pc/grub-setup.c: Include grub/env.h.
41815 (setup): Use grub_device_set_root instead of grub_env_set.
41816
41817 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41818 grub_env_get instead of grub_device_set_root and
41819 grub_device_get_root, respectively.
41820
41821 * kern/main.c (grub_env_write_root): New function.
41822 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41823 grub_env_set instead of grub_device_set_root.
41824
41825 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41826 many variables.
41827 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41828 rather than calling ENV->WRITE_HOOK afterwards.
41829 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41830 passing a pointer of a pointer.
41831 (grub_register_variable_hook): Change the types of "read_hook" and
41832 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41833 respectively.
41834 Allocate the default empty string on the heap, because this string
41835 may be freed later.
41836
41837 * kern/device.c: Include grub/env.h.
41838 (grub_device_set_root): Removed.
41839 (grub_device_get_root): Likewise.
41840 (grub_device_open): Use grub_env_get instead of
41841 grub_device_get_root.
41842
41843 * include/grub/env.h (grub_env_read_hook_t): New type.
41844 (grub_env_write_hook_t): Likewise.
41845 (grub_env_var): Change the types of "read_hook" and "write_hook"
41846 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41847 (grub_register_variable_hook): Likewise.
41848
41849 * include/grub/device.h (grub_device_set_root): Removed.
41850 (grub_device_set_root): Likewise.
41851
41852 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41853 make sure that DIRNAME terminates with '/', so that
41854 grub_fat_find_dir will fail if PATH is not a directory.
41855
41856 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41857 from DIRNAME.
41858 Use the qualifier auto for print_files and print_files_long.
41859 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41860 as a regular file.
41861 Put a newline only if there is no error.
41862 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41863 used.
41864
896f0afd 418652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41866
41867 * kern/partition.c (grub_partition_probe): Initialize PART to
41868 NULL. Otherwise, when no partition map is registered, this returns
41869 a garbage.
41870
b28b81b2 418712005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41872
41873 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41874 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41875 valid.
41876
5f3607e0 418772005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41878
41879 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41880 information on each device, if it does not have partitions. Print
41881 "Device" instead of "Disk", because this function is not specific
41882 to disk devices.
41883
41884 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41885 static to ensure that it is put on the memory rather than a
41886 register.
41887
502c87e8 418882005-07-17 Yoshinori Okuji <okuji@enbug.org>
41889
41890 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41891 (grub_cat_init): Likewise.
41892 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41893 (options): Likewise.
41894 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41895 (grub_configfile_init): Likewise.
41896 * font/manager.c (GRUB_MOD_INIT): Likewise.
41897 * commands/help.c (GRUB_MOD_INIT): Likewise.
41898 (grub_help_init): Likewise.
41899 * normal/command.c (grub_command_init): Likewise.
41900 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41901 * disk/loopback.c (grub_loop_init): Likewise.
41902 (GRUB_MOD_INIT): Likewise.
41903 * commands/ls.c (grub_ls_init): Likewise.
41904 (GRUB_MOD_INIT): Likewise.
41905 (options): Likewise.
41906 * commands/boot.c (grub_boot_init): Likewise.
41907 (GRUB_MOD_INIT): Likewise.
41908 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41909 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41910 (GRUB_MOD_INIT): Likewise.
41911 * commands/cmp.c (grub_cmp_init): Likewise.
41912 (GRUB_MOD_INIT): Likewise.
41913
41914 * normal/arg.c: Use <> instead of "" to include header files.
41915 (SHORT_ARG_HELP): New macro.
41916 (SHORT_ARG_USAGE): Likewise.
41917 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41918 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41919 descriptions.
41920 (find_short): Check if C is 'h' or 'u' explicitly.
41921 (grub_arg_show_help): Use space characters instead of tabs. Treat
41922 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41923 are shown with --help and --usage only if they are not used for
41924 the command itself.
41925 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41926 'h' and 'u'.
41927
41928 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41929 const into "longarg". Change the type of "shortarg" to int.
41930
f806d18e 419312005-07-17 Yoshinori Okuji <okuji@enbug.org>
41932
41933 * boot/i386/pc/boot.S (boot_drive_check): New label.
41934
41935 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41936 macro.
41937
41938 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41939 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41940
e293232b 419412005-07-17 Yoshinori Okuji <okuji@enbug.org>
41942
41943 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41944 When turning off Gate A20, skip the check and return immediately,
41945 because this is not fatal usually.
41946
ebedfd00 419472005-07-17 Yoshinori Okuji <okuji@enbug.org>
41948
41949 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41950 be 0x7C00 instead of 0x8000.
41951
41952 * boot/i386/pc/pxeboot.S: Rewritten.
41953
41954 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41955 EXT_C.
41956 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41957 result.
41958
654fc59f 419592005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41960
41961 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41962 robustness. This routine now supports a BIOS call and System
41963 Control Port A to modify the gate A20.
41964
41965 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41966 Increased to 0x440.
41967
09f9923f 419682005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41969
41970 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41971 device path and resulting ihandle.
41972 (grub_ofdisk_close): dprintf the ihandle being closed.
41973 (grub_ofdisk_read): dprintf function parameters.
41974 * kern/mm.c (grub_mm_init_region): Likewise.
41975 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41976 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41977 size, and boot arguments.
41978 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41979 before loading into memory.
41980 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41981 before loading into memory.
41982
7ef504d8 419832005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41984
41985 * kern/mm.c: Added much documentation.
41986 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41987 8, set to 5 instead of 8.
41988
e0f050c2 419892005-07-10 Yoshinori Okuji <okuji@enbug.org>
41990
41991 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41992
41993 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41994 (grub_mkdevicemap_SOURCES): New variable.
41995
41996 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41997 lib/device.c of GRUB Legacy.
41998
7224189a 419992005-07-10 Yoshinori Okuji <okuji@enbug.org>
42000
42001 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42002 instead of PATH is NULL.
42003
68c864eb 420042005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42005
42006 * commands/cmp.c (BUFFER_SIZE): New macro.
42007 (grub_cmd_cmp): Close the right file at the right time. Compare
42008 only data just read. Don't report files of different size as
42009 identical. Dynamically allocate buffers. Move variable
42010 declarations at the beginning of function.
42011
e6f3e614 420122005-07-09 Yoshinori Okuji <okuji@enbug.org>
42013
42014 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42015 reverse.
42016
f8f1559a 420172004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42018
42019 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42020 when backspace is pressed at beginning of line.
42021
39c9d41d 420222005-07-03 Yoshinori Okuji <okuji@enbug.org>
42023
42024 * DISTLIST: Added genfslist.sh.
42025
42026 * normal/main.c (fs_module_list): New variable.
42027 (autoload_fs_module): New function.
42028 (read_fs_list): Likewise.
42029 (grub_normal_execute): Call read_fs_list.
42030
42031 * kern/fs.c (grub_fs_autoload_hook): New variable.
42032 (grub_fs_probe): Added support for auto-loading.
42033
42034 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42035 (grub_fs_module_list_t): New type.
42036
42037 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42038 (grub_fs_autoload_hook): New prototype.
42039
42040 * genfslist.sh: New file.
f19dbdb7 42041
39c9d41d 42042 * genmk.rb: Added a rule to generate a filesystem list.
42043
121c1d83 420442005-06-30 Marco Gerards <metgerards@student.han.nl>
42045
42046 * configure.ac: Fix the test for cross-compiling.
42047
42048 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42049 define GRUB_UTIL anymore.
42050
42051 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42052 so this function works on other systems than just big endian.
42053 (load_modules): Likewise.
42054 (add_segments): Likewise.
42055
e75d76e1 420562005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42057
42058 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42059 contains `l' modifier, get a long from va_arg().
42060
50b5a0a7 420612005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42062
42063 * kern/mm.c (grub_free): If the next free block which is being
42064 merged is the first free block, set the first block to the block
42065 being freed.
42066 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42067
89371b20 420682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42069
42070 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42071 `grub_ieee1275_chosen'.
42072
168d6e58 420732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42074
42075 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42076 (grub_ieee1275_chosen): New variable.
42077 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42078 `chosen'.
42079 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42081 Rename first argument to `phandle' for consistency.
42082 (grub_ieee1275_get_property_length): Likewise.
42083 (grub_ieee1275_next_property): Likewise. Change type of first argument
42084 to grub_ieee1275_phandle_t.
42085 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42086 Move export next to declaration.
42087 (grub_ieee1275_chosen): New variable.
42088 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42089 Correct cosmetic typo.
42090 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42091 `grub_ieee1275_chosen'.
42092 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42093 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42094 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42095 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42096 `grub_ieee1275_chosen'.
42097
ca5baa3f 420982005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42099
42100 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42101 /chosen/bootargs.
42102 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42103 /chosen/bootargs as "variable=value" pairs.
42104
708b345f 421052005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42106
42107 * include/grub/misc.h (grub_dprintf): New macro.
42108 (grub_real_dprintf): New prototype.
42109 (grub_strword): Likewise.
42110 (grub_iswordseparator): Likewise.
42111 * kern/misc.c (grub_real_dprintf): New function.
42112 (grub_strword): Likewise.
42113 (grub_iswordseparator): Likewise.
42114
f4c5e67c 421152005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42116
42117 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42118 (roundup): Remove macro.
42119 (grub_ieee1275_flags): Make static.
42120 (grub_ieee1275_realmode): Remove.
42121 (grub_ieee1275_test_flag): New function.
42122 (grub_ieee1275_set_flag): Likewise.
42123 (find_options): Rename to `grub_ieee1275_find_options'; update
42124 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42125 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42126 (cmain): New prototype.
42127 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42128 `grub_ieee1275_flags' directly.
42129 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42130 machine/biosdisk.h.
42131 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42132 Don't include grub/machine/init.h.
42133 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42134 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42135 Remove prototype.
42136 (grub_ieee1275_realmode): Likewise.
42137 (grub_ieee1275_flag): New enum.
42138 (grub_ieee1275_test_flag): New prototype.
42139 (grub_ieee1275_set_flag): New prototype.
42140 * include/grub/powerpc/ieee1275/init.h: Remove file.
42141 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42142 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42143 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42144 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42145 comment.
42146 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42147 `grub_ieee1275_test_flag'.
42148 (grub_ieee1275_encode_devname): Likewise.
42149
ed16607e 421502005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42151
42152 * include/grub/powerpc/ieee1275/ieee1275.h
42153 (grub_ieee1275_encode_devname): New prototype.
42154 (grub_ieee1275_get_filename): Likewise.
42155 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42156 function.
42157 (grub_set_prefix): Likewise.
42158 (grub_machine_init): Call grub_set_prefix.
42159 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42160 (grub_parse_type): New enum.
42161 (grub_ieee1275_get_devargs): New function.
42162 (grub_ieee1275_get_devname): Likewise.
42163 (grub_ieee1275_parse_args): Likewise.
42164 (grub_ieee1275_get_filename): Likewise.
42165 (grub_ieee1275_encode_devname): Likewise.
42166
be369920 421672005-03-30 Marco Gerards <metgerards@student.han.nl>
42168
42169 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42170 `grub_loader_unset'.
42171
a5ce3a4a 421722005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42173
42174 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42175 instead of grub_ieee1275_interpret.
42176 (grub_halt_init): New function.
42177 (grub_halt_fini): Likewise.
42178 (GRUB_MOD_INIT): Correct message grammar.
42179 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42180 instead of grub_ieee1275_interpret.
42181 (grub_reboot_init): New function.
42182 (grub_reboot_fini): Likewise.
42183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42184 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42185 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42186 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42187 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42188 function.
42189 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42190 Add prototype.
42191 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42192 prototype.
42193 (grub_halt): Likewise.
42194 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42195 (cmain): Remove __attribute__((unused)).
42196 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42197 (grub_heap_len): Likewise.
42198 (grub_machine_fini): New function.
42199 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42200 (grub_halt): Likewise.
42201 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42202 function.
42203 * util/powerpc/ieee1275/misc.c: New file.
42204
0058f771 422052005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42206
42207 * DISTLIST: New file.
42208 * gendistlist.sh: Likewise.
f19dbdb7 42209
0058f771 42210 * Makefile.in (COMMON_DISTFILES): Removed.
42211 (BOOT_DISTFILES): Likewise.
42212 (CONF_DISTFILES): Likewise.
42213 (DISK_DISTFILES): Likewise.
42214 (FS_DISTFILES): Likewise.
42215 (INCLUDE_DISTFILES): Likewise.
42216 (KERN_DISTFILES): Likewise.
42217 (LOADER_DISTFILES): Likewise.
42218 (TERM_DISTFILES): Likewise.
42219 (UTIL_DISTFILES): Likewise.
42220 (DISTFILES): Likewise.
42221 (uninstall): Uninstall files in $(pkgdata_DATA).
42222 (DISTLIST): New target.
42223 (distdir): Use the contents of the file DISTLIST to get a list of
42224 distributed files.
42225
46b3b8a5 422262005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42227
42228 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42229 descriptor. This is ported from GRUB Legacy.
42230
42231 * gencmdlist.sh: Added an extra semicolon to make it work with
42232 old sed versions. Reported by Robert Bihlmeyer
42233 <robbe@orcus.priv.at>.
42234
5822ff87 422352005-03-08 Yoshinori Okuji <okuji@enbug.org>
42236
42237 Automatic loading of commands is supported.
f19dbdb7 42238
5822ff87 42239 * normal/main.c (read_command_list): New function.
42240 (grub_normal_execute): Call read_command_list.
42241
42242 * normal/command.c (grub_register_command): Return zero or CMD.
42243 Allocate CMD->NAME from the heap.
42244 Initialize CMD->MODULE_NAME to zero.
42245 Find the same name as well. If the same command is found and it is
42246 a dummy command, overwrite members. If it is not a dummy command,
42247 return zero.
42248 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42249 (grub_command_find): If a dummy command is found, load a module
42250 and retry to find a command only once.
42251
42252 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42253 make sure that each command is loaded.
42254
42255 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42256 macro.
42257 (struct grub_command): Remove const from the member `name'.
42258 Add a new member `module_name'.
42259 (grub_register_command): Return grub_command_t.
42260
42261 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42262 sure that each command is loaded.
42263
42264 * genmk.rb (PModule::rule): Specify a module name without the
42265 suffix ".mod" to gencmdlist.sh.
42266
7b1f4b57 422672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42268
42269 * gencmdlist.sh: New file.
f19dbdb7 42270
7b1f4b57 42271 * genmk.rb (PModule::rule): Generate a rule for a command list.
42272 Clean command.lst.
42273 Generate command.lst from $(COMMANDFILES).
42274
42275 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42276 (DATA): Added $(pkgdata_DATA).
42277 (install-local): Install files in $(pkgdata_DATA).
42278
062aaf39 422792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42280
42281 * term/i386/pc/vga.c (debug_command): Removed.
42282 (GRUB_MOD_INIT): Do not register the command "debug".
42283
42284 From Hollis Blanchard:
42285 * commands/configfile.c: New file.
42286 * conf/i386-pc.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 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42292 commands/configfile.c.
42293 (pkgdata_MODULES): Added configfile.mod.
42294 (configfile_mod_SOURCES): New variable.
42295 (configfile_mod_CFLAGS): Likewise.
42296 * util/grub-emu.c (main): Call grub_configfile_init and
42297 grub_configfile_fini.
42298 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42299 prototype.
42300 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42301
cee01aa6 423022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42303
42304 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42305 address.
42306
42307 * commands/help.c (grub_cmd_help): Do not print newlines after
42308 the last command in print_command_help.
42309
93f3a1d8 423102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42311
42312 * commands/default.h: New file.
42313 * commands/timeout.h: Likewise.
42314 * normal/context.c: Likewise.
f19dbdb7 42315
93f3a1d8 42316 * util/misc.c: Do not include sys/times.h.
42317 Include sys/time.h and grub/machine/time.h.
42318 (grub_get_rtc): Rewritten with gettimeofday.
42319
42320 * util/grub-emu.c (main): Call grub_default_init and
42321 grub_timeout_init before grub_normal_init, and call
42322 grub_timeout_fini and grub_default_fini after grub_main.
42323
42324 * util/console.c (grub_ncurses_checkkey): Return the read
42325 character or -1.
42326
42327 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42328 timeouts.
42329
42330 * normal/main.c (read_config_file): Push MENU. If this fails,
42331 print an error and wait for a user input.
42332 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42333 If a menu is empty or an error occurs, pop MENU.
42334 (grub_normal_execute): Pop and free MENU after grub_menu_run
42335 returns.
42336
42337 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42338
42339 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42340 include time.h.
42341 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42342 without GRUB_UTIL.
42343 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42344 time.h.
42345 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42346 without GRUB_UTIL.
42347
42348 * include/grub/normal.h (struct grub_menu_list): New struct.
42349 (grub_menu_list_t): New type.
42350 (struct grub_context): New struct.
42351 (grub_context_t): New type.
42352 (grub_register_command): Got rid of EXPORT_FUNC.
42353 (grub_unregister_command): Likewise.
42354 (grub_context_get): New prototype.
42355 (grub_context_get_current_menu): Likewise.
42356 (grub_context_push_menu): Likewise.
42357 (grub_context_pop_menu): Likewise.
42358 [GRUB_UTIL] (grub_default_init): Likewise.
42359 [GRUB_UTIL] (grub_default_fini): Likewise.
42360 [GRUB_UTIL] (grub_timeout_init): Likewise.
42361 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42362
42363 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42364 commands/timeout.c and normal/context.c.
42365 (pkgdata_MODULES): Added default.mod and timeout.mod.
42366 (normal_mod_SOURCES): Added normal/context.c.
42367 (default_mod_SOURCES): New variable.
42368 (default_mod_CFLAGS): Likewise.
42369 (timeout_mod_SOURCES): Likewise.
42370 (timeout_mod_CFLAGS): Likewise.
42371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42372 conf/i386-pc.rmk.
42373 (pkgdata_MODULES): Added default.mod and timeout.mod.
42374 (normal_mod_SOURCES): Added normal/context.c.
42375 (default_mod_SOURCES): New variable.
42376 (default_mod_CFLAGS): Likewise.
42377 (timeout_mod_SOURCES): Likewise.
42378 (timeout_mod_CFLAGS): Likewise.
42379
42380 * Makefile.in (all-local): Added $(MKFILES).
42381
4ed2e1dd 423822005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42383
42384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42385 (grub_emu_SOURCES): Likewise.
42386 (pkgdata_MODULES): Add `sun.mod'.
42387 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42389 `partmap/sun.c'.
42390 (pkgdata_MODULES): Add `sun.mod'.
42391 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42392 * include/grub/partition.h (grub_sun_partition_map_init): New
42393 prototype.
42394 (grub_sun_partition_map_fini): Likewise.
42395 * partmap/sun.c: New file.
42396 * util/grub-emu.c (main): Initialize and de-initialize the sun
42397 partitionmap support.
42398
4d4e372e 423992005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42400
42401 This implements an Emacs-like menu entry editor.
f19dbdb7 42402
4d4e372e 42403 * normal/menu_entry.c: New file.
f19dbdb7 42404
4d4e372e 42405 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42406 characters to ASCII.
42407 (saved_char): New variable.
42408 (grub_ncurses_checkkey): Rewritten completely.
42409 (grub_ncurses_getkey): Likewise.
42410 (grub_ncurses_init): Call raw instead of cbreak.
42411
42412 * normal/menu.c (print_entry): Do not put a space.
42413 (init_page): Renamed to ...
42414 (grub_menu_init_page): ... this. All callers changed.
42415 (edit_menu_entry): Removed.
42416 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42417
42418 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42419
42420 * kern/misc.c (grub_vprintf): Call grub_refresh.
42421
42422 * normal/menu.c (DISP_LEFT): Renamed to ...
42423 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42424 * normal/menu.c (DISP_UP): Renamed to ...
42425 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42426 * normal/menu.c (DISP_RIGHT): Renamed to ...
42427 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42428 * normal/menu.c (DISP_DOWN): Renamed to ...
42429 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42430 * normal/menu.c (DISP_HLINE): Renamed to ...
42431 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42432 * normal/menu.c (DISP_VLINE): Renamed to ...
42433 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42434 * normal/menu.c (DISP_UL): Renamed to ...
42435 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42436 * normal/menu.c (DISP_UR): Renamed to ...
42437 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42438 * normal/menu.c (DISP_LL): Renamed to ...
42439 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42440 * normal/menu.c (DISP_LR): Renamed to ...
42441 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42442 * normal/menu.c (TERM_WIDTH): Renamed to ...
42443 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42444 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42445 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42446 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42447 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42448 * normal/menu.c (TERM_MARGIN): Renamed to ...
42449 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42450 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42451 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42452 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42453 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42454 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42455 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42456 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42457 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42458 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42459 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42460 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42461 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42462 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42463 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42464 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42465 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42466 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42467 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42468 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42469 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42470 All callers changed.
42471
42472 * include/grub/normal.h: New prototype.
42473
42474 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42475 normal/menu_entry.c.
42476 (normal_mod_SOURCES): Likewise.
42477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42478 (normal_mod_SOURCES): Likewise.
42479
e6b92c8a 424802005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42481
42482 * include/grub/normal.h (grub_halt_init): New prototype.
42483 (grub_halt_fini): Likewise.
42484 (grub_reboot_init): Likewise.
42485 (grub_reboot_fini): Likewise.
42486
42487 * util/grub-emu.c: Include signal.h.
42488 (main_env): New global variable.
42489 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42490 catch C-c.
42491 (grub_machine_fini): New function.
42492 (main): Call grub_halt_init and grub_reboot_init before
42493 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42494 Call setjmp with MAIN_ENV to go back afterwards.
42495 Call grub_machine_fini right before return.
42496
42497 * include/grub/util/misc.h: Include setjmp.h.
42498 (main_env): New prototype.
42499
42500 * include/grub/kernel.h (grub_machine_fini): New prototype.
42501 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42502 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42503
42504 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42505 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42506 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42507
e6b92c8a 42508 * util/i386/pc/misc.c: New file.
f19dbdb7 42509
e6b92c8a 42510 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42511 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42512 commands/i386/pc/reboot.c.
42513
c642636f 425142005-02-14 Guillem Jover <guillem@hadrons.org>
42515
42516 * include/grub/dl.h (grub_dl_check_header): New prototype.
42517 (grub_arch_dl_check_header): Change return type to grub_err_t,
42518 remove size parameter and export function. Update all callers.
42519 * kern/dl.c (grub_dl_check_header): New function.
42520 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42521 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42522 are inside the core.
42523 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42524 independent ELF header checks.
42525 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42526 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42527 `grub_dl_check_header' instead of explicit checks. Check for the
42528 ELF type.
42529 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42530 `grub_dl_check_header' instead of explicit checks. Remove arch
42531 specific ELF header checks.
42532
e6b92c8a 42533 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42534 argument SIZE.
42535
5eabe94b 425362005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42537
42538 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42539 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42540
1b14a681 425412005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42542
42543 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42544 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42545 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42546 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42547 * partmap/amiga.c (amiga_partition_map_iterate): Return
42548 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42549 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42550
aca108aa 425512005-02-01 Guillem Jover <guillem@hadrons.org>
42552
42553 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42554 help info.
42555
c9f9c556 425562005-01-31 Marco Gerards <metgerards@student.han.nl>
42557
42558 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42559 Removed prototype.
42560 (grub_rescue_cmd_linux): New prototype.
42561 (grub_rescue_cmd_initrd): Likewise.
42562 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42563 `bi_rec'.
42564 (grub_linux_release_mem): Release the memory for the initrd.
42565 (grub_load_linux): Renamed from this...
42566 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42567 Changed `entry' not to be static. Loop over memory regions to
42568 find another one when the default fails.
42569 (grub_rescue_cmd_initrd): New function.
42570 (grub_linux_init): Remove function.
42571 (grub_linux_fini): Likewise.
42572 (GRUB_MOD_INIT): Register `initrd'.
42573 (GRUB_MOD_FINI): Unregister `initrd'.
42574 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42575 Function removed.
42576 (grub_linux_normal_fini): Likewise.
42577 (GRUB_MOD_INIT): Register `initrd'.
42578 (GRUB_MOD_FINI): Unregister `initrd'.
42579
990cf3aa 425802005-01-31 Marco Gerards <metgerards@student.han.nl>
42581
42582 * commands/help.c: New file.
42583 * normal/arg.c (show_help): Renamed to...
42584 (grub_arg_show_help): ... this.
42585 * commands/i386/pc/halt.c: New file.
42586 * commands/i386/pc/reboot.c: Likewise.
42587 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42588 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42589 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42590 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42591 variables.
42592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42593 `commands/help.c'.
42594 (pkgdata_MODULES): Add `help.mod'.
42595 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42596 * grub/i386/pc/init.h (grub_reboot): New prototype.
42597 (grub_halt): Likewise.
42598 * include/grub/normal.h (grub_arg_show_help): New prototype.
42599 (grub_help_init): Likewise.
42600 (grub_help_fini): Likewise.
42601 * util/grub-emu.c (main): Initialize and deinitialize the help
42602 command.
42603
42604 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42605
42606 * normal/command.c (grub_command_init): Fixed the description of
42607 the `set' and `unset' commands.
42608
426092005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42610
42611 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42612 function.
42613 * commands/ieee1275/halt.c: New file.
42614 * commands/ieee1275/reboot.c: Likewise.
42615 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42616 `__attribute__ ((unused))'. Some GCS related fixed.
42617 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42618 (grub_suspend_fini): Likewise.
42619 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42620 and `halt.mod'.
42621 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42622 (halt_mod_CFLAGS): New variables.
42623 * include/grub/powerpc/ieee1275/ieee1275.h
42624 (grub_ieee1275_interpret): New prototype.
42625
1ab09cc7 426262005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42627
42628 * include/grub/misc.h (memmove): New prototype.
42629 (memcpy): Likewise.
42630
8b8cbdb2 426312005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42632
42633 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42634 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42635
e3741a27 426362005-01-22 Marco Gerards <metgerards@student.han.nl>
42637
42638 * kern/misc.c (grub_strndup): Function rewritten.
42639
776bd780 426402005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42641
42642 * normal/menu.c (TERM_WIDTH): Macro redefined.
42643 (TERM_TOP_BORDER_Y): Likewise.
42644 (draw_border): Replaced while-loop by a for-loop. Make the number
42645 of lines consistent with the number of lines displayed in
42646 print_entries. Added a margin below the rectangle.
42647 (print_entry): Make the entry fit in the rectangle.
42648 (print_entries): Display the scroll arrows next to the right
42649 border.
42650
78026bce 426512005-01-21 Marco Gerards <metgerards@student.han.nl>
42652
42653 * fs/minix.c (grub_minix_find_file): Reserve more space for
42654 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42655 `grub_strncpy' to copy `path' into it.
42656
67bbaf0f 426572005-01-21 Marco Gerards <metgerards@student.han.nl>
42658
42659 Add the loopback device, a device via which files can be accessed
42660 as devices.
f19dbdb7 42661
67bbaf0f 42662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42663 (pkgdata_MODULES): Add loopback.mod.
42664 (loopback_mod_SOURCES): New variable.
42665 (loopback_mod_CFLAGS): Likewise.
42666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42667 `disk/loopback.c'.
42668 (pkgdata_MODULES): Add loopback.mod.
42669 (loopback_mod_SOURCES): New variable.
42670 (loopback_mod_CFLAGS): Likewise.
42671 * disk/loopback.c: new file.
42672 * include/grub/normal.h (grub_loop_init): New prototype.
42673 (grub_loop_fini): New prototype.
42674 * util/grub-emu.c (main): Initialize and de-initialize loopback
42675 support.
42676 * include/grub/disk.h (grub_disk_dev_id): Add
42677 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42678
6f1c18bd 426792005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42680
42681 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42682 function.
42683 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42684 (suspend_mod_SOURCES): New variable.
42685 (suspend_mod_CFLAGS): Likewise.
42686 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42687 New prototype.
42688 * commands/ieee1275/suspend.c: New file.
42689
b38551da 426902005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42691
42692 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42693 ((unused))' to `__attribute__ ((used))'.
b38551da 42694 (GRUB_MOD_FINI): Likewise.
42695 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42696 * genmk.rb (PModule): Assign space to common symbols when linking
42697 modules.
42698
777aff39 426992005-01-20 Marco Gerards <metgerards@student.han.nl>
42700
42701 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42702 `unsigned' arguments to `grub_size_t'.
42703 (grub_malloc): Likewise.
42704 (grub_realloc): Likewise.
42705 (grub_memalign): Likewise.
42706 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42707 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42708 * util/misc.c (grub_malloc): Likewise.
42709 (grub_realloc): Likewise.
42710 * kern/mm.c (get_header_from_pointer): Change the casts to
42711 `unsigned' into a cast to `grub_size_t'.
42712
42713 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42714 point to `currnode' when `currnode' is changed.
42715
42716 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42717 Schottelius <nico-linux@schottelius.org>.
42718
d0ff18e1 427192005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42720
42721 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42722 (note_path): Remove variable.
42723 (GRUB_IEEE1275_NOTE_NAME): New macro.
42724 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42725 (grub_ieee1275_note_hdr): New structure.
42726 (grub_ieee1275_note_desc): Likewise.
42727 (grub_ieee1275_note): Likewise.
42728 (load_note): Remove `dir' argument. All callers updated. Remove
42729 `note_img' and `path'. Do not load a file from `note_path'.
42730 Initialize a struct grub_ieee1275_note and write that to `out'.
42731 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42732
4ca7004c 427332005-01-05 Marco Gerards <metgerards@student.han.nl>
42734
42735 * util/misc.c (grub_util_read_image): Revert last change. It
42736 called `grub_util_read_at', which seeks from the beginning of the
42737 file.
42738
0b412211 427392005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42740
42741 * TODO: Add note about endianness in grub-mkimage.
42742 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42743 section.
42744 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42745 (grub_mkimage_SOURCES): New target.
42746 * include/grub/kernel.h (grub_start_addr): Remove variable.
42747 (grub_end_addr): Likewise.
42748 (grub_total_module_size): Likewise.
42749 (grub_kernel_image_size): Likewise.
42750 (GRUB_MODULE_MAGIC): New constant.
42751 (grub_module_info): New structure.
42752 (grub_arch_modules_addr): New prototype.
42753 (grub_get_end_addr): Remove prototype.
42754 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42755 * include/grub/powerpc/ieee1275/kernel.h: New file.
42756 * include/grub/util/misc.h (grub_util_get_fp_size): New
42757 prototype.
42758 (grub_util_read_at): Likewise.
42759 (grub_util_write_image_at): Likewise.
42760 * kern/main.c (grub_get_end_addr): Remove function.
42761 (grub_load_modules): Call grub_arch_modules_addr instead of using
42762 grub_end_addr. Look for a grub_module_info struct in memory. Use
42763 the grub_module_info fields instead of calling grub_get_end_addr
42764 as loop conditions. Move grub_add_unused_region code here.
42765 (grub_add_unused_region): Remove function.
42766 * kern/i386/pc/init.c: Include grub/cache.h.
42767 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42768 one call to add_mem_region.
42769 (grub_arch_modules_addr): New function.
42770 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42771 (grub_total_module_size): Likewise.
42772 Include grub/machine/kernel.h.
42773 (grub_arch_modules_addr): New function.
42774 * util/grub-emu.c (grub_end_addr): Remove variable.
42775 (grub_total_module_size): Likewise.
42776 (grub_arch_modules_addr): New function.
42777 * util/misc.c: Include unistd.h.
42778 (grub_util_get_fp_size): New function.
42779 (grub_util_read_at): Likewise.
42780 (grub_util_write_image_at): Likewise.
42781 (grub_util_read_image): Call grub_util_read_at.
42782 (grub_util_write_image): Call grub_util_write_image_at.
42783 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42784 additional memory in kernel_img for a struct grub_module_info.
42785 Fill in that grub_module_info.
42786 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42787
458786f8 427882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42789
42790 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42791 New function.
42792 * include/grub/powerpc/ieee1275/ieee1275.h
42793 (grub_ieee1275_milliseconds): New prototype.
42794 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42795 Change to 1000.
42796 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42797 grub_ieee1275_milliseconds.
42798
ac507d1b 427992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42800
42801 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42802 variable.
42803 (find_options): New function.
42804 (cmain): Call find_options.
42805 * include/grub/powerpc/ieee1275/ieee1275.h
42806 (grub_ieee1275_realmode): New extern variable.
42807 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42808 grub_map if grub_ieee1275_realmode is false.
42809
6b8fd1c4 428102004-12-29 Marco Gerards <metgerards@student.han.nl>
42811
42812 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42813 lines are inserted and make it work like readline. Reported by
42814 Vincent Pelletier <subdino2004@yahoo.fr>.
42815
8514a1e0 428162004-12-28 Marco Gerards <metgerards@student.han.nl>
42817
42818 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42819
42820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42821 `kern/powerpc/cache.S'.
42822
924b6140 428232004-12-27 Marco Gerards <metgerards@student.han.nl>
42824
42825 * genmk.rb: Handle the `Program' class in the main loop. Written
42826 by Johan Rydberg <jrydberg@gnu.org>.
42827 (Program): New class.
42828 (programs): New variable.
42829 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42830 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42831 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42832 (help_arch): Function removed.
42833 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42834 `powerpc/libgcc.h' and `loader.h'.
42835 (pkgdata_PROGRAMS): New variable.
42836 (sbin_UTILITIES): Variable removed.
42837 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42838 (grubof_SOURCES): Variable re-defined so it only includes the
42839 core functionality.
42840 (grubof_CFLAGS): Remove `-DGRUBOF'.
42841 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42842 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42843 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42844 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42845 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42846 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42847 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42848 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42849 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42850 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42851 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42852 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42853 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42854 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42855 (pc_mod_CFLAGS): New variables.
42856 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42857 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42858 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42859 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42860 Moved from here...
42861 * include/grub/i386/pc/init.h (grub_os_area_addr)
42862 (rub_os_area_size): ... to here.
42863 * include/grub/powerpc/ieee1275/ieee1275.h
42864 (grub_ieee1275_entry_fn): Export symbol.
42865 * include/grub/powerpc/ieee1275/init.h: New file.
42866 * include/grub/powerpc/libgcc.h: Likewise.
42867 * include/grub/cache.h: Likewise.
42868 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42869 <hollis@penguinppc.org>.
42870 * kern/dl.c: Include <grub/cache.h>.
42871 (grub_dl_flush_cache): New function.
42872 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42873 for this module.
42874 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42875 (grub_console_init): Removed prototypes.
42876 (grub_machine_init): Don't initialize the modules anymore.
42877 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42878 static.
42879 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42880 Macro undef removed.
42881 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42882 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42883 relocation `R_PPC_REL32'. Return an error when the relocation is
42884 unknown.
42885 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42886 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42887 * util/misc.c (grub_arch_sync_caches): Likewise.
42888
e4b47e0c 428892004-12-19 Marco Gerards <metgerards@student.han.nl>
42890
42891 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42892 `symlist.c', add `grubof_symlist.c'.
42893 (symlist.c): Variable removed.
42894 (grubof_HEADERS): Variable added.
42895 (grubof_symlist.c): New target.
42896 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42897 `kernel_img_HEADERS'.
42898 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42899 * kern/powerpc/dl.c: New file.
42900 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42901 Function removed.
42902 (grub_arch_dl_relocate_symbols): Likewise.
42903 (grub_register_exported_symbols): Likewise.
42904
4ceb3636 429052004-12-13 Marco Gerards <metgerards@student.han.nl>
42906
42907 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42908 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42909 to fail instead. Reported by Vincent Pelletier
42910 <subdino2004@yahoo.fr>.
42911
42912 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42913 it is not allocated. Reported by Vincent Pelletier
42914 <subdino2004@yahoo.fr>.
42915
42916 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42917 output so the output looks better.
f19dbdb7 42918
3f1578fe 429192004-12-04 Marco Gerards <metgerards@student.han.nl>
42920
42921 Modulize the partition map support and add support for the amiga
42922 partition map.
f19dbdb7 42923
3f1578fe 42924 * commands/ls.c: Include <grub/partition.h> instead of
42925 <grub/machine/partition.h>.
42926 * kern/disk.c: Likewise.
42927 * kern/rescue.c: Likewise.
42928 * loader/i386/pc/chainloader.c: Likewise.
42929 * normal/cmdline.c: Likewise.
42930 * kern/powerpc/ieee1275/init.c: Likewise.
42931 (grub_machine_init): Call `grub_pc_partition_map_init',
42932 `grub_amiga_partition_map_init' and
42933 `grub_apple_partition_map_init'.
42934 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42935 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42936 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42937 `partition.h' and `pc_partition.h'.
42938 (grub_setup_SOURCES): Remove
42939 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42940 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42941 (grub_emu_SOURCES): Likewise.
42942 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42943 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42944 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42946 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42947 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42948 (grubof_SOURCES): Likewise.
42949 * disk/i386/pc/partition.c: File removed.
42950 * disk/powerpc/ieee1275/partition.c: Likewise.
42951 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42952 * include/grub/i386/pc/partition.h: Likewise.
42953 * kern/partition.c: New file.
42954 * partmap/amiga.c: Likewise.
42955 * partmap/apple.c: Likewise.
42956 * partmap/pc.c: Likewise.
42957 * include/grub/partition.h: Likewise..
42958 * include/grub/pc_partition.h: Likewise.
42959 * util/grub-emu.c: Include <grub/partition.h> instead of
42960 <grub/machine/partition.h>.
42961 (main): Call `grub_pc_partition_map_init',
42962 `grub_amiga_partition_map_init' and
42963 `grub_apple_partition_map_init' and deinitialize afterwards.
42964 * util/i386/pc/biosdisk.c: Include `#include
42965 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42966 `<grub/machine/partition.h>'.
42967 * util/i386/pc/grub-setup.c: Likewise.
42968 * util/i386/pc/biosdisk.c: Likewise.
42969 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42970 partition information in case of a PC partition.
42971 * util/i386/pc/grub-setup.c: Include `#include
42972 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42973 `<grub/machine/partition.h>'.
42974 (setup): Only access the PC specific partition information in case
42975 of a PC partition.
42976
0ef4ced9 429772004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42978
0ef4ced9 42979 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42980 (grub_longjmp): Likewise.
42981 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42982 20.
42983 * normal/powerpc/setjmp.S: New file.
42984 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42985 `normal/powerpc/setjmp.S'.
42986 (grubof_CFLAGS): Add `-DGRUBOF'.
42987 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42988 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42989
19950e29 429902004-11-16 Marco Gerards <metgerards@student.han.nl>
42991
42992 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42993 property named `name'. Correctly handle the error returned by
42994 `grub_ieee1275_finddevice' if a device can not be opened.
42995
a2fea427 429962004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42997
42998 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42999 `actual' for negativity.
43000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43001 kern/fshelp.c.
43002
41ea0ea3 430032004-11-01 Marco Gerards <metgerards@student.han.nl>
43004
43005 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43006 (PAGE_OFFSET): New macro.
43007 (CRTC_ADDR_PORT): Likewise.
43008 (CRTC_DATA_PORT): Likewise.
43009 (START_ADDR_HIGH_REGISTER): Likewise.
43010 (START_ADDR_LOW_REGISTER): Likewise.
43011 (GRAPHICS_ADDR_PORT): Likewise.
43012 (GRAPHICS_DATA_PORT): Likewise.
43013 (READ_MAP_REGISTER): Likewise.
43014 (INPUT_STATUS1_REGISTER): Likewise.
43015 (INPUT_STATUS1_VERTR_BIT): Likewise.
43016 (page): New variable.
43017 (wait_vretrace): New function.
43018 (set_read_map): Likewise.
43019 (set_start_address): Likewise.
43020 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43021 the right page.
43022 (check_vga_mem): Take the page into account.
43023 (write_char): Likewise.
43024 (write_cursor): Likewise.
43025 (scroll_up): Likewise. Copy the page to the page that is not
43026 shown and switch between both pages.
43027 (grub_vga_putchar): Fix off by one error.
43028 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43029 account.
43030
ad0bd20b 430312004-11-01 Marco Gerards <metgerards@student.han.nl>
43032
43033 Add support for iso9660 (including rockridge).
f19dbdb7 43034
ad0bd20b 43035 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43036 (iso9660_mod_SOURCES): New variable.
43037 (iso9660_mod_CFLAGS): Likewise.
43038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43039 * include/grub/fs.h (grub_iso9660_init): New prototype.
43040 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43041 * fs/iso9660.c: New file.
43042
43043 * include/grub/misc.h (grub_strncat): New prototype.
43044 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43045
ad0bd20b 43046 * fs/hfs.c (grub_hfs_mount): Translate the error
43047 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43048 * fs/jfs.c (grub_jfs_mount): Likewise.
43049 * fs/ufs.c (grub_ufs_mount): Likewise.
43050
a5477a59 430512004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43052
43053 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43054 which initialized BAT registers.
43055 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43056 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43057 Move from here...
43058 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43059 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43060 ... to here.
43061 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43062 (grub_mapclaim): Likewise.
43063 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43064 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43065 hand.
43066
9304c1f8 430672004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43068
43069 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43070 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43071 -ffreestanding and -msoft-float.
43072
86f4ae25 430732004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43074
43075 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43076 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43077 set in grub_ieee1275_flags.
43078
38912228 430792004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43080
43081 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43082 prototype.
43083 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43084 grub_console_init first.
43085 Change the memory range used for grub_ieee1275_claim and
43086 grub_mm_init_region.
43087 Print an error message if the claim fails.
43088 Include <grub/misc.h>.
43089
d1923dc8 430902004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43091
43092 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43093 Call grub_children_iterate for device nodes of type `scsi',
43094 `ide', or `ata'.
43095 (grub_ofdisk_open): Remove manual device alias resolution.
43096 Fix memory leak when device cannot be opened.
f19dbdb7 43097 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43098 (grub_children_iterate): New prototype.
43099 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43100 New function.
43101 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43102 Return -1 if args.size was -1.
43103
4512e4f3 431042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43105
43106 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43107 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43108 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43109 Open Firmware's memory for it; claim memory from _start to _end.
43110 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43111 (_end): New extern.
43112 (_start): Zero BSS from __bss_start to _end.
43113 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43114 New extern.
43115 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43116
4d61feb0 431172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43118
ad0bd20b 43119 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43120 -1 if args.base was -1.
4d61feb0 43121
026fa2f9 431222004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43123
43124 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43125 escape sequence instead of a literal ^L. Also call
43126 grub_ofconsole_gotoxy.
43127
9f2220ef 431282004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43129
43130 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43131 void * arguments to grub_addr_t. All callers updated. Also make
43132 the `result' argument optional.
43133 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43134 All callers updated.
43135
8a572cd7 431362004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43137
43138 * commands/ls.c (grub_ls_list_files): Use the string following the
43139 initial ')', if present, as the filesystem path.
43140 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43141
43142 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43143
18aa81f2 431442004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43145
43146 Make the source code of the menu interface more readable.
f19dbdb7 43147
18aa81f2 43148 * normal/menu.c: Include grub/mm.h.
43149 (TERM_WIDTH): New macro.
43150 (TERM_HEIGHT): Likewise.
43151 (TERM_INFO_HEIGHT): Likewise.
43152 (TERM_MARGIN): Likewise.
43153 (TERM_SCROLL_WIDTH): Likewise.
43154 (TERM_TOP_BORDER_Y): Likewise.
43155 (TERM_LEFT_BORDER_X): Likewise.
43156 (TERM_BORDER_WIDTH): Likewise.
43157 (TERM_MESSAGE_HEIGHT): Likewise.
43158 (TERM_BORDER_HEIGHT): Likewise.
43159 (TERM_NUM_ENTRIES): Likewise.
43160 (TERM_FIRST_ENTRY_Y): Likewise.
43161 (TERM_ENTRY_WIDTH): Likewise.
43162 (TERM_CURSOR_X): Likewise.
43163 (draw_border): Use macros instead of magic numbers.
43164 (print_entry): Likewise.
43165 (print_entries): Likewise.
43166 (run_menu): Likewise. Also, handle the key 'e'.
43167 (run_menu_entry): Ignore empty command lines.
43168 (print_message): Added a new argument EDIT. If EDIT is true,
43169 print a different message.
43170 (init_page): Likewise.
43171 (edit_menu_entry): New function. Not implemented yet.
43172
b47efe30 431732004-09-17 Marco Gerards <metgerards@student.han.nl>
43174
43175 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43176 can be loaded from normal mode.
f19dbdb7 43177
b47efe30 43178 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43179 `multiboot.mod'.
43180 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43181 (multiboot_mod_CFLAGS): New variables.
43182 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43183 * loader/i386/pc/multiboot_normal.c: Likewise.
43184
b47efe30 43185 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43186 attribute `unused'.
f19dbdb7 43187
b47efe30 43188 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43189 `fdiro' to read the mode information from instead of `diro'.
43190
43191 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43192 looking up a symlink.
43193
43194 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43195 macro.
43196 * normal/command.c (grub_command_execute): Don't parse the
43197 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43198 flags of the command.
43199
43200 * normal/menu.c (grub_menu_run): Fix typo.
43201
da75ac71 432022004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43203
43204 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43205
43206 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43207 `y + 1' instead of `y - 1'.
43208
43209 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43210
062b24c2 432112004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43212
43213 From Hollis Blanchard <hollis@penguinppc.org>:
43214 * kern/misc.c (memmove): New alias for grub_memmove.
43215 (memcmp): New alias for grub_memcmp.
43216 (memset): New alias for grub_memset.
f19dbdb7 43217 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43218 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43219 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43220 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43221
8ddad845 432222004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43223
43224 Added normal mode command `chainloader' as module chain.mod, which
43225 depends on normal.mod and _chain.mod.
f19dbdb7 43226
8ddad845 43227 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43228 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43229 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43230 Deleted prototype.
43231 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43232 but arguments parsing moved to ...
43233 (grub_chainloader_cmd): ... here. New function.
43234 * include/grub/i386/pc/chainloader.h: New file.
43235 * loader/i386/pc/chainloader_normal.c: Likewise.
43236
2c1f4ce3 432372004-09-11 Marco Gerards <metgerards@student.han.nl>
43238
43239 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43240 (grub_mkimage_LDFLAGS): Likewise.
43241 (grub_emu_SOURCES): Likewise.
43242 (kernel_img_HEADERS): Added fshelp.h.
43243 * fs/ext2.c: Include <grub/fshelp.h>.
43244 (FILETYPE_REG): New macro.
43245 (FILETYPE_INO_REG): Likewise.
43246 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43247 Changed all users.
43248 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43249 all users.
43250 (grub_fshelp_node): New struct.
43251 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43252 to a pointer.
43253 (grub_ext2_get_file_block): Removed function.
43254 (grub_ext2_read_block): New function.
43255 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43256 This function was written.
43257 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43258 (grub_ext2_find_file): Removed function.
43259 (grub_ext2_read_symlink): New function.
43260 (grub_ext2_iterate_dir): Likewise.
43261 (grub_ext2_open): Rewritten.
43262 (grub_ext2_dir): Rewritten.
43263 * include/grub/fshelp.h: New file.
43264 * fs/fshelp.c: Likewise.
43265
3c52136a 432662004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43267
43268 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43269 (print_message): Add a missing newline.
43270 (run_menu): Added timeout support.
43271 (run_menu_entry): New local function.
43272 (grub_menu_run): Added support for booting.
43273
43274 * kern/loader.c (grub_loader_is_loaded): New function.
43275
43276 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43277 (grub_get_rtc): Exported.
43278
43279 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43280 (grub_get_rtc): Exported.
43281
43282 * include/grub/normal.h (struct grub_command_list): Remove
43283 constant from the member `command'.
43284
43285 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43286
43287 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43288
43289 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43290
aa033560 432912004-08-28 Marco Gerards <metgerards@student.han.nl>
43292
43293 Add support for the JFS filesystem.
43294
43295 * fs/jfs.c: New file.
43296 * include/grub/fs.h (grub_jfs_init): New prototype.
43297 (grub_jfs_fini): New prototype.
43298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43299 (grub_emu_SOURCES): Likewise.
43300 (pkgdata_MODULES): Add jfs.mod.
43301 (jfs_mod_SOURCES): New variable.
43302 (jfs_mod_CFLAGS): Likewise.
43303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43304 (grubof_SOURCES): Likewise.
43305 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43306
43307 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43308 endian to the host endian.
43309 (grub_fat_utf16_to_utf8): Move function from there...
43310 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43311 the endianness of the source string anymore.
aa033560 43312 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43313
94bc45af 433142004-08-24 Marco Gerards <metgerards@student.han.nl>
43315
43316 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43317 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43318 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43319 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43320
94bc45af 43321 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43322 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43323 for `node_found' and `it_dir'.
43324 (grub_hfs_dir): Add prototype for `dir_hook'.
43325
43326 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43327 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43328 and `indir32' to silence a gcc warning.
43329
43330 * include/grub/fs.h (grub_hfs_init): New prototype.
43331 (grub_hfs_fini): Likewise.
f19dbdb7 43332
43333
97543f08 433342004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43335
43336 Each disk device has its own id now. This is useful to make use
43337 of multiple disk devices.
f19dbdb7 43338
97543f08 43339 * include/grub/disk.h (grub_disk_dev_id): New enum.
43340 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43341 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43342
43343 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43344 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43345
43346 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43347 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43348
43349 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43350 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43351
43352 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43353 "id" which is used by the cache manager.
43354
43355 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43356 of just "GRUB".
43357
64372eb4 433582004-08-18 Marco Gerards <metgerards@student.han.nl>
43359
43360 * fs/hfs.c: New file.
43361 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43362 (grub_emu_SOURCES): Likewise.
43363 (pkgdata_MODULES): Add hfs.mod.
43364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43365 (grubof_SOURCES): Likewise.
43366 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43367
43368 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43369 * kern/misc.c (grub_strncasecmp): Add function.
43370
cc61b58f 433712004-08-14 Marco Gerards <metgerards@student.han.nl>
43372
43373 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43374 with parentheses.
43375
43376 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43377 (grub_ext2_dir): In case the directory entry type is unknown, read
43378 it from the inode.
43379
0ef123f6 433802004-08-02 Peter Bruin <pjbruin@dds.nl>
43381
43382 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43383 grub_load_linux instead of grub_rescue_cmd_linux as second
43384 argument of grub_rescue_register_command.
43385
43386 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43387
a447c5df 433882004-07-27 Marco Gerards <metgerards@student.han.nl>
43389
43390 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43391 function.
43392 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43393 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43394 `loader/powerpc/ieee1275/linux.c',
43395 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43396 * include/grub/powerpc/ieee1275/ieee1275.h
43397 (grub_ieee1275_release): New prototype.
43398 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43399 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43400 normal, boot, linux and linux_normal.
43401 * loader/powerpc/ieee1275/linux.c: New file.
43402 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43403
5a9e3546 434042004-07-12 Marco Gerards <metgerards@student.han.nl>
43405
43406 * normal/arg.c (grub_arg_parse): Correct error handling after
43407 reallocating the argumentlist (check if `argl' is not null instead
43408 of checking if `args' is not null).
43409 * kern/mm.c (grub_realloc): Return the same pointer when using the
43410 same region, instead of returning the header address.
43411
e15199cb 434122004-07-11 Marco Gerards <metgerards@student.han.nl>
43413
43414 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43415 one block instead of two when looking for the initial partition.
43416 (grub_partition_probe): Initialize the local variable `p' with 0.
43417 Use base 10 for the grub_strtoul call.
43418 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43419 need for one local variable.
43420 (grub_strtoul): Don't add the new value to `num', instead of that
43421 just assign it.
43422
020616c2 434232004-07-11 Marco Gerards <metgerards@student.han.nl>
43424
43425 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43426 (pxeboot_img_SOURCES): New variable.
43427 (pxeboot_img_ASFLAGS): Likewise.
43428 (pxeboot_img_LDFLAGS): Likewise.
43429 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43430 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43431 <lode_leroy@hotmail.com>.
43432
6c51eb64 434332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43434
43435 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43436 there was no input.
43437
cfb12aff 434382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43439
43440 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43441 the history buffer logic.
43442
6eabba74 434432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43444
43445 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43446 (FILETYPE_INO_SYMLINK): New macros.
43447 (grub_ext2_find_file): Check if the node is a directory using the
43448 inode stat information instead of using the filetype in the
43449 dirent. Exclude the first character of an absolute symlink.
43450 (grub_ext2_dir): Mask out the filetype part of the mode member of
43451 the inode.
43452
66e19ef8 434532004-05-24 Marco Gerards <metgerards@student.han.nl>
43454
43455 Add support for UFS version 1 and 2. Add support for the minix
43456 filesystem version 1 and 2, both the variants with 14 and 30 long
43457 filenames.
f19dbdb7 43458
66e19ef8 43459 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43460 fs/minix.c.
43461 (grub_emu_SOURCES): Likewise.
43462 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43463 (ufs_mod_SOURCES): New variable.
43464 (ufs_mod_CFLAGS): Likewise.
43465 (minix_mod_SOURCES): Likewise.
43466 (minix_mod_CFLAGS): Likewise.
43467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43468 fs/minix.c.
43469 (grubof_SOURCES): Likewise.
43470 * fs/ufs.c: New file.
43471 * fs/minix.c: New file.
43472 * include/grub/fs.h (grub_ufs_init): New prototype.
43473 (grub_ufs_fini): Likewise.
43474 (grub_minix_init): Likewise.
43475 (grub_minix_fini): Likewise.
43476 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43477 minix fs.
43478
cc2e748a 434792004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43480
43481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43482 commands/ls.c, commands/terminal.c, commands/boot.c,
43483 commands/cmp.c and commands/cat.c.
43484 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43485
43486 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43487 "env.h"
43488
4b13b216 434892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43490
43491 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43492 and grub_, respectively. Because the conversion is trivial and
43493 mechanical, I omit the details here. Please refer to the CVS
43494 if you need more information.
43495
6a142551 434962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43497
43498 * include/pupa: Renamed to ...
43499 * include/grub: ... this.
43500 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43501 * util/i386/pc/grub-mkimage.c: ... this.
43502 * util/i386/pc/pupa-setup.c: Renamed to ...
43503 * util/i386/pc/grub-setup.c: ... this.
43504 * util/pupa-emu.c: Renamed to ...
43505 * util/grub-emu.c: ... this.
43506
e56cdf21 435072004-03-29 Marco Gerards <metgerards@student.han.nl>
43508
43509 Add support for the newworld apple macintosh (PPC). This has been
43510 tested on the powerbook 2000 only. It only adds support for
43511 generic ieee1275 functions, console and disk support. This should
43512 be easy to port to other architectures with support for Open
43513 Firmware.
f19dbdb7 43514
e56cdf21 43515 * configure.ac: Accept the powerpc as host_cpu. In the case of
43516 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43517 specific tests are only executed while building for the i386.
43518 Inverse test for crosscompile.
43519 * genmk.rb (Utility): Allow assembler files.
43520 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43521 * conf/powerpc-ieee1275.rmk: New file.
43522 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43523 * disk/powerpc/ieee1275/partition.c: Likewise.
43524 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43525 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43526 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43527 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43528 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43529 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43530 * include/pupa/powerpc/ieee1275/loader.h
43531 * include/pupa/powerpc/setjmp.h: Likewise.
43532 * include/pupa/powerpc/types.h: Likewise.
43533 * kern/powerpc/ieee1275/init.c: Likewise.
43534 * kern/powerpc/ieee1275/openfw.c: Likewise.
43535 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43536
43537 These files were written by Johan Rydberg
43538 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43539
e56cdf21 43540 * boot/powerpc/ieee1275/cmain.c: New file.
43541 * boot/powerpc/ieee1275/crt0.S: Likewise.
43542 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43543 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43544
8c8cc205 435452004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43546
43547 * Makefile.in: Update copyright.
43548 * genmodsrc.sh: Likewise.
43549 * gensymlist.sh: Likewise.
43550 * term/i386/pc/vga.c: Indent correctly.
43551
43552 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43553 bugreporting address.
43554 * util/i386/pc/pupa-setup.c (usage): Likewise,
43555 (main): Call pupa_ext2_init and pupa_ext2_fini.
43556
f19dbdb7 43557 * fs/fat.c (log2): Renamed to ...
8c8cc205 43558 (fat_log2): ... this.
43559 All callers changed.
43560 * kern/misc.c (memcpy): Alias to pupa_memmove.
43561 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43562 lvalue cast.
43563 * util/console.c (pupa_ncurses_fini): Return 0.
43564
43565 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43566 Move fail label here.
43567 [__GNU__]: Don't warn when using stat.
43568 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43569 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43570 long int. Use strtol instead of strtoul.
f19dbdb7 43571
db1771cf 435722004-03-14 Marco Gerards <metgerards@student.han.nl>
43573
43574 * commands/boot.c: New file.
43575 * commands/cat.c: Likewise.
43576 * commands/cmp.c: Likewise.
43577 * commands/ls.c: Likewise.
43578 * commands/terminal.c: Likewise.
43579 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43580 (pupa_register_command): Changed interface to match the new
43581 argument parser.
43582 (pupa_command_execute): Changed (almost rewritten) so it uses
43583 pupa_split_command. Added support for setting variables using the
43584 syntax `foo=bar'.
43585 (rescue_command): Changed to work with the new argument parser.
43586 (terminal_command): Moved from here to commands/terminal.c.
43587 (set_command): New function.
43588 (unset_command): New function.
43589 (insmod_command): New function.
43590 (rmmod_command): New function.
43591 (lsmod_command): New function.
43592 (pupa_command_init): Don't initialize the command terminal
43593 anymore. Initialize the commands set, unset, insmod, rmmod and
43594 lsmod.
43595 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43596 (kernel_img_HEADERS): Add arg.h and env.h.
43597 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43598 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43599 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43600 normal/arg.c.
43601 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43602 terminal.mod.
43603 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43604 (boot_mod_SOURCES): New variable.
43605 (terminal_mod_SOURCES): Likewise.
43606 (ls_mod_SOURCES): Likewise.
43607 (cmp_mod_SOURCES): Likewise.
43608 (cat_mod_SOURCES): Likewise.
43609
43610 * normal/arg.c: New file.
43611 * kern/env.c: Likewise.
43612 * include/pupa/arg.h: Likewise.
43613 * include/pupa/env.h: Likewise.
43614 * font/manager.c (font_command): Changed to match argument parsing
43615 interface changes.
43616 (PUPA_MOD_INIT): Likewise.
43617 * hello/hello.c (pupa_cmd_hello): Likewise.
43618 (PUPA_MOD_INIT): Likewise.
43619 * include/pupa/disk.h: Include <pupa/device.h>.
43620 (pupa_print_partinfo): New prototype.
43621 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43622 (pupa_dl_get_prefix): Likewise.
43623 * include/pupa/misc.h: Include <pupa/err.h>.
43624 (pupa_isgraph): New prototype.
43625 (pupa_isdigit): Likewise.
43626 (pupa_split_cmdline): Likewise.
43627 * include/pupa/normal.h: Include <pupa/arg.h>.
43628 (pupa_command): Changed the prototype of the member `func' to
43629 match the argument parsing interface. Added member `options'.
43630 (pupa_register_command): Updated to match function.
43631 (pupa_arg_parse): New prototype.
43632 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43633 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43634 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43635 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43636 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43637 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43638 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43639 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43640 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43641 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43642 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43643 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43644 * kern/disk.c: Include <pupa/file.h>.
43645 (pupa_print_partinfo): New function.
43646 * kern/dl.c: Include <pupa/env.h>.
43647 (pupa_dl_dir): Variable removed.
43648 (pupa_dl_load): Use the environment variable `prefix' instead of
43649 the variable pupa_dl_dir.
43650 (pupa_dl_set_prefix): Function removed.
43651 (pupa_dl_get_prefix): Likewise.
43652 * kern/i386/pc/init.c: Include <pupa/env.h>.
43653 (pupa_machine_init): Use the environment variable `prefix' instead of
43654 using pupa_dl_set_prefix to set the prefix.
43655 * kern/main.c: Include <pupa/env.h>.
43656 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43657 using pupa_dl_get_prefix to get the prefix.
43658 * kern/misc.c: Include <pupa/env.h>.
43659 (pupa_isdigit): New function.
43660 (pupa_isgraph): Likewise.
43661 (pupa_ftoa): Likewise.
43662 (pupa_vsprintf): Added support for printing values of the type
43663 `double'. Make it possible to format variable output when using
43664 formatting like `%1.2%f'.
43665 (pupa_split_cmdline): New function.
43666 * kern/rescue.c: Include <pupa/env.h>.
43667 (next_word): Removed function.
43668 (pupa_rescue_cmd_prefix): Likewise.
43669 (pupa_rescue_cmd_set): New function.
43670 (pupa_rescue_cmd_unset): New function.
43671 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43672 split the command line instead of splitting it here. Added
43673 support for setting variables using the syntax `foo=bar'. Don't
43674 initialize the prefix command anymore. Initialized the set and
43675 unset commands.
43676 * normal/cmdline.c: Include <pupa/env.h>.
43677 (pupa_tab_complete): Added prototypes for print_simple_completion,
43678 print_partition_completion, add_completion, iterate_commands,
43679 iterate_dev, iterate_part and iterate_dir. Moved code to print
43680 partition information from here to kern/disk.c.
fe6b695a 43681 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43682 * normal/main.c: Include <pupa/env.h>.
43683 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43684 instead of using pupa_dl_get_prefix to get the prefix.
43685 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43686 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43687 warning.
43688 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43689 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43690 ((unused))' to silence a gcc warning.
43691 (pupa_vga_setcolor): Likewise.
43692 (debug_command): Changed to match argument parsing
43693 interface changes.
43694 * util/pupa-emu.c: Include <pupa/env.h>.
43695 (options): Added 0's for unused fields to silence a gcc warning.
43696 (argp): Likewise.
43697 (main): Use the environment variable `prefix' instead of using
43698 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43699 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43700 and terminal.
43701
43702 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43703 * util/misc.c: Include <malloc.h>.
43704 (pupa_malloc): Rewritten so errors are correctly reported.
43705 (pupa_realloc): Likewise.
43706 (pupa_memalign): Likewise.
43707 (pupa_mm_init_region): Declare unused variables with
43708 `__attribute__ ((unused))' to silence a gcc warning.
43709 * normal/i386/setjmp.S: Remove tab at the end of the file to
43710 silence a gcc warning.
43711 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43712 variables with `__attribute__ ((unused))' to silence a gcc
43713 warning.
43714 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43715 local variable i unsigned to silence a gcc warning.
43716
43717 * kern/term.c: Include <pupa/misc.h>.
43718 (pupa_more_lines): New variable.
43719 (pupa_more): Likewise.
43720 (pupa_putcode): When the pager is active pause at the end of every
43721 screen.
43722 (pupa_set_more): New function.
43723 * include/pupa/term.h (pupa_set_more): New prototype.
43724
43725
3b1139cb 437262004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43727
43728 Now this project is GRUB 2 rather than PUPA. The location of
43729 the CVS repository was moved to GRUB's.
f19dbdb7 43730
3b1139cb 43731 * configure.ac: Use bug-grub as the reporting address.
43732 Use GRUB instead of PUPA.
43733 Change the version number to 1.90.
43734
8367695c 437352004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43736
43737 * genkernsyms.sh: Updated copyright information.
43738 * genmk.rb: Likewise.
43739 * genmodsrc.sh: Likewise.
43740 * gensymlist.sh: Likewise.
43741 * boot/i386/pc/boot.S: Likewise.
43742 * boot/i386/pc/diskboot.S: Likewise.
43743 * disk/i386/pc/biosdisk.c: Likewise.
43744 * disk/i386/pc/partition.c: Likewise.
43745 * font/manager.c: Likewise.
43746 * fs/ext2.c: Likewise.
43747 * fs/fat.c: Likewise.
43748 * include/pupa/boot.h: Likewise.
43749 * include/pupa/device.h: Likewise.
43750 * include/pupa/disk.h: Likewise.
43751 * include/pupa/dl.h: Likewise.
43752 * include/pupa/elf.h: Likewise.
43753 * include/pupa/err.h: Likewise.
43754 * include/pupa/file.h: Likewise.
43755 * include/pupa/font.h: Likewise.
43756 * include/pupa/fs.h: Likewise.
43757 * include/pupa/kernel.h: Likewise.
43758 * include/pupa/loader.h: Likewise.
43759 * include/pupa/misc.h: Likewise.
43760 * include/pupa/mm.h: Likewise.
43761 * include/pupa/net.h: Likewise.
43762 * include/pupa/normal.h: Likewise.
43763 * include/pupa/rescue.h: Likewise.
43764 * include/pupa/setjmp.h: Likewise.
43765 * include/pupa/symbol.h: Likewise.
43766 * include/pupa/term.h: Likewise.
43767 * include/pupa/types.h: Likewise.
43768 * include/pupa/i386/setjmp.h: Likewise.
43769 * include/pupa/i386/types.h: Likewise.
43770 * include/pupa/i386/pc/biosdisk.h: Likewise.
43771 * include/pupa/i386/pc/boot.h: Likewise.
43772 * include/pupa/i386/pc/console.h: Likewise.
43773 * include/pupa/i386/pc/init.h: Likewise.
43774 * include/pupa/i386/pc/kernel.h: Likewise.
43775 * include/pupa/i386/pc/linux.h: Likewise.
43776 * include/pupa/i386/pc/loader.h: Likewise.
43777 * include/pupa/i386/pc/memory.h: Likewise.
43778 * include/pupa/i386/pc/multiboot.h: Likewise.
43779 * include/pupa/i386/pc/partition.h: Likewise.
43780 * include/pupa/i386/pc/time.h: Likewise.
43781 * include/pupa/i386/pc/vga.h: Likewise.
43782 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43783 * include/pupa/util/getroot.h: Likewise.
43784 * include/pupa/util/misc.h: Likewise.
43785 * include/pupa/util/resolve.h: Likewise.
43786 * kern/device.c: Likewise.
43787 * kern/disk.c: Likewise.
43788 * kern/dl.c: Likewise.
43789 * kern/err.c: Likewise.
43790 * kern/file.c: Likewise.
43791 * kern/fs.c: Likewise.
43792 * kern/loader.c: Likewise.
43793 * kern/main.c: Likewise.
43794 * kern/misc.c: Likewise.
43795 * kern/mm.c: Likewise.
43796 * kern/rescue.c: Likewise.
43797 * kern/term.c: Likewise.
43798 * kern/i386/dl.c: Likewise.
43799 * kern/i386/pc/init.c: Likewise.
43800 * kern/i386/pc/lzo1x.S: Likewise.
43801 * kern/i386/pc/startup.S: Likewise.
43802 * loader/i386/pc/chainloader.c: Likewise.
43803 * loader/i386/pc/linux.c: Likewise.
43804 * loader/i386/pc/multiboot.c: Likewise.
43805 * normal/cmdline.c: Likewise.
43806 * normal/command.c: Likewise.
43807 * normal/main.c: Likewise.
43808 * normal/menu.c: Likewise.
43809 * normal/i386/setjmp.S: Likewise.
43810 * term/i386/pc/console.c: Likewise.
43811 * term/i386/pc/vga.c: Likewise.
43812 * util/console.c: Likewise.
43813 * util/genmoddep.c: Likewise.
43814 * util/misc.c: Likewise.
43815 * util/pupa-emu.c: Likewise.
43816 * util/resolve.c: Likewise.
43817 * util/unifont2pff.rb: Likewise.
43818 * util/i386/pc/biosdisk.c: Likewise.
43819 * util/i386/pc/getroot.c: Likewise.
43820 * util/i386/pc/pupa-mkimage.c: Likewise.
43821 * util/i386/pc/pupa-setup.c: Likewise.
43822
e6eced71 438232004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43824
43825 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43826 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43827 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43828 reading and reset it after reading.
43829 (pupa_ext2_close): Return PUPA_ERR_NONE.
43830
43831 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43832 Correct value.
43833 (struct linux_kernel_header): Add kernel_version and
43834 initrd_addr_max.
43835 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43836 pupa_file_read succeeds.
43837 (pupa_rescue_cmd_initrd): Implement.
43838
5aded270 438392003-12-03 Marco Gerards <metgerards@student.han.nl>
43840
43841 * fs/ext2.c (pupa_ext2_label): New function.
43842 (pupa_ext2_fs): Added label.
43843 * fs/fat.c (pupa_fat_label): New function.
43844 (pupa_fat_fs): Added label.
43845 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43846
43847 * kern/misc.c (pupa_strndup): New function.
43848 * include/pupa/misc.h (pupa_strndup): New prototype.
43849
43850 * include/pupa/normal.h: Include <pupa/err.h>.
43851 (pupa_set_history): New prototype.
43852 (pupa_iterate_commands): New prototype.
43853 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43854 <pupa/disk.h>, <pupa/file.h>.
43855 (hist_size): New variable.
43856 (hist_lines): Likewise.
43857 (hist_end): Likewise.
43858 (hist_used): Likewise.
43859 (pupa_set_history): New function.
43860 (pupa_history_get): Likewise.
43861 (pupa_history_add): Likewise.
43862 (pupa_history_replace): Likewise.
43863 (pupa_tab_complete): Likewise.
43864 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43865 completion shows partitionnames while completing partitions, this
43866 feature was suggested by Jeff Bailey.
43867 * normal/command.c (pupa_iterate_commands): New function.
43868 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43869 (pupa_normal_init): Initialize history buffer.
43870 (PUPA_MOD_INIT): Likewise.
43871 (pupa_normal_fini): Free the history buffer.
43872 (PUPA_MOD_FINI): Likewise.
43873
43874 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43875 key.
43876
43877 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43878 * configure.ac [i386]: Check for regparam bug.
43879 (NESTED_FUNC_ATTR) [! i386]: Defined.
43880
1f7315a3 438812003-11-17 Marco Gerards <metgerards@student.han.nl>
43882
43883 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43884 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43885 (pupa_emu_SOURCES): New variable.
43886 (pupa_emu_LDFLAGS): Likewise.
43887 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43888 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43889 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43890 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43891 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43892 (pupa_jmp_buf): New typedef.
43893 (pupa_setjmp) [PUPA_UTIL]: New macro.
43894 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43895 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43896 (pupa_refresh): New prototype.
43897 * include/pupa/util/getroot.h: New file.
43898 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43899 it.
43900 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43901 (pupa_rescue_cmd_cat): Likewise.
43902 (pupa_rescue_cmd_ls): Likewise.
43903 (pupa_rescue_cmd_testload): Likewise.
43904 (pupa_rescue_cmd_lsmod): Likewise.
43905 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43906 * normal/menu.c (run_menu): Likewise.
43907 * kern/term.c (pupa_cls): Likewise.
43908 (pupa_refresh): New function.
43909 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43910 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43911 * util/console.c: New file.
f19dbdb7 43912
1f7315a3 43913 * util/i386/pc/getroot.c: New file.
43914 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43915 (pupa_putchar): New function.
43916 (pupa_refresh): Likewise.
43917 (xgetcwd): Function moved to ...
43918 (strip_extra_slashes): Likewise.
43919 (get_prefix): Likewise.
f19dbdb7 43920 * util/i386/pc/getroot.c: ... here.
1f7315a3 43921 (find_root_device): Function moved and renamed to...
43922 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43923 Changed all callers.
43924 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43925 and renamed to...
43926 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43927 Changed all callers.
43928 * util/misc.c (pupa_memalign): New function.
43929 (pupa_mm_init_region): Likewise.
43930 (pupa_register_exported_symbols): Likewise.
43931 (pupa_putchar): Function removed.
43932 * util/pupa-emu.c: New file.
43933
9a5c1ade 439342003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43935
43936 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43937 (_multiboot_mod_SOURCES): New variable.
43938 (_multiboot_mod_CFLAGS): Likewise.
43939 * loader/i386/pc/multiboot.c: New file.
43940 * include/pupa/i386/pc/multiboot.h: Likewise.
43941 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43942 (pupa_multiboot_real_boot): New function.
43943 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43944 (pupa_multiboot_real_boot): New prototype.
43945 (pupa_rescue_cmd_multiboot): Likewise
43946 (pupa_rescue_cmd_module): Likewise.
43947
43948 * kern/loader.c (pupa_loader_set): Continue when
43949 pupa_loader_unload_func() fails.
43950 (pupa_loader_unset): New function.
43951 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43952
43953 * kern/misc.c (pupa_stpcpy): New function.
43954 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43955
8e72a9c0 439562003-11-12 Marco Gerards <metgerards@student.han.nl>
43957
43958 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43959 for available extensions.
43960
43961 * include/pupa/i386/pc/time.h: New file.
43962 * kern/disk.c: Include <pupa/machine/time.h>.
43963 (PUPA_CACHE_TIMEOUT): New macro.
43964 (pupa_last_time): New variable.
43965 (pupa_disk_open): Flush the cache when there was a timeout.
43966 (pupa_disk_close): Reset the timer.
43967 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43968 pupa_currticks.
43969 * util/misc.c: Include <sys/times.h>
43970 (pupa_get_rtc): New function.
43971
c4adbd32 439722003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43973
43974 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43975 as blocks.
43976 (pupa_ext2_get_file_block): Use blocks member.
43977
43978 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43979 first block. Return -1 instead of pupa_errno on error.
43980
bfd30f06 439812003-10-27 Marco Gerards <metgerards@student.han.nl>
43982
43983 * README: In the pupa-mkimage example use _chain instead of chain
43984 and ext2 instead of fat.
43985 * TODO: Replace ext2fs with jfs as an example. Add an item for
43986 adding journal playback for ext2fs.
43987 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43988 (pkgdata_MODULES): Added ext2.mod.
43989 (ext2_mod_SOURCES): New variable.
43990 (ext2_mod_CFLAGS): Likewise.
43991 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43992 * include/pupa/misc.h (pupa_strncpy): New prototype.
43993 (pupa_strcat): Likewise.
43994 (pupa_strncmp): Likewise.
43995 * kern/misc.c (pupa_strcat): Enable function.
43996 (pupa_strncpy): New function.
43997 (pupa_strncmp): Likewise.
43998 * fs/ext2.c: New file.
f19dbdb7 43999
bfd30f06 44000 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44001 when the read failed before retrying.
44002 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44003 (_FILE_OFFSET_BITS): Likewise.
44004 * configure.ac: Added AC_SYS_LARGEFILE.
44005
98d15063 440062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44007
44008 * genmk.rb (PModule#rule): Make sure to get only symbol names
44009 from the output of nm.
59cad637 44010 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44011
18d9c7cd 440122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44013
44014 I forgot to check in these changes for a long time. This adds
44015 incomplete support for VGA console, and this is still very
44016 buggy. Also, a lot of consideration is required for I18N,
44017 UNICODE, and VGA font issues. Therefore, assume that this is
44018 such that "better than nothing".
f19dbdb7 44019
18d9c7cd 44020 * font/manager.c: New file.
44021 * include/pupa/font.h: Likewise.
44022 * include/pupa/i386/pc/vga.h: Likewise.
44023 * term/i386/pc/vga.c: Likewise.
44024 * util/unifont2pff.rb: Likewise.
44025
44026 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44027 (pkgdata_MODULES): Added vga.mod and font.mod.
44028 (vga_mod_SOURCES): New variables.
44029 (vga_mod_CFLAGS): Likewise.
44030 (font_mod_SOURCES): Likewise.
44031 (font_mod_CFLAGS): Likewise.
44032
44033 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44034
44035 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44036 (struct pupa_term): Added init and fini.
18d9c7cd 44037 Changed the argument of putchar to pupa_uint32_t.
44038
44039 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44040 (pupa_console_real_putchar): New prototype.
44041 (pupa_console_putchar): Removed.
44042 (pupa_console_checkkey): Exported.
44043 (pupa_console_getkey): Likewise.
44044
44045 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44046 characters.
44047
44048 * kern/term.c (pupa_term_set_current): Rewritten.
44049 (pupa_putchar): Likewise.
44050 (pupa_putcode): New function.
44051
44052 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44053 (pupa_console_real_putchar): ... this.
44054 (pupa_vga_set_mode): New function.
44055 (pupa_vga_get_font): Likewise.
44056
44057 * normal/command.c: Include pupa/term.h.
44058 (terminal_command): New function.
44059 (pupa_command_init): Register the command "terminal".
44060
44061 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44062 (DISP_UP): Likewise.
44063 (DISP_RIGHT): Likewise.
44064 (DISP_DOWN): Likewise.
44065 (DISP_HLINE): Likewise.
44066 (DISP_VLINE): Likewise.
44067 (DISP_UL): Likewise.
44068 (DISP_UR): Likewise.
44069 (DISP_LL): Likewise.
44070 (DISP_LR): Likewise.
44071
44072 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44073
977329f5 440742003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44075
44076 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44077 FIX. Reverse the path_list.
44078
44079 * include/pupa/normal.h: Export pupa_register_command and
44080 pupa_unregister_command.
44081
44082 * hello/hello.c (pupa_cmd_hello): New module.
44083 * conf/i386-pc.rmk: Added hello.mod.
44084
1f5ab428 440852003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44086
44087 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44088
1f5ab428 44089 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44090 (compress_kernel): New variable.
44091 (generate_image): Heavily modified to support compressing a
44092 large part of the core image.
44093
44094 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44095 leak.
44096 (pupa_util_load_image): New function.
44097
44098 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44099 (pupa_compressed_size): New variable.
44100 (codestart): Enable Gate A20 here.
44101 Decompress the compressed part of the core image.
44102 Rearrange the code to put functions and variables which are
44103 required for initialization in the non-compressed part.
44104 Include lzo1x.S.
44105
44106 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44107 here.
44108
44109 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44110
f19dbdb7 44111 * include/pupa/i386/pc/kernel.h
1f5ab428 44112 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44113 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44114 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44115 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44116 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44117
44118 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44119
44120 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44121 (Utility#rule): Likewise.
44122
44123 * configure.ac: Check if LZO is available.
44124
ce5bf700 441252003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44126
44127 * include/pupa/normal.h: New file.
44128 * include/pupa/setjmp.h: Likewise.
44129 * include/pupa/i386/setjmp.h: Likewise.
44130 * normal/cmdline.c: Likewise.
44131 * normal/command.c: Likewise.
44132 * normal/main.c: Likewise.
44133 * normal/menu.c: Likewise.
44134 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44135
ce5bf700 44136 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44137 (pupa_rescue_cmd_initrd): Likewise.
44138
44139 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44140 Likewise.
44141
44142 * kern/i386/pc/startup.S (translation_table): New variable.
44143 (translate_keycode): New function.
44144 (pupa_console_getkey): Call translate_keycode.
44145
44146 * kern/rescue.c (attempt_normal_mode): New function.
44147 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44148 it failed, print a message.
44149
44150 * kern/mm.c (pupa_real_malloc): Print more information when a
44151 free magic is broken.
44152 (pupa_free): If the first free header is not free actually, set
44153 it to P.
44154
44155 * kern/main.c (pupa_load_normal_mode): Just load the module
44156 "normal".
44157 (pupa_main): Don't print the message
44158 "Entering into rescue mode..." here.
44159
44160 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44161 Declared.
44162 (pupa_rescue_cmd_initrd): Likewise.
44163 (pupa_rescue_cmd_initrd): Likewise.
44164
44165 * include/pupa/symbol.h (FUNCTION): Specify the type.
44166 (VARIABLE): Likewise.
44167
44168 * include/pupa/err.h (pupa_err_t): Added
44169 PUPA_ERR_UNKNOWN_COMMAND.
44170
44171 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44172 (pupa_dl_get_prefix): Likewise.
44173
44174 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44175 Added _chain.mod and _linux.mod instead of chain.mod and
44176 linux.mod.
44177 (chain_mod_SOURCES): Renamed to ...
44178 (_chain_mod_SOURCES): ... this.
44179 (chain_mod_CFLAGS): Renamed to ...
44180 (_chain_mod_CFLAGS): ... this.
44181 (linux_mod_SOURCES): Renamed to ...
44182 (_linux_mod_SOURCES): ... this.
44183 (linux_mod_CFLAGS): Renamed to ...
44184 (_linux_mod_CFLAGS): ... this.
44185 (normal_mod_SOURCES): New variable.
44186 (normal_mod_CFLAGS): Likewise.
44187 (normal_mod_ASFLAGS): Likewise.
44188
441892003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44190
44191 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44192 possible.
44193
fe6b695a 44194 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44195 recursively.
44196 (pupa_dl_unref): Unrefer depending modules recursively.
44197 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44198 a module is unloaded before one depending on that module is
44199 unloaded.
44200 (pupa_dl_unload): Unload depending modules explicitly,
44201 if possible.
44202
c04da074 442032003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44204
44205 * include/pupa/i386/pc/linux.h: New file.
44206 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44207
c04da074 44208 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44209 Removed.
44210 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44211 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44212 of PUPA_CHAINLOADER_BOOT_SECTOR.
44213
44214 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44215 (pupa_linux_prot_size): New variable.
44216 (pupa_linux_tmp_addr): Likewise.
44217 (pupa_linux_real_addr): Likewise.
44218 (pupa_linux_boot_zimage): New function.
44219 (pupa_linux_boot_bzimage): Likewise.
44220
44221 * kern/i386/pc/init.c (struct mem_region): New structure.
44222 (MAX_REGIONS): New macro.
44223 (mem_regions): New variable.
44224 (num_regions): Likewise.
44225 (pupa_os_area_addr): Likewise.
44226 (pupa_os_area_size): Likewise.
44227 (pupa_lower_mem): Likewise.
44228 (pupa_upper_mem): Likewise.
44229 (add_mem_region): New function.
44230 (compact_mem_regions): Likewise.
44231 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44232 the size of the conventional memory and that of so-called upper
44233 memory (before the first memory hole).
44234 Instead of adding each found region to free memory, use
44235 add_mem_region and add them after removing overlaps.
44236 Also, add only 1/4 of the upper memory to free memory. The rest
44237 is used for loading OS images. Maybe this is ad hoc, but this
44238 makes it much easier to relocate OS images when booting.
44239
44240 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44241 (pupa_enter_rescue_mode): Don't register initrd and module.
44242
44243 * kern/mm.c: Include pupa/dl.h.
44244
44245 * kern/main.c: Include pupa/file.h and pupa/device.h.
44246
44247 * kern/loader.c (pupa_loader_load_module_func): Removed.
44248 (pupa_loader_load_module): Likewise.
44249
44250 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44251 ``.o''.
44252
44253 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44254 (pupa_linux_tmp_addr): Likewise.
44255 (pupa_linux_real_addr): Likewise.
44256 (pupa_linux_boot_zimage): Likewise.
44257 (pupa_linux_boot_bzimage): Likewise.
44258
44259 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44260 (pupa_upper_mem): Likewise.
44261 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44262 module is too dangerous.
44263
44264 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44265 (pupa_os_area_size): Likewise.
44266 (pupa_loader_set): Remove the first argument. Loader doesn't
44267 manage modules or initrd any longer.
44268 (pupa_loader_load_module): Removed.
44269
44270 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44271 (linux_mod_SOURCES): New variable.
44272 (linux_mod_CFLAGS): Likewise.
44273
a13f9237 442742003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44275
44276 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44277 the length of a blocklist correctly.
44278
44279 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44280 Use ioctl only if the OS file is a block device.
44281 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44282 not very useful for normal files.
44283
44284 * kern/main.c (pupa_set_root_dev): New function.
44285 (pupa_load_normal_mode): Likewise.
44286 (pupa_main): Call those above.
44287
44288 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44289 pupa_uint16_t.
44290
44291 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44292
a5ffe966 442932003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44294
44295 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44296 (setup): Configure the installed partition information and the
44297 dl prefix.
44298
44299 * loader/i386/pc/chainloader.c (my_mod): New variable.
44300 (pupa_chainloader_unload): New function.
44301 (pupa_rescue_cmd_chainloader): Refer itself.
44302 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44303
44304 * kern/i386/pc/startup.S (install_partition): Removed.
44305 (version_string): Likewise.
44306 (config_file): Likewise.
44307 (pupa_install_dos_part): New variable.
44308 (pupa_install_bsd_part): Likewise.
44309 (pupa_prefix): Likewise.
44310 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44311
44312 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44313 and pupa/misc.h.
44314 (make_install_device): New function.
44315 (pupa_machine_init): Set the dl prefix.
44316
44317 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44318 (buf): Renamed to ...
44319 (linebuf): ... this.
44320 (pupa_rescue_cmd_prefix): New function.
44321 (pupa_rescue_cmd_insmod): Likewise.
44322 (pupa_rescue_cmd_rmmod): Likewise.
44323 (pupa_rescue_cmd_lsmod): Likewise.
44324 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44325 rmmod and lsmod.
44326
44327 * kern/mm.c (pupa_memalign): If failed even after invalidating
44328 disk caches, unload unneeded modules and retry.
44329
44330 * kern/misc.c (pupa_memmove): New function.
44331 (pupa_memcpy): Removed.
44332 (pupa_strcpy): New function.
44333 (pupa_itoa): Made static.
44334
44335 * kern/dl.c (pupa_dl_iterate): New function.
44336 (pupa_dl_ref): Likewise.
44337 (pupa_dl_unref): Likewise.
44338 (pupa_dl_unload): Return if succeeded or not.
44339 (pupa_dl_unload_unneeded): New function.
44340 (pupa_dl_unload_all): Likewise.
44341 (pupa_dl_init): Renamed to ...
44342 (pupa_dl_set_prefix): ... this.
44343 (pupa_dl_get_prefix): New function.
44344
44345 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44346 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44347 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44348 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44349 (pupa_install_dos_part): Declared.
44350 (pupa_install_bsd_part): Likewise.
44351 (pupa_prefix): Likewise.
44352 (pupa_boot_drive): Likewise.
44353
44354 * include/pupa/types.h: Fix a typo.
44355
44356 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44357 pupa_memmove.
44358 (pupa_memmove): Declared.
44359 (pupa_strcpy): Likewise.
44360
44361 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44362 pupa_mod_init takes one argument, its own module.
44363 (pupa_dl_unload_unneeded): Declared.
44364 (pupa_dl_unload_all): Likewise.
44365 (pupa_dl_ref): Likewise.
44366 (pupa_dl_unref): Likewise.
44367 (pupa_dl_iterate): Likewise.
44368 (pupa_dl_init): Renamed to ...
44369 (pupa_dl_set_prefix): ... this.
44370 (pupa_dl_get_prefix): Declared.
44371
44372 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44373 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44374 unloaded.
44375 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44376 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44377
44378 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44379 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44380
012d7999 443812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44382
44383 * util/i386/pc/pupa-setup.c (setup): Define the internal
44384 function find_first_partition_start at the top level, because GCC
44385 3.0.x cannot compile internal functions in deeper scopes
44386 correctly.
44387 (find_root_device): Use lstat instead of stat.
44388 Don't follow symbolic links.
44389 Fix the path-constructing code.
44390
44391 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44392 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44393 by a BLKGETSIZE ioctl first, because block devices don't fill
44394 the member st_mode of the structure stat on Linux.
44395 [__linux__] (linux_find_partition): Use a temporary buffer
44396 REAL_DEV for the working space. Copy it to DEV before returning.
44397 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44398 buffer cache consistent.
44399 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44400 strncmp. The previous value was merely wrong.
44401 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44402
44403 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44404 FAT size is 12. The previous value was merely wrong.
44405
44406 * kern/main.c (pupa_main): Don't split the starting message from
44407 newlines.
44408
44409 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44410 LF, because BIOS goes crazy about character attributes in this
44411 case.
44412
1cc73a62 444132003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44414
44415 * include/i386/pc/util/biosdisk.h: New file.
44416 * util/i386/pc/biosdisk.c: Likewise.
44417 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44418
1cc73a62 44419 * Makefile.in (INCLUDE_DISTFILES): Added
44420 include/pupa/i386/pc/util/biosdisk.h.
44421 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44422 directory util/i386/pc.
44423 (install-local): Added a rule for sbin_UTILITIES.
44424 (uninstall): Likewise.
44425
44426 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44427
44428 * util/misc.c (xrealloc): New function.
44429 (pupa_malloc): Likewise.
44430 (pupa_free): Likewise.
44431 (pupa_realloc): Likewise.
44432 (pupa_stop): Likewise.
44433 (pupa_putchar): Likewise.
44434
44435 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44436
44437 * include/pupa/util/misc.h (xrealloc): Declared.
44438
44439 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44440 macro.
44441 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44442 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44443
44444 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44445 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44446
44447 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44448 way should be implemented.
44449 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44450
44451 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44452 the size of NAME for safety.
44453 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44454 0x88.
44455
44456 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44457 (pupa_setup_SOURCES): Likewise.
44458
44459 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44460
08b70fe8 444612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44462
44463 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44464 bunch of pushl's from pusha, because this destroys the return
44465 value.
44466
62ddcc8f 444672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44468
44469 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44470 This means that any missing prototypes could be fatal. Also, you
44471 must take care when writing assembly code. See the comments at
44472 the beginning of startup.S, for more details.
f19dbdb7 44473
62ddcc8f 44474 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44475 compilation mechanism.
44476 (pupa_chainloader_real_boot): Likewise.
44477 (pupa_biosdisk_rw_int13_extensions): Likewise.
44478 (pupa_biosdisk_rw_standard): Likewise.
44479 (pupa_biosdisk_check_int13_extensions): Likewise.
44480 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44481 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44482 (pupa_get_memsize): Likewise.
44483 (pupa_get_mmap_entry): Likewise.
44484 (pupa_console_putchar): Likewise.
44485 (pupa_console_setcursor): Likewise.
44486 (pupa_getrtsecs): Use pushl instead of push.
44487
44488 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44489 memory instead of the stack for a mmap entry, because some
44490 BIOSes may ignore the maximum size and overflow.
44491
44492 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44493
44494 * genmk.rb (PModule#rule): Compile automatically generated
44495 sources with module-specific CFLAGS as well as other sources.
44496
9962ed99 444972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44498
44499 * configure.ac: Check ld.
44500 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44501 respectively, before checking endianness and sizes.
44502
44503 * Makefile.in (LD): New variable.
f19dbdb7 44504
abdfc3c5 445052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44506
44507 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44508
6a161fa9 445092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44510
44511 * Changelog: New file.
44512