]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
[grub2.git] / ChangeLog
CommitLineData
851ffada
VS
12012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4 written bytes.
5 (grub_get_num_of_utf8_bytes): New function.
6 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8 executing it.
9 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10 (grub_ucs4_to_utf8): Change return type.
11
491c57a8
VS
122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
15 warning.
851ffada
VS
16 * grub-core/fs/bfs.c (hop_level): Likewise.
17 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 18
756773df
VS
192012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/lib/adler32.c: Recode due to license unclearness.
22
fd556a96
VS
232012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
26 (test_header): Likewise.
27
9f9d3f69
VS
282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Fix --help formatting.
31
32 * util/grub-mkconfig_lib.in (print_option_help): New function.
33 (grub_fmt): Likewise.
34 * util/grub-install.in: Use print_option_help and grub_fmt.
35 * util/grub-kbdcomp.in: Likewise.
36 * util/grub-mkconfig.in: Likewise.
37 * util/grub-mknetdir.in: Likewise.
38 * util/grub-mkrescue.in: Likewise.
39 * util/grub-mkstandalone.in: Likewise.
40 * util/grub-reboot.in: Likewise.
41 * util/grub-set-default.in: Likewise.
42 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
43
561ec77e
VS
442012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * linguas.sh: Remove autogenerated *.po.
47
7ec2b021
VS
482012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * po/README: Move language fetcing to ...
51 * linguas.sh: ... here.
52 * po/README: Point to linguas.sh.
53
a88f3270
VS
542012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * po/README: Exclude ko.po due to disclaimer problems.
57
d61357ce
VS
582012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
61 len = 0.
62 (grub_gettext_translate_real): Handle 0th string.
63 (grub_gettext_translate): Ensure that "" isn't translated.
64
505e41dc
VS
652012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
68 TRANSLATORS comment.
69 (grub_diskfilter_print_partmap): Propagate changing of error into
70 warning.
71
e44092db
VS
722012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
75 to uint64_t to prevent overflow.
76 (grub_diskfilter_lv): Increase start_extent and extent_count
77 to uint64_t to prevent overflow.
78
9b83956a
VS
792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * configure.ac: Increase version.
82
da0d5b3f
VS
832012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
86
87 * po/Rules-translit: New file.
88 * po/arabic.sed: Likewise.
89 * po/cyrillic.sed: Likewise.
90 * po/greek.sed: Likewise.
91 * po/hebrew.sed: Likewise.
92 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
93 * po/Makefile.in.in: Add extra_dist4.
94
ac66b453
VS
952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Handle big-endian minixfs (fixes minixfs tests on bigendian).
98
99 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
100 modify names. Introduce MODE_BIGENDIAN.
101 * grub-core/fs/minix_be.c: New file.
102 * grub-core/fs/minix2_be.c: Likewise
103 * grub-core/fs/minix3_be.c: Likewise.
104 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
105 minix3_be.
106 * grub-core/Makefile.core.def (minix_be): New module.
107 (minix2_be): Likewise.
108 (minix3_be): Likewise.
109
1102012-04-01 Felix <email@hamburg.de>
111
112 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
113 (devs): Add MBP 2011.
114
0a2d5a82
VS
1152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
118
d1625889
VS
1192012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/normal/cmdline.c (print_completion): New field
122 prompt_len.
123 (grub_cmdline_get): Handle width properly.
124
6d36a236
VS
1252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/commands/lsacpi.c (options): Add missing terminator.
128
9576977e
VS
1292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 132 after 29th of February.
9576977e 133
d73ff15d
VS
1342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Fix exfat endianness handling.
137
138 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
139 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
140 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
141 Byte-swap utf16 when necessary.
142 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
143
bbb39a45
AB
1442012-03-31 Anton Blanchard <anton@samba.org>
1452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
146
147 Fix btrfs endianness handling.
148
149 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
150 (lower_bound): Make root uint64_t. Use root in le.
151 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
152 (find_path): Fix template key init.
153 (grub_btrfs_dir): Fix mtime byteswap.
154 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
155
354e0af7
VS
1562012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
159 recursion_depth. Break infinite resursions. All users updated.
160
4e75f21c
VS
1612012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
164 after free.
165 Reported by: Peter Jones.
166
25581802
AB
1672012-03-31 Anton Blanchard <anton@samba.org>
168
169 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
170 8 bit values.
171
08fbf92e
VS
1722012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * util/grub-install.in: Fix nvram call for PreP.
175
5d1182a6
VS
1762012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
179 the error when some elements are missing into a warning.
180
3f8cdd90
VS
1812012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
184
51006716
CW
1852012-03-28 Colin Watson <cjwatson@ubuntu.com>
186
187 * docs/grub.texi (Invoking grub-probe): New section.
188 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
189
e1bd676b
VS
1902012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Fix tab and wide character handling in editor and menu.
193
194 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
195 agglomerate control characters with combining marks.
196 (bidi_line_wrap): Allow break on tab.
197 (grub_unicode_get_comb_start): New function.
198 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
199 and tab correctly.
200 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
201 with a space.
202 * grub-core/normal/term.c (print_ucs4_terminal): New argument
203 fixed_tab_size. All users updated.
204 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
205 (grub_term_getcharwidth): Handle \t.
206 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
207 and copy.
208
22e6a774
VS
2092012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
210
211 Handle big-endian mdraid.
212
213 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
214 * grub-core/Makefile.core.def (mdraid09_be): New module.
215 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
216 rather than grub_le_to_cpu* and grub_cpu_to_le*.
217 * grub-core/disk/mdraid_linux_be.c: New file.
218
3c0eae66
VS
2192012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
222
b6cf74c9
VS
2232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
226 missing quotes which caused confusion among translators.
227
83c93b9c
VS
2282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * util/grub-mkconfig_lib.in: Fix typo.
231
ac6fd218
VS
2322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
235 spaces.
236 * tests/grub_script_leading_whitespace.in: New file.
237 * Makefile.util.def (grub_script_leading_whitespace): New test.
238
ba287dd8
VS
2392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
242 to work.
243
d2d58d0a
VS
2442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
247 starts with control character.
248
0382d9bb
VS
2492012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
252 overflow.
253 (grub_gdb_outbuf): Likewise.
254
d83ff9f9
VS
2552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
258 zero terminator. Fixes a crash.
259
2282da4a
VS
2602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
263 beyond 4 GiB.
264 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
265 images independently of preffered adderss field.
266
0ae4f0bd
VS
2672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
270 * grub-core/commands/regexp.c: Likewise.
271 * grub-core/loader/i386/linux.c: Likewise.
272 * grub-core/partmap/msdos.c: Likewise.
273 * grub-core/script/execute.c: Likewise.
274 * grub-core/term/gfxterm.c: Likewise.
275
546fbe9b
VS
2762012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
277
278 Add variable parsing in $"..." and fix several mismatches with bash.
279
280 * Makefile.util.def (grub_script_gettext): New test.
281 * grub-core/script/execute.c (parse_string): New function.
282 (gettext_append): Likewise.
283 (grub_script_arglist_to_argv): Use gettext_append.
284 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
285 * tests/grub_script_gettext.in: New file.
286
9fdb2d7b
VS
2872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
288
289 Fix handling of leading spaces in scripts.
290
291 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
292 spaces.
293 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
294 other than skipping \r. All users updated.
295 * tests/grub_script_echo1.in: Add space-related tests.
296 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
297
1a1ac4f6
VS
2982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
301
b63d89b6
VS
3022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * configure.ac: Bump up the version to beta2.
305
17f38c0f
VS
3062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
307
308 Fix gettext reload bugs (e.g. inability to disable gettext
309 once enabled).
310
311 * grub-core/gettext/gettext.c: Encapsulate all static variables in
312 main_context and secondary_context. All functions updated.
313 (grub_gettext_translate): Rename to ...
314 (grub_gettext_translate_real): ... this. Return NULL on failed
315 translate.
316 (grub_gettext_translate): Handle secondary context.
317 (grub_gettext_delete_list): Close file and zero-out the context.
318 (grub_mofile_open): Don't call grub_gettext_delete_list.
319 Don't close file.
320 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
321 if locale="" to avoid pointless error message.
322 (grub_gettext_env_write_lang): Update lang even if load fails.
323 Handle secondary context.
324 (grub_gettext_reread_prefix): New function.
325 (read_main): Likewise.
326 (read_secondary): Likewise.
327 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
328 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
329 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
330 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
331
8e56f870
VS
3322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * configure.ac: Decrease warning level to avoid spurious warnings and
335 to be able to compile with GCC 4.2.
336 * Makefile.util.def: Remove -Wno-error=logical-op.
337
82f6d455
WB
3382012-03-10 William Bittner <william.bittner@gmail.com>
339
340 * util/import_unicode.py: Add missing brackets around string for
341 python 3 support.
342
1ecd61a4
VS
3432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
344
345 Fix efi chainloader on network root.
346
347 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
348 network devices.
349 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
350 New function.
351
14361ee8
VS
3522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
355 unused show_text member.
356 * docs/grub.texi: Document "text" property.
357
922aabf3
VS
3582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
361 in dprintf.
362
ec316771
VS
3632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Fix IMSM handling on Fedora.
366
367 * util/getroot.c (grub_util_is_imsm): New function.
368 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
369
0f021838
VS
3702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * Makefile.am: Strip gold section.
373 * conf/Makefile.common: Likewise.
374 * gentpl.py: Likewise.
375 * grub-core/Makefile.core.def: Likewise.
376 * grub-core/genmod.sh.in: Likewise.
377
1039c8eb
VS
3782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
381 * util/grub.d/20_linux_xen.in: Likewise.
382 Based on Debian patch.
383
6dd412cd
VS
3842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * util/grub.d/10_linux.in: Fix syntax error resulting in
387 Richard Laager's patch.
388 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
389
3fd8bae5
VS
3902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
393 dependencies.
394
7eea1671
RL
3952012-03-10 Richard Laager <rlaager@wiktel.com>
396
397 * util/grub.d/10_linux.in: Fix ZFS root passing.
398
e8e0566b
VS
3992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
402 * grub-core/commands/xnu_uuid.c: Likewise.
403 * grub-core/loader/efi/appleloader.c: Likewise.
404 * grub-core/script/execute.c: Likewise.
405 * grub-core/script/main.c: Likewise.
406 * util/grub-mkfont.c: Likewise.
407
1acc5b1f
VS
4082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * util/grub-mkfont.c (options): Use more appropriate "select" that
411 "set" for face index.
412
35d70620
VS
4132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/grub-editenv.c (options): Gettextize command summaries.
416
c9eb96b5
VS
4172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
420 "out of memory" error messagge.
421
1f493136
VS
4222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
425 of diskfilter for diskfilter on diskfilter support.
426
6d790129
VS
4272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
430
005f46c9
VS
4312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * util/grub-install.in: Check for themes/starfield/theme.txt and not
434 themes/starfield.
435
c8f778a0
VS
4362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
439
de1e64eb
VS
4402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
443
c6d54211
VS
4442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
447 of error message.
448
dd390777
VS
4492012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
452
5fd1c522
VS
4532012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
456 message.
c6d54211 457 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 458
fae01f6c
VS
4592012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
462 Gettextize.
463 * util/grub-mount.c (options): Likewise.
464
292fdaff
VS
4652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
468 gettextize.
469 * grub-core/commands/search_wrap.c (options): Likewise.
470
ecdbae77
VS
4712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
474
52bfedfa
VS
4752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
478 size calculation.
479 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
480 none is known.
481
55b20e58
VS
4822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
485 "temporary" since it's used in identifier and is limited in space.
486
fda9d101
VS
4872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * po/POTFILES.in: Regenerate. Include *.h since they contain
490 translatable strings as well.
491
6a0295e2
VS
4922012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
495 byte-swap on big-endian.
496 Reported by: Lennart Sorensen
497
807fb77c
VS
4982012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
501 (allocate_pages): Improve dprintf.
502 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
503 code32_start. Fill code32_start and kernel_alignment in params.
504 (grub_cmd_initrd): Use prot_init_space.
505
61ac50ba
VS
5062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
509
abdd26dd
VS
5102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * util/grub-install.in: Add missing dot at the end of sentence.
513
6e69da9c
VS
5142012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
517 * grub-core/commands/videotest.c: Likewise.
518 * grub-core/loader/i386/linux.c: Likewise.
519
4a929343
VS
5202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
523 sentence.
524 Reported by: Milo Casagrande.
525
bb51c6c6
VS
5262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
529 * grub-core/commands/gptsync.c: Likewise.
530 * grub-core/commands/hashsum.c: Likewise.
531 * grub-core/commands/i386/pc/sendkey.c: Likewise.
532 * grub-core/commands/legacycfg.c: Likewise.
533 * grub-core/io/gzio.c: Likewise.
534 * grub-core/net/net.c: Likewise.
535 * grub-core/term/gfxterm.c: Likewise.
536 * grub-core/term/terminfo.c: Likewise.
537 * grub-core/tests/test_blockarg.c: Likewise.
538 * grub-core/video/video.c: Likewise.
539 * util/grub-install.in: Likewise.
540 * util/grub-mkfont.c: Likewise.
541
b2b149cb
VS
5422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
545
c7c080ad
VS
5462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 549 Reported by: David Prévot.
c7c080ad 550
f2e243c0
VS
5512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
554 description.
555
09963c76
VS
5562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * util/grub-script-check.c (main): Fix a syntax error message which was
559 unclear.
560
a50514a8
VS
5612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
564
4650daec
VS
5652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
568 messages.
569
5702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
571
572 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
573 without argument.
574 * util/grub-mount.c (options): Likewise.
575
bbc5a342
VS
5762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
579
ef292a87
VS
5802012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/net/http.c: Add TRANSLATORS comments.
583 * grub-core/normal/cmdline.c: Likewise.
584 * grub-core/normal/misc.c: Likewise.
585 * grub-core/partmap/msdos.c: Likewise.
586 * grub-core/parttool/msdospart.c: Likewise.
587 * grub-core/script/execute.c: Likewise.
588 * grub-core/script/main.c: Likewise.
589 * grub-core/term/terminfo.c: Likewise.
590 * grub-core/video/bitmap.c: Likewise.
591 * util/grub-install.in: Likewise.
592 * util/grub-mkimage.c: Likewise.
593 * util/grub-mklayout.c: Likewise.
594 * util/grub-setup.c: Likewise.
595
0fc19bd0
VS
5962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
599 with similar messages in grub-fstest.
600
d95862ef
VS
6012012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub-install.in: Unify "option requires an argument" message
604 with similar messages in other files.
605 * util/grub-mkconfig.in: Likewise.
606
b7308f90
VS
6072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-set-default.in: Replace printf with gettext_printf (the
610 string in in question is already translated from grub-reboot)
611
559dc587
VS
6122012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * configure.ac: Bump up the version to beta1.
615
1a11761f
VS
6162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
619 case when min_align = 0.
620
24539abd
VS
6212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
624 and fix a case when line_start overflows.
625
32bd735b
VS
6262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub-reboot.in (usage): Mention id posibility.
629 * util/grub-set-default.in (usage): Likewise.
630
1a2fd1e6
VS
6312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
634 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
635 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
636 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
637 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
638 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
639 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
640
90eeab76
VS
6412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/commands/menuentry.c (options): Remove
644 GRUB_ARG_OPTION_REPEATABLE.
645 Reported by: Andreas Vogel
646
5ad1be82
AV
6472012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
648
649 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
650
cb055286
HE
6512012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
652
653 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
654 error.
655
93b1cd79
VS
6562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
657
658 Use sort -V by the idea of Georgi Georgiev.
659
660 * util/grub-mkconfig_lib.in (version_sort): New function.
661 (version_test_numeric): Use version_sort.
662
0cdc126c
VS
6632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Use submenus in grub-mkconfig.
666
667 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
668 * util/grub-mkconfig_lib.in (grub_quote): New function.
669 (gettext_printf): Use gettext and not gettext_quoted to fix several
670 messages.
671 * util/grub.d/10_hurd.in: Use submenus.
672 * util/grub.d/10_kfreebsd.in: Likewise.
673 * util/grub.d/10_linux.in: Likewise.
674 * util/grub.d/10_netbsd.in: Likewise.
675 * util/grub.d/20_linux_xen.in: Likewise.
676 * util/grub.d/30_os-prober.in: Likewise.
677 * util/grub.d/10_illumos.in: Add missing quoting.
678 * util/grub.d/10_windows.in: Likewise.
679
d9bef9bc
VS
6802012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Fix menu title instability bug.
683
684 * grub-core/commands/menuentry.c (options): New option --id.
685 (grub_normal_add_menu_entry): New argument id. All users updated.
686 (grub_cmd_menuentry): Handle --id.
687 (grub_menu_init): Accept unknown arguments.
688 * grub-core/normal/main.c (features): Add feature_menuentry_id and
689 feature_menuentry_options.
690 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
691 saved_entry.
692 (get_entry_number): Match with id as well.
693 * include/grub/menu.h (grub_menu_entry): New member id.
694 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
695 * util/grub.d/00_header.in: Define menuentry_id_option.
696 * util/grub.d/10_hurd.in: Define id.
697 * util/grub.d/10_illumos.in: Likewise.
698 * util/grub.d/10_kfreebsd.in: Likewise.
699 * util/grub.d/10_linux.in: Likewise.
700 * util/grub.d/10_netbsd.in: Likewise.
701 * util/grub.d/10_windows.in: Likewise.
702 * util/grub.d/20_linux_xen.in: Likewise.
703 * util/grub.d/30_os-prober.in: Likewise.
704
7052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
706
707 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
708 "scope" with "body".
709
7c8d0ce7
VS
7102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
713 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
714 prot_size and prot_file_size.
715
49de079b
VS
7162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
719 All users updated. If easily=1 require raid-5/-6 to be full.
720 (is_node_readable): Likewise.
721 (scan_devices): Scan incomplete but readable LVs at the end.
722 (grub_diskfilter_memberlist): Pull missing devices.
723 (insert_array): Skip scanning until device is complete or scan is
724 done otherwise.
725 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
726 check.
727 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
728 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
729
aff05d45
MG
7302012-03-03 Matthew Garrett <mjg@redhat.com>
7312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Avoid EFI boot services when loading Linux.
734
735 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
736 avoid_efi_bootservices. All users updated.
737 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
738 argument avoid_efi_bootservices. All users updated.
739 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
740 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
741 align, min_align, relocatable, prefered_address. All users updated.
742 Allocate avoiding boot services if kernel is relocatable.
743 (grub_cmd_linux): Check if kernel is relocatable.
744 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
745 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
746 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
747 avoid_efi_boot_services.
748 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
749 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
750 (linux_kernel_params): Likewise.
751
3935dde2
MG
7522012-03-03 Matthew Garrett <mjg@redhat.com>
7532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Use EDID on EFI.
756
757 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
758 datasize_out.
759 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
760 modes. Set gop_handle.
761 (grub_video_gop_get_edid): New function.
762 (grub_gop_get_preferred_mode): Likewise.
763 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
764 (grub_video_efi_gop_adapter): Set .get_edid.
765 * include/grub/efi/edid.h: New file.
766 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
767
32107ec0
VS
7682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * util/grub-install.in: Load efivars unconditionally.
771
e70a2c50
VS
7722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * po/Rules-piglatin: Change suffix from .po-update-en to
775 .po-update-en-piglatin.
776
8f9cace1
VS
7772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Add a pig farm.
780
781 * po/piglatin.sed: New file.
782 * po/en@piglatin.header: Likewise.
783 * po/Rules-piglatin: Likewise.
784 * po/README: Add en@piglatin to autogenerated languages.
785
8f95d002
VS
7862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
789 "Command for ...".
790 * grub-core/commands/hdparm.c (options): Use "Display" rather than
791 "Check" since we don't check anything.
792 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
793 is 64-bit one.
794 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
795 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
796 (grub_md_sha512_real): Likewise.
797
805a8dcc
VS
7982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/commands/gptsync.c: Fix typographic quoting.
801 * grub-core/commands/ieee1275/suspend.c: Likewise.
802 * grub-core/commands/parttool.c: Likewise.
803 * grub-core/commands/search_wrap.c: Likewise.
804 * grub-core/commands/videoinfo.c: Likewise.
805 * grub-core/gfxmenu/gui_label.c: Likewise.
806 * grub-core/hello/hello.c: Likewise.
807 * grub-core/kern/emu/main.c: Likewise.
808 * grub-core/net/net.c: Likewise.
809 * grub-core/normal/menu.c: Likewise.
810 * grub-core/normal/menu_text.c: Likewise.
811 * grub-core/normal/misc.c: Likewise.
812 * util/grub-editenv.c: Likewise.
813 * util/grub-install.in: Likewise.
814 * util/grub-kbdcomp.in: Likewise.
815 * util/grub-mkconfig.in: Likewise.
816 * util/grub-mknetdir.in: Likewise.
817 * util/grub-mkrescue.in: Likewise.
818 * util/grub-mkstandalone.in: Likewise.
819 * util/grub-reboot.in: Likewise.
820 * util/grub-set-default.in: Likewise.
821 * util/grub-setup.c: Likewise.
822 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
823
40211ab8
VS
8242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
827 * grub-core/commands/keystatus.c: Likewise.
828 * grub-core/commands/loadenv.c: Likewise.
829 * grub-core/commands/probe.c: Likewise.
830 * grub-core/commands/regexp.c: Likewise.
831 * grub-core/commands/true.c: Likewise.
832 * grub-core/commands/videoinfo.c: Likewise.
833 * grub-core/disk/cryptodisk.c: Likewise.
834 * grub-core/disk/ldm.c: Likewise.
835 * grub-core/disk/loopback.c: Likewise.
836 * grub-core/disk/luks.c: Likewise.
837 * grub-core/fs/zfs/zfsinfo.c: Likewise.
838 * grub-core/kern/disk.c: Likewise.
839 * grub-core/kern/emu/hostdisk.c: Likewise.
840
0c7d99c7
VS
8412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
844 * util/grub-install.in: Add missing quote in the comment.
845
e7d2559b
VS
8462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
849 * grub-core/commands/lsmmap.c: Likewise.
850 * grub-core/commands/minicmd.c: Likewise.
851 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
852 * grub-core/commands/regexp.c: Likewise.
853 * grub-core/gdb/gdb.c: Likewise.
854 * grub-core/term/gfxterm.c: Likewise.
855 * util/grub-mkconfig.in: Likewise.
856 * util/grub-mkfont.c: Likewise.
857 * util/grub-mklayout.c: Likewise.
858 * util/grub-mknetdir.in: Likewise.
859 * util/grub-mkrescue.in: Likewise.
860 * util/grub.d/30_os-prober.in: Likewise.
861
49ce9e50
VS
8622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
865 with "Direct color" and "Packed" with "Packed pixel".
866 (grub_cmd_videoinfo): Simplify legend.
867
e4b791fa
VS
8682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
871 absolutely unclear error message.
872
fd1265cb
VS
8732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-mkstandalone.in: Remove confusing leftover print.
876
8822a8a0
VS
8772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
880 comments.
881 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
882 (GRUB_MOD_INIT): Likewise.
883 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
884 VGA mode.
885 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
886 comments.
887 * util/grub-install.in (usage): Likewise.
888 Spell ID in whole letters.
889 Add missing ending dot.
890 Quote variables.
891 * util/grub-reboot.in: Fix capitalisation.
892 * util/grub-set-default.in: Likewise.
893
937fd0cc
VS
8942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
897 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
898 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
899 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
900 Disable -Werror for -Wdeprecated-declarations.
901 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
902 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
903 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
904 (grub_util_get_grub_dev): Make luks handling dependent on
905 HAVE_DEVICE_MAPPER and not __linux__.
906 (get_win32_path): Fix format security.
907 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
908 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
909 Don't try grub_find_zpool_from_dir.
910 (grub_make_system_path_relative_to_its_root) [!__linux__]:
911 #ifdef-out paresdir.
912
1bab1ae3
VS
9132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * util/grub-pe2elf.c (usage): Add missing noreturn.
916 (write_section_data): Rename name to shname to avoid shadowing.
917 (write_symbol_table): Rename name to symname to avoid shadowing.
918 Fix write_reloc_section call.
919
ef023e42
VS
9202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
923 to ensure that it's after the last byte of .text.
924
48afcb75
VS
9252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * util/ieee1275/ofpath.c (my_isdigit): New function.
928 (trailing_digits): Use my_isdigit.
929 (strip_trailing_digits): Likewise.
930
88d51eff
VS
9312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
934 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
935
17edc2ba
VS
9362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/i386/pc/startup.S: Define __start.
939
ad5518d7
VS
9402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
943 strip already transforms he format.
944
9e95e1bf
VS
9452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
948
9cc3ee5c
VS
9492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * util/grub-install.in: Add missing gettext init.
952 * util/grub-kbdcomp.in: Likewise.
953 * util/grub-mkconfig.in: Likewise.
954 * util/grub-mknetdir.in: Likewise.
955 * util/grub-mkrescue.in: Likewise.
956 * util/grub-mkstandalone.in: Likewise.
957 * util/grub-reboot.in: Likewise.
958 * util/grub-set-default.in: Likewise.
959 * util/grub.d/00_header.in: Likewise.
960 * util/grub.d/10_hurd.in: Likewise.
961 * util/grub.d/10_windows.in: Likewise.
962 * util/grub.d/30_os-prober.in: Likewise.
963 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
964
49e08a06
VS
9652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * po/Rules-swiss: Fix header comment.
968
3809cb41
AV
9692012-02-29 Andreas Vogel <anvoit>
970
971 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
972 resulted in leak of arguments.
973
fa6ec573
VS
9742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/boot/i386/pc/startup_raw.S: Use separate
977 reed_solomon_size const definition instead of computing it since
978 Apple assembler doesn't support the later.
979
22899b9c
VS
9802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * gentpl.py (kernel): Rewrite Apple part.
983
a132afc3
VS
9842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * include/grub/kernel.h (FOR_MODULES): Check module magic.
987
9d742bd4
VS
9882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * util/grub-mkimagexx.c (locate_sections): Support non-standard
991 ELF section gap.
992 (load_image): Likewise.
993
f04a9a21
VS
9942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Fix a typo in previous commit.
997
46cf439c
VS
9982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Don't add -Wl,-N on Apple platform.
1001
1002 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1003 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1004
c4c48c54
VS
10052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/Makefile.core.def (lzma_decompress): Use
1008 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1009
31a12124
VS
10102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/genmod.sh.in: Rewrite the Apple part.
1013
4f3aa1af
VS
10142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1017 comparison.
1018
7bd8b0c7
VS
10192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * acinclude.m4 (grub_CHECK_PIC): New test.
1022 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1023
97304d7c
VS
10242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1027 to avoid the warning.
1028
fb883812
VS
10292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1032 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1033 after. All users updated.
1034
a121c964
VS
10352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 Use the common size routine in hostfs so we can read disks as well.
1038
1039 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1040 (grub_util_get_fd_size): ... this. Return size in bytes.
1041 All users updated.
1042 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1043 grub_util_get_fd_size.
1044
c66d6410
VS
10452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1048 Add blocksize retrieval.
1049
dfc8aeb0
VS
10502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * configure.ac: Restore CFLAGS after efiemu check.
1053
403e25a5
VS
10542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1057 Apple bug.
1058
382775d1
VS
10592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1062
6fd4e6e4
VS
10632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1066 (grub_cmd_halt): Likewise.
1067
bea359d6
VS
10682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1071 for local arithmetics.
1072 Break %sp init into 2 instructions.
1073 Add 0 byte at the end.
1074
32eb6ee1
VS
10752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1078 before loops.
1079
e8377389
VS
10802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1083 for context.
1084
8cb17de7
VS
10852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/disk/ldm.c (make_vg): Init part.name.
1088 (grub_ldm_detect): Silence spurious warning.
1089 (grub_util_is_ldm): Likewise.
1090
595717e6
VS
10912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1094 sane value to avoid a spurious warning.
1095
c4b7e588
VS
10962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1099 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1100
59824957
VS
11012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1104 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1105
70115b99
VS
11062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1109 hardcoding the relevant info.
1110
56733740
VS
11112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1114 missing const qualifiers.
1115 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1116
43481481
VS
11172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * util/getroot.c [__APPLE__]: Add missing includes.
1120 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1121
3cb38f01
VS
11222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1125
d9dbf11e
VS
11262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1129 avoid conflicts.
1130
0c42a45d
VS
11312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1134
46c34eb0
VS
11352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1138 and grub_file_close call.
1139
99ce1597
VS
11402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 Add LZSS Mach-O support (needed for new xnu kernelcache).
1143
1144 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1145 * grub-core/loader/lzss.c: New file.
1146 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1147 on Mach-O open failure.
1148 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1149 Don't free cmdsXX in uncompressedXX is set.
1150 (grub_macho_file): Init new fields.
1151 New argument is_64bit. All users updated.
1152 Handle compressed. Error out if no suitable architecture is found.
1153 Don't close file.
1154 (grub_macho_open): New argument is_64bit. All users updated.
1155 * grub-core/loader/macho32.c: Add defines for new fields.
1156 * grub-core/loader/macho64.c: Likewise.
1157 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1158 (grub_macho_parse): Handle compressed.
1159 Defer actual processing if compressed.
1160 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1161 "filename". All users updated.
1162 (grub_macho_size): New argument "filename". All users updated.
1163 (grub_macho_get_entry_point): Likewise.
1164 (grub_macho_load): Handle compressed.
1165 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1166 (GRUB_MACHO_LZSS_OFFSET): New define.
1167 (grub_decompress_lzss): New proto.
1168 * include/grub/machoload.h (grub_macho_file): New fields to handle
1169 compressed.
1170 (grub_macho_contains_macho64): Remove proto.
1171 (grub_macho_contains_macho32): Likewise.
1172 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1173
ebd17d6f
VS
11742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1177
2702b4e4
VS
11782012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Fix make dist.
1181
1182 * Makefile.am (starfield_theme_files): New var.
1183 (starfield_DATA): Use starfield_theme_files.
1184 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1185 Add bootcheck-related files.
1186 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1187 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1188 and font_char_metrics.txt.
1189 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1190 (setjmp): Add lib/ia64/longjmp.S.
1191 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1192 * po/POTFILES.in: Regenerate.
1193 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1194 DISTFILES.common.extra1.
1195 * util/devicemap.c: Removed.
1196 * grub-core/lib/i386/relocator_backward.S: Likewise.
1197 * util/import_gcry.py: Remove unused files. Add extra_dist for
1198 ChangeLog.
1199
cf1adfdf
VS
12002012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1203 grub_gettext_delete_list before changing grub_gettext_max to avoid
1204 running out of array bounds.
1205
12062012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1207
1208 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1209 grub_vga_text_init/grub_vga_text_fini.
1210
cf1adfdf 12112012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1212
1213 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1214
541d92e9
VS
12152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * configure.ac: Bump to 2.00~beta0.
1218
7931dddf
VS
12192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1222 missing initialisation.
1223
f1b16fa3
VS
12242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1227
83ddae23
VS
12282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 Support v2 xnu boot arguments.
1231
1232 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1233 New argument fsbfreq_out.
1234 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1235 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1236 be used.
1237 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1238 darwin_version.
1239 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1240 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1241 (grub_xnu_boot_params): Rename to ...
1242 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1243 (grub_xnu_boot_params_v2): New struct.
1244
dc693fe6
VS
12452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1248 zeroing of CRC field before computing CRC.
1249
5a6e39c2
VS
12502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1253 Change order of allocations to decrease fragmentation.
1254
6c21f5d7
VS
12552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1258
cfe456dc
CW
12592012-02-27 Colin Watson <cjwatson@ubuntu.com>
1260
1261 Use write-combining MTRR to speed up video with buggy BIOSes.
1262
1263 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1264 (cpuid): New define.
1265 (rdmsr): Likewise.
1266 (wrmsr): Likewise.
1267 (mtrr_base): Likewise.
1268 (mtrr_mask): Likewise.
1269 (grub_vbe_enable_mtrr_entry): New function.
1270 (grub_vbe_enable_mtrr): Likewise.
1271 (grub_vbe_disable_mtrr): Likewise.
1272 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1273 control off to BIOS.
1274 (grub_video_vbe_init): Fill mtrr.
1275 (grub_video_vbe_fini): Disable mtrr.
1276 (grub_video_vbe_get_info_and_fini): Likewise.
1277 (grub_video_vbe_setup): Enable mtrr.
1278
e3c78337
CW
12792012-02-27 Colin Watson <cjwatson@ubuntu.com>
1280
1281 * include/grub/partition.h (grub_partition_map): Change prototype of
1282 embed to take a maximum value for nsectors.
1283 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1284 * include/grub/fs.h (grub_fs): Likewise.
1285 * grub-core/partmap/msdos.c (embed_signatures): New array.
1286 (pc_partition_map_embed): Check for and avoid sectors matching any
1287 of the signatures in embed_signatures, up to max_nsectors.
1288 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1289 returned sector map to max_nsectors.
1290 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1291 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1292 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1293 * util/grub-setup.c (setup): Allow for the embedding area being
1294 split into multiple blocklists. Tell dest_partmap->embed the
1295 maximum number of sectors we care about.
1296
12972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1300 Specify blocklist_install and reserver_first_sector for all fs.
1301 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1302 blocklists.
1303
984b973f
VS
13042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * util/grub-install.in: Clarify strings.
1307 Fix source dir check.
1308
f122e0d6
RL
13092012-02-27 Richard Laager <rlaager@wiktel.com>
1310
1311 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1312 "zfs" and "fuse.zfs" as synonyms.
1313
071114bb
VS
13142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * configure.ac: Put platform and target_cpu substitutions back since
1317 they are used for directories.
1318
817e6abc
RL
13192012-02-27 Richard Laager <rlaager@wiktel.com>
13202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1323 * util/grub.d/20_linux_xen.in: Likewise.
1324
897b7419
RL
13252012-02-27 Richard Laager <rlaager@wiktel.com>
1326
1327 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1328 with full paths.
1329
a414bd15
RL
13302012-02-27 Richard Laager <rlaager@wiktel.com>
1331
1332 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1333 unescape.
1334
30ac48c4
VS
13352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Don't use insecure popen in getroot.
1338
1339 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1340 (exec_pipe): ... here.
1341 (find_root_devices_from_poolname): Use exec_pipe.
1342
53f13848
VS
13432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Remove platform and target_cpu replacement.
1346
1347 * configure.ac: Remove platform and target_cpu substitutions.
1348 * tests/util/grub-shell.in: Use modinfo.
1349 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1350 explicitly.
1351
90cb2803
VS
13522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Autodetect platform in grub-install but allow override.
1355
1356 * util/grub-install.in: Autodetect platform. Support --target and
1357 --directory. Read platform from modinfo.sh.
1358
b9136427
VS
13592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Support btrfs multi-volume probe.
1362
1363 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1364 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1365 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1366 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1367 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1368 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1369 grub_find_root_devices_from_btrfs if on btrfs.
1370
c36e5cd1
VS
13712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 Remove any awareness of *.c util files about target.
1374
1375 * Makefile.util.def (grub-setup): Split to ...
1376 (grub-bios-setup): ... and this.
1377 (grub-sparc64-setup): ... and this.
1378 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1379 * docs/man/grub-setup.h2m: Split into ...
1380 * docs/man/grub-sparc64-setup.h2m: ... this.
1381 * docs/man/grub-bios-setup.h2m: ... and this.
1382 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1383 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1384 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1385 (grub_target_addr_t): Remove.
1386 (grub_target_size_t): Remove.
1387 (grub_target_ssize_t): Remove.
1388 * util/grub-install.in: Use new grub-*-setup.
1389 * util/grub-mkimagexx.c (Elf_Word): New define.
1390 (Elf_Half): Likewise.
1391 (Elf_Section): Likewise.
1392 (ELF_ST_TYPE): Likewise.
1393 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1394 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1395
584b2f8a
VS
13962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Replace grub_target_addr with more appropriate types.
1399
1400 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1401 grub_target_addr with grub_addr.
1402 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1403 grub_target_addr with grub_port.
1404 (grub_cmd_write): Likewise.
1405 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1406 grub_target_addr with grub_addr.
1407 (grub_cmd_write): Likewise.
1408 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1409
5a0dc6fb
VS
14102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1413 const qualifier for vendor_guid.
1414
786aff6e
VS
14152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1418 const qualifier.
1419 (efiemu_memequal): Likewise.
1420 (find_variable): Likewise.
1421
49017b17
VS
14222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Fix missing console prototype on qemu-mips.
1425
1426 * include/grub/mips/qemu_mips/console.h: New file.
1427
c5988629
MG
14282012-02-27 Matthew Garrett <mjg@redhat.com>
14292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1432 * include/grub/efi/efi.h: Likewise.
1433 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1434 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1435 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1436 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1437 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1438 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1439
e33f8d69
MG
14402012-02-27 Matthew Garrett <mjg@redhat.com>
1441
1442 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1443
fb312cd9
VS
14442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1447 error.
1448
7134247c
VS
14492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * configure.ac: Remove inappropriate use of program_transform_name
1452 on grubdir and bootdir but allow explicit specification of those
1453 variables.
1454
6a313124
VS
14552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * util/grub-mknetdir.in (grub_prefix): Removed.
1458 (subdir): Use @bootdirname@ and @grubdirname@.
1459
2311c5ca
VS
14602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1463
7d5d60f7
VS
14642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * po/POTFILES.in: Regenerated.
1467
8151bc82
VS
14682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 Remove improper use of program_transform_name on pkglibrootdir.
1471
1472 * configure.ac (pkglibrootdir): Removed.
1473 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1474 * util/grub-mkimage.c: Likewise.
1475
b4a6a533
VS
14762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1479 warning.
1480
668f304f
VS
14812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/grub-install.in: Use file identifier if no UUID is available
1484 or user explicitly prompted for it.
1485
665f2341
NP
14862012-02-27 Navdeep Parhar <nparhar@gmail.com>
1487
1488 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1489 (freebsd_get_zfs): New function.
1490 (grub_freebsd_boot): Pass zfs UUID.
1491 (grub_cmd_freebsd): Set zfs UUID.
1492
8151bc82 14932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1494
1495 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1496 pkglibrootdir.
1497
e4c498a1
MG
14982012-02-27 Mike Gilbert <floppym@gentoo.org>
1499
1500 Add configure flag to control libzfs integration.
1501
1502 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1503
1e9a9a3f
VS
15042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1507 device.
1508 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1509 small devices.
1510
036985b8
VS
15112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1514 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1515 be used on non-modules.
1516
1517 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1518 Rename to grub_boot_init.
1519 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1520 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1521 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1522 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1523 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1524 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1525 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1526 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1527 includes.
1528 (grub_machine_init): Remove empty inits.
1529 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1530 includes.
1531 (grub_machine_init): Remove empty inits.
1532 * grub-core/term/arc/console.c: Remove explicit proto.
1533 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1534 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1535 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1536 grub_at_keyboard_fini.
1537 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1538 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1539 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1540 grub_gfxterm_fini.
1541 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1542 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1543 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1544 grub_vgatext_fini.
1545 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1546 * grub-core/term/serial.c (GRUB_MOD_INIT)
1547 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1548 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1549 grub_serial_fini.
1550 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1551 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1552 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1553 grub_terminfo_fini.
1554 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1555 (GRUB_MOD_FINI): Likewise.
1556 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1557 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1558 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1559 grub_video_radeon_fuloong2e_fini.
1560 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1561 [LOONGSON]: Rename to grub_video_sis315pro_init.
1562 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1563 grub_video_sis315pro_fini.
1564 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1565 [LOONGSON]: Rename to grub_video_sm712_init.
1566 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1567 grub_video_sm712_fini.
1568 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1569 (grub_at_keyboard_fini): Likewise.
1570 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1571 Don't declare grub_{modname}_init.
1572 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1573 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1574 New proto.
1575 (grub_keylayouts_fini) [!EMU]: Likewise.
1576 * include/grub/serial.h (grub_serial_init) [!EMU]:
1577 New proto.
1578 (grub_serial_fini) [!EMU]: Likewise.
1579 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1580 New proto.
1581 (grub_terminfo_fini) [!EMU]: Likewise.
1582 * include/grub/video.h (grub_font_init) [!EMU]:
1583 New proto.
1584 (grub_font_fini) [!EMU]: Likewise.
1585 (grub_gfxterm_init) [!EMU]: Likewise.
1586 (grub_gfxterm_fini) [!EMU]: Likewise.
1587 (grub_video_sm712_init) [!EMU]: Likewise.
1588 (grub_video_sm712_fini) [!EMU]: Likewise.
1589 (grub_video_sis315pro_init) [!EMU]: Likewise.
1590 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1591 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1592 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1593
d5534665
VS
15942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Make nand a prefix for nand devices.
1597
1598 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1599
10133b5f
VS
16002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1603 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1604
8e307a62
VS
16052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * include/grub/env.h (grub_env_find): Remove prototype.
1608 * grub-core/kern/env.c (grub_env_find): Make static.
1609 (grub_env_set): Remove useless set.
1610
a4c65f34
VS
16112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/kern/i386/realmode.S: Remove useless align.
1614
d87893d5
VS
16152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * include/grub/dl.h (grub_dl_load_file): Don't export.
1618
50159add
VS
16192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1622 grub_dprintf.
1623
b2582b84
VS
16242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1627 grub_errors.
1628 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1629 not reloading whole superblock but only the part which is really needed.
1630 Remove useless grub_errors.
1631 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1632 grub_errors.
1633
e2a83395
VS
16342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 Don't export grub_get_rtc.
1637
1638 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1639 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1640
e7d2a906
VS
16412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1644
6cf1363b
VS
16452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1648 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1649
eece3349
VS
16502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Remove prio_list.
1653
1654 * include/grub/list.h (grub_prio_list): Removed.
1655 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1656 GRUB_COMMAND_PRIO_MASK.
1657 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1658 GRUB_COMMAND_FLAG_ACTIVE.
1659 (grub_prio_list_insert): Removed.
1660 (grub_prio_list_remove): Likewise.
1661 (GRUB_AS_PRIO_LIST): Likewise.
1662 (GRUB_AS_PRIO_LIST_P): Likewise.
1663 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1664 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1665 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1666 * grub-core/kern/command.c (grub_register_command_prio): Inline
1667 the prio_list code.
1668 (grub_unregister_command): Likewise.
1669
94f064b4
VS
16702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 Fix interrupt mixup from previous commit.
1673
1674 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1675 (grub_realidt): New var.
1676 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1677 Load idt.
1678 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1679 New declaration.
1680 (grub_relocator16_boot): Set grub_relocator16_idt.
1681 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1682 (LOCAL(realidt)): ... this.
1683 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1684 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1685 (grub_realidt): New variable.
1686
27317084
VS
16872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1690 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1691 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1692 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1693 Gettextize.
1694 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1695 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1696 * po/POTFILES.in: Regenerate.
1697
47b40053
VS
16982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1701 errors.
1702
2b343101
VS
17032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1706 \0.
1707 (add_length): Likewise.
1708
ff27c3dd
LK
17092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17102012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1711
1712 GDB serial and backtrace support.
1713
1714 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1715 (prot_to_real): Likewise.
1716 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1717 * grub-core/Makefile.core.def (backtrace): New module.
1718 (gdb): Likewise.
1719 * grub-core/gdb/cstub.c: New file.
1720 * grub-core/gdb/gdb.c: Likewise.
1721 * grub-core/gdb/i386/idt.c: Likewise.
1722 * grub-core/gdb/i386/machdep.S: Likewise.
1723 * grub-core/gdb/i386/signal.c: Likewise.
1724 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1725 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1726 * include/grub/backtrace.h: Likewise.
1727 * include/grub/gdb.h: Likewise.
1728 * include/grub/i386/gdb.h: Likewise.
1729
17302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1731
1732 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1733 New function.
1734 (add_length): Likewise.
1735 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1736 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1737 proto.
1738 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1739 __argp_get_display_len.
1740
ff27c3dd 17412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1742
1743 $"..." support in scripts.
1744
1745 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1746 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1747 * grub-core/script/yylex.l: Likewise.
1748 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1749 value.
1750
ff27c3dd 17512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1752
1753 * gentpl.py: Remove obsolete pkglib_DATA handling.
1754
ff27c3dd 17552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1756
1757 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1758 mailing list.
1759
1760 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1761 * util/grub-kbdcomp.in: Likewise.
1762 * util/grub-mkconfig.in: Likewise.
1763 * util/grub-mkconfig_lib.in: Likewise.
1764 * util/grub-mknetdir.in: Likewise.
1765 * util/grub-mkrescue.in: Likewise.
1766 * util/grub-mkstandalone.in: Likewise.
1767 * util/grub-reboot.in: Likewise.
1768 * util/grub-set-default.in: Likewise.
1769 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1770
ff27c3dd 17712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1772
1773 Remove GRUB_PREFIX.
1774
1775 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1776 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1777 used for backward compatibility.
1778
ff27c3dd 17792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1780
1781 Add new all_video module.
1782
1783 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1784 * grub-core/Makefile.core.def (all_video): New module.
1785 * grub-core/genmoddep.awk: Generate dependency of all_video from
1786 video.lst.
1787 * grub-core/lib/fake_module.c: New file.
1788 * grub-core/normal/main.c (features): Add feature_all_video_module.
1789 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1790 don't do explicit search again.
47454da5 1791 insmod all_video in load_video if available.
22c7ce85 1792
ff27c3dd 17932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1794
1795 Another round of string clarification and adding TRANSLATORS comments.
1796
ff27c3dd 17972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1798
1799 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1800
ff27c3dd 18012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1802
1803 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1804 to grub_ssize_t.
1805 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1806 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1807
ff27c3dd 18082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1809
1810 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1811 trailing newline implicitly. All users updated.
1812
ff27c3dd 18132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1814
1815 Implement serial on IEEE1275 and EFI.
1816
1817 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1818 on emu. Mention arc and emu as the only platforms without serial
1819 support.
1820 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1821 ieee1275 platforms.
1822 * grub-core/term/efi/serial.c: New file.
1823 * grub-core/term/ieee1275/serial.c: Likewise.
1824 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1825 specification if no ns8250 driver is available.
1826 (grub_cmd_serial): Likewise.
1827 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1828 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1829 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1830 (grub_efi_parity_type_t): New type.
1831 (grub_efi_stop_bits_t): Likewise.
1832 (grub_efi_serial_io_interface): New struct.
1833 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1834 available for all interfaces.
1835 Add EFI and IEEE1275 fields.
1836 (grub_ofserial_init): New proto.
1837 (grub_efiserial_init): Likeiwse.
1838 * util/grub.d/00_header.in: Don't check for the presence of serial
1839 module.
1840
ff27c3dd 18412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1842
1843 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1844 name as if it was an alias.
1845
114076ef
VS
18462012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/commands/lsacpi.c (options): Fix typo.
1849
6a656b0e
VS
18502012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Convert grub-emu to argp.
1853
1854 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1855 emu.
1856 * util/argp_common.c: Rename to ...
1857 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1858 Add missing includes.
1859 * grub-core/kern/emu/main.c: Convert to argp.
1860 * po/POTFILES.in: Regenerate.
1861 * util/grub-install.in (usage): Make first letter lowcase in messages
1862 for uniformity.
1863 * util/grub-setup.c (options): Likewise.
1864
1e3f8ae8
VS
18652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1868 Put back accidently commented-out code.
1869
ed167a80
VS
18702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1873 loop check using Brent algorithm.
1874 (grub_hfsplus_btree_search): Likewise.
1875
6753c0ec
VS
18762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * util/grub-install.in: Fix usage of wrong device for PreP install.
1879
4e27343f
VS
18802012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * conf/Makefile.common (CFLAGS_GNULIB): Add
1883 -Wno-unsafe-loop-optimizations.
1884 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1885 on tools.
1886 * grub-core/commands/legacycfg.c: Add pragma to skip
1887 -Wunsafe-loop-optimizations.
1888 (check_password_md5_real): Fix loop counter type.
1889 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1890 reading.
1891 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1892 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1893 loop condition.
1894 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1895 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1896 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1897 condition.
1898 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1899 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1900 avoid possible infinite loops.
1901 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1902 and -Wunsafe-loop-optimizations.
1903 * grub-core/script/yylex.l: Likewise.
1904 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1905 (print_glyphs): Avoid infinite loops.
1906 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1907
697f18b0
GS
19082012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1909
1910 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1911 to avoid infinite loop.
1912 (disp_acpi_rsdt_table): Likewise.
1913
274416e8
VS
19142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/font/font.c (grub_font_load): Add support for default
1917 path for fonts ($prefix/fonts).
1918 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1919 for checking if string is a path.
1920 * grub-core/normal/main.c (features): Add feature_default_font_path.
1921 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1922 * util/grub.d/00_header.in: Use default directory if possible.
1923 * util/grub-install.in: Install unicode.pf2.
1924
b3e08622
VS
19252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1928 * po/Rules-swiss: New file.
1929 * po/swiss.sed: Likewise.
1930
fe42ce09
VS
19312012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/fs/btrfs.c (find_device): Fix typos.
1934 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1935 * util/grub-mkrelpath.c (argp_parser): Likewise.
1936 Reported by: Yuri Chornoivan.
1937
72f1d065
DO
19382012-02-23 Dalet Omega <daletomega@gmail.com>
1939
1940 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1941 for usual informative messages.
1942
c5884973
DO
19432012-02-23 Dalet Omega <daletomega@gmail.com>
1944
1945 Starfield theme.
1946
1947 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1948 * conf/Makefile.common: Define starfielddir.
1949 * configure.ac: Configure starfield.
1950 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1951 * themes/starfield/README: Likewise.
1952 * themes/starfield/blob_w.png: Likewise.
1953 * themes/starfield/boot_menu_c.png: Likewise.
1954 * themes/starfield/boot_menu_e.png: Likewise.
1955 * themes/starfield/boot_menu_n.png: Likewise.
1956 * themes/starfield/boot_menu_ne.png: Likewise.
1957 * themes/starfield/boot_menu_nw.png: Likewise.
1958 * themes/starfield/boot_menu_s.png: Likewise.
1959 * themes/starfield/boot_menu_se.png: Likewise.
1960 * themes/starfield/boot_menu_sw.png: Likewise.
1961 * themes/starfield/boot_menu_w.png: Likewise.
1962 * themes/starfield/slider_c.png: Likewise.
1963 * themes/starfield/slider_n.png: Likewise.
1964 * themes/starfield/slider_s.png: Likewise.
1965 * themes/starfield/src/blob_nw.xcf: Likewise.
1966 * themes/starfield/src/bootmenu/: Likewise.
1967 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1968 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1969 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1970 * themes/starfield/src/slider_c.xcf: Likewise.
1971 * themes/starfield/src/slider_n.xcf: Likewise.
1972 * themes/starfield/src/slider_s.xcf: Likewise.
1973 * themes/starfield/src/terminalbox/: Likewise.
1974 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1975 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1976 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1977 * themes/starfield/starfield.png: Likewise.
1978 * themes/starfield/terminal_box_c.png: Likewise.
1979 * themes/starfield/terminal_box_e.png: Likewise.
1980 * themes/starfield/terminal_box_n.png: Likewise.
1981 * themes/starfield/terminal_box_ne.png: Likewise.
1982 * themes/starfield/terminal_box_nw.png: Likewise.
1983 * themes/starfield/terminal_box_s.png: Likewise.
1984 * themes/starfield/terminal_box_se.png: Likewise.
1985 * themes/starfield/terminal_box_sw.png: Likewise.
1986 * themes/starfield/terminal_box_w.png: Likewise.
1987 * themes/starfield/theme.txt: Likewise.
1988
17d73325
VS
19892012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * util/grub.d/00_header.in: Add missing export theme.
1992
dbebaf92
VS
19932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1996 already included.
1997 Reported by: Eren D.
1998
3d68bffb
VS
19992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * conf/Makefile.common (grubdatadir): Removed.
2002 (Makefile.am): Move eveything grubdata to pkgdata.
2003
4b59234d
VS
20042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/commands/acpihalt.c (get_sleep_type):
2007 Remove unused variable.
2008
463dcadc
VS
20092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2012 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2013 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2014 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2015 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2016 i18n with gettext no-op.
2017 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2018 GRUB_ACPI_OPCODE_STRING_CONST.
2019 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2020 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2021
e5b90c82
VS
20222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * po/POTFILES.in: Regenerate.
2025
2a704ca9
VS
20262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2029 -Wno-error=missing-noreturn.
2030
84f9d341
VS
20312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2034 condition to avoid possibly infinite loops.
2035 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2036 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2037
d46683f9
VS
20382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2041 condition to avoid possibly infinite loops.
2042
c44866b2
VS
20432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2046 on show_error.
2047
96790539
VS
20482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2051
1ba7e295
VS
20522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2055
21ffe8f1
VS
20562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * util/bin2h.c (usage): Add missing attribute noreturn.
2059
0ccb6b3c
VS
20602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2063 if the size isn't divisible by 512.
2064
b00d7fb6
VS
20652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 Make list_push and list_remove functions rather than inline functions
2068 to decrease size and avoid aliasing violations.
2069
2070 * include/grub/list.h (grub_list_push): Move to ...
2071 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2072 * include/grub/list.h (grub_list_remove): Move to ...
2073 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2074
9d369087
VS
20752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2078 and -Wunused-result.
2079
af0250d9
VS
20802012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2083 Reported by: Seth Goldberg
2084
aad32b14
VS
20852012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2088
ac96441c
ST
20892012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2090
2091 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2092 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2093 command line.
2094 * docs/grub.texi (Simple configuration): Document
2095 GRUB_CMDLINE_GNUMACH.
2096
20972012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2098
2099 * conf/Makefile.common (platform_SCRIPTS): New variable.
2100 (platform_PROGRAMS): Likewise.
2101 * gentpl.py: Mark *,module and *.image for install.
2102 * grub-core/gdb_grub.in: Add a notice of expected environment.
2103 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2104 (gmodule.pl): Likewise.
2105
ac96441c 21062012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2107
2108 Replace grub_checkkey with grub_getkey_noblock.
2109
2110 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2111 (grub_getkey_noblock): ... this. All users updated.
2112
ac96441c 21132012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2114
2115 * grub-core/kern/emu/console.c: Move to ...
2116 * grub-core/term/emu/console.c: ...here.
2117 (grub_ncurses_getkey): Fix return value if no key is detected.
2118
e51b5666
VS
21192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2122 (grub_unit_test_fini): Likewise.
2123 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2124
21252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * include/grub/test.h (GRUB_UNIT_TEST)
2128
d9a62292
VS
21292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2132 Better error handling.
2133 (grub_script_return): Likewise.
2134 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2135
77c9182f
VS
21362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2139 rimplicit redifinition.
2140
edb13cf9
VS
21412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2144 GRUB.
2145
a9e9dc7c
VS
21462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2149 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2150 prompt here.
2151
b4ba8e02
VS
21522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2155 as GRUB_ERR_BUG. Don't malloc if no device is available.
2156
dded5540
VS
21572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2160 Mark calling with invalid term as GRUB_ERR_BUG.
2161
0cf69874
VS
21622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2165 packets rather than raising an error.
2166
59bfe502
VS
21672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2170 in if.
2171
db5fc596
VS
21722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2175 diagnostic to dprintf.
2176 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2177
e4b7f404
VS
21782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2181 device name.
2182
e7b02f9e
VS
21832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2186 (grub_ntfs_iterate_dir): Likewise.
2187
0331e102
VS
21882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Efiemu stylistic fixes and gettext.
2191
2192 * grub-core/efiemu/i386/loadcore32.c
2193 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2194 * grub-core/efiemu/i386/loadcore64.c
2195 (grub_arch_efiemu_relocate_symbols64): Likewise.
2196 * grub-core/efiemu/i386/pc/cfgtables.c
2197 (grub_machine_efiemu_init_tables): Likewise.
2198 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2199 (grub_efiemu_loadcore_initXX): Add a filename argument.
2200 All users updated.
2201 Improved error message.
2202 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2203 Add a filename argument.
2204 All users updated.
2205 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2206 Reclassify double relocation as GRUB_ERR_BUG.
2207
306fc074
VS
22082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2211 handling.
2212
794d8ef2
VS
22132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2216 on partition.
2217
22182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2219
2220 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2221
794d8ef2 22222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2223
2224 Improve string. Gettextize.
2225
78dde88e
VS
22262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2229 utils.
2230 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2231
4786a90f
VS
22322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2235 [GRUB_UTIL]: New function.
2236 (insert_array) [GRUB_UTIL]: Store partmaps.
2237 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2238 partmaps.
2239 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2240 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2241 (probe_abstraction): Print diskfilter and not raid.
2242 Reported by: Lennart Sorensen
2243
0b6225bd
VS
22442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2247 * util/grub-mkimagexx.c (MASK3): New define.
2248 (add_value_to_slot_20b): Use MASK3.
2249 (add_value_to_slot_21): Likewise.
2250 (relocate_addresses): Fix format specification.
2251 (load_image): Explicitly init symtab_section.
2252
b055f8f6
VS
22532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2256 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2257
b77c2fb7
VS
22582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2261 on powerpc.
2262 Reported by: Lennart Sorensen
2263
e3ec28ab
VS
22642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * gentpl.py: Add missing license header.
2267 * docs/grub.texi: Update copyright year.
2268
c8d9ead6
GS
22692012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2270
2271 Source grub-mkconfig_lib from the build directory at build time.
2272 Suggested by: Vladimir Serbinenko.
2273
2274 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2275 * util/grub-install.in: Define pkgdatadir if not already set, and source
2276 grub-mkconfig_lib from there.
2277 * util/grub-kbdcomp.in: Likewise.
2278 * util/grub-mkconfig.in: Likewise.
2279 * util/grub-mknetdir.in: Likewise.
2280 * util/grub-mkrescue.in: Likewise.
2281 * util/grub-mkstandalone.in: Likewise.
2282 * util/grub-reboot.in: Likewise.
2283 * util/grub-set-default.in: Likewise.
2284 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2285
ebcecdf1
VS
22862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Increase warning level.
2289
2290 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2291 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2292 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2293 (TARGET_CFLAGS): Likewise.
2294 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2295 * grub-core/Makefile.core.def (decompressor_xz): Add
2296 -Wno-unreachable-code.
2297 (normal): Add -Wno-redundant-decls.
2298 (xzio): Add -Wno-unreachable-code.
2299 (lzopio): Add -Wno-redundant-decls -Wno-error.
2300 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2301 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2302 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2303 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2304 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2305 * grub-core/kern/i386/coreboot/init.c: Add exception to
2306 -Wsuggest-attribute=noreturn.
2307 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2308 * grub-core/kern/ia64/dl_helper.c: Likewise.
2309 * grub-core/kern/mips/dl.c: Likewise.
2310 * grub-core/kern/sparc64/dl.c: Likewise.
2311 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2312 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2313 (memcmp): Likewise.
2314 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2315 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2316 * grub-core/loader/mips/linux.c: Likewise.
2317 * grub-core/loader/multiboot_elfxx.c: Likewise.
2318 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2319 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2320 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2321 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2322 fixme.
2323 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2324 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2325 Fix prototype.
2326
37bb97fe
VS
23272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2330 address.
2331
29a3550b
VS
23322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2335 Avoid improper use of strings.
2336 (grub_cmd_legacy_initrdnounzip): Likewise.
2337
dfdffd0d
VS
23382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2341 attribute.
2342 (grub_util_info): Likewise.
2343 (grub_util_error): Likewise.
2344
102fae4a
VS
23452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2348 * util/grub-fstest.c (fstest): Likewise.
2349
7e94d044
VS
23502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2353 (grub_md_sha512_real): Likewise.
2354 (grub_util_get_geli_uuid): Likewise.
2355 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2356 (grub_util_biosdisk_open): Fix format specification.
2357 Respect format security.
2358 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2359 (xrealloc): Likewise.
2360 (xasprintf): Likewise.
2361
5ebd9769
VS
23622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * util/import_gcry.py: Include grub/crypto.h in init.c.
2365
495fc8c1
VS
23662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2369 (generate_image): Make prefix a const char *.
2370 Fix format specifications. Respect format security.
2371 Avoid void * arithmetics.
2372 Avoid shadowing.
2373 (argp_parser): Remove unused variable. Respect format security.
2374 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2375 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2376 (count_funcs): Remove unused variable.
2377 (relocate_addresses): Fix format specification.
2378 Disable x86-64 with elf32. Remove unused variables.
2379 (add_fixup_entry): Avoid shadowing.
2380 (make_reloc_section): Fix format specification.
2381 Use assert.
2382 (locate_sections): Fix format specifications.
2383 (load_image): Avoid shadowing.
2384
043c2ea3
VS
23852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2388 Fix format specifications. Respect format security.
2389 Don't translate already translated grub_errmsg.
2390 (argp_parser): Remove unused variable
2391
3ec65a81
VS
23922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2395
a4d9fe4a
VS
23962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2399 (main): Likewise. Use xmalloc. Respect format security.
2400
15b81d49
VS
24012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2404 a const char *.
2405 (argp_parser): Remove unused variable.
2406
31731fc0
VS
24072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2410 (add_pixel): Make static.
2411 (add_font): Likewise.
2412 (write_string_section): Make name and str a const char *.
2413 (write_be16_section): Make name a const char *.
2414 (print_glyphs): Make static.
2415 (write_font_ascii_bitmap): Likewise.
2416 (write_font_width_spec): Likewise.
2417 (write_font_pf2): Likewise.
2418 (argp_parser): Remove unused variable.
2419 Respect format security.
2420 (main): Avoid shadowing. Respect format security.
2421
0809527b
VS
24222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * util/grub-editenv.c (argp_parser): Make static.
2425 (create_envblk_file): Use xmalloc.
2426 (open_envblk_file): Likewise.
2427 Resepect format security.
2428 (set_variables): Respect format security.
2429
45b0c8b7
VS
24302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * util/getroot.c (grub_find_device): Respect format security.
2433 (get_mdadm_uuid): Remove unused variable.
2434 (grub_util_pull_device): Dont call gettext on already translated
2435 grub_errmsg.
2436 (find_system_device): Remove unused variable.
2437 (grub_util_get_grub_dev): Likewise.
2438 (grub_make_system_path_relative_to_its_root): Respect format security.
2439
1b024b4e
VS
24402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-fstest.c (execute_command): Make first argument
2443 a const char *.
2444 (read_file): Avoid shadowing.
2445 Reuse underlying error message if device open fails.
2446 (cmd_cmp): Respect format security.
2447 (root): Make const char *.
2448 (fstest): Remove args argument and use global copy.
2449 Respect format security.
2450 (argp_parser): Make static.
2451 (main): Make default_root const char *.
2452
5d1d4e28
VS
24532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * util/grub-mount.c (root): Make const char *.
2456 (execute_command): Make first argument a const char *.
2457 (fuse_init): Respect format security.
2458 (argp_parser): Make static. Remove unused variable.
2459 (main): Make default_root a const char *.
2460 Respect format security.
2461
36eb7379
VS
24622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * util/grub-probe.c (probe): Don't call gettext on already translated
2465 grub_errmsg.
2466 Remove unused variables.
2467 (argp_parser): Remove unused variable.
2468
76fb2ea9
VS
24692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * util/grub-script-check.c (argp_parser): Remove unused variable.
2472 (main): Rename read to curread to avoid shadowing.
2473
56c98584
VS
24742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * util/misc.c (grub_util_write_image_at): Fix format specification.
2477 (grub_util_write_image): Likewise.
2478 (grub_script_execute_argument_to_string): Removed (unused).
2479 (grub_script_execute_menuentry): Likewise.
2480 (grub_putchar): Likewise.
2481
164ebb48
VS
24822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2485 (FUNCTION) [GRUB_UTIL]: Likewise.
2486 (VARIABLE) [GRUB_UTIL]: Likewise.
2487
44318d61
VS
24882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2491 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2492
31a26002
VS
24932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2496 buffer.
2497
24982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2501 (LzmaEnc_SaveState): Removed (unused).
2502 (LzmaEnc_RestoreState): Likewise.
2503 (LzmaEnc_InitPriceTables): Made static.
2504 (LzmaEnc_Construct): Likewise.
2505 (LzmaEnc_FreeLits): Likewise.
2506 (LzmaEnc_Destruct): Likewise.
2507 (LzmaEnc_Init): Likewise.
2508 (LzmaEnc_InitPrices): Likewise.
2509 (LzmaEnc_Finish): Likewise.
2510 (LzmaEnc_PrepareForLzma2): Removed (unused).
2511 (LzmaEnc_MemPrepare): Likewise.
2512 (LzmaEnc_GetNumAvailableBytes): Likewise.
2513 (LzmaEnc_GetCurBuf): Likewise.
2514 (LzmaEnc_CodeOneMemBlock): Likewise.
2515
6fa67967
VS
25162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2519 (grub_util_ldm_embed): Likewise.
2520
9a7428e6
VS
25212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * util/grub-editenv.c (print_var): Rename name to varname to
2524 avoid shadowing.
2525 (main): Rename index to curindex to avoid shadowing.
31a26002 2526 Make filename a const char *.
9a7428e6 2527
4f96abd1
VS
25282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2531 to arg_getline to avoid shadowing.
2532
44d10dad
VS
25332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2536 disk_ to avoid shadowing.
2537
340ba63e
VS
25382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2541 curindex to avoid shadowing.
2542 Make static.
2543 (MatchFinder_GetNumAvailableBytes): Make static.
2544
22965bce
VS
25452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2548 avoid shadowing.
2549
7b5784d4
VS
25502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2553 argument from encrypt to do_encrypt to avoid shadowing.
2554
6f48ca01
VS
25552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2558 incorrect nesting of #if's.
2559
a4ea2dff
VS
25602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2563 checks which are always false on some platforms.
2564 (grub_cmd_lsacpi): Likewise.
2565 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2566 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2567 Likewise.
2568
def9fc1b
VS
25692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2572 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2573
a67b2a04
VS
25742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2577 re_dfa_t to avoid breaking alignment invariants.
2578 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2579 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2580
44c6828d
VS
25812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2584 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2585
bebe0dd0
VS
25862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2589 Fix declaration.
2590
a9cdb3cf
VS
25912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2594 conserve alignment invariants.
2595 (grub_ehci_ehcc_read16): Likewise.
2596 (grub_ehci_oper_read32): Likewise.
2597 (grub_ehci_oper_write32): Likewise.
2598 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2599 Conserve alignment invariants.
2600
ccc3b1b8
VS
26012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2604 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2605 declarations.
2606
987fbd95
VS
26072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2610 Remove unused variable.
2611
0df363f3
VS
26122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2615 Remove set in if.
2616
b2c0c4a6
VS
26172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * include/grub/net.h: Remove double declarations.
2620
690c531f
VS
26212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Remove "payload" command in ia64 Linux loader since I couldn't
2624 find any evidence of it being used for anything.
2625 Replace "relocate" command with an environment variable
2626
2627 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2628 fields.
2629 (ia64_boot_payload): Removed.
2630 (last_payload): Likewise.
2631 (RELOCATE_OFF): Likewise.
2632 (RELOCATE_ON): Likewise.
2633 (RELOCATE_FORCE): Likewise.
2634 (relocate): Likewise.
2635 (free_pages): Don't free payloads.
2636 (grub_load_elf64): Use common error messages.
2637 Use "linux_relocate" variable.
2638 Increase the space after boot_params.
2639 (grub_cmd_payload): Removed.
2640 (grub_cmd_relocate): Likewise.
2641 (grub_cmd_fpswa): Improve messages.
2642 (cmd_payload): Removed.
2643 (cmd_relocate): Likewise.
2644 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2645 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2646
01783768
VS
26472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Convert UHCI to DMA framework.
2650
2651 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2652 (grub_uhci_pci_iter): Fill new members
2653 (grub_alloc_td): Use P2V and V2P functions.
2654 (grub_free_queue): Likewise.
2655 (grub_alloc_qh): Likewise.
2656 (grub_uhci_setup_transfer): Likewise.
2657 (grub_uhci_check_transfer): Likewise.
2658
43206939
VS
26592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2662 Remove assignment in if while on it.
2663
571e140e
VS
26642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * util/grub-mkstandalone.in: Fix modules directory.
2667
a9d96eeb
VS
26682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2671 on i386-pc target.
2672 (argp_parser): Accept "auto" as compression specification.
2673
e4e37e8d
VS
26742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Fix `help' with unloaded modules.
2677
2678 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2679 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2680 (grub_dyncmd_dispatcher): Small stylistic fix.
2681 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2682 explicit help is requested.
2683
e1ea3ade
VS
26842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2687 Explicitly init restart while on it.
2688
27556881
VS
26892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2692 uninited variable.
2693
d65f6b36
VS
26942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * util/grub-mknetdir.in: Use . rather than source for POSIX
2697 compatibility.
2698
0a1e473c
VS
26992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2702
ce6647c8
VS
27032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2706 variable.
2707
66747894
VS
27082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2711 without quotes.
2712
71645f6e
VS
27132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2716
0e1c1f61
VS
27172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2720 iteration of partitions.
2721
9c4b5c13
VS
27222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 Improve gettext support. Stylistic fixes and error handling fixes while
2725 on it.
2726
215c90cb
VS
27272012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2730 part. Instead setup the correct stack in RM.
2731 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2732 for stack.
2733 * include/grub/i386/relocator_private.h: New file.
2734
b5c1f9bf
VS
27352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2738 argument.
2739 * util/grub-fstest.c (options): Add missing DEVICE part.
2740
b525fd83
VS
27412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Clarify and unify messages.
2744
2745 * grub-core/commands/hashsum.c (options): Unify messages.
2746 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2747 literal-only message as translatable.
2748 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2749 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2750 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2751 commands.
2752 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2753 key, not the key used to unlock. Clarify what it's used for.
2754 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2755 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2756 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2757 * util/grub-editenv.c (options): Unify "verbose" message.
2758 * util/grub-fstest.c (read_file): Unify error message.
2759 (fstest): Add quotes around commands.
2760 (options): Unify "verbose" message.
2761 * util/grub-install.in: Add quotes around variable name.
2762 * util/grub-kbdcomp.in: Unify error message.
2763 * util/grub-mkfont.c (main): Likewise.
2764 * util/grub-mkrescue.in: Likewise.
2765 * util/grub-mklayout.c (options): Unify "verbose" message.
2766 * util/grub-mkstandalone.in: Unify help and verbose messages.
2767 * util/grub-mount.c (options): Unify "verbose" message.
2768 * util/grub-probe.c (options): Likewise.
2769 * util/grub-script-check.c (options): Likewise.
2770 * util/grub-setup.c (setup): Unify no-terminator message.
2771 (options): Use DEVICE and not DEV.
2772 Unify "verbose" message.
2773 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2774
0ae70393
VS
27752012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Improve and unify messages.
2778
2779 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2780 name. All users updated.
2781 Print filename in error.
2782 (read_device_map): Print filename in error.
2783 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2784 (grub_util_get_os_disk): Likewise.
2785 (grub_util_biosdisk_get_grub_dev): Likewise.
2786 (grub_util_check_block_device): Likewise.
2787 (grub_util_check_char_device): Likewise.
2788 (grub_make_system_path_relative_to_its_root): Likewise.
2789 * util/grub-editenv.c (create_envblk_file): Likewise.
2790 (open_envblk_file): Likewise.
2791 (write_envblk): Likewise.
2792 * util/grub-fstest.c (cmd_cp): Likewise.
2793 (cmd_cat): Likewise.
2794 (cmd_cmp): Likewise.
2795 * util/grub-menulst2cfg.c (main): Likewise.
2796 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2797 (write_font_width_spec): Likewise.
2798 (write_font_pf2): Likewise.
2799 * util/grub-mkimage.c (generate_image): New argument outname.
2800 All users updated.
2801 Remove unreacheable message.
2802 (options): Unify messages.
2803 (help_filter): Likewise.
2804 * util/grub-mklayout.c (usage): Removed (unused).
2805 (main): Print filename in error.
2806 * util/grub-mkrescue.in: Fix wrong quoting.
2807 * util/grub-setup.c (setup): Print filename in error.
2808 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2809 (check_sas): Likewise.
2810 * util/misc.c (grub_util_get_fp_size): Removed.
2811 (grub_util_get_image_size): Print filename in error.
2812 (grub_util_read_at): Removed.
2813 (grub_util_read_image): Print filename in error.
2814 (grub_util_load_image): Likewise.
2815 (grub_util_write_image_at): New argument filename. All users updated.
2816 Print filename in error.
2817 (grub_util_write_image): New argument filename. All users updated.
2818 Print filename in error.
2819 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2820 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2821
0a96117d
VS
28222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/Makefile.core.def (pxechain): New module.
2825 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2826 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2827 function.
2828 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2829 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2830
aca002f7
VS
28312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2834 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2835 * include/grub/err.h (grub_error_saved): New struct.
2836 (grub_errmsg): Make array size explicit.
2837 * include/grub/misc.h (grub_error_save): New function.
2838 (grub_error_load): Likewise.
2839 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2840 (grub_error_push): Update `errno' member name.
2841 (grub_error_pop): Likewise
2842 * grub-core/net/tftp.c (tftp_data): New member save_err.
2843 (tftp_receive): Save error.
2844 (tftp_open): Restore error.
2845
a51dab13
VS
28462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2849 to real mode down to execute A20-related code in protected mode as
2850 intended.
2851
eb6e6649
GS
28522012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2853
2854 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2855 NULL when the argument `level' has an unexpected value.
2856
92cd0f6e
VS
28572012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 Move platform-dependent files from $prefix to $prefix/$platform.
2860
2861 * config.h.in (GRUB_TARGET_CPU): New definition.
2862 (GRUB_PLATFORM): Likewise.
2863 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2864 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2865 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2866 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2867 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2868 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2869 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2870 * grub-core/normal/term.c (read_terminal_list): Likewise.
2871 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2872 $prefix/locale.
2873 (grub_gettext_init_ext): Likewise.
2874 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2875 grub_platform.
2876 * util/grub-install.in: Update directories.
2877 * util/grub-mknetdir.in: Likewise.
2878 * util/grub-mkrescue.in: Likewise.
2879
db606889
VS
28802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2883 grub_error framework. All users updated.
2884
c39992a4
VS
28852012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2888 lists (by always binsearching), improve caching (cache strings
2889 used for binsearch, not only results), improve
2890 maintainability (by using more structured binary search) and correct
2891 error handling.
2892
1e5ec32f
VS
28932012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/script/execute.c (grub_script_return): Fix warning.
2896
ac576cde
VS
28972012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/script/execute.c (grub_script_return): Fix potential
2900 NULL-dereference.
2901 Reported by: Jim Meyering.
2902
498453f6
VS
29032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * po/POTFILES.in: Regenerate.
2906 * util/grub-install.in: Gettextize the strings missed in first pass.
2907
8be63f2e
VS
29082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * Makefile.util.def (grub-mkdevicemap): Removed.
2911 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2912 * include/grub/util/deviceiter.h: Removed.
2913 * util/deviceiter.c: Likewise.
2914 * util/getroot.c (grub_util_get_os_disk): New function.
2915 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2916 replacement for EFI.
2917 * util/grub-mkdevicemap.c: Removed.
2918 * util/grub-probe.c (probe): Handle PRINT_DISK.
2919 (argp_parser): Handle -t disk.
2920
8e1e4e39
VS
29212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * util/grub-mkfont.c: Migrate to argp.
2924 * util/grub-mklayout.c: Likewise.
2925 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2926 * util/grub-mkrelpath.c: Likewise.
2927 * util/grub-probe.c: Likewise.
2928 * util/grub-script-check.c: Likewise.
2929
4459819a
VS
29302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * util/grub-reboot.in: Add missing datarootdir.
2933 Add missing newline.
2934 * util/grub-set-default.in: Add missing datarootdir.
2935 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2936 * util/grub-mkrescue.in: Likewise.
2937
f65741c7
VS
29382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2941
c1a33466
VS
29422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/grub-kbdcomp.in: Add decent help and gettextize.
2945 * docs/man/grub-kbdcomp.h2m: New file.
2946
c76899a0
VS
29472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 Migrate grub-mkimage.c to argp.
2950
2951 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2952 (grub-setup): Likewise.
2953 * util/grub-setup.c (print_version): Move to ...
2954 * util/argp_common.c (print_version): ... here.
2955 * util/grub-setup.c (argp_program_version_hook): Move to ...
2956 * util/argp_common.c (argp_program_version_hook): ... here.
2957 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2958 safety.
2959 * util/grub-mkimage.c (main): Migrate to argp.
2960
57db0757
VS
29612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-mkrescue.in: Use same message as
2964 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2965 for better translations.
2966
18534ad9
VS
29672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2970 options with generic grub-mkrescue.in with the goal of future
2971 merge.
2972
c84ba308
VS
29732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/kern/mm.c: Add missing include of i18n.h
2976 * grub-core/lib/relocator.c: Likewise.
2977
347998c2
VS
29782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2981 error.
2982 (allocate_pages): Check return value.
2983 Replace fatal with error.
2984 (grub_linux_boot): Replace printf with dprintf.
2985 Check find_mmap_size return value.
2986 Replace fatal with error.
2987 Don't call grub_machine_fini.
2988 (grub_load_elf64): Replace printf with dprintf.
2989 (grub_cmd_linux): Likewise.
2990 (grub_cmd_initrd): Likewise.
2991 (grub_cmd_payload): Likewise.
2992
c779226e
VS
29932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2996 message.
2997 * grub-core/video/radeon_fuloong2e.c
2998 (grub_video_radeon_fuloong2e_setup): Likewise.
2999 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3000 * grub-core/video/video.c (grub_video_set_mode): Don't override
3001 standard out of memory message.
3002
dc87d45a
GS
30032012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3004
3005 NetBSD disk wedge support.
3006
3007 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3008 [__NetBSD__]: Handle NetBSD disk wedges.
3009 * util/getroot.c (convert_system_partition_to_system_disk)
3010 [__NetBSD__]: Likewise.
3011
055f856f
MW
30122012-02-03 Mark Wooding <mdw@distorted.org.uk>
3013
3014 * util/grub-mkconfig.in: Use umask rather than chmod to create
3015 grub.cfg.new to avoid insecure grub.cfg.
3016
4a9f8346
VS
30172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/commands/ls.c: Gettextize.
3020 * grub-core/commands/setpci.c: Likewise.
3021 * grub-core/commands/videotest.c: Likewise.
3022 * grub-core/disk/geli.c: Likewise.
3023 * grub-core/kern/mm.c: Likewise.
3024 * grub-core/lib/relocator.c: Likewise.
3025 * grub-core/loader/efi/appleloader.c: Likewise.
3026 * grub-core/loader/i386/xnu.c: Likewise.
3027 * grub-core/loader/ia64/efi/linux.c: Likewise.
3028 * grub-core/loader/xnu.c: Likewise.
3029 * grub-core/net/dns.c: Likewise.
3030 * grub-core/net/net.c: Likewise.
3031 * grub-core/script/lexer.c: Likewise.
3032 * grub-core/script/parser.y: Likewise.
3033 * grub-core/script/yylex.l: Likewise.
3034 * util/getroot.c: Likewise.
3035 * util/grub-setup.c: Likewise.
3036
a646a366
VS
30372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3040 number.
3041
54e2be26
VS
30422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3045
f7c71e68
VS
30462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3049 macro.
3050 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3051 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3052
a32d5c71
VS
30532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3056 * util/grub-install.in: Gettextize.
3057 * util/grub-mkconfig.in: Likewise.
3058 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3059 if not available.
3060 (grub_warn): Gettextize.
3061 * util/grub-mknetdir.in: Gettextize.
3062 * util/grub-mkrescue.in: Likewise.
3063 * util/grub-mkstandalone.in: Likewise.
3064 * util/grub-reboot.in: Likewise.
3065 * util/grub-set-default.in: Likewise.
3066 * util/grub.d/00_header.in: Likewise.
3067 * util/grub.d/10_hurd.in: Likewise.
3068 * util/grub.d/10_kfreebsd.in: Likewise.
3069 * util/grub.d/10_linux.in: Likewise.
3070 * util/grub.d/10_netbsd.in: Likewise.
3071 * util/grub.d/10_windows.in: Likewise.
3072 * util/grub.d/20_linux_xen.in: Likewise.
3073 * util/grub.d/30_os-prober.in: Likewise.
3074 * po/POTFILES-shell.in: Regenerate.
3075
69edd81a
RL
30762012-02-03 Richard Laager <rlaager@wiktel.com>
3077
3078 * util/grub-mkimage.c (main): Fix format-security warning.
3079 * util/grub-mkrelpath.c (main): Likewise.
3080 * util/grub-probe.c (main): Likewise.
3081
65f08dbf
RL
30822012-02-03 Richard Laager <rlaager@wiktel.com>
3083
3084 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3085 failure.
3086 Put back lost PRINT_DRIVE.
3087
e9084abe
RL
30882012-02-03 Richard Laager <rlaager@wiktel.com>
3089
3090 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3091 (grub_guess_root_devices): Replace strlen with sizeof.
3092 Avoid crash.
3093 (find_root_devices_from_poolname): Remove unused variable.
3094 Handle raidzN.
3095
cf5f7ee7
VS
30962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Support install on multi-device filesystems.
3099
3100 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3101 (grub_guess_root_devices): ...this. Return char **. All users updated.
3102 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3103 Removed.
3104 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3105 (find_root_devices_from_poolname): ... here.
3106 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3107 Support zfs-fuse.
3108 (grub_guess_root_device): Rename to ...
3109 (grub_guess_root_devices): ... this. Return char **. All users updated.
3110 * util/grub-install.in: Handle multi-device filesystems.
3111 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3112 argument. All users updated.
3113 Handle multi-device filesystems.
3114 Use 'delim' as separator.
3115 Remove device check to allow filesystems on file.
3116 (main): Support -0 argument. Handle multi-device.
3117 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3118 Fix a cross-device check while on it.
3119 (arguments): Remove root_dev.
3120 (argp_parser): Remove -r.
3121 (main): Remove root_dev.
3122
2f53a9ed
VS
31232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3126
17e1d934
VS
31272012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3130 symbol.
3131 Reported by: NODA, Kai <nodakai>.
3132
d3e3fab5
VS
31332012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 Fix ehci on amd64.
3136
3137 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3138 pointers.
3139 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3140 (grub_ehci_setup_qh): Likewise.
3141 (grub_ehci_find_qh): Likewise.
3142 (grub_ehci_transaction): Likewise.
3143 (grub_ehci_setup_transfer): Likewise.
3144 (grub_ehci_check_transfer): Likewise.
3145 (grub_ehci_portstatus): Likewise.
3146 (grub_ehci_detect_dev): Likewise.
3147 (grub_ehci_transfer_controller_data): New field td_last_phys.
3148 (grub_ehci_setup_transfer): Fill td_last_phys.
3149 (grub_ehci_check_transfer): Use td_last_phys.
3150
3008675b
SG
31512012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3152
3153 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3154 if no submenu is present.
3155
fc9b5652
AN
31562012-02-01 Aleš Nesrsta <starous@volny.cz>
3157
3158 CBI support.
3159
3160 * include/grub/usb.h (grub_usbms_protocol_t): New values
3161 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3162 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3163 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3164 (grub_usbms_dev): Add subclass, protocol and intrpt.
3165 Remove in_maxsz and out_maxsz.
3166 (grub_usbms_reset): Rename to ...
3167 (grub_usbms_bo_reset): .. this.
3168 (grub_usbms_cbi_cmd): New function.
3169 (grub_usbms_cbi_reset): Likewise.
3170 (grub_usbms_reset): Likewise.
3171 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3172 (grub_usbms_transfer): Rename to ...
3173 (grub_usbms_transfer_bo): ... this.
3174 (grub_usbms_transfer_cbi): Likewise.
3175 (grub_usbms_transfer): Likewise.
3176
a2b81d53
AN
31772012-02-01 Aleš Nesrsta <starous@volny.cz>
31782012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3181 the support for the CS5536 modification thereos and few bugfixes.
3182
3183 * grub-core/Makefile.core.def (ehci): New module.
3184 * grub-core/bus/usb/ehci.c: New file.
3185 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3186 port and hubaddr. All users updated.
3187 Save port and hubaddr into dev structure.
3188 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3189 define.
3190 * include/grub/pci.h (grub_dma_phys2virt): New function.
3191 (grub_dma_virt2phys): Likewise.
3192 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3193
b1d51f02
VS
31942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3197 check as some mkfs implementations omit it.
3198
fc694106
VS
31992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3202
6c0920e3
VS
32032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3206 Add new member volname2.
3207 (grub_jfs_label): Use volname2 if available.
3208
d1a46f9a
VS
32092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3212 over last_mounted as seen in image generated by mkfs.nilfs2.
3213 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3214
dec8ed14
VS
32152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3218 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3219 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3220
7397c69b
VS
32212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3224 over the sector.
3225
b3fe42ad
VS
32262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3229 subvolume name (by removing a bogus and useless check).
3230
10476bb0
VS
32312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3234 sizeof while on it.
3235
9c08ad87
VS
32362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3239 (grub_scsi_read_capacity10): ... this.
3240 (grub_scsi_read_capacity16): New function.
3241 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3242 0xffffffff.
3243 Fix off-by-one error.
3244 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3245 64-bit unsigned.
3246 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3247 (grub_scsi_read_capacity10): ... this.
3248 (grub_scsi_read_capacity_data): Rename to ...
3249 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3250 (grub_scsi_read_capacity16): New struct.
3251 (grub_scsi_read_capacity16_data): Likewise.
3252 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3253 grub_scsi_cmd_read_capacity10.
3254 New command grub_scsi_cmd_read_capacity16.
3255
bc8d0f45
VS
32562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 SCSI >2TiB support.
3259
3260 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3261 (grub_scsi_write16): Likewise.
3262 (grub_scsi_read): Use read16 when necessary.
3263 (grub_scsi_write): Likewise.
3264 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3265 (grub_scsi_write16): Likewise.
3266 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3267
cc774926
VS
32682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 SCSI write support (for usbms mainly).
3271
3272 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3273 a const pointer.
3274 (grub_scsi_write): Implement.
3275 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3276
67639fd7
VS
32772012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3280 variable.
3281
9079d3ed
VS
32822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3285
c6a6f204
VS
32862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * po/POTFILES.in: Regenerate.
3289
ecbf8cd1
VS
32902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3293 with grub_printf to avoid unnecessary fatal failure.
3294
0b3b3b38
VS
32952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3298 (INT_MAX): Likewise.
3299 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3300 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3301 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3302 (strcpy): Likewise.
3303 (strstr): Likewise.
3304 (strchr): Likewise.
3305 (strncpy): Likewise.
3306 (strcat): Likewise.
3307 (strncat): Likewise.
3308 (strcoll): Likewise.
3309 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3310 (GRUB_INT_MAX): Likewise.
3311
db7337a3
VS
33122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3315 unexpected error.
3316 (optimize_utf8): Likewise.
3317 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3318
f37c87e1
VS
33192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/boot/i386/pc/lnxboot.S: Use
3322 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3323 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3324 location.
3325 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3326 definition.
3327 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3328
63fe43f3
VS
33292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3332 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3333 now to avoid double free.
3334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3335 hostdisk.
3336 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3337 * util/grub-probe.c (escape_of_path): Always return a new copy.
3338 (print_full_name): Escape path.
3339 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3340 Fix hints on abstractions.
3341
ebe2c961
VS
33422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3345 Don't add "root" line if no compatibility hont is available.
3346 Suggested by: Seth Goldberg.
3347
2b5336a2
VS
33482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3351 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3352 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3353 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3354
74310bd8
VS
33552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3358
c30582ba
VS
33592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-pe2elf.c (ehdr): Make static.
3362 (shdr): Likewise.
3363 (num_sections): Likewise.
3364 (offset): Likewise.
3365
5f47782c
VS
33662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 Eliminate ofpath limits and possible overflows.
3369
3370 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3371 (OF_PATH_MAX): Removed.
3372 (MAX_DISK_CAT): New const.
3373 (find_obppath): Use allocated rather than preallocated buffer.
3374 Return result. Argument of_path removed. All users updated.
3375 Add missing fdstat.
3376 (xrealpath): New function.
3377 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3378 Allocate rather than use preallocated buffer. All users updated.
3379 (__of_path_common): Use allocated rather than preallocatecd buffer.
3380 Return result. Argument of_path removed. All users updated.
3381 (vendor_is_ATA): Read only needed part form the file.
3382 (check_sas): Allocate depending on contents rather than fixed.
3383 (main) [STANDALONE]: Handle NULL result.
3384
f990cbf9
VS
33852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3388
9c6e84b8
VS
33892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Cryptodisk write support.
3392
3393 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3394 (grub_cryptodisk_decrypt): Moved logic to ...
3395 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3396 (grub_cryptodisk_write): Implement.
3397 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3398 (grub_util_fd_write): ... this. Make global.
3399 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3400
87cf9744
VS
34012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * include/grub/list.h (grub_list_remove): Don't crash if element is
3404 removed twice.
3405
ca8c0baf
VS
34062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Rename ofconsole to console.
3409
3410 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3411 as sysnonym to console.
3412 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3413 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3414 Rename grub_ofconsole_ to grub_console_. All users updated
3415 (grub_console_term_output): Rename "ofconsole" to "console".
3416 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3417 as "console".
3418
64c8b8f6
VS
34192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3422 handling.
3423 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3424 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3425 GRUB_DISK_DEVICE_FILE_ID.
3426
f6c434d5
VS
34272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3430 and improve performance.
3431
5858b42d
VS
34322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3435 missing ieee1275/ prefix on whole disk.
3436
4ed3c26b
VS
34372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3440 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3441
df71143e
VS
34422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3445
076e7c0f
VS
34462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Merge common RAID and LVM logic to an abstract diskfilter.
3449 Add LDM support using the same framework.
3450
3451 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3452 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3453 (libgrubmods): Remove grub-core/disk/raid.c and
3454 grub-core/partmap/gpt.c.
3455 * grub-core/Makefile.core.def (ldm): New module.
3456 (raid): Renamed to diskfilter. All users updated.
3457 * grub-core/disk/raid.c: Moved to ...
3458 * grub-core/disk/diskfilter.c: ... here.
3459 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3460 (lv_num): New var.
3461 (find_array): Renamed to ...
3462 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3463 (grub_is_array_readable): Renamed to ...
3464 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3465 (insert_array): New argument id.
3466 (is_node_readable): New function.
3467 (scan_device): Rename to ...
3468 (scan_disk): .. this. Restrict to one disk.
3469 (scan_devices): New function.
3470 (grub_diskfilter_iterate): Support multi-LV.
3471 Skip invisible and nameless LVs.
3472 (grub_diskfilter_memberlist): Support multi-LV.
3473 (grub_diskfilter_read_node): New function.
3474 (grub_raid_read): Most of logic moved to ...
3475 (read_segment): ... here
3476 (read_lv): New function.
3477 (grub_diskfilter_get_vg_by_uuid): New function.
3478 (grub_diskfilter_make_raid): Likewise.
3479 * grub-core/disk/ldm.c: New file.
3480 * grub-core/disk/lvm.c (vg_list): Removed.
3481 (lv_count): Likewise.
3482 (scan_depth): Likewise.
3483 (is_lv_readable): Likewise.
3484 (grub_lvm_getvalue): Advance pointer past the number.
3485 (find_lv): Removed.
3486 (do_lvm_scan): Refactored into ...
3487 (grub_lvm_detect): ... this. Support raid.
3488 (grub_lvm_iterate): Removed.
3489 (grub_lvm_memberlist): Likewise.
3490 (grub_lvm_open): Likewise.
3491 (grub_lvm_close): Likewise.
3492 (read_lv): Likewise.
3493 (read_node): Likewise.
3494 (is_node_readable): Likewise.
3495 (is_lv_readable): Likewise.
3496 (grub_lvm_read): Likewise.
3497 (grub_lvm_write): Likewise.
3498 (grub_lvm_dev): Use diskfilter
3499 (GRUB_MOD_INIT): Likewise.
3500 (GRUB_MOD_FINI): Likewise.
3501 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3502 new interface.
3503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3504 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3505 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3506 grub_diskfilter_read_node.
3507 Fix a bug with xor.
3508 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3509 grub_diskfilter_read_node.
3510 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3511 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3512 (grub_disk_dev_iterate): Move from here...
3513 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3514 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3515 Make global.
3516 (grub_hostdisk_find_partition_start): Likewise.
3517 (grub_hostdisk_os_dev_to_grub_drive): New function.
3518 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3519 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3520 * util/getroot.c (make_device_name): ... here.
3521 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3522 Move to ...
3523 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3524 * grub-core/kern/emu/hostdisk.c
3525 (convert_system_partition_to_system_disk): Move to ...
3526 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3527 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3528 * util/getroot.c (device_is_wholedisk): ... here.
3529 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3530 * util/getroot.c (find_system_device): ... here.
3531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3532 Move to ...
3533 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3535 Move to ...
3536 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3537 Handle LDM.
3538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3539 Move to ...
3540 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3541 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3542 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3543 DISKFILTER.
3544 * include/grub/raid.h: Renamed to ...
3545 * include/grub/diskfilter.h: ... this.
3546 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3547 (GRUB_RAID_LAYOUT_*): Make into array.
3548 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3549 (grub_diskfilter_vg): New struct.
3550 (grub_diskfilter_pv_id): Likewise.
3551 (grub_raid_member): Removed.
3552 (grub_raid_array): Likewise.
3553 (grub_diskfilter_pv): New struct.
3554 (grub_diskfilter_lv): Likewise.
3555 (grub_diskfilter_segment): Likewise.
3556 (grub_diskfilter_node): Likewise.
3557 (grub_diskfilter_get_vg_by_uuid): New proto.
3558 (grub_raid_register): Inline.
3559 (grub_diskfilter_unregister): Likewise.
3560 (grub_diskfilter_make_raid): New proto.
3561 (grub_diskfilter_vg_register): Likewise.
3562 (grub_diskfilter_read_node): Likewise.
3563 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3564 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3565 (grub_util_is_ldm): Likewise.
3566 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3567 (grub_hostdisk_find_partition_start): Likewise.
3568 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3569 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3570 New definition.
3571 (grub_gpt_partition_map_iterate): New proto.
3572 * include/grub/lvm.h (grub_lvm_vg): Removed.
3573 (grub_lvm_pv): Likewise.
3574 (grub_lvm_lv): Likewise.
3575 (grub_lvm_segment): Likewise.
3576 (grub_lvm_node): Likewise.
3577 * util/getroot.c [...]
3578 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3579 (probe_abstraction): Likewise.
3580 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3581 (main): Remove dead logic.
3582
8a7f9b9c
VS
35832012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Simplify root device discover and don't fail when trying to open
3586 incorrect devices.
3587
3588 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3589 function.
3590 (get_diskname_from_path): Likewise.
3591 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3592 of iterating.
3593
30545b85
VS
35942012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3597
28ea58cf
VS
35982012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3601 pastthe end.
3602
692dabca
VS
36032012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * util/grub-install.in: Add missing \.
3606 Reported by: gentoofan
3607
f6e4ea70
VS
36082012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3611 (direct_read): Use correct compressed size.
3612 (grub_squash_read_data): Likewise.
3613
36142012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3615
3616 * docs/grub.texi (Platform limitations): New section.
3617 (Platform-specific operations): Likewise.
3618 * docs/grub-dev.texi (Porting): Likewise.
3619
76261110
VS
36202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 IEEE1275 disk write support.
3623
3624 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3625 const void *.
3626 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3627 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3628 and seek loginc to ...
3629 (grub_ofdisk_prepare): ... here.
3630 (grub_ofdisk_write): Implement.
3631
fc36d603
VS
36322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 ARC disk write support.
3635
3636 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3637 (reopen): New argument writable. All users updated.
3638 Handle required access mode.
3639 (grub_arcdisk_write): Implement.
3640 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3641 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3642
e06c2e7a
VS
36432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3646 (read_sblock): Don't attempt to read superblocks outside the disk size.
3647
ff447958
VS
36482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3651 first superblock to find the second one when possible.
3652
9e88df39
VS
36532012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * util/grub-install.in: Fix an ARC bug.
3656 Print a warning if no platform-specific setup is available.
3657
bb26e4ff
VS
36582012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Use static allocation rather than scratch pointer in reed_solomon.
3661 It decreases its size significantly and avoids a variable in .text.
3662
3663 * grub-core/lib/reed_solomon.c (scratch): Removed.
3664 (chosenstat): New const or static array.
3665 (sigma): Likewise.
3666 (errpot): Likewise.
3667 (errpos): Likewise.
3668 (sy): Likewise.
3669 (mstat): Likewise.
3670 (errvals): Likewise.
3671 (eqstat): Likewise.
3672 (pol_evaluate): Replace x with log_x argument. All users updated.
3673 (syndroms): Removed.
3674 (gauss_solve): Use statically allocated arrays.
3675 (rs_recover): Likewise.
3676 Calculate syndroms directly.
3677 (decode_block): Use statically allocated arrays.
3678 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3679 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3680
2e13ede5
VS
36812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Eliminate fixed limit on reed solomon decoder length.
3684
3685 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3686 rather than hardcoding the address.
3687 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3688 no_reed_solomon_length.
3689 Move gate_a20 to no-reed-solomon part.
3690 Don't force a particular size of no reed-solomon part.
3691 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3692 Removed.
3693 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3694 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3695
f8a9ab12
VS
36962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/commands/wildcard.c (match_files): Handle filenames
3699 without explicit device.
3700 (wildcard_expand): Don't add explicit device if not already present.
3701 * tests/grub_script_echo1.in: Add a new expansion test.
3702
87edb894
VS
37032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 Replace single-linked with double-linked lists. It results in more
3706 compact and more efficient code.
3707
3708 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3709 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3710 (grub_list_remove): Moved from here ...
3711 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3712 (grub_prio_list_insert): Set prev.
3713 * include/grub/list.h (grub_list): Add prev. All users updated.
3714
48b391e9
VS
37152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 Handle newer autotools. Add some missing quotes while on it.
3718
3719 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3720 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3721 (pkgdata_DATA): ... here.
3722 * Makefile.util.def (update-grub_lib): Removed.
3723 * conf/Makefile.common (pkglib_DATA): Removed.
3724 (pkglib_SCRIPTS): Likewise.
3725 (pkgdata_DATA): New variable.
3726 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3727 needed.
3728 Add missing quotes.
3729 Remove unused variable while on it.
3730 * tests/util/grub-shell.in: Likewise.
3731 * util/grub-install.in: Likewise.
3732 * util/grub-mkconfig.in: Likewise.
3733 * util/grub-mknetdir.in: Likewise.
3734 * util/grub-mkrescue.in: Likewise.
3735 * util/grub-mkstandalone.in: Likewise.
3736 * util/grub.d/00_header.in: Likewise.
3737 * util/grub.d/10_hurd.in: Likewise.
3738 * util/grub.d/10_illumos.in: Likewise.
3739 * util/grub.d/10_kfreebsd.in: Likewise.
3740 * util/grub.d/10_linux.in: Likewise.
3741 * util/grub.d/10_netbsd.in: Likewise.
3742 * util/grub.d/10_windows.in: Likewise.
3743 * util/grub.d/20_linux_xen.in: Likewise.
3744 * util/grub.d/30_os-prober.in: Likewise.
3745 * util/update-grub_lib.in: Removed.
3746
37472012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3748
3749 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3750 a workaround for intel problem.
3751
66832792
PRP
37522012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
37532012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
37542012-01-23 pfsmorigo
3755
3756 * util/grub-install.in: Support dd'in into PreP partition.
3757 * util/grub-probe.c (probe): Support discovering partition type.
3758 (main): Support -t msdos_parttype.
3759
7816a17e
VS
37602012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3763 infinite recursion using counter.
3764 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3765 init to skip it if the magic check fails.
3766 (dec_stream_header): Init s->crc32.
3767
8f9d3a8c
ZB
37682012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
37692012-01-22 Zachary Bedell <pendorbound@gmail.com>
37702012-01-22 Richard Laager <rlaager@wiktel.com>
3771
3772 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3773 All users updated.
3774 (find_bestub): Determine correct size.
3775 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3776 (scan_disk): Align the size down.
3777 Call check pool before find_bestub to have ashift.
3778
b055dd32
VS
37792012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3782 dprintf in no-malloc zone.
3783
d779e9bd
ML
37842012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3785
3786 * configure.ac: Add back in test for limits.h.
3787
b508af69
VS
37882012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Support 4K-sector NTFS.
3791
3792 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3793 (grub_ntfs_data): Remove blocksize.
3794 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3795 Remove data argument. All users updated.
3796
dad9c8b5
VS
37972012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3800 being in .text to avoid dprel references.
3801 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3802 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3803 (grub_arch_highmemsize): Likewise.
3804 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3805 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3806 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3807
d43a777e
VS
38082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3811
3812 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3813 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3814
34e4208f
VS
38152012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3818 GRUB_UTIL.
3819 (grub_set_datetime_cmos): Likewise.
3820
3ec0fc1c
VS
38212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Make XZ compression parameters dependent on target and not host CPU.
3824
3825 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3826 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3827
22489834
VS
38282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3831 set but not used variable.
3832
8502fbca
VS
38332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3836 created when no uuid support is compiled into mkfs.reiser.
3837
76df2068
VS
38382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3841 (utf8_to_macroman): Do the opposite.
3842 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3843
64e3f8f6
VS
38442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * configure.ac: Refise build qemu_mips w/o unifont.
3847
9c271078
VS
38482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Eliminate grub_min/grub_max prone to overflow usage.
3851
3852 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3853 (poll_nonroot_hub): Likewise.
3854 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3855 (grub_affs_label): Likewise.
3856 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3857 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3858 (grub_hfs_label): Likewise.
3859 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3860 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3861 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3862 (zap_leaf_array_get): Likewise.
3863 (dnode_get_path): Likewise.
3864 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3865 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3866 * grub-core/script/execute.c (grub_script_break): Likewise.
3867 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3868 grub_max.
3869 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3870 * include/grub/misc.h (grub_min): Removed.
3871 (grub_max): Likewise.
3872
80662dbc
VS
38732012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3874
3875 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3876 direct.inode = 0.
3877
e6da1467
VS
38782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3881
b1ac4cb1
VS
38822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3885
b4bf7c3b
VS
38862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3889 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3890
8ee1101a
VS
38912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3894 rather than a hack for grub_strncasemap.
3895
38962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Support multiple initrds
3899 Note: part of this was accidently committed in r3739.
3900
3901 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3902 initrd.
3903 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3904 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3905 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3906 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3907 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3908
4d1e2bc9
VS
39092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3912 disks with unknown size.
3913 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3914
75b49ebe
VS
39152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Remove defines pertaining to arbitrary limits not affecting GRUB
3918 anymore.
3919
3920 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3921 (EXT2_MAX_SYMLINKCNT): Likewise.
3922 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3923 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3924 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3925 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3926 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3927 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3928 (DN_MAX_OBJECT_SHIFT): Likewise.
3929 (DN_MAX_OFFSET_SHIFT): Likewise.
3930 (DN_MAX_OBJECT): Likewise.
3931 (DNODES_PER_LEVEL_SHIFT): Likewise.
3932 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3933 (SPA_MAXBLOCKSIZE): Likewise.
3934 (SPA_BLOCKSIZES): Likewise.
3935 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3936 (MZAP_MAX_BLKSZ): Likewise.
3937
74a1dce7
VS
39382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3941 handle NULL appropriately.
3942 Remove MIN.
3943
30c7d3ce
VS
39442012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Fix efiemu.
3947
3948 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3949 cpu/types.h.
3950 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3951 * configure.ac: Fix efiemu check.
3952
3c76ea0c
VS
39532012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3956 grub_probe.
3957 Reported by: adamwill
3958
7e532280
SG
39592012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3960
3961 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3962
30492374
VS
39632012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Fix handling of wide characters in gfxterm.
3966
3967 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3968 (clear_char): Likewise.
3969 (paint_char): Skip code == NULL chars.
3970 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3971
e70cb72f
VS
39722012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/normal/charset.c: Move comment to right place.
3975
5c827cf9
VS
39762012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3979 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3980 (grub_affs_mount): Revert the correct version checking.
3981
53603892
VS
39822012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * docs/grub.texi (Unicode): Mention several other unsupported features.
3985
ff094b9b
VS
39862011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3989 case statements as compile-time one.
3990 (direct_read): Prevent spurious warnings.
3991 (grub_squash_read_data): Likewise.
3992
c029da8a
VS
39932011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Various squash4 fixes and LZO and XZ support.
3996
3997 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3998 Add xzembed source files.
3999 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4000 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4001 (grub_squash_inode): New subtype long_dir.
4002 (SQUASH_TYPE_LONG_DIR): New inode type.
4003 (COMPRESSION): New enum.
4004 (XZBUFSIZ): New const.
4005 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4006 (read_chunk): Use data->decompress.
4007 (zlib_decompress): New function.
4008 (lzo_decompress): Likewise.
4009 (xz_decompress): Likewise.
4010 (squash_mount): Set new data fields.
4011 (grub_squash_iterate_dir): Handle long dir.
4012 (squash_unmount): Free xzdec and xzbuf.
4013 (grub_squash_open): Check ino type.
4014 (direct_read): Stylistic fixes. Use data->decompress.
4015 (grub_squash_read_data): Likewise.
4016 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4017 (get_byte): Likewise.
4018 (grub_zlib_disk_read): Removed.
4019 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4020 (GRUB_POSIX_BOOL_DEFINED): New define.
4021 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4022 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4023 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4024 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4025
7a45a539
VS
40262011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Don't override more informative errors.
4029
4030 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4031 * grub-core/font/font.c (open_section): Likewise.
4032 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4033 filename. Don't override errors.
4034 (grub_cmd_openbsd_ramdisk): Don't override errors.
4035 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4036 (grub_cmd_initrd): Likewise.
4037 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4038 (grub_cmd_initrd): Likewise.
4039 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4040 (grub_cmd_linux): Likewise.
4041 (grub_cmd_initrd): Likewise.
4042 (grub_cmd_payload): Likewise.
4043 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4044 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4045 (grub_cmd_module): Likewise.
4046 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4047 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4048 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4049 (grub_cmd_xnu_mkext): Likewise.
4050 (grub_cmd_xnu_ramdisk): Likewise.
4051 (grub_xnu_check_os_bundle_required): Likewise.
4052 (grub_xnu_load_kext_from_dir): Likewise.
4053 (grub_cmd_xnu_kextdir): Likewise.
4054 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4055
b2d004db
VS
40562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4059 as 1024 in block size field. Found on one of my test images.
4060 Small optimisation while on it.
4061
ec000eac
VS
40622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4065 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4066 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4067 performance fixes while on it.
4068 (grub_sfs_close): Fix memory leak while on it.
4069 (grub_sfs_label): Convert Latin1 to UTF-8.
4070
f50e1165
VS
40712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4074 space to avoid overflows.
4075 (grub_hfs_label): Convert from macroman to UTF-8.
4076
2ae254de
VS
40772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4080
0108f491
VS
40812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4084
f45f5f89
VS
40852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * unicode: Import Unicode 6.0 data.
4088
4d8c4765
VS
40892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4090
63fa8ef9
VS
4091 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4092 outside of range.
4093
40942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4097
4098 * include/grub/charset.h (grub_getend): New function.
4099 * grub-core/script/function.c (grub_script_function_find): Use
4100 grub_getend.
4101 * grub-core/normal/completion.c (add_completion): Likewise.
4102
f3cb4a4e
VS
41032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4106 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4107 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4108 (GRUB_UNICODE_TAG_END): Likewise.
4109 (GRUB_UNICODE_LAST_VALID): Likewise.
4110
5da8dbc5
VS
41112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4114 len and make it smaller. All users updated.
4115 * util/import_unicode.py: Put length and not end character.
4116 Check length.
4117
8569f13d
VS
41182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 Make better Unicode-compliant and unify some UTF-8 code pathes.
4121
4122 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4123 valid character.
4124 (grub_is_valid_utf8): Use grub_utf8_process.
4125 Check resulting code range.
4126 (grub_utf8_to_ucs4): Use grub_utf8_process.
4127 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4128 valid character.
4129
cc4fddf5
VS
41302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4133
bbc47747
VS
41342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * docs/grub.texi (Filesystems): Mention AFS.
4137
f63d6bf4
VS
41382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * docs/grub.texi (Filesystems): Clarify restrictions.
4141 (Regexp): Mention non-Unicode regexp behaviour.
4142 (Other): Mention non-Unicode matching behaviour.
4143
74bbf0db
VS
41442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4145
f63d6bf4 4146 Make HFS implementation use MacRoman.
74bbf0db
VS
4147
4148 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4149 (macroman): New const array.
4150 (macroman_to_utf8): New function.
4151 (utf8_to_macroman): Likewise.
4152 (grub_hfs_find_dir): Use utf8_to_macroman.
4153 (grub_hfs_dir): Use macroman_to_utf8.
4154 Set case_insensitive.
4155
4ea0316e
VS
41562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4159
d3c13cbd
VS
41602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Integrate hints into autogeneration scripts.
4163
4164 * docs/grub.texi (Filesystems): Add a hostdisk example.
4165 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4166 (grub-probe): Add ofpath.
4167 * gentpl.py: Remove group nosparc64.
4168 * grub-core/commands/search.c (cache_entry): New struct.
4169 (cache): New var.
4170 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4171 * grub-core/commands/search_wrap.c (options): Add platform-specific
4172 hint options.
4173 (grub_cmd_search): Handle platform-specific hints.
4174 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4175 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4176 (grub_util_biosdisk_data): Likewise.
4177 (grub_util_biosdisk_open): Set device_map.
4178 (read_device_map): Handle "" as indication of no map.
4179 Set device_map.
4180 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4181 (grub_util_biosdisk_get_compatibility_hint): New function.
4182 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4183 * include/grub/emu/hostdisk.h
4184 (grub_util_biosdisk_get_compatibility_hint): New proto.
4185 * util/grub-install.in: Don't call grub-mkdevicemap.
4186 Add platform-specific hint to load.cfg.
4187 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4188 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4189 hints. Set root preliminary to compatibility hint, not to OS name.
4190 * util/grub-probe.c (PRINT_*): Add hints.
4191 (print): Make static.
4192 (escape_of_path): New function.
4193 (guess_bios_drive): Likewise.
4194 (guess_efi_drive): Likewise.
4195 (guess_baremetal_drive): Likewise.
4196 (print_full_name): Likewise.
4197 (probe): Handle hints.
4198 (main): Likewise.
4199 * util/ieee1275/devicemap.c: Removed.
4200 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4201 updated.
4202 (grub_util_devname_to_ofpath): Return NULL on failure.
4203
4204 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4205 resource leak.
4206 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4207
4208 * po/POTFILES.in: Regenerated.
4209
4210 Allow purely long options
4211
4212 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4213 (SHORT_ARG_USAGE): Likewise.
4214 (grub_arg_show_help): Compare opt with help_options.
4215 (parse_option): Receive opt as argument. If makes big simplificatons.
4216 All users updated
4217
00ce2df3
VS
42182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4221 Restructure to avoid warning.
4222
e77e325f
VS
42232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * util/grub-install.in: Account for possible escaped comma in device
4226 name.
4227
165099ea
VS
42282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4231 channel.
4232
ce4a999d
VS
42332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4236 allocation and zero-setting.
4237 (grub_ieee1275_get_devname): Check that alias is complete.
4238
379586ad
VS
42392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4242 unaligned segments.
4243
9197b0ad
VS
42442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4247 prefix.
4248 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4249 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4250 Add ieee1275 prefix.
4251
edddb7f9
VS
42522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * docs/grub.texi (Filesystems): Update.
4255
a1a8b1b9
VS
42562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 Support odc, newc and bigendian cpio formats.
4259
4260 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4261 * grub-core/Makefile.core.def (newc): New module.
4262 (odc): Likewise.
4263 (cpio_be): Likewise.
4264 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4265 (MAGIC): Likewise.
4266 (MAGIC2): Likewise.
4267 (head) [MODE_ODC]: Adapt for the format.
4268 (head) [MODE_NEWC]: Likewise.
4269 (head) [!MODE_*]: Write fields of interest as arrays.
4270 (MAGIC_USTAR): Removed.
4271 (read_number) [MODE_NEWC]: Change to hex.
4272 (read_number) [!MODE_*]: Parse binary arrays.
4273 (grub_cpio_find_file): Factor out the code for better structure and
4274 always use read_number.
4275 (grub_cpio_mount): Use MAGIC and MAGIC2.
4276 (grub_cpio_dir): Exit on first hook non-0 return.
4277 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4278 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4279 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4280 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4281 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4282 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4283 * grub-core/fs/newc.c: New file.
4284 * grub-core/fs/odc.c: Likewise.
4285 * grub-core/fs/cpio_be.c: Likewise.
4286
58eba9ee
VS
42872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 Fix handling of tar numbers occupying the whole field.
4290
4291 * grub-core/fs/cpio.c (read_number): New function.
4292 (grub_cpio_find_file): Use read_number instead of strtoull.
4293
a54a0e12
VS
42942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4297 occupying the whole field size.
4298
a6120aca
LA
42992011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4300
4301 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4302
a93964ce
VS
43032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4306
3ea1ca46
SG
43072011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4308
4309 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4310 TARGET_IMG_LDFLAGS.
4311
b87f7ef2
VS
43122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4315 (mountinfo_entry): Increase the field size to take escaping into
4316 account.
4317 (find_root_device_from_libzfs): Add one byte to size of strings for
4318 security.
4319
62092395
VS
43202011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4323 an assert.
4324 * util/grub-setup.c (setup): Likewise.
4325
1f0b1a77
VS
43262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4329 _LzmaDecodeA.
4330
8eba9997
VS
43312011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * docs/grub.texi (Internationalisation): New section.
4334
dd0c91e9
VS
43352011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * docs/grub.texi (Loopback booting): New section.
4338
43392011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4340
4341 * util/grub-mkstandalone.in: Fix minor typo errors.
4342
198e150a
VS
43432011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4346
4347 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4348 net/icmp.c and net/icmp6.c.
4349 (http): New module.
4350 (priority_queue): Likewise.
4351 * grub-core/io/bufio.c: Rewritten.
4352 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4353 TYPE_WITH_CONFIGFILE_OPTION.
4354 (legacy_commands): Add bootp and dhcp.
4355 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4356 (grub_legacy_parse): Likewise.
4357 * grub-core/lib/priority_queue.c: New file.
4358 * grub-core/net/arp.c: Add missing license header.
4359 (arp_find_entry): Removed.
4360 (arp_find_entry): Likewise.
4361 (grub_net_arp_resolve): Rename to ...
4362 (grub_net_arp_send_request): ...this.
4363 (grub_net_arp_receive): New card argument.
4364 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4365 Set router and DNS server.
4366 (grub_net_configure_by_dhcp_ack): Handle routing information.
4367 (grub_cmd_bootp): Set checksum.
4368 (grub_bootp_init): Remove net_dhcp.
4369 * grub-core/net/dns.c: New file.
4370 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4371 completion.
4372 (get_card_packet): Handle allocation.
4373 (grub_efinet_findcards): Set mtu.
4374 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4375 (get_card_packet): Handle allocation.
4376 (emucard): Set mtu.
4377 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4378 (GRUB_MOD_INIT): Set mtu.
4379 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4380 mtu.
4381 (get_card_packet): Handle allocation.
4382 (grub_ofnet_findcards): Set mtu.
4383 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4384 assert.
4385 (grub_net_recv_ethernet_packet): Handle IPv6.
4386 * grub-core/net/http.c: New file.
4387 * grub-core/net/icmp.c: Likewise.
4388 * grub-core/net/icmp6.c: Likewise.
4389 * grub-core/net/ip.c (ip6addr): New type.
4390 (ip6hdr): Likewise.
4391 (reassemble): Likewise.
4392 (cmp): New function.
4393 (reassembles): New variable.
4394 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4395 (id): New variable.
4396 (send_fragmented): New function.
4397 (grub_net_send_ip_packet): Rename to ...
4398 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4399 Handle non-UDP.
4400 (grub_net_recv_ip_packets): Rename to ...
4401 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4402 (free_rsm): New function.
4403 (free_old_fragments): Likewise.
4404 (grub_net_recv_ip4_packets): New function.
4405 (grub_net_send_ip6_packet): Likewise.
4406 (grub_net_send_ip_packet): Likewise.
4407 (grub_net_recv_ip6_packets): Likewise.
4408 (grub_net_recv_ip_packets): Likewise.
4409 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4410 (LINK_LAYER_CACHE_SIZE): New const.
4411 (link_layer_find_entry): New function.
4412 (grub_net_link_layer_add_address): Likewise.
4413 (grub_net_link_layer_resolve_check): Likewise.
4414 (grub_net_link_layer_resolve): Likewise.
4415 (grub_net_ipv6_get_slaac): Likewise.
4416 (grub_net_ipv6_get_link_local): Likewise.
4417 (grub_cmd_ipv6_autoconf): Likewise.
4418 (parse_ip): Handle one number representation.
4419 (parse_ip6): New functoion.
4420 (match_net): Handle IPv6.
4421 (grub_net_resolve_address): Handle IPv6 and DNS.
4422 (grub_net_resolve_net_address): Handle IPv6.
4423 (route_cmp): New function.
4424 (grub_net_route_address): Find best route.
4425 (grub_net_addr_to_str): Handle IPv6.
4426 (grub_net_addr_cmp): New function.
4427 (grub_net_add_addr): Register local route.
4428 (print_net_address): Handle net address.
4429 (grub_net_poll_cards): Retransmit TCP.
4430 (grub_net_poll_cards_idle_real): Likewise.
4431 (have_ahead): New function.
4432 (grub_net_seek_real): Use underlying seek.
4433 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4434 * grub-core/net/tcp.c: New file.
4435 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4436 (cmp): New function.
4437 (ack): Likewise.
4438 (tftp_receive): Handle unordered input.
4439 (destroy_pq): New function.
4440 (tftp_close): Close pq.
4441 * grub-core/net/udp.c: Put missing license header.
4442 (grub_net_udp_socket): New function.
4443 (udp_socket_register): Likewise.
4444 (grub_net_udp_close): Likewise.
4445 (grub_net_recv_udp_packet): Check checksum.
4446 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4447 * include/grub/misc.h (grub_memchr): New function.
4448 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4449 (grub_net_card_driver): Return buf in recv.
4450 (grub_net_slaac_mac_list): New struct.
4451 (grub_network_level_protocol_id): Add ipv6.
4452 (grub_net_network_level_addr): Likewise.
4453 (grub_net_network_level_net_addr): Likewise.
4454 (grub_net_app_protocol): Add seek.
4455 (grub_net_socket): Removed.
4456 (grub_net_sockets): Likewise.
4457 (grub_net_socket_register): Likewise.
4458 (grub_net_socket_unregister): Likewise.
4459 (FOR_NET_SOCKETS): Likewise.
4460 (grub_net_add_addr): Add const.
4461 (GRUB_NET_BOOTP_*): New enum.
4462 (grub_net_addr_cmp): New proto.
4463 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4464 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4465 (grub_net_hwaddr_to_str): NEw proto.
4466 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4467 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4468 (grub_dns_init): New proto.
4469 (grub_dns_fini): Likewise.
4470 (grub_net_tcp_retransmit): Likewise.
4471 (grub_net_link_layer_add_address): Likewise.
4472 (grub_net_link_layer_resolve_check): Likewise.
4473 (grub_net_link_layer_resolve): Likewise.
4474 (grub_net_dns_lookup): Likewise.
4475 (grub_net_add_dns_server): Likewise.
4476 (grub_net_remove_dns_server): Likewise.
4477 (GRUB_NET_TRIES): New const.
4478 (GRUB_NET_INTERVAL): Likewise.
4479 * include/grub/net/arp.h: Mostly rewritten.
4480 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4481 * include/grub/net/ip.h: Mostly rewritten.
4482 * include/grub/net/netbuff.h: Indent.
4483 * include/grub/net/tcp.h: New file.
4484 * include/grub/net/udp.h: Mostly rewritten.
4485 * include/grub/priority_queue.h: New file.
4486 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4487 (grub_swap_bytes64_compile_time): Likewise.
4488 (grub_cpu_to_be16_compile_time): Likewise.
4489 (grub_cpu_to_be32_compile_time): Likewise.
4490 (grub_cpu_to_be64_compile_time): Likewise.
4491 (grub_be_to_cpu64_compile_time): Likewise.
4492
215c1800
VS
44932011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4496 UINT_TO_PTR with cast.
4497
c17e546c
VS
44982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4501 don't use them.
4502
ff6b18b6
VS
45032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4506 already there.
4507
70ffcc93
VS
45082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4511 confusing ipxe.
4512
e5f4d260
VS
45132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4516 Add missing const attribute.
4517 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4518 Likewise.
4519 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4520 Likewise.
4521
8e54b4b7
VS
45222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4525 misaligned access.
4526 (serpent_setkey): Likewise.
4527 (serpent_encrypt_internal): Likewise.
4528 (serpent_decrypt_internal): Likewise.
4529 (serpent_encrypt): Don't put an alignment-increasing cast.
4530 (serpent_decrypt): Likewise.
4531 (serpent_test): Likewise.
4532
813c0a2b
VS
45332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4536
f2b60fbd
VS
45372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4540
4541 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4542 grub_addr_t casts.
4543 (PTR_TO_UINT64): Likewise.
4544 (PTR_TO_UINT32): Likewise.
4545
5ef5c511
VS
45462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4549 because of stack.
4550 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4551 limit.
4552
c476e6df
VS
45532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4556 text_width > available width a bit more gracefully.
4557
384ad7cc
VS
45582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4561 current address calculation.
4562
96f8caf8
VS
45632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4566 stack.
4567 (encode_block): Likewise.
4568
276b7a8b
VS
45692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4572 certainety.
4573
e3fd394a
VS
45742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4577 non-RS part to avoid RS messing with GDT.
4578 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4579 Increase to suit in realmode routines.
4580
45812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/kern/i386/realmode.S: Increase alignment.
4584 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4585
ee9c2e7a
VS
45862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4589 be deterministic.
4590 (syndroms): Compute 0 syndrom.
4591 (rs_recover): Use 0 syndrom.
4592
7a7f7cc9
VS
45932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4596
a14b16d1
VS
45972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4600 brackets.
4601
9f59e9fc
VS
46022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4603
ca1b552c
VS
4604 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4605 account.
4606 (get_top_pad): Likewise.
4607 (get_right_pad): Likewise.
4608 (get_bottom_pad): Likewise.
4609
46102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4613
e739d698
VS
46142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4617 attribute as the structure isn't guaranteed to be properly aligned.
4618 (grub_efi_pci_device_path): Likewise.
4619 (grub_efi_pccard_device_path): Likewise.
4620 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4621 specify the size of `memory_type'.
4622 (grub_efi_vendor_device_path): Likewise.
4623 (grub_efi_controller_device_path): Likewise.
4624 (grub_efi_acpi_device_path): Likewise.
4625 (grub_efi_expanded_acpi_device_path): Likewise.
4626 (grub_efi_atapi_device_path): Likewise.
4627 (grub_efi_scsi_device_path): Likewise.
4628 (grub_efi_fibre_channel_device_path): Likewise.
4629 (grub_efi_1394_device_path): Likewise.
4630 (grub_efi_usb_device_path): Likewise.
4631 (grub_efi_usb_class_device_path): Likewise.
4632 (grub_efi_i2o_device_path): Likewise.
4633 (grub_efi_mac_address_device_path): Likewise.
4634 (grub_efi_ipv4_device_path): Likewise.
4635 (grub_efi_ipv6_device_path): Likewise.
4636 (grub_efi_infiniband_device_path): Likewise.
4637 (grub_efi_uart_device_path): Likewise.
4638 (grub_efi_vendor_messaging_device_path): Likewise.
4639 (grub_efi_hard_drive_device_path): Likewise.
4640 (grub_efi_cdrom_device_path): Likewise.
4641 (grub_efi_vendor_media_device_path): Likewise.
4642 (grub_efi_file_path_device_path): Likewise.
4643 (grub_efi_protocol_device_path): Likewise.
4644 (grub_efi_piwg_device_path): Likewise.
4645 (grub_efi_bios_device_path): Likewise.
4646
cb8f88ea
VS
46472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4650 (grub_ucs4_to_utf8_alloc): Likewise.
4651 (grub_ucs4_to_utf8): Likewise.
4652 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4653 (grub_ucs4_to_utf8_alloc): Likewise.
4654
309e5352
VS
46552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 AFFS never uses unicode.
4658
4659 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4660 (grub_latin1_to_utf8): New inline function.
4661 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4662
e7987e1b
VS
46632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4666 overflow.
4667
efc2616e
VS
46682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4671 (grub_squash_dirent_header): Likewise.
4672 (read_chunk): Don't double swap.
4673 (grub_squash_iterate_dir): Fix swap sizes.
4674
3c349f5a
VS
46752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4678
b453412d
VS
46792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4682 (grub_hfs_iterate_dir): Likewise.
4683
12e9d4d1
VS
46842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Fix video on platforms where unaligned access is forbidden.
4687 Make several optimisations while on it.
4688
4689 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4690 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4691 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4692 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4693 Disable.
4694 (grub_video_fbblit_replace_16bit_1bit):
4695 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4696 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4697 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4698 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4699 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4700 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4701 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4702 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4703 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4704 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4705 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4706 (grub_video_fbblit_replace_index_RGB888): Likewise.
4707 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4708 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4709 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4710 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4711 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4712 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4713 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4714 Disable.
4715 (grub_video_fbblit_blend_XXX565_1bit):
4716 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4717 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4718 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4719 void *.
4720 * grub-core/video/fb/video_fb.c (common_blitter)
4721 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4722 (grub_video_fb_create_render_target_from_pointer)
4723 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4724 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4725 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4726 definition.
4727 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4728
ace96609
VS
47292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4732 HH22 and HM10 relocations.
4733
fd261d73
VS
47342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4737
e59b7857
VS
47382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4741 allocation succeeded.
4742
9b4baaa4
VS
47432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4746 argument a u8 pointer. All users updated.
4747 Handle unaligned buffers.
4748
dc713193
VS
47492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4752 add_part to workaround compiler bug.
4753
30dd48c2
VS
47542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4757
0c6087a8
VS
47582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4761 Reserve alignment invariants.
4762 (grub_multiboot_load): Likewise.
4763 (retrieve_video_parameters): Likewise.
4764 (grub_multiboot_make_mbi): Likewise.
4765
c2e77777
VS
47662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4769 incorrect pointer.
4770
b70b6d11
VS
47712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4774 (grub_pata_pio_write): Likewise.
4775
02a2bf83
VS
47762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Add noreturn attributes and remove unreachable code.
4779
4780 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4781 code.
4782 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4783 code. Mark as noreturn.
4784 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4785 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4786 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4787 unreachable code.
4788 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4789 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4790 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4791 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4792 * include/grub/kernel.h (grub_main): Mark as noreturn.
4793 * include/grub/reader.h (grub_rescue_run): Likewise.
4794
2019d09e
VS
47952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4798 redundant declaration.
4799
d1c501ee
VS
48002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4803 redundant declaration.
4804 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4805
61664420
VS
48062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4809 to ensure alignment.
4810 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4811 alignment. Ensure tmp alignment.
4812 (grub_cmd_hdparm): Ensure buf alignment.
4813 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4814 to ensure alignment.
4815 (grub_ata_dumpinfo): Ensure text alignment.
4816 (grub_atapi_identify): Preserve alignment invariant.
4817 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4818
0d51ee20
VS
48192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4822 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4823 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4824 * include/grub/misc.h (grub_reboot)
4825 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4826 (grub_halt) [__mips__]: Likewise.
4827
753ef8c1
VS
48282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4831 Remove redundant declaration.
4832 (grub_mmap_get_post64): Likewise.
4833 (grub_mmap_get_upper): Likewise.
4834 (grub_mmap_get_lower): Likewise.
4835
85c85365
VS
48362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4839 uint32_t * to ensure alignment.
4840 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4841
a23f2cc4
VS
48422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4843
93018f64
VS
4844 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4845 uint16_t * to ensure alignment.
4846 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4847 alignment.
4848
48492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4852 to ensure alignment.
4853 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4854
58acccd6
VS
48552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4858 Handle unaligned pointers.
4859 (u32at): Likewise.
4860 (u64at): Likewise.
4861 (fixup): Use byte access instead of v16at.
4862 (find_attr): Fix imporper usage of v32at.
4863 (read_data): Likewise.
4864 (list_file): Handle byte-swapping and unaligned strings.
4865 (grub_ntfs_label): Likewise.
4866
9b05cad7
VS
48672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4870 as it's not necessarily aligned.
4871
b3950b84
VS
48722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4875 redundant declaration.
4876 (grub_serial_init): Likewise.
4877 (grub_terminfo_init): Likewise.
4878
fcd232b7
VS
48792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4882 function.
4883 (ZAP_HASH_IDX): Likewise.
4884 (ZAP_LEAF_HASH_SHIFT): Likewise.
4885 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4886 (LEAF_HASH): Likewise.
4887 (ZAP_LEAF_NUMCHUNKS): Likewise.
4888 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4889 alignment invariants. Return pointer. All users updated.
4890 (ZAP_LEAF_ENTRY): Make into inline function.
4891 (NBBY): Removed.
4892 (xor): LIkewise.
4893 (xor_out): Use grub_crypto_xor.
4894 (dnode_get_path): Use grub_get_unaligned.
4895 (nvlist_find_value): Likewise.
4896 (grub_zfs_nvlist_lookup_uint64): Likewise.
4897 (grub_zfs_nvlist_lookup_string): Likewise.
4898 (get_nvlist_size): Likewise.
4899 (grub_zfs_open): Likewise.
4900 (fill_fs_info): Likewise.
4901 (grub_zfs_dir): Likewise.
4902 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4903 alignment invariants.
4904 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4905 necessarily aligned.
4906
f138623a
VS
49072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4910
564840dc
VS
49112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4914 arithmetic to conserve alignment invariants.
4915
9b40df20
VS
49162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4919 redundant declaration.
4920 (grub_efiemu_mm_obtain_request): Likewise.
4921 (grub_efiemu_prepare): Likewise.
4922
d1c930f9
VS
49232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4926 to match types.
4927
4c5f3056
VS
49282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4931 case of aunaligned recptr.
4932 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4933 alignment.
4934 (grub_hfsplus_btree_search): Handle unaligned index.
4935
728cba91
VS
49362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4939 to get freetag and skip.
4940
eb561f31
VS
49412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4944 array.
4945 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4946 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4947
20993fbb
VS
49482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4951 name for checksum and fix allocation algorithm.
4952
1f313b94
VS
49532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * include/grub/types.h (grub_properly_aligned_t): New type.
4956 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4957 (grub_get_unaligned16): Add explicit casts.
4958 (grub_get_unaligned32): Likewise.
4959 (grub_get_unaligned64): Likewise.
4960 (grub_set_unaligned16): New function.
4961 (grub_set_unaligned32): Likewise.
4962
47ae27ec
VS
49632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4966
78c2cd1c
VS
49672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4970 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4971 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4972
53072f9b
VS
49732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4976 conditionals.
4977
055dc239
VS
49782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4981 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4982
496bd074
VS
49832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Unify and improve RAID and crypto xor.
4986
4987 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4988 changed to grub_crypto_xor
4989 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4990 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4991 Use bigger types when possible.
4992
ef6e4335
VS
49932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/disk/raid.c (scan_devices): Fix condition.
4996
5d048bf2
VS
49972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5000 Make name a const ptr.
5001
ee533335
VS
50022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5005 first argument a const pointer.
5006 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5007 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5008 proto.
5009 (grub_children_iterate): Likewise.
5010 (grub_machine_mmap_iterate): Remove redundant declaration.
5011
cc8f3668
VS
50122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5015 (grub_cmd_acpi) [!x86]: Disable EBDA.
5016
c5fc563a
VS
50172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Enable UTF8 in gnulib regexp.
5020
5021 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5022 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5023 (isupper): Use grub_isupper.
5024 (isascii): New inline function.
5025 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5026 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5027 * grub-core/normal/charset.c (grub_utf8_process): New function.
5028 (grub_utf8_to_utf16): Use grub_utf8_process.
5029 (grub_encode_utf8_character): New function.
5030 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5031 * include/grub/charset.h (grub_utf8_process): New declaration.
5032 (grub_encode_utf8_character): Likewise.
5033 * include/grub/misc.h (grub_islower): New inline function.
5034 (grub_isupper): Likewise.
5035 (grub_strchrsub): Moved down to fix the definitions.
5036
0af2346f
VS
50372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5040 specification.
5041
74dbd244
VS
50422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * include/grub/loader.h (grub_loader_register_preboot_hook):
5045 Use struct preboot * and not void * for handle. All users updated.
5046 (grub_loader_unregister_preboot_hook): Likewise.
5047
1bc8f60d
VS
50482011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5051 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5052 UTF-16-BE. All users updated.
5053 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5054 (grub_hfsplus_iterate_dir): Likewise.
5055 (grub_hfsplus_label): Likewise.
5056
48d6e456
VS
50572011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5060
bf3a3857
VS
50612011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 Add missing const qualifiers.
5064
5065 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5066 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5067 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5068 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5069 (grub_lvm_check_flag): Likewise.
5070 * grub-core/efiemu/i386/coredetect.c
5071 (grub_efiemu_get_default_core_name): Likewise
5072 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5073 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5074 * grub-core/fs/ntfs.c (fixup): Likewise.
5075 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5076 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5077 (fzap_lookup): Likewise.
5078 (zap_lookup): Likewise.
5079 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5080 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5081 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5082 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5083 (grub_freebsd_add_meta_module): Likewise.
5084 (grub_cmd_freebsd_module): Likewise.
5085 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5086 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5087 (grub_xnu_writetree_get_size): Likewise.
5088 (grub_xnu_writetree_toheap_real): Likewise.
5089 (grub_xnu_find_key): Likewise.
5090 (grub_xnu_create_key): Likewise.
5091 (grub_xnu_create_value): Likewise.
5092 (grub_xnu_register_memory): Likewise.
5093 (grub_xnu_check_os_bundle_required): Likewise.
5094 (grub_xnu_scan_dir_for_kexts): Likewise.
5095 (grub_xnu_load_kext_from_dir): Likewise.
5096 * grub-core/normal/color.c (color_list): Likewise.
5097 * grub-core/normal/completion.c (current_word): Likewise.
5098 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5099 * grub-core/term/serial.c (grub_serial_find): Likewise.
5100 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5101 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5102 Likewise.
5103 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5104 (grub_freebsd_add_meta_module): Likewise.
5105 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5106 * include/grub/net.h (grub_net_card_driver): Likewise.
5107 (grub_net_card): Likewise.
5108 (grub_net_app_protocol): Likewise.
5109 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5110 * include/grub/serial.h (grub_serial_find): Likewise.
5111 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5112 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5113 (grub_xnu_create_value): Likewise.
5114 (grub_xnu_find_key): Likewise.
5115 (grub_xnu_scan_dir_for_kexts): Likewise.
5116 (grub_xnu_load_kext_from_dir): Likewise.
5117
5118 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5119 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5120 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5121 Moved from here ...
5122 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5123
112b4837
CW
51242011-11-28 Colin Watson <cjwatson@ubuntu.com>
5125
5126 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5127
49e891ac
VS
51282011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5131 (read_device): Fix size calculation.
5132
fd258e5c
RM
51332011-11-25 Robert Millan <rmh@gnu.org>
5134
5135 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5136 (find_root_device_from_libzfs): Add zpool output parser to be used
5137 as fallback when libzfs isn't available.
5138
78845dc2
SG
51392011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5140
5141 * po/Makefile.in.in: Add missing escape-continuation.
5142
adac5211
VS
51432011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5146
10b64f1c
VS
51472011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5150
bb416954
VS
51512011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5154
bdfe9eeb
VS
51552011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5158
581ffa8a
VS
51592011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/lib/adler32.c: Add missing license specification.
5162 * grub-core/lib/crc64.c: Likewise.
5163 * grub-core/loader/i386/pc/plan9.c: Likewise.
5164 * grub-core/partmap/plan.c: Likewise.
5165
2536cf64
LK
51662011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5167
5168 Add facility to debug GRUB with gdb under qemu.
5169
5170 * grub-core/gdb_grub.in: New file.
5171 * grub-core/gmodule.pl.in: Likewise.
5172 * grub-core/Makefile.core.def (gmodule.pl): New script.
5173 (gdb_grub): Likewise.
5174
bc108a4a
VS
51752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * util/grub-mount.c (argp_parser): Accept relative pathes.
5178 * util/grub-fstest.c (argp_parser): Likewise.
5179
111c1778
VS
51802011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 Plan9 support.
5183
5184 * Makefile.util.def (libgrubmods): Add
5185 grub-core/partmap/plan.c.
5186 * docs/grub.texi: Notice Plan9 support.
5187 * grub-core/Makefile.core.def (plan9): New module.
5188 (part_plan): Likewise.
5189 * grub-core/loader/i386/pc/plan9.c: New file.
5190 * grub-core/partmap/plan.c: Likewise.
5191 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5192 define.
5193 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5194 * include/grub/mm.h (grub_extend_alloc): New inline function.
5195
c30be3b6
VS
51962011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Make Reed-Solomon faster by using power of generator representation of
5199 GF(256)*.
5200
5201 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5202 (gf_double_t): Likewise.
5203 (gf_invert): Removed.
5204 (gf_powx): New array.
5205 (gf_powx_inv): Likewise.
5206 (scratch): Move higher.
5207 (gf_reduce): Removed.
5208 (gf_mul): Use powx.
5209 (gf_invert): Likewise.
5210 (init_inverts): Replaced with ...
5211 (init_powx): ...this. All users updated.
5212 (pol_evaluate): Replace multiplications with additions.
5213 (rs_encode): Likewise.
5214 (gauss_eliminate): Call gf_invert.
5215 (grub_reed_solomon_add_redundancy): Call init_powx.
5216 (grub_reed_solomon_recover): Call init_powx unconditionally.
5217
fa5aeffc
VS
52182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5221
a346b81c
VS
52222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5225 disk->partiton for safety.
5226
d89ee414
VS
52272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5230 Fix a memory leak.
5231 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5232
91ee7b6d
VS
52332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5236
91e5a33d
VS
52372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5240
9edd7be2
VS
52412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 Fix spaces handling in proc/self/mountinfo.
5244
5245 * util/getroot.c (unescape): New function.
5246 (grub_find_root_device_from_mountinfo): Use unescape.
5247
ba102053
VS
52482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 Support ZFS embedding.
5251
5252 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5253 (grub_zfs_fs): Register grub_zfs_embed.
5254
aa94b870
VS
52552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 Fix MIPS compilation.
5258
5259 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5260 * include/grub/offsets.h: Rename decompressor fields from
5261 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5262 * util/grub-mkimage.c (image_targets): Use new names.
5263
5fbdac14
VS
52642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 Defer multiboot device parsing until we're in compressed part.
5267
5268 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5269 bsd_part. setdevice has fallen into disuse.
5270 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5271 (bsd_part): Likewise.
5272 (boot_dev): New variable.
5273 (multiboot_trampoline): Don't parse multiboot device.
5274 Pass multiboot device in %edx.
5275 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5276 grub_boot_device.
5277 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5278 Likewise.
5279 * grub-core/kern/i386/pc/startup.S: Save edx.
5280 (grub_boot_drive): Removed.
5281 (grub_install_dos_part): Likewise.
5282 (grub_install_bsd_part): Likewise.
5283 (grub_boot_device): New variable.
5284 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5285 (grub_install_bsd_part): Likewise.
5286 (grub_boot_drive): Likewise.
5287 (grub_boot_device): New variable.
5288 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5289 Removed.
5290 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5291 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5292 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5293 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5294 * util/grub-install.in: Remove redundant condition.
5295
691cbb58
VS
52962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 Fix bug introduced by previous commit.
5299
5300 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5301
60240b8b
VS
53022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 Use decompressors framework on i386-pc. It increases core size
5305 by 46 bytes but improves compatibility and maintainability.
5306
5307 * grub-core/Makefile.core.def (lzma_decompress): New image.
5308 (kernel): Add i386_pc_ldflags.
5309 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5310 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5311 to real_to_prot, prot_to_real and device info.
5312 * include/grub/offsets.h: Renamed decompressor offsets.
5313 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5314 (image_target_desc): Remove raw_size and rename decompressor fields.
5315 (compress_kernel): Handle lzma.
5316 (generate_image): Handle decompressors on i386-pc.
5317
e9d3421c
VS
53182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * configure.ac: Add -fno-asynchronous-unwind-tables.
5321
2b23074a
VS
53222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 Move assembly code to C by using intwrap. It increases core size
5325 by 88 bytes but improves compatibility and maintainability.
5326
5327 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5328 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5329 ... here. Translated to C.
5330 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5331 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5332 ... here. Translated to C.
5333 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5334 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5335 ... here. Translated to C.
5336 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5337 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5338 ... here. Translated to C.
5339 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5340 * grub-core/term/i386/pc/console.c (grub_console_cls):
5341 ... here. Translated to C.
5342 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5343 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5344 ... here. Translated to C.
5345 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5346 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5347 Translated to C.
5348 * grub-core/term/i386/pc/console.c (int10_9): New function.
5349 (grub_console_putchar): Likewise.
5350 * include/grub/i386/pc/console.h: Removed the not anymore shared
5351 functions.
5352
678f4b67
VS
53532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Move grub_chainloader_real_boot out of the kernel.
5356
5357 * grub-core/Makefile.am: Remove machine/loader.h.
5358 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5359 Removed.
5360 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5361 variable.
5362 (grub_relocator16_keep_a20_enabled): Likewise.
5363 (grub_relocator16_boot): Fill new variables.
5364 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5365 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5366 relocator.
5367 (grub_chainloader_unload): Likewise.
5368 (grub_chainloader_cmd): Likewise.
5369 * include/grub/i386/pc/loader.h: Removed.
5370 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5371 and esi. All initialisers updated.
5372
4626edf6
VS
53732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
53742011-11-12 Colin Watson <cjwatson@ubuntu.com>
5375
5376 * Makefile.util.def (grub-mount): New util.
5377 * .bzrignore: Add grub-mount.
5378 * configure.ac: Check for fuse and enable grub-mount if available.
5379 * docs/man/grub-mount.h2m: New file.
5380 * util/grub-mount.c: Likewise.
5381
10f0117b
VS
53822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/commands/efi/fixvideo.c: Gettextize.
5385 * grub-core/commands/hashsum.c: Likewise.
5386 * grub-core/commands/i386/cmostest.c: Likewise.
5387 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5388 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5389 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5390 * grub-core/commands/lsmmap.c: Likewise.
5391 * grub-core/commands/menuentry.c: Likewise.
5392 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5393 * grub-core/commands/setpci.c: Likewise.
5394 * grub-core/loader/i386/bsd.c: Likewise.
5395 * grub-core/loader/i386/linux.c: Likewise.
5396 * util/getroot.c: Likewise.
5397 * util/grub-editenv.c: Likewise.
5398 * util/grub-fstest.c: Likewise.
5399 * util/grub-mkfont.c: Likewise.
5400 * util/grub-mkimage.c: Likewise.
5401 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5402 * util/grub-pe2elf.c: Likewise.
5403 * util/grub-probe.c: Likewise.
5404 * util/grub-setup.c: Likewise.
5405 * util/ieee1275/ofpath.c: Likewise.
5406 * util/misc.c: Likewise.
5407 * util/raid.c: Likewise.
5408
566f779b
RM
54092011-11-11 Robert Millan <rmh@gnu.org>
5410
5411 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5412 __attribute__((unused)) from `os_dev', which *is* being used.
5413
b50787de
VS
54142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5417 forgotten define.
5418 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5419 GRUB_IA64_DL_GOT_ALIGN.
5420 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5421 GRUB_IA64_DL_TRAMP_ALIGN.
5422
119d11c8
VS
54232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 Replace grub_fatal with normal errors in i386 linux loader.
5426
5427 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5428 (allocate_pages): Check find_efi_mmap_size return value.
5429 (grub_e820_add_region): Return error.
5430 (grub_linux_boot): Check mmap return value.
5431
6e0632e2
VS
54322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/commands/acpihalt.c: Gettextized.
5435 * grub-core/commands/cacheinfo.c: Likewise.
5436 * grub-core/commands/cmp.c: Likewise.
5437 * grub-core/commands/efi/loadbios.c: Likewise.
5438 * grub-core/commands/gptsync.c: Likewise.
5439 * grub-core/commands/ieee1275/suspend.c: Likewise.
5440 * grub-core/commands/legacycfg.c: Likewise.
5441 * grub-core/commands/memrw.c: Likewise.
5442 * grub-core/commands/minicmd.c: Likewise.
5443 * grub-core/commands/parttool.c: Likewise.
5444 * grub-core/commands/time.c: Likewise.
5445 * grub-core/commands/videoinfo.c: Likewise.
5446 * grub-core/disk/geli.c: Likewise.
5447 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5448 * grub-core/disk/luks.c: Likewise.
5449 * grub-core/disk/lvm.c: Likewise.
5450 * grub-core/font/font_cmd.c: Likewise.
5451 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5452 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5453 * grub-core/gfxmenu/view.c: Likewise.
5454 * grub-core/kern/emu/hostdisk.c: Likewise.
5455 * grub-core/kern/emu/main.c: Likewise.
5456 * grub-core/kern/emu/misc.c: Likewise.
5457 * grub-core/kern/emu/mm.c: Likewise.
5458 * grub-core/kern/mips/arc/init.c: Likewise.
5459 * grub-core/kern/mips/loongson/init.c: Likewise.
5460 * grub-core/kern/partition.c: Likewise.
5461 * grub-core/lib/i386/halt.c: Likewise.
5462 * grub-core/lib/mips/arc/reboot.c: Likewise.
5463 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5464 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5465 * grub-core/loader/i386/xnu.c: Likewise.
5466 * grub-core/loader/multiboot.c: Likewise.
5467 * grub-core/net/bootp.c: Likewise.
5468 * grub-core/net/net.c: Likewise.
5469 * grub-core/normal/term.c: Likewise.
5470 * grub-core/partmap/bsdlabel.c: Likewise.
5471 * grub-core/parttool/msdospart.c: Likewise.
5472 * grub-core/term/gfxterm.c: Likewise.
5473 * grub-core/term/terminfo.c: Likewise.
5474 * grub-core/video/i386/pc/vbe.c: Likewise.
5475 * util/grub-menulst2cfg.c: Likewise.
5476 * util/grub-mkdevicemap.c: Likewise.
5477 * util/grub-mklayout.c: Likewise.
5478 * util/grub-mkrelpath.c: Likewise.
5479 * util/grub-script-check.c: Likewise.
5480 * util/ieee1275/grub-ofpathname.c: Likewise.
5481 * util/resolve.c: Likewise.
5482
073aa7a9
VS
54832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Support %1$d syntax.
5486
5487 * tests/printf_unit_test.c: New file.
5488 * Makefile.util.def (printf_test): New test.
5489 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5490
c76b5417
VS
54912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5494 fix.
5495
df067ad1
VS
54962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5499 dprintf.
5500 * grub-core/font/font.c (grub_font_load): Likewise.
5501
5b289bc5
VS
55022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * util/grub-macho2img.c: Add comment concerning gettext.
5505 * grub-core/lib/legacy_parse.c: Likewise.
5506
c1860f87
VS
55072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5510 (grub_xvasprintf): Likewise.
5511
d35d0d37
VS
55122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Add const keyword to grub_env_get and gettextize week days.
5515
5516 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5517 (grub_read_hook_datetime): Return const char *.
5518 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5519 updated.
5520 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5521 Mark for gettext.
5522 (grub_get_weekday_name): Return const char *. Call gettext.
5523 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5524 char * and len as the argument. All users updated.
5525 (grub_script_argv_split_append): Receive const char *.
5526 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5527 * include/grub/env.h (grub_env_get): Likewise.
5528 (grub_env_read_hook_t): Return const char *.
5529 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5530 (grub_script_argv_split_append): Likewise.
5531
9aed8a71
VS
55322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5535
067fdf00
VS
55362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5539 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5540
a8bd9d39
VS
55412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5544 Fix prototype.
5545
f7ce5baf
VS
55462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Fix mips compilation.
5549
5550 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5551 normal decoder.
5552 (hashes): Use in embed decoder as well (for sizes).
5553 (dec_stream_header): Fix embed decompressor logic.
5554 (dec_stream_footer): Likewise.
5555
9bb182f3
VS
55562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5559 an error and not a fatal on unrecognised relocation types.
5560
63a9e6f6
VS
55612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5564 Issue error rather than printf on unknown arguments.
5565
4c458569
VS
55662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5569 Make buf a const.
5570
e2d22baf
VS
55712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5574 Fix module name.
5575
53dc8590
VS
55762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5579 leftover debug printf.
5580
6c189294
VS
55812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5584
f7688369
VS
55852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5588 A stylistic fix.
5589
11a775a3
VS
55902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5593
33f784e8
SL
55942011-11-10 Shea Levy <slevy@tieronedesign.com>
5595
5596 Allow all modules to perform serial IO
5597
5598 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5599 * include/grub/serial.h (grub_serial_port_configure): New inline
5600 function.
5601 (grub_serial_port_fetch): Likewise.
5602 (grub_serial_port_put): Likewise.
5603 (grub_serial_port_fini): Likewise.
5604 (grub_serial_find): New proto.
5605
f6276525
VS
56062011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 Put symlink at the end of the node and fix a potential
5609 memory corruption.
5610
5611 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5612 Make symlink into an array.
5613 (set_rockridge): Set have_symlink and alloc_dirents.
5614 (grub_iso9660_read_symlink): Use new layout.
5615 (grub_iso9660_iterate_dir): Fix memory corruption.
5616 Use new layout.
5617 (grub_iso9660_dir): Set have_symlink.
5618 (grub_iso9660_open): Likewise.
5619
c3591189
VS
56202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Remove local keyword.
5623
5624 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5625 (version_test_gt): Likewise.
5626 (version_find_latest): Likewise.
5627 (gettext_printf): Likewise.
5628 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5629
cb544caa
VS
56302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5633
45bd824d
VS
56342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 Fix ZFS memory and resource leaks.
5637
5638 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5639 All users updated.
5640 Free type on exit.
5641 (fill_vdev_info): New parameter inserted. All users updated.
5642 (check_pool_label): Likewise.
5643 (scan_disk): Likewise.
5644 (scan_devices): Close non-inserted disks.
5645 (fzap_iterate): Free l.
5646 (unmount_device): Free children descripto memory.
5647
ad9a2f44
VS
56482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5651 argument (access out of bounds).
5652
6b68db81
VS
56532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5656 >= 6 drives.
5657
28840fda
VS
56582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5661 Fix declaration.
5662
8a5a3a5b
VS
56632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Fix several memory leaks.
5666
5667 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5668 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5669 (grub_cpio_dir): Likewise.
5670 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5671 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5672 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5673 (grub_romfs_label): Likewise.
5674 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5675 (squash_unmount): New function.
5676 (grub_squash_dir): Fix memory leak.
5677 (grub_squash_open): Likewise.
5678 (grub_squash_read): Likewise.
5679 (grub_squash_mtime): Likewise.
5680 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5681 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5682 * util/grub-fstest.c (fstest): Likewise.
5683
57b01250
VS
56842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5687 avoid accessing beyond the array.
5688
19e81ba7
VS
56892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5692
52b656c0
VS
56932011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Several AFFS fixes.
5696
5697 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5698 (GRUB_AFFS_FLAG_FFS): Removed.
5699 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5700 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5701 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5702 (grub_fshelp_node): Make block 32-bit.
5703 Add block_cache and last_block_cache.
5704 (grub_affs_read_block): Fill and use block cache.
5705 (grub_affs_read_file): Removed.
5706 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5707 boot block.
5708 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5709 safety.
5710 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5711 space.
5712 (grub_affs_close): Free block cache.
5713 (grub_affs_read): Use grub_fshelp_read_file directly.
5714
438a746a
VS
57152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5718 with no error set.
5719
49a45021
VS
57202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5723 used variable.
5724 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5725 Likewise.
5726
3ae17eb8
VS
57272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5730
5731 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5732 byteswap when needed.
5733
27610c38
VS
57342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Fix FreeBSD compilation.
5737
5738 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5739 to avoid circular dependency.
5740 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5741 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5742 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5743
4a19b601
VS
57442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 Fix ZFS crypto error types.
5747
5748 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5749 (grub_gcm_decrypt): Likewise.
5750 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5751 from PBKDF2.
5752
958ee221
VS
57532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Illumos support.
5756
5757 * Makefile.util.def (10_illumos): New script.
5758 * configure.ac: Set COND_HOST_ILLUMOS.
5759 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5760 Support Illumos calls.
5761 (find_partition_start) [__sun__]: Likewise.
5762 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5763 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5764 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5765 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5766 device.
5767 * util/grub-probe.c (probe) [__sun__]: Do character check.
5768 * util/grub.d/10_illumos.in: New file.
5769
cac14fb6
VS
57702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 Support escaped commas in hostdisk.
5773
5774 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5775 (find_grub_drive): Use unescape_cmp.
5776 (make_device_name): Escape commas.
5777
78e08dc3
VS
57782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5781
9f421dd1
VS
57822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5785 variable.
5786
ed64e9e2
VS
57872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 Support trampoline jumps on powerpc.
5790
5791 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5792 __ia64__ path.
5793 (grub_dl_load_segments): Set mod->sz.
5794 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5795 segments.
5796 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5797 (jump): Likewise.
5798 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5799 function.
5800 (trampoline): New struct.
5801 (trampoline_template): New const.
5802 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5803 * include/grub/dl.h (grub_dl): Add sz element.
5804 [__powerpc__]: Follow __ia64__.
5805 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5806 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5807 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5808 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5809
3084ede4
VS
58102011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 ZFS crypto support.
5813
5814 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5815 * grub-core/Makefile.core.def (zfscrypt): New module.
5816 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5817 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5818 it. All users updated.
5819 (grub_zfs_decrypt): New var.
5820 (grub_zfs_load_key): Likewise.
5821 (zio_checksum_functions): Add SHA256+MAC.
5822 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5823 (zio_read): Handle encrypted blocks.
5824 (zap_verify): Remove incorrect check.
5825 (fzap_iterate): Handle non-standard fzap.
5826 (zap_iterate): Likewise.
5827 (zap_iterate_u64): New function.
5828 (dnode_get_fullpath): Load keys.
5829 * grub-core/fs/zfs/zfscrypt.c: New file.
5830 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5831 (grub_crypto_ecb_encrypt): Make input const.
5832 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5833 (grub_crypto_ecb_encrypt): Make input const.
5834 (GRUB_CIPHER_AES): New macro.
5835 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5836 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5837 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5838 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5839 prefix. All users updated.
5840 (grub_zfs_add_key): New proto.
5841 (grub_zfs_decrypt): Likewise.
5842 (grub_zfs_load_key): Likewise.
5843 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5844 * util/grub-fstest.c (options): Add -K option.
5845 (argp_parser): Likewise.
5846
b632b404
VS
58472011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Support zle compression on ZFS.
5850
5851 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5852 (decomp_table): Add zle.
5853 * include/grub/zfs/zio.h (zio_compress): Add zle.
5854
c7ba4f69
VS
58552011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 Support BtrFS embedding.
5858
5859 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5860 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5861 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5862 * util/grub-setup.c (setup): Use fs embedding if available.
5863 Add additional sanity check.
5864
455377d9
VS
58652011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * util/grub-install.in: Fix condition for config_opt.
5868
c2fd16ca
VS
58692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Support third redundancy strip on raidz3.
5872
5873 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5874 Return error on singularity. All users updated.
5875 (read_device): Don't stop on 3rd failure on raidz3.
5876
8622923b
VS
58772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 Support case-insensitive ZFS subvolumes.
5880
5881 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5882 All users updated.
5883 (zap_hash): Likewise.
5884 (name_cmp): New function.
5885 (zap_leaf_array_equal): New parameter case_insensitive.
5886 All users updated.
5887 (zap_leaf_lookup): Likewise.
5888 (fzap_lookup): Likewise.
5889 (zap_lookup): Likewise.
5890 (dnode_get_path): New parameter case_insensitive. Retrieve case
5891 sensitiviness of a volume. All users updated.
5892 (dnode_get_fullpath): New parameter case_insensitive.
5893 All users updated.
5894 (grub_zfs_dir): Set info.case_insensitiveness.
5895
95f2e860
VS
58962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 Support second redundancy strip on raidz(2,3).
5899
5900 * grub-core/fs/zfs/zfs.c (powx): New array.
5901 (powx_inv): Likewise.
5902 (poly): New const.
5903 (xor_out): New function.
5904 (gf_mul): Likewise.
5905 (recovery): Likewise.
5906 (read_device): Use second redundancy strip.
5907
11ee4389
VS
59082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 Use a power of generator representation of GF(256) multiplication group
5911 to save space time and complexity.
5912
5913 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5914 (raid6_table2): Likewise.
5915 (powx): New array.
5916 (powx_inv): Likewise.
5917 (poly): New const.
5918 (grub_raid_block_mul): Replace with ...
5919 (grub_raid_block_mulx): ...this.
5920 (grub_raid6_init_table): Rewritten.
5921 (grub_raid6_recover): Use power of generator representation.
5922
09e2763f
VS
59232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5926 for the right device.
5927
8bec9a28
VS
59282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5931 expected by grub-mkimage and it's more clear since there is no implicit
5932 padding.
5933
dbd3a32e
VS
59342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5937 disk.
5938 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5939
182c872a
PMH
59402011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5941
5942 * util/grub-mkrescue.in: Fix handling xorriso option.
5943
1e51cabd
VS
59442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5947 NULL.
5948
9cc3581d 59492011-11-03 crocket <crockabiscuit@gmail.com>
5950
5951 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5952
158dc1ea
VS
59532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 XZ CRC64 and SHA256 support.
5956
5957 * Makefile.util.def (libgrubmods): Add crc64.c.
5958 * grub-core/Makefile.core.def (crc64): New module.
5959 * grub-core/lib/crc64.c: New file.
5960 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5961 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5962 Fix the type.
5963 (MAX_HASH_SIZE): New define.
5964 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5965 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5966 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5967 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5968 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5969 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5970 Handle non-crc32 hashes.
5971 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5972 (dec_stream_header): Handle non-crc32 hashes.
5973 (dec_stream_footer): Likewise.
5974 (dec_block_header): Likewise.
5975 (dec_main): Likewise.
5976 (xz_dec_init): Likewise.
5977 (xz_dec_reset): Likewise.
5978 (xz_dec_end): Likewise.
5979 * util/import_gcry.py: Add CRC64 line.
5980
9d9b3d2f
VS
59812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5984 as well.
5985
7d0ac931
VS
59862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Make reiserfs label retrieval similar to other *_label functions.
5989
5990 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5991 (REISERFS_MAX_LABEL_LENGTH): Removed.
5992 (REISERFS_LABEL_OFFSET): Likewise.
5993 (grub_reiserfs_label): Rewritten.
5994
59952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5998 field.
5999
cf5ba824
VS
60002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6003
17744004
VS
60042011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6007 drive failure on both raidz and raidz2.
6008
aca5aefc
VS
60092011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Fix RAIDZ(2) for >= 5 devices.
6012
6013 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6014 asize argument. All users updated.
6015
ce8ca56e
VS
60162011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 Fix RAIDZ(2).
6019
6020 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6021 (fill_vdev_info_real): Set ashift.
6022 (read_device): Rewrite RAIDZ part based on reverse engineering.
6023
7c01e783
VS
60242011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6027 don't report potentially unavialiable fields in debug output.
6028 (find_path): Fix double-free and memory leak.
6029
ce109e84
VS
60302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 Read label on UFS1.
6033
6034 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6035 (grub_ufs_fs): Always set .label.
6036
87661123
VS
60372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Use shifts in UFS.
6040
6041 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6042 (grub_ufs_data): New field log2_blksz.
6043 (grub_ufs_read_file): Use shifts.
6044 (grub_ufs_mount): Check block size and logarithm it.
6045
46bc1dc2
VS
60462011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6049 long symlinks.
6050
19ee2987
VS
60512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 Handle symlinks and long names on tar and cpio.
6054
6055 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6056 (ATTR_FILE): Likewise.
6057 (ATTR_DIR): Likewise.
6058 (ATTR_LNK): Likewise.
6059 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6060 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6061 L and K entries.
6062 (grub_cpio_mount): Zero-fill data.
6063 (handle_symlink): New function.
46bc1dc2
VS
6064 (grub_cpio_dir): Handle symlinks.
6065 (grub_cpio_open): Likewise.
6066 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6067
c83a08d8
VS
60682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Fix iso9660 filename limitations and fix memory leaks.
6071
6072 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6073 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6074
45cdd3ea
VS
60752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 Fix JFS file name length limitations.
6078
6079 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6080 (grub_jfs_diropen): Fix maximum filename length.
6081 (grub_jfs_getent): Fix filename length.
6082 (grub_jfs_lookup_symlink): Fix size checks.
6083
94ef05c2
VS
60842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6087 string.
6088
785ab8c7
VS
60892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6090
eb0b6b45
VS
6091 Leverage BFS implementation to read AFS.
6092
6093 * Makefile.util.def (libgrubmods): Add afs.c.
6094 * grub-core/Makefile.core.def (afs): New module
6095 * grub-core/fs/afs.c: New file.
6096 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6097
60982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6101
c4a1628f
VS
61022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/fs/bfs.c: Run indent.
6105
5825b379
VS
61062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 BFS implementation based on the specification.
6109
6110 * grub-core/fs/bfs.c: New file.
6111 * Makefile.util.def (libgrubmods): Add bfs.c.
6112 * grub-core/Makefile.core.def (bfs): New module.
6113
42b2a706
VS
61142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * util/grub-fstest.c (cmd_cp): Clarify error message.
6117 (cmd_cmp): Likewise.
6118
61b99bfc
YB
61192011-10-30 Yves Blusseau <blusseau@zetam.org>
6120
6121 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6122 and befs_be.
6123
faba3d16
VS
61242011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Remove afs and befs because of copyright problem.
6127
6128 * grub-core/fs/afs.c: Removed.
6129 * grub-core/fs/afs_be.c: Removed.
6130 * grub-core/fs/befs.c: Removed.
6131 * grub-core/fs/befs_be.c: Removed.
6132 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6133 * grub-core/Makefile.core.def (afs): Removed.
6134 (afs_be): Likewise.
6135 (befs): Likewise.
6136 (befs_be): Likewise.
6137
c39224b0
VS
61382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 Prefer rockridge over Joliet.
6141
6142 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6143 to ...
6144 (set_rockridge): ... here.
6145 (grub_iso9660_mount): Check rockridge on the primary label when
6146 discovering. Ignore Joliet if Rockridge is present.
6147
e551115a
VS
61482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 Use shifts in nilfs2.
6151
6152 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6153 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6154 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6155 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6156 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6157 (grub_nilfs2_entries_per_block): Replaced with ...
6158 (grub_nilfs2_log_entries_per_block_log): ... this.
6159 (grub_nilfs2_blocks_per_group): Replaced with ...
6160 (grub_nilfs2_blocks_per_group_log): ... this.
6161 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6162 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6163 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6164 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6165 (grub_nilfs2_palloc_entry_offset): Replaced ...
6166 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6167 (grub_nilfs2_dat_translate): Use shifts.
6168 (grub_nilfs2_read_inode): Likewise.
6169 (GRUB_MOD_INIT): Ensure that logs are correct.
6170
564dd58c
VS
61712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Use shifts in minix filesystem.
6174
6175 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6176 (GRUB_MINIX_ZONE2SECT): Likewise.
6177 (grub_minix_data): Replace block_size with log_block_size.
6178 (grub_minix_read_file): Use shifts.
6179 (grub_minix_mount): Check block size and take a logarithm.
6180
ed9ba06d
VS
61812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Use shifts in squash4.
6184
6185 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6186 (squash_mount): Check block size and take logarithm.
6187 (direct_read): Use shifts.
6188
ad03fe76
VS
61892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 Correct befs block counting logic.
6192
6193 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6194 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6195 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6196 (grub_afs_read_inode): Use block_shift.
6197 (RANGE_SHIFT): New definition.
6198 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6199 unexpected conditions, use shifts and appropriate types.
6200 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6201
6563f63d
VS
62022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/disk/raid.c (scan_devices): Check partition.
6205 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6206
5b1ae25f
VS
62072011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 Support BFS (befs) UUID.
6210
6211 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6212 (grub_afs_small_data_element_header): New struct.
6213 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6214 (grub_afs_read_attribute) [MODE_BFS]: New function.
6215 (grub_afs_iterate_dir): Allocate for complete inode.
6216 (grub_afs_mount): Likewise.
6217 (grub_afs_uuid) [MODE_BFS]: New function.
6218 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6219
f8d82408
VS
62202011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6223 (zfs_unmount): Fix memory leak.
6224
5773fb64
VS
62252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Support NTFS reparse points.
6228
6229 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6230 (symlink_descriptor): New struct.
6231 (grub_ntfs_read_symlink): New function.
6232 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6233 (grub_ntfs_open): Likewise.
6234
91c3fdde
VS
62352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6238
3be82e10
VS
62392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 fstest xnu_uuid subcommand.
6242
6243 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6244 grub-core/commands/xnu_uuid.c.
6245 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6246 (fstest): Handle xnu_uuid.
6247 (options): Document xnu_uuid.
6248 (argp_parser): Parse xnu_uuid.
6249
8e32442e
VS
62502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6253 -l argument. Add newline at the end if printing.
6254 (GRUB_MOD_INIT): Document -l.
6255
52a05075
VS
62562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6259
1869edb5
VS
62602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 ZFS multi-device and version 33 support.
6263
6264 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6265 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6266 (grub_zfs_data): Add multidev-ice-related fields.
6267 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6268 (dva_get_offset): Make dva const.
6269 (zfs_fetch_nvlist): New function.
6270 (fill_vdev_info_real): Likewise.
6271 (fill_vdev_info): Likewise.
6272 (check_pool_label): Likewise.
6273 (scan_disk): Likewise.
6274 (scan_devices): Likewise.
6275 (read_device): Likewise.
6276 (read_dva): Likewise.
6277 (zio_read_gang): Use read_dva.
6278 (zio_read_data): Likewise.
6279 (zap_leaf_lookup): Add missing endian conversion.
6280 (zap_verify): Add missing endian conversion. All users updated.
6281 (fzap_lookup): Likewise.
6282 (fzap_iterate): Likewise.
6283 (dnode_get_path): Handle SA bonus.
6284 (nvlist_find_value): Make input const. All users updated.
6285 (unmount_device): New function.
6286 (zfs_unmount): Use unmount_device.
6287 (zfs_mount): Use scan_disk.
6288 (zfs_mtime): New function.
6289 (grub_zfs_open): Handle system attributes.
6290 (fill_fs_info): Likewise.
6291 (grub_zfs_dir): Likewise.
6292 (grub_zfs_fs): Add mtime.
6293 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6294 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6295 (SA_MTIME_OFFSET): Likewise.
6296 (SA_SYMLINK_OFFSET): Likewise.
6297 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6298 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6299 (fstest): Support zfsinfo.
6300 (argp_parser): Likewise.
6301
186b4028
VS
63022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6305 error.
6306
63072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6308
6309 ZFS fixes.
6310
6311 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6312 sharing the same block. Iterate over correct number of indices.
6313 (dnode_get_path): Handle symlinks correctly.
6314
c0584900
VS
63152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6318
67e2bd71
VS
63192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Read label on HFS+.
6322
6323 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6324 (grub_hfsplus_btree_search): Fix types.
6325 (grub_hfsplus_label): Implement.
6326
e9cc6b7b
VS
63272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6330
19832ddb
VS
63312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6334
66b40850
VS
63352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 Fix symlink handling on iso9660.
6338
6339 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6340 All users updated.
6341 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6342 (grub_iso9660_read_symlink): Moved most of code ...
6343 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6344
db821363
VS
63452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6348 Use union to avoid breaking strict-aliasing rules.
6349
e1211949
VS
63502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 Support multi-extent iso files.
6353
6354 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6355 Add node.
6356 (grub_fshelp_node): Revamp. All users updated.
6357 (FLAG_*): New enum.
6358 (read_node): New function.
6359 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6360 All users updated.
6361 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6362 (get_node_size): New function.
6363 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6364 entries.
6365 Fix memory leak on . and ..
6366 (grub_iso9660_read): Use read_node.
6367 (grub_iso9660_close): Free node.
6368
d4888031
VS
63692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 Fix tar 4G limit and handle paths containing dot.
6372
6373 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6374 (canonicalize): New function.
6375 (grub_cpio_find_file): Use canonicalize. Store offs in
6376 grub_disk_addr_t.
6377 (grub_cpio_dir): Use grub_disk_addr_t.
6378 (grub_cpio_open): Likewise.
6379
9f12e664
VS
63802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6383
6384 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6385 unused flags.
6386 (grub_squash_inode): Add long_file and block_size.
6387 (grub_squash_cache_inode): New struct.
6388 (grub_squash_dirent): Make types into enum.
6389 (SQUASH_TYPE_LONG_REGULAR): New type.
6390 (grub_squash_frag_desc): Add field size.
6391 (SQUASH_BLOCK_FLAGS): New enum.
6392 (grub_squash_data): Use grub_squash_cache_inode.
6393 (grub_fshelp_node): Make ino_chunk 64-bit.
6394 (read_chunk): Minor argument change. All users updated.
6395 (squash_mount): Use correct le_to_cpu.
6396 (grub_squash_open): Handle LONG_REGULAR.
6397 (direct_read): New function.
6398 (grub_squash_read_data): Handle blocks correctly.
6399
9f326fba
VS
64002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6403
f4d9b64b
VS
64042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6407
5bbd28b8
VS
64082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 Fix 2G limit on ZFS.
6411
6412 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6413 types.
6414 (uberblock_verify): Likewise.
6415 (dmu_read): Likewise.
6416 (grub_zfs_read): Likewise. Remove invalid cast.
6417
68c72069
VS
64182011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6421 (grub_jfs_blkno): Fix incorrect shift.
6422 (grub_jfs_read_file): Use more appropriate types.
6423
6e536dc8
VS
64242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 Support triple indirect on minix2 and minix3.
6427
6428 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6429 Declare triple_indir_zone.
6430 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6431 indirect.
6432
e0864e7a
VS
64332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Minix FS fixes.
6436
6437 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6438 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6439 Rename ctime to mtime. All users updated.
6440 (grub_minix_get_file_block): Fix types and double indirect computations.
6441
89481cab
VS
64422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6445 if no label is found.
6446 (grub_fat_iterate_dir): Fix file size type.
6447 (grub_fat_iterate_dir): Likewise.
6448
f646e143
VS
64492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6452 save some space.
6453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6454 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6455
534d769e
VS
64562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6459
e084ba18
VS
64602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * util/import_gcry.py: Accept space between # and include.
6463
3471ecdf
VS
64642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6467
124df5f6
VS
64682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6471
6472 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6473 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6474 yylex_strncpy.
6475 * grub-core/script/yylex.l: Add fine-grained #pragma.
6476
4defb8d5
VS
64772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6480 New inline function.
6481 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6482 Likewise.
6483 (memset) [GRUB_UTIL]: Likewise.
6484 (memcmp) [GRUB_UTIL]: Likewise.
6485
4e94ae65
VS
64862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6489 inline function rather than a define.
6490
18c575e5
VS
64912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * util/grub-setup.c: Add missing include.
6494
f8bc22a8
VS
64952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * util/ieee1275/grub-ofpathname.c: Add missing include.
6498
3ce69fc9
VS
64992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6502 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6503 Likewise.
6504
d1e293bb
VS
65052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6508 grub_memcmp usage.
6509
7a5c54a4
VS
65102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * util/grub-install.in: Add datarootdir as per automake manual
6513 suggestion.
6514 * util/grub-mknetdir.in: Likewise.
6515
65162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6517
6518 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6519 suggestion.
6520 * util/grub.d/10_kfreebsd.in: Likewise.
6521 * util/grub.d/10_linux.in: Likewise.
6522 * util/grub.d/10_netbsd.in: Likewise.
6523 * util/grub.d/10_windows.in: Likewise.
6524 * util/grub.d/20_linux_xen.in: Likewise.
6525
766f7d08
VS
65262011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 Remove redundant grub_kernel_image_size.
6529
6530 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6531 _edata and _start.
6532 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6533 the small code. It moves it only by few bytes but simplifies the code.
6534 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6535 _start.
6536 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6537 (grub_kernel_image_size): Removed.
6538 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6539 (grub_kernel_image_size): Removed.
6540 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6541 compiled with Apple toolchain.
6542 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6543 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6544 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6545 (grub_total_module_size): Likewise.
6546 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6547 Removed.
6548 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6549 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6550 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6551 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6552 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6553 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6554 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6555 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6556 Removed.
6557 (grub_total_module_size): Removed.
6558 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6559 (image_targets): Likewise.
6560 Set .compressed_size to no field on sparc.
6561 (generate_image): Remove kernel_image_size handling.
6562
fcf1d672
SJ
65632011-10-19 Szymon Janc <szymon@janc.net.pl>
6564
6565 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6566 NULL pointer dereference.
6567
de9c615e
VS
65682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6571 done with a dedicated section.
6572
6573 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6574 Ensure the correct position of boot_path.
6575 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6576 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6577 other fields.
6578 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6579 * include/grub/boot.h: Removed. All references removed.
6580 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6581 Removed.
6582 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6583
e55599dc
VS
65842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6587 name.
6588
36dd20ad
VS
65892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6592
f8f72eb8
VS
65932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6596 Don't add the bogus brackets.
6597
a374751b
VS
65982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 ExFAT support.
6601
6602 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6603 * grub-core/Makefile.core.def (exfat): New module.
6604 * grub-core/fs/exfat.c: New file.
6605 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6606 (GRUB_FAT_ATTR_*): Make into an enum.
6607 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6608 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6609 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6610 (GRUB_FAT_MAXFILE): Removed.
6611 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6612 (grub_current_fat_bpb_t): New type.
6613 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6614 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6615 (grub_fat_dir_node_t): New type.
6616 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6617 (fat_log2) [MODE_EXFAT]: Removed.
6618 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6619 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6620 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6621 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6622 (grub_fat_label) [MODE_EXFAT]: New function.
6623 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6624 reserved_first_sector to 0.
6625
544c2487
VS
66262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 Move grub_reboot out of the kernel.
6629
6630 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6631 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6632 * grub-core/lib/efi/reboot.c: ... here.
6633 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6634 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6635 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6636 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6637 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6638 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6639 * grub-core/lib/ieee1275/reboot.c: ... here.
6640 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6641 * grub-core/lib/mips/arc/reboot.c: ... here.
6642 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6643 * grub-core/lib/mips/loongson/reboot.c: ...here.
6644 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6645 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6646 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6647 * include/grub/i386/reboot.h: New file.
6648 * include/grub/mips/loongson/ec.h: Fix includes.
6649 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6650 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6651 * grub-core/lib/i386/reboot.c: New file.
6652
a97501d2
VS
66532011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Make grub_prefix into module to fix the arbitrary limit and save
6656 some space.
6657
6658 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6659 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6660 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6661 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6662 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6663 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6664 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6665 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6666 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6667 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6668 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6669 * include/grub/ia64/efi/kernel.h: Removed.
6670 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6671 (grub_prefix): Removed.
6672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6673 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6674 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6675 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6676 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6677 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6678 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6679 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6680 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6681 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6682 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6683 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6684 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6685 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6686 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6687 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6688 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6689 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6690 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6691 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6692 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6693 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6694 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6695 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6696 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6697 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6698 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6699 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6700 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6701 from module.
6702 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6703 prefix_end.
6704 (image_targets): Likewise.
6705 (generate_image): Put prefix as a module.
6706
39705fad
VS
67072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 Replace grub_module_iterate with FOR_MODULES.
6710
6711 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6712 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6713 (grub_efi_modules_addr): ...this.
6714 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6715 (grub_efi_init): Set grub_modbase.
6716 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6717 (grub_modbase): New variable.
6718 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6719 (grub_modbase): New variable.
6720 (grub_machine_init): Set grub_modbase.
6721 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6722 (grub_modbase): New variable.
6723 (grub_machine_init): Set grub_modbase.
6724 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6725 (grub_modbase): New variable.
6726 (grub_machine_init): Set grub_modbase.
6727 * grub-core/kern/main.c (grub_module_iterate): Remove.
6728 (grub_modules_get_end): Use grub_modbase.
6729 (grub_load_modules): Use FOR_MODULES.
6730 (grub_load_config): Likewise.
6731 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6732 (grub_modbase): New variable.
6733 (grub_machine_init): Set grub_modbase.
6734 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6735 (grub_modbase): New variable.
6736 (grub_machine_init): Set grub_modbase.
6737 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6738 Removed.
6739 (grub_modbase): New variable.
6740 (grub_machine_init): Set grub_modbase.
6741 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6742 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6743 (grub_module_iterate): Likewise.
6744 (grub_modbase): New variable declaration.
6745 (FOR_MODULES): New macro.
6746
2afb7f6c
VS
67472011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6750 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6751
366e34fa
VS
67522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Fix few obvious type discrepancies.
6755
6756 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6757 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6758 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6759 variable.
6760 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6761 and connected types.
6762 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6763 offset.
6764 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6765 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6766 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6767 and connected types.
6768
177b960e
VS
67692011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 Fix python 3.x incompatibilities.
6772
6773 * gentpl.py: Put brackets around print strings.
6774 * util/import_gcry.py: Open explicitly as utf-8.
6775 Use in instead of has_key.
6776
3b619ae1
VS
67772011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6780 (GRUB_XFS_INO_AGBITS): Make into inline function.
6781 (GRUB_XFS_INO_INOINAG): Likewise.
6782 (GRUB_XFS_INO_AG): Likewise.
6783 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6784 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6785 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6786 (GRUB_XFS_EXTENT_SIZE): Likewise.
6787 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6788 (GRUB_XFS_NEXT_DIRENT): Likewise.
6789 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6790 (grub_xfs_read_file): Fix offset type.
6791
8bcebcb8
RM
67922011-10-15 Robert Millan <rmh@gnu.org>
6793
6794 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6795
0017e5ef
RM
67962011-10-15 Robert Millan <rmh@gnu.org>
6797
6798 Fix build problem on FreeBSD and GNU/kFreeBSD.
6799
6800 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6801
d8919552
VS
68022011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6805
6806 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6807 types.
6808 (grub_hfsplus_btree_recoffset): Likewise.
6809 (grub_hfsplus_btree_recptr): Likewise.
6810 (grub_hfsplus_find_block): Likewise.
6811 (grub_hfsplus_btree_search): Likewise.
6812 (grub_hfsplus_read_block): Likewise.
6813 (grub_hfsplus_read_file): Likewise.
6814 (grub_hfsplus_mount): Likewise.
6815 (grub_hfsplus_btree_iterate_node): Likewise.
6816 (grub_hfsplus_btree_search): Likewise.
6817 (grub_hfsplus_iterate_dir): Likewise.
6818 (grub_hfsplus_read): A small code simplification.
6819
c81296b6
VS
68202011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/kern/emu/hostdisk.c
6823 (convert_system_partition_to_system_disk): Don't assume that children
6824 of mapper nodes are mapper nodes.
6825
0eb8ffb1
VS
68262011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6829 * include/grub/misc.h (grub_isxdigit): New function.
6830 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6831 switched to grub_isxdigit.
6832 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6833 number starting with a letter.
6834
a98f4a08
RM
68352011-10-09 Robert Millan <rmh@gnu.org>
6836
6837 LVM support for FreeBSD and GNU/kFreeBSD.
6838
6839 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6840 GNU/kFreeBSD.
6841 (LVM_DEV_MAPPER_STRING): Move from here ...
6842 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6843 * util/getroot.c: Include `<grub/util/lvm.h>'.
6844 (grub_util_get_dev_abstraction): Enable
6845 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6846 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6847 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6848 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6849 support it.
6850 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6851 GNU/kFreeBSD.
6852 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6853 when LVM abstraction is required for ${GRUB_DEVICE}.
6854
050e8e90
SJ
68552011-10-06 Szymon Janc <szymon@janc.net.pl>
6856
6857 Add support for LZO compression in GRUB:
6858 - import of minilzo library,
6859 - LZO decompression for btrfs,
6860 - lzop files decompression.
6861
6862 * grub-core/io/lzopio.c: New file.
6863 * grub-core/lib/adler32.c: Likewise.
6864 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6865 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6866 * grub-core/lib/minilzo/minilzo.c: Likewise.
6867 * grub-core/lib/minilzo/minilzo.h: Likewise.
6868 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6869 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6870 grub-core/lib/minilzo/minilzo.c to common.
6871 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6872 cflags in cppflags.
6873 * grub-core/Makefile.core.def (btrfs): Likewise.
6874 * grub-core/Makefile.core.def (lzopio): New module.
6875 (adler32): Likewise.
6876 * grub-core/fs/btrfs.c: Include minilzo.h.
6877 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6878 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6879 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6880 (grub_btrfs_lzo_decompress): New function.
6881 (grub_btrfs_extent_read): Add support for LZO compression type.
6882 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6883 (GRUB_USHRT_MAX): Likewise.
6884 (GRUB_UINT_MAX): Likewise.
6885 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6886 (UINT_MAX): Likewise.
6887 (CHAR_BIT): Likewise.
6888 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6889 grub-core/lib/posix_wrap/limits.h
6890 (UCHAR_MAX): Likewise.
6891 * include/grub/file.h (grub_file_filter_id): New compression filter
6892 GRUB_FILE_FILTER_LZOPIO.
6893 * include/grub/file.h (grub_file_filter_id): Set
6894 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6895 * include/grub/types.h (grub_get_unaligned16): New function.
6896 (grub_get_unaligned32): Likewise.
6897 (grub_get_unaligned64): Likewise.
6898 * util/import_gcry.py (cryptolist): Add adler32.
6899
0eb8ffb1
VS
69002011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6903 in perspective decreases the complexity of build system and fixes
6904 compilation right now.
6905
ce79cc99 69062011-10-01 Ales Nesrsta <starous@volny.cz>
6907
6908 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6909 (fixed problem related to using UHCI with coreboot).
6910
8667a314
BC
69112011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6912
6913 * gentpl.py: Use Autogen macros so that the output template file
6914 (Makefile.tpl) size is reduced.
6915
fc5efcc0
MK
69162011-09-29 Mads Kiilerich <mads@kiilerich.com>
6917
6918 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6919 extra_dist.
6920
d1ab689d
ML
69212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6922
6923 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6924 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6925
c05de032
ML
69262011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6927
6928 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6929 _fullpath.
6930
cca7ccd8
ML
69312011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6932
6933 Remove extra declaration of sleep for mingw32.
6934
6935 * util/misc.c (sleep) [__MINGW32__]: Removed.
6936 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6937
e0b0dc83
GS
69382011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6939
6940 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6941 type and packname.
6942 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6943 Resurrected.
6944 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6945 (grub_netbsd_btinfo_bootwedge): New struct.
6946 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6947 New function.
6948 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6949
91a1a164
TH
69502011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6951
6952 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6953 loader.
6954
2ded951e
AB
69552011-09-28 Andreas Born <futur.andy@googlemail.com>
6956
6957 Fix incorrect identifiers in bash-completion.
6958
6959 * util/bash-completion.d/grub-completion.bash.in
6960 (_grub_mkpasswd-pbkdf2): Rename to ...
6961 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6962 (_grub_script-check): Rename to ...
6963 (_grub_script_check): ... this. All users updated.
6964
69915030
VS
69652011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6968 Return 0 if disk isn't biosdisk.
6969
20fd15f9
GS
69702011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6971
6972 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6973 on NetBSD.
6974 * Makefile.util.def (grub-fstest): Likewise.
6975
1a7d7db9
GS
69762011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6977
6978 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6979 Get sector size from disk label.
6980
2221ab6c
CW
69812011-09-05 Colin Watson <cjwatson@ubuntu.com>
6982
6983 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6984 */README* as well as README*.
6985 Reported by: Axel Beckert.
6986
ca51c4a0
VS
69872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6990 case of less than 256 MiB of RAM.
6991
ab80f326
VS
69922011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/commands/wildcard.c (make_regex): Handle @.
6995
4155e697
VS
69962011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6999
ab178c08
SJ
70002011-08-21 Szymon Janc <szymon@janc.net.pl>
7001
7002 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7003 AC_LANG_CONFTEST macros.
7004
7dc3c686
SJ
70052011-08-20 Szymon Janc <szymon@janc.net.pl>
7006
7007 Add grub-fstest option to uncompress data for commands.
7008
7009 * util/grub-fstest.c (uncompress): New var.
7010 (options): New option -u.
7011
fe8d4a7b
SJ
70122011-08-20 Szymon Janc <szymon@janc.net.pl>
7013
7014 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7015 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7016
a5219af1
SJ
70172011-08-20 Szymon Janc <szymon@janc.net.pl>
7018
7019 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7020 file type was not recognized correctly (not gzip or corrupted).
7021
f87abff5
VS
70222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7025 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7026
d94497ea
VS
70272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7030 loongson.
7031 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7032 video_radeon_fuloong2e.
7033 * grub-core/video/radeon_fuloong2e.c: New file.
7034 * include/grub/video.h (grub_video_id_t): Add new ID
7035 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7036
0d1fd011
VS
70372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7040 define.
7041 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7042 that PRID matches the detected subplatform and reset the subplatform
7043 if it doesn't.
7044
84beb0ee
VS
70452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7048
1227c133
VS
70492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Fix PCI iterating on functions >= 4.
7052
7053 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7054 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7055 Removed.
7056 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7057 (grub_pci_read): Fix bitmask.
7058 (grub_pci_read_word): Likewise.
7059 (grub_pci_read_byte): Likewise.
7060 (grub_pci_write): Likewise.
7061 (grub_pci_write_word): Likewise.
7062 (grub_pci_write_byte): Likewise.
7063
9594c689
VS
70642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7067 can still be specified in TARGET_CFLAGS)
7068
14a2562c
VS
70692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7072
7073 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7074 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7075 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7076 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7077 (FULOONG): Rename to ...
7078 (FULOONG2F): ... this. All users updated.
7079 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7080 (machtype_fuloong2f_str): ... this.
7081 (machtype_fuloong2e_str): New string.
7082 Check for machtype_fuloong2e_str.
7083 * grub-core/loader/mips/linux.c (loongson_machtypes)
7084 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7085 * grub-core/term/serial.c (loongson_defserial)
7086 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7087 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7088 loongson_defserial.
7089 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7090 Rename to ...
7091 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7092 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7093 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7094 to IMAGE_FULOONG2F_FLASH. All users updated.
7095 (image_targets): Rename images.
7096 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7097
b526cbb6
SJ
70982011-08-19 Szymon Janc <szymon@janc.net.pl>
7099
7100 Make enable of disk cache statistics code configurable.
7101
7102 * configure.ac: --enable-cache-stats added.
7103 * config.h.in (DISK_CACHE_STATS): New define.
7104 * grub-core/Makefile.core.def (cacheinfo): New command.
7105 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7106 * grub-core/commands/cacheinfo.c: New file.
7107 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7108 moved to cacheinfo.c.
7109 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7110 debug code.
7111 * include/grub/disk.h: Likewise.
7112
fb739ccd
SJ
71132011-08-19 Szymon Janc <szymon@janc.net.pl>
7114
7115 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7116 * grub-core/Makefile.am: Likewise.
7117
2bba8cfd
VS
71182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7121 non-zero pull.
7122
43526629
VS
71232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7126 All users updated.
7127 (grub_jfs_lookup_symlink): Use correct starting inode.
7128
5c144cc8
VS
71292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/grub-setup.c (main): Add missing gcry initialisation.
7132
b1257f65
VS
71332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Don't accept text modes on EFI when booting Linux.
7136
7137 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7138 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7139
828bc390
ML
71402011-08-15 Mario Limonciello <mario_limonciello@dell.com>
71412011-08-15 Colin Watson <cjwatson@ubuntu.com>
7142
7143 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7144 use of "/path/.." as in grub-install for EFI as well as handling
7145 symlinks correctly.
7146 Fixes Debian bug #637768.
7147
5f60ccac
CW
71482011-08-15 Colin Watson <cjwatson@ubuntu.com>
7149
7150 * util/grub-probe.c: Remove duplicate #include.
7151
6dc212f9
RM
71522011-08-10 Robert Millan <rmh@gnu.org>
7153
7154 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7155
7156 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7157 function.
7158 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7159 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7160
66816d85
RM
71612011-08-03 Robert Millan <rmh@gnu.org>
7162
7163 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7164 la_array as packed.
7165 Reported by: Zachary Bedell
7166
20168fca
CW
71672011-07-26 Colin Watson <cjwatson@ubuntu.com>
7168
7169 * configure.ac: The Loongson port requires grub-mkfont due to its
7170 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7171 be built.
7172
303b6246
CW
71732011-07-26 Colin Watson <cjwatson@ubuntu.com>
7174
7175 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7176 processing arguments (otherwise help2man fails when GRUB has not yet
7177 been installed).
7178
6795300e
VS
71792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7180
41aa28ea
VS
7181 New script grub-mkstandalone.
7182
7183 * Makefile.util.def (grub-mkstandalone): New script.
7184 * docs/man/grub-mkstandalone.h2m: New file.
7185 * util/grub-mkstandalone.in: Likewise.
7186
71872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Support ATA disks with 4K sectors.
6795300e
VS
7190
7191 * include/grub/ata.h (grub_ata): New member log_sector_size.
7192 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7193 (grub_ata_identify): Read sector size.
7194 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7195
92227597
VS
71962011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * util/grub-install.in: Don't use uhci outside of x86.
7199
c77069f5
VS
72002011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * util/grub-mkrescue.in: Add missing quotes.
7203
72042011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7205
7206 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7207 dereference.
7208
583168a2
VS
72092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7212
6be1c01f
VS
72132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * include/grub/video.h: add missing EXPORT_FUND on
7216 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7217
a1167439
VS
72182011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * include/grub/mips/kernel.h: Fix define conflict.
7221
bf66054f
VS
72222011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7225 all four ways.
7226
8fc4fa45
CW
72272011-07-21 Colin Watson <cjwatson@ubuntu.com>
7228
7229 Preferred resolution detection for VBE.
7230
7231 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7232 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7233 the Flat Panel extension, in line with the X.org VESA driver.
7234 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7235 New function.
7236 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7237 (grub_vbe_bios_read_edid): Likewise.
7238 (grub_vbe_get_preferred_mode): Likewise.
7239 (grub_video_vbe_setup): When the mode is "auto", try to get the
7240 preferred mode from VBE, and use the largest mode that is no larger
7241 than the preferred mode (some BIOSes expose a preferred mode that is
7242 not in their mode list!). If this fails, fall back to 640x480 as a
7243 safe conservative choice.
7244 (grub_video_vbe_get_edid): New function.
7245 (grub_video_vbe_adapter): Add get_edid.
7246 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7247 (struct grub_video_adapter): Add get_edid.
7248 (grub_video_edid_checksum): Add prototype.
7249 (grub_video_edid_preferred_mode): Likewise.
7250 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7251 structure.
7252
7253 * grub-core/commands/videoinfo.c (print_edid): New function.
7254 (grub_cmd_videoinfo): Print EDID if available.
7255
7256 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7257 is more appropriate on a wider range of platforms than 640x480.
7258 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7259 documentation.
7260
ca5572a9
VS
72612011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7264
e4bcf625
VS
72652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * po/POTFILES.in: Regenerate.
7268
c4edd548
VS
72692011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7272 incorrect memory usage.
7273
16a2bab0
VS
72742011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * util/grub-install.in: Source grub-mkconfig_lib.
7277
2e418de6
VS
72782011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 Remove getroot.c from core on emu platform.
7281
7282 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7283 kern/emu/raid.c.
7284 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7285 useless.
7286 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7287 * util/getroot.c (get_win32_path): ... here.
7288 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7289 * util/getroot.c (fini_libzfs): ... here.
7290 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7291 * util/getroot.c (grub_get_libzfs_handle): ... here.
7292 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7293 Moved from here...
7294 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7295 * grub-core/kern/emu/misc.c
7296 (grub_make_system_path_relative_to_its_root): Moved from here...
7297 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7298 * grub-core/kern/emu/getroot.c: Moved from here ...
7299 * util/getroot.c: ... here. All users updated.
7300 * grub-core/kern/emu/raid.c: Moved from here ...
7301 * util/raid.c: ... here. All users updated.
7302
def9832a
VS
73032011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * po/POTFILES.in: Regenerate.
7306
cd8fe79a
VS
73072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 Fix compilation on GNU/Linux.
7310
7311 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7312 Disable geli.
7313 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7314 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7315 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7316
a251b719
VS
73172011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
73182011-07-07 Michael Gorven <michael@gorven.za.net>
73192011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7320
7321 LUKS and GELI support.
7322
7323 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7324 grub-core/disk/luks.c, grub-core/disk/geli.c,
7325 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7326 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7327 grub-core/lib/arg.c.
7328 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7329 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7330 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7331 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7332 (grub-bin2h): Add libgcry.a.
7333 (grub-mkimage): Likewise.
7334 (grub-mkrelpath): Likewise.
7335 (grub-script-check): Likewise.
7336 (grub-editenv): Likewise.
7337 (grub-mkpasswd-pbkdf2): Likewise.
7338 (grub-pe2elf): Likewise.
7339 (grub-fstest): Likewise.
7340 (grub-mkfont): Likewise.
7341 (grub-mkdevicemap): Likewise.
7342 (grub-probe): Likewise.
7343 (grub-ofpath): Likewise.
7344 (grub-mklayout): Likewise.
7345 (example_unit_test): Likewise.
7346 (grub-menulst2cfg): Likewise.
7347 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7348 * grub-core/Makefile.core.def (cryptodisk): New module.
7349 (luks): Likewise.
7350 (geli): Likewise.
7351 * grub-core/disk/AFSplitter.c: New file.
7352 * grub-core/disk/cryptodisk.c: Likewise.
7353 * grub-core/disk/geli.c: Likewise.
7354 * grub-core/disk/luks.c: Likewise.
7355 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7356 grub_util_is_lvm.
7357 (grub_util_get_dm_abstraction): New function.
7358 (grub_util_follow_gpart_up): Likewise.
7359 (grub_util_get_geom_abstraction): Likewise.
7360 (grub_util_get_dev_abstraction): Use new functions.
7361 (grub_util_pull_device): Pull GELI and LUKS.
7362 (grub_util_get_grub_dev): Handle LUKS and GELI.
7363 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7364 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7365 (follow_geom_up): Removed.
7366 (grub_util_fd_seek): New function.
7367 (open_device): Use grub_util_fd_seek.
7368 (nread): Rename to ..
7369 (grub_util_fd_read): ... this. All users updated.
7370 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7371 (grub_crypto_cbc_decrypt): Likewise.
7372 (grub_crypto_hmac_write): Likewise.
7373 (grub_crypto_hmac_buffer): Likewise.
7374 (grub_password_get): Extend to util.
7375 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7376 New member modname.
7377 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7378 * include/grub/cryptodisk.h: New file.
7379 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7380 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7381 LUKS and GELI.
7382 (grub_util_follow_gpart_up): New proto.
7383 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7384 (grub_util_fd_read): Likewise.
7385 (grub_cryptodisk_cheat_mount): Likewise.
7386 (grub_util_cryptodisk_print_uuid): Likewise.
7387 (grub_util_get_fd_sectors): Likewise.
7388 * util/grub-fstest.c (mount_crypt): New var.
7389 (fstest): Mount crypto if requested.
7390 (options): New option -C.
7391 (argp_parser): Parse -C.
7392 (main): Init and fini gcry.
7393 * util/grub-install.in: Support cryptodisk install.
7394 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7395 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7396 cryptodisk.
7397 (prepare_grub_to_access_device): Likewise.
7398 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7399 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7400 (probe_cryptodisk_uuid): New function.
7401 (probe_abstraction): Likewise.
7402 (probe): Use new functions.
7403 * util/import_gcry.py: Create Makefile.utilgcry.def.
7404 Add modname member.
7405
9bfdcbbc
VS
74062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 Lazy device scanning.
7409
7410 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7411 (grub-setup): Remove util/raid.c.
7412 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7413 * grub-core/disk/lvm.c (scan_depth): New variable.
7414 (grub_lvm_iterate): Rescan if necessary.
7415 (find_lv): New function based on grub_lvm_open.
7416 (grub_lvm_open): Use find_lv. Rescan on error.
7417 (is_node_readable): New function.
7418 (is_lv_readable): Likewise.
7419 (grub_lvm_scan_device): Skip already found disks.
7420 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7421 Stop if searched device is found and readable.
7422 * grub-core/disk/raid.c (inscnt): New variable.
7423 (scan_depth): Likewise.
7424 (scan_devices): New function based on grub_raid_register. Abort if
7425 looked for device is found.
7426 (grub_raid_iterate): Rescan if needed.
7427 (find_array): NEw function based on -grub_raid_open.
7428 (grub_raid_open): Use find_array and rescan.
7429 (insert_array): Set became_readable_at.
7430 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7431 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7432 New function.
7433 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7434 (grub_util_pull_device): New function.
7435 (grub_util_get_grub_dev): Call grub_util_pull_device.
7436 * util/raid.c: Moved to ..
7437 * grub-core/kern/emu/raid.c: ... here.
7438 (grub_util_raid_getmembers): New parameter "bootable".
7439 All users updated. Support 1.x.
7440 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7441 All users updated.
7442 * include/grub/disk.h (grub_disk_pull_t): New enum.
7443 (grub_disk_dev): Change iterate prototype.
7444 All users updated.
7445 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7446 New proto.
7447 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7448 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7449 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7450 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7451 All users updated.
7452 * include/grub/util/raid.h: Removed.
7453
1c358e59
VS
74542011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * po/POTFILES.in: Regenerate.
7457
abee94ed
VS
74582011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 Unify sparc init with other ieee1275.
7461
7462 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7463 instead of kern/sparc64/ieee1275/init.c.
7464 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7465 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7466 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7467 grub/machine/kernel.h.
7468 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7469 (grub_claim_heap) [__sparc__]: Use sparc version.
7470 (grub_machine_init): Moved args parsing to
7471 (grub_parse_cmdline): ...this.
7472 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7473 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7474 New definition.
7475 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7476
7477 Move BOOTP to separate file.
7478
7479 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7480 * grub-core/net/net.c: Move all BOOTP functions to
7481 * grub-core/net/bootp.c: ... here.
7482
7483 Use frame interface on PXE.
7484
7485 * grub-core/Makefile.core.def (pxecmd): Removed.
7486 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7487 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7488 * grub-core/i386/pc/pxe.c: Moved from here ...
7489 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7490 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7491 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7492
7493 EFI network support.
7494
7495 * grub-core/Makefile.core.def (efinet): New module.
7496 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7497 here...
7498 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7499 All users updated.
7500 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7501 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7502 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7503 * grub-core/net/drivers/efi/efinet.c: New file.
7504 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7505 (grub_efi_net_config): New extern var.
7506
7507 Various cleanups and bugfixes.
7508
7509 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7510 error.
7511 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7512 disk declared as partition.
7513 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7514 leak on failure.
7515 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7516 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7517 (grub_debug_zalloc): Likewise.
7518 (grub_debug_realloc): Likewise.
7519 (grub_debug_memalign): Likewise.
7520 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7521 Check that target is IPv4.
7522 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7523 local-mac-address as fallback.
7524 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7525 memory leak.
7526 * grub-core/net/ip.c (ipchksum): Rename to ...
7527 (grub_net_ip_chksum): ... this. All users updated.
7528 (grub_net_recv_ip_packets): Special handling for DHCP.
7529 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7530
7531 Unify prefix handling
7532
7533 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7534 (grub_machine_get_bootlocation): ... this.
7535 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7536 (grub_machine_get_bootlocation): ... this.
7537 (grub_prefix): New variable.
7538 (prefix): Removed.
7539 (root_dev): New variable.
7540 (dir): Likewise.
7541 (main): Use new variables.
7542 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7543 Revamped into ...
7544 (grub_machine_get_bootlocation): ... this.
7545 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7546 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7547 (grub_machine_get_bootlocation): ... this.
7548 (grub_machine_set_prefix): Removed.
7549 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7550 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7551 Revamped into ...
7552 (grub_machine_get_bootlocation): ... this.
7553 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7554 (grub_set_prefix_and_root): ... this. All users updated.
7555 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7556 Revamped into ...
7557 (grub_machine_get_bootlocation): ... this.
7558 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7559 (grub_machine_get_bootlocation): New proto.
7560 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7561
7562 Less intrusive and more reliable seek on network implementation.
7563
7564 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7565 (grub_file_seek): Don't call grub_file_net_seek.
7566 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7567 (grub_net_fs_read_real): .. this.
7568 (grub_net_seek_real): Use net->offset.
7569 (grub_net_fs_read): Seek if necessary.
7570
7571 Unify IEEE1275 netwotk config with the other platforms.
7572
7573 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7574 New variable.
7575 (grub_machine_get_bootlocation): Support network.
7576 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7577 Support type and device parsing.
7578 (grub_ieee1275_get_device_type): New function.
7579 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7580 into ...
7581 (grub_ieee1275_net_config_real): ... this.
7582 (grub_ofnet_probecards): Removed.
7583 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7584 * include/grub/ieee1275/ofnet.h: Removed.
7585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7586 extern var.
7587 (grub_ieee1275_get_device_type): New function.
7588
7589 Unify network device closing across platforms and make more robust.
7590
7591 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7592 grub_grubnet_fini.
7593 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7594 already.
7595 * grub-core/net/net.c (grub_net_network_level_interface_register):
7596 Update num_ifaces.
7597 (grub_net_card_unregister): Close all interfaces.
7598 (receive_packets): Don't poll if no iterfaces are registered.
7599 Open if necessary.
7600 (grub_net_fini_hw): New function.
7601 (grub_net_restore_hw): Likewise.
7602 (fini_hnd): New variable.
7603 (GRUB_MOD_INIT): Register preboot hook.
7604 (GRUB_MOD_FINI): Run and unregister preboot hook.
7605
7606 Poll network cards when idle.
7607
7608 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7609 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7610 * grub-core/net/net.c (receive_packets): Save last poll time.
7611 (grub_net_poll_cards_idle_real): New function.
7612 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7613 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7614 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7615
7616 Rename ofnet interfaces.
7617
7618 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7619 (grub_ofnet_findcards): Use ofnet_%s names.
7620
7621 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7622
7623 Cleanup socket opening.
7624
7625 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7626 (grub_net_fs_close): Likewise.
7627 (grub_net_fs_read_real): Use eof member.
7628 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7629 (+grub_net_udp_close): New inline function.
7630
7631 * include/grub/net/tftp.h: Moved to the top of ...
7632 * grub-core/net/tftp.c: ... here.
7633 * include/grub/net/ip.h: Moved mostly to the top of ...
7634 * grub-core/net/ip.c: ... here.
7635 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7636 * grub-core/net/ethernet.c: ... here.
7637
7638 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7639
7640 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7641 FS name.
7642
7643 * include/grub/net/ip.h (ipv4_ini): Removed.
7644 (ipv4_fini): Likewise.
7645
7646 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7647 (grub_net_send_ip_packets): Likewise.
7648
cf1337aa
VS
76492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7652 grub_read_cmos prototype.
7653
93c06ff9
VS
76542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 VGA text support in qemu-mips
7657
7658 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7659 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7660 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7661 text.
7662 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7663 * grub-core/kern/vga_init.c: ... this.
7664 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7665 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7666 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7667 Adjust.
7668 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7669 GRUB_MACHINE_PCI_IO_BASE.
7670
748ccabe
VS
76712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 MIPS qemu flash support.
7674
7675 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7676 magic.
7677 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7678 (grub_machine_init): Probe memory if its size isn't known.
7679 * util/grub-mkimage.c (image_targets): Add flash targets.
7680 (generate_image): Handle flash targets.
7681
d7345994
VS
76822011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 MIPS qemu at_keyboard support.
7685
7686 * gentpl.py (videoinkernel): Add qemu-mips.
7687 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7688 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7689 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7690 modules.
7691 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7692 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7693 * grub-core/term/serial.c (grub_serial_register)
7694 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7695
a07a81b3
VS
76962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 CMOS support on sparc.
7699
7700 * gentpl.py (cmos): Add powerpc and sparc.
7701 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7702 powerpc and sparc.
7703 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7704 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7705 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7706 grub_set_datetime_cmos.
7707 * grub-core/lib/ieee1275/cmos.c: New file.
7708 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7709 (find_rtc): Set no_ieee1275_rtc on error.
7710 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7711 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7712 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7713 fail. Move value to argument. All users updated
7714 (grub_cmos_write): Likewise.
7715 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7716 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7717 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7718 grub_get_datetime_cmos and grub_set_datetime_cmos.
7719
77546584
GS
77202011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7721
7722 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7723 sourcing grub-mkconfig_lib.
7724 * util/update-grub_lib.in: Likewise.
7725 * util/grub.d/00_header.in: Likewise.
7726 * util/grub.d/10_hurd.in: Likewise.
7727 * util/grub.d/10_kfreebsd.in: Likewise.
7728 * util/grub.d/10_linux.in: Likewise.
7729 * util/grub.d/10_netbsd.in: Likewise.
7730 * util/grub.d/10_windows.in: Likewise.
7731 * util/grub.d/20_linux_xen.in: Likewise.
7732 * util/grub.d/30_os-prober.in: Likewise.
7733
54894791
CW
77342011-06-28 Colin Watson <cjwatson@ubuntu.com>
7735
7736 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7737 default_bg_color rather than black.
7738 (grub_gfxterm_fullscreen): Likewise.
7739 (grub_gfxterm_background_color_cmd): Save new background color in
7740 default_bg_color.
7741
8d5d8444
VS
77422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7745
5afeb5bd
VS
77462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7749 mismerge.
7750
ba7df45e
VS
77512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 Chainloading on coreboot support.
7754
7755 * grub-core/Makefile.core.def (chain): Add coreboot.
7756 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7757
d0b526b2
VS
77582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7761 if it happens.
7762
5ff1d945
VS
77632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 Implement time command.
7766
7767 * grub-core/Makefile.core.def (time): New module.
7768 * grub-core/commands/time.c: New file.
7769 * grub-core/script/parser.y: Remove "time" keyword.
7770 * grub-core/script/yylex.l: Likewise.
7771
5ebaad7e
VS
77722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7775
bdea3798
VS
77762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7779 when handling leftovers.
7780
b28c5655
VS
77812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7784 so that help2man doesn't fail.
7785
b6f945dc
VS
77862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7789 type in pointers on sparc64.
7790 (get_card_packet): Likewise.
7791
f9b75e8a
CW
77922011-06-27 Colin Watson <cjwatson@ubuntu.com>
7793
7794 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7795 with `*'.
7796 (grub_cmd_videoinfo): Fetch current video mode.
7797
1e3d9b86
VS
77982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7801 because of underlying system restrictions.
7802
efff4b1c
VS
78032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7806 necessary.
7807
9fc9ce37
VS
78082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Coreboot video support.
7811
7812 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7813 (vbe): Likewise.
7814 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7815 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7816 here ...
7817 * grub-core/kern/i386/int.S: ... here.
7818 * grub-core/video/i386/pc/vbe.c: Updated includes.
7819 * grub-core/video/i386/pc/vga.c: Likewise.
7820 * include/grub/i386/coreboot/memory.h
7821 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7822 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7823 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7824 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7825 Disable interrupts.
7826 * include/grub/i386/pc/vga.h: Removed. All users updated.
7827
41bec7fe
VS
78282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7831 definitions for dprintf.
7832 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7833
ca80309d
VS
78342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7837 prototype.
7838 (get_card_packet): Likewise.
7839
9e322ce8
YB
78402011-06-26 Yves Blusseau <blusseau@zetam.org>
7841
7842 Display the path of the file when file is not found
7843
7844 * grub-core/fs/fat.c: Display the filename when file is not found.
7845 * grub-core/fs/fshelp.c: Likewise.
7846 * grub-core/fs/hfs.c: Likewise.
7847 * grub-core/fs/jfs.c: Likewise.
7848 * grub-core/fs/minix.c: Likewise.
7849 * grub-core/fs/ufs.c: Likewise.
7850 * grub-core/fs/btrfs.c: Likewise.
7851 * grub-core/commands/i386/pc/play.c: Likewise.
7852
cbf597af
SJ
78532011-06-26 Szymon Janc <szymon@janc.net.pl>
7854
7855 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7856 pointer checks before calling grub_free().
7857 * grub-core/commands/wildcard.c (match_devices): Likewise.
7858 * grub-core/commands/wildcard.c (match_files): Likewise.
7859 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7860 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7861 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7862 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7863 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7864 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7865 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7866 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7867 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7868
6295b32f
P
78692011-06-25 Patrick <p55@mailinator.com>
7870
7871 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7872
77c0840b
VS
78732011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7876 (grub_pxe_send): Likewise.
7877 (GRUB_MOD_INIT): Fix types.
7878
40ea05de
SJ
78792011-06-24 Szymon Janc <szymon@janc.net.pl>
7880
7881 * grub-core/io/xzio.c: Fix code style issues
7882
90162423
MRA
78832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
78842011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7885
7886 Network infrastructure.
7887 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7888
7889 * include/grub/net/arp.h: New file.
90162423
MRA
7890 * include/grub/net/device.h: Likewise.
7891 * include/grub/net/ethernet.h: Likewise.
7892 * include/grub/net/ip.h: Likewise.
7893 * include/grub/net/netbuff.h: Likewise.
7894 * include/grub/net/tftp.h: Likewise.
7895 * include/grub/net/udp.h: Likewise.
7896 * include/grub/ieee1275/ofnet.h: Likewise.
7897 * include/grub/emu/export.h: Likewise.
7898 * include/grub/net.h: Likewise.
7899 * grub-core/net/arp.c: Likewise.
7900 * grub-core/net/ethernet.c: Likewise.
7901 * grub-core/net/ip.c: Likewise.
7902 * grub-core/net/udp.c: Likewise.
7903 * grub-core/net/tftp.c: Likewise.
7904 * grub-core/net/netbuff.c: Likewise.
7905 * grub-core/net/net.c: Likewise.
7906 * grub-core/net/drivers/emu/emunet.c: Likewise.
7907 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7908 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7909 export.h.
7910 * grub-core/Makefile.core.def (net): New module.
7911 (tftp): Likewise.
7912 (ofnet): Likewise.
7913 (emunet): Likewise.
7914 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7915 network protocols.
7916 * grub-core/kern/device.c (grub_net_open) : New variable.
7917 (grub_device_open): Handle network device.
7918 (grub_device_close): Likewise.
7919 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7920 (grub_grubnet_fini): Likewise.
7921 (grub_file_seek): Seek in network device.
7922 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7923 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7924 network root.
7925 (grub_machine_fini): Call grub_grubnet_fini.
7926 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7927 network.
7928 (grub_ieee1275_get_aliasdevname): New function.
7929 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7930 Add unofficial Solaris network info.
7931 (grub_multiboot_make_mbi): Likewise.
7932 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7933 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7934 * include/grub/device.h (grub_fs): Removed.
7935 * include/grub/err.h (grub_err_t): Add network-related values.
7936 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7937 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7938 (grub_ieee1275_get_aliasdevname): New proto.
7939 * include/grub/net.h: Rewritten.
423a1849 7940
031f22a0
VS
79412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7944 names.
7945
4388ca72
VS
79462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7949 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7950 it truncates the output.
7951 Reported by: Ximin Luo.
7952
98e2f506
VS
79532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7956
2a5e94d8
VS
79572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7960 partmap before abstraction.
7961
535c1910
AK
79622011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7963
7964 * util/grub-mkconfig_lib.in: Add missing quotes.
7965
bc09e1a2
VS
79662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7969 old method if mountinfo would return /dev/root and /dev/root doesn't
7970 exist.
7971
290766fb
VS
79722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 ZFS zlib support
7975
7976 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7977 (decomp_table): Add zlib entries.
7978 (zio_read): USe 8 bits for compression function rather than 3.
7979 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7980
79812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/disk/ahci.c: Add missing license statements.
7984 * grub-core/fs/romfs.c: Likewise.
7985 * grub-core/lib/ia64/setjmp.S: Likewise.
7986 * grub-core/loader/i386/pc/freedos.c: Likewise.
7987 * grub-core/loader/ia64/efi/linux.c: Likewise.
7988 * grub-core/video/colors.c: Likewise.
7989 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7990
5ab3f48a
VS
79912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 AHCI support.
7994
7995 * grub-core/Makefile.core.def (ata_pthru): Removed.
7996 (ahci): New module.
7997 (pata): Likewise.
7998 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7999 on unload.
8000 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8001 readwrite.
8002 (grub_hdparm_do_check_powermode_cmd): Likewise.
8003 (grub_hdparm_do_smart_cmd): Likewise.
8004 (grub_hdparm_set_val_cmd): Likewise.
8005 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8006 * grub-core/disk/ahci.c: New file.
8007 * grub-core/disk/ata.c: Factor out the low-level part into ...
8008 * grub-core/disk/pata.c: ... here.
8009 * grub-core/disk/ata_pthru.c: Contents moved to ...
8010 * grub-core/disk/pata.c: ... here.
8011 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8012 (grub_scsi_iterate): Use grub_scsi_names.
8013 (grub_scsi_open): Likewise.
8014 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8015 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8016 (grub_ata_regs_t): New struct.
8017 (grub_disk_ata_pass_through_parms): Likewise.
8018 (grub_ata_device): Renamed to ...
8019 (grub_ata): ... this.
8020 (grub_ata_dev): New struct.
8021 Removed all low-level inline functions.
8022 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8023 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8024 iterate hooks and open. All users updated.
8025 * util/grub-install.in: Handle AHCI disk module.
8026
c31dc5f5
SJ
80272011-06-23 Szymon Janc <szymon@janc.net.pl>
8028
8029 Add support for DRI and RSTn markers in JPEG files.
8030
8031 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8032 (JPEG_MARKER_RST0): Likewise.
8033 (JPEG_MARKER_RST1): Likewise.
8034 (JPEG_MARKER_RST2): Likewise.
8035 (JPEG_MARKER_RST3): Likewise.
8036 (JPEG_MARKER_RST4): Likewise.
8037 (JPEG_MARKER_RST5): Likewise.
8038 (JPEG_MARKER_RST6): Likewise.
8039 (JPEG_MARKER_RST7): Likewise.
8040 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8041 (grub_jpeg_decode_dri): New function.
8042 (grub_jpeg_decode_sos): Move image data related part into
8043 grub_jpeg_decode_data function.
8044 (grub_jpeg_decode_data): New function.
8045 (grub_jpeg_reset): New function.
8046 (grub_jpeg_decode_jpeg): Handle new markers.
8047
fe12fd5b
VS
80482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * util/ieee1275/ofpath.c (check_sas): Close fd.
8051 (main): Free of_path.
8052 Reported by: David Volgyes <dvolgyes>.
8053
03147f46
VS
80542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8057 Reported by: David Volgyes <dvolgyes>.
8058
cad3237f
VS
80592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8062 file after stat.
8063 Reported by: David Volgyes <dvolgyes>.
8064
13548d26
VS
80652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8068
8069 Reported by: David Volgyes <dvolgyes>.
8070
e061a1b5
VS
80712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8074 Prevent memory leak.
8075
1abe47dc
VS
80762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8079 (main): Close file.
e061a1b5 8080 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8081
fbc62666
VS
80822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8085 to continue if allocation is failed.
8086
8087 Reported by: David Volgyes <dvolgyes>.
8088
e98c83e9
DV
80892011-06-23 David Volgyes <dvolgyes>
8090
8091 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8092 dereference.
8093
a199a8cd
VS
80942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Fix spurious warning.
8097
8098 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8099 (acorn_partition_map_find): Use .bin member.
8100
e2d1dba0
VS
81012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8104 /dev/root as a valid device.
8105
8a5d6919
JM
81062011-06-23 Jim Meyering <meyering@redhat.com>
8107
e2d1dba0
VS
8108 Avoid NULL deref in grub_device_open.
8109
8a5d6919
JM
8110 * grub-core/kern/device.c (grub_device_open): Don't dereference
8111 a NULL pointer upon failed grub_env_get.
8112
f7db6f4a
VS
81132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 Support non-512B sectors and agglomerate reads.
8116
8117 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8118 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8119 (disk_io_guid): Removed.
8120 (make_devices): Locate solely by BlockIO.
8121 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8122 (grub_efidisk_read): Use read_blocks.
8123 (grub_efidisk_write): Use write_blocks.
8124 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8125 log_sector_size.
8126 (get_safe_sectors): Handle non-512B sectors.
8127 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8128 sectors.
8129 (grub_biosdisk_write): Handle non-512B sectors.
8130 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8131 (grub_scsi_read): Remove special non-512B block handling (now handled
8132 one level up).
8133 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8134 and do sanity checks.
8135 (grub_disk_adjust_range): Handle non-512B sectors.
8136 (transform_sector): New function.
8137 (grub_disk_read_small): Likewise.
8138 (grub_disk_read): Rewritten.
8139 (grub_disk_write): Handle non-512B sectors.
8140 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8141 log_sector_size.
8142 (open_device): Use log_sector_size.
8143 (grub_util_biosdisk_read): Likewise.
8144 (grub_util_biosdisk_write): Likewise.
8145 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8146 non-512B sectors.
8147 (pc_partition_map_embed): Likewise.
8148 * include/grub/disk.h (grub_disk): New field log_sector_size.
8149 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8150 (GRUB_DISK_CACHE_BITS): Increased to 6.
8151 * util/grub-fstest.c (fstest): New command testload.
8152 (argp_parser): Likewise.
8153
881ac815
RM
81542011-06-16 Robert Millan <rmh@gnu.org>
8155
8156 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8157 `ata' driver on kernel of FreeBSD 9.
8158
8159 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8160 (get_ataraid_disk_name): New functions.
8161 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8162 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8163 get_ataraid_disk_name() and get_ada_disk_name().
8164
1e9aef7d
CW
81652011-06-13 Colin Watson <cjwatson@ubuntu.com>
8166
8167 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8168 input format.
8169
351c7c8a
CW
81702011-05-29 Colin Watson <cjwatson@ubuntu.com>
8171
8172 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8173 `ftp.gnu.org' for `alpha.gnu.org'.
8174
6b4e6430
CW
81752011-05-27 Colin Watson <cjwatson@ubuntu.com>
8176
8177 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8178 partitions under /dev/disk/by-id/.
8179
c64db050
CW
81802011-05-27 Colin Watson <cjwatson@ubuntu.com>
8181
8182 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8183 after ten consecutive open failures. Scanning all the way up to
8184 10000 is excessive and can cause serious performance problems in
8185 some configurations.
8186 Fixes Ubuntu bug #787461.
8187
245f4aba
VS
81882011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8191 opening new one.
8192
f767c929
VS
81932011-05-21 Colin Watson <cjwatson@ubuntu.com>
81942011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 Don't stat devices unless we have to.
8197
8198 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8199 dir == /dev/mapper.
8200 (grub_guess_root_device): Use already known os_dev if possible.
8201 * grub-core/kern/emu/hostdisk.c
8202 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8203 if device is known to be a dm one.
8204
f35fa3a6
CW
82052011-05-20 Colin Watson <cjwatson@ubuntu.com>
8206
8207 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8208 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8209 Reported by: Pawel Tecza.
8210
9a79fcf2
VS
82112011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8214 (lsefisystab): Likewise.
8215 (lssal): Likewise.
8216 (lsefimmap): Likewise.
8217 (hdparm): Enable on qemu-mips.
8218 (setjmp): Add ia64 nodist.
8219 (serial): Simplify tags.
8220
63e3eea9
CW
82212011-05-18 Colin Watson <cjwatson@ubuntu.com>
8222
8223 * Makefile.util.def (grub-ofpathname): Install manual page.
8224
09728256
CW
82252011-05-18 Colin Watson <cjwatson@ubuntu.com>
8226
8227 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8228
8b63a142
CW
82292011-05-18 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8232
e775d8ed
VS
82332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8236 into dprintf.
8237
bf947d36
VS
82382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Use full 64-bit division.
8241
8242 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8243 (grub_divmod64): ... this.
8244 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8245 version.
8246
b84f26c5
CW
82472011-05-18 Colin Watson <cjwatson@ubuntu.com>
8248
8249 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8250 `source'.
8251
5626056f
CW
82522011-05-18 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8255 to avoid accidents when debugging with 'sh -x'.
8256 * grub-core/gensyminfo.sh.in: Likewise.
8257 * tests/example_scripted_test.in: Likewise.
8258 * tests/grub_cmd_regexp.in: Likewise.
8259 * tests/grub_script_blanklines.in: Likewise.
8260 * tests/grub_script_dollar.in: Likewise.
8261 * tests/grub_script_expansion.in: Likewise.
8262 * tests/grub_script_final_semicolon.in: Likewise.
8263 * tests/partmap_test.in: Likewise.
8264 * tests/util/grub-shell-tester.in: Likewise.
8265 * tests/util/grub-shell.in: Likewise.
8266
e2965f4a
CW
82672011-05-18 Colin Watson <cjwatson@ubuntu.com>
8268
8269 Move gfxmenu color handling to video, so that gfxterm can use it
8270 too.
8271
8272 * grub-core/gfxmenu/named_colors.c: Move to ...
8273 * grub-core/video/colors.c: ... here. Rename
8274 grub_gui_get_named_color to grub_video_get_named_color.
8275 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8276 * grub-core/video/colors.c (my_isxdigit): ... here.
8277 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8278 Move to ...
8279 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8280 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8281 to ...
8282 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8283
8284 * include/grub/gui.h (grub_gui_color_t): Move to ...
8285 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8286 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8287 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8288 * include/grub/gui.h (grub_gui_map_color): Move to ...
8289 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8290 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8291 to ...
8292 * include/grub/video.h (grub_video_get_named_color): ... here.
8293 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8294 * include/grub/video.h (grub_video_parse_color): ... here.
8295
8296 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8297 video/colors.c.
8298 (gfxmenu): Remove gfxmenu/named_colors.c.
8299 (video) [videomodules]: Add video/colors.c.
8300
8301 Add a background_color command.
8302
8303 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8304 function.
8305 (GRUB_MOD_INIT): Register background_color command.
8306 (GRUB_MOD_FINI): Unregister background_color command.
8307 (redraw_screen_rect): Allow blend/replace of text layer to be
8308 controlled independently from whether there is a background bitmap.
8309 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8310 changing bitmap.
8311
1e4b4390
VS
83122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8313
26618ff0
VS
8314 Patch BPB in ntldr and chainloader --bpb.
8315
1e4b4390
VS
8316 * grub-core/fs/fat.c: Include grub/fat.h.
8317 (grub_fat_bpb): Moved to ...
8318 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8319 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8320 grub/ntfs.h.
8321 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8322 Moved from here...
8323 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8324 here.
8325 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8326 New function.
8327 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8328 (GRUB_MOD_INIT): Show --bpb.
8329 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8330 * grub-core/normal/main.c (features): New variable.
8331 (GRUB_MOD_INIT): Set feature_* variables.
8332 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8333 proto.
8334 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8335
cf02731e
VS
83362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8339 for cleanness.
8340
e3a1073f
VS
83412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 FreeDOS direct loading support.
8344
8345 * docs/grub.texi (Supported OS): Add FreeDOS.
8346 * grub-core/Makefile.core.def (freedos): New module.
8347 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8348 variable.
8349 (grub_relocator16_boot): Handle %ebx.
8350 * grub-core/lib/i386/relocator16.S: Likewise.
8351 * grub-core/loader/i386/pc/freedos.c: New file.
8352
05caa461
VS
83532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 Long Linux command line support.
8356
8357 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8358 (maximal_cmdline_size): New variable.
8359 (allocate_pages): Use maximal_cmdline_size.
8360 (grub_cmd_linux): Set and use maximal_cmdline_size.
8361 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8362 (allocate_pages): Use maximal_cmdline_size.
8363 (grub_cmd_linux): Set and use maximal_cmdline_size.
8364 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8365 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8366 and cmdline_size.
8367
a2491e23
VS
83682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
83692011-05-18 Colin Watson <cjwatson@ubuntu.com>
8370
8371 Improve devmapper support
8372
8373 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8374 (grub_util_is_lvm): New function.
8375 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8376 than lvm if not dmraid.
8377 Handle mapped md nodes.
8378 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8379 (grub_util_device_is_mapped): ... this. Make always available. All users
8380 updated.
8381 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8382 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8383 dmraid nodes.
8384 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8385
6ad6223e
VS
83862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8389
8390 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8391 * grub-core/modinfo.sh.in: New file.
8392 * grub-core/Makefile.core.def (modinfo.sh): New script.
8393 * util/grub-mknetdir.in: Use modinfo.sh.
8394 * util/grub-mkrescue.in: Likewise.
8395
543a8f6e
VS
83962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8399 Fix potential usage of Elf32 instead of Elf64 when compiling on
8400 32-bit architecture. Add endianness macros while on it.
8401
4959e111
VS
84022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Use mipsel- rather than mips- in directories involving mipsel ports to
8405 allow both endiannesses coexist.
8406
8407 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8408 mips. All conditions adjusted.
8409 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8410 variable.
8411 * util/grub-install.in: Adjust conditions to take renaming into account.
8412 * util/grub-mkimage.c (image_targets): Likewise. New target
8413 mips-qemu_mips-elf for bigendian mips.
8414
35341bbc
VS
84152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 Avoid unnecessary copying on MIPS.
8418
8419 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8420 early if src == dest.
8421 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8422 compression is none.
8423
b772baed
VS
84242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 Reduce memory footprint on SGI by putting modules before the kernel
8427 as opposed to after.
8428
8429 * grub-core/Makefile.core.def (kernel): Increase linking address.
8430 (none_decompress): Likewise.
8431 (xz_decompress): Likewise.
8432 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8433 address.
8434 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8435 layout change.
8436 (grub_arch_modules_addr): New function.
8437 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8438 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8439 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8440 here.
8441 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8442 (grub_total_modules_size): ... this. Make global.
8443 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8444 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8445 New definition.
8446 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8447 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8448 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8449 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8450 * util/grub-mkimage.c (image_target_desc): New flag
8451 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8452 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8453 (generate_image): Handle images with modules before kernel.
8454
566a1917
VS
84552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Prevent potential loss of memory map by overwrite on qemu-mips.
8458
8459 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8460 Save ram size in $s4.
8461 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8462 All users changed to grub_arch_memsize.
8463 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8464 Loongson.
8465 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8466 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8467 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8468 external variable.
8469
5d420cd9
CW
84702011-05-17 Colin Watson <cjwatson@ubuntu.com>
8471
8472 * .bzrignore: Remove grub-dumpbios.
8473
d064b830
CW
84742011-05-17 Colin Watson <cjwatson@ubuntu.com>
8475
8476 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8477 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8478 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8479 existing options which append).
8480 * docs/grub.texi (Simple configuration): Document new options.
8481 Reported by: Ian Jackson. Fixes Debian bug #617538.
8482
3ca2b466
CW
84832011-05-17 Colin Watson <cjwatson@ubuntu.com>
8484
8485 * util/grub-fstest.c (cmd_cat): New function.
8486 (fstest): Handle CMD_CAT.
8487 (options): Add cat.
8488 (argp_parser): Handle cat.
8489
24c9143a
CW
84902011-05-17 Colin Watson <cjwatson@ubuntu.com>
8491
8492 * Makefile.util.def (grub-bin2h): Don't install.
8493 * docs/man/grub-bin2h.h2m: Remove.
8494
90f7ac19
VS
84952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8498 place.
8499
8d4a5178
VS
85002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Reenable qemu-mips port.
8503
8504 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8505 Fix small arc bug while on it.
8506 * gentpl.py: Handle qemu_mips.
8507 * grub-core/Makefile.am: Likewise.
8508 * grub-core/Makefile.core.def: Likewise.
8509 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8510 inappropriate includes.
8511 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8512 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8513 * grub-core/kern/main.c (grub_modules_get_end)
8514 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8515 * grub-core/kern/mips/qemu-mips: Moved to ..
8516 * grub-core/kern/mips/qemu_mips: ... this.
8517 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8518 (grub_machine_init): Call terminfo_init and serial_init.
8519 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8520 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8521 New variable.
8522 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8523 parameter passing.
8524 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8525 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8526 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8527 * include/grub/mips/qemu_mips/cmos.h: New file.
8528 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8529 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8530 Removed.
8531 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8532 Use correct mips-style address.
8533 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8534 (GRUB_TICKS_PER_SECOND): Removed.
8535 (grub_get_rtc): Likewise.
8536 (grub_cpu_idle): Likewise.
8537 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8538 New definition.
8539 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8540 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8541 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8542 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8543 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8544 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8545 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8546 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8547
400b9371
VS
85482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 SGI ARCS port.
8551
8552 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8553 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8554 platforms.
8555 * configure.ac: New target mips-arc.
8556 * gentpl.py: Likewise.
8557 * grub-core/Makefile.am: Likewise.
8558 * grub-core/Makefile.core.def: Likewise.
8559 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8560 (none_decompress): Likewise.
8561 (lsdev): New module.
8562 (datetime): Use lib/arc/datetime.c on ARC.
8563 (part_dvh): New module.
8564 * grub-core/commands/arc/lsdev.c: New file.
8565 * grub-core/disk/arc/arcdisk.c: Likewise.
8566 * grub-core/kern/mips/arc/init.c: Likewise.
8567 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8568 aligned addresses.
8569 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8570 support.
8571 (grub_arch_dl_relocate_symbols): Likewise.
8572 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8573 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8574 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8575 platforms.
8576 * grub-core/lib/arc/datetime.c: New file.
8577 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8578 pci.h on non-loongson.
8579 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8580 (grub_linux_boot): Set unused registers to 0.
8581 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8582 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8583 * grub-core/mmap/mips/uppermem.c: ...here.
8584 * grub-core/partmap/dvh.c: New file.
8585 * grub-core/term/arc/console.c: Likewise.
8586 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8587 (grub_terminfo_set_current): Add terminal "arc".
8588 (grub_terminfo_readkey): Support ARC sequences.
8589 * include/grub/arc/arc.h: New file.
8590 * include/grub/arc/console.h: Likewise.
8591 * include/grub/disk.h (grub_disk_dev_id): Add
8592 GRUB_DISK_DEVICE_ARCDISK_ID.
8593 * include/grub/mips/arc/kernel.h: New file.
8594 * include/grub/mips/arc/memory.h: Likewise.
8595 * include/grub/mips/arc/time.h: Likewise.
8596 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8597 * include/grub/mips/kernel.h (grub_halt): ... here.
8598 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8599 here...
8600 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8601 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8602 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8603 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8604 proto.
8605 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8606 from here ...
8607 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8608 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8609 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8610 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8611 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8612 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8613 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8614 (grub_phys_addr_t): Moved from here ...
8615 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8616 (grub_vtop): Moved from here ...
8617 * include/grub/mips/memory.h (grub_vtop): ... here.
8618 (grub_map_memory): Moved from here ...
8619 * include/grub/mips/memory.h (grub_map_memory): ... here.
8620 (grub_unmap_memory): Moved from here ...
8621 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8622 (grub_machine_mmap_iterate): Moved from here ...
8623 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8624 (grub_mmap_get_lower): Moved from here ...
8625 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8626 (grub_mmap_get_upper): Moved from here ...
8627 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8628 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8629 here ...
8630 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8631 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8632 here ...
8633 * include/grub/mips/time.h (grub_get_rtc): ... here.
8634 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8635 here ...
8636 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8637 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8638 here ...
8639 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8640 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8641 definition.
8642 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8643 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8644 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8645 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8646 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8647 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8648 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8649 (GRUB_MACHINE_LINK_ADDR): Likewise.
8650 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8651 to 6.
8652 * util/grub-install.in: Run dvhtool on ARC.
8653 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8654 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8655
c8ecc840
VS
86562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8659 blocks.
8660
153a4b55
VS
86612011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8664 after enabling port.
8665
ff44d107
VS
86662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 Skip incorrect USB devices.
8669
8670 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8671 configcnt == 0.
8672 * include/grub/usb.h (grub_usb_err_t): New enum value
8673 GRUB_USB_ERR_BADDEVICE.
8674
638dbe4f
VS
86752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 Fuloong video init support.
8678
8679 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8680 well.
8681 (grub_vga_read_arx): New function.
8682 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8683 definition.
8684 (framebuffer): New members io, mmioptr and mmiobase.
8685 (read_sis_cmd): New function.
8686 (write_sis_cmd): Likewise.
8687 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8688 rather than 640x400.
8689 * grub-core/video/sis315_init.c: New file.
8690
c3fc520c
VS
86912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8694 non-loongson.
8695 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8696 to grub_dl_register_symbol.
8697
67b1e5c9
VS
86982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 Fix compilation errors.
8701
8702 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8703 potentially unused.
8704 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8705 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8706 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8707 to loongson machines.
8708
b756f75f
VS
87092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 Several FS mtime support.
8712
8713 * grub-core/fs/affs.c (grub_affs_time): New struct.
8714 (grub_affs_file): New field mtime.
8715 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8716 type. Removed 'size'. New field 'di'. All users updated.
8717 (grub_affs_mount): Simplify checsum checking.
8718 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8719 (grub_affs_dir): Handle mtime.
8720 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8721 (grub_cpio_dir): Likewise.
8722 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8723 (grub_hfs_filerec): New field mtime.
8724 (grub_hfs_dir): Handle mtime.
8725 (grub_hfs_mtime): New function.
8726 (grub_hfs_fs): Register grub_hfs_mtime.
8727 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8728 (grub_iso9660_dir): New field mtime.
8729 (grub_fshelp_node): New field dirent.
8730 (iso9660_to_unixtime): New function.
8731 (iso9660_to_unixtime2): Likewise.
8732 (grub_iso9660_read_symlink): Use node->dirent.
8733 (grub_iso9660_iterate_dir): Likewise.
8734 (grub_iso9660_dir): Set mtime.
8735 (grub_iso9660_mtime): New function.
8736 (grub_iso9660_fs): Register grub_iso9660_mtime.
8737 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8738 (grub_jfs_inode): New fields atime, ctime and mtime.
8739 (grub_jfs_dir): Set mtime.
8740 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8741 * grub-core/fs/ntfs.c (list_file): Set mtime.
8742 (grub_ntfs_dir): Likewise.
8743 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8744 (grub_reiserfs_iterate_dir): Set mtime.
8745 (grub_reiserfs_dir): Likewise.
8746 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8747 (grub_fshelp_node): Likewise.
8748 (grub_sfs_iterate_dir): Set mtime.
8749 (grub_sfs_dir): Likewise.
8750 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8751 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8752 (grub_xfs_inode): New fields atime, mtime, ctime.
8753 (grub_xfs_dir): Set mtime.
8754 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8755 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8756 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8757
8758 Support UDF symlinks.
8759
8760 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8761 (grub_ufs_read_symlink): New function. All users updated.
8762
8763 Check amiga partmap checksum.
8764
8765 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8766 (grub_amiga_partition): Likewise.
8767 (amiga_partition_map_checksum): New function.
8768 (amiga_partition_map_iterate): Check checksum.
8769
5470225d
VS
87702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 ROMFS support.
8773
8774 * Makefile.util.def (libgrubmods.a): Add romfs.
8775 * grub-core/Makefile.core.def (romfs): New module.
8776 * grub-core/fs/romfs.c: New file.
8777
d4680a35
VS
87782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Squashfs v4 support.
8781
8782 * Makefile.util.def (libgrubmods.a): Add squash4.
8783 * grub-core/Makefile.core.def (squash4): New module.
8784 * grub-core/fs/squash4.c: New file.
8785 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8786 disk_input_start, disk_input.
8787 (get_byte): Handle disk_input.
8788 (grub_zlib_disk_read): New function.
8789 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8790
bcb18e74
FZ
87912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
87922011-05-15 Feiran Zheng <famcool@gmail.com>
8793
8794 * Makefile.util.def (libgrubmods.a): Add minix3.
8795 * grub-core/Makefile.core.def (minix3): New module.
8796 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8797 (GRUB_MINIX_BSIZE): Removed.
8798 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8799 (grub_minix_ino_t): New type.
8800 (grub_minix_le_to_cpu_ino): New macro.
8801 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8802 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8803 (grub_minix_data): New field block_size.
8804 (grub_minix_read_file): Handle 64-bit correctly.
8805 * grub-core/fs/minix3.c: New file.
8806
32297d5f
TG
88072011-05-15 Tristan Gingold <gingold@free.fr>
88082011-05-15 Robert Millan <rmh.grub@aybabtu.com>
88092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 IA64 support.
8812
8813 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8814 * configure.ac: Add ia64-efi target.
8815 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8816 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8817 * gentpl.py: Add ia64_efi platform.
8818 Rename x86_efi to efi and Add ia64-efi. All users updated.
8819 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8820 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8821 Remove kern/generic/rtc_get_time_ms.c on EFI.
8822 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8823 kern/ia64/dl_helper.c on ia64-efi.
8824 Add kern/emu/cache.c on emu.
8825 (linux): Use on loader/ia64/efi/linux.c on ia64.
8826 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8827 whether symbol is a function.
8828 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8829 (grub_symbol): New field 'isfunc'.
8830 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8831 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8832 (grub_dl_load_segments): Place all sections into the same region.
8833 [__ia64__]: Create trampolines and got.
8834 [GRUB_MACHINE_EMU]: Call mprotect.
8835 (grub_dl_resolve_symbols): Resolve symbol type as well.
8836 [__ia64__]: Create function descriptors.
8837 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8838 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8839 (grub_get_rtc): New function.
8840 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8841 * grub-core/kern/emu/cache.S: Renamed to ...
8842 * grub-core/kern/emu/cache_s.S: ... this.
8843 [__ia64__]: Add a nop.
8844 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8845 [__ia64__]: New function.
8846 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8847 * grub-core/kern/ia64/dl.c: New file.
8848 * grub-core/kern/ia64/dl_helper.c: Likewise.
8849 * grub-core/kern/ia64/efi/init.c: New file.
8850 * grub-core/kern/ia64/efi/startup.S: Likewise.
8851 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8852 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8853 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8854 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8855 * grub-core/loader/ia64/efi/linux.c: New file.
8856 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8857 (GRUB_MOD_DEP): Likewise.
8858 (grub_dl) [__ia64__]: New fields got and tramp.
8859 (grub_dl): New field 'base'.
8860 (grub_dl_register_symbol): New argument isfunc. All users updated.
8861 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8862 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8863 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8864 (grub_ia64_dl_get_tramp_got_size): New proto.
8865 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8866 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8867 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8868 * include/grub/efi/api.h: Skip call wrappers on ia64.
8869 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8870 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8871 * include/grub/elf.h (ELF_ST_INFO): New definition.
8872 * include/grub/ia64/efi/kernel.h: New file.
8873 * include/grub/ia64/efi/memory.h: Likewise.
8874 * include/grub/ia64/efi/time.h: Likewise.
8875 * include/grub/ia64/kernel.h: Likewise.
8876 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8877 * include/grub/ia64/time.h: New file.
8878 * include/grub/ia64/types.h: Likewise.
8879 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8880 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8881 New protos.
8882 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8883 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8884 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8885 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8886 All users updated.
8887 (EFI64_HEADER_SIZE): New definition. All users updated.
8888 (image_targets): Add ia64-efi.
8889 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8890 jumpers_addr. All users updated.
8891 Create function descriptors.
8892 (count_funcs): New function.
8893 (unaligned_uint32): New struct.
8894 (MASK20): New definition.
8895 (MASK19): Likewise.
8896 (MASKF21): Likewise.
8897 (add_value_to_slot_20b): New function.
8898 (add_value_to_slot_21_real): Likewise.
8899 (add_value_to_slot_21): Likewise.
8900 (ia64_kernel_trampoline): New struct.
8901 (nopm): New variable.
8902 (jump): Likewise.
8903 (make_trampoline): New function.
8904 (relocate_addresses): Handle ia64.
8905 (make_reloc_section): Likewise.
8906 (load_image): Likewise.
8907
983b414d
VS
89082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8911 warning. Move variables before code while on it.
8912
5d063cdc
VS
89132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Fuloong support.
8916
8917 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8918 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8919 * grub-core/boot/mips/loongson/fuloong.S: New file.
8920 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8921 Explicitly init CS5536.
8922 [FULOONG]: Don't use serial until CS5536 is available.
8923 Set GPIO based on dumps.
8924 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8925 [FULOONG]: Handle GPIO and memory controller differences.
8926 Parse machine type in $a2.
8927 * grub-core/boot/mips/startup_raw.S: Determine and save the
8928 architecture.
8929 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8930 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8931 init on architecture type.
8932 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8933 SIS315E. Don't init at_keyboard on fuloong.
8934 (grub_halt): Support Fuloong.
8935 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8936 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8937 (loongson_machtypes): New array.
8938 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8939 type.
8940 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8941 config. All users updated. Handle CS5536 serial.
8942 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8943 default port on machine type. Register serial as inactive.
8944 * grub-core/video/sis315pro.c: New file.
8945 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8946 definition.
8947 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8948 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8949 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8950 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8951 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8952 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8953 to ...
8954 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8955 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8956 definition.
8957 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8958 (grub_arch_machine): New extern var.
8959 * include/grub/mips/loongson/serial.h
8960 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8961 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8962 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8963 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8964 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8965 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8966 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8967 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8968 * include/grub/term.h (grub_term_register_input_inactive): New inline
8969 function.
8970 (grub_term_register_output_inactive): Likewise.
8971 * include/grub/video.h (grub_video_driver_id): New value
8972 GRUB_VIDEO_DRIVER_SIS315PRO.
8973 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8974 New field "names". All users updated.
8975 New field value IMAGE_FULOONG_FLASH.
8976 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8977
6ada82d1
JU
89782011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8979
8980 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8981 and add some clarification.
8982
90c571a4
VS
89832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8986 platforms if kernel is compressed.
8987
de04eecf
VS
89882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8991 unused modules since currently referrence counter isn't reliable and
8992 there isn't much memory to recover there anyway.
8993
57688121
VS
89942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8997 rather than resetting it to allow modules to reference themselves
8998 in init.
8999
3d2c7e35
VS
90002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9003 counter on dependencies since grub_dl_unref already handles this.
9004
b25db218
VS
90052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9008 on error if not already done.
9009
25a45338
VS
90102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 Fix few potential memory misusage.
9013
9014 * grub-core/font/font.c (load_font_index): Don't free char_index to
9015 avoid double free.
b25db218
VS
9016 (grub_font_load): Zero-fill font at alloc for safety.
9017 Close file on error.
9018 (free_font): Free bmp_idx.
25a45338 9019
0cac83df
VS
90202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * docs/grub.texi (Installation): Fix several outdated claims.
9023
2217a143
VS
90242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 Handle module_license on windows.
9027
9028 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9029 sections shifted.
9030 (insert_string): Make argument const char * instead of char *.
9031 (write_section_data): Handle long section names.
9032 Handle module_license.
9033
d4de6b01
VS
90342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9037 handle class-free menuentries.
9038 (grub_normal_add_menu_entry): Add a check to be sure.
9039
4c2a3b43
VS
90402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9043 PgUp and PgDown.
9044
85c6210f
VS
90452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * configure.ac: Bump version to 1.99.
9048
36084912
VS
90492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Give ATA device a bit more time on first try in order to allow disks
9052 to spin up.
9053
9054 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9055 if dev->present is 1. Reset dev->present on failure.
9056 (grub_ata_device_initialize): Set dev->present to 1.
9057 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9058 (grub_ata_device): New member 'present'.
9059
bda0e219
VS
90602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * util/grub-mkimage.c (generate_image): Update hash.
9063
19e1c41b
VS
90642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 Flush caches on DMA memory.
9067
9068 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9069 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9070 (grub_dma_free): Likewise.
9071 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9072
91bbcc0c
VS
90732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9076 to avoid asm treating ld and sd as macros.
9077
60ddfad3
VS
90782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9081 decompressor.
9082
a298aa04
VS
90832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9086 grub_decompress_core since later would fail if grub_decompress_core
9087 is too far.
9088
9b44feca
VS
90892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9092 R_MIPS_JALR since it's used by newer compiler.
9093
56dbe7b4
VS
90942011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9097
52856af2
VS
90982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9101 file_path to 0 for surety.
9102 (grub_chainloader_boot): Set exit_data to NULL.
9103 Unset the loader once done.
9104 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9105
9c9bfc6d
VS
91062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9109 unknown key into a dprintf.
9110
dd94a3df
VS
91112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9114 on first non-existant partition.
9115
fa68d99c
VS
91162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9119 openning fails.
9120 Reported by: Mark Korenberg.
9121
157effb7
VS
91222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9125 overflow.
9126
ea75312f
VS
91272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9130 before closing to ensure that it will be readable by grub-setup.
9131
072b5d31
VS
91322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9135 (devpath_1): Use MAKE_PIWG_PATH.
9136 (devpath_2): Likewise.
9137 (devpath_3): Likewise.
9138 (devpath_4): Likewise.
9139 (devpath_5): Likewise.
9140 (devpath_6): Likewise.
9141
9142 The appleldr.mod was checked that to be binary identical to previous
9143 version.
9144
7fae0051
Z
91452011-05-05 Zach <mikezackles>
9146
9147 Support 2010 Macbooks.
9148
9149 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9150 (devs): Add devpath_6.
9151
7c515bee
VS
91522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9155 /dev/random. /dev/urandom is good enough for our purposes (salting).
9156
ed660bd8
VS
91572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9160
ee5614b7
VS
91612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9164 hexadecimal.
9165
664889a6
VS
91662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9169 and not 0 on failure.
9170
bd405bbc
CW
91712011-05-03 Colin Watson <cjwatson@ubuntu.com>
9172
9173 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9174 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9175 disk; otherwise grub_fs_probe will not fall back to the next
9176 filesystem.
9177 (grub_pxefs_open): Likewise, for consistency.
9178 Reported and tested by: Ezekiel Grave.
9179
4ebff753
CW
91802011-05-03 Colin Watson <cjwatson@ubuntu.com>
9181
9182 * tests/partmap_test.in: Don't hardcode path to parted.
9183 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9184
8f942553
CW
91852011-05-01 Colin Watson <cjwatson@ubuntu.com>
9186
9187 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9188 of `ls' to find out which devices are available.
9189
3c62402d
VS
91902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9193 than source address for efi mmap buffer.
9194
723f63f2
VS
91952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9198 wrong action on non-detecting the magic.
9199
68797f92
VS
92002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9203 already supplied by another part of the module (fixes compilation on
9204 FreeBSD).
9205
6be8715d
VS
92062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9209 match the one used by mdadm.
9210
e91dba5b
CW
92112011-04-21 Colin Watson <cjwatson@ubuntu.com>
9212
9213 * po/README: Add instructions for creating po/LINGUAS.
9214
c85140b3
CW
92152011-04-21 Colin Watson <cjwatson@ubuntu.com>
9216
9217 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9218 #551428.
9219
9220 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9221 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9222 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9223 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9224 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9225 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9226 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9227 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9228 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9229 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9230 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9231 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9232 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9233 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9234 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9235 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9236 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9237 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9238 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9239 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9240 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9241 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9242
92051871
CW
92432011-04-21 Colin Watson <cjwatson@ubuntu.com>
9244
9245 * grub-core/kern/emu/getroot.c
9246 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9247 test that was incorrectly reintroduced in r3214.
9248 Reported by: Ian Dall. Fixes Savannah bug #33133.
9249
b13f79a4
CW
92502011-04-21 Colin Watson <cjwatson@ubuntu.com>
9251
9252 Fix stack pointer handling in 16-bit relocator.
9253
9254 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9255 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9256 Fixes Ubuntu bug #683904.
9257
9b710a88
VS
92582011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * configure.ac: Bump version to 1.99~rc2.
9261
d97e7b59
VS
92622011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9265 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9266 * grub-core/lib/x86_64/setjmp.S: Likewise.
9267 * grub-core/lib/mips/setjmp.S: Likewise.
9268 * grub-core/lib/powerpc/setjmp.S: Likewise.
9269 * grub-core/lib/sparc64/setjmp.S: Likewise.
9270
0624551c
VS
92712011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9274 * grub-core/lib/efi/datetime.c: Likewise.
9275
e8f28d4c
VS
92762011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9279 New function.
9280 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9281 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9282 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9283
bba79a15
VS
92842011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9287 bitmap.
9288 (grub_gfxterm_term_init): Likewise.
9289
abc474ef
VS
92902011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 Take into account the decorations the computing menu entry width.
9293
9294 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9295 (grub_gfxmenu_create_box): Register get_border_width.
9296 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9297 if available.
9298 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9299 get_border_width.
9300
e74b3947
EP
93012011-04-18 Endres Puschner <code@e7p.de>
9302
9303 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9304 Don't skip first class.
9305
34faa595
VS
93062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9309 chunks.
9310 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9311
93a777e3
VS
93122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 Complete 64-bit division support.
9315
9316 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9317 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9318 * include/grub/misc.h (grub_divmod64): Rename to ...
9319 (grub_divmod64_full): ... this.
9320 (grub_divmod64): New inline function.
9321
a5102d94
VS
93222011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9325
f3fb7b36
VS
93262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9329 performing the necessary test.
9330
9ac718b0
VS
93312011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9334 (kfreebsd.elf): Likewise.
9335 (pc-chainloader.elf): Likewise.
9336 (ntldr.elf): Likewise.
9337
50d2cc5a
VS
93382011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Identify RAID by its UUID rather than (guessed) name.
9341
9342 * grub-core/disk/raid.c (ascii2hex): New function.
9343 (grub_raid_open): Accept mduuid/%s specification.
9344 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9345 (get_mdadm_uuid): ... this.
9346 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9347
e03f7bea
VS
93482011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9351 to negative size.
9352
e74c3112
CW
93532011-04-13 Colin Watson <cjwatson@ubuntu.com>
9354
9355 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9356 btrfs subvolume.
9357 * util/grub.d/20_linux_xen.in: Likewise.
9358
78fa584f
CW
93592011-04-13 Colin Watson <cjwatson@ubuntu.com>
9360
9361 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9362 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9363
9364 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9365 Build a list of relevant visible mounts using the mnt_id and
9366 parent_mnt_id fields, and then scan that list at the end.
9367
9d5f8162
CW
93682011-04-12 Colin Watson <cjwatson@ubuntu.com>
9369
9370 * docs/grub.texi (normal): New section.
9371 (normal_exit): New section.
9372 (Embedded configuration): Add reference to normal.
9373 (GRUB only offers a rescue shell): Likewise.
9374 * docs/grub-dev.texi (Error Handling): Fix typo.
9375
09a9d66f
CW
93762011-04-12 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * NEWS: Drop obsolete entry about probe-only btrfs support.
9379
0c676933
CW
93802011-04-12 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * util/import_gcry.py: Fix typo.
9383
ec9f5e0d
VS
93842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * NEWS: Add btrfs support.
9387
fe6b2cba
VS
93882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
93892011-04-11 Colin Watson <cjwatson@ubuntu.com>
9390
9391 BtrFS support. Written by me (Vladimir) with important bugfixes and
9392 even more important testing by Colin.
9393
9394 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9395 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9396 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9397 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9398 mem_input_off and mem_input. All users updated to accept in-RAM input.
9399 (gzio_seek): New function.
9400 (test_zlib_header): Likewise.
9401 (grub_gzio_read): Likewise.
9402 (grub_zlib_decompress): Likewise.
9403 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9404 Accept partial and non-virtual mounts.
9405 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9406 avoid receiving /dev/dm-X as device.
9407 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9408 Handle bind and partial mounts.
9409 * grub-core/lib/crc.c: New file.
9410 * include/grub/deflate.h: Likewise.
9411 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9412 proto.
9413 * include/grub/lib/crc.h: New file.
9414
e745cf0c
VS
94152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 Implement automatic module license checking according to new GNU
9418 guidelines.
9419
9420 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9421 (grub_dl_load_core): Use grub_dl_check_license.
9422 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9423 (GRUB_MOD_LICENSE): Likewise.
9424 (GRUB_MOD_DUAL_LICENSE): Likewise.
9425 All modules updated.
9426
2a9bc016
CW
94272011-04-11 Colin Watson <cjwatson@ubuntu.com>
9428
9429 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9430 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9431 loaders.
9432 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9433
8a3bc88e
VS
94342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9437
af869a4a
VS
94382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9441 failed.
9442
9ee8d94f
VS
94432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9446 parenthesis in the middle of the filename.
9447
b01abe3e
VS
94482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9451 rather than trying to put initrd way too high.
9452 Reported by: Ryan Lortie <desrt@desrt.ca>
9453
335bda1e
VS
94542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9457 improperly removed string.
9458
5ca1a64d
VS
94592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9462 is_disk.
9463 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9464 (open_device) Likewise.
9465 (grub_util_biosdisk_close): Likewise.
d8ce9995 9466 Reported by: Mark Korenberg.
5ca1a64d 9467
cbac5b1e
AK
94682011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9469
9470 * util/grub-mkconfig_lib.in: Add missing quotes.
9471
088cdb65
CW
94722011-04-10 Colin Watson <cjwatson@ubuntu.com>
9473
9474 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9475 is NULL.
9476
8b8a81fa
VS
94772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 Dynamically count the number of lines for the lower banner.
9480
9481 * grub-core/normal/menu_entry.c (per_term_screen): New member
9482 num_entries.
9483 (print_down): Use num_entries.
9484 (update_screen): Likewise.
9485 (grub_menu_entry_run): Set num_entries.
9486 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9487 num_entries.
9488 (grub_print_message_indented): Move real part to ...
9489 (grub_print_message_indented_real): ... here. Additional argument
9490 dry_run.
9491 (draw_border): Additional argument num_entries.
9492 (print_message): Additional argument dry_run.
9493 (print_entries): Receive menu viewer data.
9494 (grub_menu_init_page): New argment num_entries.
9495 (menu_text_set_chosen_entry): Use num_entries.
9496 (grub_menu_try_text): Likewise.
9497 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9498 All users updated.
9499 (grub_ucs4_count_lines): New function.
9500 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9501 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9502 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9503 (grub_term_border_height): Likewise.
9504 (grub_term_num_entries): Likewise.
9505
277f955b
VS
95062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9509 Remove now unused string.
9510
536ce85a
CW
95112011-04-09 Colin Watson <cjwatson@ubuntu.com>
9512
9513 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9514 build system.
9515 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9516
9517 (Comment): Fix typo.
9518 (Getting started): General copy-editing.
9519 (Typical Development Experience): Likewise.
9520 (Error Handling): Likewise.
9521 (Video API): Likewise.
9522
2cf09e32
CW
95232011-04-09 Colin Watson <cjwatson@ubuntu.com>
9524
9525 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9526 throughout.
9527
1ec652f4
VS
95282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9531 directory.
9532
2c583728
CW
95332011-04-08 Colin Watson <cjwatson@ubuntu.com>
9534
9535 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9536 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9537 "development".
9538
d7a565e9
VS
95392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9542 grub_strcpy since the lines aren't necessarily 0-terminated.
9543
7c2e4909
VS
95442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9547 root on legacy.
9548
34c09785
VS
95492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9552 (GRUB_MOD_INIT): DEVICE isn't optional.
9553
6a6f8058
VS
95542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9557 word on new line if it's too long anyway. Fixes a hang.
9558
2e335e90
VS
95592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9562 const.
9563 * util/grub-setup.c (main): Reuse md device name if available.
9564 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9565 not GRUB name as argument.
9566 Based on patch by: Florian Wagner <fwagner>.
9567
10a7a867
VS
95682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9571 Place mbi on low memory for better compatibility.
9572
7a3d6cd9
VS
95732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9576
18dd6b47
VS
95772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
95782011-04-08 Colin Watson <cjwatson@ubuntu.com>
9579
9580 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9581 * conf/Makefile.common: Likewise.
18dd6b47 9582
3c0e3f14
VS
95832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9584
f7148863
VS
9585 * grub-core/normal/menu.c: Add missing include.
9586
95872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9590
6d1fa41f
MZ
95912011-04-08 Martin Zuther <mzuther@mzuther.de>
9592
9593 * util/grub-mkconfig.in: Ignore emacsen backup.
9594
478182a8
VS
95952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9598 on open.
9599 (grub_util_biosdisk_close): Likewise.
9600
72a89a54
VS
96012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9604 const attribute and use grub_isdigit.
9605
b5ebecfa
A
96062011-04-06 Andrey <dev_null@ukr.net>
9607
9608 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9609 gcc warning.
9610
7755f66e
VS
96112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9614 useful grub_dprintf's.
9615
461121ff
VS
96162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9619
2a961775
VS
96202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9623
adf594cc
VS
96242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 Output errors if theme loading failed.
9627
9628 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9629 grub_gfxterm_fullscreen on error paths to ...
9630 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9631 theme loading error.
9632
665900a3
VS
96332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9636 space for older compilers.
9637 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9638
a562b479
VS
96392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9642 and report them as not RAID members since they are useless for GRUB.
9643 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9644
850e9373
VS
96452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Increase LVM implementation robustness in order not to crash on
9648 configurations like pvmove. Previously code assumed that in some places
9649 only lvs or only pvs are used whereas it seems that they are used
9650 interchangeably.
9651
9652 * grub-core/disk/lvm.c (read_node): New function.
9653 (read_lv): Use read_node.
9654 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9655 Match volumes only at the end when all lvs are found. Take both
9656 pvs (first) and lvs (second) into account.
9657 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9658 mirror_* into node_*. All users updated.
9659 (grub_lvm_stripe): Merge this ...
9660 (grub_lvm_mirror): ... and this ...
9661 (grub_lvm_node): ... into this. All users updated.
9662
6f332153
VS
96632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9666 of function to allow further scanning for LVMs.
9667
829ea451
VS
96682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9671 on failed seek as it breaks open fd reusage.
9672
09ceb9a5
VS
96732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * util/grub-install.in: Add a recommendation to use --recheck before
9676 reporting bugs.
9677
67e11623
VS
96782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9681 are obtained.
9682
caee5efd
VS
96832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 GRUB developper manual based on existing Internals section and
9686 contributions by the various authors with active copyright assignment.
9687
9688 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9689 * docs/font_char_metrics.png: New file.
9690 * docs/font_char_metrics.txt: Likewise.
9691 * docs/grub-dev.texi: Likewise.
9692 * docs/grub.texi (Internals): Move from here ...
9693 * docs/grub-dev.texi: ... here.
9694
2cccc747
CW
96952011-04-01 Colin Watson <cjwatson@ubuntu.com>
9696
9697 Store the loopback device as data on loopback grub_disk structures,
9698 rather than the file it points to. This fixes use of freed memory
9699 if an existing loopback device is replaced.
9700
9701 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9702 disk->data, not dev->file.
9703 (grub_loopback_read): Adjust file assignment to match.
9704 Fixes Ubuntu bug #742967.
9705
186ae367
CW
97062011-04-01 Colin Watson <cjwatson@ubuntu.com>
9707
9708 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9709 when replacing an existing device.
9710
cfed2ad0
VS
97112011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9714 memory corruptions.
9715
9716 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9717 unsigned.
9718 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9719 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9720 (grub_jfs_read_inode): Likewise.
9721 (grub_jfs_opendir): Likewise. Remove now useless casts.
9722 (grub_jfs_getent): Likewise.
9723 Make ino a grub_uint32_t rather than int.
9724 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9725 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9726 division and module with bit operations.
9727 (grub_jfs_find_file): Make ino a grub_uint32_t.
9728 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9729
05d2ed32
CW
97302011-04-01 Colin Watson <cjwatson@ubuntu.com>
9731
9732 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9733 warning. (This was in fact always initialised before use, but GCC
9734 wasn't smart enough to prove that.)
9735 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9736
91dc6073
VS
97372011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9740 stack alignment.
9741 (efi_wrap_1): Likewise.
9742 (efi_wrap_2): Likewise.
9743 (efi_wrap_3): Likewise.
9744 (efi_wrap_4): Likewise.
9745 (efi_wrap_5): Likewise.
9746 (efi_wrap_6): Likewise.
9747 (efi_wrap_10): Likewise.
9748 Based on information by: Red Hat/Peter Jones.
9749
a8afc1d1
CW
97502011-03-31 Colin Watson <cjwatson@ubuntu.com>
9751
9752 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9753 set-but-not-used variable.
9754
a826cc7d
CW
97552011-03-31 Colin Watson <cjwatson@ubuntu.com>
9756
9757 * docs/grub.texi (Simple configuration): Be more explicit about
9758 GRUB_DEFAULT, and add an example.
9759 Reported by: Leslie Rhorer.
9760
875b67ba
CW
97612011-03-30 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9764 shell".
9765
fd7cd914
AS
97662011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9767
9768 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9769 * util/grub.d/20_linux_xen.in: Likewise.
9770
090b1b6a
VS
97712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * util/grub.d/10_linux.in: Try alternative config filenames where
9774 we parse config file.
9775 * util/grub.d/20_linux_xen.in: Likewise.
9776
baad885c
AS
97772011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9778
9779 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9780 * util/grub.d/20_linux_xen.in: Likewise.
9781
241e41f5
VS
97822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/disk/raid.c (insert_array): Add few potentially
9785 useful grub_util_info.
9786 (grub_raid_register): Likewise.
9787
56445fb2
VS
97882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9791 Preserve partition number in mdadm code path.
9792
c871b1c6
VS
97932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9796 few potentially useful grub_util_info.
9797
5e631b4f
CW
97982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9801
2d5d0333
CW
98022011-03-30 Colin Watson <cjwatson@ubuntu.com>
9803
9804 * docs/grub.texi (default): Use @example rather than nested
9805 itemized lists to avoid breaking gendocs.
9806
3d7ed04e
CW
98072011-03-30 Colin Watson <cjwatson@ubuntu.com>
9808
9809 * docs/grub.texi (Future): Update.
9810
abf04200 98112011-03-30 Colin Watson <cjwatson@ubuntu.com>
9812
9813 * docs/grub.texi (Environment): New chapter.
9814 (Changes from GRUB Legacy): Link to "Environment block" section for
9815 details of limitations.
9816 (Simple configuration): Likewise. Link to documentation of gfxmode
9817 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9818 respectively.
9819 (Shell-like scripting): Note that normal variables are stored in the
9820 environment.
9821 (gettext): Link to documentation of lang and locale_dir.
9822 (list_env): New section.
9823 (load_env): New section.
9824 (save_env): New section.
9825
9826 (Reporting bugs): Fix typo.
9827
e1ad0edd
VS
98282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9831 the example.
9832
5d803174
VS
98332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/term/at_keyboard.c (set_scancodes)
9836 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9837
2a2da1d0
CW
98382011-03-30 Colin Watson <cjwatson@ubuntu.com>
9839
9840 * docs/grub.texi (Menu-specific commands): Remove some semantics
9841 that were true in GRUB Legacy but not in GRUB 2.
9842 (submenu): New section.
9843 (false): New section.
9844 (read): New section.
9845 (true): New section.
9846
a7527639
CW
98472011-03-30 Colin Watson <cjwatson@ubuntu.com>
9848
9849 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9850
98512011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9852
9853 * docs/grub.texi (Simple configuration): Explain some of the
9854 current limitations of grub-mkconfig.
8a748df2 9855 Reported by: Leslie Rhorer.
e30af029 9856
fc858482
VS
98572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 Old macs search for boot.efi rather than for bootia32.efi.
9860
9861 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9862 * util/grub-mkrescue.in: Likewise.
9863 Suggested by: Peter Jones.
9864
e1eb511d
VS
98652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9868
70e75364
VS
98692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9872 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9873 (grub_lvm_mirror): New struct.
9874 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9875 (grub_lvm_iterate): Iterate only visible volumes.
9876 (grub_lvm_read): Factor out to ..
9877 (read_lv): ... this. Support mirrors.
9878 (grub_lvm_read): New wrapper function.
9879 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9880 stripped or mirrored.
9881
fc18f6a3
VS
98822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9885
5c650f4c
CW
98862011-03-29 Colin Watson <cjwatson@ubuntu.com>
9887
9888 * docs/grub.texi (loopback): New section.
9889
61d7156b
CW
98902011-03-29 Colin Watson <cjwatson@ubuntu.com>
9891
9892 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9893 removed -p option.
9894
994b8264
CW
98952011-03-29 Colin Watson <cjwatson@ubuntu.com>
9896
9897 * docs/grub.texi (BIOS installation): New section, partly based on
9898 previous text in other sections.
9899 (Installing GRUB using grub-install): Replace BIOS discussion with a
9900 cross-reference.
9901 (Images): Likewise.
9902
9e4d19e0
VS
99032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9906 [HAVE_DIOCGDINFO]: Add safety checks.
9907
a307c0b2
VS
99082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9911 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9912
b4db4f39
CW
99132011-03-29 Colin Watson <cjwatson@ubuntu.com>
9914
9915 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9916 real_sb->size is zero (e.g. RAID-0), get the disk size from
9917 real_sb->data_size instead.
9918 Fixes Ubuntu bug #743136.
9919
35e5f84c
VS
99202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9923 printf clauses for printing size and start.
9924
d2e29d81
VS
99252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9928 Reported and tested by: Timothy Nikkel.
9929
ed5587af
VS
99302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9933 (dirty_region_add_real): ... this.
9934 (dirty_region_add): Don't discard margin refresh when performing
9935 scheduled repaint.
9936
a1dc717c
VS
99372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/lib/relocator.c (allocate_regstart)
9940 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9941 terminals are capabple of malloc-free operation.
9942 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9943 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9944
9f3677d3
VS
99452011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9946
9947 * util/grub-setup.c: Copy the partition table zone if floppy support
9948 is disabled, even if no partition table is found.
9949
9950 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9951 during POST if an invalid partition table is contained in the PBR
9952 of the active partition when GRUB is installed to a partition.
9953
24148725
CW
99542011-03-28 Colin Watson <cjwatson@debian.org>
9955
9956 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9957 comment.
9958
f329eda7
CW
99592011-03-28 Colin Watson <cjwatson@debian.org>
9960
9961 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9962 to be specific about what kind of RAID device we're scanning for.
9963
c482ad98
SG
99642011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9965
9966 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9967 return freed string.
9968
5ee04984
VS
99692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9972
f4727da9
VS
99732011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 Use libgeom on FreeBSD to detect partitions.
9976
9977 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9978 (grub-mkrelpath): Likewise.
9979 (grub-script-check): Likewise.
9980 (grub-editenv): Likewise.
9981 (grub-mkpasswd-pbkdf2): Likewise.
9982 (grub-fstest): Likewise.
9983 (grub-mkfont): Likewise.
9984 (grub-mkdevicemap): Likewise.
9985 (grub-probe): Likewise.
9986 (grub-setup): Likewise.
9987 (grub-ofpathname): Likewise.
9988 (grub-mklayout): Likewise.
9989 (example_unit_test): Likewise.
9990 (grub-menulst2cfg): Likewise.
9991 * grub-core/Makefile.core.def (grub-emu): Likewise.
9992 (grub-emu-lite): Likewise.
9993 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9994 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9995 define HAVE_DIOCGDINFO.
9996 (follow_geom_up) [FreeBSD]: New function.
9997 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9998 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9999 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10000 unconditionally of HAVE_DIOCGDINFO.
10001
82fe6c75
VS
100022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 Fix FreeBSD compilation problem.
10005
10006 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10007 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10008
4c6c9431
CW
100092011-03-24 Colin Watson <cjwatson@ubuntu.com>
10010
10011 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10012 Switch back to page zero before loading a kernel, since some kernel
10013 drivers expect that.
10014 Thanks to: Felix Kuehling.
10015
c7064d94
VS
100162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10019 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10020 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10021
3f71cded
VS
100222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10025 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10026
ef6de21a
VS
100272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10030 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10031 malloc is disabled.
10032
8bc66a2c
VS
100332011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10036 for modules headers when counting the needed allocation size.
10037
5657722c
VS
100382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10041 if no ASCII character is found to prevent crash.
10042
41a85f55
AK
100432011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10044
10045 * grub-core/video/bitmap.c (match_extension): Ignore case.
10046
59e1e5f1
VS
100472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10050
bd4d051a
VS
100512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/script/parser.y: Declare "time" as valid argument.
10054
bae7fcc1
PJ
100552011-03-23 Peter Jones <pjones@redhat.com>
10056
10057 Fix incorrect assert failure reporting.
10058
10059 * grub-core/tests/example_functional_test.c (example_test): Add
10060 a failure comment.
10061 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10062 (failure_start): ...this. Check that malloc succeeded.
10063 Don't call xvasprintf. Return failure struct.
10064 (failure_append_vtext): New function.
10065 (failure_append_text): Likewise.
10066 (add_failure): Likewise.
10067 (grub_test_assert_helper): Likewise.
10068 * include/grub/test.h (grub_test_assert_helper): New declaration.
10069 (grub_test_assert): Macro rewritten.
10070
537dc9be
VS
100712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10074
fa3e01bf
VS
100752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10078
b1d28404
VS
100792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10082 into GRUB-style one.
10083
2e3e2e09
VS
100842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10087 error and not grub_errno.
10088 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10089
ed57e557
VS
100902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10093 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10094
d1611f01
VS
100952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * grub-core/efiemu/i386/pc/cfgtables.c
10098 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10099 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10100 (grub_xnu_unlock): Likewise.
10101 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10102
7d4e39d6
VS
101032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10106 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10107 * grub-core/commands/hashsum.c (aliases): Likewise.
10108 * grub-core/commands/setpci.c (pci_registers): Likewise.
10109 * grub-core/disk/usbms.c (attach_hook): Likewise.
10110 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10111 (zio_checksum_table): Likewise.
10112 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10113 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10114 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10115 * grub-core/lib/relocator.c (leftovers): Likewise.
10116 (extra_blocks): Likewise.
10117 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10118 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10119 (modules_last): Likewise.
10120 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10121 (devices): Likewise.
10122 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10123 (modules_last): Likewise.
10124 * grub-core/normal/auth.c (users): Likewise.
10125 * grub-core/normal/context.c (initial_menu): Likewise.
10126 (current_menu): Likewise.
10127 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10128 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10129 (grub_serial_terminfo_input_template): Likewise.
10130 (grub_serial_terminfo_output_template): Likewise.
10131 (grub_serial_terminfo_input): Likewise.
10132 (grub_serial_terminfo_output): Likewise.
10133 (registered): Likewise.
10134 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10135
40fc4659
VS
101362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10139 grub_video_mode_type_t.
10140 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10141 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10142 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10143
2da48d28
VS
101442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * util/grub-install.in: Correct the x86-64 name as x86_64.
10147
9b43bf39
CW
101482011-03-11 Colin Watson <cjwatson@ubuntu.com>
10149
10150 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10151 initial chunk read from the kernel always includes GRUB's multiboot
10152 header, which is now outside the first sector.
10153
be1a7ce0
CW
101542011-03-09 Colin Watson <cjwatson@ubuntu.com>
10155
10156 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10157 cached mmap_size, so that this works correctly when called multiple
10158 times.
10159 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10160
83a3c48d
CW
101612011-03-09 Colin Watson <cjwatson@ubuntu.com>
10162
10163 * docs/grub.texi (Simple configuration): Tidy up formatting.
10164
57d75699
SJ
101652011-03-07 Szymon Janc <szymon@janc.net.pl>
10166
10167 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10168 Set-but-not-used variable removed.
10169
028501a0
VS
101702011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Workaround yet another IEEE1275 bug.
10173
10174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10175 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10176 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10177 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10178 is set.
10179 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10180 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10181
d998657d
VS
101822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10185 error.
10186
fee7cdd4
CW
101872011-02-11 Colin Watson <cjwatson@ubuntu.com>
10188
10189 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10190 empty, since in that case we can only generate either nothing or a
10191 syntactically invalid configuration file.
10192 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10193
97286eb5
CW
101942011-02-09 Colin Watson <cjwatson@ubuntu.com>
10195
10196 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10197 (Making a GRUB bootable CD-ROM): Likewise.
10198 (Invoking grub-mkrescue): New section.
10199 Reported by: Yann Dirson. Fixes Debian bug #612585.
10200
22b28eb3
CW
102012011-02-09 Colin Watson <cjwatson@ubuntu.com>
10202
10203 * util/grub-install.in: Remove unnecessary brackets from tr
10204 arguments.
10205 * util/grub.d/10_hurd.in: Likewise.
10206 * util/grub.d/10_kfreebsd.in: Likewise.
10207 * util/grub.d/10_linux.in: Likewise.
10208 * util/grub.d/20_linux_xen.in: Likewise.
10209 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10210
7e735e43
CW
102112011-02-08 Colin Watson <cjwatson@ubuntu.com>
10212
10213 * include/grub/file.h (not_easly_seekable): Rename to ...
10214 (not_easily_seekable): ... this. Update all users.
10215
800f1881
CW
102162011-01-28 Colin Watson <cjwatson@ubuntu.com>
10217
10218 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10219 grub-mkrescue.
10220
3281d3d6
VS
102212011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * util/grub-mkimage.c (generate_image): Refuse to create the images
10224 bigger than the actual flash (512K) in Loongson machines. 512K is also
10225 the biggest chip supported by them.
10226
3533413c
VS
102272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10230
73ae4f4f
VS
102312011-01-22 Anthony DeRobertis <anthony@derobert.net>
10232
10233 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10234 super_offset field.
10235
37f4f608
VS
102362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/grub-install.in: Ignore install device on platforms
10239 where it doesn't make sense. Always use UUIDs except on pc, efi and
10240 sparc64.
10241 Reported by: Daniel Kahn Gillmor.
10242
03a4ccb5
VS
102432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10246
ffc8f4d8
VS
102472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10250 (iterate_real): Don't rely on partition being non-NULL.
10251
80f23be7
VS
102522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10255 supported platforms. Put a compile time assert for this rather than
10256 generate a warning with 32-bit shift.
10257
5d4f4dd5
VS
102582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10261 logical expression more readable.
10262
e489601a
VS
102632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10266 even if some elements have a name.
10267 Reported by: Alexander GQ Gerasiov.
10268
96e0a6ea
CW
102692011-01-22 Colin Watson <cjwatson@ubuntu.com>
10270
10271 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10272 path unreadable if `grub-probe -t abstraction' fails, for example if
10273 memberlist fails on an LVM volume group.
10274 Reported by: Darius Jahandarie.
10275
81431e2b
CW
102762011-01-22 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * docs/grub.texi (Simple configuration): Document
10279 GRUB_PRELOAD_MODULES.
10280
5e79d66a
CW
102812011-01-17 Colin Watson <cjwatson@ubuntu.com>
10282
10283 * .bzrignore: Remove nonexistent grub-pbkdf2.
10284
646ada34
VS
102852011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * configure.ac: Bump version to 1.99~rc1.
10288
04360337
VS
102892011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10292 for safety.
10293
46c9db88
VS
102942011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10297 module.
10298
102992011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10300
10301 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10302
4fbf1852
VS
103032011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10306 diskdevid.
10307
f1632d4d
VS
103082011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 Fix compilation on cygwin.
10311
10312 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10313 -R .drectve on cygwin.
10314 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10315 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10316 (COND_CYGWIN): New condition.
10317 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10318 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10319 not @TARGET_OBJ2ELF@.
10320 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10321 type to determine whether aux is to be used.
10322
0b5e127b
VS
103232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10326 realpath'ed device string.
10327 Handle floppy (somewhat).
10328 Issue error in unknown case rather than garbage.
10329 Reported by: Axel Beckert.
10330
173b71e9
VS
103312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * util/grub.d/00_header.in (load_video): Handle the case when no video
10334 drivers available.
10335 Thanks to: Axel Beckert.
10336
f8f479db
VS
103372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10340 variable. Fixes problem on big endian platforms.
10341
8fc0a245
VS
103422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10345 It doesn't work well there.
10346
b8494fbe
VS
103472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10350 warning.
10351 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10352 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10353 counter.
10354
b44a558c
VS
103552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 Use alias->path rather than buggy "canon".
10358
10359 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10360 (ofdisk_hash_add): New argument curcan. All users updated.
10361
51fa856c
CW
103622011-01-11 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10365
9da068a5
VS
103662011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10369 loadmask before doing any calculations. Use correct type for offset.
10370 (grub_linux_load64): Likewise.
10371
86205c94
CW
103722011-01-11 Colin Watson <cjwatson@ubuntu.com>
10373
10374 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10375 with NULL.
10376 (console_grub_equivalences_unshift): Likewise.
10377 Reported by: Daniel Dehennin.
10378
4531a206
VS
103792011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10382 (set_env_limn_ro): Likewise.
10383 (GRUB_MOD_INIT): Likewise.
10384 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10385 ARRAY_SIZE while on it.
10386 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10387 * grub-core/normal/context.c (grub_env_export): Move from here ...
10388 * grub-core/kern/env.c (grub_env_export): ... here.
10389 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10390 prefix.
10391 * grub-core/kern/main.c (grub_main): Export root and prefix.
10392 * include/grub/env.h (grub_env_export): Export.
10393 Reported by: Seth Goldberg.
10394
45146057
VS
103952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10398 Take into account space used by ELF sections and multiboot palette.
10399 Reported by: Grégoire Sutre.
10400
f093110b
VS
104012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * BUGS: New file.
10404
3395fe52
VS
104052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 Pass more appropriate video id to Linux.
10408
10409 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10410 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10411 fill have_vga.
10412 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10413 shift params->lfb_size.
10414 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10415
c2fa6cbb
VS
104162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10419
b3ff6ff0
VS
104202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10423 separator and pass bootpath/devid even if only one of them is available.
10424 Reported by: Seth Goldberg.
10425
ae67942e
VS
104262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10429 implementations bug on them.
10430
10431 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10432 memory.
10433 (filter_memory_map): Likewise.
10434
d570097a
VS
104352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10438 Reported by: nebuchadnezzar.
10439
a508e776
VS
104402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10443 Reported by: nebuchadnezzar.
10444
dcb883b1
VS
104452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 Submenu default support.
10448
10449 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10450 auto_boot. All users updated.
10451 Declared static.
10452 Handle chosen and default with submenus.
10453 (grub_menu_execute_with_fallback): Declared static.
10454 Don't notify failure if autobooted. Upper level does it.
10455 (menuentry_eq): New function.
10456 (get_entry_number): Use menuentry_eq.
10457 (show_menu): New parameter "autobooted". All users updated.
10458 (grub_show_menu): Likewise.
10459 * include/grub/normal.h (grub_show_menu): Likewise.
10460 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10461 (grub_menu_execute_with_fallback): Likewise.
10462
6fef99b4
VS
104632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * util/grub-mklayout.c (usage): Update help text.
10466
47a77af5
VS
104672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10470
ce6bb3ee
VS
104712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * util/grub-menulst2cfg.c (main): Trim the line.
10474
db87be2a
VS
104752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10478 (grub_machine_init): Don't check amount of low memory as reportedly
10479 INT 12h can be broken and if low memory is too low we wouldn't have
10480 gotten into grub_machine_init anyway.
10481
c49849cc
VS
104822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10485 (grub_machine_mmap_iterate): Take low memory into account
10486
b1969b30
VS
104872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10490 badfs.
10491 Reported by: TiCPU.
10492
cf0eaf13
VS
104932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10496 members errors.
10497
1f060f39
GS
104982011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10499
10500 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10501 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10502
a21e5672
GS
105032011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10504
10505 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10506 openbsd and netbsd types being in part_bsd module.
10507
c88172fa
VS
105082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10511 (_FILE_OFFSET_BITS): Likewise.
10512 Reported by: Seth Goldberg.
10513
53798c4b
GS
105142011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10515
10516 * configure.ac: Check for libdevmapper header.
10517
e7121b69
VS
105182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10521 avoid aliasing.
10522 (fzap_lookup): Likewise.
10523 (dnode_get): Likewise.
10524 (make_mdn): Likewise.
10525 (zfs_mount): Likewise.
10526 (fzap_iterate): Use temporary pointer to avoid aliasing.
10527 (grub_zfs_read): Likewise.
10528 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10529 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10530 pointers to avoid aliasing.
10531 (grub_cmd_xnu_kernel64): Likewise.
10532 (grub_xnu_load_driver): Likewise.
10533
fc836af9
VS
105342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10537 aliasing warning.
10538 (grub_cmd_terminal_output): Likewise.
10539 Reported and tested by: Grégoire Sutre.
10540
f9f37648
VS
105412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10544 warning.
10545 Reported and tested by: Grégoire Sutre.
10546
ec1dfd63
VS
105472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * configure.ac: Do CPU substitution even if it's specified explicitly.
10550 Reported and tested by: Alain Greppin.
10551
9462775a
VS
105522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10555 Reported and tested by: Alain Greppin.
10556
0fd48e35
VS
105572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 Satisfy some bison versions need for inttypes.h.
10560
10561 * grub-core/lib/posix_wrap/inttypes.h: New file.
10562 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10563 (int16_t): Likewise.
10564 (int32_t): Likewise.
10565 (int64_t): Likewise.
10566 Reported and tested by: Alain Greppin.
10567
43f1bc83
VS
105682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10571 Silence spurious warning.
10572 Reported and tested by: Alain Greppin.
10573
64d1f041
SJ
105742011-01-07 Szymon Janc <szymon@janc.net.pl>
10575
10576 * docs/grub.texi (Support automatic decompression): Update with xz
10577 decompression support.
10578
25953e10
SJ
105792011-01-07 Szymon Janc <szymon@janc.net.pl>
10580
10581 Improve loaders' kernel command line handling.
10582
10583 * grub-core/lib/cmdline.c: New file.
10584 * include/grub/lib/cmdline.h: Likewise.
10585 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10586 grub_create_loader_cmdline to create kernel command line.
10587 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10588 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10589 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10590 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10591 (linux): Add lib/cmdline.c on common.
10592
e72d259f
VS
105932011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10596 inopos might be unaligned.
10597
c0cf26da
VS
105982011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10601 endian transformations.
10602 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10603 Based on report by: Doug Nazar.
10604
0ca09e6c
DN
106052011-01-07 Doug Nazar <nazard.michi@gmail.com>
10606
10607 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10608 array->members[i].start_sector.
10609 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10610
014b6806
VS
106112011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10614 Reported and tested by: Grégoire Sutre.
10615
415502c2
CW
106162011-01-06 Colin Watson <cjwatson@ubuntu.com>
10617
10618 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10619 avoid causing test failures by clearing the screen.
10620
71b6a2b7
CW
106212011-01-06 Colin Watson <cjwatson@ubuntu.com>
10622
10623 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10624 Fix prefix check to handle the case where dir ends with a slash
10625 (most significantly, "/" itself).
10626 Reported by: Michael Vogt.
10627
b3f8d28a
VS
106282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 Run terminfo_cls on initing terminfo output to clear the screen and
10631 move the cursor to (0,0).
10632
10633 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10634 Call grub_terminfo_output_init.
10635 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10636 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10637 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10638
4c3e4f37
VS
106392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10642 only when needed.
10643
488f71f1
VS
106442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10647 CTRL.
10648
18a38098
VS
106492011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 The E820 type 5 is BADRAM, not EXEC_CODE.
10652
10653 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10654 (GRUB_E820_BADRAM): New define.
10655 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10656 into reserved. Propagate BADRAM.
10657 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10658 (GRUB_E820_BADRAM): New define.
10659
9eae2084
VS
106602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10663 Ignore the memory post-4G.
10664 (grub_relocator_firmware_alloc_region): Additional debug statement.
10665
ebc71d28
VS
106662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10669 names.
10670 Reported by: David Pravec.
10671
446fa400
VS
106722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10675 BIOSes.
10676
a0159f37
VS
106772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10680 Prevent overflow.
10681 (grub_reed_solomon_recover): Likewise.
10682
e5146ca1
VS
106832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10686
106872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10688
10689 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10690 variable.
10691
5b1bdf12
CW
106922011-01-04 Colin Watson <cjwatson@ubuntu.com>
10693
10694 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10695 descriptions of extract_legacy_entries_source and
10696 extract_legacy_entries_configfile.
10697 Reported by: Seung Soo, Ha.
10698
99d925aa
CW
106992011-01-03 Colin Watson <cjwatson@ubuntu.com>
10700
10701 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10702 on devices that do not implement function 0.
10703
4af0504b
DV
107042011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10705
10706 * grub-core/fs/hfsplus.c: Make parent unsigned.
10707 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10708 overflows.
10709 (grub_hfsplus_cmp_extkey): Likewise
10710
469ee10a
VS
107112011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * util/grub-install.in: Correctly use bootloader_id and not
10714 GRUB_DISTRIBUTOR on efibootmgr line.
10715
323a8e9c
VS
107162011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10719
1b394975
IC
107202010-12-31 Ian Campbell <ijc@hellion.org.uk>
10721
10722 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10723 Xen and reorder menu item wording to make it clearer that this entry
10724 will launch Xen. Print separate messages when loading Xen and
10725 Linux.
10726
275bff5f
VS
107272010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10730 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10731 loop in case of incorrect amiga partmap.
10732
307806cb
VS
107332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10736 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10737 Reported by:EHeM.
10738
b12b923e
VS
107392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10742 spurious warning.
10743 Reported by: crocket
10744
14b48a19
VS
107452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10748 Preload EFIemu.
10749 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10750
693db2df
VS
107512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10754 is loaded
10755 (grub_cmd_xnu_kextdir): Likewise.
10756 (grub_cmd_xnu_splash): Likewise.
10757
c7638645
VS
107582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Avoid using Reed-Solomon with 0 redundancy.
10761
10762 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10763 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10764 or 0 redundancy.
10765 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10766 (grub_reed_solomon_recover): Likewise.
10767
25dd4780
VS
107682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 Don't use disk subsystem in freebsd_boot.
10771
10772 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10773 (freebsd_biosdev): Likewise.
10774 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10775 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10776
0b2db943
VS
107772010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Handling of files of unknown size is currently limited. They can't be
10780 used e.g. for initrd or modules. Moreover gzip handling of not
10781 easily seekable files is buggy. Disable unknown file size for now. May
10782 be inefficient but works.
10783
10784 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10785 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10786
5c408d0f
MP
107872010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10788
10789 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10790 floppy probe.
10791
190a011a
JD
107922010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10793
10794 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10795
022d01b8
SL
107962010-12-25 Shea Levy <shlevy>
10797
10798 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10799
c4855fdc
VS
108002010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10803 Windows Server 2008.
10804 Reported by: Devin Giddings.
10805
0354b867
VS
108062010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10809 writing an error message because of async power management.
10810 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10811 (grub_reboot): Likewise.
10812
ab66c69f
JU
108132010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10814
10815 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10816 keep unit tests from failing when they shouldn't.
10817
1426ef35
CW
108182010-12-21 Colin Watson <cjwatson@ubuntu.com>
10819
10820 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10821 previous patch increased the size of the RS code by 20 bytes (at
10822 least with gcc-4.4), so increase this by 20 bytes to match.
10823 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10824
20641b6b
CW
108252010-12-21 Colin Watson <cjwatson@ubuntu.com>
10826
10827 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10828 scratch area. Make sure to initialise chosen in standalone mode as
10829 well as non-standalone.
10830 Reported by: Robert Hooker and Andy Whitcroft.
10831 Tested by: Andy Whitcroft.
10832
d060ad60
CW
108332010-12-21 Colin Watson <cjwatson@ubuntu.com>
10834
10835 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10836 constructing a new unescaped string and passing it to grub_xputs in
10837 one go, rather than passing characters to grub_printf one at a time.
10838
b889cfad
CW
108392010-12-21 Colin Watson <cjwatson@ubuntu.com>
10840
10841 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10842 initialising utf16.
10843
4e01b6c8
CW
108442010-12-21 Colin Watson <cjwatson@ubuntu.com>
10845
10846 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10847 comment. Add an extra layer of quotation, requiring the output of
10848 this function to be used in a printf format string.
10849 (gettext_printf): New function.
10850 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10851 Extract translatable strings from here-documents and use a temporary
10852 variable instead, so that xgettext can find them.
10853 * util/grub.d/10_kfreebsd.in: Likewise.
10854 * util/grub.d/10_linux.in: Likewise.
10855 * util/grub.d/20_linux_xen.in: Likewise.
10856
10857 * po/grub.d.sed: New file.
10858 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10859 arguments. Set c-format flags on all strings extracted from
10860 util/grub.d/ (xgettext refuses to include these itself for strings
10861 it extracted from a shell file, but these really are c-format).
10862
5318fe98
VS
108632010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10866 Avoid next pointing to nowhere.
10867
6c85b743
VS
108682010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10871 rather than assuming than rootblock is exactly in the middle.
10872 (grub_affs_label): Likewise.
10873
a2a08a35
VS
108742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10877 reserved_first_sector to 0.
10878 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10879 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10880 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10881
7059d1ec
VS
108822010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 Fix handling of UTF-16 UDF labels.
10885
10886 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10887 (read_string): .. here.
10888 (grub_udf_label): Use read_string.
10889
30aff4cb
BC
108902010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10891
10892 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10893 editor under argument scope.
10894 Reported by: Jordan Uggla
10895
5cf86f4b
VS
108962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10899
32570200
CW
109002010-12-18 Colin Watson <cjwatson@ubuntu.com>
10901
10902 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10903 line, and other keys scroll an entire page (previous handling was
10904 for \r and \n to scroll a page and other keys to scroll two lines).
10905
e1dffcf2
VS
109062010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10909 Set ptrdest to correct get_physical_target_address rather than
10910 incorrect get_virtual_current_address.
10911
b04298cf 109122010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10913
10914 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10915 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10916
5367ecd3
CW
109172010-12-10 Colin Watson <cjwatson@ubuntu.com>
10918
10919 * .bzrignore: Ignore grub-core/rs_decoder.S.
10920
1fb430f8
CW
109212010-12-10 Colin Watson <cjwatson@ubuntu.com>
10922
10923 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10924 .mo/.mo.gz opening sequence to ...
10925 (grub_mofile_open_lang): ... here.
10926 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10927 * util/grub.d/00_header.in (grub_lang): Include country part of
10928 locale.
10929 Reported by: Mario Limonciello.
10930
a94a6671
RM
109312010-12-09 Robert Millan <rmh@gnu.org>
10932
10933 * NEWS: Document addition of ZFS support.
10934
24b7938b
CW
109352010-12-04 Colin Watson <cjwatson@ubuntu.com>
10936
10937 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10938 rather than `/ 2', as the latter requires -Wa,--divide which would
10939 require bumping our minimum binutils version.
10940
bddc3ef6
BC
109412010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10942
10943 * util/grub-script-check.c (main): Print script line number on
10944 error.
10945
bf78d5b2
RM
109462010-12-01 Robert Millan <rmh@gnu.org>
10947
10948 * grub-core/fs/zfs/zfs.c: New file.
10949 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10950 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10951 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10952 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10953
10954 * include/grub/zfs/dmu.h: Likewise.
10955 * include/grub/zfs/dmu_objset.h: Likewise.
10956 * include/grub/zfs/dnode.h: Likewise.
10957 * include/grub/zfs/dsl_dataset.h: Likewise.
10958 * include/grub/zfs/dsl_dir.h: Likewise.
10959 * include/grub/zfs/sa_impl.h: Likewise.
10960 * include/grub/zfs/spa.h: Likewise.
10961 * include/grub/zfs/uberblock_impl.h: Likewise.
10962 * include/grub/zfs/vdev_impl.h: Likewise.
10963 * include/grub/zfs/zap_impl.h: Likewise.
10964 * include/grub/zfs/zap_leaf.h: Likewise.
10965 * include/grub/zfs/zfs.h: Likewise.
10966 * include/grub/zfs/zfs_acl.h: Likewise.
10967 * include/grub/zfs/zfs_znode.h: Likewise.
10968 * include/grub/zfs/zil.h: Likewise.
10969 * include/grub/zfs/zio.h: Likewise.
10970 * include/grub/zfs/zio_checksum.h: Likewise.
10971
10972 * Makefile.util.def: Build ZFS into libgrubmods.
10973 * grub-core/Makefile.core.def: Build zfs.mod.
10974
3f0f3831
SJ
109752010-11-30 Szymon Janc <szymon@janc.net.pl>
10976
10977 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10978 variable.
10979 * grub-core/commands/wildcard.c (match_files): Likewise.
10980
3a4253b2
RM
109812010-11-30 Robert Millan <rmh@gnu.org>
10982
10983 * grub-core/loader/i386/bsd.c
10984 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10985 whether kernel is loaded using grub_loader_is_loaded(), rather
10986 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10987 certain error conditions.
10988
8c317b27
RM
109892010-11-30 Robert Millan <rmh@gnu.org>
10990
c5c9cd3e
RM
10991 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10992 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10993
49d3ab46
VS
109942010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 Avoid using tricks for initialising endian variables.
10997
10998 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10999 Make const.
11000 (GRUB_MOD_INIT): Don't byte-swap.
11001 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11002 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11003 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11004 (grub_swap_bytes32_compile_time): Likewise.
11005 (grub_cpu_to_le32_compile_time): Likewise.
11006 (grub_cpu_to_le16_compile_time): Likewise.
11007
f420a804
VS
110082010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * util/grub-setup.c (setup): Stop recommending --force. People who
11011 understand the dangers of blocklists are able to find this option
11012 anyway and the ones who don't shouldn't use it anyway.
11013
4e7db17b
RM
110142010-11-26 Robert Millan <rmh@gnu.org>
11015
11016 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11017 Update all users.
11018
9be57a0d
CW
110192010-11-26 Colin Watson <cjwatson@ubuntu.com>
11020
11021 Fix LVM-on-RAID probing.
11022
11023 * util/grub-probe.c (probe): Remember which disk was detected as
11024 RAID (perhaps an LVM physical volume). Use that disk's raidname
11025 rather than that of the top-level disk.
11026
2c7859b3 110272010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11028
d7647bb6
BC
11029 Fix cmdline argument quotes for setparams command of menuentry
11030 definitions.
7e623b0d
BC
11031
11032 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11033 quotes for arguments.
f866fe80 11034 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11035 grub_strchrsub function instead.
f866fe80 11036
7955bea0 11037 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11038
74f72a64
CW
110392010-11-24 Colin Watson <cjwatson@ubuntu.com>
11040
11041 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11042 effort by skipping "." and ".." entries up-front.
11043 Suggested by: Michael Lazarev.
11044
5a407278
CW
110452010-11-24 Colin Watson <cjwatson@ubuntu.com>
11046
11047 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11048 ldflags to ldadd, to fix link line ordering.
11049 (none_decompress): Likewise.
11050
3030d8ec
CW
110512010-11-24 Colin Watson <cjwatson@ubuntu.com>
11052
11053 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11054 platforms.
11055 (grub-emu-lite): Remove kern/emu/cache.S.
11056
b7fbac12
CW
110572010-11-23 Colin Watson <cjwatson@ubuntu.com>
11058
11059 * util/deviceiter.c (compare_devices): If the by-id link for a
11060 device couldn't be resolved, fall back to sorting by the by-id link
11061 rather than segfaulting.
11062 Reported and tested by: Daniel Mierswa.
11063
5225f328
CW
110642010-11-23 Colin Watson <cjwatson@ubuntu.com>
11065
11066 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11067 ldflags, to fix link line ordering.
11068
038b3ce8
CW
110692010-11-23 Colin Watson <cjwatson@ubuntu.com>
11070
11071 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11072 linkers are picky about this.
11073
bf16e98e
CW
110742010-11-23 Colin Watson <cjwatson@ubuntu.com>
11075
11076 * grub-core/Makefile.am (command.lst): Adjust sed expression
11077 ordering so that extended and priority commands aren't treated as
11078 ordinary commands.
11079
7242bab6
CW
110802010-11-23 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11083 Remove byte-swapping function calls, which are not valid in
11084 structure initialisers.
11085 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11086 non-const.
11087 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11088 grub_gpt_partition_type_bios_boot.
11089
14e8b279
CW
110902010-11-22 Colin Watson <cjwatson@ubuntu.com>
11091
11092 Fix test program build on GNU/kFreeBSD.
11093
11094 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11095 $(LIBNVPAIR)' library dependencies.
11096
e6f63338 110972010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11098
11099 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11100
cf8ffc38
CW
111012010-11-22 Colin Watson <cjwatson@ubuntu.com>
11102
11103 * util/grub-install.in: Remove excessive quoting that broke
11104 installations to RAID devices.
11105
7f8b0fd7
VS
111062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11109 bootloader version instead of 0.
11110
dfd240b1
VS
111112010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11114 warning.
11115
7b61e609
VS
111162010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11119 retrieve the metadat sector if size isn't known.
11120 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11121
9dfe92d0
RM
111222010-11-18 Robert Millan <rmh@gnu.org>
11123
11124 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11125 with grub_memcmp().
11126
41cc919e
VS
111272010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11130 arrow.
11131 Reported by: Jordan Uggla.
11132
1afcc914
VS
111332010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 Make better UTF compliant.
11136
11137 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11138 sequences as incorrect.
11139 (grub_is_valid_utf8): Likewise.
11140 (grub_utf8_to_ucs4): Likewise.
11141 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11142 (grub_ucs4_to_utf8_alloc): Likewise.
11143 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11144
f1808884
VS
111452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 Make legacy_source behave like source.
11148
11149 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11150 grub_show_menu.
11151 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11152
24ec575b
CW
111532010-11-16 Colin Watson <cjwatson@debian.org>
11154
11155 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11156 (-Wunused implies -Wunused-parameter, but not vice versa).
11157
72b7c7aa
CW
111582010-11-16 Colin Watson <cjwatson@ubuntu.com>
11159
11160 * configure.ac: Make error messages less confusing by testing for
11161 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11162 accepted, but produces a diagnostic if something else is wrong).
11163
e98937aa
VS
111642010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11167 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11168 (now unused).
11169 (grub_keyboard_controller_init)
11170 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11171 read the initial state since controller isn't inited yet.
11172
f6bbabc3
VS
111732010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11176 allocate_regbeg may need to create new chunk header.
11177
22e7dbb2
VS
111782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 Fix quoting in legacy parser.
11181
11182 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11183 single quotes.
11184 (grub_legacy_parse): Likewise.
11185 Reported by: Jordan Uggla.
11186 Tested by: Jordan Uggla.
11187
03f80960
VS
111882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 Don't add -lgcc on i386 and x86_64.
11191
11192 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11193 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11194 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11195
779dc15b
VS
111962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * configure.ac: Add -Wno-trampolines when supported.
11199
d20a3b37
MV
112002010-11-14 Modestas Vainius <modax@debian.org>
11201
11202 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11203 fakeraid.
11204
e5360933
GC
112052010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11206
11207 Add generic logical block size support for UDF.
11208
11209 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11210 (GRUB_UDF_BLKSZ): Removed.
11211 (struct grub_udf_data): New field "lbshift" to hold the logical block
11212 size of the file system in log2 format. All users updated.
11213 (sblocklist): Change type to unsigned.
11214 (grub_udf_mount): Change type of "sblklist" to unsigned.
11215 Move AVDP search before VRS recognition, because the latter requires
11216 knowledge of the logical block size, which is detected during the
11217 former.
11218 Detect and validate logical block size during AVDP search, adding
11219 support for block sizes 512, 1024 and 4096.
11220 Make VRS recognition independent of block size.
11221
cb0229c5
GC
112222010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11223
11224 Properly handle deleted files on UDF.
11225
11226 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11227 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11228 set.
11229
406858a8
GC
112302010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11231
11232 Support reading files larger than 2 GiB.
11233
11234 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11235 "offset" to grub_off_t.
11236 (grub_udf_read_file): Likewise for parameter "pos".
11237
130da6a7
VS
112382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11241 unavailable.
11242 (Simple configuration): Refer to Changes from GRUB Legacy about
11243 save_env availability.
11244
65e93f6b
VS
112452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * util/grub-install.in: Ignore empty partition table detection
11248 instead of trying to include part_ module.
11249
1fd08bf1
VS
112502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11253 LVM on RAID support.
11254
de1a024f
VS
112552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 Properly define WORDS_BIGENDIAN in wrapped environments.
11258
11259 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11260 definition.
11261 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11262
11263 Reported by: Manoel Rebelo Abranches.
11264 Tested by: Manoel Rebelo Abranches.
11265
bc5dd0b9
VS
112662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * util/grub-mkconfig.in: Fix quoting.
11269
58c184be
VS
112702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 Support big ext2 files.
11273
11274 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11275 (grub_ext2_read_block): Support triple indirect blocks.
11276 (grub_ext2_read_file): Use 64-bit types and read size_high.
11277 (grub_ext2_open): Read size_high.
11278 Reported by: Ximin Luo.
11279 Tested by: Manoel Rebelo Abranches.
11280
5f0c02b3
VS
112812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * util/grub-install.in: Handle filenames containing spaces.
11284 Reported by: Jordan Uggla.
11285 Tested by: Jordan Uggla.
11286
4417aae6
VS
112872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * util/grub-mkconfig.in (grub_script_check): New variable.
11290 Use grub_script_check instead of grub-script-check.
11291 Reported by: Barry Jackson.
11292
7625a68e
VS
112932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * docs/grub.texi (menu): Correct the order.
11296 Reported by: D. Hugh Redelmeier.
11297
10001ac5
VS
112982010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11301 jump.
11302
9c4cf53b
MRA
113032010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11304
10001ac5
VS
11305 * include/grub/elfload.h (grub_elf32_size): New parameter.
11306 All users updated.
9c4cf53b
MRA
11307 Return maximum segments alignment.
11308 (grub_elf64_size): Likewise.
11309 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11310 Return maximum segments alignment.
11311 (grub_elf64_size): Likewise.
11312 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11313 (grub_linux_claimmap_iterate): New function. Uses the
11314 "available" property in the "memory" node for memory allocation
11315 for kernel in the PowerPC loader.
9c4cf53b
MRA
11316 (grub_linux_load32): Correctly find linux entry point offset.
11317 (grub_linux_load64): Likewise.
11318
d2bf06bf
RM
113192010-11-07 Robert Millan <rmh@gnu.org>
11320
11321 On mips-yeeloong, build with -march=loongson2f when this flag is
11322 available (GCC >= 4.4).
11323 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11324 `-march=mips3'.
11325 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11326 or otherwise add -march=mips3.
11327
898c99a2
BC
113282010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11329
87220a68
BC
11330 Suppress shell expansion on echo '*' and echo "*" like cases.
11331 Reported by: Jordan Uggla.
898c99a2
BC
11332
11333 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11334 string arguments before shell expansion.
11335 * tests/grub_cmd_echo.in: New testcases.
11336
4f9b406a
RM
113372010-11-07 Robert Millan <rmh@gnu.org>
11338
11339 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11340 transition.
11341
80c6d25e
VS
113422010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/kern/emu/hostdisk.c
11345 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11346
4a1a0153
VS
113472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11350 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11351 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11352
34706ddc
VS
113532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11356
6972dea9
VS
113572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * util/grub-install.in: Replace useless recomendation to pass
11360 --modules with a recomendation to report a bug.
11361
9c693bd6
VS
113622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 Properly register serial terminfo.
11365 Reported by: Jordan Uggla
11366
11367 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11368 const.
11369 (grub_serial_terminfo_output_template): Likewise.
11370 (grub_cmd_serial): Register "serial" with terminfo.
11371 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11372 grub_serial_terminfo_output.
11373
6c9e4c0c
RM
113742010-11-05 Robert Millan <rmh@gnu.org>
11375
11376 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11377 needed).
11378
b9b3839f
RM
113792010-11-05 Robert Millan <rmh@gnu.org>
11380
11381 On Yeeloong, pass machine type information to Linux.
11382
11383 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11384 (LOONGSON_MACHTYPE): New macro, set to
11385 "machtype=lemote-yeeloong-2f-8.9inches".
11386 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11387 additional argument to Linux.
11388
1a3aaff4
RM
113892010-11-04 Robert Millan <rmh@gnu.org>
11390
11391 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11392 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11393 (its SATA disks are detected as slaveless IDE master drives on
11394 kFreeBSD).
11395 Reported by Carsten Aulbert.
11396
a75f4f62
CW
113972010-11-02 Colin Watson <cjwatson@ubuntu.com>
11398
11399 * util/bin2h.c (main): Fix spelling error in generated output.
11400
33b4b0c6
GS
114012010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11402
11403 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11404
2b36fbf4
VS
114052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11408 vga= option is supplied.
11409
74aaf558
VS
114102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11413 * util/grub.d/10_kfreebsd.in: Likewise.
11414 * util/grub.d/10_linux.in: Likewise.
11415 * util/grub.d/20_linux_xen.in: Likewise.
11416
6428dec3
VS
114172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11420 argument as an argument to no-argument option.
11421
f8729d98
VS
114222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * util/grub.d/10_linux.in: Add missing load_video with explicit
11425 GRUB_GFXPAYLOAD_LINUX.
11426
89d68fa6
VS
114272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11430
3a1197cd
VS
114312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11434 elements with invlid index.
11435 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11436 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11437 members.
11438 * include/grub/raid.h (grub_raid_member): New struct.
11439 (grub_raid_array): Transform devices and start_sector into usage of
11440 grub_raid_member. All users updated
11441 (allocated_devs): New member.
11442
71574288
VS
114432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11446 is modified
11447
8d40ec65
BC
114482010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11449
11450 NetBSD build fix for getline function conflict from gnulib.
11451
11452 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11453 components that depend on gnulib headers.
11454 (libgrubmods.a): Renamed from earlier libgrub.a.
11455 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11456
95b9257e
VS
114572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11460 install rather than creating a broken install.
11461
26c53dc6
VS
114622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * util/grub-setup.c (argp): Remove misleading example of installing to
11465 a partition.
11466
4171b3c5
VS
114672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * util/grub-setup.c (setup): Clarify the error message.
11470
18568d18
VS
114712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11474
4f6a2e21
VS
114752010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/kern/emu/misc.c
11478 (grub_make_system_path_relative_to_its_root)
11479 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11480
114812010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11482
11483 * grub-core/kern/emu/misc.c
11484 (grub_make_system_path_relative_to_its_root): Revert r2882.
11485
e138c458
VS
114862010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11489 useless field head. All users updated.
11490 (free_subchunk): Correct handling of IN_REGION subchunk.
11491
0cbcdf0e
CW
114922010-10-22 Colin Watson <cjwatson@ubuntu.com>
11493
11494 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11495 (Supported kernels): Likewise.
11496
b65ea155
GS
114972010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11498
11499 Make mktemp invocations portable.
11500
11501 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11502 exit if mktemp fails.
11503 * tests/grub_script_blockarg.in: Likewise.
11504 * tests/partmap_test.in: Likewise.
11505 * tests/util/grub-shell-tester.in: Likewise.
11506 * tests/util/grub-shell.in: Likewise.
11507 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11508 * Makefile.am: Likewise, and chain shell commands with `&&'
11509 instead of ';'.
11510 * util/grub-mkrescue.in: Use the same explicit template as above, and
11511 exit if mktemp fails.
11512
05f43cdd
BC
115132010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11514
11515 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11516 Linux kernel, reported by Dennis Schridde.
11517
800e6a9b
SJ
115182010-10-17 Szymon Janc <szymon@janc.net.pl>
11519
11520 * grub-core/normal/auth.c (grub_auth_check_authentication):
11521 Set-but-not-used variable removed.
11522
d82df574
VS
115232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11526 32-bit linux protocol.
11527
7bced458
VS
115282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11531 cursor shape for sanity.
11532
5b027690
VS
115332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * docs/grub.texi (Installation): Document buggy BIOS install.
11536
ba5f65cf
VS
115372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * docs/grub.texi (Installation): Indent.
11540
fdf2ec9c
VS
115412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * util/grub-setup.c (setup): New parameter allow_floppy.
11544 (arguments): New member allow_floppy.
11545 (argp_parser): Handle --allow-floppy.
11546 (main): Pass allow_floppy.
11547 * util/grub-install.in: New option --allow-floppy passed though to
11548 grub-setup.
11549
861dfd4c
VS
115502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * util/grub-install.in: Handle partitionless disks.
11553
f77a8c24
VS
115542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * util/grub-setup.c (setup): Don't clean blocklists before readability
11557 verfification.
11558
27d9ee32
VS
115592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * docs/grub.texi (Installation): Document embedding zone. Remove
11562 obsolete grub-install example.
11563
6bdda8f8
SJ
115642010-10-16 Szymon Janc <szymon@janc.net.pl>
11565
11566 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11567 Set-but-not-used variable ifdef'ed.
11568 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11569 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11570 variable removed.
11571 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11572 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11573 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11574 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11575 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11576 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11577 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11578 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11579 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11580 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11581 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11582 Likewise.
11583
e19b016b
VS
115842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11587 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11588 enum value.
11589
6c8d3002
VS
115902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11593 synonym to _S5_. Needed for some DSDTs.
11594
c32b51c9
VS
115952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 Userspace ACPI parser debugging.
11598
11599 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11600 headers and add relevant defines. Don't include standard headers.
11601 (main) [GRUB_DSDT_TEST]: New function.
11602 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11603 Don't declare functions.
11604
fbfbeb39
VS
116052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 Remove dead grub_efi_mm_fini.
11608
11609 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11610 (ALLOCATED_PAGES_SIZE): Likewise.
11611 (MAX_ALLOCATED_PAGES): Likewise.
11612 (allocated_pages): Likewise.
11613 (grub_efi_allocate_pages): Don't record allocated pages.
11614 (grub_efi_free_pages): Likewise.
11615 (grub_efi_mm_init): Likewise.
11616 (grub_efi_mm_fini): Removed.
11617
65f7ed7c
VS
116182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11621 (grub_efi_mm_init): Take into account the memory map size increase.
11622
24977b44
VS
116232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11626 (serial_hw_put): Wait based on real time rather than port reads. Don't
11627 roken ports.
11628 * include/grub/serial.h (grub_serial_port): New field broken.
11629
1eb01cd2
RM
116302010-10-16 Robert Millan <rmh@gnu.org>
11631
11632 * grub-core/kern/emu/misc.c
11633 (grub_make_system_path_relative_to_its_root): Fix premature return
11634 when processing non-root ZFS filesystems.
5f8b440b 11635 Reported by Sergio Talens-Oliag.
1eb01cd2 11636
2d5fed60
RM
116372010-10-15 Robert Millan <rmh@gnu.org>
11638
11639 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11640 guarantee compressed ones are processed first.
11641
d0f4c1ea
VS
116422010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11645 grub_efiemu_autocore.
11646
d87c681f
VS
116472010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11650 rather than 0x1b.
11651 (grub_console_getkey): Use correct jae opcode rather than ja.
11652
219b3564
RM
116532010-10-12 Robert Millan <rmh@gnu.org>
11654
11655 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11656 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11657 variable. All references updated.
11658
11659 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11660
20c6bb7e
VS
116612010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Correctly distinguish mdraid flavours.
11664
11665 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11666 (insert_array): New argument raid.
11667 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11668 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11669 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11670
74baff84
VS
116712010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11674 handling of special keys.
11675
3ef068df 116762010-10-02 Aleš Nesrsta <starous@volny.cz>
11677
c7980ad9
VS
11678 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11679 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11680
a9455194 116812010-10-02 Aleš Nesrsta <starous@volny.cz>
11682
c7980ad9
VS
11683 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11684 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11685 users updated.
a9455194 11686 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11687 Use right endpoint when querying descriptor.
a9455194 11688
441cfe65
VS
116892010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 Clear out 0x80 color bit on EFI.
11692 Tested by: decoder
11693 Reported by: decoder and meta tech.
11694
11695 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11696 (grub_console_setcolorstate): Clear out 0x80 bit.
11697 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11698 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11699 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11700
bf26bcc4
VS
117012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11704 Set to "auto".
11705
6e3c515d
VS
117062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11709 mo_file after freeing.
11710
e6d983ba
VS
117112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11714
74ccb5b5
VS
117152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11718 flags.
11719
17821956
VS
117202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11723 usage.
11724
ee74fa48
VS
117252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11728
11729 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11730 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11731 and terminfo.h when needed.
11732 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11733 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11734 (terminfo): Enable only on terminfokernel.
11735 (extcmd): Likewise.
11736 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11737 * include/grub/lib/arg.h: Likewise.
11738 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11739 incorrect usage of ->.
11740
aa438e68
VS
117412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11744 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11745
57994012
VS
117462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 Fix coreboot compilation.
11749
11750 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11751 Take VBE info into account even if only text is supported.
11752 (fill_vbe_info): Take into account the case when only VGA text
11753 is supported.
11754 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11755 on coreboot, multiboot and qemu.
11756
2a406611
VS
117572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11760 debug messages.
11761 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11762
d33613fc
VS
117632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11766 parameters.
11767
44a1b432
VS
117682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11771 if they were BSD-style.
11772
edde54e6
VS
117732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * grub-core/boot/i386/pc/lnxboot.S: Replace
11776 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11777 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11778
b65830fa
VS
117792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Write embedding zone using Reed-Solomon.
11782
11783 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11784 * grub-core/Makefile.am (rs_decoder.S): New target.
11785 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11786 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11787 (multiboot): Move to RS part.
11788 (post_reed_solomon): New label.
11789 (grub_boot_drive): Move to non-RS part since it's modified in memory
11790 on boot.
11791 Include rs_decoder.S.
11792 * grub-core/lib/reed_solomon.c: New file.
11793 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11794 New definition.
11795 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11796 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11797 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11798 * include/grub/partition.h (grub_partition_map): Change prototype of
11799 embed to allow returning additional sectors.
11800 * include/grub/reed_solomon.h: New file.
11801 * util/grub-setup.c (setup): Handle Reed-Solomon.
11802
0b4b227f
CW
118032010-09-28 Colin Watson <cjwatson@ubuntu.com>
11804
11805 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11806 i386 and x86-64 definedness tests.
11807
f772623b
YB
118082010-09-27 Yves Blusseau <blusseau@zetam.org>
11809
11810 Fix generation of kernel_syms.lst
11811
11812 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11813 ASM_PREFIX
11814
8e57a6ca
RM
118152010-09-26 Robert Millan <rmh@gnu.org>
11816
11817 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11818
11819 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11820 the pool is an array of devices, iterate through it and return the
11821 first device that passes a stat() test (instead of blindly returning
11822 the first one).
11823
f9130836
RM
118242010-09-26 Robert Millan <rmh@gnu.org>
11825
11826 Build fixes for GNU/kFreeBSD.
11827
11828 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11829 to programs that require ZFS conversion.
11830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11831 kernels that don't have FLOPPY_MAJOR.
11832
96510faf
BC
118332010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11834
11835 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11836
449333eb
BC
118372010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11838
11839 Fix grub-emu build.
11840
11841 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11842 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11843 mdraid09 and mdraid1x.
11844
e1fd1939
CW
118452010-09-24 Colin Watson <cjwatson@ubuntu.com>
11846
11847 Re-enable grub-extras.
11848
11849 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11850 avoid confusing Automake. Run autogen only twice, once for the top
11851 level and once for grub-core. Add Makefile.util.def and
11852 Makefile.core.def from extra modules to the appropriate autogen
11853 invocations. If Makefile.common exists in an extra module, include
11854 it in both Makefile.util.am and grub-core/Makefile.core.am;
11855 similarly, include any Makefile.util.common file in Makefile.util.am
11856 and any Makefile.core.common file in grub-core/Makefile.core.am.
11857 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11858 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11859 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11860 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11861
11862 * gentpl.py (gvar_add): Turn GVARS into a set.
11863 (global_variable_initializers): Sort global variables on output.
11864 (vars_init): New function.
11865 (first_time): Likewise.
11866 (library): Ensure that non-global variable initialisations are
11867 emitted before the first time we emit code for a library block.
11868 Append to variables rather than setting them. Only emit
11869 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11870 each conditional path.
11871 (program): installdir() emits an Autogen macro, so must be passed to
11872 var_add rather than gvar_add.
11873 (data): Likewise.
11874 (script): Likewise.
11875 (rules): New function, centralising handling for different target
11876 types. Set up Guile association lists for first_time and vars_init,
11877 and send most output to a diversion so that variable initialisations
11878 can be emitted first.
11879 (module_rules): Use new rules function.
11880 (kernel_rules): Likewise.
11881 (image_rules): Likewise.
11882 (library_rules): Likewise.
11883 (program_rules): Likewise.
11884 (script_rules): Likewise.
11885 (data_rules): Likewise.
11886
11887 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11888
11889 * .bzrignore: Add contrib and grub-core/contrib. Remove
11890 grub-core/Makefile.gcry.am.
11891
1d12cf29
YB
118922010-09-24 Yves Blusseau <blusseau@zetam.org>
11893
11894 * grub-core/lib/LzFind.c: Add missing include.
11895 * grub-core/lib/LzmaEnc.c: Likewise.
11896 * grub-core/script/lexer.c: Likewise.
11897 * grub-core/script/yylex.l: Likewise.
11898 * util/grub-macho2img.c: Likewise.
11899 * util/grub-menulst2cfg.c: Likewise.
11900 * util/grub-mklayout.c: Likewise.
11901 * util/grub-mkpasswd-pbkdf2.c
11902 * util/grub-mkrelpath.c: Likewise.
11903 * util/resolve.c: Likewise.
11904
dd363028
BC
119052010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11906
11907 * Makefile.util.def (example_unit_test): Add
11908 grub-core/gnulib/libgnu.a.
11909
f5a109e2
GS
119102010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11911
11912 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11913
6d0fa83c
VS
119142010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Support xz compression on yeeloong.
11917
11918 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11919 * configure.ac: Check for LZMA.
11920 * grub-core/Makefile.core.def (xz_decompress): New target.
11921 (none_decompress): Likewise.
11922 * grub-core/boot/decompressor/minilib.c: New file.
11923 * grub-core/boot/decompressor/none.c: Likewise.
11924 * grub-core/boot/decompressor/xz.c: Likewise.
11925 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11926 * grub-core/kern/mips/cache_flush.S: Likewise.
11927 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11928 * grub-core/kern/mips/startup.S: Move first stage to ...
11929 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11930 nomacro.
11931 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11932 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11933 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11934 Allocate statically.
11935 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11936 Allocate statically or use scratch. Don't check CRC32.
11937 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11938 Allocate statically. Don't check CRC32.
11939 * include/grub/decompressor.h: New file.
11940 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11941 Removed.
11942 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11943 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11944 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11945 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11946 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11947 * util/grub-mkimage.c (grub_compression_t): New type.
11948 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11949 (image_target_desc): New field default_compression.
11950 (image_targets): Adjust yeeloong targets.
11951 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11952 (compress_kernel): New parameter comp.
11953 (generate_image): Likewise. Handle new compression case.
11954 (options): New option --compression
11955 (help): Likewise.
11956 (main): Handle new option.
11957
1b655af6
GS
119582010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11959
11960 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11961
8f03f0b5
CW
119622010-09-22 Colin Watson <cjwatson@ubuntu.com>
11963
11964 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11965 typo in __i386__ conditional.
11966
7835dfd3
VS
119672010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11970 include.
11971
e255597e
VS
119722010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11973
6d0fa83c 11974 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11975
11976 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11977 new tags as supported.
11978 (acpiv2_size): New function.
11979 (grub_multiboot_get_mbi_size): Take new tags into account.
11980 (grub_multiboot_make_mbi): Add new tags.
11981 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11982
6cc14051 119832010-09-21 Aleš Nesrsta <starous@volny.cz>
11984
11985 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11986 Added missing configuration of USB device.
11987
df7769d8
CW
119882010-09-21 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * grub-core/normal/menu_entry.c (run): Make sure we always return
11991 a value.
11992
b031012d
CW
119932010-09-21 Colin Watson <cjwatson@ubuntu.com>
11994
11995 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11996 NumberOfPages is UINT64 according to the UEFI specification, not
11997 UINTN. Fix printf format.
11998
174de8f3
CW
119992010-09-21 Colin Watson <cjwatson@ubuntu.com>
12000
12001 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12002 `err' to grub_usb_err_t.
12003 Reported and tested by: KESHAV P.R.
12004
d7dbe923
CW
120052010-09-21 Colin Watson <cjwatson@ubuntu.com>
12006
12007 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12008 tpart non-const, so that we can assign to it. (Since this is a
12009 typedef, the constness refers to the pointer rather than what it
12010 points to.)
12011
8d5e2af3
CW
120122010-09-21 Colin Watson <cjwatson@ubuntu.com>
12013
12014 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12015 $(top_srcdir)/grub-core/gnulib as well as
12016 $(top_builddir)/grub-core/gnulib.
12017 Reported by: KESHAV P.R.
12018
5c527783
CW
120192010-09-21 Colin Watson <cjwatson@ubuntu.com>
12020
12021 * util/grub-install.in: Fix the bootloader ID option to be
12022 consistently --bootloader-id, not --bootloader_id.
12023 Reported by: KESHAV P.R.
12024
d309a16e
CW
120252010-09-21 Colin Watson <cjwatson@ubuntu.com>
12026
12027 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12028 check hash checksum." consistently translatable.
12029
b830cd16
YB
120302010-09-21 Yves Blusseau <blusseau@zetam.org>
12031
12032 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12033 $(top_builddir).
12034
c4fe27a8
CW
120352010-09-21 Colin Watson <cjwatson@ubuntu.com>
12036
12037 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12038 (GRUB_MOD_INIT): Register sha1sum command.
12039 (GRUB_MOD_FINI): Unregister sha1sum command.
12040
a4c1d277
YB
120412010-09-21 Yves Blusseau <blusseau@zetam.org>
12042
12043 Keep boot and grub directory names in sync with utils scripts
12044
12045 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12046 * config.h.in: Add previous macros.
12047 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12048 * util/grub-install.in: Use $bootdir and $grubdir variables.
12049
4eff79d2
CW
120502010-09-21 Colin Watson <cjwatson@ubuntu.com>
12051
12052 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12053 convert partition names to disk names if the new `convert' parameter
12054 is set.
12055 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12056 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12057 disk in its own right. This can happen with Xen disk images.
12058
934d7e44
YB
120592010-09-21 Yves Blusseau <blusseau@zetam.org>
12060
12061 * util/grub-editenv.c: Update strings to avoid warnings when generating
12062 grub.pot file.
12063 * util/grub-setup.c: Likewise.
934d7e44 12064
df3367cc
VS
120652010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * configure.ac: Change version to 1.99~beta0.
12068
77a94e98
VS
120692010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12072 Add BADRAM.
12073 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12074 Likewise.
12075 * include/multiboot.h: Resynced with specification.
12076 * include/multiboot2.h: Likewise.
12077
269004c1
CW
120782010-09-21 Colin Watson <cjwatson@ubuntu.com>
12079
12080 Fix po directory handling.
12081
12082 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12083 * grub-core/gnulib/Makefile.am: Import gettext module.
12084 * m4/gnulib-cache.m4: Likewise.
12085 * m4/gnulib-comp.m4: Likewise.
12086 * m4/gettext.m4: New file, from gnulib.
12087 * m4/glibc2.m4: Likewise.
12088 * m4/iconv.m4: Likewise.
12089 * m4/intdiv0.m4: Likewise.
12090 * m4/intl.m4: Likewise.
12091 * m4/intldir.m4: Likewise.
12092 * m4/intlmacosx.m4: Likewise.
12093 * m4/intmax.m4: Likewise.
12094 * m4/inttypes-pri.m4: Likewise.
12095 * m4/lcmessage.m4: Likewise.
12096 * m4/lib-ld.m4: Likewise.
12097 * m4/lib-link.m4: Likewise.
12098 * m4/lib-prefix.m4: Likewise.
12099 * m4/lock.m4: Likewise.
12100 * m4/nls.m4: Likewise.
12101 * m4/po.m4: Likewise.
12102 * m4/printf-posix.m4: Likewise.
12103 * m4/progtest.m4: Likewise.
12104 * m4/threadlib.m4: Likewise.
12105 * m4/uintmax_t.m4: Likewise.
12106 * m4/visibility.m4: Likewise.
12107 * po/Makefile.am: Remove.
12108 * po/Makefile.in.in: New file, from gettext.
12109 ($(DOMAIN).pot-update): Support POTFILES-shell.
12110 * po/Makevars: New file.
12111 * po/POTFILES-shell: Rename to ...
12112 * po/POTFILES-shell.in: ... this. Update.
12113 * po/POTFILES: Rename to ...
12114 * po/POTFILES.in: ... this. Update.
12115 * po/Rules-quot: New file, from gettext.
12116 * po/boldquot.sed: Likewise.
12117 * po/en@boldquot.header: Likewise.
12118 * po/en@quot.header: Likewise.
12119 * po/insert-header.sin: Likewise.
12120 * po/quot.sed: Likewise.
12121 * po/remove-potcdate.sin: Likewise.
12122
3e0fa5d0
VS
121232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12126
ade9bd66
VS
121272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * util/grub.d/20_linux_xen.in: Use submenus.
12130
fc55cc4c
VS
121312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 Support submenus.
12134
12135 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12136 parameter submenu. All users updated.
12137 * grub-core/normal/main.c (free_menu): Rename to ...
12138 (grub_normal_free_menu): ... this. Made global.
12139 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12140 if requested.
12141 * grub-core/normal/menu_entry.c (screen): New field submenu.
12142 (make_screen): Set submenu.
12143 (run): Open new context if requested.
12144 * include/grub/menu.h (grub_menu_entry): New field submenu.
12145 * include/grub/normal.h (grub_normal_free_menu): New proto.
12146
600cedf7
VS
121472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 Menu entries extractor.
12150
12151 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12152 variants.
12153 (GRUB_MOD_INIT): Register new variants.
12154 (GRUB_MOD_FINI): Unregister new variants.
12155 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12156 into grub_cmd_legacy_source.
12157 (grub_cmd_legacy_source): Implement extractor variants.
12158 (GRUB_MOD_INIT): Register new variants.
12159 (GRUB_MOD_FINI): Unregister new variants.
12160 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12161 as an extractor.
12162 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12163 search as an extractor.
12164 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12165 test as an extractor.
12166 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12167 as an extractor.
12168 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12169 (grub_env_new_context): New function.
12170 (grub_env_context_open): Likewise.
12171 (grub_env_extractor_open): Likewise.
12172 (grub_env_extractor_close): Likewise.
12173 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12174 grub_extractor_level.
12175 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12176 * include/grub/env.h (grub_env_extractor_open): New proto.
12177 (grub_env_extractor_close): Likewise.
12178 * include/grub/normal.h (grub_extractor_level): New external variable.
12179
7bda3a87
VS
121802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 Make cutmem accept a region specification.
12183 Suggested by: Samuel Thibault
12184
12185 * grub-core/mmap/mmap.c (parsemem): New function.
12186 (grub_cmd_cutmem): Handle new arguments.
12187
2ea57f88
VS
121882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 New command cutmem.
12191
12192 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12193 (GRUB_MOD_INIT): Register new command.
12194 (GRUB_MOD_FINI): Unregister new command.
12195
74342e31
VS
121962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 Support some annoying BSD and Minix subpartitions.
12199
12200 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12201 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12202 Properly handle concatenation.
12203 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12204 * grub-core/normal/completion.c (iterate_partition): Likewise.
12205 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12206 contain partition. All users updated.
12207 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12208 struct.
12209 (grub_openbsdlabel_partition_map): Likewise.
12210 (bsdlabel_partition_map_iterate): Rename to ..
12211 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12212 (bsdlabel_partition_map_iterate): New function.
12213 (netopenbsdlabel_partition_map_iterate): Likewise.
12214 (netbsdlabel_partition_map_iterate): Likewise.
12215 (openbsdlabel_partition_map_iterate): Likewise.
12216 (GRUB_MOD_INIT): Register new partmaps.
12217 (GRUB_MOD_FINI): Unregister new partmaps.
12218 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12219 (grub_partition_msdos_iterate): ... this. All users updated.
12220 Don't support embedding other than in a minix partition.
12221 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12222 proto.
12223 * include/grub/partition.h (grub_partition): New field msdostype.
12224 * util/grub-install.in: Handle openbsd and netbsd types being in
12225 part_bsd module.
12226
1e8d555b
VS
122272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12230
12231 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12232 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12233 (mdraid09): ... this.
12234 (mdraid1x): New module.
12235 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12236 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12237
899d8af4
VS
122382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12241 vsprintf.
12242
40901acd
CW
122432010-09-20 Colin Watson <cjwatson@ubuntu.com>
12244
12245 * grub-core/commands/efi/lsefimmap.c: Correct header.
12246 * NEWS: Update.
12247
dfe3b247
CW
122482010-09-20 Colin Watson <cjwatson@ubuntu.com>
12249
12250 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12251 as printf format strings; the translations might contain '%' which
12252 could cause a crash.
12253 (main): Likewise.
12254 * util/grub-fstest.c (argp_parser): Likewise.
12255 * util/grub-setup.c (argp_parser): Likewise.
12256 (main): Likewise.
12257
3286a4b4
VS
122582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 Use argp in grub-fstest.
12261
12262 * util/grub-fstest.c: Don't include getopt.h.
12263 Include argp.h.
12264 (root): New variable.
12265 (args_count): Likewise.
12266 (nparm): Likewise.
12267 (num_disks): Likewise.
12268 (images): Likewise.
12269 (cmd): Likewise.
12270 (debug_str): Likewise.
12271 (args): Likewise.
12272 (options): Transformed to argp.
12273 (usage): Removed.
12274 (main): Split argument parsing into ...
12275 (argp_parser): ... this. Changed to argp format.
12276 (argp): New variable.
12277 (main): Use argp_parse.
12278
3dccbe4b
TG
122792010-09-20 Tristan Gingold <gingold@free.fr>
122802010-09-20 Robert Millan <rmh.grub@aybabtu.com>
122812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/commands/efi/lsefimmap.c: New file.
12284 * grub-core/Makefile.core.def (lsefimmap): New module.
12285 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12286
38c259a7
VS
122872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 Pause the execution (10s max) if any errors are displayed so the user
12290 has a chance to see them.
12291
12292 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12293 (grub_print_error): Increment grub_err_printed_errors.
12294 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12295 execution if any errors were displayed.
12296 (show_menu): Remove old code for pause.
12297 * grub-core/normal/menu_entry.c (run): Likewise.
12298 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12299 users updated.
12300 (grub_normal_get_char_counter): Likewise.
12301 * include/grub/err.h (grub_err_printed_errors): New external variable.
12302 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12303
f218b09c
VS
123042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Support multiboot VBE info.
12307
12308 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12309 Take VBE info into account.
12310 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12311 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12312 Call fill_vbe_info when appropriate.
12313 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12314 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12315 as supported.
12316 (grub_multiboot_get_mbi_size): Take new tags into account.
12317 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12318 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12319 Call fill_vbe_tag when appropriate.
12320 (grub_multiboot_make_mbi): Properly align tags.
12321 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12322 function.
12323 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12324 proto.
12325 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12326
a9cc5438
VS
123272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 Suport manual terminal geometry specification.
12330
12331 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12332 Save state in grub_ofconsole_terminfo_output.
12333 (grub_ofconsole_term): Use grub_terminfo_getwh.
12334 (grub_ofconsole_getwh): Removed.
12335 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12336 (grub_serial_term): Use grub_terminfo_getwh.
12337 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12338 (options): New struct.
12339 (OPTION_*): New enum.
12340 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12341 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12342 width and height.
12343 (grub_terminfo_getwh): New proto.
12344 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12345
1a8fed20
VS
123462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 Handle legacy "terminal" command.
12349
12350 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12351 and FLAG_TERMINAL.
12352 (legacy_commands): Add terminal and title.
12353 (grub_legacy_parse): Handle terminal. Simplify title handling.
12354
41e9c57d
VS
123552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12358 parameters overflow.
12359
61c874c5
CW
123602010-09-20 Colin Watson <cjwatson@ubuntu.com>
12361
12362 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12363 widthspec.h.
12364
12365 * docs/grub.texi (Shell-like scripting): Document `!'.
12366 (Network): Simplify using new i386-pc-pxe format. Mention
12367 grub-mknetdir.
12368
12369 * NEWS: Update.
12370
943682b4
CW
123712010-09-20 Colin Watson <cjwatson@ubuntu.com>
12372
12373 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12374 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12375 when needed.
12376
6d3d698d
CW
123772010-09-20 Colin Watson <cjwatson@ubuntu.com>
12378
12379 * grub-core/commands/efi/lsefisystab.c: Correct header.
12380 * grub-core/commands/efi/lssal.c: Likewise.
12381 * grub-core/commands/testload.c: Likewise.
12382
c982589f
CW
123832010-09-20 Colin Watson <cjwatson@ubuntu.com>
12384
12385 * util/grub-mkrescue.in: Add explicit root argument to --set to
12386 prevent the UUID being interpreted as an argument to --set (matches
12387 previous change to prepare_grub_to_access_device).
12388
a63c31b6
CW
123892010-09-20 Colin Watson <cjwatson@ubuntu.com>
12390
12391 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12392 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12393 the verbosity of later #ifs.
12394 (find_partition_start): Define this function on FreeBSD too.
12395 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12396 function.
12397 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12398 on FreeBSD.
12399
6439b8ee
YB
124002010-09-20 Yves Blusseau <blusseau@zetam.org>
12401
12402 * util/grub-editenv.c: Use argp instead of getopt.
12403
c5930ec8
YB
124042010-09-20 Yves Blusseau <blusseau@zetam.org>
12405
12406 * util/grub-setup.c: Use argp instead of getopt.
12407
15c69261
YB
124082010-09-20 Yves Blusseau <blusseau@zetam.org>
12409
12410 Use gnulib-tool to create gnulib source files.
12411
12412 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12413 grub-core/gnulib directories
12414 * .bzignore: Add **/.deps and autogenerated gnulib files
12415 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12416 of gnulib macros, add grub-core/gnulib/Makefile
12417 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12418 include m4 directory to aclocal.
12419 * Makefile.util.def: Remove direct compilation of gnulib source files
12420 and use the new grub-core/gnulib/libgnu.a.
12421 * build-aux/config.rpath: move config.rpath from top directory to
12422 build-aux
12423 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12424 in gnulib headers
12425 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12426 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12427 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12428 header.
12429 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12430 string.
12431
e511c9f5
YB
124322010-09-20 Yves Blusseau <blusseau@zetam.org>
12433
12434 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12435 grub-core/genmod.sh and grub-core/gensyminfo.sh
12436
c2dede05
BC
124372010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12438
12439 Add a test for echo command options.
12440
12441 * tests/grub_cmd_echo.in: New test.
12442 * Makefile.util.def: Rules for new test.
12443
c55f5018
SJ
124442010-09-20 Szymon Janc <szymon@janc.net.pl>
12445
12446 Remove crc.mod and move crc command to hashsum.mod.
12447 Remove lib/crc.c - users updated to use gcrypt implementation.
12448
12449 * grub-core/commands/crc.c: Removed.
12450 * grub-core/Makefile.core.def (crc): Module removed.
12451 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12452 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12453 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12454 * grub-core/lib/crc.c: Removed.
12455 * include/grub/lib/crc.h: Removed.
12456 * Makefile.util.def (crc): Remove lib/crc.c
12457 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12458 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12459 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12460 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12461 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12462 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12463
e0337366
VS
124642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12467
742f9232
VS
124682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 Split config.h for util and core.
12471
12472 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12473 (ADDR32): Likewise.
12474 (DATA32): Likewise.
12475 (BSS_START_SYMBOL): Likewise.
12476 (END_SYMBOL): Likewise.
12477 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12478 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12479 * config.h.in: New file.
12480 * configure.ac: Use config-util.h as config define file.
12481 Rename MACHINE into GRUB_MACHINE. All users updated.
12482 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12483 updated.
12484 (NESTED_FUNC_ATTR): Likewise.
12485 Substitue new variables.
12486 (COND_HAVE_ASM_USCORE): New conditional.
12487 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12488 (kernel_syms.lst): Use ASM_PREFIX.
12489 * grub-core/kern/emu/console.c: Include config-util.h.
12490 * grub-core/kern/emu/misc.c: Likewise.
12491 * grub-core/kern/emu/mm.c: Likewise.
12492 * include/grub/emu/misc.h: Likewise.
12493 * include/grub/libgcc.h: Likewise.
12494
39feb0e8
VS
124952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12498 constants usage.
12499 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12500 Fix GRUB_TERM_KEY_* constants usage.
12501 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12502
9af6dac3
VS
125032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12506 print pointer.
12507 * grub-core/bus/usb/uhci.c: Remove empty define.
12508 (grub_uhci_check_transfer): Add missing cast.
12509 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12510 print pointer.
12511 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12512 PRIuGRUB_SIZE.
12513 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12514
d6d94820
VS
125152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * grub-core/Makefile.core.def (legacycfg): Add
12518 lib/i386/pc/vesa_modes_table.c on emu.
12519
3572f2b6
BC
125202010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12521
12522 Reduce number of temporary files generated by build system.
12523
12524 * grub-core/gencmdlist.sh: Removed.
12525 * grub-core/genfslist.sh: Removed.
12526 * grub-core/genhandlerlist.sh: Removed.
12527 * grub-core/genmodsrc.sh: Removed.
12528 * grub-core/genpartmaplist.sh: Removed.
12529 * grub-core/genparttoollist.sh: Removed.
12530 * grub-core/gentermiinallist.sh: Removed.
12531 * grub-core/genvideolist.sh: Removed.
12532
12533 * grub-core/genmod.sh.in: New file.
12534 * grub-core/gensyminfo.sh.in: New file.
12535
12536 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12537 * conf/Makefile.extra-dist: Update with new files.
12538 * gentpl.py: Remove rules related to unnecessary temporary files.
12539 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12540 and und-* files.
12541 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12542 genmod.sh scripts.
12543 * grub-core/bus/usb/uhci.c: Remove empty #define.
12544 * grub-core/genmoddep.awk: Updated with new syminfo format.
12545 * util/bash-completion.d/Makefile.am: Add config.log to
12546 CLEANFILES.
12547
c836b030
YB
125482010-09-19 Yves Blusseau <blusseau@zetam.org>
12549
12550 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12551
2f4e8053
BC
125522010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12553
12554 * util/grub-mkconfig.in: Check the config script for syntax errors
12555 before saving.
12556
75831c34
CW
125572010-09-19 Colin Watson <cjwatson@ubuntu.com>
125582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12561 platforms.
12562 * util/grub-install.in: Add EFI and IEEE1275 support.
12563 * util/i386/efi/grub-install.in: Removed.
12564 * util/ieee1275/grub-install.in: Likewise.
12565
eaf41b25
VS
125662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12569 (grub_cmd_cmosclean): Likewise.
12570 (GRUB_MOD_INIT): Register command cmosclean.
12571 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12572 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12573
1a9130dd
CPE
125742010-09-18 Carles Pina i Estany <carles@pina.cat>
125752010-09-18 Aleš Nesrsta <starous@volny.cz>
125762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 Add keyboard layouts support.
12579
12580 * Makefile.util.def (grub-mklayout): New file.
12581 (grub-kbdcomp): New script.
12582 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12583 Add keyboard_layouts.h.
12584 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12585 commands/boot.c on yeeloong.
12586 (keylayouts): New module.
12587 * grub-core/bus/usb/ohci.c
12588 * grub-core/bus/usb/uhci.c
12589 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12590 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12591 (attach_root_port): Likewise.
12592 (poll_nonroot_hub): Likewise.
12593 (grub_usb_poll_devices): Likewise.
12594 (detach_device): Close transfer.
12595 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12596 function.
12597 (grub_usb_bulk_setup_readwrite): Likewise.
12598 (grub_usb_bulk_finish_readwrite): Likewise.
12599 * grub-core/commands/keylayouts.c: New file.
12600 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12601 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12602 aliases.
12603 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12604 support scancode 2.
12605 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12606 * include/grub/keyboard_layouts.h: New file.
12607 * util/grub-mklayout.c: New file.
12608 * util/grub-kbdcomp.in: Likewise.
12609
a1d84a5e
VS
126102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 Unify memory types.
12613
12614 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12615 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12616 types.
12617 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12618 (grub_upper_mem): Likewise.
12619 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12620 * include/grub/memory.h (grub_memory_type_t): New enum.
12621 All users updated.
12622
9696382e
VS
126232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/Makefile.core.def (lsapm): New module.
12626 * grub-core/commands/i386/pc/lsapm.c: New file.
12627 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12628 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12629 Likewise.
12630 * include/grub/i386/pc/apm.h: New file.
12631 * include/multiboot.h (multiboot_apm_info): New struct.
12632
126332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 GRUB-legacy configuration file support.
12636
12637 * Makefile.util.def (grub-menulst2cfg): New util.
12638 * docs/man/grub-menulst2cfg.h2m: New file.
12639 * grub-core/Makefile.core.def (legacycfg): New module.
12640 * grub-core/commands/legacycfg.c: New file.
12641 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12642 (grub_normal_add_menu_entry): ... this.
12643 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12644 (grub_normal_set_password): ...this.
12645 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12646 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12647 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12648 * grub-core/lib/legacy_parse.c: New file.
12649 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12650 * include/grub/i386/pc/vesa_modes_table.h: New file.
12651 * include/grub/legacy_parse.h: Likewise.
12652 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12653 * util/grub-menulst2cfg.c: New file.
12654
bf8d1338
CW
126552010-09-17 Colin Watson <cjwatson@ubuntu.com>
12656
12657 * grub-core/kern/emu/hostdisk.c
12658 (convert_system_partition_to_system_disk): Initialise node.
12659
9c0bad2e
CW
126602010-09-17 Colin Watson <cjwatson@ubuntu.com>
12661
12662 * grub-core/kern/emu/hostdisk.c
12663 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12664 leak.
12665 Reported and based on patch by: Modestas Vainius.
12666
a939d135
CW
126672010-09-17 Colin Watson <cjwatson@ubuntu.com>
12668
12669 Fix DM-RAID probing with recent versions of device-mapper udev
12670 rules.
12671
12672 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12673 canonicalise device paths under /dev/mapper/.
12674 (convert_system_partition_to_system_disk): Compare the
12675 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12676 path, since device nodes under /dev/mapper/ are often symlinks.
12677
0f7ee3c9
YB
126782010-09-17 Yves Blusseau <blusseau@zetam.org>
12679
12680 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12681
10854d0d
YB
126822010-09-16 Yves Blusseau <blusseau@zetam.org>
12683
12684 * configure.ac: Avoid some annoying error messages if freetype-config
12685 program is not found.
12686
108538d8
CW
126872010-09-16 Colin Watson <cjwatson@ubuntu.com>
12688
12689 Support RAID on virtio devices, and others.
12690
12691 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12692 Rename to ...
12693 [__MINGW32__] (grub_find_device): ... this.
12694 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12695 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12696 reasonable default if dir is NULL.
12697 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12698 ...
12699 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12700 (grub_guess_root_device): Update callers.
12701 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12702
12703 * util/raid.c (grub_util_getdiskname): Remove.
12704 (grub_util_raid_getmembers): Use grub_find_device rather than
12705 grub_util_getdiskname.
12706
e5bfc130
CW
127072010-09-16 Colin Watson <cjwatson@ubuntu.com>
12708
12709 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12710 needing to be compiled with serial support.
12711 (ls): Indicate that multiple files are accepted.
12712 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12713 indicate that multiple files are accepted.
12714
be458ae2
CW
127152010-09-16 Colin Watson <cjwatson@ubuntu.com>
12716
12717 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12718 libgrub_a_init.c, and util/bash-completion.d/grub.
12719
cb731b5e
VS
127202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * util/grub-setup.c (setup): Fix incorrect container semantics.
12723
35139e8a
VS
127242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12727 misusage.
12728 Reported by: J. Nick Terry
12729
e50fca4a
VS
127302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 Move embedding routines to partmap sources files.
12733
12734 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12735 [GRUB_UTIL]: New variable.
12736 (gpt_partition_map_iterate): Set part.parent.
12737 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12738 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12739 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12740 New function.
12741 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12742 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12743 (grub_partition_map) [GRUB_UTIL]: New field embed.
12744 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12745 (setup): Use ->embed.
12746
f00478b7
VS
127472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12750 function.
12751 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12752 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12753
2b94e3ff
YB
127542010-09-15 Yves Blusseau <blusseau@zetam.org>
12755
12756 Add function to get completions from usage.
12757
12758 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12759 completions from usage. Use LC_ALL=C to get options properly.
12760
2e04a006
VS
127612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/gnulib/basename-lgpl.c: Imported.
12764 * grub-core/gnulib/basename.c: Likewise.
12765 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12766 * grub-core/gnulib/dirname.c: Likewise.
12767 * grub-core/gnulib/dirname.h: Likewise.
12768 * grub-core/gnulib/stripslash.c: Likewise.
12769
5dcdf93a
VS
127702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/gnulib/error.c: Resynced.
12773 * grub-core/gnulib/getopt.c: Likewise.
12774 * grub-core/gnulib/getopt_int.h: Likewise.
12775 * grub-core/gnulib/regex.h: Likewise.
12776 * grub-core/gnulib/regex_internal.c: Likewise.
12777 * grub-core/gnulib/regex_internal.h: Likewise.
12778
014f47b7
SJ
127792010-09-15 Szymon Janc <szymon@janc.net.pl>
12780
12781 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12782 CRC calculations and validity checks.
12783 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12784 calculations.
12785
dd521a4a
SJ
127862010-09-15 Szymon Janc <szymon@janc.net.pl>
12787
12788 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12789
79c4eeb9
VS
127902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 Fix incorrect echo options handling.
12793 Reported by: Yves Blusseau.
12794
12795 * include/grub/command.h (grub_command_flags_t): New flags
12796 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12797 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12798 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12799
ed80f7d5
VS
128002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12803 users updated.
12804 (GRUB_COMMAND_FLAG_MENU): Likewise.
12805 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12806 (GRUB_COMMAND_FLAG_TITLE): Removed.
12807 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12808 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12809 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12810 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12811 (grub_command_flags_t): New enum. All users updated.
12812
5fe7620a
SG
128132010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12814
12815 Fix solaris compilation.
12816
12817 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12818 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12819 (grub-emu-list): Likewise.
12820
545b752f
VS
128212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 Remove deprecated root command.
12824
12825 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12826 updated.
12827
6c1a338c
VS
128282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * util/i386/pc/grub-setup.c: Merge this ...
12831 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12832 * util/grub-setup.c: ... into this.
12833 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12834 New struct.
12835
128362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12839 possible.
12840
d2ea4551
VS
128412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12844 allocate p.
12845
3c3b5040
VS
128462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12849 explicit root argument to set to prevent UUID to be interpreted as
12850 argument to set.
12851
b71c3fae
VS
128522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12855
275433e6
VS
128562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 Don't export grub_gate_a20.
12859
12860 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12861 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12862 to ...
12863 (grub_gate_a20): ... this. All users updated.
12864 * include/grub/i386/pc/init.h: Removed. All users updated.
12865
a5dbb1f1
VS
128662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 Create euro.pf2 which supports most European languages.
12869
12870 * Makefile.am (grubdata_DATA): Add euro.pf2.
12871 (euro.pf2): New target.
12872 (CLEANFILES): Add euro.pf2.
12873
62a747cb
VS
128742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * configure.ac: Disable emu-usb by default to prevent inadvertent
12877 device takeover.
12878
608e43b1
VS
128792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 Disable usbserial on grub-emu since our libusb code isn't good enough
12882 yet.
12883
12884 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12885 (usbserial_pl2303): Likewise.
12886 (usbserial_ftdi): Likewise.
12887
94564f81
VS
128882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * include/grub/disk.h (grub_disk): Remove has_partitions.
12891 All users updated.
12892 * disk/loopback.c (grub_loopback): Remove has_partitions.
12893 All users updated.
12894 (options): Remove partitions. All users updated.
12895 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12896 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12897 actual partition table is found.
12898
3352800b
VS
128992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 Remove readability checks (too many false negatives).
12902
12903 * util/grub-install.in: Remove readability checks.
12904 * util/grub-mkconfig.in: Likewise.
12905 * util/grub.d/10_hurd.in: Likewise.
12906 * util/grub.d/10_kfreebsd.in: Likewise.
12907 * util/grub.d/10_linux.in: Likewise.
12908 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12909 way.
12910
2419f17a
VS
129112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Enable acpi shutdown on all ACPI platforms.
12914
12915 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12916 on coreboo, multiboot and EFI.
12917 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12918 (grub_acpi_halt): Likewise.
12919 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12920 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12921 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12922 * grub-core/lib/i386/halt.c (grub_halt)
12923 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12924
0575c7c3
VS
129252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12928 context.
12929
54ac3cd1
VS
129302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12933 * grub-core/video/efi_uga.c: Likewise.
12934
b2a30ac5
VS
129352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 Filter devaliases and never open same device twice.
12938
12939 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12940 (last_ihandle): Likewise.
12941 (ofdisk_hash_ent): New member shortest.
12942 (ofdisk_hash_add): Add canonical path too.
12943 (scan): New function.
12944 (grub_ofdisk_iterate): Iterate over hashed entries.
12945 (compute_dev_path): Don't add :0.
12946 (grub_ofdisk_open): Don't really open the disk.
12947 (grub_ofdisk_close): Avoid closing unrelated disk.
12948 (grub_ofdisk_read): Implement reopen logic.
12949 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12950 New function.
12951 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12952 New proto.
12953
fb53b340
VS
129542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Fix sparc64.
12957
12958 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12959 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12960 right address. Add sparc64_ieee1275_ldflags.
12961 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12962 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12963 to grub_host_to_target_addr
12964 (load_image): Likewise.
12965
f452b040
VS
129662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/normal/completion.c (complete_file): Handle device
12969 containing slash.
12970 Fix based on patch by Doug Nazar.
12971
9b5b2541
VS
129722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 grub-mknetdir script.
12975
12976 * Makefile.util.def (grub-mknetdir): New module.
12977 * tests/util/grub-shell.in: Support boot=net
12978 * util/grub-mknetdir.in: New file.
12979
9d2be652
VS
129802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 videoinfo on non-vbe.
12983
12984 * grub-core/Makefile.core.def (vbeinfo): Removed.
12985 (vbetest): Removed.
12986 (videoinfo): New module.
12987 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12988 * grub-core/commands/i386/pc/vbetest.c: Removed.
12989 * grub-core/commands/videoinfo.c: New file.
12990 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12991 specification.
12992 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12993 as vbetest.
12994 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12995 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12996 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12997 mode_number. New parameter mode. All users updated.
12998 (grub_video_gop_iterate): New function.
12999 (grub_video_efi_gop): New member iterate.
13000 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13001 (grub_vbe_set_video_mode): Remove setting useless fields.
13002 (vbe2videoinfo): New function.
13003 (grub_video_vbe_iterate): Likewise.
13004 (grub_video_vbe_setup): Use vbe2videoinfo.
13005 (grub_video_vbe_print_adapter_specific_info): New function.
13006 (grub_video_vbe_adapter): New fields iterate and
13007 print_adapter_specific_info.
13008 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13009 All users updated.
13010 (grub_video_mode_info): New field mode_number.
13011 (grub_video_adapter): New fields iterate and
13012 print_adapter_specific_info.
13013
179503f5
TG
130142010-09-13 Tristan Gingold <gingold@free.fr>
130152010-09-13 Robert Millan <rmh.grub@aybabtu.com>
130162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * grub-core/commands/efi/lsefisystab.c: New file.
13019 * grub-core/commands/efi/lssal.c: Likewise.
13020 * grub-core/Makefile.core.def (lsacpi): New module.
13021 (lsefisystab): Likewise.
13022 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13023 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13024 (grub_efi_sal_system_table): New struct.
13025 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13026 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13027 (grub_efi_sal_system_table_platform_features): Likewise.
13028 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13029 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13030 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13031 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13032
cf9827de
VS
130332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Support explicit user claim that a device is BIOS-visible.
13036
13037 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13038 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13039 * grub-core/kern/emu/hostdisk.c
13040 (convert_system_partition_to_system_disk): Support mdX.
13041 (find_system_device): New parameter add. All users updated.
13042 (grub_util_biosdisk_is_present): New function.
13043 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13044 proto.
13045
53f0eb1f
VS
130462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 Search hints support.
13049
13050 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13051 All users updated.
13052
b23ffd70
YB
130532010-09-13 Yves Blusseau <blusseau@zetam.org>
13054
13055 Bash completion script for util commands
13056
13057 * Makefile.am: Add util/bash-completion.d directory
13058 * configure.ac: Likewise.
13059 * util/bash-completion.d/Makefile.am: New file.
13060 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13061
d547dc28
VS
130622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13065 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13066 Reported by: Yves Blusseau.
13067
2fc8ccb9
VS
130682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13071 partition size and offset.
13072
d8a84076
VS
130732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13076
84fb3b3d
VS
130772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13080
768ec2e2
VS
130812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13084 (grub_xvasprintf): Likewise.
13085
4870900f
VS
130862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13089
faca6bec
VS
130902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13093 args ending with NULL.
13094
130952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13096
13097 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13098 pointer.
13099
3c70f225
SJ
131002010-09-11 Szymon Janc <szymon@janc.net.pl>
13101
13102 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13103
4df7996d
VS
131042010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Shutdown using ACPI.
13107
13108 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13109 * grub-core/commands/acpihalt.c: New file.
13110 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13111 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13112 (grub_acpi_halt): New proto.
13113 (GRUB_ACPI_SLP_EN): New const.
13114 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13115 (GRUB_ACPI_OPCODE_*): New enum.
13116 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13117
126b4c32
TG
131182010-09-11 Tristan Gingold <gingold@free.fr>
131192010-09-11 Robert Millan <rmh.grub@aybabtu.com>
131202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * commands/lsacpi.c: New file.
13123 * grub-core/Makefile.core.def (lsacpi): New module.
13124 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13125 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13126 (grub_acpi_madt_entry_header): New struct.
13127 (grub_acpi_madt): Likewise.
13128 (grub_acpi_madt_entry_interrupt_override): Likewise.
13129 (grub_acpi_madt_entry_sapic): Likewise.
13130 (grub_acpi_madt_entry_lsapic): Likewise.
13131 (grub_acpi_madt_entry_platform_int_source): Likewise.
13132 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13133 (PRIuGRUB_UINT32_T): Likewise.
13134 (PRIxGRUB_UINT64_T): Likewise.
13135
1aa4fe88
VS
131362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Implement loading palette on ieee1275_fb.
13139
13140 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13141 (have_setcolors): Likewise.
13142 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13143 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13144 (grub_video_ieee1275_set_palette): Implement.
13145
25761e13
VS
131462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
131472010-09-11 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * util/grub-install.in (grub_partition): New variable.
13150 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13151 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13152 Fixes a bug reported by Yves Blusseau.
13153
050abaea
VS
131542010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 Fix emu on mipsel.
13157
13158 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13159 =grub_cpu_flush_cache on all mips and not only yeeloong.
13160 * configure.ac (COND_mips): New conditional.
13161 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13162 platforms.
13163 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13164 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13165 [GRUB_LINKER_HAVE_INIT]: New function.
13166 (grub_emu_post_init): Likewise.
13167 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13168 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13169 * include/grub/cache.h (_mips): Include mips/cache.h.
13170 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13171 LVM and RAID prototypes.
13172 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13173 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13174 function.
13175
5ed7d816
CW
131762010-09-10 Colin Watson <cjwatson@ubuntu.com>
13177
13178 * util/grub-install.in: Don't try to verify core.img until after
13179 running grub-mkimage to create it.
13180
90367e04
RM
131812010-09-10 Robert Millan <rmh@gnu.org>
13182
13183 * util/grub.d/10_hurd.in: Add misc readability checks.
13184 * util/grub.d/10_kfreebsd.in: Likewise.
13185 * util/grub.d/10_linux.in: Likewise.
13186
c452fa66
CW
131872010-09-10 Colin Watson <cjwatson@ubuntu.com>
13188
13189 * util/grub-install.in: ${imgext} won't be defined here until the
13190 install branch is merged. For the meantime, only verify core.img on
13191 i386-pc and sparc64-ieee1275 platforms.
13192
c38fe9f4
RM
131932010-09-10 Robert Millan <rmh@gnu.org>
13194
13195 Solaris support in grub_find_zpool_from_dir(). Thanks
13196 Seth Goldberg for referring to getextmntent() facility.
13197
13198 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13199 `sys/mkdev.h'.
13200 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13201 `<sys/mnttab.h>'.
13202 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13203 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13204 method for finding zpool name.
13205
905f7773
CW
132062010-09-10 Colin Watson <cjwatson@ubuntu.com>
13207
13208 grub-fstest needs the host and hostfs modules while other utilities
13209 actively require those modules to be absent, so grub-fstest needs
13210 its own initialisation and finalisation code.
13211
13212 * Makefile.am (grub_fstest.pp): New target.
13213 (grub_fstest_init.lst): Likewise.
13214 (grub_fstest_init.c): Likewise.
13215 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13216
fb90b546
RM
132172010-09-10 Robert Millan <rmh@gnu.org>
13218
13219 * configure.ac: Check for `struct statfs.f_fstypename' and
13220 `struct statfs.f_mntfromname'.
13221
13222 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13223 kFreeBSD-specific code.
13224
66d4bea5
RM
132252010-09-10 Robert Millan <rmh@gnu.org>
13226
13227 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13228 on ZFS. Now non-main filesystems are supported as / too.
13229
b6a690ee
CW
132302010-09-09 Colin Watson <cjwatson@ubuntu.com>
13231
13232 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13233 and grub-core/disk/host.c to ...
13234 (grub-fstest): ... here. Having the host disk implementation
13235 present confuses grub-probe and other utility programs.
13236
13237 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13238 when writing to a file, not when writing to stdout.
13239
8901b00c 132402010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13241
13242 * tests/partmap_test.in: New test for partitions.
13243 * Makefile.util.def: Rules for new test.
13244
7bf45fdd
RM
132452010-09-09 Robert Millan <rmh@gnu.org>
13246
13247 * util/grub-probe.c (probe): Fix a pair of unhandled error
13248 conditions.
13249
4dfbc574
RM
132502010-09-09 Robert Millan <rmh@gnu.org>
13251
13252 Basic Btrfs support (detection and UUID).
13253
13254 * grub-core/fs/btrfs.c: New file.
13255 * Makefile.util.def (library): Register btrfs.c.
13256 * grub-core/Makefile.core.def: Likewise.
13257
6b8e78ae
RM
132582010-09-08 Robert Millan <rmh@gnu.org>
13259
13260 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13261 with (optional) parameters to specify device and relative path.
13262 * util/grub-install.in: Use is_path_readable_by_grub() to
13263 verify readability of a few critical files.
13264 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13265 verify readability of grub.cfg.new.
13266
27f21a8b
VS
132672010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 Split minix.mod into minix.mod and minix2.mod.
13270
13271 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13272 * grub-core/Makefile.core.def (minix2): New module.
13273 * grub-core/fs/minix.c: Use definitions instead of runtime version
13274 checking.
13275 * grub-core/fs/minix2.c: New file.
13276
c0e53ea5
YB
132772010-09-08 Yves Blusseau <blusseau@zetam.org>
13278
13279 Add new --boot-directory option to replace --root-directory
13280
13281 * util/grub-install.in: Add new --boot-directory option
13282 * util/grub-reboot.in: Likewise.
13283 * util/grub-set-default.in: Likewise.
13284
b9fe6ea2
YB
132852010-09-08 Yves Blusseau <blusseau@zetam.org>
13286
13287 * util/grub-mkconfig.in: Use new variable.
13288
d87aedff
YB
132892010-09-08 Yves Blusseau <blusseau@zetam.org>
13290
13291 * configure.ac: Define some useful variables.
13292
e55e8495
VS
132932010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13296 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13297 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13298 Use terminfo and don't use cursor-on/cursor-off unless it's known
13299 to work.
13300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13301 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13302
6fa6d675
CW
133032010-09-08 Colin Watson <cjwatson@ubuntu.com>
13304
13305 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13306 starts with "(,", fill the drive containing the loaded image in
13307 between those two characters, but expect that a full partition
13308 specification including partition map names will follow.
13309
92f2aef0
RM
133102010-09-08 Robert Millan <rmh@gnu.org>
13311
13312 * configure.ac: Remove `--enable-grub-fstest' option.
13313 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13314
13315 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13316 `grub-fstest' instead of `grub-probe' for readability verification.
13317 * util/grub-probe.c (probe): Remove readability verification kludge.
13318
99fd620d
RM
133192010-09-08 Robert Millan <rmh@gnu.org>
13320
13321 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13322 initializing `GRUB_FS'.
13323
058e30ac 133242010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13325
13326 Not command (!) support to GRUB script.
13327
13328 * tests/grub_script_not.in: New test.
13329 * Makefile.util.def: Rules for new test.
13330
13331 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13332 ! command as a special case.
13333 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13334
b61d05ed 133352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13336
058e30ac 13337 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13338 grub_free.
b61d05ed 13339
4d69c786 133402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13341
13342 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13343
aa3119c4 133442010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13345
13346 * docs/grub.texi (Shell-like scripting): Documentation for break,
13347 continue, shift and return commands.
13348
db0f7e3d
VS
133492010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 Rename CD-ROM to cd on BIOS.
13352
13353 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13354 "cd".
13355 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13356
88b87c93
VS
133572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13360 * util/grub-probe.c (main): Likewise.
13361 * util/i386/pc/grub-setup.c (main): Likewise.
13362 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13363 Reported and debugged by: alexxy
13364
294f324d
VS
133652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13368 diagnostic info.
13369
d7ee3441
JS
133702010-09-05 Jo Shields <directhex@apebox.org>
13371
13372 * util/grub.d/30_os-prober.in: Add missing classes.
13373
d7e06c1f
VS
133742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * docs/grub.texi (Theme file format): Document new position format.
13377
fc157e53
VS
133782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13381 a table. Use @code instead of @verbatim.
13382
506e9a1c
CB
133832010-09-05 Colin D Bennett <colin@gibibit.com>
13384
13385 Gfxmenu documentation.
13386
13387 * docs/grub.texi (Theme file format): New chapter.
13388
f0aff67c
SJ
133892010-09-05 Szymon Janc <szymon@janc.net.pl>
13390
13391 * grub-core/Makefile.core.def (xzio): New module.
13392 * grub-core/io/xzio.c: New file.
13393 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13394 * grub-core/lib/xzembed/xz_config.h: Likewise.
13395 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13396 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13397 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13398 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13399 * grub-core/lib/xzembed/xz_private.h: Likewise.
13400 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13401 * include/grub/file.h (grub_file_filter_id): New compression filter
13402 GRUB_FILE_FILTER_XZIO.
13403
82a85062
VS
134042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13407 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13408 size.
13409
3579415d
VS
134102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13413 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13414
5124ae6d
VS
134152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 Uncompressed checksum support.
13418
13419 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13420 (check_list): New parameter uncompress.
13421 (grub_cmd_hashsum): Handle --uncompress.
13422
9aadb3d1
VS
134232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 Reintroduce testload.
13426
13427 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13428 from here ...
13429 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13430 (GRUB_MOD_INIT): New function.
13431 (GRUB_MOD_FINI): Likewise.
13432 * grub-core/Makefile.core.def (testload): New module.
13433
a17792c3
SJ
134342010-09-05 Szymon Janc <szymon@janc.net.pl>
13435
13436 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13437 (uint8_t): New type.
13438 (uint16_t): Likewise.
13439 (uint32_t): Likewise.
13440 (uint64_t): Likewise.
13441
b81e40a3
SJ
134422010-09-05 Szymon Janc <szymon@janc.net.pl>
13443
13444 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13445
fc2ef117
VS
134462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13449 Made static.
13450 (grub_gzfile_open): Removed. All users updated.
13451 (GRUB_MOD_INIT): New function.
13452 (GRUB_MOD_FINI): Likewise.
13453 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13454 (grub_file_filters_enabled): Likewise.
13455 (grub_file_open): Handle filters.
13456 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13457 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13458 * include/grub/file.h (grub_file_filter_id_t): New type.
13459 (grub_file_filter_t): Likewise.
13460 (grub_file_filters_all): New extern variable.
13461 (grub_file_filters_enabled): Likewise.
13462 (grub_file_filter_register): New inline function.
13463 (grub_file_filter_unregister): Likewise.
13464 (grub_file_filter_disable): Likewise.
13465 (grub_file_filter_disable_compression): Likewise.
13466 * include/grub/gzio.h: Removed.
13467
35ee15e0
BC
134682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13469
13470 Filename expansion support for wildcards in GRUB script.
13471
13472 * tests/grub_script_expansion.in: New test.
13473 * Makefile.util.def: Rule for new test.
13474
13475 * grub-core/commands/wildcard.c: New file, implements filename
13476 expansion support for GRUB script.
13477 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13478 * grub-core/script/argv.c: Cosmetic changes.
13479 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13480 Refactored to perform wildcard expansion on arguments.
13481 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13482 struct.
13483
13484 * tests/util/grub-shell.in: Fix quoting for read input.
13485
5f0c4aca
BC
134862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13487
13488 Support for updating environment variables with matched substrings
13489 of regexp.
13490
13491 * tests/grub_cmd_regexp.in: New test.
13492 * Makefile.util.def: Rule for new test.
13493
13494 * grub-core/commands/regexp.c: New option -s to update environment
13495 variables with regexp matches.
13496
3759a35f
SJ
134972010-09-04 Szymon Janc <szymon@janc.net.pl>
13498
13499 * include/grub/file.h (grub_file): New member not_easly_seekable.
13500 (grub_file_seekable): New inline function.
13501 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13502 easily seekable.
13503 (grub_gzio_open): Set not_easly_seekable.
13504 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13505 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13506
ed8c6dec
BC
135072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13508
13509 Support for options to appear multiple times on cmdline.
13510
13511 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13512 * grub-core/commands/extcmd.c: Support for repeatable option.
13513 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13514 repeatable option support.
13515
13516 Refactor menuentry into a regular command.
13517
13518 * grub-core/commands/menuentry.c: New file, menuentry command
13519 implementation.
13520 * grub-core/Makefile.core.def: Rule update for normal.mod.
13521 * grub-core/normal/main.c: Moved menuentry creation to
13522 grub-core/commands/menuentry.c.
13523 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13524 (grub_menu_execute_entry_real): Removed.
13525 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13526 function.
13527 (grub_script_execute_menuentry): Removed.
13528 * grub-core/script/parser.y (menuentry): Removed.
13529 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13530 * grub-core/script/yylex.l (menuentry): Removed.
13531 * include/grub/menu.h (grub_menu_init): New prototype.
13532 (grub_menu_fini): New prototype.
13533 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13534 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13535 (grub_script_execute_sourcecode): New prototype.
13536
dacd0cf0
BC
135372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13538
13539 "return" command for GRUB script functions.
13540
13541 * tests/grub_script_return.in: New test.
13542 * Makefile.util.def: Rules for new test.
13543
13544 * grub-core/script/execute.c (grub_script_return): New function.
13545 * grub-core/script/main.c: Register/unregister return commaond.
13546 * include/grub/script_sh.h (grub_script_return): New prototype.
13547
52e72f9d
BC
135482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13549
13550 "setparams" command to update positional parameters.
13551
13552 * tests/grub_script_setparams.in: New test.
13553 * Makefile.util.def: Rules for new test.
13554
13555 * grub-core/script/argv.c (grub_script_argv_make): New function.
13556 * grub-core/script/execute.c (replace_scope): New function.
13557 (grub_script_setparams): New function.
13558 * grub-core/script/lexer.c: Remove unused variables.
13559 * grub-core/script/main.c: Register/unregister setparams command.
13560 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13561 (grub_script_setparams): New prototype.
13562
25b60c91
BC
135632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13564
13565 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13566 grub_free order.
13567
37e7bf68
BC
135682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13569
13570 Support for passing block of commands as an argument to extcmds.
13571
13572 * Makefile.util.def: Rules for new test.
13573 * tests/grub_script_blockarg.in: New test.
13574 * grub-core/tests/test_blockarg.c: New file, block argument
13575 command used in the test.
13576
13577 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13578 (grub_register_extcmd_prio): New function prototype.
13579 (grub_extcmd_dispatcher): New function prototype.
13580 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13581 type.
13582 * include/grub/script_sh.h (struct grub_script): New members
13583 `children', `next_siblings' and `refcnt' for block arguments and
13584 reference counting.
13585 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13586 (grub_script_arg): New member `script' for block argument.
13587 (grub_script_argv): New member `script' for block argument.
13588 (grub_parser_param): New member `scripts' for block argument.
13589 (grub_script_mem_free): New extern function prototype.
13590 (grub_script_ref): New function prototype.
13591 (grub_script_unref): New function prototype.
13592
13593 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13594 extcmd form to support block arguments.
13595 * grub-core/script/argv.c: Block arguments support.
13596 * grub-core/script/execute.c: Likewise.
13597 * grub-core/script/lexer.c: Likewise.
13598 * grub-core/script/main.c: Likewise.
13599 * grub-core/script/script.c: Likewise.
13600 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13601 non-terminals.
13602
13603 * grub-core/commands/acpi.c: Update extcmd implementations with
13604 grub_extcmd_context_t.
13605 * grub-core/commands/cat.c: Likewise.
13606 * grub-core/commands/echo.c: Likewise.
13607 * grub-core/commands/extcmd.c: Likewise.
13608 * grub-core/commands/hashsum.c: Likewise.
13609 * grub-core/commands/hdparm.c: Likewise.
13610 * grub-core/commands/help.c: Likewise.
13611 * grub-core/commands/hexdump.c: Likewise.
13612 * grub-core/commands/i386/cpuid.c: Likewise.
13613 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13614 * grub-core/commands/i386/pc/halt.c: Likewise.
13615 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13616 * grub-core/commands/iorw.c: Likewise.
13617 * grub-core/commands/keystatus.c: Likewise.
13618 * grub-core/commands/loadenv.c: Likewise.
13619 * grub-core/commands/ls.c: Likewise.
13620 * grub-core/commands/lspci.c: Likewise.
13621 * grub-core/commands/memrw.c: Likewise.
13622 * grub-core/commands/probe.c: Likewise.
13623 * grub-core/commands/search_wrap.c: Likewise.
13624 * grub-core/commands/setpci.c: Likewise.
13625 * grub-core/commands/sleep.c: Likewise.
13626 * grub-core/disk/loopback.c: Likewise.
13627 * grub-core/hello/hello.c: Likewise.
13628 * grub-core/loader/i386/bsd.c: Likewise.
13629 * grub-core/loader/xnu.c: Likewise.
13630 * grub-core/term/gfxterm.c: Likewise.
13631 * grub-core/term/serial.c: Likewise.
13632 * grub-core/tests/lib/functional_test.c: Likewise.
13633
888d1500
BC
136342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13635
13636 Multi-line quoted strings support.
13637
13638 * grub-core/script/lexer.c (append_newline): Removed.
13639 (grub_script_lexer_yywrap): Refactored.
13640 (grub_script_lexer_init): Refactored.
13641 * grub-core/script/yylex.l (yywrap): New function.
13642 (grub_lexer_resplit): New function.
13643 (grub_lexer_unput): New function.
13644 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13645 and resplit.
13646 * tests/grub_script_echo1.in: Added few more testcases.
13647
dda060dd
VS
136482010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/kern/misc.c: Don't add abort alias in utils.
13651 Reported by: echoline.
13652
6556eba9
BC
136532010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13654
13655 Add missing files into "make dist" tarball for other platforms.
13656
13657 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13658 * conf/Makefile.common (dist_noinst_DATA): New variable.
13659 * conf/Makefile.extra-dist: Added missing make dist files.
13660 * grub-core/Makefile.core.def: Likewise.
13661
c8e7bf5f
VS
136622010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 Compress grub_prefix.
13665
13666 * grub-core/boot/i386/pc/lnxboot.S: Use
13667 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13668 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13669 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13670 GRUB_MACHINE_PREFIX_END. All users updated.
13671 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13672 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13673 + 0x40.
13674 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13675 * util/grub-mkimage.c (image_target_desc): Change data_end to
13676 prefix_end. All users updated.
13677
a7c00cdb
VS
136782010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13681 value.
13682 (grub_openbsd_boot): Likewise.
13683 (grub_netbsd_boot): Likewise.
13684 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13685 (grub_xnu_boot): Likewise.
13686
9f915872
VS
136872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * configure.ac: Clean LIBS variable after tests.
13690
efa1bee7
CW
136912010-09-02 Colin Watson <cjwatson@ubuntu.com>
13692
13693 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13694
61d720e5
VS
136952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13698 echo if libdevmapper will be used.
13699
ef8e0ec8
IT
137002010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13701
13702 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13703 constant for the same file.
13704
03e261d8
VS
137052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13708
c2a4eba6
CW
137092010-09-02 Colin Watson <cjwatson@ubuntu.com>
13710
13711 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13712 grub-core/*.pp.
13713
9056cbf3
CW
137142010-09-02 Colin Watson <cjwatson@ubuntu.com>
13715
13716 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13717 required by the boot protocol.
13718
13719 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13720 ebp and edi members.
13721 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13722 state.ebp and state.edi.
13723 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13724 %ebp and %edi according to grub_relocator32_ebp and
13725 grub_relocator32_edi respectively.
13726 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13727 and state.edi.
13728
529cc99a
VS
137292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 Add i386-pc-pxe image target.
13732
13733 * util/grub-mkimage.c (image_target_desc): New enum value
13734 IMAGE_I386_PC_PXE.
13735 (image_targets): New target i386-pc-pxe.
13736 (generate_image): Handle i386-pc-pxe image.
13737
9a093920
VS
137382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 Fix grub_pxe_scan.
13741
13742 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13743 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13744 All users updated.
13745 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13746 (grub_pxe_pxenv): Correct type.
13747
f9cefc4e
CW
137482010-09-01 Colin Watson <cjwatson@ubuntu.com>
13749
13750 * NEWS: Document most of the important changes since 1.98.
13751
4066f57f
CW
137522010-09-01 Colin Watson <cjwatson@ubuntu.com>
13753
13754 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13755 generated manual page) a little.
13756
da2891f9
CW
137572010-09-01 Colin Watson <cjwatson@ubuntu.com>
13758
13759 * docs/grub.texi: Add myself as an author.
13760
ad717fae
VS
137612010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 * Makefile.util.def (libgrub.a): Add missing sunpc.
13764 Reported by: Seth Goldberg.
13765
eefe8abd
VS
137662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 Interrupt wrapping and code simplifications.
13769
9494ef9a
VS
13770 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13771 x86_noieee1275 which are functionaly equivalent in this case.
13772 (grub-install): Make source on each platform explicit. Enable on
13773 all noemu.
13774 * gentpl.py (x86_efi_pc): Removed group.
13775 (x86_noefi): Likewise.
13776 (i386_noefi): Likewise.
13777 (x86_noieee1275): Likewise.
13778 (i386_noieee1275): Likewise.
13779 (i386_noefi_noieee1275): Likewise.
13780 (i386_pc_qemu_coreboot): Likewise.
13781 (i386_coreboot_multiboot): Likewise.
13782 (i386_pc_coreboot_multiboot_qemu): Likewise.
13783 (x86_noefi_mips): Likewise.
13784 (noieee1275): Likewise.
13785 (ieee1275_mips): Likewise.
13786 (noemu_noieee1275): Likewise.
13787 (cmos): New group.
13788 (usb): Likewise.
13789 (videoinkernel): Likewise.
13790 (videomodules): Likewise.
eefe8abd 13791 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13792 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13793 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13794 include/grub/loader.h, include/grub/msdos_partition.h,
13795 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13796 include/grub/machine/console.h, include/grub/machine/vga.h,
13797 include/grub/machine/vbe.h, include/grub/machine/init.h,
13798 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13799 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13800 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13801 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13802 * grub-core/Makefile.core.def (kernel): Explicit the source for
13803 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13804 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13805 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13806 Use videoinkernel tag.
13807 (usb): Enable on all usb.
13808 (usbserial_common): Likewise.
13809 (usbserial_pl2303): Likewise.
13810 (usbserial_ftdi): Likewise.
13811 (uhci): Enable on all x86.
13812 (ohci): Enable on all pci.
13813 (cmostest): Enable on all CMOS.
13814 (acpi): Include commands/acpi.c on all platforms.
13815 (halt): Add relevant lib/*/halt.c.
13816 (hdparm): Enable on all pci.
13817 (lspci): Likewise.
13818 (usbtest): Enable on all usb.
13819 (ata): Enable on all pci.
13820 (ata_pthru): Likewise.
13821 (usbms): Enable on all usb.
13822 (usb_keyboard): Likewise.
13823 (font): Use tag videomodules.
13824 (bufio): Likewise.
13825 (datetime): Use tag cmos. Enable on all noemu.
13826 (mmap): Use tags common and x86.
13827 (gfxterm): Use tag videomodules.
13828 (bitmap): Likewise.
13829 (bitmap_scale): Likewise.
13830 (video_fb): Likewise.
13831 (video): Likewise.
13832 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13833 adjust padding accordingly. All users updated.
13834 (grub_ohci_transaction): Fix bad format specification.
13835 (GRUB_MOD_INIT): Add asserts for struct size.
13836 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13837 (grub_alloc_td): Likewise.
13838 (grub_free_queue): Likewise.
13839 (grub_uhci_transfer): Likewise.
13840 (grub_uhci_transaction): Fix bad format specification.
13841 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13842 (grub_usb_bulk_readwrite): Likewise.
13843 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13844 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13845 Made static.
13846 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13847 Made static.
13848 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13849 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13850 Transformed into C.
13851 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13852 Moved from here ...
13853 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13854 ... here. Transformed into C. Made static.
13855 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13856 Moved from here ...
13857 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13858 ... here. Transformed into C. Made static.
13859 * grub-core/kern/i386/pc/startup.S
13860 (grub_biosdisk_check_int13_extensions): Moved from here ...
13861 * grub-core/disk/i386/pc/biosdisk.c
13862 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13863 Made static.
13864 * grub-core/kern/i386/pc/startup.S
13865 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13866 * grub-core/disk/i386/pc/biosdisk.c
13867 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13868 Transformed into C. Made static.
13869 * grub-core/kern/i386/pc/startup.S
13870 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13871 * grub-core/disk/i386/pc/biosdisk.c
13872 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13873 Transformed into C. Made static.
13874 * grub-core/kern/i386/pc/startup.S
13875 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13876 * grub-core/disk/i386/pc/biosdisk.c
13877 (grub_biosdisk_get_diskinfo_standard): ... here.
13878 Transformed into C. Made static.
13879 * grub-core/kern/i386/pc/startup.S
13880 (grub_biosdisk_get_num_floppies): Moved from here ...
13881 * grub-core/disk/i386/pc/biosdisk.c
13882 (grub_biosdisk_get_num_floppies): ... here.
13883 Transformed into C. Made static.
13884 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13885 New function.
13886 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13887 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13888 Transformed into C. Made static.
13889 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13890 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13891 Transformed into C. Made static.
13892 * grub-core/kern/i386/ieee1275/init.c: Removed.
13893 * grub-core/kern/i386/misc.S: Likewise.
13894 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13895 Splitted from here ...
13896 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13897 Transformed into C. Made static. All users updated.
13898 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13899 Transformed into C. Made static. All users updated.
13900 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13901 Moved from here...
13902 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13903 Transformed into C. Made static. All users updated.
13904 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13905 Moved from here...
13906 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13907 Transformed into C. Made static. All users updated.
13908 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13909 Removed (replaced by C version).
13910 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13911 Moved from here...
13912 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13913 Transformed into C. Made static.
13914 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13915 Moved from here...
13916 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13917 ... here. Transformed into C.
13918 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13919 Moved from here...
13920 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13921 ... here. Transformed into C.
13922 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13923 Moved from here...
13924 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13925 ... here. Transformed into C. Made static.
13926 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13927 Moved from here...
13928 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13929 ... here. Transformed into C.
21ed554b
VS
13930 * grub-core/kern/i386/pc/startup.S
13931 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13932 * grub-core/video/i386/pc/vbe.c
13933 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13934 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13935 Moved from here...
13936 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13937 ... here. Transformed into C.
13938 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13939 Moved from here...
13940 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13941 ... here. Transformed into C.
13942 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13943 Moved from here...
13944 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13945 ... here. Transformed into C.
13946 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13947 Moved from here...
13948 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13949 ... here. Transformed into C.
13950 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13951 Moved from here...
13952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13953 ... here. Transformed into C. Made static.
13954 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13955 Moved from here...
13956 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13957 ... here. Transformed into C. Made static.
13958 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13959 Moved from here...
13960 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13961 ... here. Transformed into C. Made static.
13962 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13963 pxe_rm_entry as third argument.
13964 (grub_bios_interrupt): New function.
13965 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13966 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13967 of calling grub_stop.
13968 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13969 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13970 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13971 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13972 * grub-core/lib/i386/halt.c: Moved from here ...
13973 * grub-core/lib/i386/halt.c: ... here.
13974 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13975 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13976 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13977 grub_stop_floppy.
13978 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13979 * include/grub/i386/coreboot/init.h: Removed.
13980 * include/grub/i386/multiboot/init.h: Likewise.
13981 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13982 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13983 * include/grub/i386/pc/int.h: New file.
13984 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13985 (grub_pxe_scan): Removed.
13986 (grub_pxe_call): Update prototype.
13987 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13988 prototypes.
13989 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13990 * include/grub/i386/qemu/init.h: Removed.
13991 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13992 noreturn.
13993 (grub_halt): Likewise.
13994 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13995 (grub_reboot): Likewise.
13996 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13997 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13998 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13999
215dd471
RM
140002010-08-30 Robert Millan <rmh@gnu.org>
14001
14002 * NEWS: Document addition of ZFS support in `grub-install' and
14003 `grub-mkconfig'.
14004
ebd65b82
BC
140052010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14006
14007 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14008 dprintf output.
14009
11721d19
VS
140102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 Remove leftover embedding of font objects.
14013
14014 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14015 * util/grub-install.in (font): Removed.
14016 * util/grub-mkimage.c (generate_image): Remove font support. All users
14017 updated.
14018
37837d4e
VS
140192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 Remove leftover embedding of font objects.
14022
14023 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14024 * util/grub-install.in (font): Removed.
14025 * util/grub-mkimage.c (generate_image): Remove font support. All users
14026 updated.
14027
b4c1aae0
VS
140282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14029
14030 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14031 Reported by: Ian Turner
b4c1aae0 14032
8920a08d
VS
140332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14036 timeout to avoid indefinite boot stalling.
14037
f21db033
VS
140382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14041 (grub_env_write_color_highlight): Likewise.
14042
9a9de209
VS
140432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/normal/term.c (print_more): Return to normal and not
14046 to standard state after printing "---MORE---".
14047
3dca01d7
VS
140482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14051 Mask out the bit 0x80 since it has other meaning that specifiing color.
14052
0b986c40
VS
140532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 New relocator. Allows for more kernel support and more straightforward
14056 loader writing.
14057
14058 * Makefile.am (BOOTTARGET): New variable.
14059 (QEMU32): Likewise.
14060 (linux.init.x86_64): New target.
14061 (linux.init.i386): Likewise.
14062 (multiboot.elf): Likewise.
14063 (kfreebsd.elf): Likewise.
14064 (kfreebsd.aout): Likewise.
14065 (pc-chainloader.elf): Likewise.
14066 (pc-chainloader.bin): Likewise.
14067 (ntldr.elf): Likewise.
14068 (ntldr.bin): Likewise.
14069 (multiboot2.elf): Likewise.
14070 (kfreebsd.init.x86_64): Likewise.
14071 (kfreebsd.init.i386): Likewise.
14072 (knetbsd.init.i386): Likewise.
14073 (kopenbsd.init.i386): Likewise.
14074 (knetbsd.init.x86_64): Likewise.
14075 (kopenbsd.init.x86_64): Likewise.
14076 (linux-initramfs.i386): Likewise.
14077 (linux-initramfs.x86_64): Likewise.
14078 (kfreebsd-mfsroot.i386.img): Likewise.
14079 (knetbsd.image.i386): Likewise.
14080 (kopenbsd.image.i386): Likewise.
14081 (kopenbsd.image.x86_64): Likewise.
14082 (knetbsd.miniroot-image.i386.img): Likewise.
14083 (kfreebsd-mfsroot.x86_64.img): Likewise.
14084 (knetbsd.image.x86_64): Likewise.
14085 (knetbsd.miniroot-image.x86_64.img): Likewise.
14086 (kfreebsd-mfsroot.i386.gz): Likewise.
14087 (bootcheck-kfreebsd-i386): Likewise.
14088 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14089 (bootcheck-kfreebsd-x86_64): Likewise.
14090 (knetbsd.miniroot-image.i386.gz): Likewise.
14091 (bootcheck-knetbsd-i386): Likewise.
14092 (bootcheck-kopenbsd-i386): Likewise.
14093 (bootcheck-kopenbsd-x86_64): Likewise.
14094 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14095 (bootcheck-knetbsd-x86_64): Likewise.
14096 (bootcheck-linux-i386): Likewise.
14097 (bootcheck-linux-x86_64): Likewise.
14098 (bootcheck-linux16-i386): Likewise.
14099 (bootcheck-linux16-x86_64): Likewise.
14100 (bootcheck-multiboot): Likewise.
14101 (bootcheck-multiboot2): Likewise.
14102 (bootcheck-kfreebsd-aout): Likewise.
14103 (bootcheck-pc-chainloader): Likewise.
14104 (bootcheck-ntldr): Likewise.
14105 (CLEANFILES): Add new targets.
14106 (BOOTCHECKS): New variable.
14107 (.PHONY): Add bootchecks.
14108 (SUCCESSFUL_BOOT_STRING): New variable.
14109 (BOOTCHECK_TIMEOUT): Likewise.
14110 (bootcheck): New target
14111 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14112 * configure.ac: Correct efiemu excuse.
14113 * docs/grub.texi (Supported kernels): New chapter.
14114 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14115 include/grub/mm_private.h. Simplify inclusion of
14116 include/grub/boot.h, include/grub/loader.h
14117 and include/grub/msdos_partition.h
14118 (KERNEL_HEADER_FILES) [i386_coreboot]:
14119 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14120 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14121 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14122 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14123 include/grub/machine/loader.h.
14124 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14125 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14126 extra_dist.
14127 (pci.mod): Enable on i386-multiboot.
14128 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14129 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14130 i386-qemu.
14131 (relocator.mod): Rewritten.
14132 (aout.mod): Enable on all x86.
14133 (bsd.mod): Likewise.
14134 (ntldr.mod): New module.
14135 (linux.mod): Use loader/i386/linux.c on all x86.
14136 (xnu.mod): Enable on all x86.
14137 (vga_text.mod): disable on EFI and QEMU.
14138 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14139 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14140 * grub-core/efiemu/loadcore.c: Likewise.
14141 * grub-core/efiemu/main.c: Likewise.
14142 (grub_efiemu_exit_boot_services): Removed.
14143 (grub_efiemu_finish_boot_services): Likewise.
14144 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14145 function.
14146 * grub-core/efiemu/i386/nocfgtables.c: New file.
14147 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14148 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14149 (grub_efi_finish_boot_services): Moved from here ...
14150 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14151 Fille finish memory map and related data.
14152 (finish_mmap_buf): New variable.
14153 (grub_efi_uintn_t finish_mmap_size): Likewise.
14154 (grub_efi_uintn_t finish_key): Likewise.
14155 (grub_efi_uintn_t finish_desc_size): Likewise.
14156 (grub_efi_uint32_t finish_desc_version): Likewise.
14157 (grub_efi_is_finished): Likewise.
14158 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14159 finished.
14160 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14161 (grub_elf64_phdr_iterate): Likewise.
14162 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14163 (grub_os_area_size): Likewise.
14164 (grub_machine_init): Don't reserve os area.
14165 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14166 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14167 * grub-core/kern/i386/loader.S: Removed.
14168 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14169 (grub_os_area_size): Likewise.
14170 (grub_machine_init): Don't reserve os area.
14171 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14172 Don't call grub_dl_unload_all.
14173 Don't include loader.S.
14174 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14175 Declare the memory after _end as available.
14176 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14177 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14178 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14179 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14180 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14181 * include/grub/mm_private.h (grub_mm_header): ... here.
14182 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14183 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14184 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14185 (grub_mm_region): ..here. Removed addr. Added pre_size.
14186 All users updated.
14187 * grub-core/kern/mm.c (base): Renamed to ...
14188 (grub_mm_base): ... this. Made global.
14189 (grub_real_malloc): Alloc from end of region.
14190 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14191 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14192 * grub-core/kern/powerpc/cache_flush.S: ... here.
14193 * grub-core/lib/efi/relocator.c: New file.
14194 * grub-core/lib/i386/relocator.c: Rewritten.
14195 * grub-core/lib/i386/relocator16.S: New file.
14196 * grub-core/lib/i386/relocator32.S: Likewise.
14197 * grub-core/lib/i386/relocator64.S: Likewise.
14198 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14199 * grub-core/lib/i386/relocator_common.S: New file.
14200 * grub-core/lib/ieee1275/relocator.c: Likewise.
14201 * grub-core/lib/mips/relocator.c: Rewritten.
14202 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14203 stylistic adjustments.
14204 * grub-core/lib/powerpc/relocator.c: New file.
14205 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14206 * grub-core/lib/relocator.c: Rewritten.
14207 * grub-core/lib/x86_64/relocator_asm.S: New file.
14208 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14209 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14210 (bsd_tag): New struct.
14211 (tags): New variable.
14212 (tags_last): Likewise.
14213 (netbsd_module): New struct.
14214 (netbsd_mods): New variable.
14215 (netbsd_mods_last): Likewise.
14216 (openbsd_opts): New parameter "serial".
14217 (OPENBSD_SERIAL_ARG): New definition.
14218 (netbsd_opts): New parameter "serial".
14219 (NETBSD_SERIAL_ARG): New definition.
14220 (grub_freebsd_add_meta): Reorganised into ...
14221 (grub_bsd_add_meta): ...this. All users updated.
14222 (grub_freebsd_add_mmap): Reorganised into ...
14223 (generate_e820_mmap): ...this...
14224 (grub_bsd_add_mmap): ...and this. All users updated.
14225 (grub_freebsd_list_modules): Use tags.
14226 (grub_netbsd_add_meta_module): New function.
14227 (grub_netbsd_list_modules): Likewise.
14228 (grub_freebsd_boot): Use relocator and finish EFI.
14229 (grub_openbsd_boot): Likewise.
14230 (grub_netbsd_setup_video): New function.
14231 (grub_netbsd_add_modules): Likewise.
14232 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14233 and finish EFI.
14234 (grub_bsd_unload): Unload tags.
14235 (grub_bsd_load_aout): Use relocator.
14236 (grub_bsd_elf32_size_hook): New function.
14237 (grub_bsd_elf32_hook): Use relocator.
14238 (grub_bsd_elf64_size_hook): New function.
14239 (grub_bsd_elf64_hook): Use relocator.
14240 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14241 (grub_bsd_load): Zero-out openbsd_ramdisk.
14242 (grub_bsd_load): Use relocator.
14243 (grub_cmd_openbsd): Support serial.
14244 (grub_cmd_netbsd): Support modules.
14245 (grub_cmd_freebsd_module): Use relocator.
14246 (grub_netbsd_module_load): New function.
14247 (grub_cmd_netbsd_module): Likewise.
14248 (grub_cmd_openbsd_ramdisk): Likewise.
14249 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14250 kopenbsd_ramdisk.
14251 (GRUB_MOD_FINI): Unregister new commands.
14252 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14253 (grub_freebsd_load_elfmodule_obj): Use relocator.
14254 (grub_freebsd_load_elfmodule): Likewise.
14255 (grub_freebsd_load_elf_meta): Likewise.
14256 (grub_netbsd_load_elf_meta): New function.
14257 (grub_openbsd_find_ramdisk): Likewise.
14258 * grub-core/loader/i386/bsd_helper.S: Removed.
14259 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14260 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14261 * grub-core/loader/i386/efi/linux.c: Likewise.
14262 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14263 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14264 (DEFAULT_VIDEO_MODE): Likewise.
14265 (real_mode_target): New variable.
14266 (prot_mode_target): Likewise.
14267 (initrd_mem_target): Likewise.
14268 (relocator): Likewise.
14269 (efi_mmap_buf): Likewise.
14270 (efi_mmap_size): Likewise.
14271 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14272 (free_pages): Use relocator.
14273 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14274 (grub_linux_setup_video): Return error.
14275 (grub_linux_trampoline_start): Removed.
14276 (grub_linux_trampoline_end): Likewise.
14277 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14278 andd video parameters depending on firmware.
14279 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14280 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14281 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14282 (grub_cmd_initrd): Use relocator.
14283 * grub-core/loader/i386/linux_trampoline.S: Removed.
14284 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14285 (elf_sec_entsize): Likewise.
14286 (elf_sec_shstrndx): Likewise.
14287 (elf_sections): Likewise.
14288 (grub_multiboot_load): Use relocator.
14289 (grub_multiboot_get_mbi_size): Account for sections.
14290 (grub_multiboot_make_mbi): Use relocator and support sections.
14291 (grub_multiboot_add_elfsyms): New function.
14292 (grub_multiboot_free_mbi): Free sections.
14293 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14294 (grub_linux_real_target): Likewise.
14295 (grub_linux_real_chunk): Likewise.
14296 (grub_linux16_prot_size): Likewise.
14297 (grub_linux16_boot): Use relocator.
14298 (grub_linux_unload): Unload relocator.
14299 (grub_cmd_linux): Use relocator.
14300 (grub_cmd_initrd): Likewise.
14301 * grub-core/loader/i386/pc/ntldr.c: New file.
14302 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14303 Don't try to guess CPU frequency.
14304 (grub_xnu_set_video): Stretch bitmap.
14305 (grub_xnu_boot): Use relocator.
14306 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14307 (grub_linux_unload): Free relocator.
14308 (grub_linux_load32): Use relocator.
14309 (grub_linux_load64): Likewise.
14310 (grub_cmd_initrd): Likewise.
14311 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14312 (grub_multiboot_unload): Unload relocator.
14313 (grub_cmd_multiboot): Use relocator.
14314 (grub_cmd_module): Likewise.
14315 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14316 Use relocator and support sections.
14317 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14318 (elf_sec_entsize): Likewise.
14319 (elf_sec_shstrndx): Likewise.
14320 (elf_sections): Likewise.
14321 (grub_multiboot_load): Use relocator.
14322 (grub_multiboot_get_mbi_size): Account for sections.
14323 (grub_multiboot_make_mbi): Use relocator and support sections.
14324 (grub_multiboot_add_elfsyms): New function.
14325 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14326 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14327 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14328 Prototype changed. All users updated.
14329 (grub_xnu_align_heap): Simplified.
14330 (grub_xnu_writetree_toheap): Likewise.
14331 (grub_xnu_unload): Unload relocator.
14332 (grub_cmd_xnu_kernel): Use relocator.
14333 (grub_cmd_xnu_kernel64): Likewise.
14334 (grub_xnu_register_memory): Simplified.
14335 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14336 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14337 EFI is finished.
14338 (grub_console_checkkey): Likewise.
14339 (grub_console_getkey): Likewise.
14340 (grub_console_getwh): Likewise.
14341 (grub_console_getxy): Likewise.
14342 (grub_console_gotoxy): Likewise.
14343 (grub_console_cls): Likewise.
14344 (grub_console_setcolorstate): Likewise.
14345 (grub_console_setcursor): Likewise.
14346 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14347 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14348 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14349 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14350 * grub-core/tests/boot/kernel-8086.S: Likewise.
14351 * grub-core/tests/boot/kernel-i386.S: Likewise.
14352 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14353 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14354 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14355 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14356 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14357 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14358 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14359 * grub-core/tests/boot/linux.cfg: Likewise.
14360 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14361 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14362 * grub-core/tests/boot/linux16.cfg: Likewise.
14363 * grub-core/tests/boot/multiboot.cfg: Likewise.
14364 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14365 * grub-core/tests/boot/ntldr.cfg: Likewise.
14366 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14367 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14368 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14369 New definition.
14370 * include/grub/dl.h (grub_dl_unload_all): Removed.
14371 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14372 (grub_efi_finish_boot_services): Change prototype.
14373 (grub_efi_is_finished): New variable.
14374 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14375 Changed prototype.
14376 (grub_efiemu_finish_boot_services): Removed.
14377 (grub_machine_efiemu_init_tables): New prototype.
14378 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14379 (grub_elf64_phdr_iterate): Likewise.
14380 * include/grub/i386/bsd.h: Include relocator.h.
14381 (freebsd_tag_header): New struct.
14382 (grub_openbsd_bios_mmap): Removed.
14383 (grub_unix_real_boot): Removed.
14384 (grub_freebsd_load_elfmodule32): Changed prototype.
14385 (grub_freebsd_load_elfmodule_obj64): Likewise.
14386 (grub_freebsd_load_elf_meta32): Likewise.
14387 (grub_freebsd_load_elf_meta64): Likewise.
14388 (grub_freebsd_add_meta): Removed.
14389 (grub_netbsd_load_elf_meta32): New prototype.
14390 (grub_netbsd_load_elf_meta64): Likewise.
14391 (grub_bsd_add_meta): Likewise.
14392 (grub_openbsd_ramdisk_descriptor): New struct.
14393 (grub_openbsd_find_ramdisk32): New prototype.
14394 (grub_openbsd_find_ramdisk64): Likewise.
14395 * include/grub/i386/coreboot/loader.h: Removed.
14396 * include/grub/i386/efi/loader.h: Likewise.
14397 * include/grub/i386/ieee1275/loader.h: Likewise.
14398 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14399 to grub_uint32_t.
14400 * include/grub/i386/loader.h: Removed.
14401 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14402 value.
14403 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14404 (grub_phys_addr_t): New type.
14405 (grub_vtop): New inline function.
14406 (grub_map_memory): Likewise.
14407 (grub_unmap_memory): Likewise.
14408 * include/grub/i386/multiboot/loader.h: Removed.
14409 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14410 (NETBSD_BTINFO_CONSOLE): New definition.
14411 (NETBSD_BTINFO_SYMTAB): Likewise.
14412 (NETBSD_BTINFO_MODULES): Likewise.
14413 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14414 (grub_netbsd_bootinfo): New struct.
14415 (grub_netbsd_btinfo_common): Use explicit bitsize.
14416 (grub_netbsd_btinfo_mmap_entry): Removed.
14417 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14418 (grub_netbsd_btinfo_bootdisk): New struct.
14419 (grub_netbsd_btinfo_symtab): Likewise.
14420 (grub_netbsd_btinfo_serial): Likewise.
14421 (grub_netbsd_btinfo_modules): Likewise.
14422 (grub_netbsd_btinfo_framebuf): Likewise.
14423 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14424 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14425 Likewise.
14426 (grub_openbsd_bootargs): Use explicit bitsize.
14427 (grub_openbsd_bootarg_console): New struct.
14428 (GRUB_OPENBSD_COM_MAJOR): New definition.
14429 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14430 * include/grub/i386/pc/efiemu.h: Removed.
14431 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14432 * include/grub/i386/qemu/loader.h: Removed.
14433 * include/grub/i386/relocator.h: Rewritten.
14434 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14435 * include/grub/mips/memory.h: New file.
14436 * include/grub/mips/multiboot.h: Rewritten.
14437 * include/grub/mips/relocator.h: Rewritten.
14438 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14439 (grub_vtop): New function.
14440 (grub_map_memory): Likewise.
14441 (grub_unmap_memory): Likewise.
14442 * include/grub/misc.h (ALIGN_DOWN): New definition.
14443 * include/grub/mm.h (grub_mm_check_real): New proto.
14444 (GRUB_MM_CHECK): New definition.
14445 * include/grub/mm_private.h: New file.
14446 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14447 (grub_multiboot_get_mbi_size): Removed.
14448 (grub_multiboot_make_mbi): Change prottype.
14449 (grub_multiboot_set_accepts_video): New proto.
14450 (grub_multiboot_add_elfsyms): Likewise.
14451 (grub_multiboot_payload_eip): New variable.
14452 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14453 New prototype.
14454 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14455 New definition.
14456 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14457 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14458 * include/grub/powerpc/ieee1275/loader.h: Removed.
14459 * include/grub/powerpc/memory.h: New file.
14460 * include/grub/powerpc/relocator.h: Likewise.
14461 * include/grub/relocator.h: Likewise.
14462 * include/grub/relocator_private.h: Likewise.
14463 * include/grub/sparc64/ieee1275/loader.h: Removed.
14464 * include/grub/x86_64/memory.h: New file.
14465 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14466 (grub_xnu_heap_malloc): Likewise.
14467 (grub_xnu_heap_real_start): Removed.
14468 (grub_xnu_heap_start): Likewise.
14469 (grub_xnu_relocator): New variable.
14470 (grub_xnu_heap_target_start): Likewise.
14471 * tests/util/grub-shell.in: Support non-pc.
14472 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14473
5303b85d
VS
144742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14477 on malloc error.
14478 (grub_bidi_logical_to_visual): Check that malloc succeded.
14479 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14480 puts.
14481 (grub_xputs_normal): Likewise.
14482
d768d159
VS
144832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14486 extra_dist.
14487
144882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14491
5bf84df4
VS
144922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14495
3626810e
VS
144962010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14499 dprintf.
14500
a7363f53
BC
145012010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14502
14503 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14504
902f75f6
VS
145052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * grub-core/normal/term.c (print_more): Fix a memory leak.
14508 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14509 (grub_xputs_normal): Likewise.
14510
3c707967
VS
145112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14514 the begining of the string
14515
2053cc07
VS
145162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/script/script.c (grub_script_parse): Free parsed on
14519 failure.
14520
46422ebf
VS
145212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14524 on failure.
14525
9e0fa3f6
VS
145262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14529 return.
14530
3393cf16
VS
145312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14534 (scroll_up): Fix a memory leak.
14535
b17540cb
VS
145362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14539 errors.
14540
67140446
VS
145412010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 Handle USB pendrives exposed as floppies.
14544
14545 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14546 floppy.
14547 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14548 Check for partitions on all devices.
14549
e35e46fc
VS
145502010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14553 (readkey): Likewise.
14554
d24c6190
BC
145552010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14556
14557 Multiple variable names support to "export" command.
14558
14559 * normal/context.c (grub_cmd_export): "export" command supports
14560 multiple variable names.
14561
04ddcc6a
ST
145622010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14563
14564 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14565 --target=drive output to Mach device name.
14566
0c8b61d8
BC
145672010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14568
14569 New Automake based build system for GRUB.
14570
14571 * ABOUT-NLS: New file.
14572 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14573 in Makefile.util.def file.
14574 * Makefile.util.def: New file. Autogen build definitions file for
14575 GRUB host utils.
14576 * conf/Makefile.common: New file. Common variables for GRUB host
14577 utils and target modules.
14578 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14579 * docs/Makefile.am: New file. Automake file for docs.
14580 * gentpl.py: New file. Python script to generate Autogen
14581 template.
14582 * grub-core/Makefile.am: New file. GRUB target modules' rules
14583 that doesn't fit in Makefile.core.def file.
14584 * grub-core/Makefile.core.def: New file. Autogen build
14585 definitions file for GRUB target modules.
14586 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14587 specific setjmp.S file.
14588 * po/Makefile.am: New file.
14589
14590 * .bzrignore: New ignores.
14591 * INSTALL: New requirements, without Ruby.
14592 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14593 * autogen.sh: Updated to invoke autogen as necessary.
14594 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14595 and defines for Automake conditionals.
14596 * geninit.sh: Refactoring.
14597
14598 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14599 necessary.
14600 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14601 New prototype.
14602
14603 * include/grub/test.h: Fix functional test modules' naming.
14604 * grub-core/tests/example_functional_test.c: Fix test module name.
14605
14606 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14607 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14608 * util/grub-editenv.c: Likewise.
14609 * util/grub-fstest.c: Likewise.
14610 * util/grub-mkdevicemap.c: Likewise.
14611 * util/grub-mkfont.c: Likewise.
14612 * util/grub-mkimage.c: Likewise.
14613 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14614 * util/grub-probe.c: Likewise.
14615 * util/grub-script-check.c: Likewise.
14616 * util/i386/pc/grub-setup.c: Likewise.
14617 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14618
14619 * tests/util/grub-shell.in: Fix override directory path.
14620 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14621 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14622
14623 * util/lvm.c: Update #includes.
14624 * util/raid.c: Likewise.
14625 * util/resolve.c: Likewise.
14626 * grub-core/bus/emu/pci.c: Likewise.
14627 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14628 * grub-core/lib/posix_wrap/string.h: Likewise.
14629 * grub-core/kern/emu/main.c: Likewise.
14630
14631 * grub-core/gensymlist.sh: New file. Script for generating kernel
14632 symbols file.
14633 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14634
14635 * grub-core/gentrigtables.c: Fix unused variable warnings.
14636
14637 * Makefile.in: Removed.
14638 * conf/any-emu.rmk: Removed.
14639 * conf/common.rmk: Removed.
14640 * conf/i386-coreboot.rmk: Removed.
14641 * conf/i386-efi.rmk: Removed.
14642 * conf/i386-ieee1275.rmk: Removed.
14643 * conf/i386-multiboot.rmk: Removed.
14644 * conf/i386-pc.rmk: Removed.
14645 * conf/i386-qemu.rmk: Removed.
14646 * conf/i386.rmk: Removed.
14647 * conf/mips-yeeloong.rmk: Removed.
14648 * conf/mips.rmk: Removed.
14649 * conf/powerpc-ieee1275.rmk: Removed.
14650 * conf/sparc64-ieee1275.rmk: Removed.
14651 * conf/tests.rmk: Removed.
14652 * conf/x86-efi.rmk: Removed.
14653 * conf/x86_64-efi.rmk: Removed.
14654 * gendistlist.sh: Removed.
14655 * geninitheader.sh: Removed.
14656 * genkernsyms.sh.in: Removed.
14657 * genmk.rb: Removed.
14658 * gensymlist.sh.in: Removed.
14659 * mkinstalldirs: Removed.
14660 * boot: Moved ...
14661 * grub-core/boot: ... to here.
14662 * bus: Moved ...
14663 * grub-core/bus: ... to here.
14664 * commands: Moved ...
14665 * grub-core/commands: ... to here.
14666 * disk: Moved ...
14667 * grub-core/disk: ... to here.
14668 * efiemu: Moved ...
14669 * grub-core/efiemu: ... to here.
14670 * font: Moved ...
14671 * grub-core/font: ... to here.
14672 * fs: Moved ...
14673 * grub-core/fs: ... to here.
14674 * gencmdlist.sh: Moved ...
14675 * grub-core/gencmdlist.sh: ... to here.
14676 * genemuinit.sh: Moved ...
14677 * grub-core/genemuinit.sh: ... to here.
14678 * genemuinitheader.sh: Moved ...
14679 * grub-core/genemuinitheader.sh: ... to here.
14680 * genfslist.sh: Moved ...
14681 * grub-core/genfslist.sh: ... to here.
14682 * genhandlerlist.sh: Moved ...
14683 * grub-core/genhandlerlist.sh: ... to here.
14684 * genmoddep.awk: Moved ...
14685 * grub-core/genmoddep.awk: ... to here.
14686 * genmodsrc.sh: Moved ...
14687 * grub-core/genmodsrc.sh: ... to here.
14688 * genpartmaplist.sh: Moved ...
14689 * grub-core/genpartmaplist.sh: ... to here.
14690 * genparttoollist.sh: Moved ...
14691 * grub-core/genparttoollist.sh: ... to here.
14692 * genterminallist.sh: Moved ...
14693 * grub-core/genterminallist.sh: ... to here.
14694 * gentrigtables.c: Moved ...
14695 * grub-core/gentrigtables.c: ... to here.
14696 * genvideolist.sh: Moved ...
14697 * grub-core/genvideolist.sh: ... to here.
14698 * gettext: Moved ...
14699 * grub-core/gettext: ... to here.
14700 * gfxmenu: Moved ...
14701 * grub-core/gfxmenu: ... to here.
14702 * gnulib: Moved ...
14703 * grub-core/gnulib: ... to here.
14704 * hello: Moved ...
14705 * grub-core/hello: ... to here.
14706 * hook: Moved ...
14707 * grub-core/hook: ... to here.
14708 * io: Moved ...
14709 * grub-core/io: ... to here.
14710 * kern: Moved ...
14711 * grub-core/kern: ... to here.
14712 * lib: Moved ...
14713 * grub-core/lib: ... to here.
14714 * loader: Moved ...
14715 * grub-core/loader: ... to here.
14716 * mmap: Moved ...
14717 * grub-core/mmap: ... to here.
14718 * normal: Moved ...
14719 * grub-core/normal: ... to here.
14720 * partmap: Moved ...
14721 * grub-core/partmap: ... to here.
14722 * parttool: Moved ...
14723 * grub-core/parttool: ... to here.
14724 * script: Moved ...
14725 * grub-core/script: ... to here.
14726 * term: Moved ...
14727 * grub-core/term: ... to here
14728 * tests/example_functional_test.c: Moved ...
14729 * grub-core/tests/example_functional_test.c: ... to here.
14730 * tests/lib/functional_test.c: Moved ...
14731 * grub-core/tests/lib/functional_test.c: ... to here.
14732 * tests/lib/test.c: Moved ...
14733 * grub-core/tests/lib/test.c: ... to here.
14734 * video: Moved ...
14735 * grub-core/video: ... to here.
14736
645586e6
BC
147372010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14738
14739 Replace --enable-grub-emu-modules with grub-emu-lite.
14740
14741 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14742 cache.S.
14743
14744 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14745 * kern/emu/full.c: New file. For grub-emu specific initialization.
14746 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14747 * kern/emu/main.c: Call initialization function grub_emu_init.
14748
14749 * Makefile.in: Include grub-emu-lite in install.
14750 * commands/parttool.c: Use grub_no_autoload to differentiate
14751 between grub-emu and grub-emu-lite.
14752 * include/grub/misc.h: New variable grub_no_autoload.
14753
14754 * conf/any-emu.rmk: New rules for grub-emu-lite.
14755 * configure.ac: Remove --enable-grub-emu-modules.
14756 * genmk.rb: Cleanup unnecessary rules.
14757 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14758
14759 * normal/main.c: Don't load list files on grub-emu-lite.
14760 * util/misc.c (grub_arch_sync_caches): Removed.
14761
f86a4030
CW
147622010-08-23 Colin Watson <cjwatson@ubuntu.com>
14763
14764 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14765 grub-mkimage rather than grub-mkelfimage.
14766 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14767
06776944
VS
147682010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14771 a key after CapsLock or NumLock. It's just a qemu bug.
14772
df262419
VS
147732010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14776 needed by libusb wrapper.
14777
b40ea81b
ST
147782010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14779
14780 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14781
dee50575
VS
147822010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14785 --nounzip is passed.
14786
fb1d7b79
VS
147872010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 USB hotunplugging and USB serial support.
14790
14791 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14792 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14793 (grub_uhci_transfer): Respect timeout and set *actual.
14794 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14795 non-standard length.
14796 (grub_usb_device_attach): Autoload modules.
14797 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14798 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14799 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14800 users updated.
14801 (grub_usb_add_hub): Fill nports and children.
14802 (attach_root_port): Receive hub instead of controller.
14803 All users updated. Fill hub->devices.
14804 (grub_usb_root_hub): Allocate hub->devices.
14805 (detach_device): New function.
14806 (poll_nonroot_hub): Fill children and detach devices.
14807 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14808 actual arguments. All users updated.
14809 (grub_usb_bulk_read_extended): New function.
14810 * bus/usb/serial/common.c: New file.
14811 * bus/usb/serial/ftdi.c: Likewise.
14812 * bus/usb/serial/pl2303.c: Likewise.
14813 * commands/terminal.c (handle_command): Support wildcard.
14814 * commands/usbtest.c: Output "Unknown" instead of empty string.
14815 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14816 (usbserial_common_mod_SOURCES): New variable.
14817 (usbserial_common_mod_CFLAGS): Likewise.
14818 (usbserial_common_mod_LDFLAGS): Likewise.
14819 (pkglib_MODULES): Add usbserial_pl2303.mod.
14820 (usbserial_pl2303_mod_SOURCES): New variable.
14821 (usbserial_pl2303_mod_CFLAGS): Likewise.
14822 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14823 (pkglib_MODULES): Add usbserial_ftdi.mod.
14824 (usbserial_ftdi_mod_SOURCES): New variable.
14825 (usbserial_ftdi_mod_CFLAGS): Likewise.
14826 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14827 (pkglib_MODULES): Add serial.mod.
14828 (serial_mod_SOURCES): New variable.
14829 (serial_mod_CFLAGS): Likewise.
14830 (serial_mod_LDFLAGS): Likewise.
14831 * conf/i386-pc.rmk: Likewise.
14832 * conf/mips-yeeloong.rmk: Likewise.
14833 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14834 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14835 * disk/usbms.c (first_available_slot): New variable.
14836 (grub_usbms_attach): Don't reuse free slots due to potential cache
14837 problems.
14838 * include/grub/serial.h: Moved to ..
14839 * include/grub/ns8250.h: ...this.
14840 * include/grub/serial.h: New file.
14841 * include/grub/term.h (grub_term_poll_usb): New variable.
14842 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14843 readkey. All users updated.
14844 (grub_terminfo_output_state): Pass term to put.
14845 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14846 (grub_usb_controller_dev): Add timeout and actual arguments to
14847 transfer. All users updated.
14848 (grub_usb_interface): New field detach_data.
14849 (grub_usb_device): New fields children and nports.
14850 (grub_usb_ep_type_t): New type.
14851 (grub_usb_get_ep_type): New function.
14852 (grub_usb_bulk_read_extended): Likewise.
14853 * include/grub/usbdesc.h (grub_usb_desc): New type.
14854 * include/grub/usbserial.h: New file.
14855 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14856 * kern/term.c (grub_term_poll_usb): New variable.
14857 (grub_getkey): Call grub_term_poll_usb if set.
14858 (grub_checkkey): Likewise.
14859 (grub_getkeystatus): Likewise.
14860 * term/serial.c: Moved controller-specific parts to ...
14861 * term/ns8250.c: ... here.
14862 * term/serial.c: Mostly rewritten.
14863 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14864 according to spec.
14865
21a313de
RM
148662010-08-20 Robert Millan <rmh@gnu.org>
14867
14868 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14869 a separate module and maybe other interesting combinations.
14870
14871 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14872 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14873 (kfreebsd_entry): Add generic filesystem module load routine.
14874 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14875
63c734a6
CW
148762010-08-20 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14879 "numcenter" (I misunderstood the purpose of this entry).
14880 * docs/grub.texi (sendkey): Likewise.
14881
c4d16542
CW
148822010-08-20 Colin Watson <cjwatson@ubuntu.com>
14883
14884 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14885 status flag options; simply omitting the option is equivalent and
14886 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14887 (keysym_table): Rename "num5numlock" to "numlock".
14888 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14889 can uniformly say that only the last of multiple `sendkey'
14890 invocations has any effect.
14891 * docs/grub.texi (sendkey): New section.
14892
93541d66
CW
148932010-08-19 Colin Watson <cjwatson@ubuntu.com>
14894
14895 * commands/i386/pc/sendkey.c (options): Fix three typos.
14896
b4ece5e1
VS
148972010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 Implement sendkey support.
14900
14901 * commands/i386/pc/sendkey.c: New file.
14902 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14903 (sendkey_mod_SOURCES): New variable.
14904 (sendkey_mod_CFLAGS): Likewise.
14905 (sendkey_mod_LDFLAGS): Likewise.
14906
51f1f5af
CW
149072010-08-18 Colin Watson <cjwatson@ubuntu.com>
14908
14909 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14910 fix warnings from Autoconf.
14911
9da94e05
CW
149122010-08-18 Colin Watson <cjwatson@ubuntu.com>
14913
14914 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14915 to avoid false positives with some assemblers that output things
14916 like "someprefix_func" as part of their output.
14917
729a0f2e
RM
149182010-08-15 Robert Millan <rmh@gnu.org>
14919
14920 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14921 errors.
14922 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14923 grub_get_libzfs_handle() errors.
14924
f3710e08
RM
149252010-08-14 Robert Millan <rmh@gnu.org>
14926
14927 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14928 filesystem is not ZFS.
14929
7a3c13de
BC
149302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14931
14932 Fix for misspelled color names defaulting to black/black (bug
14933 reported by Doug Nazar)
14934
14935 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14936 status to prototype.
14937 * normal/color.c (grub_parse_color_name_pair): Return failure
14938 status.
14939 (grub_env_write_color_normal): Ignore bad color names.
14940 (grub_env_write_color_highlight): Likewise.
14941 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14942
ab8ba50d
BC
149432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14944
14945 "shift" command support to GRUB script.
14946
14947 * include/grub/script_sh.h (grub_script_shift): New prototype.
14948 * script/execute.c (grub_script_shift): New function.
14949 * script/main.c (grub_script_init): Register shift command.
14950 (grub_script_fini): Unregister shift command.
14951 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14952
14953 * tests/grub_script_shift.in: New testcase.
14954 * conf/tests.rmk: Rules for new testcase.
14955
4d61999e
BC
149562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14957
14958 "continue" command support to GRUB script.
14959
14960 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14961 (grub_script_break): Continue support.
14962 * script/main.c (grub_script_init): Register continue command.
14963 (grub_script_fini): Unregister continue command.
14964
14965 * tests/grub_script_continue.in: New testcase.
14966 * conf/tests.rmk: Rules for new testcase.
14967
4df51e00
BC
149682010-08-12 BVK Chaitanya <bvk@dbook>
14969
14970 "break" command support to GRUB script.
14971
14972 * conf/common.rmk: Rule updates to grub-script-check.
14973 * include/grub/misc.h (grub_min): New function.
14974 * include/grub/script_sh.h (grub_script_init): New prototype.
14975 (grub_script_fini): New prototype.
14976 (grub_script_break): New prototype.
14977 * script/main.c (grub_script_init): New function.
14978 (grub_script_fini): New function.
14979 * script/execute.c (grub_script_break): New function.
14980 * normal/main.c: Calls to grub_script_{init,fini}.
14981 * util/grub-script-check.c (grub_script_break): New function.
14982
14983 * tests/grub_script_break.in: New testcase.
14984 * conf/tests.rmk: Rules for new test case.
14985
f12c8420
BC
149862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14987
14988 Function parameters support to GRUB script.
14989
14990 * script/yylex.l (VARIABLE): Regular expression update.
14991 * script/function.c (grub_script_function_call): Moved ...
14992 * script/execute.c (grub_script_function_call): ... to here.
14993 (grub_script_execute_arglist_to_argv): Removed.
14994 (grub_script_arglist_to_argv): New function.
14995 * script/argv.c: New file.
14996 (grub_script_argv_free): New function.
14997 (grub_script_argv_next): Likewise.
14998 (grub_script_argv_append): Likewise.
14999 (grub_script_argv_split_append): Likewise.
15000 * include/grub/script_sh.h (grub_script_argv): New struct.
15001 (grub_script_argv_free): New function.
15002 (grub_script_argv_next): Likewise.
15003 (grub_script_argv_append): Likewise.
15004 (grub_script_argv_split_append): Likewise.
15005
15006 * conf/common.rmk (normal.mod): New source script/argv.c.
15007
15008 * tests/grub_script_echo1.in: More tests.
15009 * tests/grub_script_vars1.in: Likewise.
15010 * tests/grub_script_functions.in: New test case.
15011 * conf/tests.rmk: Rules for new testcase.
15012
8022b748
BC
150132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15014
15015 Remove grub_script_cmdblock struct.
15016
15017 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15018 * script/parser.y: Likewise.
15019 * script/execute.c: Rename cmdblock suffix to cmdlist.
15020 * script/script.c: Likewise.
15021 * util/grub-script-check.c: Likewise.
15022
79a6ba61
YB
150232010-08-11 Yves Blusseau <blusseau@zetam.org>
15024
15025 * .bzrignore: add grub-macho2img
15026
d04b9414
VS
150272010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15030
f947ab49
VS
150312010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 Remove the dump of sm712 initialisation sequence.
15034
15035 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15036 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15037 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15038 (GRUB_VGA_CR_*): Added many registers.
15039 (GRUB_VGA_SR_*): Likewise.
15040 (GRUB_VGA_GR_*): Likewise.
15041 (grub_vga_write_arx): New function.
15042 (grub_video_hw_config): New struct.
15043 (grub_vga_set_geometry): New function.
15044 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15045 GRUB_PCI_CLASS_SUBCLASS_VGA.
15046 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15047 * video/sm712.c (grub_sm712_write_reg): New function
15048 (grub_sm712_read_reg): Likewise.
15049 (grub_sm712_sr_write): Likewise.
15050 (grub_sm712_gr_write): Likewise.
15051 (grub_sm712_cr_write): Likewise.
15052 (grub_sm712_write_arx): Likewise.
15053 (grub_sm712_cr_shadow_write): Likewise.
15054 (grub_sm712_write_dda_lookup): Likewise.
15055 (grub_video_sm712_setup): Initialise the video rather then
15056 blindly replay the dump.
15057 (main) [TEST]: Add a routine to be able to compile as standalone for
15058 tests.
15059 * video/sm712_init.c (sm712_init): Removed.
15060 (sm712_sr_seq1): New array.
15061 (sm712_sr_seq2): Likewise.
15062
f0206638
VS
150632010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * include/grub/vga.h: Add missing grub/pci.h include.
15066
2764da3b
YB
150672010-08-10 Yves Blusseau <blusseau@zetam.org>
15068
15069 * util/grub-macho2img.c (main): fix typo
15070
cf0c775e
VS
150712010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15074 (grub_vga_gr_read): Likewise.
15075 (grub_vga_cr_write): Likewise.
15076 (grub_vga_cr_read): Likewise.
15077 (grub_vga_sr_write): Likewise.
15078 (grub_vga_sr_read): Likewise.
15079 (grub_vga_palette_read): Likewise.
15080 (grub_vga_palette_write): Likewise.
15081 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15082 (grub_sm712_sr_read): New function.
15083 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15084 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15085
07f360e9
RM
150862010-08-09 Robert Millan <rmh@gnu.org>
15087
15088 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15089 out unused variables on non-ZFS build.
15090
346c2072
RM
150912010-08-08 Robert Millan <rmh@gnu.org>
15092
15093 Fix path generation for sub-filesystems in ZFS.
15094
15095 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15096 missing slash.
15097
71175420
RM
150982010-08-08 Robert Millan <rmh@gnu.org>
15099
15100 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15101
0d8286f3
RM
151022010-08-08 Robert Millan <rmh@gnu.org>
15103
15104 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15105 exist, issue a proper error message (rely on `ls' for translated
15106 strings).
15107
55dd2924
RM
151082010-08-08 Robert Millan <rmh@gnu.org>
15109
15110 Fix grub-probe invocation.
15111
15112 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15113
d3dd9e80
RM
151142010-08-04 Robert Millan <rmh@gnu.org>
15115
15116 * configure.ac: Remove checks for getfsstat() and getmntany().
15117 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15118 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15119 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15120 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15121 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15122 function.
15123 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15124 via find_mount_point_from_dir() and getfsstat() / getmntany().
15125
0de22aa9
RM
151262010-08-04 Robert Millan <rmh@gnu.org>
15127
15128 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15129 (grub_find_zpool_from_mount_point): Merge into ...
15130 (grub_find_zpool_from_dir): ... this.
15131 * kern/emu/misc.c: Likewise.
15132
15133 * kern/emu/misc.c
15134 (grub_make_system_path_relative_to_its_root): Replace
15135 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15136 with grub_find_zpool_from_dir().
15137 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15138
62858144
RM
151392010-08-04 Robert Millan <rmh@gnu.org>
15140
15141 Support OpenSolaris in ZFS device resolution.
15142
15143 * configure.ac: Check for getmntany().
15144 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15145 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15146 support.
15147
9dd6fd50
RM
151482010-08-03 Robert Millan <rmh@gnu.org>
15149
15150 Fix grub-emu build.
15151
15152 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15153 * include/grub/emu/misc.h: ... here.
15154
15155 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15156 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15157
15158 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15159 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15160 (grub_get_libzfs_handle): Move to ...
15161 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15162 (grub_get_libzfs_handle): ... here.
15163
c9f7ff97
BC
151642010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15165
15166 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15167 as command name case.
15168
a870a783
CW
151692010-08-02 Colin Watson <cjwatson@ubuntu.com>
15170
15171 * disk/raid.c (insert_array): Select unique numbers for named arrays
15172 as well, for use as keys in the disk cache.
15173
c7db243b
RM
151742010-08-01 Robert Millan <rmh@gnu.org>
15175
15176 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15177 kFreeBSD device name, except on ZFS where the filesystem label is
15178 used.
15179 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15180 `/boot/zfs/zpool.cache'.
15181 Set mountfrom kernel variable using ${kfreebsd_device}.
15182
f7abdefb
RM
151832010-08-01 Robert Millan <rmh@gnu.org>
15184
15185 Make it even harder to use uninitialized `libzfs_handle' (and
15186 make the interface a bit simpler).
15187
15188 * include/grub/util/misc.h (grub_util_init_libzfs)
15189 (libzfs_handle): Remove.
15190 (grub_get_libzfs_handle): New prototype.
15191
15192 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15193 attribute.
15194 (grub_util_init_libzfs): Remove.
15195 (grub_get_libzfs_handle): New function.
15196
15197 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15198 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15199 accessing `libzfs_handle' directly.
15200
c882acc0
RM
152012010-08-01 Robert Millan <rmh@gnu.org>
15202
15203 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15204 (grub_find_zpool_from_mount_point): New function prototypes.
15205
15206 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15207 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15208
15209 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15210 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15211 `static' attribute.
15212
15213 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15214 finding zpool from mount point into ...
15215 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15216
15217 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15218 requested path is part of a ZFS pool, use
15219 grub_find_zpool_from_mount_point() to detect its filesystem name,
15220 and generate a path with `/fsname@path' syntax.
15221
8bfe31d8
CW
152222010-08-01 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15225 (void) rather than () so that this is a proper prototype.
15226
553df63d
VS
152272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15230
8687cf07
VS
152312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15234 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15235
ea9be8ea
CW
152362010-08-01 Colin Watson <cjwatson@ubuntu.com>
15237
15238 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15239
6eea041a
CW
152402010-08-01 Colin Watson <cjwatson@ubuntu.com>
15241
15242 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15243
2cfb45df
CW
152442010-08-01 Colin Watson <cjwatson@ubuntu.com>
15245
15246 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15247 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15248 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15249 disable gfxpayload.
15250 (Shell-like scripting): Add real content.
15251 (Serial terminal): Suggest `terminal_input serial; terminal_output
15252 serial' rather than putting the two commands on separate lines,
15253 since console input will be inoperative after the first command.
15254 (menuentry): Document --class, --users, and --hotkey options.
15255 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15256 Vladimir Serbinenko).
15257
7decd202
VS
152582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
152592010-08-01 Colin Watson <cjwatson@ubuntu.com>
15260
15261 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15262
c882acc0
RM
152632010-08-01 Robert Millan <rmh@gnu.org>
15264
15265 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15266 (grub_find_zpool_from_mount_point): New function prototypes.
15267
15268 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15269 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15270
15271 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15272 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15273 `static' attribute.
15274
15275 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15276 finding zpool from mount point into ...
15277 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15278
15279 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15280 requested path is part of a ZFS pool, use
15281 grub_find_zpool_from_mount_point() to detect its filesystem name,
15282 and generate a path with `/fsname@path' syntax.
15283
deb0caa3
RM
152842010-08-01 Robert Millan <rmh@gnu.org>
15285
15286 Prevent accidental use of uninitialized libzfs_handle.
15287
15288 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15289 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15290 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15291
ce04ef47
CW
152922010-08-01 Colin Watson <cjwatson@ubuntu.com>
15293
15294 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15295 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15296
ebf53056
RM
152972010-08-01 Robert Millan <rmh@gnu.org>
15298
15299 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15300
3710bb6b
RM
153012010-07-31 Robert Millan <rmh@gnu.org>
15302
15303 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15304
8072efeb
RM
153052010-07-31 Robert Millan <rmh@gnu.org>
15306
15307 * kern/emu/misc.c: Add missing license header.
15308
3169f4c7
RM
153092010-07-31 Robert Millan <rmh@gnu.org>
15310
15311 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15312
15313 * include/grub/util/libnvpair.h: Include `<config.h>'.
15314 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15315 declaring libnvpair prototypes ourselves.
15316 * include/grub/util/libzfs.h: Include `<config.h>'.
15317 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15318 declaring libzfs prototypes ourselves.
15319
15320 (libzfs_handle): Moved to ...
15321 * include/grub/util/misc.h (libzfs_handle): ... here.
15322 Include `<grub/util/libzfs.h>'.
15323
c9a00aee
RM
153242010-07-30 Robert Millan <rmh@gnu.org>
15325
15326 * include/grub/emu/misc.h: Add missing license header.
15327
a184f9c8
RM
153282010-07-30 Robert Millan <rmh@gnu.org>
15329
15330 Enable `grub-probe -t device' resolution on ZFS.
15331
15332 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15333 * include/grub/util/libnvpair.h: New file.
15334 * include/grub/util/libzfs.h: New file.
15335
15336 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15337 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15338 `<grub/util/libnvpair.h>'.
15339 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15340
15341 (find_mount_point_from_dir): New static function.
15342 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15343 function.
15344 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15345 find_root_device_from_libzfs() before ressorting to find_root_device().
15346
15347 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15348 prototype.
15349 * util/misc.c: Include `<grub/util/libzfs.h>'.
15350 (grub_util_init_libzfs): New function.
15351 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15352 [HAVE_LIBZFS] (fini_libzfs): New static function.
15353 (grub_util_init_libzfs): New function.
15354 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15355
f7790cdd
RM
153562010-07-30 Robert Millan <rmh@gnu.org>
15357
15358 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15359 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15360 `warn_unused_result' attribute.
15361 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15362 (grub_xasprintf, grub_xvasprintf): Likewise.
15363 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15364
0806b63c
RM
153652010-07-29 Robert Millan <rmh@gnu.org>
15366
15367 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15368 (probe): Handle `PRINT_FS_LABEL'.
15369 (main): Handle `-t fs_label'.
15370
9f841f5c
RM
153712010-07-29 Robert Millan <rmh@gnu.org>
15372
15373 * configure.ac: Remove grub-mkisofs checks.
15374
46371121
VS
153752010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15378 Reported by: Lennart Sorensen.
15379
153802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15383 prior to terminal_input/terminal_output separation. It's been over 1.5
15384 years and those versions weren't widely deployed.
15385
a9600892
CW
153862010-07-22 Colin Watson <cjwatson@ubuntu.com>
15387
15388 * disk/raid.c (insert_array): Don't count named arrays when looking
15389 for unused array numbers.
697e053c 15390 Reported and tested by: Michael Guntsche.
a9600892 15391
c03507df
CW
153922010-07-20 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15395 implementation of this so that grub-emu links again, with a note
15396 that this should support hotplugging in the future.
15397
b26f1c11
CW
153982010-07-20 Colin Watson <cjwatson@ubuntu.com>
15399
15400 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15401
efc9d7f1
CW
154022010-07-20 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15405 handle on failure.
15406 (grub_loopback_close): Remove empty function.
15407 (grub_loopback_dev): Remove close method.
15408
dd8ff5c9
CW
154092010-07-20 Colin Watson <cjwatson@ubuntu.com>
15410
15411 Disable EFI cursor when the EFI console becomes inactive.
15412
15413 * term/efi/console.c (grub_efi_console_init): New function.
15414 (grub_efi_console_fini): New function.
15415 (grub_console_term_output): Register init and fini methods.
15416
5e3bec67
VS
154172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15420 sh script.
15421
afaec079
VS
154222010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * disk/loopback.c (grub_loopback): Replace filename with file.
15425 (delete_loopback): Handle new semantics.
15426 (grub_cmd_loopback): Likewise.
15427 (grub_loopback_iterate): Likewise.
15428 (grub_loopback_close): Likewise.
15429
a6a11f3c
VS
154302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15433 with -p "".
15434 Reported by: Tito Keitel.
15435
64a638b0
VS
154362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * docs/grub.texi (Naming convention): Document new naming convention.
15439
ab8ba957
VS
154402010-07-20 Vadim Solomin <vadic052@gmail.com>
154412010-07-20 Colin Watson <cjwatson@ubuntu.com>
15442
15443 Generate device.map in something closer to the old ordering.
15444
15445 * util/deviceiter.c (struct device): New declaration.
15446 (compare_file_names): Rename to ...
15447 (compare_devices): ... this. Sort by kernel name in preference to
15448 the stable by-id name, but keep the latter as a fallback comparison.
15449 Update header comment.
15450 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15451 of `struct device' rather than of plain file names.
15452
a29d6a4b
TF
154532010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15454
15455 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15456 on i386.
15457
39d824e8
VS
154582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15461 hardcoding size.
15462 (setv1table): Likewise.
15463
f058276b
FZ
154642010-07-20 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15467 removing the homehost if present.
15468 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15469 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15470 removing the homehost if present.
15471 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15472 if possible.
15473 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15474
15475 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15476 parameter. Set its pointer target to 0.
15477 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15478 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15479 `data_offset' value from the superblock for 1.x metadata.
15480 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15481 data on the device.
15482 (insert_array): Record the start sector of data on the device.
15483 (grub_raid_register): Pass start_sector parameters to
15484 grub_raid_list->detect and insert_array.
15485 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15486 member.
15487 (struct grub_raid): Add start_sector parameter to `detect'.
15488
15489 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15490 __attribute__ ((packed)), leaving a comment.
15491 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15492 (grub_mdraid_detect_09): ... here and ...
15493 (grub_mdraid_detect_1x): ... here.
15494
154952010-07-20 Peter Henn <peter.henn@web.de>
15496
15497 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15498 chunk size and disk size, which are already given as sector counts
15499 as distinct from the 0.90 units. Fetch the correct device number
15500 from the role table instead of using the table index.
15501
155022010-07-20 Felix Zielcke <fzielcke@z-51.de>
15503
15504 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15505 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15506 (WriteMostly1): New macro.
15507 Set array->name to NULL for metadata format 0.90. Add support for
15508 metadata 1.x. Fix some comments.
15509 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15510 few comments.
15511 * util/getroot.c (grub_util_get_grub_dev): Add support for
15512 /dev/md/name style devices.
15513
4b761da9
CW
155142010-07-20 Colin Watson <cjwatson@ubuntu.com>
15515
15516 * .bzrignore: Ignore 20_linux_xen.
15517
5771289a
CW
155182010-07-17 Colin Watson <cjwatson@ubuntu.com>
15519
15520 * util/import_unicode.py: Remove unnecessary imports.
15521
5dab68df
AN
155222010-07-17 Aleš Nesrsta <starous@volny.cz>
15523
15524 Hotplugging and USB hub support.
15525
15526 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15527 (grub_ohci): Likewise.
15528 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15529 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15530 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15531 (GRUB_OHCI_CTRL_EDS): Likewise.
15532 (GRUB_OHCI_BULK_EDS): Likewise.
15533 (GRUB_OHCI_TDS): Likewise.
15534 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15535 (grub_ohci_ed_phys2virt): New function.
15536 (grub_ohci_virt_to_phys): Likewise.
15537 (grub_ohci_td_phys2virt): Likewise.
15538 (grub_ohci_td_virt2phys): Likewise.
15539 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15540 attachment.
15541 (grub_ohci_find_ed): New function.
15542 (grub_ohci_alloc_td): Likewise.
15543 (grub_ohci_free_td): Likewise.
15544 (grub_ohci_free_tds): Likewise.
15545 (grub_ohci_transfer): Use previously allocated memory.
15546 (grub_ohci_portstatus): Reset status changed bit.
15547 (grub_ohci_detect_dev): Supply status changed.
15548 (grub_ohci_fini_hw): Free memory.
15549 (grub_ohci_restore_hw): Reallocate memory.
15550 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15551 Reset status change.
15552 (grub_uhci_detect_dev): Supply status_change.
15553 * bus/usb/usb.c (attach_hooks): New var.
15554 (grub_usb_device_attach): New function.
15555 (grub_usb_register_attach_hook_class): Likewise.
15556 (grub_usb_unregister_attach_hook_class): Likewise.
15557 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15558 (grub_usb_add_hub): Reset connection changed bit.
15559 (attach_root_port): New function.
15560 (grub_usb_root_hub): Likewise.
15561 (poll_nonroot_hub): Likewise.
15562 (grub_usb_poll_devices): Likewise.
15563 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15564 * disk/usbms.c (grub_usbms_open): Use device hooks.
15565 (grub_usbms_iterate) :Poll devices.
15566 (grub_usbms_finddevs): Split into ...
15567 (grub_usbms_attach): ... this ...
15568 (grub_usbms_attach): ... and this.
15569 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15570 in detect_dev.
15571 (grub_usb_interface): New fields attached and detach_hook.
15572 (grub_usb_attach_hook_class): New type.
15573 (grub_usb_attach_desc): New struct.
15574 (grub_usb_register_attach_hook_class): New function.
15575 (grub_usb_unregister_attach_hook_class): Likewise.
15576 (grub_usb_poll_devices): Likewise.
15577 (grub_usb_device_attach): Likewise.
15578 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15579 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15580
3222efaf
VS
155812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15584 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15585 delta determination style. Works with most NetBSD partitions too.
15586
139b714a
VS
155872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15590 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15591
986aad56
VS
155922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15595
99be513c
AB
155962010-07-14 Anton Blanchard <anton@samba.org>
15597
15598 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15599 ET_DYN files.
15600
18075f62
GS
156012010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15602
15603 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15604
8d9a5b15
GS
156052010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15606
15607 * kern/partition.c (grub_partition_check_containment): New function to
15608 check that a partition is physically contained in a parent. Since
15609 offsets are relative (and non-negative), this reduces to checking that
15610 the partition ends before its parent.
15611 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15612 (grub_partition_iterate): Likewise.
15613 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15614 comments.
15615 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15616 partitions that start before their parent, and add debug printfs.
15617
19563c25
CW
156182010-07-13 Colin Watson <cjwatson@ubuntu.com>
15619
15620 * Makefile.in (.SUFFIX): Spell correctly, as ...
15621 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15622 bare module name without `.mod', e.g. `test') tried to invoke a
15623 Modula-2 compiler.
15624
1a1f1e67
CW
156252010-07-13 Colin Watson <cjwatson@ubuntu.com>
15626
15627 * README: Point to the Info manual.
15628
811b0dca
JS
156292010-07-13 Jiro SEKIBA <jir@unicus.jp>
15630
15631 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15632 2nd superblock position from partition size.
15633
e4f4eafc
CW
156342010-07-10 Colin Watson <cjwatson@ubuntu.com>
15635
15636 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15637 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15638 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15639 outputs.
15640
4274c30f
VS
156412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 Restructure SCSI .id handling.
15644 Reported and tested by: Aleš Nesrsta.
15645
15646 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15647 (grub_atapi_dev): Changed .name to "ata". New field .id.
15648 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15649 (grub_usbms_dev): New field .id.
15650 * disk/scsi.c (grub_scsi_iterate): Generate name.
15651 (grub_scsi_open): Parse name.
15652 * include/grub/scsi.h (grub_make_scsi_id): New function.
15653 (grub_scsi_dev): Change iterate and open to number instead of naming
15654 busses. All users updated.
15655 (grub_scsi): Remove name. Add .bus.
15656
5bc24388
VS
156572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * commands/help.c (grub_cmd_help): Fix a typo.
15660
249975ba
VS
156612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15664 Reported and tested by: Colin Watson.
15665
3eaac1a1
VS
156662010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15669 in this context.
15670
becce1b1
VS
156712010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15674
f7bf0918
CW
156752010-07-07 Colin Watson <cjwatson@ubuntu.com>
15676
15677 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15678 indentation.
15679
0b0f9620
CW
156802010-07-06 Colin Watson <cjwatson@ubuntu.com>
15681
15682 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15683 and disk/raid6_recover.c.
15684 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15685 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15686
1e545469
CW
156872010-07-06 Colin Watson <cjwatson@ubuntu.com>
15688
15689 * term/gfxterm.c (repaint_schedulded): Rename to ...
15690 (repaint_scheduled): ... this. Update all callers.
15691 (repaint_was_schedulded): Rename to ...
15692 (repaint_was_scheduled): ... this. Update all callers.
15693
5357687a
CW
156942010-07-06 Colin Watson <cjwatson@ubuntu.com>
15695
15696 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15697 which we expect to be handled by upper layers.
15698
29d7e783
BC
156992010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15700
15701 * bus/usb/usbhub.c: #include time.h header.
15702
37582066
CW
157032010-07-06 Colin Watson <cjwatson@ubuntu.com>
15704
15705 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15706 entry_name also for entries without stat blocks (e.g. ".."); fixes
15707 corruption of the first entry in a directory.
15708
c8c06953
CW
157092010-07-06 Colin Watson <cjwatson@ubuntu.com>
15710
15711 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15712 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15713 doesn't work otherwise.
15714
e75056f1
CW
157152010-07-05 Colin Watson <cjwatson@ubuntu.com>
15716
15717 * docs/grub.texi (Features): Update list of supported file systems.
15718 (GNU/Linux): Update for GRUB 2.
15719 (Serial terminal): Remove mention of --disable-serial, which was a
15720 GRUB Legacy configure option. Update instructions to use
15721 `terminal_input' and `terminal_output' rather than `terminal'.
15722 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15723 configuration' and `Installing GRUB using grub-install'.
15724 (Menu entry editor): Update for GRUB 2.
15725 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15726 Document new -a, -u, and -v options.
15727 (initrd): New section.
15728 (initrd16): New section.
15729 (linux): New section.
15730 (linux16): New section.
15731 (search): The `var' argument to `--set' is optional.
15732 (GRUB only offers a rescue shell): Go into a little more detail on
15733 drive ordering.
15734
5cf69151
CW
157352010-07-05 Colin Watson <cjwatson@ubuntu.com>
15736
15737 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15738
e3f90044
CW
157392010-07-05 Colin Watson <cjwatson@ubuntu.com>
15740
15741 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15742 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15743
38d8f4f3
CW
157442010-07-05 Colin Watson <cjwatson@ubuntu.com>
15745
15746 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15747 install_prefix, in line with install_dos_part and install_bsd_part.
15748 Add new prefix variable, which is copied to install_prefix after
15749 comparing core.img in memory with the one read from disk in the
15750 no-embedding case, and use that rather than overwriting
15751 install_prefix immediately when installing to a partition.
15752 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15753 Bicakci.
15754
57ebd41e
GS
157552010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15756
15757 * configure.ac: Avoid == in test command, it's not portable.
15758 * util/grub.d/30_os-prober.in: Likewise.
15759
cb7f64b2
CW
157602010-07-04 Colin Watson <cjwatson@ubuntu.com>
15761
15762 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15763
6b654bb0
GS
157642010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15765
15766 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15767 multiple (top-level) partmaps.
15768
72a2026d
VS
157692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15772 Reported by: Tino Keitel.
72a2026d 15773
df3eb88f
VS
157742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 Bidi and diacritics support.
15777
15778 * Makefile.in (widthspec.bin): New target.
15779 (widthspec.h): Likewise.
15780 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15781 * autogen.sh: Generate unidata.c.
15782 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15783 * commands/ls.c (grub_ls_list_devices): Likewise.
15784 (grub_ls_list_files): Likewise.
15785 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15786 (grub_mini_cmd_lsmod): Likewise.
15787 * commands/read.c: Likewise.
15788 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15789 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15790 * lib/arg.c (grub_arg_show_help): Likewise.
15791 * lib/crypto.c (grub_password_get): Likewise.
15792 * normal/auth.c (grub_username_get): Likewise.
15793 * normal/misc.c (grub_normal_print_device_info): Likewise.
15794 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15795 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15796 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15797 (normal/charset.c_DEPENDENCIES): New variable.
15798 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15799 (pkglib_MODULES): Remove charset.mod.
15800 (charset_mod_SOURCES): Removed.
15801 (charset_mod_CFLAGS): Likewise.
15802 (charset_mod_LDFLAGS): Likewise.
15803 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15804 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15805 and term/tparm.c.
15806 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15807 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15808 (kernel_img_HEADERS): Add terminfo.h.
15809 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15810 Fill ->font. Reverse ascii bitmaps.
15811 (grub_font_get_xheight): New function.
15812 * font/font.c (grub_font_get_string_width): Moved from here ...
15813 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15814 * font/font.c (grub_font_draw_string): Moved from here ...
15815 * gfxmenu/font.c (grub_font_draw_string): ... here.
15816 * font/font.c (grub_font_dup_glyph): New function.
15817 (grub_font_blit_glyph): Likewise.
15818 (grub_font_blit_glyph_mirror): Likewise.
15819 (blit_comb): Likewise.
15820 (grub_font_construct_dry_run): Likewise.
15821 (grub_font_get_constructed_device_width): Likewise.
15822 (grub_font_construct_glyph): Likewise.
15823 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15824 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15825 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15826 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15827 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15828 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15829 (grub_font_get_xheight): New proto.
15830 (grub_font_get_constructed_device_width): Likewise.
15831 (grub_font_construct_glyph): Likewise.
15832 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15833 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15834 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15835 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15836 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15837 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15838 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15839 (grub_console_getcharwidth): Likewise.
15840 * include/grub/misc.h (grub_xputs): New proto.
15841 (grub_puts): Inlined.
15842 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15843 (grub_normal_get_line_counter): Removed.
15844 (grub_install_newline_hook): Likewise.
15845 (grub_normal_get_char_counter): New proto.
15846 (grub_normal_reset_more): Likewise.
15847 (grub_xputs_normal): Likewise.
15848 * include/grub/powerpc/ieee1275/console.h: Removed.
15849 * include/grub/sparc64/ieee1275/console.h: Likewise.
15850 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15851 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15852 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15853 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15854 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15855 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15856 (grub_term_input): Pass reference to self. All users updated.
15857 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15858 Pass reference to self. New fields normal_color, highlight_color and
15859 data. All users updated.
15860 (grub_putchar): Removed.
15861 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15862 (grub_unicode_estimate_width): New function.
15863 (grub_term_getcharwidth): Add defaults.
15864 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15865 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15866 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15867 (grub_cls): Remove EXPORT_FUNC.
15868 (grub_setcolorstate): Inline.
15869 (grub_newline_hook): Removed.
15870 * include/grub/terminfo.h: Rewritten. All users updated.
15871 * include/grub/unicode.h: New file.
15872 * include/grub/video.h (grub_video_signed_rect): New type.
15873 * kern/emu/console.c (grub_console_highlight_color): Removed.
15874 (grub_console_normal_color): Likewise.
15875 (grub_console_standard_color): Made static.
15876 (grub_ncurses_putchar): Remove mapping.
15877 (grub_ncurses_getcharwidth): Removed.
15878 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15879 (grub_ncurses_setcolor): Removed.
15880 (grub_ncurses_getcolor): Likewise.
15881 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15882 (grub_console_putchar): ... this.
15883 (grub_console_putchar): Handle argument difference.
15884 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15885 console_init_early and console_init_lately.
15886 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15887 * kern/misc.c (grub_puts): Removed.
15888 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15889 (grub_vsnprintf_real): Remove str = NULL support.
15890 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15891 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15892 * kern/term.c (grub_putcode): Renamed to ...
15893 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15894 (grub_putchar): Removed.
15895 (grub_xputs_dumb): New function.
15896 (grub_xputs): New variable.
15897 * lib/charset.c: Move from here ...
15898 * normal/charset.c: ... to here.
15899 (grub_ucs4_to_utf8): New function.
15900 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15901 (join_types): New variable.
15902 (unpack_join): New function.
15903 (bidi_types): New variable.
15904 (unpack_bidi): New function.
15905 (get_bidi_type): Likewise.
15906 (get_join_type): Likewise.
15907 (is_mirrored): Likewise.
15908 (grub_unicode_get_comb_type): Likewise.
15909 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15910 (is_type_after): Likewise.
15911 (grub_unicode_aglomerate_comb): Likewise.
15912 (bidi_line_wrap): Likewise.
15913 (grub_bidi_line_logical_to_visual): Likewise.
15914 (grub_bidi_logical_to_visual): Likewise.
15915 (grub_unicode_mirror_code): Likewise.
15916 (grub_unicode_shape_code): Likewise.
15917 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15918 Don't use grub_putchar.
15919 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15920 (grub_normal_reader_init): Likewise.
15921 (grub_xputs_saved): New variable.
15922 (GRUB_MOD_INIT): Set grub_xputs.
15923 (GRUB_MOD_FINI): Restore grub_xputs.
15924 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15925 (menu_init): Avoid printing gfxmenu error.
15926 (show_menu): Use grub_normal_get_char_counter.
15927 * normal/menu_entry.c (update_screen): Fix out-of-array.
15928 (complete): Avoid NULL dereferencing.
15929 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15930 * normal/menu_text.c (print_spaces): Removed.
15931 (grub_print_ucs4): Likewise.
15932 (grub_print_message_indented): Use grub_print_ucs4.
15933 (print_message): Use grub_putcode.
15934 (print_entry): Hanlde diacritics.
15935 * normal/term.c (term_state): New type.
15936 (grub_more_lines): Removed.
15937 (term_states): New variable.
15938 (grub_normal_line_counter): Renamed to ..
15939 (grub_normal_char_counter): ...this. All users updated.
15940 (grub_normal_get_line_counter): Renamed to ...
15941 (grub_normal_get_char_counter): ... this.
15942 (grub_normal_reset_more): New function.
15943 (process_newline): Removed.
15944 (print_more): New function.
15945 (grub_install_newline_hook): Removed.
15946 (map_code): New function.
15947 (grub_puts_terminal): Use grub_print_ucs4.
15948 (putglyph): New function.
15949 (putcode_real): Likewise.
15950 (grub_putcode): Use putcode_real.
15951 (get_maxwidth): New function.
15952 (get_startwidth): Likewise.
15953 (print_ucs4_terminal): Likewise.
15954 (find_term_state): Likewise.
15955 (put_glyphs_terminal): Likewise.
15956 (print_backlog): Likewise.
15957 (print_ucs4_real): Likewise.
15958 (grub_print_ucs4): Likewise.
15959 (grub_xputs_normal): Likewise.
15960 * term/efi/console.c (grub_console_putchar): Output diacritics.
15961 (grub_console_getcharwidth): Removed.
15962 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15963 * term/gfxterm.c (clear_char): Free chars.
15964 (scroll_up): Avoid leaking memory.
15965 (grub_gfxterm_putchar): Support diacritics.
15966 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15967 * term/i386/pc/console.c (grub_console_term_output): Declare as
15968 GRUB_TERM_CODE_TYPE_VGA.
15969 * term/i386/pc/vga.c (grub_vga_term): Declare as
15970 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15971 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15972 GRUB_TERM_CODE_TYPE_VGA.
15973 * term/i386/vga_common.c (map_char): Removed.
15974 (grub_console_putchar): Likewise.
15975 (grub_console_getcharwidth): Likewise.
15976 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15977 (colors): Reordered to match terminfo.
15978 (grub_ofconsole_normal_color): Removed.
15979 (grub_ofconsole_writeesc): Likewise.
15980 (grub_ofconsole_highlight_color): Likewise.
15981 (grub_ofconsole_getcharwidth): Likewise.
15982 (grub_ofconsole_setcolorstate): Likewise.
15983 (grub_ofconsole_setcolor): Likewise.
15984 (grub_ofconsole_getcolor): Likewise.
15985 (grub_ofconsole_readkey): Renamed to ...
15986 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15987 key.
15988 (grub_ofconsole_checkkey): Removed.
15989 (grub_ofconsole_getkey): Likewise.
15990 (grub_ofconsole_getxy): Likewise.
15991 (grub_ofconsole_gotoxy): Likewise.
15992 (grub_ofconsole_cls): Likewise.
15993 (grub_ofconsole_refresh): Likewise.
15994 (grub_ofconsole_terminfo_input): New struct.
15995 (grub_ofconsole_terminfo_output): Likewise.
15996 (grub_ofconsole_term_input): Use terminfo.
15997 (grub_ofconsole_term_output): Likewise.
15998 (grub_console_init): Split into ...
15999 (grub_console_init_early): ...this and ...
16000 (grub_console_init_lately): ...this. Use terminfo.
16001 (grub_ofconsole_putchar): Renamed to ...
16002 (put): ... this. Remove mapping.
16003 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16004 * term/serial.c: Simplify using terminfo.
16005 (xpos): Removed.
16006 (ypos): Likewise.
16007 (keep_track): Likewise.
16008 (registered): Likewise.
16009 (input_buf): Likewise.
16010 (npending): Likewise.
16011 (serial_translate_key_sequence): Likewise.
16012 (fill_input_buf): Likewise.
16013 (grub_serial_checkkey): Likewise.
16014 (grub_serial_getkey): Likewise.
16015 (grub_serial_getxy): Likewise.
16016 (grub_serial_gotoxy): Likewise.
16017 (grub_serial_putchar): Likewise.
16018 (grub_serial_cls): Likewise.
16019 (grub_serial_setcolorstate): Likewise.
16020 (grub_serial_setcursor): Likewise.
16021 (serial_hw_init): Use serial_hw_fetch.
16022 (grub_serial_terminfo_input): New variable.
16023 (grub_serial_terminfo_output): Likewise.
16024 (grub_serial_term_input): Use terminfo.
16025 (grub_serial_term_output): Likewise.
16026 * term/terminfo.c (putstr): Use put.
16027 (grub_terminfo_all_free): New function
16028 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16029 (grub_terminfo_output_register): New function.
16030 (grub_terminfo_output_unregister): Likewise.
16031 (grub_terminfo_getxy): Likewise.
16032 (grub_terminfo_readkey): Likewise.
16033 (grub_terminfo_checkkey): Likewise.
16034 (grub_terminfo_getkey): Likewise.
16035 (grub_terminfo_input_init): Likewise.
16036 (print_terminfo): Likewise.
16037 (grub_cmd_terminfo): Handle encoding.
16038 (grub_terminfo_gotoxy): Track position.
16039 (grub_terminfo_cls): Likewise.
16040 (grub_terminfo_putchar): Likewise.
16041 (grub_terminfo_setcolorstate): Handle colors
16042 (grub_terminfo_cursor_on): This ...
16043 (grub_terminfo_cursor_off): ... and this merged into ...
16044 (grub_terminfo_setcursor): ... this.
16045 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16046 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16047 * unicode/BidiMirroring.txt: Likewise.
16048 * unicode/UnicodeData.txt: Likewise.
16049 * unicode/COPYING: Likewise.
16050 * util/grub-editenv.c (grub_putchar): Removed.
16051 (grub_xputs_real): New function.
16052 (grub_xputs): New variable.
16053 * util/grub-fstest.c (grub_putchar): Removed.
16054 (grub_xputs_real): New function.
16055 (grub_xputs): New variable.
16056 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16057 (grub_xputs_real): New function.
16058 (grub_xputs): New variable.
16059 * util/grub-probe.c (grub_putchar): Removed.
16060 (grub_xputs_real): New function.
16061 (grub_xputs): New variable.
16062 * util/grub-script-check.c (grub_putchar): Removed.
16063 (grub_xputs_real): New function.
16064 (grub_xputs): New variable.
16065 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16066 (grub_xputs_real): New function.
16067 (grub_xputs): New variable.
16068 * util/import_unicode.py: New file.
16069 * util/grub-mkfont.c (ft_errmsgs): New array.
16070 (grub_glyph_info): Make bitmap a pointer.
16071 (file_formats): New type WIDTH_SPEC.
16072 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16073 (options): Add width-spec.
16074 (help): Likewise.
16075 (add_char): Renamed to ...
16076 (add_glyph): ... this.
16077 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16078 (glyph_replace): New type.
16079 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16080 (add_char): New function.
16081 (add_subst): Likewise.
16082 (process_cursive): Likewise.
16083 (add_font): Handle GSUB.
16084 (write_font_width_spec): New function.
16085 (main): Sort glyphs.
16086 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16087 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16088 * kern/term.c (grub_cls): Moved from here...
16089 * normal/term.c (grub_cls): ... here.
16090
50f0bcda
CW
160912010-07-02 Colin Watson <cjwatson@ubuntu.com>
16092
16093 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16094 suitable for using within the format argument of printf when
16095 converting grub_size_t.
16096 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16097 "x" to convert grub_size_t arguments.
16098
40372103
VS
160992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16102 too long captions.
16103 (list_get_minimal_size): Take selection box into account.
16104
942a10c7
VS
161052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16108 NULL font.
16109
2bdb2892
CW
161102010-07-02 Colin Watson <cjwatson@ubuntu.com>
16111
16112 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16113 devices when iterating over /dev/disk/by-id; they will be handled
16114 later if appropriate, which they aren't always (e.g. LVM).
16115
e03ed6c1
CW
161162010-07-02 Colin Watson <cjwatson@ubuntu.com>
16117
16118 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16119 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16120 fails.
16121 (grub_halt): Likewise.
16122 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16123 reset-all fails.
16124 (grub_halt): Don't return, even if all of shut-down, power-off, and
16125 poweroff fail.
16126
47695765
CW
161272010-07-02 Colin Watson <cjwatson@ubuntu.com>
16128
16129 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16130 arguments, not three.
16131
507736c8
CW
161322010-07-02 Colin Watson <cjwatson@ubuntu.com>
16133
16134 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16135 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16136 LVM-on-RAID is handled correctly.
16137
e3c8cd37
CW
161382010-07-02 Colin Watson <cjwatson@ubuntu.com>
16139
16140 * docs/grub.texi (Changes from GRUB Legacy): New section.
16141 (Future): Fix typo.
16142
8d4a2fec
CW
161432010-07-02 Colin Watson <cjwatson@ubuntu.com>
16144
16145 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16146 grub.d/README accidentally ends up executable for one reason or
16147 another. Ignore it.
16148
1c4827be
VS
161492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16152 (gpt_partition_map_iterate): Support non-512B sectors.
16153
d9a0c941
VS
161542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16157 Tested by: Seth Goldberg.
16158
48f27e87
VS
161592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16162 Properly align mbi.
16163 Reported by: Seth Goldberg.
16164
b0c4f956
VS
161652010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 * util/grub-mkrescue.in: Avoid module duplication.
16168
105a2e8c
SF
161692010-07-01 Sean Finney <seanius@seanius.net>
16170
16171 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16172
5944958c
SF
161732010-07-01 Sean Finney <seanius@seanius.net>
16174
16175 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16176
161772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * disk/lvm.c (grub_lvm_checkvalue): New function.
16180 (grub_lvm_check_flag): Likewise.
16181
b79889ba
RM
161822010-07-01 Robert Millan <rmh@gnu.org>
16183
16184 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16185 Support 'p' as partition separator on kernel of FreeBSD (used
16186 with GPT labels).
16187 (grub_util_biosdisk_get_grub_dev): Likewise.
16188
ec1d04f1
VS
161892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 Yeeloong firmware port.
16192
16193 * boot/mips/yeeloong/fwstart.S: New file.
16194 * bus/cs5536.c (gpiodump): New const.
16195 (set_io_space): New function.
16196 (set_iod): Likewise.
16197 (set_p2d): Likewise.
16198 (grub_cs5536_init_geode): Likewise.
16199 * commands/mips/yeeloong/lsspd.c: New file.
16200 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16201 (serial_mod_SOURCES): New variable.
16202 (serial_mod_CFLAGS): Likewise.
16203 (serial_mod_LDFLAGS): Likewise.
16204 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16205 term/terminfo.c and term/tparm.c.
16206 (pkglib_IMAGES): Add fwstart.img.
16207 (fwstart_img_SOURCES): New variable.
16208 (fwstart_img_CFLAGS): Likewise.
16209 (fwstart_img_ASFLAGS): Likewise.
16210 (fwstart_img_LDFLAGS): Likewise.
16211 (fwstart_img_FORMAT): Likewise.
16212 (pkglib_MODULES): Add lsspd.mod.
16213 (lsspd_mod_SOURCES): New variable.
16214 (lsspd_mod_CFLAGS): Likewise.
16215 (lsspd_mod_LDFLAGS): Likewise.
16216 (pkglib_MODULES): Add halt.mod.
16217 (halt_mod_SOURCES): New variable.
16218 (halt_mod_CFLAGS): Likewise.
16219 (halt_mod_LDFLAGS): Likewise.
16220 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16221 (serial_mod_SOURCES): Removed.
16222 (serial_mod_CFLAGS): Likewise.
16223 (serial_mod_LDFLAGS): Likewise.
16224 * disk/ata.c (check_device): New function.
16225 (grub_ata_device_initialize): Use check_device.
16226 (grub_ata_iterate): Recheck devices.
16227 (grub_ata_open): Likewise.
16228 (grub_atapi_iterate): Likewise.
16229 (grub_atapi_open): Likewise.
16230 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16231 (GRUB_ATA_CH1_PORT1): Likewise.
16232 (GRUB_ATA_CH0_PORT2): Likewise.
16233 (GRUB_ATA_CH1_PORT2): Likewise.
16234 * include/grub/mips/loongson.h: New file.
16235 * include/grub/mips/yeeloong/ec.h: Likewise.
16236 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16237 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16238 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16239 * include/grub/misc.h (grub_halt): Declare as noreturn.
16240 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16241 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16242 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16243 (UART_ENABLE_DTRRTS): Likewise.
16244 (UART_ENABLE_MODEM): Removed.
16245 (UART_ENABLE_OUT2): New const.
16246 * include/grub/term.h (grub_term_register_input_active): New function.
16247 (grub_term_register_output_active): Likewise.
16248 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16249 argument.
16250 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16251 (init_pci): New function.
16252 (grub_machine_init): Execute platform init when firmware. Init serial.
16253 (grub_halt): Implement.
16254 (grub_exit): Likewise.
16255 (grub_reboot): Likewise.
16256 * term/serial.c (serial_hw_init): Update macros.
16257 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16258 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16259 (image_targets): New target mipsel-yeeloong-flash.
16260 (generate_image): Support IMAGE_YEELOONG_FLASH.
16261 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16262 (grub_video_sm712_setup): Init card.
16263 (grub_video_sm712_set_palette): Removed.
16264 * video/sm712_init.c: New file.
16265
ff4a70d2
CW
162662010-06-30 Colin Watson <cjwatson@ubuntu.com>
16267
16268 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16269 PATH when running help2man and then run it on the unadorned
16270 executable names, rather than passing $(builddir)/* paths to
16271 help2man. This avoids the build directory ending up in generated
16272 manual pages.
16273
1246efeb
CW
162742010-06-29 Colin Watson <cjwatson@ubuntu.com>
16275
16276 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16277 to avoid accidents when debugging with 'sh -x'.
16278 * util/grub-mkrescue.in: Likewise.
16279 * util/grub.d/00_header.in: Likewise.
16280 * util/grub.d/10_hurd.in: Likewise.
16281 * util/grub.d/10_kfreebsd.in: Likewise.
16282 * util/grub.d/10_linux.in: Likewise.
16283 * util/grub.d/10_netbsd.in: Likewise.
16284 * util/grub.d/10_windows.in: Likewise.
16285 * util/grub.d/20_linux_xen.in: Likewise.
16286 * util/grub.d/30_os-prober.in: Likewise.
16287 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16288
1ba9b889
CW
162892010-06-29 Colin Watson <cjwatson@ubuntu.com>
16290
16291 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16292 last character in the buffer.
16293 Reported by: Vladimir Serbinenko.
16294
dccaf99d
RM
162952010-06-29 Robert Millan <rmh@gnu.org>
16296
16297 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16298 (Command-line and menu entry commands): Document `badram' command.
16299
d500ed12
RM
163002010-06-28 Robert Millan <rmh@gnu.org>
16301
16302 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16303 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16304 command using ${GRUB_BADRAM} as parameter.
16305
20bc84a6
CW
163062010-06-28 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * docs/grub.texi (Device map): New section.
16309 (Themes): New section (stub).
16310 * Makefile.in (docs/grub.info): The info documentation now builds
16311 without errors. Make sure it stays that way.
16312
4045dee1
VS
163132010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Use normal parser for menu entries.
16316 Reported by: Thomas Frauendorfer
16317
16318 * include/grub/parser.h (grub_parser_execute): Don't export.
16319 * normal/menu.c (grub_menu_execute_entry_real): New function.
16320 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16321
bca58c7b
CW
163222010-06-28 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * docs/grub.texi (Embedded configuration): New section (replacing
16325 old "Preset Menu" stub).
16326 (Images): New section.
16327 (configfile): Note that any menu entries defined in `file' are shown
16328 immediately.
16329
dec53e63
JT
163302010-06-28 Josh Triplett <josh@joshtriplett.org>
16331
16332 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16333
c06e40f7
CW
163342010-06-28 Colin Watson <cjwatson@ubuntu.com>
16335
16336 * util/grub-install.in: Add --debug-image= option.
16337
cb88052b
CW
163382010-06-28 Colin Watson <cjwatson@ubuntu.com>
16339
16340 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16341 possible on Linux.
16342
16343 * util/deviceiter.c (check_device): Rename to ...
16344 (check_device_readable_unique): ... this. Update all callers.
16345 Maintain and check a list of which devices (by canonicalized name)
16346 have already been seen.
16347 (clear_seen_devices): New function.
16348 (compare_file_names) [__linux__]: New function.
16349 (grub_util_iterate_devices): Clear the list of seen devices on exit
16350 and (just in case) on entry.
16351 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16352 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16353 seen-devices list, superseded by general code in check_device.
16354
bbe34652
CW
163552010-06-28 Colin Watson <cjwatson@ubuntu.com>
16356
16357 * commands/cat.c (options): New variable.
16358 (grub_cmd_cat): Parse options. If the --dos option is given, print
16359 DOS-style "\r\n" line endings as simple newlines (Debian bug
16360 #586358).
16361 (GRUB_MOD_INIT): Use extcmd.
16362 (GRUB_MOD_FINI): Likewise.
16363 * docs/grub.texi (cat): Document --dos.
16364
412e09f3
VS
163652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 XEN with Linux grub-mkconfig support.
16368
16369 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16370 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16371 GRUB_CMDLINE_XEN_DEFAULT.
16372 * util/grub.d/20_linux_xen.in: New file.
16373
53f3ef38 163742010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16375
16376 Initialise VGA video on qemu ourselves.
16377
16378 * boot/i386/qemu/boot.S: Don't call 0xc000.
16379 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16380 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16381 (kernel_img_HEADERS): Add pci.h.
16382 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16383 * configure.ac: Force unifont on qemu and yeeloong.
16384 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16385 (grub_vga_palette_write): Use correct register.
16386 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16387 Call grub_qemu_init_cirrus.
16388 * kern/i386/qemu/init.c: New file.
16389 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16390
16391 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16392
c75be4fb
PR
163932010-06-26 Pavel Roskin <proski@gnu.org>
16394
16395 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16396 13.
16397
d8034603
CW
163982010-06-26 Colin Watson <cjwatson@ubuntu.com>
16399
16400 * docs/grub.texi (Simple configuration): Explain that
16401 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16402 set to `true' to disable their respective recovery entries, not
16403 merely set.
16404
3fa06487
CW
164052010-06-26 Colin Watson <cjwatson@ubuntu.com>
16406
16407 Make the `source' command slightly faster.
16408
16409 * normal/main.c (grub_normal_execute): Don't re-read list files when
16410 nested.
16411
e9b29642
CW
164122010-06-23 Colin Watson <cjwatson@ubuntu.com>
16413
16414 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16415 field position and mask size to red fields from mode_info, not
16416 green.
16417 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16418 Remove redundant tag->common.framebuffer_type assignment.
16419 Reported by: Seth Goldberg.
16420
e726542f
CW
164212010-06-23 Colin Watson <cjwatson@ubuntu.com>
16422
16423 Sync up other versions of the Linux loader with Robert Millan's
16424 change of 2010-01-09, "Make loader output a bit more user-friendly".
16425
16426 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16427 grub_dprintf().
16428 (grub_cmd_linux): Likewise.
16429 (grub_cmd_initrd): Likewise.
16430 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16431 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16432
d6e98a17
CW
164332010-06-21 Colin Watson <cjwatson@ubuntu.com>
16434
16435 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16436 larger than MEMORY_MAP_SIZE.
16437
14d3f08e
BC
164382010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16439
16440 Fix parallel build.
16441
16442 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16443 dependency.
16444 * script/parser.y: #include grub_script.tab.h header.
16445
4f9613a3
VS
164462010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 Support >3GiB and <16MiB RAM in i386-qemu.
16449
16450 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16451 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16452 (grub_lower_mem): Removed.
16453 (grub_upper_mem): Likewise.
16454 (mem_size): Made static.
16455 (above_4g): New variable.
16456 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16457 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16458 support.
16459
05e51879
VS
164602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 Cirrus 5446 and Bochs video cards support.
16463
16464 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16465 video_bochs.mod
16466 (video_cirrus_mod_SOURCES): New variable.
16467 (video_cirrus_mod_CFLAGS): Likewise.
16468 (video_cirrus_mod_LDFLAGS): Likewise.
16469 (video_bochs_mod_SOURCES): Likewise.
16470 (video_bochs_mod_CFLAGS): Likewise.
16471 (video_bochs_mod_LDFLAGS): Likewise.
16472 * include/grub/vga.h: New file.
16473 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16474 (grub_video_fb_set_page_t): New type.
16475 (grub_video_fb_setup): New prototype.
16476 (grub_video_fb_swap_buffers): Likewise.
16477 (grub_video_fb_get_info_and_fini): Likewise.
16478 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16479 (CRTC_DATA_PORT): Likewise.
16480 (CRTC_CURSOR): Likewise.
16481 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16482 (CRTC_CURSOR_ADDR_LOW): Likewise.
16483 (CRTC_CURSOR_DISABLE): Likewise.
16484 (update_cursor): Use grub_vga_cr_write.
16485 (grub_vga_text_setcursor): Likewise.
16486 * video/bochs.c: New file.
16487 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16488 (palette): Likewise.
16489 (palette_size): Likewise.
16490 (framebuffer): New variable.
16491 (grub_video_fb_init): Use 'framebuffer'.
16492 (grub_video_fb_fini): Likewise.
16493 (grub_video_fb_get_info): Likewise.
16494 (grub_video_fb_get_palette): Likewise.
16495 (grub_video_fb_set_palette): Likewise.
16496 (grub_video_fb_set_viewport): Likewise.
16497 (grub_video_fb_get_viewport): Likewise.
16498 (grub_video_fb_map_color): Likewise.
16499 (grub_video_fb_map_rgb): Likewise.
16500 (grub_video_fb_map_rgba): Likewise.
16501 (grub_video_fb_unmap_color): Likewise.
16502 (grub_video_fb_unmap_color_int): Likewise.
16503 (grub_video_fb_fill_rect): Likewise.
16504 (grub_video_fb_blit_bitmap): Likewise.
16505 (grub_video_fb_blit_render_target): Likewise.
16506 (grub_video_fb_scroll): Likewise.
16507 (grub_video_fb_create_render_target): Likewise.
16508 (grub_video_fb_doublebuf_blit_init): Likewise.
16509 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16510 (doublebuf_pageflipping_update_screen): New function.
16511 (doublebuf_pageflipping_init): Likewise.
16512 (grub_video_fb_setup): Likewise.
16513 (grub_video_fb_swap_buffers): Likewise.
16514 (grub_video_fb_get_info_and_fini): Likewise.
16515 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16516 All users updated.
16517 (doublebuf_pageflipping_commit): Restructured into ...
16518 (doublebuf_pageflipping_set_page): ... this.
16519 (doublebuf_pageflipping_update_screen): Removed.
16520 (doublebuf_pageflipping_init): Likewise.
16521 (double_buffering_init): Likewise.
16522 (grub_video_vbe_setup): Use grub_video_fb_setup.
16523 (grub_video_vbe_swap_buffers): Removed.
16524 (grub_video_vbe_set_active_render_target): Likewise.
16525 (grub_video_vbe_get_active_render_target): Likewise.
16526 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16527 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16528 grub_video_fb_set_active_render_target and
16529 grub_video_fb_get_active_render_target.
16530 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16531 (SEQUENCER_DATA_PORT): Likewise.
16532 (MAP_MASK_REGISTER): Likewise.
16533 (CRTC_ADDR_PORT): Likewise.
16534 (CRTC_DATA_PORT): Likewise.
16535 (START_ADDR_HIGH_REGISTER): Likewise.
16536 (START_ADDR_LOW_REGISTER): Likewise.
16537 (GRAPHICS_ADDR_PORT): Likewise.
16538 (GRAPHICS_DATA_PORT): Likewise.
16539 (READ_MAP_REGISTER): Likewise.
16540 (INPUT_STATUS1_REGISTER): Likewise.
16541 (INPUT_STATUS1_VERTR_BIT): Likewise.
16542 (get_map_mask): Use grub_vga_sr_read.
16543 (set_map_mask): Use grub_vga_sr_write.
16544 (set_read_map): Use grub_vga_gr_write.
16545 (set_start_address): Use grub_vga_cr_write.
16546 * video/sm712.c (framebuffer): Remove leftover fields.
16547
4321c64a
CW
165482010-06-20 Colin Watson <cjwatson@ubuntu.com>
16549
16550 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16551 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16552 instead. Replace the gfxterm backend check with a check that
16553 ${GRUB_PREFIX}/video.lst is non-empty.
16554 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16555 again.
16556 (load_video): New generated function. Call it before loading
16557 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16558 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16559 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16560 * docs/grub.texi (Simple configuration): Document
16561 GRUB_VIDEO_BACKEND.
16562
165632010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 Use video functions in linux and xnu loaders.
16566
16567 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16568 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16569 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16570 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16571 loader/i386/pc/linux.c.
16572 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16573 (find_line_len): Removed.
16574 (find_framebuf): Likewise.
16575 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16576 * loader/i386/efi/xnu.c: Removed.
16577 * loader/i386/pc/xnu.c: Moved from here...
16578 * loader/i386/xnu.c: ...here.
16579
16580 Enable priorities in video drivers.
16581
16582 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16583 (grub_video_adapter): New field prio.
16584 (grub_video_register): Respect prio when inserting.
16585 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16586 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16587 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16588 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16589 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16590 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16591 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16592
16593 Fix SDL driver ID.
16594
16595 * include/grub/video.h (grub_video_driver_id_t): New value
16596 GRUB_VIDEO_DRIVER_SDL.
16597 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16598
7d24e434
CW
165992010-06-17 Colin Watson <cjwatson@ubuntu.com>
16600
16601 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16602 argument to printf.
16603 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16604
c88a83f6
CW
166052010-06-17 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16608 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16609
094dfb69
CW
166102010-06-17 Colin Watson <cjwatson@ubuntu.com>
16611
16612 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16613 directly, and recommend grub-install instead.
16614 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16615
2164da6b
CW
166162010-06-17 Colin Watson <cjwatson@ubuntu.com>
16617
16618 Fix i386-pc prefix handling with nested partitions (Debian bug
16619 #585068). Note that the case where the core image is booted using
16620 multiboot and relocated from its original location still requires
16621 more work.
16622
16623 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16624 with "(,", fill the boot drive in between those two characters, but
16625 expect that a full partition specification including partition map
16626 names will follow.
16627 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16628 specified, write a prefix without the drive name but including a
16629 full partition specification.
16630
044e2e60
CW
166312010-06-16 Colin Watson <cjwatson@ubuntu.com>
16632
16633 * util/grub-mkconfig.in: Ignore non-option arguments, for
16634 compatibility with older versions (before 2010-06-12) which did the
16635 same. In particular, this makes it easier to ship an update-grub
16636 wrapper which is compatible with that used with GRUB Legacy (Debian
16637 bug #586056).
16638
5591324f
GS
166392010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16640
16641 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16642 for manual page generation.
16643
662e24d5
GS
166442010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16645
16646 * po/POTFILES: Remove leftover commands/handler.c.
16647
8d70754e
CW
166482010-06-14 Colin Watson <cjwatson@ubuntu.com>
16649
16650 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16651 left this script non-functional.
16652
41160e2e
CW
166532010-06-14 Colin Watson <cjwatson@ubuntu.com>
16654
16655 * docs/man/grub-emu.h2m: New file.
16656
b5309cc1
CW
166572010-06-13 Colin Watson <cjwatson@ubuntu.com>
16658
16659 * docs/grub.texi (Commands): Document reduced command set in rescue
16660 mode.
16661 (cpuid): New section.
16662
fcb2d090
GS
166632010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16664
16665 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16666 new partition naming style.
16667 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16668
96e5c556
BC
166692010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16670
16671 Add "-o grub.iso" like cmdline options support.
16672
16673 * util/grub-install.in: Improve cmdline option parsing.
16674 * util/grub-mkconfig.in: Likewise.
16675 * util/grub-mkrescue.in: Likewise.
16676 * util/grub-reboot.in: Likewise.
16677 * util/grub-set-default.in: Likewise.
16678 * util/i386/efi/grub-install.in: Likewise.
16679 * util/ieee1275/grub-install.in: Likewise.
16680 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16681
c16be99b
CW
166822010-06-12 Colin Watson <cjwatson@ubuntu.com>
16683
16684 * .bzrignore: Ignore 41_custom.
16685
ce08a9fb
TS
166862010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16687
16688 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16689
7beac90c
CW
166902010-06-12 Colin Watson <cjwatson@ubuntu.com>
16691
16692 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16693 prototype declarations.
16694
16695 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16696 generating fs, partmap, and video lists.
16697 * include/grub/fs.h (grub_fs_register): Omit prototype if
16698 GRUB_LST_GENERATOR is defined.
16699 * include/grub/partition.h (grub_partition_map_register): Likewise.
16700 * include/grub/video.h (grub_video_register): Likewise.
16701
1c8f0f8d
JM
167022010-06-12 Javier Martín <lordhabbit@gmail.com>
16703
16704 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16705
a6085973
TS
167062010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16707
16708 * util/grub-mkrescue.in: Support --xorriso argument.
16709
25c56d29
VS
167102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16713 Suggested by: Thomas Schmitt.
16714
e03e4b24
VS
167152010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16718 Suggested by: Thomas Schmitt.
16719
57711df6
VS
167202010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 custom.cfg support.
16723
16724 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16725 * util/grub.d/41_custom.in: New file.
16726
ee62c427
CW
167272010-06-12 Colin Watson <cjwatson@ubuntu.com>
16728
16729 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16730 been merged back into normal.
16731
283af07a
CW
167322010-06-11 Colin Watson <cjwatson@ubuntu.com>
16733
16734 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16735 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16736
56a0d956
CW
167372010-06-11 Colin Watson <cjwatson@ubuntu.com>
16738
16739 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16740 when generating manual pages.
16741 * docs/man/grub-bin2h.h2m: New file.
16742 * docs/man/grub-editenv.h2m: New file.
16743 * docs/man/grub-fstest.h2m: New file.
16744 * docs/man/grub-install.h2m: New file.
16745 * docs/man/grub-macho2img.h2m: New file.
16746 * docs/man/grub-mkconfig.h2m: New file.
16747 * docs/man/grub-mkdevicemap.h2m: New file.
16748 * docs/man/grub-mkfont.h2m: New file.
16749 * docs/man/grub-mkimage.h2m: New file.
16750 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16751 * docs/man/grub-mkrelpath.h2m: New file.
16752 * docs/man/grub-mkrescue.h2m: New file.
16753 * docs/man/grub-ofpathname.h2m: New file.
16754 * docs/man/grub-pe2elf.h2m: New file.
16755 * docs/man/grub-probe.h2m: New file.
16756 * docs/man/grub-reboot.h2m: New file.
16757 * docs/man/grub-script-check.h2m: New file.
16758 * docs/man/grub-set-default.h2m: New file.
16759 * docs/man/grub-setup.h2m: New file.
16760
3a37e322
VS
167612010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 Use FOR_* macros instead of *_iterate whenever possible.
16764
16765 * commands/handler.c: Removed.
16766 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16767 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16768 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16769 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16770 (grub_probe_SOURCES): Remove kern/parser.c.
16771 (util/grub-script-check.c_DEPENDENCIES): Removed.
16772 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16773 and grub_script_check_init.c.
16774 (grub_script_check_init.lst): Removed.
16775 (grub_script_check_init.h): Likewise.
16776 (grub_script_check_init.c): Likewise.
16777 (pkglib_MODULES): Remove handler.mod and sh.mod.
16778 (handler_mod_SOURCES): Removed.
16779 (handler_mod_CFLAGS): Likewise.
16780 (handler_mod_LDFLAGS): Likewise.
16781 (normal_mod_SOURCES): Remove normal/handler.c.
16782 Add script/main.c, script/script.c, script/execute.c,
16783 script/function.c, script/lexer.c, grub_script.tab.c
16784 and grub_script.yy.c.
16785 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16786 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16787 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16788 (grub_setup_SOURCES): Remove kern/parser.c.
16789 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16790 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16791 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16792 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16793 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16794 (grub_setup_SOURCES): Remove kern/parser.c.
16795 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16796 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16797 * include/grub/command.h (grub_command_iterate): Removed.
16798 (FOR_COMMANDS): New macro.
16799 * include/grub/dl.h (grub_dl): New member next.
16800 (grub_dl_iterate): Removed.
16801 (grub_dl_head): New variable declaration.
16802 (FOR_DL_MODULES): New macro.
16803 * include/grub/fs.h: Include list.h.
16804 (grub_fs): Make next first element.
16805 (grub_fs_list): New variable declaration.
16806 (grub_fs_register): Make inline.
16807 (grub_fs_unregister): Likewise.
16808 (grub_fs_iterate): Removed.
16809 (FOR_FILESYSTEMS): New macro.
16810 * include/grub/handler.h: Removed.
16811 * include/grub/list.h (grub_list_hook_t): Removed.
16812 (grub_list_test_t): Likewise.
16813 (grub_list_pop): Likewise.
16814 (grub_list_iterate): Likewise.
16815 (grub_list_insert): Likewise.
16816 (FOR_LIST_ELEMENTS): New macro.
16817 * include/grub/parser.h (grub_parser_class): Removed.
16818 (grub_parser_register): Likewise.
16819 (grub_parser_unregister): Likewise.
16820 (grub_parser_get_current): Likewise.
16821 (grub_parser_set_current): Likewise.
16822 (grub_register_rescue_parser): Likewise.
16823 (grub_rescue_parse_line): New function.
16824 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16825 * include/grub/script_sh.h (grub_script_function_list): New variable
16826 declaration.
16827 (FOR_SCRIPT_FUNCTIONS): New macro.
16828 (grub_script_function_iterate): Removed.
16829 (grub_normal_parse_line): New prototype.
16830 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16831 (FOR_DISABLED_TERM_INPUTS): Likewise.
16832 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16833 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16834 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16835 element.
16836 (grub_video_register): Inline.
16837 (grub_video_unregister): Likewise.
16838 (grub_video_adapter_list): New variable declaration.
16839 (grub_video_iterate): Removed.
16840 (FOR_VIDEO_ADAPTERS): New macro.
16841 * kern/dl.c (grub_dl_list): Removed. All users updated.
16842 (grub_dl_iterate): Removed.
16843 * kern/fs.c (grub_fs_list): Make global.
16844 (grub_fs_register): Removed.
16845 (grub_fs_unregister): Likewise.
16846 (grub_fs_iterate): Likewise.
16847 * kern/handler.c: Removed.
16848 * kern/list.c (grub_list_pop): Removed.
16849 (grub_list_iterate): Likewise.
16850 (grub_list_insert): Likewise.
16851 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16852 (grub_prio_list_insert): Don't use grub_list_insert.
16853 * kern/main.c (grub_register_rescue_parser): Don't call
16854 grub_register_rescue_parser.
16855 * kern/parser.c (grub_parser_class): Removed.
16856 (grub_parser_execute): Use grub_rescue_parse_line.
16857 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16858 (grub_rescue_parser): Removed.
16859 (grub_register_rescue_parser): Likewise.
16860 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16861 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16862 (grub_auth_check_authentication): Likewise.
16863 * normal/completion.c (iterate_command): Removed.
16864 (grub_normal_do_completion): Use FOR_COMMANDS.
16865 * normal/handler.c: Removed.
16866 * normal/main.c (read_config_file): Remove parser changing.
16867 (grub_normal_execute): Don't call read_handler_list.
16868 (grub_normal_read_line_real): Statically allocate prompt.
16869 (grub_cmdline_run): Use grub_normal_parse_line.
16870 (GRUB_MOD_FINI): Don't call free_handler_list.
16871 * normal/menu_entry.c (run): Likewise.
16872 * script/function.c (grub_script_function_list): Make global.
16873 (grub_script_function_iterate): Removed.
16874 * script/main.c (grub_normal_parse_line): Make global.
16875 (grub_sh_parser): Removed.
16876 (GRUB_MOD_INIT): Likewise.
16877 (GRUB_MOD_FINI): Likewise.
16878 * tests/lib/functional_test.c (grub_functional_test): Use
16879 FOR_LIST_ELEMENTS.
16880 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16881 (grub_test_run): Use FOR_LIST_ELEMENTS.
16882 * tests/lib/unit_test.c (main): Likewise.
16883 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16884 grub_list_pop.
16885 * util/grub-fstest.c (grub_term_input_class): Removed.
16886 (grub_term_output_class): Likewise.
16887 * util/grub-probe.c: Likewise.
16888 * util/i386/pc/grub-setup.c: Likewise.
16889 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16890 * util/grub-script-check.c (main): Don't call grub_init_all and
16891 grub_fini_all.
16892 * video/video.c (grub_video_adapter_list): Make global.
16893 (grub_video_register): Removed.
16894 (grub_video_unregister): Likewise.
16895 (grub_video_iterate): Likewise.
16896
6289c3a7
VS
168972010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16900 reported by Henrique Ferreiro.
16901
91460247
RM
169022010-06-09 Robert Millan <rmh@gnu.org>
16903
16904 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16905 ones, when both are available.
16906
0ea7c4f9
GS
169072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16908
16909 Make --version uniform and avoid hard-coded program name.
16910
16911 * util/grub-mkimage.c (main): Use `program_name' instead of
16912 hard-coded string.
16913 * util/i386/pc/grub-setup.c (main): Likewise.
16914 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16915 * util/grub-install.in: Save the basename of $0 in $self, and use the
16916 latter in informational messages. Use the same format for --version
16917 as the binary programs.
16918 * util/grub-mkconfig.in: Likewise.
16919 * util/grub-mkrescue.in: Likewise.
16920 * util/grub-reboot.in: Likewise.
16921 * util/grub-set-default.in: Likewise.
16922 * util/i386/efi/grub-install.in: Likewise.
16923 * util/ieee1275/grub-install.in: Likewise.
16924 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16925
e8a6f3b6
GS
169262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16927
16928 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16929 embedding area. Use <= instead of == when checking for non-emptiness.
16930
f4d095d7
GS
169312010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16932
16933 * configure.ac: Add `.' to the directories searched for unifont.
16934
50e532ca
CW
169352010-06-08 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16938 grub_script.yy.h.
16939
d39f3dec
CW
169402010-06-08 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * docs/grub.texi (History): Expand to cover GRUB 2.
16943 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16944 commands, not `terminal'.
16945 (serial): Likewise.
16946 (terminal_input): New section.
16947 (terminal_output): New section.
16948 (uppermem): New section (stub).
16949 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16950
6ef0ddb4
CW
169512010-06-08 Colin Watson <cjwatson@ubuntu.com>
16952
16953 * docs/grub.texi (Security): Menu entries are unrestricted by
16954 default, not restricted to superusers as I had previously thought.
16955 Reword to account for this.
16956
e0f4c438
CW
169572010-06-07 Colin Watson <cjwatson@ubuntu.com>
16958
16959 * kern/emu/misc.c (device_mapper_null_log): New function.
16960 (grub_device_mapper_supported): New function.
16961 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16962 prototype.
16963 * kern/emu/hostdisk.c (find_partition_start): Check whether
16964 device-mapper is supported before trying to use it.
16965 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16966
da908200
CW
169672010-06-07 Colin Watson <cjwatson@ubuntu.com>
16968
16969 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16970 (File name syntax): Likewise.
16971 (help): --all is no longer supported in GRUB 2. Be more precise
16972 about pattern matching.
16973
fb55c3ac
CW
169742010-06-07 Colin Watson <cjwatson@ubuntu.com>
16975
16976 * normal/completion.c (grub_normal_do_completion): When completing
16977 arguments to "set" and the current word contains an equals sign,
16978 skip to after the equals sign before starting completion.
16979
258c2573
CW
169802010-06-07 Colin Watson <cjwatson@ubuntu.com>
16981
16982 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16983
ee75515e
CW
169842010-06-07 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * docs/grub.texi (Network): New section.
16987 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16988 `(nd)' as in GRUB Legacy.
16989 (pxe_unload): New section.
16990
a6a700aa
CW
169912010-06-07 Colin Watson <cjwatson@ubuntu.com>
16992
16993 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16994 in the rescue shell, so recommend using `set' instead. Thanks,
16995 Jordan Uggla.
16996
4003dd38
CW
169972010-06-07 Colin Watson <cjwatson@ubuntu.com>
16998
16999 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17000 (password): New section.
17001 (password_pbkdf2): New section.
17002 (search): New section.
17003 (Security): New section.
17004 (Troubleshooting): New section, currently very incomplete.
17005 (Invoking grub-mkpasswd-pbkdf2): New section.
17006 (Internals): New section, currently very incomplete.
17007
e1cbcc40
CW
170082010-06-07 Colin Watson <cjwatson@ubuntu.com>
17009
17010 * util/grub.d/00_header.in: Add some more quoting (of
17011 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17012 work again.
17013 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17014
db8fa1ad
CW
170152010-06-07 Colin Watson <cjwatson@ubuntu.com>
17016
17017 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17018 to `count', fixing variable shadowing that broke the -c option.
17019
170202010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17021
17022 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17023 in case they contain spaces.
17024
f28a9212
CW
170252010-06-04 Colin Watson <cjwatson@ubuntu.com>
17026
17027 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17028 "part_" to partmap module names, in line with grub-install.
17029 Reported by: Jindřich Makovička (Debian bug #584426).
17030
9cdfe32f
CW
170312010-06-04 Colin Watson <cjwatson@ubuntu.com>
17032
17033 * util/grub-mkimage.c: Make target-related error messages slightly
17034 more helpful; -O talks about "format". Explicitly point to the use
17035 of -O if no target is specified.
17036 Reported by: Didier Raboud (Debian bug #584415).
17037
795b593a
CW
170382010-06-03 Colin Watson <cjwatson@ubuntu.com>
17039
17040 * INSTALL: Document several build requirements for optional features
17041 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17042
9d9b5833
GS
170432010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17044
17045 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17046 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17047 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17048
0819fec8
CW
170492010-06-02 Colin Watson <cjwatson@ubuntu.com>
17050
17051 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17052 Thanks to Jordan Uggla for spotting this.
17053
49396b4f
VS
170542010-06-02 Aleš Nesrsta <starous@volny.cz>
17055
17056 Finally make USB usable.
17057
17058 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17059 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17060 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17061 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17062 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17063 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17064 (GRUB_OHCI_FSMPS): Likewise.
17065 (GRUB_OHCI_PERIODIC_START): Likewise.
17066 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17067 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17068 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17069 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17070 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17071 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17072 (grub_ohci_transaction): Likewise.
17073 (grub_ohci_transfer): Improve condition detection algorithms.
17074 Handle toggle property. Program the transactions correctly.
17075 Improve error handling. Various important fixups.
17076 (grub_ohci_portstatus): Put register writes in right order.
17077 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17078 (grub_uhci_transfer): Don't show "failed" message on success.
17079 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17080 array.
17081 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17082 determine its size.
17083 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17084 before initialization is completed. Use IN direction for empty
17085 transfers. Use last_trans and compute toggle.
17086 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17087 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17088 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17089 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17090 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17091 (grub_usb_device): Increase toggle to 256.
17092 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17093 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17094 GRUB_USBMS_SUBCLASS_SFF8070.
17095 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17096 (grub_scsi_inquiry): New member page and alloc_length.
17097 (grub_scsi_request_sense): New structure.
17098 (grub_scsi_request_sense_data): Likewise.
17099 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17100 control.
17101 * disk/scsi.c (grub_scsi_request_sense): New function.
17102 (grub_scsi_test_unit_ready): Likewise.
17103 (grub_scsi_inquiry): Fill new fields.
17104 (grub_scsi_read_capacity): Likewise.
17105 (grub_scsi_read10): Add request sense at the end.
17106 (grub_scsi_read12): Likewise.
17107 (grub_scsi_write10): Likewise.
17108 (grub_scsi_write12): Likewise.
17109 (grub_scsi_open): Add Test Unit Ready.
17110 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17111 Support additional subclasses. Con't clear halt yet. Activate the
17112 proper config. Calculate LUNs correctly.
17113 (grub_usbms_transfer): Various important fixups.
17114
171152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17118 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17119 (grub_ohci_fini_hw): New function.
17120 (grub_ohci_restore_hw): Likewise.
17121 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17122 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17123 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17124
171252010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 Dedicated DMA allocations.
17128
17129 * bus/pci.c (grub_memalign_dma32): New function
17130 (grub_dma_free): Likewise.
17131 (grub_dma_get_virt): Likewise.
17132 (grub_dma_get_phys): Likewise.
17133 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17134 (grub_ohci_pci_iter): Use dma32_alloc.
17135 (grub_ohci_transfer): Likewise.
17136 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17137 (grub_usb_bulk_readwrite): Likewise.
17138 * include/grub/pci.h: Add declarations.
17139
171402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 CS5536 support.
17143
17144 * bus/cs5536.c: New file.
17145 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17146 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17147 (cs5536_mod_SOURCES): New variable.
17148 (cs5536_mod_CFLAGS): Likewise.
17149 (cs5536_mod_LDFLAGS): Likewise.
17150 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17151 machine/pci.h.
17152 (kernel_img_SOURCES): Add bus/cs5536.c.
17153 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17154 usb_keyboard.mod.
17155 (usb_mod_SOURCES): New variable.
17156 (usb_mod_CFLAGS): New variable.
17157 (usb_mod_LDFLAGS): New variable.
17158 (usbtest_mod_SOURCES): New variable.
17159 (usbtest_mod_CFLAGS): New variable.
17160 (usbtest_mod_LDFLAGS): New variable.
17161 (ohci_mod_SOURCES): New variable.
17162 (ohci_mod_CFLAGS): New variable.
17163 (ohci_mod_LDFLAGS): New variable.
17164 (usbms_mod_SOURCES): New variable.
17165 (usbms_mod_CFLAGS): New variable.
17166 (usbms_mod_LDFLAGS): New variable.
17167 (usb_keyboard_mod_SOURCES): New variable.
17168 (usb_keyboard_mod_CFLAGS): New variable.
17169 (usb_keyboard_mod_LDFLAGS): New variable.
17170 * include/grub/smbus.h: New file.
17171 * include/grub/cs5536.h: New file.
17172
0b35b2a9
CW
171732010-06-02 Colin Watson <cjwatson@ubuntu.com>
17174
17175 * util/grub.d/00_header.in: Add safety check to make sure that
17176 ${locale_dir} exists before trying to probe it.
17177
ca0afd5b
CW
171782010-06-02 Colin Watson <cjwatson@ubuntu.com>
17179
17180 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17181 per the GNU Coding Standards; this is now too obscure to be worth
17182 documenting.
17183 (QNX): Likewise.
17184 (chainloader): Remove cross-reference to `SCO UnixWare'.
17185
1c41aa78
CW
171862010-06-02 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * docs/grub.texi (Chain-loading): New section.
17189 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17190 adjusted for GRUB 2.
17191 (SCO UnixWare): Likewise.
17192 (QNX): Likewise.
17193 (chainloader): Add reference to `Block list syntax'.
17194 (drivemap): New section.
17195 (parttool): New section.
17196
bb8ea0f5
CW
171972010-06-02 Colin Watson <cjwatson@ubuntu.com>
17198
17199 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17200 the grub shell'.
17201 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17202 (Installing GRUB using grub-install): Remove reference to the grub
17203 shell; mention `grub-mkimage' and `grub-setup' instead.
17204 (Invoking grub-install): Likewise.
17205 (Interface): Add reference to `Menu entry editor'.
17206 (serial): Remove `--device' option.
17207
288dd6ed
CW
172082010-06-02 Colin Watson <cjwatson@ubuntu.com>
17209
17210 * docs/grub.texi (Configuration): New section, documenting
17211 configuration file generation using grub-mkconfig. I've left a slot
17212 for documenting the full shell scripting format but have not yet
17213 started on writing that up.
17214 (Invoking grub-mkconfig): New section.
17215
34c9f0e9
CW
172162010-06-02 Colin Watson <cjwatson@ubuntu.com>
17217
17218 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17219 (GNU GRUB manual): Likewise.
17220 (General commands): Update description of `terminfo' for GRUB 2.
17221
9121567e
CW
172222010-06-02 Colin Watson <cjwatson@ubuntu.com>
17223
17224 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17225 (GRUB_MOD_INIT): Fix capitalisation.
17226 * docs/grub.texi (Command-line and menu entry commands): Document
17227 gettext and gptsync commands.
17228
ab631611
CW
172292010-06-02 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17232 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17233
bde4a9ac
CW
172342010-06-01 Colin Watson <cjwatson@ubuntu.com>
17235
17236 Add btrfs probing support, currently only in the single-device case.
17237
17238 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17239 function.
17240 (grub_guess_root_device): Call find_root_device_from_mountinfo
17241 before looking in /dev.
17242
b1d17e10
VS
172432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17246 GRUB_DISK_SIZE_UNKNOWN.
17247 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17248
dfbfe004
JS
172492010-05-31 Jiro SEKIBA <jir@unicus.jp>
17250
17251 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17252 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17253 corrupted or not synced properly.
17254
c2ffc8e9
VS
172552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17258 Reported by: Seth Goldberg.
17259
56293166
VS
172602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17263 addition of dest.
17264 Reported by: Seth Goldberg.
17265
7620e7de
VS
172662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17269 Reported by: Seth Goldberg.
17270
c837af3f
VS
172712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17274 64-bit address as signed on MIPS.
17275
c7c75cf4
CW
172762010-05-28 Colin Watson <cjwatson@ubuntu.com>
17277
17278 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17279 to the empty string.
17280
fa4b8490
BC
172812010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17282
17283 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17284
17285 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17286 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17287 * kern/misc.c (__enable_execute_stack): Disable on
17288 GRUB_MACHINE_EMU.
17289
a33075b9
CW
172902010-05-28 Colin Watson <cjwatson@ubuntu.com>
17291
17292 Make grub-probe work with symbolic links under /dev/mapper as well
17293 as with real block devices. The Linux world seems to be (at best)
17294 in transition here, and GRUB shouldn't get caught in the middle.
17295
17296 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17297 /dev/mapper.
17298
d8708134
CW
172992010-05-27 Colin Watson <cjwatson@ubuntu.com>
17300
17301 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17302 input files (in which case exit zero).
17303
db2102a0
CW
173042010-05-27 Colin Watson <cjwatson@ubuntu.com>
17305
17306 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17307 return NULL for various reasons even if it has a maximum-length
17308 buffer: for example, there might be a symlink loop, or the path
17309 might exceed PATH_MAX. If this happens, return NULL.
17310
5fdba519
RM
173112010-05-27 Robert Millan <rmh@gnu.org>
17312
17313 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17314 partmap module to handle cross-partmap setups.
17315 Reported by Orestes Mas. Gràcies!
17316
d1d368e4
CW
173172010-05-27 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * util/grub-mkrescue.in: Initialise override_dir rather than
17320 assuming that it's unset or empty in the environment.
17321
95ac3c73
GS
173222010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17323
17324 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17325 variable index into p_index to suppress a warning with -Wshadow.
17326
7d8c0213
BC
173272010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17328
17329 * INSTALL: Added flex >= 2.5.35 requirement.
17330
db4d5813
VS
173312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17334
f24f4300
VS
173352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 cmostest support.
17338
17339 * commands/i386/cmostest.c: New file.
17340 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17341 (cmostest_mod_SOURCES): New variable.
17342 (cmostest_mod_CFLAGS): Likewise.
17343 (cmostest_mod_LDFLAGS): Likewise.
17344 * conf/i386-pc.rmk: Likewise.
17345 * docs/grub.texi (Vendor power-on keys): New section.
17346 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17347 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17348 and GRUB_BUTTON_CMOS_ADDRESS.
17349 * util/grub.d/00_header.in: Handle powering-on by separate button.
17350
ad603f61
VS
173512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17354 Removed drawing_scrollbar argument. All users updated
17355 Fixes #29792.
17356 Reported by Jo Shields
17357
3ecb080a
VS
173582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17361 buffer since gfxterm handles double repaint.
17362
5f2316c1
VS
173632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17366 * term/gfxterm.c (real_scroll): Likewise.
17367
9a25f885
VS
173682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17371 before calling BIOS.
17372
39fbb79a
VS
173732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * include/grub/i18n.h: Always enable grub_gettext.
17376
228cfa97
VS
173772010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17380 partition naming style.
17381
21717c8f
CW
173822010-05-21 Colin Watson <cjwatson@ubuntu.com>
17383
17384 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17385 not the first option.
17386
c0f48e65
CW
173872010-05-20 Colin Watson <cjwatson@ubuntu.com>
17388
17389 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17390
96779aec
CW
173912010-05-20 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * util/misc.c: Move inclusion of <limits.h> to ...
17394 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17395
fa9d256e
GS
173962010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17397
17398 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17399 Fix merge error in NetBSD code.
17400 (find_partition_start) [__NetBSD__]: Likewise.
17401
123b7a85
BC
174022010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17403
17404 Fix grub-mkrescue usage unit testing.
17405
17406 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17407
74276c0d
CF
174082010-05-18 Christian Franke <franke@computer.org>
17409
17410 * util/grub.d/10_windows.in: Use path names instead of
17411 drive letters to prevent warning from Cygwin 1.7.
17412 Add drivemap command to menuentry if needed.
17413
c4f7b523
ST
174142010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17415
17416 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17417 gnumach and gnumach.gz.
17418
95b97950
VS
174192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * include/grub/i18n.h (gettext): Inline instead of using #define.
17422 (grub_gettext): Likewise.
17423 (_): Likewise.
17424
01b8d2d7
VS
174252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17428 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17429 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17430 (main): Add a slash after pkglibdirroot.
17431
654e1d1e
VS
174322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * util/grub-install.in: Add missing "in" keyword.
17435
26966aeb
VS
174362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17439 Reported by: Seth Goldberg.
17440
75006747
VS
174412010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17444
74cbf5bd
CW
174452010-05-18 Colin Watson <cjwatson@ubuntu.com>
17446
17447 * configure.ac: Check for Linux device-mapper support.
17448
17449 * util/hostdisk.c (device_is_mapped): New function.
17450 (find_partition_start): New function, partly broken out from
17451 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17452 device-mapper support added.
17453 (linux_find_partition): Use find_partition_start.
17454 (convert_system_partition_to_system_disk): Add `st' argument.
17455 Support Linux /dev/mapper/* devices if device-mapper support is
17456 available; only DM-RAID devices are understood at present.
17457 (find_system_device): Add `st' argument. Pass it to
17458 convert_system_partition_to_system_disk.
17459 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17460 find_system_device and convert_system_partition_to_system_disk. Use
17461 find_partition_start.
17462
17463 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17464 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17465 * util/deviceiter.c [__linux__]: Define MINOR.
17466 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17467 * util/mkdevicemap.c (grub_putchar): New function.
17468 (grub_getkey): New function.
17469 (grub_refresh): New function.
17470 (main): Set debug=all if -v -v is used.
17471
355b51e9
CW
174722010-05-18 Colin Watson <cjwatson@ubuntu.com>
17473
17474 Fix build with non-GNU libcs.
17475
17476 * util/misc.c (canonicalize_file_name): Move to ...
17477 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17478 grub_make_system_path_relative_to_its_root.
17479
7fb5c25f
CW
174802010-05-18 Colin Watson <cjwatson@ubuntu.com>
17481
17482 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17483 we handle finding grub-mkimage. Default to finding grub-mkimage in
17484 ${bindir} with program_transform_name applied, and provide a
17485 --grub-mkimage option to override this.
17486
1d3293d6
VS
174872010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 Remove grub-mkisofs.
17490
17491 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17492 (grub_mkisofs_SOURCES): Removed.
17493 (grub_mkisofs_CFLAGS): Removed.
17494 * util/mkisofs/defaults.h: Removed.
17495 * util/mkisofs/eltorito.c: Likewise.
17496 * util/mkisofs/exclude.h: Likewise.
17497 * util/mkisofs/hash.c: Likewise.
17498 * util/mkisofs/include/: Likewise.
17499 * util/mkisofs/include/fctldefs.h: Likewise.
17500 * util/mkisofs/include/mconfig.h: Likewise.
17501 * util/mkisofs/include/prototyp.h: Likewise.
17502 * util/mkisofs/include/statdefs.h: Likewise.
17503 * util/mkisofs/iso9660.h: Likewise.
17504 * util/mkisofs/joliet.c: Likewise.
17505 * util/mkisofs/match.c: Likewise.
17506 * util/mkisofs/match.h: Likewise.
17507 * util/mkisofs/mkisofs.c: Likewise.
17508 * util/mkisofs/mkisofs.h: Likewise.
17509 * util/mkisofs/msdos_partition.h: Likewise.
17510 * util/mkisofs/multi.c: Likewise.
17511 * util/mkisofs/name.c: Likewise.
17512 * util/mkisofs/rock.c: Likewise.
17513 * util/mkisofs/tree.c: Likewise.
17514 * util/mkisofs/write.c: Likewise.
17515
5dde9afe
VS
175162010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 Unify grub-mkimage accross platforms.
17519
17520 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17521 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17522 (grub_mkelfimage_SOURCES): Removed.
17523 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17524 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17525 (bin_UTILITIES): Add grub-mkimage.
17526 (grub_mkimage_SOURCES): New variable.
17527 (kernel_img_HEADERS): Remove machine/kernel.h.
17528 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17529 (pkglib_PROGRAMS): Add kernel.img.
17530 (kernel_img_HEADERS): Add machine/kernel.h.
17531 (kernel_img_FORMAT): Removed.
17532 (bin_UTILITIES): Remove grub-mkimage.
17533 (grub_mkimage_SOURCES): Removed.
17534 (grub_mkimage_CFLAGS): Likewise.
17535 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17536 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17537 (pkglib_PROGRAMS): Add kernel.img.
17538 (bin_UTILITIES): Remove grub-mkimage.
17539 (grub_mkimage_SOURCES): Removed.
17540 (grub_mkimage_CFLAGS): Likewise.
17541 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17542 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17543 (pkglib_PROGRAMS): Add kernel.img.
17544 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17545 (pkglib_PROGRAMS): Add kernel.img.
17546 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17547 (grub_mkimage_SOURCES): Removed.
17548 (grub_mkimage_CFLAGS): Likewise.
17549 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17550 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17551 (pkglib_PROGRAMS): Add kernel.img.
17552 (bin_UTILITIES): Remove grub-mkimage.
17553 (grub_mkimage_SOURCES): Removed.
17554 (grub_mkimage_CFLAGS): Likewise.
17555 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17556 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17557 (grub_mkimage_SOURCES): Removed.
17558 (grub_mkimage_CFLAGS): Likewise.
17559 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17560 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17561 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17562 (grub_pe32_optional_header): ... this.
17563 (grub_pe64_optional_header): ... and this. All users updated.
17564 (GRUB_PE32_PE32_MAGIC): Split into ..
17565 (GRUB_PE32_PE32_MAGIC): .. this.
17566 (GRUB_PE32_PE64_MAGIC): .. and this.
17567 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17568 * include/grub/elf.h (PT_GNU_STACK): New definition.
17569 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17570 * include/grub/i386/efi/kernel.h: Likewise.
17571 * include/grub/i386/kernel.h: Likewise.
17572 * include/grub/i386/pc/kernel.h: Likewise.
17573 * include/grub/i386/qemu/boot.h: Likewise.
17574 * include/grub/mips/kernel.h: Likewise.
17575 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17576 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17577 * include/grub/powerpc/kernel.h: Likewise.
17578 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17579 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17580 * include/grub/sparc64/kernel.h: Likewise.
17581 * include/grub/x86_64/efi/kernel.h: Likewise.
17582 * include/grub/x86_64/kernel.h: Likewise.
17583 * include/grub/offsets.h: New file.
17584 * include/grub/kernel.h (grub_module_info): Split into ...
17585 (grub_module_info32): ... this.
17586 (grub_module_info64): ... and this.
17587 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17588 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17589 (grub_boot_blocklist): Moved from here ...
17590 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17591 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17592 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17593 * include/grub/types.h (grub_target_to_host16): Removed.
17594 (grub_target_to_host32): Likewise.
17595 (grub_target_to_host64): Likewise.
17596 (grub_host_to_target16): Likewise.
17597 (grub_host_to_target32): Likewise.
17598 (grub_host_to_target64): Likewise.
17599 (grub_host_to_target_addr): Likewise.
17600
17601 Support grub-mkrescue for efi, coreboot and qemu.
17602
17603 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17604 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17605 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17606 * util/grub-mkrawimage.c: Moved from here ...
17607 * util/grub-mkimage.c: ... here. All users updated.
17608 (ALIGN_ADDR): Use image_target.
17609 (TARGET_NO_FIELD): New const.
17610 (image_target_desc): New type.
17611 (image_targets): New array.
17612 (grub_target_to_host64): Use image_target.
17613 (grub_target_to_host32): Likewise.
17614 (grub_target_to_host16): Likewise.
17615 (grub_host_to_target64): Likewise.
17616 (grub_host_to_target32): Likewise.
17617 (grub_host_to_target16): Likewise.
17618 (grub_host_to_target_addr): Likewise.
17619 (generate_image): Handle multiimage.
17620 (main): Require -O parameter. All users updated.
17621 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17622 util/efi/grub-mkimage.c
17623 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17624 New option --rom-directory.
17625 Use xorriso.
17626 * util/i386/efi/grub-mkimage.c: Removed.
17627 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17628 (grub_target_to_host32): Likewise.
17629 (grub_target_to_host64): Likewise.
17630 (grub_host_to_target16): Likewise.
17631 (grub_host_to_target32): Likewise.
17632 (grub_host_to_target64): Likewise.
17633 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17634 (grub_target_to_host32): Likewise.
17635 (grub_target_to_host64): Likewise.
17636 (grub_host_to_target16): Likewise.
17637 (grub_host_to_target32): Likewise.
17638 (grub_host_to_target64): Likewise.
17639
f4fc97d0
BC
176402010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17641
17642 Source tree is reorganized for emu build.
17643
17644 * include/grub/util/console.h: Move from here...
17645 * include/grub/emu/console.h: ...to here.
17646 * include/grub/util/getroot.h: Move from here...
17647 * include/grub/emu/getroot.h: ...to here.
17648 * include/grub/util/hostdisk.h: Move from here...
17649 * include/grub/emu/hostdisk.h: ...to here.
17650 * util/console.c: Move from here...
17651 * kern/emu/console.c: ...to here.
17652 * util/getroot.c: Move from here...
17653 * kern/emu/getroot.c: ...to here.
17654 * util/grub-emu.c: Move from here...
17655 * kern/emu/main.c: ...to here.
17656 * util/hostdisk.c: Move from here...
17657 * kern/emu/hostdisk.c: ...to here.
17658 * util/hostfs.c: Move from here...
17659 * kern/emu/hostfs.c: ...to here.
17660 * util/mm.c: Move from here...
17661 * kern/emu/mm.c: ...to here.
17662 * util/pci.c: Move from here...
17663 * bus/emu/pci.c: ...to here.
17664 * util/sdl.c: Move from here...
17665 * video/emu/sdl.c: ...to here.
17666 * util/time.c: Move from here...
17667 * kern/emu/time.c: ...to here.
17668 * util/usb.c: Move from here...
17669 * bus/usb/emu/usb.c: ...to here.
17670
17671 * include/grub/emu/misc.h: New header for grub-emu functions.
17672 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17673
17674 * conf/any-emu.rmk: Rule updates for above renames.
17675 * conf/common.rmk: Likewise.
17676 * conf/i386-pc.rmk: Likewise.
17677 * conf/i386-qemu.rmk: Likewise.
17678 * conf/mips.rmk: Likewise.
17679 * conf/sparc64-ieee1275.rmk: Likewise.
17680 * conf/x86-efi.rmk: Likewise.
17681
17682 * disk/lvm.h: #include updates for above renames.
17683 * util/grub-mkrelpath.c: Likewise.
17684 * util/grub-probe.c: Likewise.
17685 * util/i386/pc/grub-setup.c: Likewise.
17686 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17687 * kern/emu/console.c: Likewise.
17688 * kern/emu/getroot.c: Likewise.
17689 * kern/emu/hostdisk.c: Likewise.
17690 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17691
17692 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17693 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17694 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17695 * util/misc.c: Remove grub-emu functions.
17696
cced9145
VS
176972010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 Fix gfxmenu crash.
17700 Reported by: Thorsten Grützmacher.
17701
17702 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17703 timeout hook.
17704 (circprog_set_property): Register and unregister timeout hook.
17705 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17706 (label_destroy): Free template. and unregister hook.
17707 (label_set_state): New function.
17708 (label_set_property): Handle templates and hooks.
17709 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17710 timeout hook.
17711 (progress_bar_set_property): Register and unregister timeout hook.
17712 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17713 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17714 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17715 (update_timeout_visit): Removed.
17716 (update_timeouts): New function.
17717 (redraw_timeouts): Likewise.
17718 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17719 (grub_gfxmenu_clear_timeout): Likewise.
17720 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17721 (grub_gfxmenu_timeout_notify): Likewise.
17722 (grub_gfxmenu_timeout_notifications): New external variable.
17723 (grub_gfxmenu_timeout_register): New function.
17724 (grub_gfxmenu_timeout_unregister): Likewise.
17725
c6e5caab
VS
177262010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 Transform (broken) vga terminal into (working) vga video driver.
17729
17730 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17731 video/i386/pc/vga.c.
17732 * include/grub/video.h (grub_video_driver_id):
17733 Add GRUB_VIDEO_DRIVER_VGA.
17734 * term/i386/pc/vga.c: Renamed to ...
17735 * video/i386/pc/vga.c: ...this
17736 (DEBUG_VGA): Removed.
17737 (CHAR_WIDTH): Likewise.
17738 (CHAR_HEIGHT): Likewise.
17739 (TEXT_WIDTH): Likewise.
17740 (TEXT_HEIGHT): Likewise.
17741 (DEFAULT_FG_COLOR): Likewise.
17742 (DEFAULT_BG_COLOR): Likewise.
17743 (colored_char): Likewise.
17744 (xpos): Likewise.
17745 (ypos): Likewise.
17746 (cursor_state): Likewise.
17747 (fg_color): Likewise.
17748 (bg_color): Likewise.
17749 (text_buf): Likewise.
17750 (page): Likewise.
17751 (font): Likewise.
17752 (framebuffer): New variable.
17753 (set_read_map): Disabled.
17754 (setup): New variable.
17755 (is_target): Likewise.
17756 (grub_vga_mod_init): Likewise.
17757 (grub_vga_mod_fini): Likewise.
17758 (check_vga_mem): Likewise.
17759 (write_char): Likewise.
17760 (write_cursor): Likewise.
17761 (scroll_up): Likewise.
17762 (grub_vga_putchar): Likewise.
17763 (grub_vga_getcharwidth): Likewise.
17764 (grub_vga_getwh): Likewise.
17765 (grub_vga_getxy): Likewise.
17766 (grub_vga_gotoxy): Likewise.
17767 (grub_vga_cls): Likewise.
17768 (grub_vga_setcolorstate): Likewise.
17769 (grub_vga_setcursor): Likewise.
17770 (grub_video_vga_init): New function.
17771 (grub_video_vga_setup): Likewise.
17772 (grub_video_vga_fini): Likewise.
17773 (update_target): Likewise.
17774 (grub_video_vga_blit_bitmap): Likewise.
17775 (grub_video_vga_blit_render_target): Likewise.
17776 (grub_video_vga_set_active_render_target): Likewise.
17777 (grub_video_vga_get_active_render_target): Likewise.
17778 (grub_video_vga_swap_buffers): Likewise.
17779 (grub_video_vga_set_palette): Likewise.
17780 (grub_video_vga_get_info_and_fini): Likewise.
17781 (grub_vga_term): Removed.
17782 (grub_video_vga_adapter): New variable.
17783 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17784 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17785
2bf61a98
VS
177862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * video/readers/jpeg.c: Indented.
17789
09ddcd11
VS
177902010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 Various jpeg cleanups.
17793
17794 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17795 (grub_jpeg_decode_quan_table): Use sizeof.
17796 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17797
e5507505
PH
177982010-05-05 Peter Hurley <No e-mail available> (tiny change)
17799
17800 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17801 tables. Ignore non-last ac bit.
17802 (grub_jpeg_decode_quan_table): Likewise.
17803
7e720a9b
VS
178042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17807 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17808 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17809 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17810 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17811 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17812
a7fc080b
VS
178132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17816 error.
17817
2bf6012d
VS
178182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17821
265d68cd
VS
178222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17825 condition.
17826
178272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17828
17829 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17830 part.
17831
265d68cd 178322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17833
17834 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17835 pointers.
17836
265d68cd 178372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17838
17839 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17840
d1b61374
CF
178412010-05-01 Christian Franke <franke@computer.org>
17842
17843 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17844 Remove broken Cygwin path conversion.
17845 * util/misc.c: [__CYGWIN__] Add include and define.
17846 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17847 for Cygwin 1.7.
17848 (make_system_path_relative_to_its_root): Simplify loop, replace early
17849 return by break.
17850 [__CYGWIN__] Add conversion to win32 path.
17851 Include "/" case in trailing slash removal.
17852
3558c6e9
VS
178532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17856 Reported by: Seth Goldberg
17857
f5f3ff93
VS
178582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * commands/help.c (grub_cmd_help): Fix a typo.
17861 Reported by: Seth Goldberg
17862
d8b5cd40
VS
178632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17866 name and add N_.
17867 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17868 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17869 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17870 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17871 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17872 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17873 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17874 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17875 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17876 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17877 * normal/context.c (GRUB_MOD_INIT): Likewise.
17878 * normal/main.c (GRUB_MOD_INIT): Likewise.
17879 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17880 * term/serial.c (GRUB_MOD_INIT): Likewise.
17881 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17882
88c14915
VS
178832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17886 extra == 0.
17887
165134bc
VS
178882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 * commands/iorw.c: New file.
17891 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17892 (iorw_mod_SOURCES): New variable.
17893 (iorw_mod_CFLAGS): Likewise.
17894 (iorw_mod_LDFLAGS): Likewise.
17895
c5ac9b32
VS
178962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 Hotkey support
17899
17900 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17901 * normal/main.c (hotkey_aliases): New variable.
17902 (grub_normal_add_menu_entry): Parse "--hotkey".
17903 * normal/menu_text.c (run_menu): Handle hotkeys.
17904
ce60689c
VS
179052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * kern/i386/coreboot/init.c (grub_machine_init): Call
17908 grub_machine_mmap_init on qemu.
17909
0359d006
VS
179102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * boot/i386/qemu/boot.S: Add a missing .code16.
17913
7819a456
VS
179142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 Use LBIO on coreboot.
17917
17918 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17919 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17920 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17921 New declaration.
17922 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17923 grub_machine_mmap_init on coreboot.
17924 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17925 GRUB_LINUXBIOS_MEMBER_LINK.
17926 (grub_machine_mmap_iterate): Fix declaration.
17927 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17928
7210dca9
VS
179292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 Split coreboot and multiboot ports.
17932
17933 * conf/i386-multiboot.rmk: New file.
17934 * configure.ac: Add multiboot port.
17935 * include/grub/i386/multiboot/boot.h: New file.
17936 * include/grub/i386/multiboot/console.h: Likewise.
17937 * include/grub/i386/multiboot/init.h: Likewise.
17938 * include/grub/i386/multiboot/kernel.h: Likewise.
17939 * include/grub/i386/multiboot/loader.h: Likewise.
17940 * include/grub/i386/multiboot/memory.h: Likewise.
17941 * include/grub/i386/multiboot/serial.h: Likewise.
17942 * include/grub/i386/multiboot/time.h: Likewise.
17943 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17944 * loader/multiboot.c: Likewise.
17945 * loader/multiboot_mbi2.c: Likewise.
17946 * util/grub-mkrescue.in: Generate multiboot rescue.
17947
6f8aaf68
VS
179482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17949
3080f7a7
VS
17950 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17951
179522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17955
17956 * commands/terminal.c (abstract_terminal): New struct.
17957 (handle_command): New function. Based on grub_cmd_terminal_input.
17958 (grub_cmd_terminal_input): Use handle_command.
17959 (grub_cmd_terminal_output): Use handle_command.
17960
a8ebb841
BC
179612010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17962
17963 Fix comment handling.
17964
17965 * tests/grub_script_comments.in: New testcase.
17966 * conf/tests.rmk: Rules for new testcase.
17967 * script/yylex.l: Updated flex rules.
17968
bb06ba08
ST
179692010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17970
17971 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17972 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17973 if argc is 1.
bb06ba08 17974
cc9d2425
VS
179752010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17978 autogen issues.
17979
460d8402
CF
179802010-04-26 Christian Franke <franke@computer.org>
17981
17982 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17983 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17984 (grub_get_prefix): Remove function.
17985 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17986 make_system_path_relative_to_its_root ().
17987 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17988
553c01f9
CF
179892010-04-24 Christian Franke <franke@computer.org>
17990
17991 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17992 (kernel_img_LDFLAGS): Remove -static-libgcc.
17993
2aec1692
CF
179942010-04-24 Christian Franke <franke@computer.org>
17995
17996 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17997 and CHECK_END_SYMBOL if grub-emu is built.
17998 Unset TARGET_OBJ2ELF if grub-emu is built
17999 without module support.
18000
f67dc308
JS
180012010-04-24 Jiro SEKIBA <jir@unicus.jp>
18002
18003 Nilfs2 support.
18004
18005 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18006 (grub_fstest_SOURCES): Likewise.
18007 (pkglib_MODULES): Add nilfs2.mod.
18008 (nilfs2_mod_SOURCES): New variable.
18009 (nilfs2_mod_CFLAGS): Likewise.
18010 (nilfs2_mod_LDFLAGS): Likewise.
18011 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18012 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18013 * fs/nilfs2.c: New file.
18014
4ba8d354
VS
180152010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18018 is not supported.
18019
0d2c20c6
GS
180202010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18021
18022 Add grub-mkconfig support for NetBSD.
18023
18024 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18025 * util/grub-mkconfig.in: export new NetBSD specific variables.
18026 * po/POTFILES-shell: added 10_netbsd.in.
18027 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18028
bc4a2d83
BC
180292010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18030
18031 Fix emu build with grub-emu-pci and grub-emu-modules.
18032
18033 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18034 functions.
18035 * include/grub/libpciaccess.h: New file.
18036 * conf/any-emu.rmk: Update kernel headers for emu build.
18037
f48c87aa
VS
180382010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18041
18959385
VS
180422010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18045
0037de3f
VS
180462010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18049 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18050 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18051 util/ieee1275/ofpath.c.
18052 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18053 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18054 * include/grub/sparc64/ieee1275/boot.h
18055 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18056 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18057 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18058 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18059 const char *.
18060 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18061 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18062 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18063 install.
18064
38e55e90
GS
180652010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18066
18067 * util/grub-mkconfig.in: Corrected two == equality tests.
18068 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18069 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18070 expect a number appended to it.
18071 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18072 expects a number appended to it.
18073
a9e6ff28
VS
180742010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18077
0b830b8f
VS
180782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18079
18080 * util/hostdisk.c (make_device_name): Change to new partition naming.
18081
0973daeb
VS
180822010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18085
460d8402 180862010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18087
18088 * Makefile.in: Add missing localedir setting.
18089
0b456309
CW
180902010-04-14 Colin Watson <cjwatson@ubuntu.com>
18091
18092 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18093 mistake in r2156. Noticed by Anthony Fok.
18094
18095 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18096 @localedir@.
18097 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18098
08f46d62
BC
180992010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18100
18101 Fix a spurious, uninitialized variable warning.
18102
18103 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18104 Initialize variable, shdr.
18105 (grub_freebsd_load_elfmodule): Likewise.
18106 (grub_freebsd_load_elf_meta): Likewise.
18107
8c4a72d4
BC
181082010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18109
18110 Fix for escaped dollar in double quoted strings.
18111
18112 * script/yylex.l: Updated flex rules.
18113 * conf/tests.rmk: Rule for new testcase.
18114 * tests/grub_script_dollar.in: New testcase.
18115
ce44826e
CPE
181162010-04-13 Carles Pina i Estany <carles@pina.cat>
181172010-04-13 Colin Watson <cjwatson@ubuntu.com>
18118
18119 Enclose all translated strings in grub.cfg in single quotes, and
18120 escape them appropriately (Ubuntu bug #552921).
18121
18122 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18123 * util/grub.d/10_hurd.in: Use it.
18124 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18125 * util/grub.d/10_linux.in (linux_entry): Likewise.
18126
4b0cd8f8
VS
181272010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 Fix cygwin compilation.
18130
18131 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18132 * include/grub/misc.h (__register_frame_info)
18133 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18134 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18135 * kern/misc.c (__register_frame_info)
18136 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18137 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18138
01fcf061
VS
181392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18142
5d04b11e
VS
181432010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 Unify libgcc processing.
18146
18147 * Makefile.in (kernel_img_LDFLAGS): New variable.
18148 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18149 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18150 overwriting.
18151 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18152 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18153 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18154 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18155 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18156 overwriting. Remove -lgcc and -static-libgcc
18157 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18158 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18159 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18160 (kernel_img_LDFLAGS): Append instead of overwriting.
18161 Remove -lgcc and -static-libgcc
18162 * conf/sparc64-ieee1275.rmk: Likewise.
18163 * include/grub/powerpc/libgcc.h: Move to ...
18164 * include/grub/libgcc.h: .. this.
18165 * include/grub/libgcc.h: Don't export most of the function on x86.
18166 (__bswapsi2): New export.
18167 (__bswapdi2): Likewise.
18168 * include/grub/mips/libgcc.h: Removed.
18169 * include/grub/sparc64/libgcc.h: Likewise.
18170
b7f3ac29
VS
181712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18174 disk_info_msg (conflicts with gettexting into languages with cases).
18175
2c7031b1
GS
181762010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18177
18178 Add grub-probe support for NetBSD.
18179
18180 * util/getroot.c (find_root_device): Convert block device to
18181 character device on NetBSD.
18182 * util/probe.c (probe): Require character device on NetBSD.
18183 * util/hostdisk.c: NetBSD specific headers.
18184 (configure_device_driver): new function to tune device driver
18185 parameters (currently only for NetBSD floppy driver).
18186 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18187 via disklabel ioctl).
18188 (open_device): call configure_device_driver on NetBSD.
18189 (convert_system_partition_to_system_disk): NetBSD specific code.
18190 (device_is_wholedisk): Likewise.
18191 (grub_util_biosdisk_get_grub_dev): Likewise.
18192 (make_device_name): Fixed a typo in bsd_part_str.
18193 * configure.ac: check for opendisk() and getrawpartition() on
18194 NetBSD and set LIBUTIL.
18195 * Makefile.in: add LIBUTIL to LIBS.
18196
f516290c
BC
181972010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18198
18199 Documentation fix.
18200
18201 * util/grub-script-check.c: Better help message.
18202
d8dcc0df
BC
182032010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18204
18205 Fix FreeBSD build.
18206
18207 * configure.ac: Flex version check.
18208 * conf/common.rmk: Add -Wno-error to sh.mod.
18209 * script/yylex.l: Remove all #pragma.
18210
6734334a
VS
182112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18214 prototype.
18215 Reported by: Seth Goldberg.
18216
daea6abd
VS
182172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18220 Rename "module" to "module2".
18221 Reported by: Seth Goldberg.
18222
f2fd9d2b
VS
182232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18226 EXPORT_FUNC.
18227 Reported by: Seth Goldberg.
18228
be124579
VS
182292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * lib/posix_wrap/locale.h: Add missing file.
18232 Reported by: Seth Goldberg.
18233
ef5da797
VS
182342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 grub-emu module load support.
18237
18238 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18239 NO_DYNAMIC_MODULES switched to this.
18240 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18241 (CFLAGS): Likewise.
18242 * conf/any-emu.rmk: Generate symlist.
18243 (kernel_img_HEADERS): Add util/datetime.h.
18244 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18245 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18246 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18247 kern/$(target_cpu)/cache.S.
18248 * configure.ac (grub-emu-modules): New option.
18249 * genmk.rb: Handle multiple source lists.
18250 * include/grub/sdl.h: New file.
18251 * include/grub/libusb.h: Likewise.
18252 * util/grub-emu.c (main): Hanle (host) root.
18253 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18254 GRUB_ERR_UNKNOWN_DEVICE.
18255 * util/misc.c: Move mm functions to ...
18256 * util/mm.c: ... here. All users updated.
18257
47822096
VS
182582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18261 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18262 missing files.
18263 (maintainer-clean): Remove libgcrypt-grub.
18264
5d7e7445
VS
182652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18268
25f4e252
EC
182692010-04-09 EFI Coder <eficoder@hotmail.com>
18270
18271 * normal/menu_text.c (print_message): Clean up the message and show
18272 the Fn information when on EFI
18273 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18274
027de555
VS
182752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18278 All users updated.
18279 * normal/crypto.c (read_crypto_list): Likewise.
18280 * normal/dyncmd.c (read_command_list): Likewise.
18281 * normal/term.c (read_terminal_list): Likewise.
18282 * normal/main.c (read_lists): Use explicit prefix.
18283 (read_lists_hook): Use read_lists.
18284 (grub_normal_execute): Likewise.
18285
47779711
VS
182862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18287
18288 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18289 Reported by: Thomas Schmitt.
18290 Add -no-emul-boot to grub-mkisofs parameters.
18291
1118c32e
VS
182922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * font/font.c: Indented.
18295
7d652447
BC
182962010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18297
18298 Elif support to GRUB script (by Deepak Vankadaru).
18299
18300 * tests/grub_script_if.in: New testcase.
18301 * conf/tests.rmk: Rule for new testcase.
18302 * script/parser.y: Grammar rules for elif.
18303
34bb22df
BC
183042010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18305
18306 While and until loops support to GRUB script.
18307
18308 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18309 (grub_script_create_cmdwhile): New function prototype.
18310 (grub_script_execute_cmdwhile): New function prototype.
18311 * script/execute.c (grub_script_execute_cmdwhile): New function.
18312 * script/parser.y (command): New commands.
18313 (whilecmd): New grammar rule.
18314 (untilcmd): New grammar rule.
18315 * script/script.c (grub_script_create_cmdwhile): New function.
18316 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18317 function.
18318
18319 * tests/grub_script_while1.in: New testcase.
18320 * conf/tests.rmk: Rule for new testcase.
18321
e215d8e0
VS
183222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18325 as *.jpg.
18326
d7c43ba1
MV
183272010-04-09 Mario Vazquez <mariovazq@gmail.com>
18328
18329 GRUB_BACKGROUND support.
18330
18331 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18332 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18333
d64795c0
VS
183342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18337 Idea by: Mario Vazquez
d64795c0
VS
18338
18339 * util/grub.d/00_header.in: Load pf2 and image modules.
18340
f267f83a
VS
183412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 grub-mkconfig multiple terminal support.
18344
18345 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18346 * util/grub.d/00_header.in: Likewise.
18347
b7841ceb
VS
183482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18351 we use cd $(srcdir).
18352
df60998c
CW
183532010-04-08 Colin Watson <cjwatson@ubuntu.com>
18354
18355 * util/grub.d/10_linux.in: Only use the first word of
18356 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18357 spaces in GRUB_DISTRIBUTOR.
18358 * util/grub.d/10_kfreebsd.in: Likewise.
18359 * util/grub.d/10_hurd.in: Likewise.
18360
fa09c82e
BC
183612010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18362
14e18ae3 18363 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18364
18365 * tests/util/grub-shell.in: Remove -serial stdio option.
18366
daf892b3
BC
183672010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18368
18369 POSIX header file wrappers.
18370
18371 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18372 equivalents.
18373 * lib/posix_wrap/ctype.h: Likewise.
18374 * lib/posix_wrap/errno.h: Likewise.
18375 * lib/posix_wrap/langinfo.h: Likewise.
18376 * lib/posix_wrap/limits.h: Likewise.
18377 * lib/posix_wrap/localcharset.h: Likewise.
18378 * lib/posix_wrap/stdint.h: Likewise.
18379 * lib/posix_wrap/stdio.h: Likewise.
18380 * lib/posix_wrap/stdlib.h: Likewise.
18381 * lib/posix_wrap/string.h: Likewise.
18382 * lib/posix_wrap/sys/types.h: Likewise.
18383 * lib/posix_wrap/unistd.h: Likewise.
18384 * lib/posix_wrap/wchar.h: Likewise.
18385 * lib/posix_wrap/wctype.h: Likewise.
18386 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18387 (grub_script.yy.h): Likewise.
18388 * script/yylex.l: Remove POSIX emulation #defines.
18389 * Makefile.in (POSIX_CFLAGS): New variable.
18390 (GNULIB_UTIL_CFLAGS): Likewise.
18391
18392 Regexp support.
18393
18394 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18395 (regexp_mod_SOURCES): New variable.
18396 (regexp_mod_CFLAGS): Likewise.
18397 (regexp_mod_LDFLAGS): Likewise.
18398 * commands/regexp.c: New file.
18399 * gnulib/regcomp.c: New file. Imported from gnulib.
18400 * gnulib/regex.c: Likewise.
18401 * gnulib/regex_internal.c: Likewise.
18402 * gnulib/regex_internal.h: Likewise.
18403 * gnulib/regexec.c: Likewise.
18404 * gnulib/regex.h: Likewise.
18405
974ac4f7
VS
184062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18409 unsupported video mode types.
18410
2622c3ff
VS
184112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18412
18413 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18414
064cb524
VS
184152010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18416
18417 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18418 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18419
a8c3b552
VS
184202010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 Remove unused grub_vga_get_font.
18423
18424 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18425 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18426
187bbe3d
GS
184272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18428
18429 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18430 * include/grub/misc.h: Likewise.
18431
b9396631
GS
184322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18433
18434 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18435 for which failure is fatal.
18436
50479feb
GS
184372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18438
18439 * util/grub-install.in: Use mkdir -p to create grub directory.
18440 * util/i386/efi/grub-install.in: Likewise.
18441 * util/ieee1275/grub-install.in: Likewise.
18442
b1654fdf
GS
184432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18444
18445 * Makefile.in (LEX): new variable.
18446
bd5a6415
GS
184472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18448
18449 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18450 `=' and added double quotes on operands of this equality test.
18451
3db3a82b
VS
184522010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * Makefile.in (uninstall): Remove a leftover debug echo.
18455 Reported by: Grégoire Sutre
18456
38023412
VS
184572010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 MIPS multiboot2 support.
18460
18461 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18462 (multiboot2_mod_SOURCES): New variable.
18463 (multiboot2_mod_CFLAGS): Likewise.
18464 (multiboot2_mod_LDFLAGS): Likewise.
18465 (multiboot2_mod_ASFLAGS): Likewise.
18466 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18467 definition.
18468 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18469 (MULTIBOOT_MBI_REGISTER): Likewise.
18470 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18471 (MULTIBOOT_ELF32_MACHINE): Likewise.
18472 (MULTIBOOT_ELF64_MACHINE): Likewise.
18473 * include/grub/mips/multiboot.h: New file.
18474 * include/grub/video.h (grub_video_driver_id): New type
18475 GRUB_VIDEO_DRIVER_SM712.
18476 (grub_video_get_info_and_fini): Export.
18477 (grub_video_get_palette): Likewise.
18478 (grub_video_get_driver_id): Likewise.
18479 * include/multiboot2.h: Resynced with spec.
18480 * loader/i386/multiboot.c: Moved from here ...
18481 * loader/multiboot.c: ... here. All users updated.
18482 (grub_multiboot_boot): Use platform-specific macros.
18483 * loader/i386/multiboot_elfxx.c: Moved from here ...
18484 * loader/multiboot_elfxx.c: ... here. All users updated.
18485 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18486 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18487 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18488
47674667
VS
184892010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18490
18491 Import gnulib argp module.
18492
18493 * gnulib/argp-ba.c: New file.
18494 * gnulib/argp-eexst.c: Likewise.
18495 * gnulib/argp-fmtstream.c: Likewise.
18496 * gnulib/argp-fmtstream.h: Likewise.
18497 * gnulib/argp-fs-xinl.c: Likewise.
18498 * gnulib/argp-help.c: Likewise.
18499 * gnulib/argp-namefrob.h: Likewise.
18500 * gnulib/argp-parse.c: Likewise.
18501 * gnulib/argp-pin.c: Likewise.
18502 * gnulib/argp-pv.c: Likewise.
18503 * gnulib/argp-pvh.c: Likewise.
18504 * gnulib/argp-version-etc.c: Likewise.
18505 * gnulib/argp-version-etc.h: Likewise.
18506 * gnulib/argp-xinl.c: Likewise.
18507 * gnulib/argp.h: Likewise.
18508
495442ed
VS
185092010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * kern/device.c (grub_device_iterate): Clear errors after failed
18512 opening device.
18513
f9fd65df
VS
185142010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18517 returned by firmware.
18518
af09641e
VS
185192010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18522 compilation on coreboot and qemu
18523
016883a5
VS
185242010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * include/multiboot2.h: Resync with spec.
18527
f97e1f7d
VS
185282010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 Multiboot2 tag support
18531
18532 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18533 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18534 Remove loader/multiboot_loader.c.
18535 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18536 (grub_multiboot2_real_boot): Likewise.
18537 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18538 (grub_get_multiboot_mmap_count): New proto.
18539 (grub_fill_multiboot_mmap): Likewise.
18540 (grub_multiboot_set_video_mode): Likewise.
18541 (grub_multiboot_set_console): Likewise.
18542 (grub_multiboot_load): Likewise.
18543 (grub_multiboot_load_elf): Likewise.
18544 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18545 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18546 * include/multiboot.h: Resynced with specification.
18547 * include/multiboot2.h: Resynced with specification.
18548 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18549 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18550 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18551 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18552 users updated.
18553 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18554 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18555 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18556 Removed.
18557 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18558 Moved from here...
18559 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18560 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18561 Moved from here...
18562 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18563 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18564 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18565 All users updated.
18566 * loader/i386/multiboot_mbi2.c: New file.
18567
3506b90b
VS
185682010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 Resync with gnulib.
18571
18572 * Makefile.in (GNULIB_CFLAGS): New variable.
18573 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18574 (grub_script_check_CFLAGS): New variable.
18575 * gnulib/alloca.h: Resync with gnulib.
18576 * gnulib/error.c: Likewise.
18577 * gnulib/error.h: Likewise.
18578 * gnulib/fnmatch.c: Likewise.
18579 * gnulib/fnmatch_loop.c: Likewise.
18580 * gnulib/getdelim.c: Likewise.
18581 * gnulib/getline.c: Likewise.
18582 * gnulib/getopt.c: Likewise.
18583 * gnulib/getopt1.c: Likewise.
18584 * gnulib/getopt_int.h: Likewise.
18585 * gnulib/gettext.h: Likewise.
18586 * gnulib/progname.c: Likewise.
18587 * gnulib/progname.h: Likewise.
18588
394a3120
GS
185892010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18590
18591 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18592 which is the case with --disabled-nls.
18593
18594 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18595 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18596 * util/misc.c: Likewise.
18597 * util/mkisofs/mkisofs.c: Likewise.
18598 * util/mkisofs/mkisofs.h: Likewise.
18599
969d1c78
VS
186002010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 Simplify Apple CC support.
18603
18604 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18605 Add 0 byte at the end not to have a symbol with empty target.
18606 * mmap/i386/pc/mmap_helper.S: Likewise.
18607 * genmk.rb: Ignore errors 2030 and 2050.
18608 * kern/i386/pc/startup.S: Use LOCAL when possible.
18609
8d2977bb
BC
186102010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18611
18612 Testcase and the fix for final semicolon on cmdline.
18613
18614 * tests/grub_script_final_semicolon.in: New testcase.
18615 * conf/tests.rmk: Rules for the new testcase.
18616 * script/parser.y: Grammar fix.
18617
a7bd6915
BC
186182010-03-26 BVK Chaitanya <bvk@localhost>
18619
18620 Blank lines testcase for GRUB script.
18621
18622 * tests/grub_script_blanklines.in: New testcase.
18623 * conf/tests.rmk: Rules for the new testcase.
18624
e4ff6628
VS
186252010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18626
18627 Don't use __FILE__.
18628
18629 * genmk.rb: Add -DGRUB_FILE to all C targets.
18630 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18631 * include/grub/list.h: Likewise.
18632 * include/grub/misc.h: Likewise.
18633 * include/grub/mm.h: Likewise.
18634 * include/grub/test.h: Likewise.
18635 * kern/mm.c: Likewise.
18636 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18637
6a5cf6b6
VS
186382010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 Sunpc partitions support.
18641
18642 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18643 (grub_fstest_SOURCES): Likewise.
18644 (pkglib_MODULES): Add part_sunpc.mod.
18645 (part_sunpc_mod_SOURCES): New variable.
18646 (part_sunpc_mod_CFLAGS): Likewise.
18647 (part_sunpc_mod_LDFLAGS): Likewise.
18648 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18649 * partmap/sunpc.c: New file.
18650
746d9045
BC
186512010-03-26 BVK Chaitanya <bvk@localhost>
18652
18653 For loop support to GRUB script.
18654
18655 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18656 (grub_script_create_cmdfor): New function prototype.
18657 (grub_script_execute_cmdfor): New function prototype.
18658 * script/execute.c (grub_script_execute_cmdfor): New function.
18659 * script/parser.y (command): New for command.
18660 (forcmd): New grammar rule.
18661 * script/script.c (grub_script_create_cmdfor): New function.
18662 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18663 function.
18664 * tests/grub_script_for1.in: New testcase.
18665 * conf/tests.rmk: Rules for new testcase.
18666
18486b18
VS
186672010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 Nested partitions
18670
18671 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18672 'partition' is NULL, grub_partition_get_start already does that.
18673 * commands/loadenv.c (check_blocklists): Likewise.
18674 (write_blocklists): Likewise.
18675 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18676 (grub_fstest_SOURCES): Likewise.
18677 (pkglib_MODULES): Add part_bsd.mod.
18678 (part_bsd_mod_SOURCES): New variable.
18679 (part_bsd_mod_CFLAGS): Likewise.
18680 (part_bsd_mod_LDFLAGS): Likewise.
18681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18682 (grub_emu_SOURCES): Likewise.
18683 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18684 * include/grub/bsdlabel.h: New file.
18685 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18686 'get_name'.
18687 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18688 (grub_partition_map_list): New variable.
18689 (grub_partition_map_register): Inline.
18690 (grub_partition_map_unregister): Likewise.
18691 (FOR_PARTITION_MAPS): New macro.
18692 (grub_partition_map_iterate): Removed.
18693 (grub_partition_get_start): Handle nested partitions.
18694 * include/grub/msdos_partition.h: Remove bsd-related entries.
18695 (grub_pc_partition): Remove.
18696 * kern/disk.c (grub_disk_close): Free partition data.
18697 (grub_disk_adjust_range): Handle nested partitions.
18698 * kern/partition.c (grub_partition_map_probe): New function.
18699 (grub_partition_probe): Parse name to number, handle subpartitions.
18700 (get_partmap): New function.
18701 (grub_partition_iterate): Handle subpartitions.
18702 (grub_partition_get_name): Likewise.
18703 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18704 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18705 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18706 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18707 Set 'number'.
18708 (acorn_partition_map_probe): Remove.
18709 (acorn_partition_map_get_name): Likewise.
18710 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18711 Set 'number'.
18712 Set 'index' to 0 since there can be only one partition entry per sector.
18713 (amiga_partition_map_probe): Remove.
18714 (amiga_partition_map_get_name): Likewise.
18715 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18716 Set 'number'.
18717 Set 'offset' and 'index' to real positions of partitions.
18718 (apple_partition_map_probe): Remove.
18719 (apple_partition_map_get_name): Likewise.
18720 * partmap/bsdlabel.c: New file.
18721 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18722 Set 'number'.
18723 Allocate 'data' so it can be correctly freed.
18724 Set 'index' to offset inside sector.
18725 (gpt_partition_map_probe): Remove.
18726 (gpt_partition_map_get_name): Likewise.
18727 * partmap/msdos.c (grub_partition_parse): Remove.
18728 (pc_partition_map_iterate): Don't force raw access.
18729 Set 'number'.
18730 Make 'ext_offset' a local variable.
18731 (pc_partition_map_probe): Remove.
18732 (pc_partition_map_get_name): Remove.
18733 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18734 Set 'number'.
18735 (sun_partition_map_probe): Remove.
18736 (sun_partition_map_get_name): Likewise.
18737 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18738 (grub_pcpart_type): Likewise.
18739 * util/hostdisk.c (open_device): Handle new numbering scheme.
18740 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18741 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18742 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18743 * util/grub-install.in: Insert all subpartition modules.
18744 * util/ieee1275/grub-install.in: Likewise.
18745
a3940f88
AG
187462010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18747
18748 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18749 grammar.
18750
21b99926 187512010-03-24 Colin Watson <cjwatson@ubuntu.com>
18752
18753 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18754
bed1d352
CW
187552010-03-21 Colin Watson <cjwatson@ubuntu.com>
18756
18757 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18758 match where 'make install' puts them.
18759 * util/i386/efi/grub-install.in: Likewise.
18760
c9f58427
CW
187612010-03-19 Colin Watson <cjwatson@ubuntu.com>
18762
18763 * .bzrignore: Add gentrigtables, grub-script-check,
18764 grub_script_check_init.c, grub_script_check_init.h, and
18765 trigtables.c.
18766
f84afb27
VS
187672010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * kern/parser.c: Indented.
18770
ed0e3d30
VS
187712010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18774
0ea81d98
VS
187752010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18778 alpha_mask_size == 0 case.
18779
0cdc2a09
BC
187802010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18781
18782 GRUB shell lexer and parser improvements.
18783
18784 * conf/any-emu.rmk: Build rule updates.
18785 * conf/common.rmk: Likewise.
18786 * conf/i386-coreboot.rmk: Likewise.
18787 * conf/i386-efi.rmk: Likewise.
18788 * conf/i386-ieee1275.rmk: Likewise.
18789 * conf/i386-pc.rmk: Likewise.
18790 * conf/powerpc-ieee1275.rmk: Likewise.
18791 * conf/x86_64-efi.rmk: Likewise.
18792
18793 * configure.ac: Configure check for flex.
18794
18795 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18796 types.
18797 (grub_lexer_param): Struct member updates.
18798 (grub_parser_param): Likewise.
18799 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18800 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18801 (grub_script_lexer_init): Prototype update.
18802 (grub_script_lexer_record_start): Likewise.
18803 (grub_script_lexer_record_stop): Likewise.
18804 (grub_script_lexer_yywrap): New function prototype.
18805 (grub_script_lexer_fini): Likewise.
18806 (grub_script_execute_argument_to_string): Removed by...
18807 (grub_script_execute_argument_to_argv): ...better version.
18808
18809 * script/execute.c (ROUND_UPTO): New macro.
18810 (grub_script_execute_cmdline): Out of memory fixes.
18811 (grub_script_execute_menuentry): Likewise.
18812 (grub_script_execute_argument_to_string): Removed. Update all
18813 users by...
18814 (grub_script_execute_argument_to_argv): ...better version.
18815 * script/function.c (grub_script_function_create): Use
18816 grub_script_execute_argument_to_argv instead of
18817 grub_script_execute_argument_to_string.
18818
18819 * script/lexer.c (check_varstate): Removed.
18820 (check_textstate): Removed.
18821 (grub_script_lexer_record_start): Likewise.
18822 (grub_script_lexer_record_stop): Likewise.
18823 (recordchar): Replaced with...
18824 (grub_script_lexer_record): ...new function.
18825 (nextchar): Removed.
18826 (grub_script_lexer_init): Rewritten.
18827 (grub_script_yylex): Rewritten.
18828 (append_newline): New function.
18829 (grub_script_lexer_yywrap): New function.
18830 (grub_script_lexer_fini): New function.
18831 (grub_script_yyerror): Sets error flag.
18832
18833 * script/yylex.l: New file.
18834 (grub_lexer_yyfree): Wrapper for flex yyffre.
18835 (grub_lexer_yyalloc): Likewise.
18836 (grub_lexer_yyrealloc): Likewise.
18837 * script/parser.y: Refactored.
18838
18839 * script/script.c (grub_script_arg_add): Out of memory fixes.
18840 (grub_script_add_arglist): Likewise.
18841 (grub_script_create_cmdline): Likewise.
18842 (grub_script_create_cmdmenu): Likewise.
18843 (grub_script_add_cmd): Likewise.
18844 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18845 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18846 unnecessary code.
18847
18848 * tests/grub_script_echo1.in: New testcase.
18849 * tests/grub_script_vars1.in: New testcase.
18850 * tests/grub_script_echo_keywords.in: New testcase.
18851
1d63a066
VS
188522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 Remove some redundancy in build system.
18855
18856 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18857 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18858 (TARGET_LDFLAGS): Add -nostdlib.
18859 (TARGET_IMG_LDFLAGS): Likewise.
18860 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18861 anything since mmap isn't available.
18862 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18863 Add util/time.c.
18864 (pkglib_MODULES): Remove reboot.mod.
18865 (reboot_mod_SOURCES): Removed.
18866 (reboot_mod_CFLAGS): Likewise.
18867 (reboot_mod_LDFLAGS): Likewise.
18868 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18869 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18870 (DEFSYMFILES): Add kernel_syms.lst.
18871 (kernel_img_HEADERS): Add common headers.
18872 (symlist.c): New target.
18873 (kernel_syms.lst): Likewise.
18874 (pkglib_MODULES): Add memdisk.mod.
18875 (memdisk_mod_SOURCES): New variable.
18876 (memdisk_mod_CFLAGS): Likewise.
18877 (memdisk_mod_LDFLAGS): Likewise.
18878 (pkglib_MODULES): Add reboot.mod.
18879 (reboot_mod_SOURCES): New variable.
18880 (reboot_mod_CFLAGS): Likewise.
18881 (reboot_mod_LDFLAGS): Likewise.
18882 (pkglib_MODULES): Add date.mod.
18883 (date_mod_SOURCES): New variable.
18884 (date_mod_CFLAGS): Likewise.
18885 (date_mod_LDFLAGS): Likewise.
18886 (pkglib_MODULES): Add datehook.mod.
18887 (datehook_mod_SOURCES): New variable.
18888 (datehook_mod_CFLAGS): Likewise.
18889 (datehook_mod_LDFLAGS): Likewise.
18890 (pkglib_MODULES): Add lsmmap.mod.
18891 (lsmmap_mod_SOURCES): New variable.
18892 (lsmmap_mod_CFLAGS): Likewise.
18893 (lsmmap_mod_LDFLAGS): Likewise.
18894 (pkglib_MODULES): Add boot.mod.
18895 (boot_mod_SOURCES): New variable.
18896 (boot_mod_CFLAGS): Likewise.
18897 (boot_mod_LDFLAGS): Likewise.
18898 * conf/i386-coreboot.rmk: Removed redundant parts.
18899 * conf/i386-ieee1275.rmk: Likewise.
18900 * conf/i386-pc.rmk: Likewise.
18901 * conf/mips-yeeloong.rmk: Likewise.
18902 * conf/mips.rmk: Likewise.
18903 * conf/powerpc-ieee1275.rmk: Likewise.
18904 * conf/sparc64-ieee1275.rmk: Likewise.
18905 * conf/x86_64-efi.rmk: Likewise.
18906 * conf/i386-coreboot.rmk: Moved qemu parts ..
18907 * conf/i386-qemu.rmk: ... here
18908 * conf/i386-efi.rmk: Moved common parts to...
18909 * conf/x86-efi.rmk: ... here.
18910 * conf/i386.rmk: Added modules common to all x86 variants.
18911 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18912 * disk/memdisk.c: Remove grub/machine/kernel.h.
18913 * gensymlist.sh.in: Include symbol.h.
18914 * hook/datehook.c: Correct module name.
18915 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18916 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18917 * include/grub/i386/efi/serial.h: New file.
18918 * include/grub/x86_64/efi/serial.h: Likewise.
18919 * util/time.c: Likewise.
18920 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18921
463ac55f
CK
189222010-03-14 Colin King <colin.king@ubuntu.com>
189232010-03-14 Colin Watson <cjwatson@ubuntu.com>
18924
18925 Shrink the pre-partition-table part of boot.img by eight bytes.
18926
18927 * boot/i386/pc/boot.S (ERR): New macro.
18928 (chs_mode): Use ERR.
18929 (geometry_error): Likewise.
18930 (hd_probe_error): Remove. This is only used once, so we wrwite
18931 it inline instead.
18932 (read_error): Instead of printing read_error_string, just set up
18933 %si and fall through to ...
18934 (error_message): ... this new function, also used by ERR.
18935
08e46ede
CW
189362010-03-14 Colin Watson <cjwatson@ubuntu.com>
18937
18938 Speed up consecutive hostdisk operations on the same device.
18939
18940 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18941 (grub_util_biosdisk_open): Initialise disk->data.
18942 (struct linux_partition_cache): New structure.
18943 (linux_find_partition): Cache partition start positions; these are
18944 expensive to compute on every read and write.
18945 (open_device): Cache open file descriptor in disk->data, so that we
18946 don't have to reopen it and flush the buffer cache for consecutive
18947 operations on the same device.
18948 (grub_util_biosdisk_close): New function.
18949 (grub_util_biosdisk_dev): Set `close' member.
18950
18951 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18952 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18953 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18954 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18955 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18956
4a6d2d06
VS
189572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 Compile parts of grub-emu as modules.
18960
18961 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18962 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18963 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18964 (all-local): Add $(GRUB_EMU).
18965 (install-local): Install $(GRUB_EMU).
18966 (uninstall): Uninstall $(GRUB_EMU).
18967 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18968 * kern/dl.c: Likewise.
18969 * commands/sleep.c: Not include machine/time.h.
18970 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18971 (COMMON_CFLAGS): Likewise.
18972 (sbin_UTILITIES): Remove grub-emu.
18973 (grub_emu_SOURCES): Removed.
18974 (kernel_img_RELOCATABLE): New variable.
18975 (pkglib_PROGRAMS): Add kernel.img.
18976 (kernel_img_SOURCES): New variable
18977 (kernel_img_CFLAGS): Likewise.
18978 (kernel_img_LDFLAGS): Likewise.
18979 (TARGET_NO_STRIP): Likewise.
18980 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18981 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18982 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18983 (grub-emu): New target.
18984 (GRUB_EMU): New variable.
18985 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18986 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18987 * loader/xnu.c: Likewise.
18988 * include/grub/pci.h: Likewise.
18989 * genemuinit.sh: New file.
18990 * genemuinitheader.sh: Likewise.
18991 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18992 Support TARGET_NO_DYNAMIC_MODULES.
18993 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18994 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18995 * disk/loopback.c: Likewise.
18996 * font/font_cmd.c: Likewise.
18997 * partmap/acorn.c: Likewise.
18998 * partmap/amiga.c: Likewise.
18999 * partmap/apple.c: Likewise.
19000 * partmap/gpt.c: Likewise.
19001 * partmap/msdos.c: Likewise.
19002 * partmap/sun.c: Likewise.
19003 * parttool/msdospart.c: Likewise.
19004 * term/gfxterm.c: Likewise.
19005 * video/bitmap.c: Likewise.
19006 * video/readers/jpeg.c: Likewise.
19007 * video/readers/png.c: Likewise.
19008 * video/readers/tga.c: Likewise.
19009 * video/video.c: Likewise.
19010 * util/grub-emu.c (read_command_list): Removed.
19011 (main): Don't call util_init_nls.
19012 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19013 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19014
91fdd2ed
VS
190152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19018 date.mod, datehook.mod.
19019 (datetime_mod_SOURCES): New variable.
19020 (datetime_mod_CFLAGS): Likewise.
19021 (datetime_mod_LDFLAGS): Likewise.
19022 (date_mod_SOURCES): Likewise.
19023 (date_mod_CFLAGS): Likewise.
19024 (date_mod_LDFLAGS): Likewise.
19025 (datehook_mod_SOURCES): Likewise.
19026 (datehook_mod_CFLAGS): Likewise.
19027 (datehook_mod_LDFLAGS): Likewise.
19028 * conf/sparc64-ieee1275.rmk: Likewise.
19029 * lib/ieee1275/datetime.c: New file.
19030
873ccae6
VS
190312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19034 (ieee1275_fb_mod_SOURCES): New variable.
19035 (ieee1275_fb_mod_CFLAGS): Likewise.
19036 (ieee1275_fb_mod_LDFLAGS): Likewise.
19037 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19038 New proto.
19039 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19040 (HEAP_MAX_ADDR): Likewise.
19041 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19042 type.
19043 Correct stop condition.
19044 (grub_ieee1275_devices_iterate): New function.
19045 * video/ieee1275.c: New file.
19046
601c97c0
VS
190472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19050
19051 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19052 as scratch.
19053 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19054 SCRATCH_PAD_DISKBOOT as scratch.
19055 (bootit): Pass Openfirmware pointer in %o4.
19056 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19057 of 0x200000.
19058 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19059 with util/grub-mkrawimage.c.
19060 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19061 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19062 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19063 (grub_aout_load) [GRUB_UTIL]: Likewise.
19064 * include/grub/kernel.h (grub_modules_get_end): New proto.
19065 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19066 (SCRATCH_PAD_BOOT): New definition.
19067 (SCRATCH_PAD_DISKBOOT): Likewise.
19068 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19069 * include/grub/sparc64/ieee1275/ieee1275.h
19070 (grub_ieee1275_original_stack): New variable
19071 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19072 New definition
19073 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19074 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19075 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19076 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19077 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19078 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19079 (grub_platform_image_format_t): New type.
19080 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19081 * kern/main.c (grub_modules_get_end)
19082 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19083 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19084 (codestart): Switch stacks.
19085 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19086 variable.
19087 (grub_heap_init): Use grub_modules_get_end.
19088 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19089 stack.
19090 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19091 (main): Likewise.
19092 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19093
d68b491e
TG
190942010-03-14 Thorsten Glaser <tg@mirbsd.org>
19095
19096 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19097
4e02ed50
MK
190982010-03-08 Matt Kraai <kraai@ftbfs.org>
19099
19100 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19101 bug #559005).
19102
1f15fc1e
VS
191032010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * genmoddep.awk: Output all missing symbols and not only first.
19106
fce5d8ff
VS
191072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * NEWS: Put the date of 1.98 release.
19110
d1e8a02f
VS
191112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19114 ft2build.h.
19115
696fd607
VS
191162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19119 completition in the middle of string.
19120
33e2e6f3
VS
191212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * util/grub-mkrescue.in: Use mktemp with explicit template.
19124
b1f6d291
VS
191252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19128
2ac227c7
VS
191292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19132 right pointer.
19133
8f9a632b
VS
191342010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 Fix FreeBSD compilation.
19137
19138 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19139 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19140
60b03859
VS
191412010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19144
48a5a769
VS
191452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19148
3ab4bd77
VS
191492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19152
d116e0d8
RM
191532010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19154
19155 Support relative image path in theme file.
19156
19157 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19158 (image_set_property): Handle theme_dir and relative path.
19159
c7ef54aa
VS
191602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * configure.ac: Alias amd64 to x86_64.
19163
fcee14ed
VS
191642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * NEWS: mention multiboot on EFI.
19167
d0780363
VS
191682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * kern/main.c (grub_load_modules): Handle errors from init functions of
19171 embeded modules.
19172
41168ea4
VS
191732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * normal/autofs.c (autoload_fs_module): Handle errors.
19176
b54d93ac
VS
191772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 Disable linux.mod on qemu-mips since it's not functional and leads
19180 to compilation failure.
19181
19182 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19183 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19184 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19185 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19186 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19187 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19188 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19189 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19190 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19191 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19192 Reported by: BVK Chaitanya
19193
fc8345da
JU
191942010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19195
19196 * INSTALL: Add gettext as a dependency and add qemu to a new section
19197 "Prerequisites for make-check".
19198
4760f979
CF
191992010-03-04 Christian Franke <franke@computer.org>
19200
19201 * util/grub-pe2elf.c: Add missing include "progname.h".
19202
f209b5b2
VS
192032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * normal/crypto.c (read_crypto_list): Fix a typo.
19206 Reported by: Seth Goldberg.
19207
b4b7be98
VS
192082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19211 Reported by: Seth Goldberg.
b4b7be98 19212
c0ee0385
VS
192132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19216 ascii.bitmaps.
19217
a8efbf64
VS
192182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19221 Reported by: Seth Goldberg.
a8efbf64 19222
08dcd913
VS
192232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * util/i386/efi/grub-install.in: Copy gettext files.
19226
c4d0b332
VS
192272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19230
c6f2fe52
VS
192312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 Wait for user entry basing on presence of output rather than on errors.
19234
19235 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19236 (grub_install_newline_hook): Likewise.
19237 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19238 * normal/menu.c (show_menu): Check line_counter to determine presence
19239 of output.
19240 * normal/term.c (grub_normal_line_counter): New variable.
19241 (grub_normal_get_line_counter): New function.
19242 (grub_install_newline_hook): Likewise.
19243
5382b1e4
VS
192442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19247
5519963b
VS
192482010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * configure.ac: Update version to 1.98.
19251
72b28631
VS
192522010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * util/grub.d/10_linux.in (linux_entry): Don't default to
19255 gfxpayload=keep if Linux doesn't support video handover.
19256
c140a180
VS
192572010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 Don't compile video modules on yeeloong since video subsystem is part
19260 of kernel.
19261
19262 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19263 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19264 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19265 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19266 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19267 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19268 * include/grub/bitmap_scale.h: Likewise.
19269 * include/grub/bufio.h: Likewise.
19270 * include/grub/font.h: Likewise.
19271 * include/grub/gfxterm.h: Likewise.
19272 * include/grub/video.h: Likewise.
19273 * include/grub/vbe.h: Don't include video_fb.h.
19274 * video/i386/pc/vbe.c: Include video_fb.h.
19275 * commands/i386/pc/vbetest.c: Include video.h.
19276
a0ca21c2
CW
192772010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19278
19279 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19280 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19281 default entry if GRUB_SAVEDEFAULT=true. This allows using
19282 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19283 saving a new default on every boot.
19284
4a8a763c
VS
192852010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19288 * normal/term.c (read_terminal_list): Likewise.
19289 * normal/main.c (grub_normal_init_page): Likewise.
19290 (grub_normal_read_line_real): Likewise.
19291
607ffde2
VS
192922010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19295 memory leak.
19296 Reported by: Seth Goldberg.
19297
2b8fa975
CW
192982010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19299
19300 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19301 duplicate declaration of `start'.
19302
618307dd
VS
193032010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19306 filename.
19307 Reported by: Georgy Buranov
19308
7dd05b96 193092010-02-20 Carles Pina i Estany <carles@pina.cat>
19310
19311 * util/grub-mkrawimage.c (usage): Change string formatting to
19312 improve gettext.
19313
d1484a42
MRA
193142010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19315
19316 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19317 backspace keys.
19318
42b1d186
VS
193192010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19322 Reported by: Michael Suchanek.
19323
193242010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19325
19326 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19327 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19328
d9f31a41
VS
193292010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 Remove any reference to non-free fonts.
19332
19333 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19334 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19335 uses non-free components.
19336 * font/font.c (grub_font_get_name): Remove example name.
19337 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19338 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19339 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19340 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19341
2793c71e
GB
193422010-02-16 Georgy Buranov <gburanov@gmail.com>
19343
19344 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19345
402e3779
VS
193462010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19349 Double divisor.
19350 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19351 features.
19352 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19353
0dd1e0dd
VS
193542010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19357
6fa7cfce
ST
193582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19359
19360 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19361 * docs/grub.texi (Command-line and menu entry commands): Document play
19362 command.
19363
37c8483b
ST
193642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19365
19366 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19367 parse arguments as inline tempo and notes. Move code for playing notes
19368 to...
19369 (play): ... new function.
19370
14da0fb7
ST
193712010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19372
19373 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19374 grub_uint16_t instead of short.
19375 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19376 disk from little endian to cpu endianness.
19377
04459e70
ST
193782010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19379
19380 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19381 GRUB_TICKS_PER_SECOND instead of 120.
19382
a0876943
VS
193832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19386 escape sequence after \e.
19387
e29f95dc
VS
193882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19391 non-ASCII characters.
19392
d27859b2
VS
193932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19396 set root in single quotes to prevent \, from being unescaped.
19397
bc028f2f
VS
193982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 Prevent unknown commands from stopping menuentry execution.
19401
19402 * script/execute.c (grub_script_execute_cmdline): Print error after
19403 unknown command.
19404
095f5f82
VS
194052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19408 Reported by: Pavel Pisa.
19409
8c717950
VS
194102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19413
904935c3
VS
194142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 Merge grub_ieee1275_map_physical into grub_map and rename to
19417 grub_ieee1275_map
19418
19419 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19420 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19421 Remove.
19422 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19423 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19424 necessary.
19425 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19426
5b59a4e3
VS
194272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19430 opening and not after.
19431
69e137e8
VS
194322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19435 constants.
19436
2c0fcc36
VS
194372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19440 (alloc_phys): Use ALIGN_UP instead of align_addr.
19441
8c6052ce
VS
194422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19445
17cec782
VS
194462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19449
e0128bbd
VS
194502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19453 verbose dprintf.
19454
ca62070b
VS
194552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Fix over-4GiB seek on sparc64.
19458
19459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19460 Replace pos_i and pos_lo with pos. All users updated.
19461 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19462 New constant.
19463 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19464 Likewise.
19465 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19466 and pos_lo.
19467
bdca2607
VS
194682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 * util/grub-mkrawimage.c (main): Call set_program_name.
19471
da278c4d
VS
194722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19473
19474 Properly align 64-bit targets.
19475
19476 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19477 (generate_image): Use ALIGN_ADDR.
19478
b274d734
VS
194792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 Properly create cross-endian images.
19482
19483 * include/grub/types.h (grub_host_to_target_addr): New macro
19484 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19485
82da2062
VS
194862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19489
7cae4377
VS
194902010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19493
19494 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19495 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19496 (grub_linux_boot): Divide by 64K when on VESA.
19497
65a533e7
VS
194982010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 Support GRUB_GFXPAYLOAD_LINUX.
19501
19502 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19503 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19504
dd01d397
VS
195052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19508 to show messages instead of discarding them.
19509 Process errors after executing command and not before. Keep old method
19510 too as precaution.
19511
660960d6
VS
195122010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * configure.ac: Check for ft2build.h.
19515
62509f04
VS
195162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19519
473df63d
VS
195202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 * genkernsyms.sh.in: Use TARGET_CC.
19523
c98d2a13
CW
195242010-02-07 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * NEWS: Update.
19527
6e14234c
VS
195282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19531 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19532 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19533
b255e9cf
YB
195342010-02-07 Yves Blusseau <blusseau@zetam.org>
19535
6e14234c 19536 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19537
98e6959d
VS
195382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 Fix warnings in grub-emu when compiling with maximum warning options.
19541
19542 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19543 (grub_arch_modules_addr): Return 0 and not NULL.
19544 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19545 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19546 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19547 of disk to dsk to avoid shadowing.
74e4934e
VS
19548 (find_free_slot): Fix prototype.
19549 * util/getroot.c (grub_util_is_dmraid): Make static.
19550 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19551 Add missing prototype.
19552 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19553
74e31b5c
VS
195542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19557 appropriately.
19558
6b2ad14b
VS
195592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19562 code out.
19563
8f891adc
VS
195642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19567 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19568 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19569 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19570 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19571 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19572
74b45184
VS
195732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * include/grub/err.h (grub_err_printf): Don't export.
19576
a4bced77
VS
195772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19580
007d0695
VS
195812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19584 * kern/misc.c (grub_gettext_dummy): Make static.
19585
b6c0d9c2
VS
195862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19589 by non-valid ones.
19590 * kern/term.c (grub_putchar): Likewise.
19591
f51a90d0
VS
195922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19595 buggy hook call and memory leak.
19596
6846cec5
VS
195972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19600
468d69fe
VS
196012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19604
51906b8c
VS
196052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19608 modevar.
19609 Return grub_errno on allocation error.
19610
09706ce5
VS
196112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19614
911df80c
YB
196152010-02-06 Yves Blusseau <blusseau@zetam.org>
19616
19617 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19618 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19619
3746a6bc
VS
196202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19621
19622 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19623 non-pxe disk.
19624 (grub_pxefs_open): Likewise.
19625
09706ce5
VS
196262010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19627
19628 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19629 * util/grub.d/10_kfreebsd.in: Likewise.
19630 * util/grub.d/10_linux.in: Likewise.
19631
7cc192d9
VS
196322010-02-06 Colin D Bennett <colin@gibibit.com>
19633
19634 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19635 (gfxmenu_mod_SOURCES): New variable.
19636 (gfxmenu_mod_CFLAGS): Likewise.
19637 (gfxmenu_mod_LDFLAGS): Likewise.
19638 * include/grub/term.h (grub_term_set_current_output): Declare
19639 argument as const.
19640 * docs/gfxmenu-theme-example.txt: New file.
19641 * gfxmenu/gfxmenu.c: Likewise.
19642 * gfxmenu/gui_box.c: Likewise.
19643 * gfxmenu/gui_canvas.c: Likewise.
19644 * gfxmenu/gui_circular_progress.c: Likewise.
19645 * gfxmenu/gui_image.c: Likewise.
19646 * gfxmenu/gui_label.c: Likewise.
19647 * gfxmenu/gui_list.c: Likewise.
19648 * gfxmenu/gui_progress_bar.c: Likewise.
19649 * gfxmenu/gui_string_util.c: Likewise.
19650 * gfxmenu/gui_util.c: Likewise.
19651 * gfxmenu/icon_manager.c: Likewise.
19652 * gfxmenu/model.c: Likewise.
19653 * gfxmenu/named_colors.c: Likewise.
19654 * gfxmenu/theme_loader.c: Likewise.
19655 * gfxmenu/view.c: Likewise.
19656 * gfxmenu/widget-box.c: Likewise.
19657 * include/grub/gfxmenu_model.h: Likewise.
19658 * include/grub/gfxmenu_view.h: Likewise.
19659 * include/grub/gfxwidgets.h: Likewise.
19660 * include/grub/gui.h: Likewise.
19661 * include/grub/gui_string_util.h: Likewise.
19662 * include/grub/icon_manager.h: Likewise.
19663
196642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 Agglomerate scrolling in gfxterm.
19667
19668 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19669 (grub_virtual_screen_setup): Initialise 'total_screen'.
19670 (write_char): Split to ...
19671 (paint_char): ... this ...
19672 (write_char): ... and this.
19673 (paint_char): Handle delayed scrolling.
19674 (draw_cursor): Likewise.
19675 (scroll_up): Split to ...
19676 (real_scroll): ... this ...
19677 (scroll_up): ... and this.
19678 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19679 characters.
19680 (grub_gfxterm_refresh): Call real_scroll.
19681
196822010-02-06 Colin D Bennett <colin@gibibit.com>
19683
19684 * include/grub/misc.h (grub_iscntrl): New inline function.
19685 (grub_isalnum): Likewise.
19686 (grub_strtol): Likewise.
19687
196882010-02-06 Colin D Bennett <colin@gibibit.com>
19689
19690 * normal/menu_text.c (get_entry_number): Move from here ...
19691 * normal/menu.c (get_entry_number): ... moved here.
19692 * include/grub/menu.h (grub_menu_get_default_entry_index):
19693 New prototype.
19694 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19695 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19696 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19697 (grub_menu_viewer_should_return): Likewise.
19698 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19699 * normal/menu_text.c (run_menu): Enable menu switching.
19700 * normal/menu_viewer.c (should_return): New variable.
19701 (menu_viewer_changed): Likewise.
19702 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19703 (grub_menu_viewer_should_return): New function.
19704 (menuviewer_write_hook): Likewise.
19705 (grub_menu_viewer_init): Likewise.
19706
197072010-02-06 Colin D Bennet <colin@gibibit.com>
197082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 Support for gfxterm in a window.
19711
19712 * include/grub/gfxterm.h: New file.
19713 * include/grub/video.h (struct grub_video_rect): New declaration.
19714 (grub_video_rect_t): Likewise.
19715 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19716 (refcount): New variable.
19717 (render_target): Likewise.
19718 (window): Likewise.
19719 (repaint_callback): Likewise.
19720 (grub_virtual_screen_setup): Use 'render_target'.
19721 (init_window): New function.
19722 (grub_gfxterm_init_window): Likewise.
19723 (grub_gfxterm_init): Check reference counter.
19724 Use init_window.
19725 (destroy_window): New function.
19726 (grub_gfxterm_destroy_window): Likewise.
19727 (grub_gfxterm_fini): Check reference counter.
19728 Use destroy_window.
19729 (redraw_screen_rect): Restore viewport.
19730 Use 'render_target' and 'window'.
19731 Call 'repaint_callback'.
19732 (write_char): Use 'render_target'.
19733 (draw_cursor): Likewise.
19734 (scroll_up): Restore viewport.
19735 Use 'render_target' and 'window'.
19736 Call 'repaint_callback'.
19737 (grub_gfxterm_cls): Likewise.
19738 (grub_gfxterm_refresh): Use 'window'.
19739 (grub_gfxterm_set_repaint_callback): New function.
19740 (grub_gfxterm_background_image_cmd): Use 'window'.
19741 (grub_gfxterm_get_term): New function.
19742 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19743
197442010-02-06 Colin D Bennett <colin@gibibit.com>
19745
19746 Bitmap scaling support.
19747
19748 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19749 (bitmap_scale_mod_SOURCES): New variable.
19750 (bitmap_scale_mod_CFLAGS): Likewise.
19751 (bitmap_scale_mod_LDFLAGS): Likewise.
19752 * include/grub/bitmap_scale.h: New file.
19753 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19754 (background_image_cmd_options): New variable.
19755 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19756 (cmd): Rename and change type to ...
19757 (background_image_cmd_handle): ... this. All users updated.
19758 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19759 * video/bitmap_scale.c: New file.
19760
197612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 SDL support.
19764
19765 * Makefile.in (LIBSDL): New variable.
19766 (enable_grub_emu_sdl): Likewise.
19767 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19768 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19769 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19770 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19771 * util/sdl.c: New file.
19772
197732010-02-06 Colin D Bennett <colin@gibibit.com>
197742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 Double buffering support.
19777
19778 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19779 * include/grub/video.h: Update comment.
19780 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19781 New type.
19782 (grub_video_fb_doublebuf_blit_init): New prototype.
19783 * term/gfxterm.c (scroll_up): Support double buffering.
19784 (grub_gfxterm_refresh): Likewise.
19785 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19786 (grub_video_fb_doublebuf_blit_init): Likewise.
19787 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19788 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19789 'displayed_page', 'render_page' and 'update_screen'.
19790 (grub_video_vbe_fini): Free offscreen buffer.
19791 (doublebuf_pageflipping_commit): New function.
19792 (doublebuf_pageflipping_update_screen): Likewise.
19793 (doublebuf_pageflipping_init): Likewise.
19794 (double_buffering_init): Likewise.
19795 (grub_video_vbe_setup): Enable doublebuffering.
19796 (grub_video_vbe_swap_buffers): Implement.
19797 (grub_video_vbe_set_active_render_target): Handle double buffering.
19798 (grub_video_vbe_get_active_render_target): Likewise.
19799 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19800 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19801 (grub_video_vbe_enable_double_buffering): Likewise.
19802 (grub_video_vbe_swap_buffers): Use update_screen.
19803 (grub_video_set_mode): Use double buffering.
19804
198052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19806
19807 * maintainance/gentrigtables.py: Remove.
19808 * lib/trig.c: Likewise.
19809
19810 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19811
19812 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19813 `trigtables.c'.
19814 (trigtables.c): New rule.
19815 (gentrigtables): Likewise.
19816 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19817
198182010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19819
19820 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19821 integer constants.
19822
198232010-02-06 Colin D Bennet <colin@gibibit.com>
19824
19825 Trigonometry support.
19826
19827 * include/grub/trig.h: New file.
19828 * lib/trig.c: Likewise.
19829 * maintainance/gentrigtables.py: Likewise.
19830 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19831 (trig_mod_SOURCES): New variable.
19832 (trig_mod_CFLAGS): Likewise.
19833 (trig_mod_LDFLAGS): Likewise.
19834
5562834e
VS
198352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19836
19837 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19838 disk devices.
19839
4f8528fc
VS
198402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19843 error.
19844
2b4068e9
VS
198452010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * util/hostdisk.c (open_device): Don't use partition device when reading
19848 before the partition.
19849 (grub_util_biosdisk_read): Don't read from partition and before the
19850 partition in single operation.
19851 (grub_util_biosdisk_write): Don't write to partition and before the
19852 partition in single operation.
19853
399f6e4d
TL
198542010-02-03 Torsten Landschoff <torsten@debian.org>
19855
19856 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19857 last sectors.
19858
996649b0
VS
198592010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19862 CDROM reads.
19863 (grub_biosdisk_write): Refuse to write to CDROM.
19864
3b205d4d
VS
198652010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19868
61e89d9d
VS
198692010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * font/font.c (find_glyph): Check that bmp_idx is available before
19872 using it.
19873 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19874 with (font == NULL).
19875
bf7fcba2
CS
198762010-01-28 Christian Schmitt <chris@ilovelinux.de>
19877
19878 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19879
f45d2663
BC
198802010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19881
19882 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19883 * util/grub-script-check.c (getline): Fix empty lines case.
19884
ec1444e6
RM
198852010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19886
19887 * Makefile.in (check): Exit with fail status when one of the tests
19888 fails.
19889 * tests/example_functional_test.c (example_test): Fix reversed assert.
19890 * tests/example_unit_test.c (example_test): Likewise.
19891
2e1cb9bb
CW
198922010-01-28 Colin Watson <cjwatson@ubuntu.com>
19893
19894 * util/grub.d/10_linux.in: This script does not use any of the
19895 contents of gettext.sh, only the external command `gettext', so stop
19896 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19897 the same prefix as GRUB.)
19898 * util/grub.d/10_kfreebsd.in: Likewise.
19899
63533ab0
VS
199002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19903 of the line.
19904
989e1f93
VS
199052010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19908 last sectors.
19909
e709ebe2
VS
199102010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19913 having a 4KiB and not 32KiB buffer size.
19914
27dea7ed
RM
199152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 * util/hostfs.c: Include `<errno.h>'.
19918 (grub_hostfs_read): Handle errors from fseeko() and fread().
19919
67667b9c
RM
199202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19921
19922 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19923 loop when using read hooks on files whose size isn't sector-aligned.
19924
c294d9d8
RM
199252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19926
19927 Remove unused parameter.
19928
19929 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19930 (grub_iso9660_open): Remove initialization of `data->length'.
19931
af75a9f1
RM
199322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19933
19934 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19935 memleak conditions.
19936
254e2ce5 199372010-01-27 Carles Pina i Estany <carles@pina.cat>
19938
19939 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19940 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19941
b510928c 199422010-01-26 Carles Pina i Estany <carles@pina.cat>
19943
19944 * util/bin2h.c (usage): Fix warning (space after backslash).
19945
aa2f9dd2 199462010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19947
19948 * font/font.c: Include `grub/fontformat.h.
19949 Remove font file format constants.
19950 (grub_font_load): Use the new macros.
19951 * include/grub/fontformat.h: New file.
19952 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19953 (write_font_pf2): Use the new macros.
19954
94e7e712
RM
199552010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19956
19957 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19958 does.
19959
3973a59a
RM
199602010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19961
19962 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19963
19964 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19965 (_start): Macroify `0x7F'.
19966
19967 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19968 (make_install_device): Use "(pxe)" as fallback prefix when booting
19969 via PXE.
19970
42e0cba3
GS
199712010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * configure.ac: Reset LIBS after check for libgcc symbols.
19974
847effd8
CW
199752010-01-25 Colin Watson <cjwatson@ubuntu.com>
19976
19977 * util/hostdisk.c (open_device): Add trailing newline to debug
19978 message.
19979
ea4a7e35
GS
199802010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19981
19982 * configure.ac: Check for `limits.h'.
19983 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19984
67951a53
RM
199852010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19988 capitalize error strings.
19989
c273d4ce
ST
199902010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19991
19992 * util/grub.d/10_hurd.in: Add a recovery mode.
19993
69be5b74
VS
199942010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * configure.ac: Check for libgcc symbols with -nostdlib.
19997
fc9e5810
BC
199982010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19999
20000 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20001
4b358c0a
VS
200022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20005 stack since heap may be unavailable at that point.
20006 (grub_ofconsole_gotoxy): Likewise.
20007
454fcd1c
VS
200082010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * configure.ac: Check for _restgpr_14_x.
20011 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20012 and _savegpr_* prototypes.
20013
566863ca
RM
200142010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20015
20016 Use generic grub_reboot() for i386-efi.
20017
20018 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20019 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20020 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20021
bf86e59a
VS
200222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20025 presence of "prefix" variable as it breaks when normal.mod is
20026 embedded.
20027
d645e0f8
VS
200282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20031 stack since heap is unavailable at that point.
20032
f9ab2e25
VS
200332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20036 (grub_freebsd_bootinfo): Rewritten.
20037 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20038
01fc7054
VS
200392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20042
caab4fd6
RM
200432010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20044
20045 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20046 domain now.
20047
67eb1427
FZ
200482010-01-20 Felix Zielcke <fzielcke@z-51.de>
20049
20050 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20051 around for handling "/" to the correct fix. Fix a memory leak. Use
20052 xstrdup instead of strdup.
20053
a9ed4ff3
VS
200542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20057
200582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20059
20060 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20061
20062 * font/font.c (struct grub_font): New member 'bmp_idx'.
20063 (font_init): Initialise 'bmp_idx'.
20064 (load_font_index): Fill 'bmp_idx'.
20065 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20066
48209f4f
VS
200672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20070 unnecessary calls.
20071
9f0a4bb7
VS
200722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 Move context handling out of the kernel.
20075
20076 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20077 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20078 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20079 * conf/i386-efi.rmk: Likewise.
20080 * conf/i386-ieee1275.rmk: Likewise.
20081 * conf/i386-pc.rmk: Likewise.
20082 * conf/powerpc-ieee1275.rmk: Likewise.
20083 * conf/sparc64-ieee1275.rmk: Likewise.
20084 * conf/x86_64-efi.rmk: Likewise.
20085 * include/grub/env.h: Include grub/menu.h.
20086 (grub_env_var_type): Removed.
20087 (grub_env_var): Replaced field 'type' with 'global'.
20088 (grub_env_find): New prototype.
20089 (grub_env_context_open): Remove EXPORT_FUNC.
20090 (grub_env_context_close): Likewise.
20091 (grub_env_export): Likewise.
20092 (grub_env_set_data_slot): Removed.
20093 (grub_env_get_data_slot): Likewise.
20094 (grub_env_unset_data_slot): Likewise.
20095 (grub_env_unset_menu): New prototype.
20096 (grub_env_set_menu): Likewise.
20097 (grub_env_get_menu): Likewise.
20098 * include/grub/env_private.h: New file.
20099 * include/grub/normal.h (grub_context_init): New prototype.
20100 (grub_context_fini): Likewise.
20101 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20102 * normal/context.c (grub_cmd_export): ... to here.
20103 * kern/env.c: Include env_private.h.
20104 (HASHSZ): Moved to include/grub/env_private.h.
20105 (grub_env_context): Likewise.
20106 (grub_env_sorted_var): Likewise.
20107 (current_context): Renamed from this ...
20108 (grub_current_context): ...to this. 'static' removed. All users updated.
20109 (grub_env_find): Removed 'static'.
20110 (grub_env_context_open): Moved to normal/context.c.
20111 (grub_env_context_close): Likewise.
20112 (grub_env_export): Likewise.
20113 (mangle_data_slot_name): Removed.
20114 (grub_env_set_data_slot): Likewise.
20115 (grub_env_get_data_slot): Likewise.
20116 (grub_env_unset_data_slot): Likewise.
20117 * kern/main.c (grub_set_root_dev): Don't export root.
20118 It will be done later.
20119 (grub_main): Don't export prefix.
20120 It will be done later.
20121 * normal/context.c: New file.
20122 * normal/main.c (free_menu): Use grub_env_unset_menu.
20123 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20124 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20125 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20126 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20127
8dd35b8c
VS
201282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 setpci support.
20131
20132 * commands/setpci.c: New file.
20133 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20134 (setpci_mod_SOURCES): New variable.
20135 (setpci_mod_CFLAGS): Likewise.
20136 (setpci_mod_LDFLAGS): Likewise.
20137
449193d5
VS
201382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 Byte-addressable PCI configuration space.
20141
20142 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20143 dword address.
20144 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20145 GRUB_PCI_REG_CACHELINE.
20146 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20147 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20148 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20149 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20150 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20151 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20152 grub_pci_make_address.
20153 (lock_rom_area): Likewise.
20154 * commands/lspci.c (grub_lspci_iter): Use macroses
20155 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20156 of grub_pci_make_address.
20157 * disk/ata.c (grub_ata_pciinit): Likewise.
20158 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20159 (GRUB_PCI_REG_VENDOR): Likewise.
20160 (GRUB_PCI_REG_DEVICE): Likewise.
20161 (GRUB_PCI_REG_COMMAND): Likewise.
20162 (GRUB_PCI_REG_STATUS): Likewise.
20163 (GRUB_PCI_REG_REVISION): Likewise.
20164 (GRUB_PCI_REG_CLASS): Likewise.
20165 (GRUB_PCI_REG_CACHELINE): Likewise.
20166 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20167 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20168 (GRUB_PCI_REG_BIST): Likewise.
20169 (GRUB_PCI_REG_ADDRESSES): Likewise.
20170 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20171 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20172 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20173 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20174 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20175 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20176 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20177 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20178 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20179 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20180 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20181 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20182 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20183 (GRUB_PCI_REG_MIN_GNT): Likewise.
20184 (GRUB_PCI_REG_MAX_LAT): Likewise.
20185 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20186 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20187 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20188 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20189 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20190 space.
20191
96d73208
RM
201922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20193
20194 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20195 can be reliably determined to be supported.
20196
d4484482
RM
201972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20198
20199 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20200 that VESA is supported.
20201 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20202 supported.
20203
00308ecf
VS
202042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20207
f66924a4
RM
202082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20209
20210 * util/misc.c (make_system_path_relative_to_its_root): Work around
20211 special-casing of "/", as previous incarnation of this routine did.
20212
cbca0ada
VS
202132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 Fix any-emu compilation.
20216
20217 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20218 * grub_bin2h_SOURCES: New variable.
20219
34a66d99
RM
202202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20221
20222 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20223
94fabf58
RM
202242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20225
20226 * util/grub.d/00_header.in: Fix handling of locale_dir.
20227
02cf98ca
VS
202282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20231 as possible unifont location (Gentoo).
20232 Reported by: Alexander Brüning
20233
327dbcd7
VS
202342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Don't try to generate lists for kernel.img.
20237
20238 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20239 (pkglib_MODULES): Remove kernel.img.
20240 (kernel_img_EXPORTS): Removed.
20241 (kernel_img_RELOCATABLE): New variable.
20242 * conf/x86_64-efi.rmk: Likewise.
20243 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20244
ca467290
VS
202452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20248 grub_xasprintf or grub_snprintf.
20249 (grub_vsprintf): Likewise.
20250 (grub_snprintf): New proto.
20251 (grub_vsnprintf): Likewise.
20252 (grub_xasprintf): Likewise.
20253 (grub_xvasprintf): Likewise.
20254 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20255 (grub_sprintf): Removed.
20256 (grub_vsnprintf): New function.
20257 (grub_snprintf): Likewise.
20258 (grub_xvasprintf): Likewise.
20259 (grub_xasprintf): Likewise.
20260 (grub_vsprintf): Renamed to ...
20261 (grub_vsnprintf_real): ...this. New argument max_len.
20262
aca655fd
BC
202632010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20264
20265 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20266 fix grub-script-check warning.
20267
7ee92c32
VS
202682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * include/grub/font.h (grub_font_load): Fix prototype.
20271
f80927ca
VS
202722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20275
119c50ea
VS
202762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20277
20278 * include/grub/x86_64/at_keyboard.h: New file.
20279
47d5f3c1
VS
202802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 * loader/mips/linux.c: Include missing grub/i18n.h.
20283
55ff5266
RM
202842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 * normal/menu.c (notify_execution_failure): Clarify error message.
20287
c893cc87
RM
202882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20289
20290 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20291 return value (and revert all return statements). Update users.
20292
917dd370
CW
202932010-01-20 Dan Merillat <debian@dan.merillat.org>
20294
20295 * kern/device.c (grub_device_iterate): Allocate new part_ent
20296 structure based on sizeof (*p) rather than sizeof (p->next), to
20297 account for structure padding.
20298
20299 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20300 disk is NULL, which might happen for LVM physical volumes with no
20301 LVM signature.
20302
d4a4ee57
RM
203032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20304
20305 * loader/mips/linux.c (grub_cmd_initrd)
20306 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20307
203082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20309
20310 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20311 (grub_video_video_init, grub_video_bitmap_init)
20312 (grub_font_manager_init, grub_term_gfxterm_init)
20313 (grub_at_keyboard_init): New extern declarations.
20314 (grub_machine_init): Initialize gfxterm and at_keyboard.
20315
20316 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20317
20318 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20319 `gfxterm.mod' into core image.
20320
20321 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20322 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20323 (kernel_img_FORMAT): Copy to ...
20324
20325 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20326 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20327 (kernel_img_FORMAT): ... here, and ...
20328
20329 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20330 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20331 (kernel_img_FORMAT): ... here.
20332
20333 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20334 and input (at_keyboard) terminals in kernel.
20335 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20336
20337 (pkglib_MODULES): Remove `pci.mod'.
20338 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20339 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20340 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20341 (at_keyboard_mod_LDFLAGS): Remove variables.
20342
203432010-01-11 Felix Zielcke <fzielcke@z-51.de>
20344
20345 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20346
203472009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20348
20349 * include/grub/mips/libgcc.h: Only export symbols for functions
20350 that libgcc provides.
20351
203522009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 MIPS support.
20355
20356 * bus/bonito.c: New file.
20357 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20358 GRUB_PCI_NUM_DEVICES.
20359 * term/i386/pc/serial.c: Move to ...
20360 * term/serial.c: ... here. All users updated.
20361 * util/i386/pc/grub-mkimage.c: Move to ...
20362 * util/grub-mkrawimage.c: ... here. All users updated.
20363 * term/i386/pc/at_keyboard.c: Move to ...
20364 * term/at_keyboard.c: ... here. All users updated.
20365 * conf/mips-qemu-mips.rmk: New file.
20366 * conf/mips-yeeloong.rmk: Likewise.
20367 * conf/mips.rmk: Likewise.
20368 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20369 mipsel-qemu-mips.
20370 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20371 to port addresses.
20372 (grub_ata_pciinit): Support CS5536.
20373 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20374 * font/font_cmd.c (loadfont_command): Open file before passing it to
20375 grub_font_load.
20376 (pseudo_file_read): New function.
20377 (pseudo_file_close): Likewise.
20378 (pseudo_fs): New structure.
20379 (load_font_module): New function.
20380 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20381 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20382 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20383 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20384 * include/grub/i386/at_keyboard.h: Split into ...
20385 * include/grub/at_keyboard.h: ... this ...
20386 * include/grub/i386/at_keyboard.h: ... and this.
20387 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20388 New prototype.
20389 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20390 updated.
20391 (grub_elf64_size): Likewise.
20392 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20393 filename.
20394 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20395 * include/grub/i386/coreboot/serial.h: Rewritten.
20396 * include/grub/i386/ieee1275/serial.h: Include
20397 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20398 * include/grub/i386/pc/serial.h: Moved from here ...
20399 * include/grub/serial.h: ... to here. All users updated.
20400 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20401 (GRUB_PCI_NUM_BUS): Likewise.
20402 (GRUB_PCI_NUM_DEVICES): Likewise.
20403 (grub_pci_device_map_range): Add missing volatile keyword.
20404 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20405 * include/grub/mips/at_keyboard.h: New file.
20406 * include/grub/mips/cache.h: Likewise.
20407 * include/grub/mips/io.h: Likewise.
20408 * include/grub/mips/kernel.h: Likewise.
20409 * include/grub/mips/libgcc.h: Likewise.
20410 * include/grub/mips/pci.h: Likewise.
20411 * include/grub/mips/qemu-mips/boot.h: Likewise.
20412 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20413 * include/grub/mips/qemu-mips/loader.h: Likewise.
20414 * include/grub/mips/qemu-mips/memory.h: Likewise.
20415 * include/grub/mips/qemu-mips/serial.h: Likewise.
20416 * include/grub/mips/qemu-mips/time.h: Likewise.
20417 * include/grub/mips/relocator.h: Likewise.
20418 * include/grub/mips/time.h: Likewise.
20419 * include/grub/mips/types.h: Likewise.
20420 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20421 * include/grub/mips/yeeloong/boot.h: Likewise.
20422 * include/grub/mips/yeeloong/kernel.h: Likewise.
20423 * include/grub/mips/yeeloong/loader.h: Likewise.
20424 * include/grub/mips/yeeloong/memory.h: Likewise.
20425 * include/grub/mips/yeeloong/pci.h: Likewise.
20426 * include/grub/mips/yeeloong/serial.h: Likewise.
20427 * include/grub/mips/yeeloong/time.h: Likewise.
20428 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20429 * kern/elf.c (grub_elf32_size): New parameter. All users
20430 updated.
20431 (grub_elf64_size): Likewise.
20432 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20433 Load modules before saying "Welcome to GRUB!".
20434 Call grub_refresh after saying "Welcome to GRUB!".
20435 * kern/mips/cache.S: New file.
20436 * kern/mips/cache_flush.S: Likewise.
20437 * kern/mips/dl.c: Likewise.
20438 * kern/mips/init.c: Likewise.
20439 * kern/mips/qemu-mips/init.c: Likewise.
20440 * kern/mips/startup.S: Likewise.
20441 * kern/mips/yeeloong/init.c: Likewise.
20442 * kern/term.c (grub_putcode): Handle NULL terminal.
20443 (grub_getcharwidth): Likewise.
20444 (grub_getkey): Likewise.
20445 (grub_checkkey): Likewise.
20446 (grub_getkeystatus): Likewise.
20447 (grub_getxy): Likewise.
20448 (grub_getwh): Likewise.
20449 (grub_gotoxy): Likewise.
20450 (grub_cls): Likewise.
20451 (grub_setcolorstate): Likewise.
20452 (grub_setcolor): Likewise.
20453 (grub_getcolor): Likewise.
20454 (grub_refresh): Likewise.
20455 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20456 (write_jump): Add hatch nop.
20457 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20458 * lib/mips/setjmp.S: New file.
20459 * loader/mips/linux.c: Likewise.
20460 * term/i386/pc/at_keyboard.c: Move from here ...
20461 * term/at_keyboard.c: ... to here.
20462 * term/i386/pc/serial.c: Moved from here ...
20463 * term/serial.c: ... to here. All users updated.
20464 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20465 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20466 (serial_translate_key_sequence): Avoid deadlock.
20467 (grub_serial_getkey): Handle backspace.
20468 (grub_serial_putchar): Fix newline handling.
20469 * util/i386/pc/grub-mkimage.c: Move from here ...
20470 * util/grub-mkrawimage.c: ... to here. All users updated.
20471 (generate_image): New parameters 'font_path' and 'format'.
20472 Support embedding font.
20473 Use grub_host_to_target* instead of grub_cpu_to_le*.
20474 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20475 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20476 (options): New option "--font".
20477 (usage): Likewise.
20478 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20479 (main): Handle "--font".
20480 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20481 (grub_virtual_screen_setup): Set bg_color_display.
20482 (redraw_screen_rect): Use bg_color_display instead of incorrect
20483 bg_color.
20484 (grub_gfxterm_cls): Likewise.
20485 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20486 Support embedding config file.
20487 (add_segments): Likewise.
20488 (options): New option "--config".
20489 (main): Handle "--config".
20490 * video/sm712.c: New file.
20491
25c2b5b3
RM
204922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20493
20494 Fix parallel builds.
20495
20496 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20497 font.c depend on ascii.h).
20498
204992010-01-12 Carles Pina i Estany <carles@pina.cat>
20500
20501 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20502
205032010-01-11 Carles Pina i Estany <carles@pina.cat>
20504
20505 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20506 By default: disabled.
20507 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20508 parameter.
20509
205102010-01-10 Carles Pina i Estany <carles@pina.cat>
20511
20512 * font/font.c: Update copyright years.
20513 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20514
205152010-01-10 Carles Pina i Estany <carles@pina.cat>
20516
20517 * font/font.c: Include `ascii.h'.
20518 (ASCII_BITMAP_SIZE): New macro.
20519 (ascii_font_glyph): Define.
20520 (ascii_glyph_lookup): New function.
20521 (grub_font_get_string_width): Change comment. If glyph not found, use
20522 ascii_glyph_lookup.
20523 (grub_font_get_glyph_with_fallback): If glyph not available returns
20524 ascii_glyph_lookup.
20525 * util/grub-mkfont.c (file_formats): New enum.
20526 (options): Add `ascii-bitmaps' new option.
20527 (usage): Add `asii-bitmaps' new option.
20528 (write_font_ascii_bitmap): New function.
20529 (write_font): Rename to ...
20530 (write_font_p2): ... this. Remove print_glyphs call.
20531 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20532 used. Call print_glyphs.
20533 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20534
205352010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20536
20537 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20538 (grub_bin2h_SOURCES): New variable.
20539 * util/bin2h.c: New file.
20540
915fc1b8
VS
205412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * include/multiboot.h: Resynced with spec.
20544 * include/multiboot2.h: Likewise.
20545 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20546 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20547
9444b678
RM
205482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20549
20550 * include/grub/term.h (grub_term_register_input,
20551 grub_term_register_output): Check return of terminal init()
20552 routines, and abort if errors are raised.
20553
20554 * commands/terminal.c: Update copyright year.
20555
cba98e8d
RM
205562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20557
20558 * commands/terminal.c (grub_cmd_terminal_input)
20559 (grub_cmd_terminal_output): Check return of terminal init()
20560 routines, and abort if errors are raised.
20561
6f7db5d6
VS
205622010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * include/grub/i386/bsd.h: Fix include pathes.
20565
262bff8d
VS
205662010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 Add missing *BSD copyright headers.
20569
20570 * include/grub/aout.h: Add BSD licence.
20571 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20572 * include/grub/i386/freebsd_linker.h: ... here,
20573 * include/grub/i386/freebsd_reboot.h: ... here,
20574 * include/grub/i386/netbsd_bootinfo.h: ... here,
20575 * include/grub/i386/netbsd_reboot.h: ... here,
20576 * include/grub/i386/openbsd_bootarg.h: ... here,
20577 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20578 licence to each file.
20579
b2cab848
RM
205802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20581
20582 * acinclude.m4: Remove `nop' assembly instruction; it's not
20583 implemented by all architectures.
20584
2cb6be4b
RM
205852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20586
20587 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20588 ELILO. This is no longer necessary.
20589
a2eaee15
BC
205902010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20591
20592 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20593
20594 * util/grub-script-check.c: grub-script-check tool.
20595 * conf/common.rmk: Make rules for grub-script-check.
20596
88d17012
RM
205972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20598
20599 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20600 spotting it back in 2008. Shame on me for forgetting he did.
20601
20602 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20603
8040619d
RM
206042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20605
20606 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20607 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20608 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20609 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20610 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20611 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20612
a0c2a0f6
RM
206132010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20614
20615 * include/grub/test.h: Add license header.
20616 * tests/example_functional_test.c: Likewise.
20617 * tests/example_unit_test.c: Likewise.
20618 * tests/lib/functional_test.c: Likewise.
20619 * tests/lib/test.c: Likewise.
20620 * tests/lib/unit_test.c: Likewise.
20621
b0b13907
VS
206222010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 Use flag-based instead of hook-based video mode selection and "auto"
20625 keyword.
20626
20627 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20628 (grub_video_set_mode): Changed prototype. All users updated.
20629 (grub_video_check_mode_flag): New inline function.
20630 * video/video.c (parse_modespec): New function.
20631 (grub_video_set_mode): Parse flags and keywords.
20632
ea379330 206332010-01-17 Carles Pina i Estany <carles@pina.cat>
20634
20635 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20636 fprintf call.
20637
e15c215e
FZ
206382010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20639
20640 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20641
409ae1c9 206422010-01-16 Carles Pina i Estany <carles@pina.cat>
20643
20644 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20645 string.
20646 * util/grub-emu.c (usage): Likewise.
20647 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20648 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20649 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20650 * util/i386/pc/grub-setup.c (usage): Likewise.
20651
70a14d3d 206522010-01-16 Carles Pina i Estany <carles@pina.cat>
20653
20654 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20655 the message.
20656 (grub_util_info): Likewise.
20657 (grub_util_error): Likewise.
20658 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20659 and/or new lines in `grub_util_warna', `grub_util_info',
20660 `grub_util_error' calls.
20661 * util/getroot.c: Likewise.
20662 * util/grub-editenv.c: Likewise.
20663 * util/grub-emu.c: Likewise.
20664 * util/grub-fstest.c: Likewise.
20665 * util/grub-mkdevicemap.c: Likewise.
20666 * util/grub-mkfont.c: Likewise.
20667 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20668 * util/grub-mkrelpath.c: Likewise.
20669 * util/grub-pe2elf.c: Likewise.
20670 * util/grub-probe.c: Likewise.
20671 * util/hostdisk.c: Likewise.
20672 * util/i386/efi/grub-mkimage.c: Likewise.
20673 * util/i386/pc/grub-mkimage.c: Likewise.
20674 * util/i386/pc/grub-setup.c: Likewise.
20675 * util/ieee1275/ofpath.c: Likewise.
20676 * util/mkisofs/eltorito.c: Likewise.
20677 * util/mkisofs/rock.c: Likewise.
20678 * util/mkisofs/write.c: Likewise.
20679 * util/raid.c: Likewise.
20680 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20681 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20682
a0b766fc
VS
206832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 Enable multiboot on non-pc.
20686
20687 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20688 multiboot.mod and multiboot2.mod to ...
20689 * conf/i386.rmk (pkglib_MODULES): ... here.
20690 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20691 Moved to ...
20692 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20693 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20694 Moved to ...
20695 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20696 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20697 Moved to ...
20698 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20699 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20700 Moved to ...
20701 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20702 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20703 relocator.mod.
20704 (ata_mod_SOURCES): Removed.
20705 (ata_mod_CFLAGS): Likewise.
20706 (ata_mod_LDFLAGS): Likewise.
20707 (relocator_mod_SOURCES): Removed.
20708 (relocator_mod_CFLAGS): Likewise.
20709 (relocator_mod_ASFLAGS): Likewise.
20710 (relocator_mod_LDFLAGS): Likewise.
20711 Include i386.mk.
20712 * include/grub/x86_64/multiboot.h: New file.
20713 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20714 Terminate EFI.
20715
884ade56
VS
207162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 Video multiboot support.
20719
20720 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20721 New prototype.
20722 * include/multiboot.h: Resynced with multiboot specification.
20723 * include/multiboot2.h: Likewise.
20724 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20725 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20726 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20727 (HAS_VGA_TEXT): Likewise.
20728 (accepts_video): New variable.
20729 (grub_multiboot_set_accepts_video): New function.
20730 (grub_multiboot_get_mbi_size): Account for video structures.
20731 (set_video_mode): New function.
20732 (retrieve_video_parameters): Likewise.
20733 (grub_multiboot_make_mbi): Fill video fields.
20734
0d90e8a6
VS
207352010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20736
20737 Video driver ids.
20738
20739 * include/grub/video.h (grub_video_driver_id): New type.
20740 (grub_video_adapter): New member 'id'. All users updated.
20741 (grub_video_get_driver_id): New proto.
20742 * video/video.c (grub_video_get_driver_id): New function.
20743
5c71db1b 207442010-01-14 Carles Pina i Estany <carles@pina.cat>
20745
20746 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20747 `var=val'.
20748
cca15b52 207492010-01-14 Carles Pina i Estany <carles@pina.cat>
20750
20751 * normal/cmdline.c (print_completion): Gettextizze.
20752
c586fbb2 207532001-01-14 Carles Pina i Estany <carles@pina.cat>
20754
20755 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20756
ba2f6848 207572010-01-14 Carles Pina i Estany <carles@pina.cat>
20758
20759 * gettext/gettext.c (grub_gettext_translate): Push and pop
20760 grub_errno.
20761 (grub_gettext_delete_list): Change comment style.
20762 * kern/err.c (grub_error): Gettextizze.
20763 (grub_fatal): Gettextizze.
20764
0a46429a
RM
207652010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20766
20767 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20768 (grub_linux16_real_boot): ... this.
20769 * kern/i386/loader.S: Likewise.
20770 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20771 (grub_linux16_boot): New function. Switches to text mode and calls
20772 grub_linux16_real_boot().
20773
20774 * loader/i386/bsd.c: Include `<grub/video.h>'.
20775 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20776 text mode before calling grub_unix_real_boot().
20777
20778 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20779 (grub_multiboot_boot): Switch to text mode before calling
20780 grub_relocator32_boot().
20781
20782 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20783 (grub_chainloader_boot): Switch to text mode before calling
20784 grub_chainloader_real_boot().
20785
d6f93a66
RM
207862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207872010-01-05 Colin Watson <cjwatson@ubuntu.com>
20788
20789 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20790 non-empty value.
20791
207922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207932010-01-05 Colin Watson <cjwatson@ubuntu.com>
20794
20795 * util/grub.d/00_header.in: Define a "savedefault" function for use
20796 in menu entries.
20797 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20798
207992010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
208002010-01-05 Colin Watson <cjwatson@ubuntu.com>
20801
20802 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20803 saved_entry if boot_once is unset.
20804 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20805 previous saved entry (i.e. grub-reboot).
20806
208072009-12-08 Colin Watson <cjwatson@ubuntu.com>
20808
20809 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20810
208112009-12-08 Colin Watson <cjwatson@ubuntu.com>
20812
20813 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20814 `var=val'.
20815 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20816
208172009-12-08 Colin Watson <cjwatson@ubuntu.com>
20818
20819 * util/grub-reboot.in: Fix --version output.
20820 * util/grub-set-default.in: Likewise.
20821
208222009-12-08 Colin Watson <cjwatson@ubuntu.com>
20823
20824 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20825 blocks.
20826
208272009-12-08 Colin Watson <cjwatson@ubuntu.com>
20828
20829 * util/grub.d/00_header.in: Quote the value assigned to `default',
20830 in case it contains spaces.
20831
208322009-12-08 Colin Watson <cjwatson@ubuntu.com>
20833
20834 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20835 `save_default_entry' call from the macosx case to the linux case.
20836
208372009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
208382009-10-25 Colin Watson <cjwatson@ubuntu.com>
20839
20840 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20841 in `chosen' environment variable.
20842 * normal/menu_text.c (get_entry_number): Check if the variable
20843 matches the title of a menu entry.
20844 (run_menu): Pass menu to get_entry_number.
20845
20846 * util/grub-reboot.in: New file.
20847 * util/grub-set-default.in: New file.
20848 * conf/common.rmk (grub-reboot): New utility.
20849 (grub-set-default): New utility.
20850
20851 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20852 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20853 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20854 move it to `saved_entry' for the next boot. Load environment on
20855 initialisation.
20856 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20857 * util/grub.d/10_hurd.in: Likewise.
20858 * util/grub.d/10_linux.in (linux_entry): Likewise.
20859 * util/grub.d/10_windows.in: Likewise.
20860 * util/grub.d/30_os-prober.in: Likewise.
20861
20862 * util/grub-install.in: Create environment block.
20863 * util/i386/efi/grub-install.in: Likewise.
20864 * util/ieee1275/grub-install.in: Likewise.
20865 * util/sparc64/ieee1275/grub-install.in: Likewise.
20866
0934d184
BC
208672010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20868
20869 Unit testing framework for GRUB.
20870
20871 * Makefile.in: Test framework build rules for 'make check'.
20872 * conf/tests.rmk: Build rules for individual tests and framework.
20873
20874 * include/grub/test.h: Header file for whitebox tests.
20875 * tests/lib/functional_test.c: Framework support for whitebox
20876 functional tests.
20877 * tests/lib/test.c: Common whitebox testing code for unit and
20878 functional tests.
20879 * tests/lib/unit_test.c: Framework support for whitebox unit
20880 tests.
20881
20882 * tests/util/grub-shell-tester.in: Support utility for grub-script
20883 tests.
20884 * tests/util/grub-shell.in: Utility to execute grub-script
20885 commands in a Qemu instance.
20886
20887 * tests/example_functional_test.c: Example whitebox functional
20888 test.
20889 * tests/example_grub_script_test.in: Example grub-script test.
20890 * tests/example_scripted_test.in: Example scripted test.
20891 * tests/example_unit_test.c: Example whitebox unit test.
20892
9c4ffeeb
VS
208932010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20896 Add loader/i386/multiboot_mbi.c.
20897 (multiboot2_mod_SOURCES): Likewise.
20898 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20899 (multiboot2_mod_SOURCES): Likewise.
20900 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20901 (grub_multiboot_make_mbi): Likewise.
20902 (grub_multiboot_free_mbi): Likewise.
20903 (grub_multiboot_init_mbi): Likewise.
20904 (grub_multiboot_add_module): Likewise.
20905 (grub_multiboot_set_bootdev): Likewise.
20906 * loader/i386/multiboot.c (mbi): Removed.
20907 (mbi_dest): Likewise.
20908 (alloc_mbi): New variable.
20909 (grub_multiboot_payload_size): Removed. All users updated.
20910 (grub_multiboot_pure_size): New variable.
20911 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20912 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20913 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20914 (grub_fill_multiboot_mmap): Likewise.
20915 (grub_multiboot_get_bootdev): Likewise.
20916 (grub_multiboot): Use multiboot_mbi functions.
20917 * loader/i386/multiboot_mbi.c: New file.
20918
17383dfe
VS
209192010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20922 it would result in module crash.
20923
c1f28820
VS
209242010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20927 (grub_ofconsole_getwh): Split to ...
20928 (grub_ofconsole_getwh): ... this.
20929 (grub_ofconsole_dimensions): ...and this.
20930 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20931
58655a16
RM
209322010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20933
20934 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20935
10891398
VS
209362010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20937
20938 * loader/i386/pc/multiboot2.c: Removed stalled file.
20939
0b8a223c
VS
209402010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20943 Reported by: Grégoire Sutre
20944
92ab12b0
RM
209452010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20946
20947 * util/misc.c (canonicalize_file_name): New function.
20948 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20949 instead of realpath().
20950
a788afb6
CW
209512010-01-11 Colin Watson <cjwatson@ubuntu.com>
20952
20953 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20954 and make it clearer that it's optional. Based on confusion
20955 witnessed on IRC.
20956
ffa8e3d2
VS
209572010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20960 in premature implicit newline.
20961
e9060a9d
VS
209622010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20965 which resulted in garbled command line at the end of screen.
20966
f0d0c0b7
RM
209672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20968
20969 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20970 initialization with similar approach as with other Linux loaders.
20971
0e60bae7
RM
209722010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20973
20974 Fix i386-ieee1275 build.
20975
20976 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20977 and grub_term_height() for video_{width,height} initialization.
20978
209792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20980
20981 Fix grub-emu build.
20982
20983 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20984
cdb3f378
RM
209852010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
209862010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20987
20988 Support for multiple terminals.
20989
20990 * Makefile.in (pkglib_DATA): terminal.lst.
20991 (terminal.lst): New target.
20992 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20993 (GRUB_MOD_INIT(handler)): Likewise.
20994 (GRUB_MOD_FINI(handler)): Likewise.
20995 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20996 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20997 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20998 (grub_cmd_sleep): Use grub_term_save_pos.
20999 * commands/terminal.c: New file.
21000 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21001 commands/terminal.c and lib/charset.c.
21002 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21003 (pkglib_MODULES): Add terminal.mod.
21004 (terminal_mod_SOURCES): New variable.
21005 (terminal_mod_CFLAGS): Likewise.
21006 (terminal_mod_LDFLAGS): Likewise.
21007 * genhandlerlist.sh: Don't handle terminals.
21008 * genmk.rb: Generate terminal-*.lst.
21009 * genterminallist.sh: New file.
21010 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21011 (grub_is_valid_utf8): Likewise.
21012 (grub_utf8_to_ucs4_alloc): Likewise.
21013 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21014 (grub_menu_register_viewer): Changed argument.
21015 (grub_menu_try_text): New proto.
21016 (grub_gfxmenu_try_hook): New declaration.
21017 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21018 (grub_menu_init_page): Additional argument term.
21019 (grub_normal_init_page): Likewise.
21020 (grub_cmdline_get): Arguments simplified.
21021 (grub_utf8_to_ucs4_alloc): Removed.
21022 (grub_print_ucs4): Additional argument term.
21023 (grub_getstringwidth): Likewise.
21024 (grub_print_message_indented): Likewise.
21025 (grub_menu_text_register_instances): New proto.
21026 (grub_show_menu): Likewise.
21027 (read_terminal_list): Likewise.
21028 (grub_set_more): Likewise.
21029 * include/grub/parser.h: Include handler.h.
21030 * include/grub/reader.h: Rewritten.
21031 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21032 (GRUB_TERM_WIDTH): Changed to function.
21033 (GRUB_TERM_HEIGHT): Likewise.
21034 (GRUB_TERM_BORDER_WIDTH): Likewise.
21035 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21036 (GRUB_TERM_NUM_ENTRIES): Likewise.
21037 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21038 (GRUB_TERM_CURSOR_X): Likewise.
21039 (grub_term_input_class): Likewise.
21040 (grub_term_output_class): Likewise.
21041 (grub_term_outputs_disabled): New declaration.
21042 (grub_term_inputs_disabled): Likewise.
21043 (grub_term_outputs): Likewise.
21044 (grub_term_inputs): Likewise.
21045 (grub_term_register_input): Rewritten.
21046 (grub_term_register_output): Likewise.
21047 (grub_term_unregister_input): Likewise.
21048 (grub_term_unregister_output): Likewise.
21049 (FOR_ACTIVE_TERM_INPUTS): New macro.
21050 (FOR_DISABLED_TERM_INPUTS): Likewise.
21051 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21052 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21053 * include/grub/terminfo.h: Add oterm argument to all protypes.
21054 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21055 Use grub_rescue_run.
21056 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21057 All users updated.
21058 * kern/reader.c: Removed. All users updated.
21059 * kern/rescue_reader.c (grub_rescue_init): Removed.
21060 (grub_rescue_reader): Likewise.
21061 (grub_register_rescue_reader): Likewise.
21062 (grub_rescue_run): New function based on kern/reader.c.
21063 * kern/term.c: Adapted for multiterm.
21064 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21065 (grub_is_valid_utf8): Likewise.
21066 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21067 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21068 right terminal.
21069 * loader/i386/linux.c (grub_linux_boot): Likewise.
21070 * normal/auth.c (grub_username_get): New function.
21071 (grub_auth_check_authentication): Use grub_username_get.
21072 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21073 * normal/color.c: Adapt for multiterm.
21074 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21075 (grub_normal_init_page): Additional argument term.
21076 (read_lists): Call read_terminal_lists.
21077 (grub_enter_normal_mode): Call grub_cmdline_run.
21078 Handle grub_normal_exit_level.
21079 (grub_cmd_normal): Make reentrant.
21080 (grub_cmd_normal_exit): New function.
21081 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21082 * normal/menu.c: Adapt for multiterm.
21083 * normal/menu_entry.c: Likewise.
21084 * normal/menu_text.c: Likewise.
21085 * normal/menu_viewer.c: Removed. All users updated.
21086 * normal/term.c: New file.
21087 * util/console.c: Change order of includes to workaround a bug in
21088 ncurses headers.
21089 * term/terminfo.c: New argument oterm on all exported functions.
21090 All users updated.
21091 * util/grub-editenv.c (grub_term_input_class): Removed.
21092 (grub_term_output_class): Likewise.
21093
1a064917
RM
210942010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21095
21096 Make loader output a bit more user-friendly.
21097
21098 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21099 is being loaded. Likewise for the Hurd.
21100
21101 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21102 that kernel of FreeBSD ${version} is being loaded.
21103
21104 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21105 grub_dprintf().
21106 (grub_cmd_initrd): Likewise.
21107 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21108 that Linux ${version} is being loaded. Likewise for initrd.
21109
5ce0a83a 211102010-01-09 Carles Pina i Estany <carles@pina.cat>
21111
21112 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21113
809bbfeb 211142010-01-08 Carles Pina i Estany <carles@pina.cat>
21115
21116 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21117 (GRUB_MOD_INIT): Gettextizze.
21118 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21119 (GRUB_MOD_INIT): Gettextizze.
21120 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21121 (grub_cmd_linux): Capitalise Linux.
21122 (GRUB_MOD_INIT): Gettextizze.
21123 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21124 (grub_cmd_linux): Capitalise Linux.
21125 (GRUB_MOD_INIT): Gettextizze.
21126 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21127 (grub_cmd_linux): Capitalise Linux.
21128 (GRUB_MOD_INIT): Gettextizze.
21129 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21130 (GRUB_MOD_INIT): Gettextizze.
21131 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21132 (grub_cmd_linux): Capitalise Linux.
21133 (GRUB_MOD_INIT): Gettextizze.
21134 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21135 (grub_cpu_xnu_init): Gettextizze.
21136 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21137 (GRUB_MOD_INIT): Gettextizze.
21138 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21139 (GRUB_MOD_INIT): Gettextizze.
21140 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21141 (grub_linux_load64): Capitalise Linux.
21142 (GRUB_MOD_INIT): Gettextizze.
21143 * loader/xnu.c: Include `<grub/i18n.h>'.
21144 (GRUB_MOD_INIT): Gettextizze.
21145 * po/POTFILES: Add `loader/efi/appleloader.c',
21146 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21147 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21148 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21149 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21150 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21151 and `loader/xnu.c'.
21152
b394b2ca
RM
211532010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21154
21155 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21156
211572010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21158
21159 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21160 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21161 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21162
bc8b32b3
RM
211632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21164
21165 Reset Multiboot 2 support. New loader implements the draft in
21166 /branches/multiboot2 and shares as much code as possible with the
21167 production Multiboot 1 implementation.
21168
21169 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21170 * loader/multiboot2.c: Likewise.
21171 * loader/i386/multiboot_helper.S: Likewise.
21172 * include/multiboot2.h: Replace with latest version from the draft
21173 in /branches/multiboot2.
21174
21175 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21176 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21177 and `loader/multiboot2.c'.
21178 (pkglib_MODULES): Add `multiboot2.mod'.
21179 (multiboot2_mod_SOURCES): New variable.
21180 (multiboot2_mod_LDFLAGS): Likewise.
21181 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21182
21183 * conf/i386-pc.rmk: Likewise.
21184
21185 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21186 (multiboot_mod_SOURCES): Remove variable.
21187 (multiboot_mod_LDFLAGS): Likewise.
21188 (multiboot_mod_CFLAGS): Likewise.
21189
21190 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21191 `<multiboot2.h>' instead of `<multiboot.h>'.
21192 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21193 (MULTIBOOT_HEADER_MAGIC): New macros.
21194
21195 * loader/multiboot_loader.c (module_version_status): Remove variable.
21196 (find_multi_boot2_header): Remove function.
21197 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21198 logic. Always check for the Multiboot version we're compiling for.
21199 (grub_cmd_module_loader): Likewise.
21200 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21201 command instead of `multiboot'.
21202
5d2c52b8
RM
212032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21204
21205 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21206 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21207 all users.
21208
53108d92
RM
212092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
212102010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 Fix breakage introduced with previous commit.
21213
21214 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21215 commands.
21216 * normal/handler.c (read_handler_list): Revert part of previous commit
21217 affecting this file.
21218 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21219 (grub_normal_execute): ... here.
21220
e2e936b2
RM
212212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21222
21223 Merge prefix-redefinition-fix branch.
21224
21225 * normal/autofs.c (read_fs_list): Make function capable of being
21226 run multiple times, gracefuly replacing the previous data
21227 structures.
21228 * normal/dyncmd.c (read_command_list): Likewise.
21229 * normal/handler.c (read_handler_list): Likewise.
21230 * normal/main.c (read_lists): New function. Calls all the
21231 list reading functions.
21232 (grub_normal_execute): Use read_lists() instead of calling all
21233 list reading functions explicitly. Register read_lists() as a
21234 variable hook attached to ${prefix}.
21235
607a3701
VS
212362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 Merge crypto branch.
21239
21240 * Makefile.in (pkglib_DATA): Add crypto.lst.
21241 (crypto.lst): New target.
21242 * commands/hashsum.c: New file.
21243 * commands/password.c (check_password): Use grub_crypto_memcmp.
21244 * commands/password_pbkdf2.c: New file.
21245 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21246 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21247 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21248 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21249 -I$(srcdir)/lib/libgcrypt_wrap.
21250 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21251 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21252 password_pbkdf2.mod.
21253 (crypto_mod_SOURCES): New variable.
21254 (crypto_mod_CFLAGS): Likewise.
21255 (crypto_mod_LDFLAGS): Likewise.
21256 (hashsum_mod_SOURCES): New variable.
21257 (hashsum_mod_CFLAGS): Likewise.
21258 (hashsum_mod_LDFLAGS): Likewise.
21259 (pbkdf2_mod_SOURCES): New variable.
21260 (pbkdf2_mod_CFLAGS): Likewise.
21261 (pbkdf2_mod_LDFLAGS): Likewise.
21262 (password_pbkdf2_mod_SOURCES): New variable.
21263 (password_pbkdf2_mod_CFLAGS): Likewise.
21264 (password_pbkdf2_mod_LDFLAGS): Likewise.
21265 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21266 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21267 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21268 Include conf/gcry.rmk.
21269 * include/grub/auth.h: Rewritten.
21270 * include/grub/crypto.h: New file.
21271 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21272 * include/grub/normal.h (read_crypto_list): New prototype.
21273 * lib/crypto.c: New file.
21274 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21275 * lib/pbkdf2.c: Likewise.
21276 * normal/auth.c (grub_auth_strcmp): Removed.
21277 (grub_iswordseparator): Likewise.
21278 (grub_auth_strword): Likewise.
21279 (is_authenticated): Use grub_strword.
21280 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21281 and grub_strword. Pass entered password to authentication callback.
21282 * normal/crypto.c: New file.
21283 * normal/main.c: Call read_crypto_list.
21284 * util/grub-mkpasswd-pbkdf2.c: New file.
21285 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21286
42841caa
VS
212872010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21288
21289 Fix descent and ascent calculation.
21290
21291 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21292 (options): New option "asce".
21293 (usage): Likewise.
21294 (add_char): Ignore invalid glyphs for descent calculation.
21295 Calculate ascent from actual content.
21296 (print_glyphs): Use 'asce'.
21297 (write_font): Likewise. Allow ascent override.
21298 (main): Handle "asce" option.
21299
e7730de7 213002010-01-06 Carles Pina i Estany <carles@pina.cat>
21301
21302 * kern/err.c: Include `<grub/i18n.h>'.
21303 (grub_print_error): Add full stop. Gettextizze.
21304 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21305 (grub_bsd_load_elf): Capitalise ELF.
21306 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21307 (grub_cmd_freebsd_module): Likewise.
21308 (grub_cmd_freebsd_module_elf): Likewise.
21309 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21310
40e3a41f 213112010-01-06 Carles Pina i Estany <carles@pina.cat>
21312
21313 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21314 * commands/search_file.c (HELP_MESSAGE): New macro.
21315 * commands/search_label.c (HELP_MESSAGE): Likewise.
21316 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21317 * po/POTFILES: Add `commands/search_file.c',
21318 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21319 `commands/search.c'.
21320
83507e68
RM
213212010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21322
21323 * config.rpath: Update from Gnulib.
21324
465c787b
YB
213252010-01-05 Yves Blusseau <blusseau@zetam.org>
21326
21327 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21328
6581dd3a
YB
213292010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21330
21331 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21332
3bff18c5
CW
213332010-01-05 Colin Watson <cjwatson@ubuntu.com>
21334
21335 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21336 arguments to fread so that we get a return value in bytes, rather
21337 than something that will normally be rounded down to 0.
21338 Adjust error handling to avoid producing garbage when size_t is not
21339 the same size as long long.
21340
a1368118
CW
213412010-01-05 Colin Watson <cjwatson@ubuntu.com>
21342
21343 * util/mkisofs/write.c (padblock_write): Check return value of
21344 fread.
21345
7c302978
RM
213462010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21347
21348 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21349 floppy images now.
21350
21351 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21352
e33ace06
RM
213532010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21354
21355 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21356 instead of manual alignment.
21357 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21358 verbose). Avoid attempts to read past end of the device
21359 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21360 but GRUB_DISK_CACHE_SIZE may exceed that).
21361
4b856776
RM
213622010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21363
21364 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21365 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21366 it to upper layer.
21367
52c2d97f
VS
213682010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21369
21370 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21371 New constant.
21372 (grub_efi_piwg_device_path): New structure
21373 (grub_efi_piwg_device_path_t): New type.
21374 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21375 (devpath_1): Transform to a structure. All users updated.
21376 (devpath_2): Likewise.
21377 (devpath_3): Likewise.
21378 (devpath_4): Likewise.
21379 (devpath_5): Likewise.
21380
98ff6a54
VS
213812010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * loader/efi/appleloader.c: Restored. Update all users.
21384
3a73dcb6
RM
213852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21386
21387 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21388
21389 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21390 (struct boot_blocklist): Move from here ...
21391 * include/grub/i386/pc/boot.h [ASM_FILE]
21392 (struct grub_boot_blocklist): ... to here. Update all users.
21393 (setup): Only initialize `start' member of `first_block'
21394 structure. Add assert() calls to verify the other members.
21395
21396 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21397 (generate_image): Fix broken blocklist length initialization.
21398 Add assert() call to verify blocklist `segment' field.
21399
ab0eeb0c
RM
214002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21401
21402 * loader/efi/appleloader.c: Remove. Update all users.
21403
58bc8bd5
RM
214042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * boot/i386/pc/boot.S: Update copyright year.
21407 * boot/i386/pc/cdboot.S: Likewise.
21408 * boot/i386/pc/diskboot.S: Likewise.
21409 * boot/i386/pc/lnxboot.S: Likewise.
21410 * boot/i386/pc/pxeboot.S: Likewise.
21411 * bus/pci.c: Likewise.
21412 * commands/cmp.c: Likewise.
21413 * commands/help.c: Likewise.
21414 * commands/hexdump.c: Likewise.
21415 * commands/i386/pc/halt.c: Likewise.
21416 * commands/i386/pc/play.c: Likewise.
21417 * commands/i386/pc/vbeinfo.c: Likewise.
21418 * commands/ls.c: Likewise.
21419 * commands/test.c: Likewise.
21420 * disk/dmraid_nvidia.c: Likewise.
21421 * disk/i386/pc/biosdisk.c: Likewise.
21422 * disk/ieee1275/nand.c: Likewise.
21423 * disk/ieee1275/ofdisk.c: Likewise.
21424 * disk/lvm.c: Likewise.
21425 * disk/raid.c: Likewise.
21426 * disk/raid6_recover.c: Likewise.
21427 * disk/scsi.c: Likewise.
21428 * fs/affs.c: Likewise.
21429 * fs/cpio.c: Likewise.
21430 * fs/ext2.c: Likewise.
21431 * fs/hfs.c: Likewise.
21432 * fs/iso9660.c: Likewise.
21433 * fs/ntfs.c: Likewise.
21434 * fs/sfs.c: Likewise.
21435 * fs/udf.c: Likewise.
21436 * fs/ufs.c: Likewise.
21437 * fs/xfs.c: Likewise.
21438 * gencmdlist.sh: Likewise.
21439 * genmk.rb: Likewise.
21440 * include/grub/disk.h: Likewise.
21441 * include/grub/efi/api.h: Likewise.
21442 * include/grub/efi/efi.h: Likewise.
21443 * include/grub/efi/pe32.h: Likewise.
21444 * include/grub/elf.h: Likewise.
21445 * include/grub/fs.h: Likewise.
21446 * include/grub/i386/at_keyboard.h: Likewise.
21447 * include/grub/i386/pc/memory.h: Likewise.
21448 * include/grub/i386/pc/vbe.h: Likewise.
21449 * include/grub/i386/pci.h: Likewise.
21450 * include/grub/i386/tsc.h: Likewise.
21451 * include/grub/ieee1275/ieee1275.h: Likewise.
21452 * include/grub/ntfs.h: Likewise.
21453 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21454 * include/grub/sparc64/libgcc.h: Likewise.
21455 * include/grub/symbol.h: Likewise.
21456 * include/grub/types.h: Likewise.
21457 * include/multiboot2.h: Likewise.
21458 * io/gzio.c: Likewise.
21459 * kern/device.c: Likewise.
21460 * kern/disk.c: Likewise.
21461 * kern/efi/efi.c: Likewise.
21462 * kern/efi/mm.c: Likewise.
21463 * kern/elf.c: Likewise.
21464 * kern/file.c: Likewise.
21465 * kern/i386/dl.c: Likewise.
21466 * kern/i386/pc/init.c: Likewise.
21467 * kern/i386/pc/startup.S: Likewise.
21468 * kern/ieee1275/ieee1275.c: Likewise.
21469 * kern/ieee1275/init.c: Likewise.
21470 * kern/main.c: Likewise.
21471 * kern/mm.c: Likewise.
21472 * kern/powerpc/dl.c: Likewise.
21473 * kern/sparc64/dl.c: Likewise.
21474 * kern/x86_64/dl.c: Likewise.
21475 * lib/hexdump.c: Likewise.
21476 * loader/efi/appleloader.c: Likewise.
21477 * loader/i386/ieee1275/linux.c: Likewise.
21478 * loader/i386/pc/chainloader.c: Likewise.
21479 * loader/i386/pc/linux.c: Likewise.
21480 * loader/i386/pc/multiboot2.c: Likewise.
21481 * loader/ieee1275/multiboot2.c: Likewise.
21482 * loader/multiboot2.c: Likewise.
21483 * loader/multiboot_loader.c: Likewise.
21484 * loader/powerpc/ieee1275/linux.c: Likewise.
21485 * normal/completion.c: Likewise.
21486 * normal/menu_entry.c: Likewise.
21487 * partmap/apple.c: Likewise.
21488 * util/grub.d/10_hurd.in: Likewise.
21489 * util/hostfs.c: Likewise.
21490 * video/readers/png.c: Likewise.
21491
e2d70b5c
CW
214922010-01-03 Colin Watson <cjwatson@ubuntu.com>
21493
21494 * include/grub/misc.h (GNUC_PREREQ): New macro.
21495 (ATTRIBUTE_ERROR): New macro.
21496 * include/grub/list.h (grub_bad_type_cast_real): Use
21497 ATTRIBUTE_ERROR.
21498
a173283f 214992010-01-03 Carles Pina i Estany <carles@pina.cat>
21500
21501 * normal/menu_text.c (print_message): Change messages.
21502
7fa7ff74 215032010-01-03 Carles Pina i Estany <carles@pina.cat>
21504
21505 * normal/menu_entry.c (store_completion): Gettextizze.
21506
136d24f6 215072010-01-03 Carles Pina i Estany <carles@pina.cat>
21508
21509 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21510
f936862e 215112010-01-03 Carles Pina i Estany <carles@pina.cat>
21512
21513 * po/POTFILES: Sort correctly.
21514
29c44ad1 215152010-01-03 Carles Pina i Estany <carles@pina.cat>
21516
21517 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21518 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21519 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21520 full stop.
21521 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21522 summary. Gettextizze the strings.
21523 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21524 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21525 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21526 full stop.
21527 (GRUB_MOD_INIT): Remove command name from summary.
21528 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21529 summary.
21530 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21531 * term/i386/pc/serial.c (options): Add full stops.
21532 (GRUB_MOD_INIT): Remove command name from the summary.
21533
77a79592 215342010-01-03 Carles Pina i Estany <carles@pina.cat>
21535
21536 * commands/acpi.c: Gettextizze help strings and/or options. Include
21537 `grub/i18n.h' if needed.
21538 * commands/blocklist.c: Likewise.
21539 * commands/boot.c: Likewise.
21540 * commands/cat.c: Likewise.
21541 * commands/cmp.c: Likewise.
21542 * commands/configfile.c: Likewise.
21543 * commands/crc.c: Likewise.
21544 * commands/date.c: Likewise.
21545 * commands/echo.c: Likewise.
21546 * commands/efi/fixvideo.c: Likewise.
21547 * commands/efi/loadbios.c: Likewise.
21548 * commands/gptsync.c: Likewise.
21549 * commands/halt.c: Likewise.
21550 * commands/handler.c: Likewise.
21551 * commands/hdparm.c: Likewise.
21552 * commands/hexdump.c: Likewise.
21553 * commands/i386/cpuid.c: Likewise.
21554 * commands/i386/pc/drivemap.c: Likewise.
21555 * commands/i386/pc/halt.c: Likewise.
21556 * commands/i386/pc/pxecmd.c: Likewise.
21557 * commands/i386/pc/vbeinfo.c: Likewise.
21558 * commands/i386/pc/vbetest.c: Likewise.
21559 * commands/ieee1275/suspend.c: Likewise.
21560 * commands/keystatus.c: Likewise.
21561 * commands/loadenv.c: Likewise.
21562 * commands/ls.c: Likewise.
21563 * commands/lsmmap.c: Likewise.
21564 * commands/lspci.c: Likewise.
21565 * commands/memrw.c: Likewise.
21566 * commands/minicmd.c: Likewise.
21567 * commands/parttool.c: Likewise.
21568 * commands/password.c: Likewise.
21569 * commands/probe.c: Likewise.
21570 * commands/read.c: Likewise.
21571 * commands/reboot.c: Likewise.
21572 * commands/search.c: Likewise.
21573 * commands/sleep.c: Likewise.
21574 * commands/test.c: Likewise.
21575 * commands/true.c: Likewise.
21576 * commands/usbtest.c: Likewise.
21577 * commands/videotest.c: Likewise.
21578 * commands/xnu_uuid.c: Likewise.
21579 * disk/loopback.c: Likewise.
21580 * hello/hello.c: Likewise.
21581 * loader/i386/bsd.c: Likewise.
21582 * term/i386/pc/serial.c: Likewise.
21583 * po/POTFILES: Add new files.
21584
da8d5c53
CW
215852010-01-02 Colin Watson <cjwatson@ubuntu.com>
21586
21587 * term/i386/pc/at_keyboard.c
21588 (keyboard_controller_wait_untill_ready): Rename to ...
21589 (keyboard_controller_wait_until_ready): ... this. Update all users.
21590
33937904 215912010-01-01 Carles Pina i Estany <carles@pina.cat>
21592
21593 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21594 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21595 string using string width.
21596 * normal/menu_text.c (grub_print_message_indented): Use
21597 grub_print_spaces and not print_spaces.
21598 (print_timeout): Likewise.
21599 (print_spaces): Move to...
21600 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21601
3fd3b8d8
RM
216022010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21603
21604 Import from Gnulib.
21605
21606 * gnulib/getdelim.c: New file.
21607 * gnulib/getline.c: Likewise.
21608
33433555
VS
216092009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21610
21611 * include/grub/list.h (grub_assert_fail): Removed.
21612 (grub_bad_type_cast_real): New function.
21613 (grub_bad_type_cast): New macro.
21614 (GRUB_AS_LIST): Use grub_bad_type_cast.
21615 (GRUB_AS_LIST_P): Likewise.
e44721e8 21616 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21617 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21618 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21619 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21620 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21621
f5a51306
VS
216222009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21625 Fix syntax error.
21626
90d1e879
RM
216272009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21628
21629 * configure.ac: Check for TARGET_CFLAGS initialization before we
21630 initialize it ourselves (sigh).
21631 Move a few modifications to TARGET_CFLAGS to be unconditional
21632 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21633 eh_frame)
21634
21635 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21636 * term/i386/pc/at_keyboard.c
21637 (keyboard_controller_wait_untill_ready): Likewise.
21638 (keyboard_controller_led): Rename `led_status' paramter to avoid
21639 name conflict.
21640
465b5a81 216412009-12-28 Carles Pina i Estany <carles@pina.cat>
21642
21643 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21644 quotes.
21645
c181849b
VS
216462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21649
9c8739a4
VS
216502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * normal/menu_text.c (grub_print_message_indented): Prevent
21653 past-the-end-of-array dereference.
21654
3e74249c
VS
216552009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21658 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21659
64fd18ed 216602009-12-27 Carles Pina i Estany <carles@pina.cat>
21661
21662 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21663 * normal/main.c (grub_normal_read_line): Remove a space from the
21664 default prompt.
21665
714af9b9 216662009-12-27 Carles Pina i Estany <carles@pina.cat>
21667
21668 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21669 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21670 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21671 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21672 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21673 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21674 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21675
82f3e412 216762009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21677
21678 * video/readers/jpeg.c (cmd): Declare.
21679 (grub_cmd_jpegtest): Use `grub_command_t' type.
21680 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21681 Assign to `cmd'.
21682 (GRUB_MOD_FINI): Use `cmd' to unregister.
21683 * video/readers/png.c (cmd): Declare.
21684 (grub_cmd_pngtest): Use `grub_command_t' type.
21685 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21686 Assign to `cmd'.
21687 (GRUB_MOD_FINI): Use `cmd' to unregister.
21688 * video/readers/tga.c (cmd): Declare.
21689 (grub_cmd_tgatest): Use `grub_command_t' type.
21690 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21691 Assign to `cmd'.
21692 (GRUB_MOD_FINI): Use `cmd' to unregister.
21693
82f3e412 216942009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21695
21696 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21697 stops.
21698 * kern/corecmd.c (grub_register_core_commands): Likewise.
21699 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21700 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21701 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21702 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21703 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21704 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21705 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21706 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21707 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21708 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21709 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21710 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21711 * normal/handler.c (insert_handler): Likewise.
21712 * normal/main.c (GRUB_MOD_INIT): Likewise.
21713 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21714
fdcdbb66 217152009-12-26 Carles Pina i Estany <carles@pina.cat>
21716
21717 * commands/help.c (grub_cmd_help): Print the command name before the
21718 summary.
21719 (GRUB_MOD_INIT): Remove command name from the summary.
21720 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21721 string as summary.
fdcdbb66 21722 * lib/arg.c (find_long): Print the command name before the summary.
21723 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21724 summary.
21725 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21726 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21727 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21728 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21729 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21730 * commands/date.c (GRUB_MOD_INIT): Likewise.
21731 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21732 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21733 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21734 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21735 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21736 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21737 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21738 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21739 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21740 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21741 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21742 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21743 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21744 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21745 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21746 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21747 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21748 * commands/password.c (GRUB_MOD_INIT): Likewise.
21749 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21750 * commands/read.c (GRUB_MOD_INIT): Likewise.
21751 * commands/search.c (GRUB_MOD_INIT): Likewise.
21752 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21753 * commands/test.c (GRUB_MOD_INIT): Likewise.
21754 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21755 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21756 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21757 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21758 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21759 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21760 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21761 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21762 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21763 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21764 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21765 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21766 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21767 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21768
9c288be2
VS
217692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 Use search command for preliminar UUID search.
21772
21773 * commands/search.c: Split into ...
21774 * commands/search_wrap.c: ...this
21775 * commands/search.c: ...and this.
21776 * commands/search_file.c: New file.
21777 * commands/search_label.c: New file.
21778 * commands/search_uuid.c: New file.
21779 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21780 Add commands/search_wrap.c, commands/search_file.c,
21781 commands/search_label.c and commands/search_uuid.c.
21782 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21783 (search_mod_SOURCES): Set to commands/search_wrap.c.
21784 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21785 search_label.mod.
21786 (search_fs_file_mod_SOURCES): New variable.
21787 (search_fs_file_mod_CFLAGS): Likewise.
21788 (search_fs_file_mod_LDFLAGS): Likewise.
21789 (search_label_mod_SOURCES): Likewise.
21790 (search_label_mod_CFLAGS): Likewise.
21791 (search_label_mod_LDFLAGS): Likewise.
21792 (search_fs_uuid_mod_SOURCES): New variable.
21793 (search_fs_uuid_mod_CFLAGS): Likewise.
21794 (search_fs_uuid_mod_LDFLAGS): Likewise.
21795 (fs_file_mod_SOURCES): Removed.
21796 (fs_file_mod_CFLAGS): Likewise.
21797 (fs_file_mod_LDFLAGS): Likewise.
21798 (fs_uuid_mod_SOURCES): Removed.
21799 (fs_uuid_mod_CFLAGS): Likewise.
21800 (fs_uuid_mod_LDFLAGS): Likewise.
21801 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21802 Set to util/grub-install.in.
21803 * disk/fs_file.c: Removed.
21804 * disk/fs_uuid.c: Likewise.
21805 * include/grub/search.h: New file.
21806 * util/grub-install.in: Handle sparc64.
21807 Create and use load.cfg.
21808 * util/sparc64/ieee1275/grub-install.in: Removed.
21809
db943399
VS
218102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21811
21812 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21813 Ignore return status if CF is cleared.
21814 (grub_biosdisk_get_diskinfo_standard): Likewise.
21815
3fdae612
RM
218162009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * term/i386/pc/at_keyboard.c
21819 (keyboard_controller_wait_untill_ready): New function.
21820 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21821 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21822 for keyboard polling, rather than duplicate the same loop. This
21823 saves a few bytes in code size.
21824
7ebaa2b4
VS
218252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 Support for (pxe[:server[:gateway]]) syntax and
21828 use environment variable for PXE.
21829
21830 * commands/i386/pc/pxecmd.c (options): Removed.
21831 (print_ip): Removed.
21832 (grub_cmd_pxe): Removed
21833 (grub_cmd_pxe_unload): New function.
21834 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21835 (grub_pxe_your_ip): Made static.
21836 (grub_pxe_default_server_ip): Likewise.
21837 (grub_pxe_default_gateway_ip): Likewise.
21838 (grub_pxe_blksize): Likewise.
21839 (parse_ip): New function.
21840 (grub_pxe_open): Support server and gateway specification.
21841 (grub_pxe_close): Free disk->data.
21842 (grub_pxefs_open): Use disk->data.
21843 (grub_pxefs_read): Likewise.
21844 (grub_env_write_readonly): New function.
21845 (set_mac_env): Likewise.
21846 (set_env_limn_ro): Likewise.
21847 (parse_dhcp_vendor): Likewise.
21848 (grub_pxe_detect): Set the environment variables.
21849 (set_ip_env): New function.
21850 (write_ip_env): Likewise.
21851 (grub_env_write_pxe_default_server): Likewise.
21852 (grub_env_write_pxe_default_gateway): Likewise.
21853 (grub_env_write_pxe_blocksize): Likewise.
21854 (GRUB_MOD_INIT(pxe)): Set environment variables.
21855 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21856 (grub_pxe_mac_addr_t): ... this. All users updated.
21857 (grub_pxe_your_ip): Removed.
21858 (grub_pxe_server_ip): Likewise.
21859 (grub_pxe_gateway_ip): Likewise.
21860 (grub_pxe_blksize): Likewise.
21861
ec5f98ab 218622009-12-25 Carles Pina i Estany <carles@pina.cat>
21863
21864 * commands/help.c: Include `<grub/i18n.h>'.
21865 (grub_cmd_help): Gettextizze.
21866 (GRUB_MOD_INIT): Likewise.
21867 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21868 (GRUB_MOD_INIT): Gettextizze.
21869 * commands/search.c: Include `<grub/i18n.h>'.
21870 (options): Gettextizze.
21871 (GRUB_MOD_INIT): Gettextizze.
21872 * lib/arg.c: Include `<grub/i18n.h>'.
21873 (help_options): Gettextizze.
21874 (find_long): Likewise.
21875 (grub_arg_show_help): Likewise.
21876 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21877 (read_command_list): Gettextizze.
21878 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21879 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21880
22815526
RM
218812009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21882
21883 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21884 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21885 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21886 (led_status): New variable.
21887 (keyboard_controller_led): New function.
21888 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21889 update led status for caps lock, num lock and scroll lock.
21890
0ad46fd7
FZ
218912009-12-25 Felix Zielcke <fzielcke@z-51.de>
21892
21893 * util/hostdisk.c (open_device): Fix a comment.
21894
d0e158c2
RM
218952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21896
21897 * util/grub-install.in (host_os): New variable.
21898 * util/i386/efi/grub-install.in (host_os): Likewise.
21899
401c0ad6
RM
219002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21901
21902 * util/mkisofs/write.c (padblock_write): Abort when given an
21903 excedingly large embed image, instead of silently truncating it.
21904
d14d3370
RM
219052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21906
21907 * include/multiboot.h: Indentation fixes.
21908
eeed10b4
RM
219092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21910
21911 * include/multiboot.h (struct multiboot_aout_symbol_table)
21912 (struct multiboot_elf_section_header_table): New structure
21913 declarations (stolen from GRUB Legacy).
21914 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21915 table information.
21916
21917 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21918 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21919 type aliases.
21920
681c70ab
RM
219212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21922
21923 * include/multiboot.h: Make comments src2texi-friendly.
21924
e4d47d8d
RM
219252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21926
21927 For consistency with [multiboot]/docs/boot.S.
21928
21929 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21930 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21931 (MULTIBOOT_MAGIC2): Rename from this ...
21932 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21933
a0b70bda
RM
219342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21935
21936 * include/multiboot.h: Remove `<grub/types.h>'.
21937 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21938 types. Update all users.
21939
61ba42be 219402009-12-25 Carles Pina i Estany <carles@pina.cat>
21941
21942 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21943 `couldn't' and `can not' by `cannot'.
21944 * commands/i386/pc/drivemap.c: Likewise.
21945 * disk/ata.c: Likewise.
21946 * disk/ieee1275/nand.c: Likewise.
21947 * fs/affs.c: Likewise.
21948 * fs/fat.c: Likewise.
21949 * fs/hfs.c: Likewise.
21950 * fs/hfsplus.c: Likewise.
21951 * fs/iso9660.c: Likewise.
21952 * fs/jfs.c: Likewise.
21953 * fs/minix.c: Likewise.
21954 * fs/reiserfs.c: Likewise.
21955 * fs/sfs.c: Likewise.
21956 * fs/udf.c: Likewise.
21957 * fs/ufs.c: Likewise.
21958 * fs/xfs.c: Likewise.
21959 * loader/powerpc/ieee1275/linux.c: Likewise.
21960 * loader/sparc64/ieee1275/linux.c: Likewise.
21961 * util/grub-probe.c: Likewise.
21962 * util/misc.c: Likewise.
21963
7fd0baee 219642009-12-24 Carles Pina i Estany <carles@pina.cat>
21965
21966 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21967 grub_errno calls.
21968 * commands/acpi.c: Likewise.
21969 * commands/blocklist.c: Likewise.
21970 * commands/efi/loadbios.c: Likewise.
21971 * commands/i386/pc/drivemap.c: Likewise.
21972 * commands/loadenv.c: Likewise.
21973 * commands/memrw.c: Likewise.
21974 * commands/password.c: Likewise.
21975 * commands/videotest.c: Likewise.
21976 * disk/ata.c: Likewise.
21977 * disk/ata_pthru.c: Likewise.
21978 * disk/dmraid_nvidia.c: Likewise.
21979 * disk/ieee1275/nand.c: Likewise.
21980 * disk/ieee1275/ofdisk.c: Likewise.
21981 * disk/loopback.c: Likewise.
21982 * disk/lvm.c: Likewise.
21983 * disk/mdraid_linux.c: Likewise.
21984 * disk/raid.c: Likewise.
21985 * disk/raid6_recover.c: Likewise.
21986 * disk/scsi.c: Likewise.
21987 * efiemu/main.c: Likewise.
21988 * efiemu/mm.c: Likewise.
21989 * efiemu/pnvram.c: Likewise.
21990 * efiemu/symbols.c: Likewise.
21991 * font/font.c: Likewise.
21992 * fs/cpio.c: Likewise.
21993 * fs/hfsplus.c: Likewise.
21994 * fs/iso9660.c: Likewise.
21995 * fs/jfs.c: Likewise.
21996 * fs/minix.c: Likewise.
21997 * fs/ntfs.c: Likewise.
21998 * fs/ntfscomp.c: Likewise.
21999 * fs/reiserfs.c: Likewise.
22000 * fs/ufs.c: Likewise.
22001 * fs/xfs.c: Likewise.
22002 * gettext/gettext.c: Likewise.
22003 * include/grub/auth.h: Likewise.
22004 * kern/elf.c: Likewise.
22005 * kern/file.c: Likewise.
22006 * kern/ieee1275/init.c: Likewise.
22007 * kern/ieee1275/mmap.c: Likewise.
22008 * kern/ieee1275/openfw.c: Likewise.
22009 * kern/powerpc/dl.c: Likewise.
22010 * kern/sparc64/dl.c: Likewise.
22011 * lib/arg.c: Likewise.
22012 * loader/i386/bsd.c: Likewise.
22013 * loader/i386/bsdXX.c: Likewise.
22014 * loader/i386/efi/linux.c: Likewise.
22015 * loader/i386/efi/xnu.c: Likewise.
22016 * loader/i386/ieee1275/linux.c: Likewise.
22017 * loader/i386/linux.c: Likewise.
22018 * loader/i386/multiboot.c: Likewise.
22019 * loader/i386/pc/linux.c: Likewise.
22020 * loader/i386/pc/multiboot2.c: Likewise.
22021 * loader/i386/xnu.c: Likewise.
22022 * loader/ieee1275/multiboot2.c: Likewise.
22023 * loader/macho.c: Likewise.
22024 * loader/machoXX.c: Likewise.
22025 * loader/multiboot2.c: Likewise.
22026 * loader/multiboot_loader.c: Likewise.
22027 * loader/powerpc/ieee1275/linux.c: Likewise.
22028 * loader/sparc64/ieee1275/linux.c: Likewise.
22029 * loader/xnu.c: Likewise.
22030 * loader/xnu_resume.c: Likewise.
22031 * mmap/i386/pc/mmap.c: Likewise.
22032 * normal/menu_viewer.c: Likewise.
22033 * partmap/acorn.c: Likewise.
22034 * partmap/amiga.c: Likewise.
22035 * partmap/apple.c: Likewise.
22036 * script/lexer.c: Likewise.
22037 * term/gfxterm.c: Likewise.
22038 * term/i386/pc/serial.c: Likewise.
22039 * term/i386/pc/vga.c: Likewise.
22040 * term/ieee1275/ofconsole.c: Likewise.
22041 * term/terminfo.c: Likewise.
22042 * video/bitmap.c: Likewise.
22043 * video/efi_gop.c: Likewise.
22044 * video/efi_uga.c: Likewise.
22045 * video/fb/video_fb.c: Likewise.
22046 * video/i386/pc/vbe.c: Likewise.
22047 * video/readers/tga.c: Likewise.
22048 * video/video.c: Likewise.
22049
0ad46fd7 220502009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22051
22052 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22053 * commands/lspci.c: Likewise.
22054 * commands/probe.c: Likewise.
22055 * commands/xnu_uuid.c: Likewise.
22056 * conf/i386-coreboot.rmk: Likewise.
22057 * conf/i386-efi.rmk: Likewise.
22058 * conf/i386-ieee1275.rmk: Likewise.
22059 * conf/i386-pc.rmk: Likewise.
22060 * conf/powerpc-ieee1275.rmk: Likewise.
22061 * conf/sparc64-ieee1275.rmk: Likewise.
22062 * conf/x86_64-efi.rmk: Likewise.
22063 * fs/i386/pc/pxe.c: Likewise.
22064 * gettext/gettext.c: Likewise.
22065 * include/grub/efi/graphics_output.h: Likewise.
22066 * include/grub/i386/pc/memory.h: Likewise.
22067 * kern/env.c: Likewise.
22068 * kern/i386/qemu/startup.S: Likewise.
22069 * lib/i386/pc/biosnum.c: Likewise.
22070 * lib/i386/relocator.c: Likewise.
22071 * lib/i386/relocator_asm.S: Likewise.
22072 * lib/relocator.c: Likewise.
22073 * loader/i386/bsd.c: Likewise.
22074 * loader/i386/multiboot.c: Likewise.
22075 * loader/i386/pc/chainloader.c: Likewise.
22076 * loader/i386/xnu.c: Likewise.
22077 * loader/xnu.c: Likewise.
22078 * normal/main.c: Likewise.
22079 * normal/menu_text.c: Likewise.
22080 * util/getroot.c: Likewise.
22081 * util/grub-mkconfig_lib.in: Likewise.
22082 * util/grub.d/00_header.in: Likewise.
22083 * util/i386/pc/grub-mkimage.c: Likewise.
22084 * util/mkisofs/eltorito.c: Likewise.
22085 * util/mkisofs/exclude.h: Likewise.
22086 * util/mkisofs/hash.c: Likewise.
22087 * util/mkisofs/iso9660.h: Likewise.
22088 * util/mkisofs/joliet.c: Likewise.
22089 * util/mkisofs/mkisofs.c: Likewise.
22090 * util/mkisofs/mkisofs.h: Likewise.
22091 * util/mkisofs/multi.c: Likewise.
22092 * util/mkisofs/name.c: Likewise.
22093 * util/mkisofs/rock.c: Likewise.
22094 * util/mkisofs/tree.c: Likewise.
22095 * util/mkisofs/write.c: Likewise.
22096 * video/efi_gop.c: Likewise.
22097
009ec743
VS
220982009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22101 size counting.
22102
0ad46fd7 221032009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22104
22105 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22106 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22107
d3d30ea0
VS
221082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22111 (GRUB_MOD_INIT(memrw)): Update help line.
22112
a34f5c70
VS
221132009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22116 Use grub_extcmd_t. All users updated.
22117 (options): New variable.
22118 (grub_cmd_read): Restructure for readability. Support "-v" option.
22119 (grub_cmd_write): Restructure for readability.
22120
0ad46fd7 221212009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22122
22123 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22124
0ad46fd7 221252009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22126
22127 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22128 with the actual contents of the correspondending make variable.
22129 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22130 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22131 specifying `*.lst' and `efiemu??.o'
22132
0ad46fd7 221332009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22134
22135 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22136 after function name.
22137 Noticed by Rene Engelhard <rene@debian.org>.
22138
dc77a799
VS
221392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22142 (options): New variable.
22143 (iospace): Likewise.
22144 (grub_lspci_iter): List IO spaces if "-i" was given.
22145 (grub_cmd_lspci): Parse options.
22146 (GRUB_MOD_INIT(lspci)): Use extcmd.
22147 (GRUB_MOD_FINI(lspci)): Likewise.
22148
0ad46fd7 221492009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22150
22151 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22152 `function' keyword.
22153 Patch by Tony Mancill <tmancill@debian.org>.
22154
b5d5993b
VS
221552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22156
22157 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22158 (grub_uhci_portstatus): Likewise.
22159 (grub_uhci_portstatus): Add necessary delay.
11d18281 22160 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22161
941903f2 221622009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22163
941903f2 22164 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22165 (GRUB_MOD_INIT): Likewise.
22166 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22167 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22168 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22169 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22170 (enable_rom_area): Likewise.
22171 (GRUB_MOD_INIT): Likewise.
22172 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22173 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22174 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22175 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22176 * commands/hexdump.c (options): Likewise.
22177 * commands/i386/cpuid.c (options): Likewise.
22178 (GRUB_MOD_INIT): Likewise.
22179 * commands/i386/pc/drivemap.c (options): Likewise.
22180 (GRUB_MOD_INIT): Likewise.
22181 * commands/i386/pc/halt (options): Likewise.
22182 (GRUB_MOD_INIT): Likewise.
22183 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22184 * commands/i386/pc/pxecmd.c (options): Likewise.
22185 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22186 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22187 * commands/keystatus.c (options): Likewise.
22188 (GRUB_MOD_INIT): Likewise.
22189 * commands/loadenv.c (options): Likewise.
22190 * commands/ls.c (options): Likewise.
22191 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22192 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22193 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22194 * commands/parttool.c (helpmsg): Likewise.
22195 * commands/probe.c (options): Likewise.
22196 * commands/read.c (GRUB_MOD_INIT): Likewise.
22197 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22198 * commands/search.c (options): Likewise.
22199 * commands/sleep.c (options): Likewise.
22200 * commands/test.c (GRUB_MOD_INIT): Likewise.
22201 * commands/true.c (GRUB_MOD_INIT): Likewise.
22202 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22203 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22204 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22205 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22206 `$(XGETTEXT)'.
98a50553 22207 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22208
0ad46fd7 222092009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22210
ef3c2c3a 22211 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22212 instead of specifying them explicit.
22213
7922f68b
RM
222142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22215
22216 * NEWS: Add grub-probe support for GNU/Hurd.
22217
537ce47f
RM
222182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22219
22220 * NEWS: gettext was added after 1.97.
22221
9b214e3a
RM
222222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22223
22224 * util/mkisofs/msdos_partition.h: New file (based on
22225 include/grub/msdos_partition.h).
22226 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22227 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22228 (ld_options, main): Recognize --protective-msdos-label.
22229 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22230 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22231 (padblock_write): If `use_protective_msdos_label' is set, patch a
22232 protective DOS-style label in the output image.
22233
22234 * util/grub-mkrescue.in: Use --protective-msdos-label.
22235
e9309813
RM
222362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22237
22238 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22239 boot.
22240
0ae56929
RM
222412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22242
22243 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22244 variables.
22245 (ld_options, main): Recognize `--embedded-boot'.
22246 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22247 declarations.
22248 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22249 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22250 (padblock_write): Likewise. Rewrite to support embedded boot image.
22251
22252 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22253 for BIOS-based disk boot instead of only ElTorito.
22254
b15937b1
RM
222552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22256
22257 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22258 build (not needed for bootstrap).
22259
52cc3ce0
RM
222602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22261
22262 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22263 from i386-pc build (not needed for bootstrap).
22264 Rewrite a pair of strings.
22265
36f5ff04
RM
222662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22267
22268 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22269
973c6c85 222702009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22271
22272 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22273
05d21547
AB
222742009-12-21 Andreas Born <futur.andy@googlemail.com>
22275
22276 * kern/env.c (grub_env_context_open): Mark exported variable for
22277 reexport.
22278
0175d51f
AB
222792009-12-21 Andreas Born <futur.andy@googlemail.com>
22280
22281 * kern/env.c (grub_env_export): Create nonexistent variables before
22282 exporting.
22283
7f39d92f 222842009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22285
7f39d92f 22286 * include/grub/auth.h: Include `<grub/i18n.h>'.
22287 (GRUB_GET_PASSWORD): Gettextizze string.
22288 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22289 menu_text.c.
22290 (grub_utf8_to_ucs4_alloc): Fix indentation.
22291 (grub_print_ucs4): Likewise.
22292 (grub_getstringwidth): Likewise.
22293 (print_message_indented): New declaration.
22294 * normal/auth.c: Include `<grub/i18n.h>'.
22295 (grub_auth_check_authentication): Gettexttize string.
22296 * normal/cmdline.c: Include `<grub/i18n.h>'.
22297 (grub_cmdline_get): Gettextizze.
22298 * normal/color.c: Include `<grub/i18n.h>'.
22299 (grub_parse_color_name_pair): Gettexttize strings.
22300 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22301 string (use `print_message_indented').
22302 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22303 `include/grub/normal.h'.
22304 (print_message_indented): Renamed to ...
22305 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22306 used in normal/main.c).
22307 (print_message): Use `grub_print_message_indented' instead of
22308 `print_message_indented'.
22309 (print_timeout): Likewise.
22310 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22311 (grub_normal_print_device_info): Gettexttize strings.
22312 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22313
3041d898
VS
223142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22315
22316 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22317 of arguments. Return number of tokens and not arguments. All users
22318 updated.
22319
de15bf8e
VS
223202009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22323 non-MSDOS paritions.
22324
e0a6ca52
VS
223252009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 * include/grub/types.h (UNUSED): Removed since it conflicts with
22328 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22329 Reported by Grégoire Sutre.
22330
b99518d1 223312009-12-19 Carles Pina i Estany <carles@pina.cat>
22332
22333 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22334 (grub_print_ucs4_alloc): Likewise.
22335 (grub_getstringwidth): Likewise.
22336 * normal/main.c (grub_normal_init_page): Gettextize version string.
22337 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22338 (getstringwidth): Renamed to ...
22339 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22340 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22341 (grub_print_ucs4): Remove `static' qualifer (now used in
22342 normal/main.c).
22343 * po/POTFILES: Add normal/main.c.
22344
bfd5e52b 223452009-12-19 Carles Pina i Estany <carles@pina.cat>
22346
22347 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22348 (print_message_indented): Add `margin_left' and `margin_right'
22349 parameters.
22350 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22351 strings.
22352 (print_timeout): Use `print_message_indented' to print the message.
22353 Deletes `second_stage' parameter.
22354 (run_menu): Update `print_timeout' calls.
22355
5a1ad2b9
VS
223562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 Fix console palette on OpenFirmware.
22359
22360 * term/ieee1275/ofconsole.c (MAX): Removed.
22361 (colors): Redone based on VGA palette.
22362 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22363 colors are supported.
22364 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22365
b045f00a
VS
223662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 Fix potential EfiEmu double prepare.
22369
22370 * efiemu/main.c (prepared): New variable
22371 (grub_efiemu_unload): Set prepare to '0'.
22372 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22373
22374 set_virtual_address_map support.
22375
22376 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22377 prototype.
22378 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22379 prototype.
22380 (grub_efiemu_crc32): Likewise.
22381 (grub_efiemu_crc64): Likewise.
22382 (grub_efiemu_set_virtual_address_map): Likewise.
22383 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22384 New definition.
22385 (grub_autoefi_set_virtual_address_map): Likewise.
22386 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22387 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22388 Restructure flow to accomodate it.
22389 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22390 (grub_efiemu_crc): Recompute CRC32.
22391 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22392 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22393 * efiemu/symbols.c (relocated_handle): New variable.
22394 (grub_efiemu_free_syms): Free relocated_handle.
22395 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22396 (grub_efiemu_write_sym_markers): New function.
22397 (grub_efiemu_set_virtual_address_map): Likewise.
22398
22399 Newer XNU parameters.
22400
22401 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22402 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22403 (grub_xnu_fill_devicetree): New prototype.
22404 (grub_xnu_heap_real_start): New variable.
22405 * loader/xnu.c (get_name_ptr): New function.
22406 (grub_xnu_load_driver): Fill namelen and name.
22407
22408 64-bit xnu support.
22409
22410 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22411 and 'loader/macho64.c'.
22412 * conf/i386-pc.rmk: Likewise.
22413 * conf/x86_64-efi.rmk: Likewise.
22414 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22415 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22416 * include/grub/macho.h (grub_macho_segment64): New structure.
22417 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22418 (grub_macho_size32): ... to this.
22419 (grub_macho32_get_entry_point): Renamed from ...
22420 (grub_macho_get_entry_point32): ... to this.
22421 (grub_macho_contains_macho64): New prototype.
22422 (grub_macho_size64): Likewise.
22423 (grub_macho_get_entry_point64): Likewise.
22424 (grub_macho32_load): Renamed from ...
22425 (grub_macho_load32): ... to this.
22426 (grub_macho32_filesize): Renamed from ...
22427 (grub_macho_filesize32): ... to this.
22428 (grub_macho32_readfile): Renamed from ...
22429 (grub_macho_readfile32): ... to this.
22430 (grub_macho_filesize64): New prototype.
22431 (grub_macho_readfile64): Likewise.
22432 (grub_macho_parse32): Likewise.
22433 (grub_macho_parse64): Likewise.
22434 * loader/macho.c: Split into ...
22435 * loader/machoXX.c: ... and this. Replace 32 with XX.
22436 * loader/macho32.c: New file.
22437 * loader/macho64.c: Likewise.
22438 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22439 (grub_cmd_xnu_kernel): Make 32-bit only.
22440 (grub_cmd_xnu_kernel64): New function.
22441 (grub_xnu_load_driver): Support Mach-O 64.
22442 (grub_cmd_xnu_mkext): Likewise.
22443 * util/grub.d/30_os-prober.in (osx_entry): New function.
22444 Generate entries for 64-bit boot too.
22445
22446 Eliminate ad-hoc tree format in XNU and EfiEmu.
22447
22448 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22449 * efiemu/pnvram.c: Rewritten to use environment variables.
22450 All users updated.
22451
22452 Inline utf16_to_utf8.
22453
22454 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22455 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22456 All users updated.
22457 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22458
22459 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22460 * commands/usbtest.c (grub_usb_get_string): ... move here.
22461 (usb_print_str): Fix error handling.
22462 * include/grub/usb.h (grub_usb_get_string): Remove.
22463
22464 UTF-8 to UTF-16 transformation.
22465
22466 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22467 (charset_mod_SOURCES): New variable.
22468 (charset_mod_CFLAGS): Likewise.
22469 (charset_mod_LDFLAGS): Likewise.
22470 * include/grub/utf.h: New file.
22471 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22472
22473 Support for device properties.
22474
22475 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22476 (grub_xnu_devprop_device_header): Likewise.
22477 (grub_xnu_devprop_device_descriptor): Likewise.
22478 (grub_xnu_devprop_add_device): New prototype.
22479 (grub_xnu_devprop_remove_device): Likewise.
22480 (grub_xnu_devprop_remove_property): Likewise.
22481 (grub_xnu_devprop_add_property_utf8): Likewise.
22482 (grub_xnu_devprop_add_property_utf16): Likewise.
22483 (grub_cpu_xnu_init): Likewise.
22484 (grub_cpu_xnu_fini): Likewise.
22485 (grub_cpu_xnu_unload): Likewise.
22486 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22487 (property_descriptor): Likewise.
22488 (devices): New variable.
22489 (grub_xnu_devprop_remove_property): New function.
22490 (grub_xnu_devprop_add_device): Likewise.
22491 (grub_xnu_devprop_remove_device): Likewise.
22492 (grub_xnu_devprop_add_property): Likewise.
22493 (grub_xnu_devprop_add_property_utf8): Likewise.
22494 (grub_xnu_devprop_add_property_utf16): Likewise.
22495 (hextoval): Likewise.
22496 (grub_cpu_xnu_fill_devprop): Likewise.
22497 (grub_cmd_devprop_load): Likewise.
22498 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22499 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22500 (cmd_devprop_load): New variable.
22501 (grub_cpu_xnu_init): New function.
22502 (grub_cpu_xnu_fini): Likewise.
22503 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22504 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22505 (grub_cmd_xnu_devtree): Likewise.
22506 (hextoval): New function.
22507 (unescape): Likewise.
22508 (grub_xnu_fill_devicetree): Likewise.
22509
22510 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22511 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22512
0945f181
VS
225132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 Workaround for broken ATI VBE.
22516
22517 * video/i386/pc/vbe.c (last_set_mode): New variable.
22518 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22519 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22520 (grub_video_vbe_setup): Don't check for reserved flag.
22521
0ad46fd7 225222009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22523
22524 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22525 the `find' command.
22526
c179ebe4
VS
225272009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 UUID support for HFS.
22530
22531 * fs/hfs.c (grub_hfs_uuid): New function.
22532 (grub_hfs_fs): New value .uuid.
22533 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22534
0ad46fd7 225352009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22536
22537 Fix a segfault with parsing unknown long options.
22538
22539 * util/grub-mkrelpath.c (options): Zero terminate it.
22540
c4a3e41a
CPE
225412009-12-13 Carles Pina i Estany <carles@pina.cat>
22542
22543 * include/grub/misc.h (grub_puts): New declaration.
22544 (grub_puts_): Likewise.
a22008a6 22545 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22546 (grub_puts_): Likewise.
22547
2e8a7602
RM
225482009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22549
22550 * util/grub-probe.c (probe): Improve error message.
22551
b50b77b9
RM
225522009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22553
22554 * loader/i386/multiboot_elfxx.c
22555 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22556 initialization.
22557
225582009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 Relocator framework
22561
22562 * loader/i386/xnu_helper.S: Removed. All users updated.
22563 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22564 (relocator_mod_SOURCES): New variable.
22565 (relocator_mod_CFLAGS): Likewise.
22566 (relocator_mod_LDFLAGS): Likewise.
22567 (relocator_mod_ASFLAGS): Likewise.
22568 * conf/x86_64.rmk: Likewise.
22569 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22570 (grub_multiboot_payload_entry_offset): Likewise.
22571 (grub_multiboot_forward_relocator): Likewise.
22572 (grub_multiboot_forward_relocator_end): Likewise.
22573 (grub_multiboot_backward_relocator): Likewise.
22574 (grub_multiboot_backward_relocator_end): Likewise.
22575 (grub_multiboot_payload_eip): New variable.
22576 (grub_multiboot_payload_orig): Likewise.
22577 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22578 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22579 * include/grub/i386/memory.h
22580 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22581 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22582 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22583 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22584 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22585 * include/grub/i386/relocator.h: New file.
22586 * include/grub/x86_64/relocator.h: Likewise.
22587 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22588 (XNU_RELOCATOR): New macro.
22589 (grub_xnu_launcher_start): Remove.
22590 (grub_xnu_launcher_end): Likewise.
22591 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22592 (grub_xnu_heap_real_start): Remove.
22593 (grub_xnu_heap_start): Change to void *. All users updated.
22594 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22595 * lib/i386/relocator.c: New file.
22596 * lib/i386/relocator_asm.S: Likewise.
22597 * lib/i386/relocator_backward.S: Likewise.
22598 * lib/mips/relocator.c: Likewise.
22599 * lib/mips/relocator_asm.S: Likewise.
22600 * lib/relocator.c: Likewise.
22601 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22602 (entry): Removed.
22603 (playground): Likewise.
22604 (grub_multiboot_payload_orig): New variable.
22605 (grub_multiboot_payload_dest): Likewise.
22606 (grub_multiboot_payload_size): Likewise.
22607 (grub_multiboot_payload_eip): Likewise.
22608 (grub_multiboot_payload_esp): Likewise.
22609 (grub_multiboot_boot): Use grub_relocator32_boot.
22610 (grub_multiboot_unload): Free relocators.
22611 (grub_multiboot): Setup stack. Use relocators.
22612 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22613 (grub_multiboot_load_elfXX): Use relocators.
22614 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22615 (grub_multiboot_payload_size): Likewise.
22616 (grub_multiboot_payload_dest): Likewise.
22617 (grub_multiboot_payload_entry_offset): Likewise.
22618 (grub_multiboot_forward_relocator): Likewise.
22619 (grub_multiboot_backward_relocator): Likewise.
22620 (grub_multiboot_real_boot): Likewise.
22621 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22622 (grub_xnu_entry_point): Likewise.
22623 (grub_xnu_arg1): Likewise.
22624 (grub_xnu_stack): Likewise.
22625 (grub_xnu_launch): Removed.
22626 (grub_xnu_boot_resume): New function.
22627 (grub_xnu_boot): Use relocators.
22628 * loader/i386/xnu_helper.S: Removed.
22629 * loader/xnu.c (grub_xnu_heap_start): New variable.
22630 (grub_xnu_heap_size): Likewise.
22631 (grub_xnu_heap_malloc): Use relocators.
22632 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22633
29eb90c6
VS
226342009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22637 anything.
22638
31027430
CPE
226392009-12-13 Carles Pina i Estany <carles@pina.cat>
22640
22641 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22642 GRUB_ERR_NONE before calling grub_env_set.
22643
dc0c71d9
RM
226442009-12-12 Robert Millan <rmh@aybabtu.com>
22645
22646 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22647 * genmk.rb (video): New variable.
22648 (CLEANFILES, VIDEOFILES): Add #{video}.
22649 (#{video}): New target rule.
22650 * genvideolist.sh: New file.
22651 * Makefile.in (pkglib_DATA): Add video.lst.
22652 (video.lst): New target rule.
22653 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22654 `video.lst'.
22655 * util/grub.d/30_os-prober.in: Replace `vbe' with
22656 ${GRUB_VIDEO_BACKEND}.
22657
2a4bfcf0
RM
226582009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22659
22660 * THANKS: Add David Miller.
22661
2a3aa4d5
RM
226622009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 libpciaccess support.
22665
22666 * Makefile.in (LIBPCIACCESS): New variable.
22667 (enable_grub_emu_pci): Likewise.
22668 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22669 util/pci.c and commands/lspci.c.
22670 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22671 * configure.ac (grub-emu-pci): New option.
22672 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22673 (grub_pci_device_unmap_range): Likewise.
22674 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22675 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22676 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22677 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22678 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22679 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22680 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22681 * include/grub/pciutils.h: New file.
22682 * util/pci.c: Likewise.
22683
0ad46fd7 226842009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22685
22686 * util/misc.c: Don't include <errno.h> twice.
22687
0ad46fd7 226882009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22689
22690 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22691 name in an error message.
22692 (grub_biosdisk_rw): Likewise.
22693
2e59983c
VS
226942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 Eliminate NTFS 4Gib barrier.
22697
22698 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22699 (read_run_data): Likewise.
22700 (grub_ntfs_read_run_list): Likewise.
22701 (grub_ntfs_read_block): Likewise.
22702 (grub_ntfs_iterate_dir): Likewise.
22703 (read_mft): Likewise.
22704 (read_data): Likewise.
22705 Use COM_LOG_LEN.
22706 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22707 to avoid 64-bit division
22708 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22709 (grub_ntfs_rlst): Use grub_disk_addr_t.
22710
71ee178a
VS
227112009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22712
22713 Eliminate grub-fstest 4Gib barrier.
22714
22715 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22716 (read_file): Fix error reporting.
22717
2520d4b8
VS
227182009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Eliminate hexdump 4Gib barrier.
22721
22722 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22723 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22724
e1f27065
VS
227252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22728 Fixes amarsh bug.
22729
1a0f7f45
RM
227302009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22731
22732 Remove miscellaneous files in distclean target.
22733
22734 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22735
c631d9fb
CW
227362009-12-09 Colin Watson <cjwatson@ubuntu.com>
22737
22738 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22739 if they're already set. This resolves the conflict between my
22740 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22741 fixing the --grub-probe option again.
22742 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22743 change on 2009-10-06, so that we now once again source
22744 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22745
7c7b6106
RM
227462009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22747
22748 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22749 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22750 `util/devicemap.c'.
22751
e3069ec1
CPE
227522009-12-08 Carles Pina i Estany <carles@pina.cat>
22753
22754 * include/grub/misc.h (grub_printf_): New declaration.
22755 * kern/misc.c (grub_printf_): New definition.
22756 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22757 instead of `grub_printf' and `_'.
22758 * normal/menu_entry.c (store_completion): Likewise.
22759 (run): Likewise.
22760 (grub_menu_entry_run): Likewise.
22761 * normal/menu_text.c (grub_wait_after_message): Likewise.
22762 (notify_booting): Likewise.
22763 (notify_fallback): Likewise.
22764 (notify_execution_failure): Likewise.
22765
d6ceebf1
CW
227662009-12-07 Colin Watson <cjwatson@ubuntu.com>
22767
22768 * configure.ac: Check for vasprintf.
22769 * util/misc.c (asprintf): Move allocation from here ...
22770 (vasprintf): ... to here. New function.
22771 (xasprintf): New function.
22772 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22773 prototypes.
22774 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22775 * util/grub-mkfont.c (write_font): Likewise.
22776 * util/grub-probe.c (probe): Likewise.
22777 * util/hostdisk.c (make_device_name): Likewise.
22778
de6daa8b
DM
227792009-12-06 David S. Miller <davem@sunset.davemloft.net>
22780
22781 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22782 anything even prefixed with 'cdrom' as a cdrom.
22783
0ad46fd7 227842009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22785
22786 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22787 mount points.
22788
98d3dc02
CPE
227892009-12-05 Carles Pina i Estany <carles@pina.cat>
22790
22791 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22792 grub_gettext_msg_list.
22793 (grub_gettext_gettranslation_from_position): Return const char *
22794 and not char *.
a2c1332b 22795 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22796 returns from the list if existing there.
22797 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22798 (grub_gettext_delete_list): Delete the list.
22799 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22800 lang environment variable is changed.
22801 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22802
b283f108
VS
228032009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22804
22805 Rename kernel.mod to kernel.img.
22806
22807 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22808 (kernel_mod_EXPORTS): Rename to ...
22809 (kernel_img_EXPORTS): ... this.
22810 (kernel_mod_SOURCES): Rename to ...
22811 (kernel_img_SOURCES): ... this.
22812 (kernel_mod_HEADERS): Rename to ...
22813 (kernel_img_HEADERS): ... this. All users updated.
22814 (kernel_mod_CFLAGS): Rename to ...
22815 (kernel_img_CFLAGS): ... this.
22816 (kernel_mod_ASFLAGS): Rename to ...
22817 (kernel_img_ASFLAGS): ... this.
22818 (kernel_mod_LDFLAGS): Rename to ...
22819 (kernel_img_LDFLAGS): ... this.
22820 * conf/x86_64-efi.rmk: Likewise.
22821 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22822 (read_kernel_image): ... this. All users updated.
22823 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22824
69055f8a
CPE
228252009-12-05 Carles Pina i Estany <carles@pina.cat>
22826
22827 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22828 (print_spaces): New function.
22829 (grub_print_ucs4): New function.
22830 (getstringwidth): New function.
22831 (print_message_indented): New function.
22832 (print_message): Gettexttize strings using print_message_indented.
22833 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22834 width.
22835 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22836 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22837 Gettextize.
22838 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22839 string.
22840 (run): Likewise.
22841 (grub_menu_entry_run): Likewise.
22842 * PO/POTFILES: Add normal/menu_entry.c.
22843
f616f51c
VS
228442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22845
22846 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22847
57bbe3be
CPE
228482009-12-05 Carles Pina i Estany <carles@pina.cat>
22849
22850 * util/grub-install.in: Install gettext .mo files.
22851 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22852
013d67a1
CPE
228532009-12-05 Carles Pina i Estany <carles@pina.cat>
22854
22855 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22856 grub_dprintf.
22857
fb954db0
RM
228582009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22859
22860 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22861 non-firmware-dependant one in realmode.S takes precedence.
22862
6b8474f8
RM
228632009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22864
22865 * commands/halt.c: Replace misc arch-specific headers with
22866 `<grub/misc.h>'.
22867 * commands/reboot.c: Likewise.
22868 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22869 `<grub/misc.h>'.
22870 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22871 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22872 (kernel_img_SOURCES): ... to here.
22873
22874 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22875 * include/grub/i386/pc/init.h: Likewise.
22876 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22877 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22878
22879 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22880
22881 * include/grub/i386/halt.h: Remove.
22882 * include/grub/i386/reboot.h: Likewise.
22883
22884 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22885
4b2e6ca2
DM
228862009-12-03 David S. Miller <davem@sunset.davemloft.net>
22887
22888 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22889 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22890 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22891 "progname.h"
22892 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22893 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22894 (usage): Add missing comma in printf.
22895
5239348f
RM
228962009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22897
22898 Use the same reboot approach on i386 coreboot and qemu as we do on
22899 BIOS.
22900
22901 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22902 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22903 * kern/i386/reboot.c: Remove.
22904 * include/grub/i386/reboot.h (grub_reboot): Export function.
22905 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22906 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22907 0xf000:0xfff0 instead of 0xffff:0x0000.
22908 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22909 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22910
ef34cbd4
RM
229112009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22912
22913 Fix $srcdir != $objdir build.
22914
22915 * Makefile.in (po/%.po): Rewrite as ...
22916 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22917
dc9837ea
ST
229182009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22919
22920 Fix GNU/Hurd grub-install crash.
22921 * util/grub-probe.c (probe): Try to access `path' only when it is not
22922 NULL.
22923
2f857f98
VS
229242009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22925
22926 Correct module naming.
22927
22928 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22929 (GRUB_MOD_INIT(efi_uga)): ... to this
22930 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22931 (GRUB_MOD_FINI(efi_uga)): ... to this
22932 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22933 (GRUB_MOD_INIT(efi_gop)): ... to this
22934 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22935 (GRUB_MOD_FINI(efi_gop)): ... to this
22936
c5448046
RM
229372009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22938
22939 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22940 translatable.
22941 (usage): Translate `arg' strings using gettext().
22942 Thanks to Jordi Mallach for the suggestion.
22943
c85184ad
VS
229442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22945
22946 GOP support. Based on patch from Bean
22947 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22948
22949 * video/efi_gop.c: New file.
22950 * include/grub/efi/graphics_output.h: Likewise.
22951 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22952 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22953 variables.
22954 * conf/x86_64-efi.rmk: Likewise.
22955
8a4c48d8
VS
229562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 Rename efi_fb to efi_uga.
22959
22960 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22961 'efi_uga.mod'.
22962 (efi_fb_mod_SOURCES): Rename this ...
22963 (efi_uga_mod_SOURCES): ... to this.
22964 (efi_fb_mod_CFLAGS): Rename this ...
22965 (efi_uga_mod_CFLAGS): ... to this.
22966 (efi_fb_mod_LDFLAGS): Rename this ...
22967 (efi_uga_mod_LDFLAGS): ... to this.
22968 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22969 'efi_uga.mod'.
22970 (efi_fb_mod_SOURCES): Rename this ...
22971 (efi_uga_mod_SOURCES): ... to this.
22972 (efi_fb_mod_CFLAGS): Rename this ...
22973 (efi_uga_mod_CFLAGS): ... to this.
22974 (efi_fb_mod_LDFLAGS): Rename this ...
22975 (efi_uga_mod_LDFLAGS): ... to this.
22976 * video/efi_fb.c: Move this ...
22977 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22978
fb6c1a7b
RM
229792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22980
22981 * po/README: New file. Explain our PO file workflow.
22982
3bc7896c
RM
229832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22984
22985 * po/ChangeLog: Remove. Move relevant entries back to ...
22986 * ChangeLog: ... here.
22987 * po/ca.po: Remove (now handled by TLP).
22988 * po/id.po: Likewise.
22989 * po/zh_CN.po: Likewise.
22990 * Makefile.in (LINGUAS): Initialize in a way that supports
22991 empty set.
22992
9ed4841d
RM
229932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22994
22995 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22996 reliing on po/LINGUAS.
22997 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22998 (po/%.po): ... this.
22999
0ad46fd7 230002009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23001
23002 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23003 (main): Use `program_name' instead of nonexistent `progname'.
23004
e30dd392
FZ
230052009-11-26 Felix Zielcke <fzielcke@z-51.de>
23006
23007 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23008 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23009
7656de4f
RM
230102009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23011
23012 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23013 commit.
23014 * conf/i386-efi.rmk: Likewise.
23015 * conf/i386-ieee1275.rmk: Likewise.
23016 * conf/powerpc-ieee1275.rmk: Likewise.
23017 * conf/sparc64-ieee1275.rmk: Likewise.
23018 * conf/x86_64-efi.rmk: Likewise.
23019
db77c4d4
FZ
230202009-11-26 Felix Zielcke <fzielcke@z-51.de>
23021
23022 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23023
a755bb04
FZ
230242009-11-26 Felix Zielcke <fzielcke@z-51.de>
23025
23026 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23027
8a4c07fd
RM
230282009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23029
23030 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23031 (grub_mkdevicemap_SOURCES): New variable.
23032 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23033 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23034 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23035 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23036 (grub_mkdevicemap_SOURCES): Remove.
23037 * conf/i386-efi.rmk: Likewise.
23038 * conf/i386-ieee1275.rmk: Likewise.
23039 * conf/i386-pc.rmk: Likewise.
23040 * conf/powerpc-ieee1275.rmk: Likewise.
23041 * conf/sparc64-ieee1275.rmk: Likewise.
23042 * conf/x86_64-efi.rmk: Likewise.
23043 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23044 (usage): Fix strings to use `program_name'.
23045 (main): Initialize gettext.
23046 * util/grub-editenv.c: Likewise.
23047 * util/grub-emu.c: Likewise.
23048 * util/grub-fstest.c: Likewise.
23049 * util/grub-mkdevicemap.c: Likewise.
23050 * util/grub-mkfont.c: Likewise.
23051 * util/grub-mkrelpath.c: Likewise.
23052 * util/grub-pe2elf.c: Likewise.
23053 * util/grub-probe.c: Likewise.
23054 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23055 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23056 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23057
23058 * util/misc.c: Include `"progname.h"'.
23059 (progname): Remove variable.
23060 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23061
6f61ed55
FZ
230622009-11-25 Felix Zielcke <fzielcke@z-51.de>
23063
23064 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23065 printf and print a newline after the menuentry header line.
23066 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23067
f022876b
FZ
230682009-11-25 Felix Zielcke <fzielcke@z-51.de>
23069
23070 autoconf >= 2.60 support $(localedir).
23071
23072 * INSTALL: Note that autoconf 2.60 is required.
23073 * configure.ac (AC_PREREQ): Bump to 2.60.
23074 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23075 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23076
6717926e
YB
230772009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23078
23079 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23080 aclocal is run.
23081
08806a54
RM
230822009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23083
23084 * normal/main.c (grub_normal_read_line): Fix off-by-one
23085 buffer overflow.
23086
13b33fba
RM
230872009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23088
23089 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23090 "parser.grub" in grub_command_execute() call.
23091
4a8572e9
CPE
230922009-11-24 Carles Pina i Estany <carles@pina.cat>
23093
23094 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23095 * conf/i386-efi.rmk: Likewise.
23096 * conf/i386-ieee1275.rmk: Likewise.
23097 * conf/i386-pc.rmk: Likewise.
23098 * conf/powerpc-ieee1275.rmk: Likewise.
23099 * conf/sparc64-ieee1275.rmk: Likewise.
23100 * conf/x86_64-efi.rmk: Likewise.
23101 * gettext/gettex.c: Include <grub/i18n.h>.
23102 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23103 here ...
23104 * include/grub/i18n.h: ... to here
23105 * include/grub/i18n.h: ... to here.
23106 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23107 (grub_gettext_dummy): Move above user.
4a8572e9 23108
bee48093
FZ
231092009-11-24 Felix Zielcke <fzielcke@z-51.de>
23110
23111 * util/Makefile.in (install-local): Convert a `for' into a normal
23112 shell expansion.
23113
a031e91c
RM
231142009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23115
23116 * autogen.sh: Add automake call.
23117 * config.guess: Remove.
23118 * config.sub: Likewise.
23119 * install-sh: Likewise.
23120
26bec39d
FZ
231212009-11-24 Felix Zielcke <fzielcke@z-51.de>
23122
23123 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23124
8e2532fd
FZ
231252009-11-24 Felix Zielcke <fzielcke@z-51.de>
23126
23127 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23128 function to a normal shell `for'.
23129
fefa1b7d
FZ
231302009-11-24 Felix Zielcke <fzielcke@z-51.de>
23131
23132 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23133
4501250b
FZ
231342009-11-24 Felix Zielcke <fzielcke@z-51.de>
23135
23136 * util/grub-mkrelpath.c: New file.
23137 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23138 (grub_mkrelpath_SOURCES): New variable.
23139 * include/grub/util/misc.h: New function prototype.
23140 * util/misc.c (make_system_path_relative_to_its_root): New function.
23141
23142 * util/grub-mkconfig_lib.in (bindir): New variable.
23143 (grub_mkrelpath): Likewise.
23144 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23145
23146 * util/probe.c (probe): Make the file path relative to its root.
23147 Change a info message to use the GRUB path. Enable again the
23148 check if we can read the file with GRUB facilities.
23149
23150 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23151 to its root.
23152
11d9778b
FZ
231532009-11-24 Felix Zielcke <fzielcke@z-51.de>
23154
23155 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23156 platform.
23157
4465287d
FZ
231582009-11-24 Felix Zielcke <fzielcke@z-51.de>
23159
23160 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23161 strncmp().
23162
62b47f22
FZ
231632009-11-24 Felix Zielcke <fzielcke@z-51.de>
23164
23165 * util/getroot.c (grub_util_is_dmraid): New function.
23166 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23167 devices as normal ones, not as LVM.
23168
1eafb9b9 231692009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23170
23171 * conf/common.rmk: Add grub-gettext_lib target and updates
23172 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23173 LDFLAGS.
23174 * gettext/gettext.c: New file. (Reads mo files).
23175 * include/grub/file.h (grub_file_pread): New prototype.
23176 * include/grub/i18n.h (_): New prototype.
23177 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23178 prototypes.
23179 * kern/misc.c (grub_gettext_dummy): New function.
23180 * normal/menu_text.c: Include <grub/i18n.h>.
23181 * normal/menu_text.c (print_timeout): Gettexttize string.
23182 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23183 * po/POTFILES: Add `normal/menu_text.c'.
23184 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23185 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23186 gettext module and defines locale_dir and lang in grub.cfg.
23187 * NEWS: Add gettext support.
23188
0fdb2568
RM
231892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23190
23191 * util/hostdisk.c: Include `<grub/i18n.h>'.
23192 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23193 (make_device_name): Rewrite using asprintf.
23194 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23195 (find_system_device): If a device is not found, generate one just
23196 by reusing the OS path name.
23197 (read_device_map): Make it permissible for device.map not to exist.
23198
f515aa62
RM
231992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23200
23201 * script/sh/execute.c: Move from here ...
23202 * script/execute.c: ... to here. Update all users.
23203 * script/sh/function.c: Move from here ...
23204 * script/function.c: ... to here. Update all users.
23205 * script/sh/lexer.c: Move from here ...
23206 * script/lexer.c: ... to here. Update all users.
23207 * script/sh/main.c: Move from here ...
23208 * script/main.c: ... to here. Update all users.
23209 * script/sh/parser.y: Move from here ...
23210 * script/parser.y: ... to here. Update all users.
23211 * script/sh/script.c: Move from here ...
23212 * script/script.c: ... to here. Update all users.
23213
f84b481b
RM
232142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23215
23216 * configure.ac: Detect all `emu' platforms. Define
23217 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23218 --enable-grub-emu logic. Disable include/grub/machine
23219 symlink on `emu' platforms.
23220
23221 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23222 * gensymlist.sh.in: Likewise.
23223
23224 * include/grub/i386/coreboot/machine.h: Remove file.
23225 * include/grub/i386/efi/machine.h: Likewise.
23226 * include/grub/i386/ieee1275/machine.h: Likewise.
23227 * include/grub/i386/pc/machine.h: Likewise.
23228 * include/grub/i386/qemu/machine.h: Likewise.
23229 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23230 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23231 * include/grub/x86_64/efi/machine.h: Likewise.
23232
23233 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23234 * commands/halt.c: Likewise.
23235 * commands/reboot.c: Likewise.
23236 * include/grub/autoefi.h: Likewise.
23237 * include/grub/i386/at_keyboard.h: Likewise.
23238 * include/grub/i386/kernel.h: Likewise.
23239 * include/grub/i386/loader.h: Likewise.
23240 * include/grub/i386/pc/memory.h: Likewise.
23241 * kern/dl.c: Likewise.
23242 * kern/i386/coreboot/init.c: Likewise.
23243 * loader/i386/bsd.c: Likewise.
23244 * loader/i386/linux.c: Likewise.
23245 * loader/multiboot_loader.c: Likewise.
23246 * term/i386/pc/serial.c: Likewise.
23247 * term/usb_keyboard.c: Likewise.
23248
23249 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23250 `<grub/machine/machine.h>'
23251 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23252 * util/misc.c: Remove `<grub/machine/machine.h>' and
23253 `<grub/machine/time.h>'.
23254
23255 * Makefile.in (enable_grub_emu): Remove variable.
23256 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23257
23258 * conf/any-emu.rmk: New file.
23259 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23260 (grub_emu_init.c): Move from here ...
23261 * conf/any-emu.rmk: ... to here.
23262
23263 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23264 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23265 * conf/any-emu.rmk: ... to here.
23266
4efeab03
RM
232672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23268
23269 * include/grub/parser.h (grub_parser_register): Document need
23270 of `name' parameter.
23271 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23272 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23273 "sh" to "grub".
23274
ea1dd8bf
RM
232752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23276
23277 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23278 `$(XGETTEXT)'.
23279 * include/grub/i18n.h (N_): New macro.
23280 * util/mkisofs/mkisofs.h: Likewise.
23281 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23282 around N_().
23283 (usage): Use gettext() to translate help strings when printing them.
23284
0c140626
RM
232852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23286
23287 Based on patch from Bean
23288 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23289
23290 * video/efi_fb.c: New file.
23291 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23292 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23293 variables.
23294 * conf/x86_64-efi.rmk: Likewise.
23295
87d58298
RM
232962009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23297
23298 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23299 * util/i386/pc/grub-setup.c: Likewise.
23300
994cc3a3
ST
233012009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23302
23303 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23304 <hurd/fs.h>
23305 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23306 file_get_storage_info to implement grub_guess_root_device.
23307
26a61d6a
FZ
233082009-11-21 Felix Zielcke <fzielcke@z-51.de>
23309
23310 * Makefile.in (target): Use make's builtin $(shell) function
23311 instead of calling directly $(SHELL) to create the locale directories,
23312 inside the $(foreach) function.
23313
74ff1dd5
FZ
233142009-11-21 Felix Zielcke <fzielcke@z-51.de>
23315
23316 * util/grub-mkrescue.in: Print an error and usage if output option
23317 has not been given.
23318
0b787d0e
FZ
233192009-11-21 Felix Zielcke <fzielcke@z-51.de>
23320
23321 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23322 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23323 root and /boot are on different devices.
23324
1164b270
RM
233252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23326
23327 Fix build for srcdir != objdir.
23328
23329 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23330 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23331 $(srcdir).
23332 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23333 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23334 reference for input.
23335
13774a2f
RM
233362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23337
23338 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23339 or hardlinking it). Remove -J option, Joliet is not compatible with
23340 multiple source directories.
23341
efda854e
RM
233422009-11-21 Carles Pina i Estany <carles@pina.cat>
233432009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23344
23345 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23346 (process_input_dir): New function. Process an arbitrary input
23347 directory.
23348 Misc adjustments to support both "override mode" and system-wide mode.
23349
6c09890c
FZ
233502009-11-20 Felix Zielcke <fzielcke@z-51.de>
23351
23352 * configure.ac (UNIFONT_BDF): Rename to ...
23353 (FONT_SOURCE): ... this. Update all users.
23354
a797824f
FZ
233552009-11-20 Felix Zielcke <fzielcke@z-51.de>
23356
23357 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23358 to the list of unifont files to look for.
23359
cd4f42b0
RM
233602009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 Patch from Joe Auricchio <jauricchio@gmail.com>
23363 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23364 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23365 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23366
393c783d
FZ
233672009-11-19 Felix Zielcke <fzielcke@z-51.de>
23368
23369 * Makefile.in (install-local): Add a missing backslash.
23370
b2f1e327
FZ
233712009-11-19 Felix Zielcke <fzielcke@z-51.de>
23372
23373 * include/grub/x86_64/io.h: New file.
23374
f577f7a0
RM
233752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23376
23377 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23378 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23379 Include `"progname.h"'.
23380 (main): Initialize gettext.
23381 * util/i386/pc/grub-setup.c: Gettexttize.
23382 * util/i386/pc/grub-mkimage.c: Likewise.
23383
23384 * Makefile.in (po/*.po): Redefine as ...
23385 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23386
3bc7896c
RM
23387 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23388
c37943b6
RM
233892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23390
23391 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23392 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23393 (program_name): Remove.
23394 (main): Initialize gettext support.
6323f705
RM
23395 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23396 Include `<libintl.h>'.
23397 (_): New macro.
c37943b6
RM
23398
23399 * util/mkisofs/eltorito.c: Gettexttize.
23400 * util/mkisofs/joliet.c: Likewise.
23401 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23402 * util/mkisofs/multi.c: Likewise.
23403 * util/mkisofs/rock.c: Likewise.
23404 * util/mkisofs/tree.c: Likewise.
23405 * util/mkisofs/write.c: Likewise.
23406
3bc7896c
RM
23407 * po/POTFILES: Update with new files.
23408
5ce77c6e
RM
234092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23410
23411 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23412 * util/mkisofs/iso9660.h: Likewise.
23413 * util/mkisofs/joliet.c: Likewise.
23414 * util/mkisofs/mkisofs.c: Likewise.
23415 * util/mkisofs/mkisofs.h: Likewise.
23416 * util/mkisofs/rock.c: Likewise.
23417 * util/mkisofs/tree.c: Likewise.
23418 * util/mkisofs/write.c: Likewise.
23419
23420 * util/mkisofs/eltorito.c (rcsid): Remove.
23421 * util/mkisofs/hash.c: Likewise.
23422 * util/mkisofs/joliet.c: Likewise.
23423 * util/mkisofs/name.c: Likewise.
23424 * util/mkisofs/rock.c: Likewise.
23425 * util/mkisofs/tree.c: Likewise.
23426 * util/mkisofs/write.c: Likewise.
23427
1dabbc77
RM
234282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23429
23430 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23431 instead of static allocation.
23432 * util/mkisofs/match.h: Likewise.
23433
633877cb
RM
234342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23435
3bc7896c
RM
23436 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23437 and `util/grub.d/10_linux.in'.
633877cb
RM
23438 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23439 translatable Shell files.
23440
af1c0c85
RM
234412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23442
23443 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23444
769ae37b
RM
234452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23446
23447 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23448 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23449 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23450 Add gettext initialization.
23451 (kfreebsd_entry): Make menuentry output translatable.
23452
234532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23454
23455 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23456 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23457 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23458 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23459 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23460 * po/LINGUAS: New file.
769ae37b
RM
23461
234622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23463
23464 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23465 other things).
23466 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23467 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23468 bindtextdomain() calls for gettext initialization.
23469
234702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 * gnulib/progname.c: New file (imported from Gnulib).
23473 * gnulib/progname.h: Likewise.
23474 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23475 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23476 (usage): Replace `progname' with `program_name'.
23477 (main): Use set_program_name() for program name initialization.
23478
234792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23480
23481 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23482 from here ...
23483 * Makefile.in (CPPFLAGS): ... to here.
23484
234852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23486
23487 * aclocal.m4: Move from here ...
23488 * acinclude.m4: ... to here.
23489 * autogen.sh: Add call to `aclocal'.
23490 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23491
234922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23493
23494 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23495 (LINGUAS): New variable.
23496 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23497 (install-local): Install MO files.
23498 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23499 * include/grub/i18n.h: New file.
3bc7896c
RM
23500 * po/POTFILES: New file.
23501 * po/ca.po: New file.
769ae37b
RM
23502 * util/grub.d/10_linux.in (bindir): New variable.
23503 Add gettext initialization.
23504 (linux_entry): Make menuentry output translatable.
23505 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23506 (usage): Make --help output translatable.
23507 (main): Initialize gettext.
23508
02c0a6ad
RM
235092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23510
23511 * import_gcry.py: New file (written by Vladimir with minor
23512 adjustments).
23513 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23514 ciphers.
23515 * INSTALL: Document that Python is required for bootstrap.
23516
235172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23518
23519 Import ciphers from libgcrypt 1.4.4.
23520
23521 * lib/libgcrypt/cipher/ChangeLog
23522 * lib/libgcrypt/cipher/ac.c
23523 * lib/libgcrypt/cipher/arcfour.c
23524 * lib/libgcrypt/cipher/bithelp.h
23525 * lib/libgcrypt/cipher/blowfish.c
23526 * lib/libgcrypt/cipher/camellia-glue.c
23527 * lib/libgcrypt/cipher/camellia.c
23528 * lib/libgcrypt/cipher/camellia.h
23529 * lib/libgcrypt/cipher/cast5.c
23530 * lib/libgcrypt/cipher/cipher.c
23531 * lib/libgcrypt/cipher/crc.c
23532 * lib/libgcrypt/cipher/des.c
23533 * lib/libgcrypt/cipher/dsa.c
23534 * lib/libgcrypt/cipher/ecc.c
23535 * lib/libgcrypt/cipher/elgamal.c
23536 * lib/libgcrypt/cipher/hash-common.c
23537 * lib/libgcrypt/cipher/hash-common.h
23538 * lib/libgcrypt/cipher/hmac-tests.c
23539 * lib/libgcrypt/cipher/md.c
23540 * lib/libgcrypt/cipher/md4.c
23541 * lib/libgcrypt/cipher/md5.c
23542 * lib/libgcrypt/cipher/primegen.c
23543 * lib/libgcrypt/cipher/pubkey.c
23544 * lib/libgcrypt/cipher/rfc2268.c
23545 * lib/libgcrypt/cipher/rijndael-tables.h
23546 * lib/libgcrypt/cipher/rijndael.c
23547 * lib/libgcrypt/cipher/rmd.h
23548 * lib/libgcrypt/cipher/rmd160.c
23549 * lib/libgcrypt/cipher/rsa.c
23550 * lib/libgcrypt/cipher/seed.c
23551 * lib/libgcrypt/cipher/serpent.c
23552 * lib/libgcrypt/cipher/sha1.c
23553 * lib/libgcrypt/cipher/sha256.c
23554 * lib/libgcrypt/cipher/sha512.c
23555 * lib/libgcrypt/cipher/tiger.c
23556 * lib/libgcrypt/cipher/twofish.c
23557 * lib/libgcrypt/cipher/whirlpool.c
23558
af2f93ac
RM
235592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23560
23561 Fix build for systems without error().
23562
23563 * gnulib/error.c: New file (imported from Gnulib).
23564 * gnulib/error.h: Likewise.
23565 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23566 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23567 (this variable is now used by error()).
23568
73fb3dd5
FZ
235692009-11-16 Felix Zielcke <fzielcke@z-51.de>
23570
814f5e96
FZ
23571 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23572 instead of relying that char is signed.
73fb3dd5 23573
a691ca33
VS
235742009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23575
23576 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23577 blocksize different from specified.
23578 (grub_pxefs_read): Likewise.
23579
2af8f0f4
FZ
235802009-11-16 Felix Zielcke <fzielcke@z-51.de>
23581
23582 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23583
23584 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23585 (grub_ata_readwrite): Likewise. Update 2 format strings.
23586 (grub_atapi_read): Likewise.
23587
23588 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23589 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23590 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23591 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23592 (ata_mod_LDFLAGS): Move from here ...
23593 * conf/i386.rmk: ... to here ...
23594 * conf/x86_64-efi.rmk: ... and here.
23595 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23596 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23597
83bdecaf
RM
235982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23599
23600 Relicense multiboot.h, with RMS' blessing.
23601
23602 * include/multiboot.h: Change to X11 license.
23603
fd6fd3d7
RM
236042009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23605
23606 Support --version in grub-mkisofs.
23607
23608 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23609 (OPTION_VERSION): New macro.
23610 (ld_options): Recognize --version.
23611 (usage): Move `program_name' from here ...
23612 (program_name): ... to here. Add `static' qualifier.
23613 (main): Recognize `OPTION_VERSION'.
23614
16a88c49
FZ
236152009-11-15 Felix Zielcke <fzielcke@z-51.de>
23616
23617 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23618 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23619
a4158476
RM
236202009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23621
23622 Fix help2man generation for mkisofs.
23623
23624 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23625 (usage): Send output to stdout (rather than stderr).
23626
fc2208b0
RM
236272009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23628
23629 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23630 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23631 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23632 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23633 (bin_SCRIPTS): Add `grub-mkfloppy'.
23634 (grub_mkfloppy_SOURCES): New variable.
23635
23636 * util/grub-mkrescue.in: New file.
23637 * util/i386/pc/grub-mkfloppy.in: New file.
23638
23639 * util/i386/coreboot/grub-mkrescue.in: Remove.
23640 * util/i386/pc/grub-mkrescue.in: Remove.
23641
8d0edf4a
RM
236422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23643
23644 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23645 from here ...
23646 * include/multiboot.h (struct multiboot_header): ... to here. Update
23647 all users.
23648 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23649 from here ...
23650 * include/multiboot.h (struct multiboot_info): ... to here. Update
23651 all users.
23652 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23653 from here ...
23654 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23655 Update all users.
23656 * include/grub/multiboot.h (struct grub_mod_list): Move
23657 from here ...
23658 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23659 Update all users.
23660
a73f5969
RM
236612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23662
23663 * include/multiboot2.h (multiboot_word): Rename from this ...
23664 (multiboot2_word): ... to this. Update all users.
23665 (multiboot_header): Rename from this ...
23666 (multiboot2_header): ... to this. Update all users.
23667 (multiboot_tag_header): Rename from this ...
23668 (multiboot2_tag_header): ... to this. Update all users.
23669 (multiboot_tag_start): Rename from this ...
23670 (multiboot2_tag_start): ... to this. Update all users.
23671 (multiboot_tag_name): Rename from this ...
23672 (multiboot2_tag_name): ... to this. Update all users.
23673 (multiboot_tag_module): Rename from this ...
23674 (multiboot2_tag_module): ... to this. Update all users.
23675 (multiboot_tag_memory): Rename from this ...
23676 (multiboot2_tag_memory): ... to this. Update all users.
23677 (multiboot_tag_unused): Rename from this ...
23678 (multiboot2_tag_unused): ... to this. Update all users.
23679 (multiboot_tag_end): Rename from this ...
23680 (multiboot2_tag_end): ... to this. Update all users.
23681
1c8927f0
RM
236822009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23683
23684 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23685 this platform we should support Multiboot1 first.
23686
23687 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23688 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23689 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23690
6e1e0d89
RM
236912009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23692
23693 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23694 of write calls (converting them to fwrite() if they aren't already).
23695 (get_torito_desc): Likewise.
23696 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23697
7f2b34d8
RM
236982009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23699
23700 * util/i386/pc/grub-install.in: Move from here ...
23701 * util/grub-install.in: ... to here. Update all users.
23702
c0ef3311
CW
237032009-11-11 Colin Watson <cjwatson@ubuntu.com>
23704
23705 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23706
e1f240ff
RM
237072009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23708
23709 Support for El Torito without floppy emulation.
23710
23711 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23712 (init_boot_catalog): Improve error handling.
23713 (get_torito_desc): Don't use floppy emulation unless requested by
23714 user. Patch boot information table when requested via
23715 `-boot-info-table'.
23716 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23717 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23718 (use_boot_info_table): New variables.
23719 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23720 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23721 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23722 `--eltorito-emul-floppy'.
23723 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23724 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23725 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23726 (use_boot_info_table, get_731): New prototypes.
23727 * util/mkisofs/write.c (get_731): New function.
23728
af7d4de5
FZ
237292009-11-11 Felix Zielcke <fzielcke@z-51.de>
23730
23731 Fix the generation of the man page.
23732
23733 * util/pc/i386/grub-install.in: Source
23734 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23735
2c55dbc0
RM
237362009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 Large file support for grub-mkisofs.
23739
23740 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23741 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23742 (session_start): Upgrade type to `uint64_t'. Update all users.
23743 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23744 (struct directory_entry): Upgrade type of `starting_block' and
23745 `size' to `uint64_t'. Update all users.
23746 (struct deferred): Remove unused structure.
23747 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23748 Update all users.
23749 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23750 file is larger than `UINT32_MAX'.
23751 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23752 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23753 return value.
23754 (struct deferred_write): Upgrade type of `extent' and `size' to
23755 `uint64_t'. Update all users.
23756 (last_extent_written): Upgrade type to `uint64_t'. Update all
23757 users.
23758 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23759 Update all users. Upgrade type of `remain' to `int64_t' and
23760 `use' to `size_t'. Use error() to handle fread() errors.
23761 (write_files): Rely on write_one_file() rather than calling
23762 xfwrite() directly.
23763
6a9cead5
FZ
237642009-11-09 Felix Zielcke <fzielcke@z-51.de>
23765
23766 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23767
4825d790
RM
237682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23769
23770 * util/mkisofs/fnmatch.c: Remove.
23771 * util/mkisofs/getopt1.c: Likewise.
23772 * util/mkisofs/getopt.c: Likewise.
23773 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23774 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23775 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23776 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23777 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23778
23779 * configure.ac: Detect `mingw32msvc' host_os.
23780 Check for lstat(), getuid() and getgid().
23781
23782 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23783 instances of `u_char' with `uint8_t'.
23784
23785 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23786 [!HAVE_GETUID] (getuid): New function (stub).
23787 [!HAVE_GETGID] (getgid): Likewise.
23788 [!HAVE_LSTAT] (lstat): Likewise.
23789 [!S_IROTH] (S_IROTH): New macro (dummy).
23790 [!S_IRGRP] (S_IRGRP): Likewise.
23791
84b860d8
RM
237922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23793
23794 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23795 conditional expression).
23796
66e9b712
RM
237972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23798
23799 Import from Gnulib.
23800
23801 * gnulib/fnmatch.c: New file.
23802 * gnulib/fnmatch.h: Likewise.
23803 * gnulib/fnmatch_loop.c: Likewise.
23804 * gnulib/getopt.c: Likewise.
23805 * gnulib/getopt.h: Likewise.
23806 * gnulib/getopt1.c: Likewise.
23807 * gnulib/getopt_int.h: Likewise.
23808 * gnulib/gettext.h: Likewise.
23809
34f4a5b0
RM
238102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23813 * normal/handler.c (read_handler_list): Likewise.
23814
ac451143
RM
238152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23816
23817 Misc cleanup.
23818
23819 * kern/command.c (grub_register_command_prio): Use
23820 grub_zalloc() instead of explicitly zeroing data.
23821 * kern/list.c: Include `<grub/mm.h>'.
23822 (grub_named_list_find): Replace `0' with `NULL'.
23823 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23824 (fs_module_list): Change type to `grub_named_list_t'. Update all
23825 users.
23826 * normal/dyncmd.c (read_command_list): Add space between function
23827 call and parenthesis.
23828 * normal/handler.c (read_handler_list): Likewise.
23829
4089b167
RM
238302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23831
23832 * normal/auth.c (punishment_delay): Moved from here ...
23833 (grub_auth_strcmp): ... to here (inside function).
23834
325f5037
RM
238352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23836
23837 * include/grub/list.h (struct grub_named_list): Remove `const'
23838 qualifier from `name'.
23839 (struct grub_prio_list): Likewise.
23840
7aea29a3
RM
238412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23842
23843 * normal/auth.c: Include `<grub/time.h>'.
23844 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23845
3fd6f044
RM
238462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23847
23848 * normal/auth.c (punishment_delay): New variable.
23849 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23850 (grub_auth_check_authentication): Punish failed login attempts with
23851 an incremental (2^N) delay.
23852
a4cd68e4
RM
238532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23854
23855 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23856 path with $(srcdir).
23857
7ad12f43
VS
238582009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23859
23860 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23861
c1129f03
RM
238622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23863
23864 * util/i386/coreboot/grub-mkrescue.in: New file.
23865 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23866 variables.
23867
23868 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23869 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23870 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23871 requirements.
23872 * util/mkisofs/defaults.h: New file.
23873 * util/mkisofs/eltorito.c: Likewise.
23874 * util/mkisofs/exclude.h: Likewise.
23875 * util/mkisofs/fnmatch.c: Likewise.
23876 * util/mkisofs/getopt.c: Likewise.
23877 * util/mkisofs/getopt1.c: Likewise.
23878 * util/mkisofs/hash.c: Likewise.
23879 * util/mkisofs/include/fctldefs.h: Likewise.
23880 * util/mkisofs/include/mconfig.h: Likewise.
23881 * util/mkisofs/include/prototyp.h: Likewise.
23882 * util/mkisofs/include/statdefs.h: Likewise.
23883 * util/mkisofs/iso9660.h: Likewise.
23884 * util/mkisofs/joliet.c: Likewise.
23885 * util/mkisofs/match.c: Likewise.
23886 * util/mkisofs/match.h: Likewise.
23887 * util/mkisofs/mkisofs.c: Likewise.
23888 * util/mkisofs/mkisofs.h: Likewise.
23889 * util/mkisofs/multi.c: Likewise.
23890 * util/mkisofs/name.c: Likewise.
23891 * util/mkisofs/rock.c: Likewise.
23892 * util/mkisofs/tree.c: Likewise.
23893 * util/mkisofs/write.c: Likewise.
23894
ec8bb77d
VS
238952009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23898 being insecure.
23899
3716b12c
RM
239002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23901
23902 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23903 `grub-mkimage' (and use $0 when possible).
23904
b97b7b91
RM
239052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23906
23907 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23908 error message for excessively large memory map.
23909
04114812
RM
239102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23911
23912 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23913 executable bit.
23914
e4eb2373
RM
239152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23916
23917 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23918 message for coreboot users.
23919
c926e1d5 239202009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23921
23922 Fix build with GNU gold.
23923
23924 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23925 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23926 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23927 link addresses.
23928 * aclocal.m4: Likewise.
23929
86e5b1db 239302009-11-04 Felix Zielcke <fzielcke@z-51.de>
23931
23932 * configure.ac (AC_PREREQ): Bump to 2.59d.
23933 * INSTALL: Make it more clear when Autoconf and Ruby are
23934 needed and when to run `./autogen.sh'.
23935
246cd78f 239362009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23937
23938 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23939 OSes.
23940
4f9dfb37 239412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23942
23943 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23944
b82bd5e1 239452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23946
23947 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23948 giving it to GNU Mach.
23949
ff1a9bca 239502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23951
23952 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23953 GNU partition number to get internal GRUB partition number.
23954
61697d9c 239552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23956
23957 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23958 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23959
a50569e1 239602009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23961
23962 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23963 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23964 case.
23965
5b153867 239662009-11-01 Felix Zielcke <fzielcke@z-51.de>
23967
23968 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23969
d9e2cd70 239702009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23971
23972 Fix build problem.
23973
23974 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23975 `-isystem=$(srcdir)/include'.
23976
805111a4 239772009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23980 checked (grub-install doesn't currently rely on it).
23981
fa6e945f 239822009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23983
23984 Revert SVN r2660.
23985
23986 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23987 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23988 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23989 * conf/i386-ieee1275.rmk: Likewise.
23990 * conf/i386-pc.rmk: Likewise.
23991 * conf/powerpc-ieee1275.rmk: Likewise.
23992 * conf/sparc64-ieee1275.rmk: Likewise.
23993 * conf/x86_64-efi.rmk: Likewise.
23994
cee15086 239952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23996
23997 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23998
95b9239e 239992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24000
24001 * include/grub/misc.h: Stop checking for APPLE_CC.
24002
2ed19dfd 240032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24004
24005 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24006 doesn't cause an infinite call loop.
24007
fdcdde19 240082009-10-28 Felix Zielcke <fzielcke@z-51.de>
24009
24010 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24011 strings.
24012
cefabfe1 240132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24014
24015 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24016 variable.
24017 * Makefile.in: Likewise.
24018
ed96ab6d 240192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24020
24021 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24022
0579b753 240232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24024
24025 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24026
478df409 240272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24028
24029 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24030
083d1679 240312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24034 from here ...
24035 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24036
5947ae32 240372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24038
24039 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24040 in $(MAKEINFO) invocation. This makes it clear in output that
24041 errors are being ignored.
24042
94180ff6 240432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24044
24045 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24046 from here ...
24047 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24048 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24049 * conf/i386-ieee1275.rmk: Likewise.
24050 * conf/i386-pc.rmk: Likewise.
24051 * conf/powerpc-ieee1275.rmk: Likewise.
24052 * conf/sparc64-ieee1275.rmk: Likewise.
24053 * conf/x86_64-efi.rmk: Likewise.
24054
9031b03a 240552009-10-26 Colin Watson <cjwatson@ubuntu.com>
24056
24057 * util/grub-editenv.c (main): If only a command is given, use
24058 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24059 (usage): FILENAME is now optional and has a default.
24060
e4f6809b 240612009-10-26 Colin Watson <cjwatson@ubuntu.com>
24062
24063 Improve grub-mkconfig performance when there are several menu
24064 entries on a single filesystem.
24065
24066 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24067 prepare_grub_to_access_device.
24068 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24069 * util/grub.d/30_os-prober.in: Likewise.
24070
67937d4d 240712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24072
24073 * util/grub.d/10_freebsd.in: Remove.
24074 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24075 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24076
ee3756cc 240772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24078
5c35048e 24079 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24080
4dea1c6f 240812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24084 grub_util_error() call.
24085
042484d7 240862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24087
24088 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24089 `reserved_first_sector' member.
24090 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24091 `reserved_first_sector' to 1.
24092 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24093 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24094 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24095 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24096 filesystems which begin at first sector.
24097 (options): New option --skip-fs-probe.
24098 (main): Handle --skip-fs-probe and pass it to setup().
24099
d64448a7 241002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24101
24102 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24103 (memset): Fix function prototype.
24104
508d42ec 241052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
241062009-10-25 Vasily Averin <vvs@parallels.com>
24107
24108 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24109 `dirent.direntlen == 0'.
24110
b240e30c 241112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24112
24113 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24114 `cpio'.
24115 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24116
346e7fbe 241172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24118
24119 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24120 `__trampoline_setup' and `__ucmpdi2'.
24121 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24122 that libgcc provides.
24123
cdb308b0 241242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24125
24126 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24127 * include/grub/sparc64/libgcc.h (memset): Likewise.
24128 * include/grub/misc.h (memset, memcmp): New function prototypes.
24129
fb26abc2 241302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24131
24132 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24133 `cpio'.
24134 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24135
f6693890 241362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24137
24138 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24139 * docs/grub.cfg: Compensate for recent change in multiboot
24140 loader (since 2009-08-14 it won't pass filename to payload).
24141 * util/grub.d/10_hurd.in: Likewise.
24142
0933cdc0 241432009-10-21 Felix Zielcke <fzielcke@z-51.de>
24144
24145 * config.guess: Update to latest version from config git
24146 repository.
24147 * config.sub: Likewise.
24148
3b2fe8c2 241492009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24150
24151 Fix build on sparc64.
24152
24153 * configure.ac: Perform checks for libgcc symbols before
24154 adding `-nostdlib' to LDFLAGS.
24155
46695a62 241562009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24157
24158 Let user specify OpenBSD root device.
24159
24160 * loader/i386/bsd.c (openbsd_root): New variable.
24161 (openbsd_opts): New option 'root'.
24162 (OPENBSD_ROOT_ARG): New macro.
24163 (grub_openbsd_boot): Use 'openbsd_root'.
24164 (grub_cmd_openbsd): Fill 'openbsd_root'.
24165
d2b6b7fc 241662009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24167
24168 * NEWS: Misc adjustments.
24169
421bd7ac 241702009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24173
f1d29d87 241742009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24175
24176 * configure.ac: Bump version to 1.97.
24177
6f3cd880 241782009-10-16 Colin Watson <cjwatson@ubuntu.com>
24179
24180 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24181 -mno-3dnow on x86 architectures. Some toolchains enable these
24182 features by default, but they rely on registers that aren't enabled
24183 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24184
035f7122 241852009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 Make entry text a bit more readable.
24188
24189 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24190
44998e58 241912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24194
cd2851b3 241952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24198 operations.
24199
c6f3b249 242002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24201
24202 * configure.ac: Add missing dollar.
24203
6b5886ba 242042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24207
24208 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24209 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24210 exports.
24211 * include/grub/sparc64/libgcc.h: Likewise. Use
24212 preprocessor conditionals.
24213
e9d66f6d 242142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24215
24216 * conf/common.rmk (grub-dumpbios): Remove rule.
24217 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24218 * util/grub-dumpbios.in: Remove file.
24219
9155bc17 242202009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24221
24222 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24223 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24224
24225 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24226 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24227 users.
24228
24229 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24230 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24231 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24232 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24233 users.
24234
bf7f7a18 242352009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24236
24237 * term/tparm.c: Switch to GPLv3.
24238
86564c26 242392009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24240
24241 * include/grub/i386/cpuid.h: Add header protection.
24242
5c936493 242432009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24244
24245 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24246
24247 * include/grub/i386/cpuid.h: New file.
24248 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24249 (has_longmode): Rename to ...
24250 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24251 `static' attribute.
24252 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24253 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24254 on a CPU that doesn't implement AMD64 instruction set.
24255
186e7cf2 242562009-10-06 Colin Watson <cjwatson@ubuntu.com>
24257
24258 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24259 that version.texi is rebuilt on version number changes.
24260
83b65c4a 242612009-10-06 Colin Watson <cjwatson@ubuntu.com>
24262
24263 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24264 Fixes bug #27602.
24265
d244281c 242662009-10-06 Colin Watson <cjwatson@ubuntu.com>
24267
24268 * util/i386/pc/grub-install.in: Source
24269 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24270 that the --grub-probe option will work.
24271 * util/sparc64/ieee1275/grub-install.in: Likewise.
24272
da25306d 242732009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * configure.ac: Bump version to 1.97~beta4.
24276
e8ee83c0 242772009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24278
24279 Resync grub-mkdevicemap in x86_64-efi.
24280
24281 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24282 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24283 `util/devicemap.c'.
24284
50dcabcf 242852009-10-01 Colin Watson <cjwatson@ubuntu.com>
24286
24287 * util/grub-editenv.c (create_envblk_file): Write new block with a
24288 .new suffix and then rename it into place, to ensure atomic
24289 creation.
24290
0e51c3a7 242912009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24292
24293 Do not automatically install headers.
24294
24295 * Makefile.in (include_DATA): Remove. Update all users.
24296
31299a95 242972009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24298
24299 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24300 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24301
24302 * util/osdetect.lua: Remove.
24303 * script/lua/lauxlib.c: Likewise.
24304 * script/lua/ldebug.c: Likewise.
24305 * script/lua/grub_main.c: Likewise.
24306 * script/lua/lauxlib.h: Likewise.
24307 * script/lua/ldebug.h: Likewise.
24308 * script/lua/ltablib.c: Likewise.
24309 * script/lua/liolib.c: Likewise.
24310 * script/lua/lstrlib.c: Likewise.
24311 * script/lua/lualib.h: Likewise.
24312 * script/lua/ldo.c: Likewise.
24313 * script/lua/ldump.c: Likewise.
24314 * script/lua/ldo.h: Likewise.
24315 * script/lua/loslib.c: Likewise.
24316 * script/lua/lundump.c: Likewise.
24317 * script/lua/grub_lib.c: Likewise.
24318 * script/lua/ldblib.c: Likewise.
24319 * script/lua/lundump.h: Likewise.
24320 * script/lua/lmem.c: Likewise.
24321 * script/lua/grub_lib.h: Likewise.
24322 * script/lua/lmathlib.c: Likewise.
24323 * script/lua/lstate.c: Likewise.
24324 * script/lua/ltm.c: Likewise.
24325 * script/lua/lvm.c: Likewise.
24326 * script/lua/lmem.h: Likewise.
24327 * script/lua/lstate.h: Likewise.
24328 * script/lua/ltm.h: Likewise.
24329 * script/lua/ltable.c: Likewise.
24330 * script/lua/lvm.h: Likewise.
24331 * script/lua/llex.c: Likewise.
24332 * script/lua/lgc.c: Likewise.
24333 * script/lua/grub_lua.h: Likewise.
24334 * script/lua/loadlib.c: Likewise.
24335 * script/lua/lfunc.c: Likewise.
24336 * script/lua/lopcodes.c: Likewise.
24337 * script/lua/lparser.c: Likewise.
24338 * script/lua/ltable.h: Likewise.
24339 * script/lua/llex.h: Likewise.
24340 * script/lua/lgc.h: Likewise.
24341 * script/lua/lfunc.h: Likewise.
24342 * script/lua/lbaselib.c: Likewise.
24343 * script/lua/lopcodes.h: Likewise.
24344 * script/lua/lparser.h: Likewise.
24345 * script/lua/lzio.c: Likewise.
24346 * script/lua/linit.c: Likewise.
24347 * script/lua/lobject.c: Likewise.
24348 * script/lua/llimits.h: Likewise.
24349 * script/lua/lstring.c: Likewise.
24350 * script/lua/lzio.h: Likewise.
24351 * script/lua/lapi.c: Likewise.
24352 * script/lua/lcode.c: Likewise.
24353 * script/lua/lua.h: Likewise.
24354 * script/lua/lobject.h: Likewise.
24355 * script/lua/lstring.h: Likewise.
24356 * script/lua/lapi.h: Likewise.
24357 * script/lua/lcode.h: Likewise.
24358 * script/lua/luaconf.h: Likewise.
24359
cb8a2c38 243602009-09-26 Colin Watson <cjwatson@ubuntu.com>
24361
24362 * docs/grub.texi (Command-line and menu entry commands): Document
24363 date and echo commands.
24364
6b9b6276 243652009-09-24 Pavel Roskin <proski@gnu.org>
24366
24367 * include/grub/kernel.h (struct grub_module_header): Remove
24368 `grub_module_header_types'. Make `type' unsigned. Make `size'
24369 32-bit on all platforms.
24370 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24371 8-bit field. Use grub_host_to_target32() for `size'.
24372 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24373 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24374 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24375
4e5a02a7 243762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 Fix "lost keypress" bug in at_keyboard.
24379
24380 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24381 Checks for readyness of input buffer (without flushing it).
24382 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24383 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24384
c6dcedf6 243852009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24386
24387 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24388 size check within GRUB_MACHINE_PCBIOS section.
24389
74c958b1 243902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24391
24392 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24393 return value.
24394 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24395 KEYBOARD_ISREADY check.
24396 (grub_at_keyboard_checkkey): Rename to ...
24397 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24398 Remove gratuitous cast.
24399
ff420223 244002009-09-23 Colin Watson <cjwatson@ubuntu.com>
24401
24402 * configure.ac: Call AC_PROG_MKDIR_P.
24403 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24404 version.texi in $(builddir) rather than $(srcdir).
24405 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24406 to makeinfo's @include search path.
24407
d96875df 244082009-09-23 Felix Zielcke <fzielcke@z-51.de>
24409
24410 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24411
9b3f8365 244122009-09-23 Felix Zielcke <fzielcke@z-51.de>
24413
24414 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24415 for `*.dpkg-new'.
24416
c44c90db 244172009-09-21 Colin Watson <cjwatson@ubuntu.com>
24418
24419 Build info documentation. Some code borrowed from Automake.
24420
24421 * configure.ac: Check for makeinfo.
24422 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24423 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24424 docs/version.texi.
24425 (MOSTLYCLEANFILES): Add vti.tmp.
24426 (docs/version.texi, docs/stamp-vti): Update automatically.
24427 (docs/grub.info): Build info documentation. Use --force and ignore
24428 errors for now.
24429 (all-local): Add $(INFOS).
24430 (install-local): Install info files.
24431 (uninstall): Uninstall info files.
24432 * docs/version.texi: Remove from revision control. This file is
24433 automatically generated on build now.
24434 * gendistlist.sh: Add `*.info'.
24435
e0b37bb5 244362009-09-21 Felix Zielcke <fzielcke@z-51.de>
24437
24438 * kern/term.c: Fix indentation.
24439
5a78865b 244402009-09-21 Felix Zielcke <fzielcke@z-51.de>
24441
24442 * util/hostdisk.c: Fix a comment.
24443
dace7e8a 244442009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24445
24446 Fix regression introduced in r2539.
24447
24448 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24449 to 0xA1.
24450
a83d079b 244512009-09-19 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24454 os-prober. Under normal operation, it does not print anything to
24455 stderr; if it does, we need to debug it, and throwing away stderr
24456 makes that excessively difficult.
a83d079b 24457
be94a509 244582009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24461
63f745e8 244622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24465 AC_LANG_PROGRAM from autoconf.
24466 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24467 prototypes (fixes warning).
24468
24469 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24470 `--disable-werror' was used.
24471
bbb2a70f 244722009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24473
24474 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24475 uninitialized `lastaddr'.
24476
77c24f1d 244772009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24478
0f0b8c87 24479 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24480
07197f23 244812009-09-14 Colin Watson <cjwatson@ubuntu.com>
24482
24483 * commands/test.c (get_fileinfo): Return immediately if
24484 grub_fs_probe fails.
24485
dabf1798 244862009-09-14 José Martínez <xosemp@gmail.com>
24487
24488 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24489
d52109a7 244902009-09-14 Colin Watson <cjwatson@ubuntu.com>
24491
24492 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24493 output.
24494
56532179 244952009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24496
24497 * configure.ac: Remove --enable-grub-pe2elf. Only build
24498 grub-pe2elf when needed by the build system itself.
24499 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24500
8ef070f5 245012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24502
24503 * configure.ac: Bump version to 1.97~beta3.
24504 * docs/version.texi: Likewise.
24505
61229557 245062009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24507
24508 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24509 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24510 from here ...
24511 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24512 (grub_linux_setup_video): ... to here (with some adjustments).
24513
5c9f8d84 245142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24515
24516 Fix memory corruption issue (spotted by Colin Watson).
24517
24518 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24519 causing returned size to be stored in an incorrect memory location.
24520 Fix use of uninitialized value when storing the returned size.
24521
e8f5d6e9 245222009-09-12 Yves Blusseau <blusseau@zetam.org>
24523
24524 Change clean rules to properly remove files
24525
24526 * genmk.rb: add new clean rules
24527 * Makefile.in (clean): add the new targets
24528 (mostlyclean): likewise
24529
cda2a409 245302009-09-11 Colin Watson <cjwatson@ubuntu.com>
24531
24532 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24533 to grub_uint64_t.
24534 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24535 non-resident files.
24536
86695375 245372009-09-11 Colin Watson <cjwatson@ubuntu.com>
24538
24539 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24540 part of bug #27349.
24541
8aa1541a 245422009-09-10 Felix Zielcke <fzielcke@z-51.de>
24543
24544 * util/grub-mkconfig.in: Make the created config mode 400 and
24545 print a warning if it fails.
24546
48d9bb0a 245472009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24548
24549 * util/grub.d/40_custom.in: Ask user to type custom entries below
24550 comment, rather than below 'exec tail' line.
24551
3b0521be 245522009-09-10 Colin Watson <cjwatson@ubuntu.com>
24553
24554 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24555 visible in grub.cfg.
24556
50051d55 245572009-09-10 Colin Watson <cjwatson@ubuntu.com>
24558
24559 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24560 file.
24561
c0d34387 245622009-09-10 Felix Zielcke <fzielcke@z-51.de>
24563
24564 * docs/grub.cfg: Add an example menu entry for memtest86+.
24565
80a608f3 245662009-09-09 Felix Zielcke <fzielcke@z-51.de>
24567
a2094832 24568 * config.guess: Update to latest version from config git.
80a608f3 24569 * config.sub: Likewise.
24570
99423078 245712009-09-08 Colin Watson <cjwatson@ubuntu.com>
24572
24573 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24574 unknown-command case. Fixes bug #27320.
24575
44454e4c 245762009-09-08 Felix Zielcke <fzielcke@z-51.de>
24577
24578 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24579 `help' if the command exists.
24580
e30d87ad 245812009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24582
24583 * INSTALL: Require GCC 4.1.3 or later.
24584
9a86f1ec 245852009-09-06 Yves Blusseau <blusseau@zetam.org>
24586
24587 * Makefile.in (RMKFILES): add i386-qemu.rmk
24588 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24589 $(srcdir)/stamp-h.in
24590
7f26d466 245912009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24592
24593 * util/grub-probe.c (probe): Comment out buggy codepath, which
24594 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24595 should be re-enabled after 1.97.
24596
3a613259 245972009-09-05 Felix Zielcke <fzielcke@z-51.de>
24598
24599 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24600 find searches for.
24601
197f76c7 246022009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24605 unnecessary calls to grub_error.
24606
70ba68ce 246072009-09-04 Colin Watson <cjwatson@ubuntu.com>
24608
24609 * NEWS: Mention `keystatus' and Unicode fonts.
24610
4ff0d7a4 246112009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24612
24613 * configure.ac: Bump version to 1.97~beta2.
24614 * docs/version.texi: Likewise.
24615
77c55a87 246162009-09-03 Colin Watson <cjwatson@ubuntu.com>
24617
24618 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24619 containing unwind information in some cases where it previously did
24620 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24621 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24622 discussion.
24623
f79572cd 246242009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24625
24626 Embedding loadenv module into grub-emu
24627
24628 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24629 commands/loadenv.c
24630 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24631 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24635 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24636
93a81088 246372009-09-03 Magnus Granberg <zorry@ume.nu>
24638
24639 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24640 include -fPIE in the default specs.
24641 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24642 to TARGET_CFLAGS.
24643
160034b2 246442009-09-03 Felix Zielcke <fzielcke@z-51.de>
24645
24646 * INSTALL: Note that GNU Bison 2.3 or later is required.
24647
087c07c4 246482009-09-03 Colin Watson <cjwatson@ubuntu.com>
24649
24650 * kern/i386/pc/startup.S: Fix typo.
24651
cbf978c0 246522009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24655 according to GCS.
24656
246572009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24658
24659 * docs/grub.texi (Naming convention): Describe one-based partition
24660 numbering.
24661 (Device syntax): Likewise.
24662 (File name syntax): Likewise.
24663 (Block list syntax): Likewise.
24664 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24665 menu.lst.
24666 (File name syntax): Likewise.
24667 (Command-line and menu entry commands): Document acpi, blocklist,
24668 crc, export, insmod, keystatus, ls, set, and unset commands.
24669
f3e8cdfd 246702009-09-02 Colin Watson <cjwatson@ubuntu.com>
24671
24672 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24673 to avoid implying that only one of --shift, --ctrl, or --alt may be
24674 used.
24675
c0bc232b 246762009-09-02 Colin Watson <cjwatson@ubuntu.com>
24677
24678 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24679 rather than comparing against S_IFREG, which will almost never work.
24680
aa0f752d 246812009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24682
24683 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24684 (write_blocklists): Likewise.
24685
ecb3166a 246862009-09-01 Colin Watson <cjwatson@ubuntu.com>
24687
24688 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24689 argument to grub_printf.
24690
c403a125 246912009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24692
24693 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24694 non GNU test.
31aba781 24695
b5e7312c 246962009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 * kern/file.c (grub_file_read): Spelling fix
24699
fe00f472 247002009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24701
24702 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24703 loading of headers in some cases.
24704
cc55302e 247052009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24706
24707 * configure.ac: Bump version to 1.97~beta1.
24708 * docs/version.texi: Likewise.
24709
5c90cdd2 247102009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24711
24712 * include/grub/i386/xnu.h: Add license header.
24713 include grub/err.h explicitly.
24714
c90edae4 247152009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24716
24717 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24718 to `ufs' in the vfs.root.mountfrom kernel parameter.
24719
d8888b5c 247202009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24721
24722 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24723
24724 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24725 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24726
24727 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24728 `ARRAY_SIZE' macro.
24729
6f07b921 247302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24731
24732 * kern/file.c (grub_file_read): Check offset.
24733 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24734 * fs/jfs.c (grub_jfs_read_file): Likewise.
24735 * fs/ntfs.c (grub_ntfs_read): Likewise.
24736 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24737 * fs/minix.c (grub_minix_read_file): Correct offset check.
24738 * fs/ufs.c (grub_ufs_read_file): Likewise.
24739
b4f34077 247402009-08-28 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * term/i386/pc/console.c (bios_data_area): Cast
24743 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24744
e7c69859 247452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24746
24747 1-bit optimised blitters.
24748
24749 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24750 prototype.
24751 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24752 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24753 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24754 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24755 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24756 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24757 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24758 function.
24759 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24760 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24761 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24762 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24763 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24764 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24765 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24766 when possible.
24767 * video/video.c (grub_video_get_blit_format): Return
24768 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24769
a57da43f 247702009-08-28 Colin Watson <cjwatson@ubuntu.com>
24771
24772 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24773 the first argument to grub_printf.
24774
4cbe67e5 247752009-08-28 Colin Watson <cjwatson@ubuntu.com>
247762009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 Add `getkeystatus' terminal method. Add a new `keystatus' command
24779 to query it.
24780
24781 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24782 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24783 modifier key bitmasks.
24784 (struct grub_term_input): Add `getkeystatus' member.
24785 (grub_getkeystatus): Add prototype.
24786 * kern/term.c (grub_getkeystatus): New function.
24787
24788 * include/grub/i386/pc/memory.h
24789 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24790 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24791 Data Area layout.
24792 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24793 (grub_console_term_input): Set `getkeystatus' member.
24794 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24795 constants.
24796 (grub_usb_keyboard_getreport): Likewise.
24797 (grub_usb_keyboard_checkkey): Likewise.
24798 (grub_usb_keyboard_getkeystatus): New function.
24799 (grub_usb_keyboard_term): Set `getkeystatus' member.
24800
24801 * commands/keystatus.c: New file.
24802 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24803 (keystatus_mod_SOURCES): New variable.
24804 (keystatus_mod_CFLAGS): Likewise.
24805 (keystatus_mod_LDFLAGS): Likewise.
24806 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24807 commands/keystatus.c.
24808 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24809 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24810 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24812 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24814
6e2a9085 248152009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24816
24817 Split befs.mod and afs.mod into *_be.mod and *.mod
24818
24819 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24820 (grub_fstest_SOURCES): Likewise.
24821 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24822 (afs_be_mod_SOURCES): New variable.
24823 (afs_be_mod_CFLAGS): Likewise.
24824 (afs_be_mod_LDFLAGS): Likewise.
24825 (befs_be_mod_SOURCES): Likewise.
24826 (befs_be_mod_CFLAGS): Likewise.
24827 (befs_be_mod_LDFLAGS): Likewise.
24828 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24829 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24831 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24832 (grub_emu_SOURCES): Likewise.
24833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24835 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24836 * fs/afs_be.c: New file.
24837 * fs/befs_be.c: New file.
24838 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24839 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24840 (U16): Replaced with ...
24841 (grub_afs_to_cpu16): ...this. All users updated.
24842 (U32): Replaced with ...
24843 (grub_afs_to_cpu32): ...this. All users updated.
24844 (U64): Replaced with ...
24845 (grub_afs_to_cpu64): ...this. All users updated.
24846 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24847 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24848 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24849 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24850 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24851 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24852 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24853 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24854 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24855 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24856 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24857
32a71655 248582009-08-26 Bean <bean123ch@gmail.com>
24859
24860 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24861 64-bit number.
24862 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24863 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24864 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24865
552bf6c5 248662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 NetBSD memory map support.
24869
24870 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24871 (grub_netbsd_btinfo_mmap_header): New structure.
24872 (grub_netbsd_btinfo_mmap_entry): Likewise.
24873 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24874
1ae2078c 248752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 Enable bsd.mod on coreboot.
24878
24879 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24880 (bsd_mod_SOURCES): New variable.
24881 (bsd_mod_CFLAGS): Likewise.
24882 (bsd_mod_LDFLAGS): Likewise.
24883 (bsd_mod_ASFLAGS): Likewise.
24884 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24885 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24886
beefc598 248872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24888
24889 Cleanup NetBSD root support.
24890
24891 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24892 grub_bsd_get_device.
24893 Fix typo.
24894
3b76e68b 248952009-08-25 Felix Zielcke <fzielcke@z-51.de>
24896
24897 * util/grub.d/00_header.in: Move check for the video backend of
24898 gfxterm from here ...
24899 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24900 a suitable video backend.
24901
aea664ea 249022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 Fix breakage in grub-setup.
24905
24906 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24907 "msdos_partition_map".
24908
ff747d50 249092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 Fix breakage in normal/auth.c.
24912
24913 * normal/auth.c (grub_iswordseparator): New function.
24914
e7e1f93f 249152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 Authentication support.
24918
24919 * commands/password.c: New file.
24920 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24921 (password_mod_SOURCES): New variable.
24922 (password_mod_CFLAGS): Likewise.
24923 (password_mod_LDFLAGS): Likewise.
24924 (normal_mod_SOURCES): Add normal/auth.c.
24925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24926 normal/auth.c.
24927 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24929 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24932 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24933 * include/grub/auth.h: New file.
24934 * include/grub/err.h (grub_err_t): New enum value
24935 GRUB_ERR_ACCESS_DENIED.
24936 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24937 'users'.
24938 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24939 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24940 users updated.
24941 * normal/auth.c: New file.
24942 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24943 (grub_cmdline_run): Don't allow to go to command line without
24944 authentication.
24945 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24946 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24947 menuentry without superuser rights.
24948 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24949 user isn't a superuser.
24950
70f1161d 249512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24952
24953 Save space by inlining misc.c functions.
24954
24955 * kern/misc.c (grub_iswordseparator): Made static.
24956 * kern/misc.c (grub_strcat): Moved from here ...
24957 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24958 * kern/misc.c (grub_strncat): Moved from here ...
24959 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24960 * kern/misc.c (grub_strcasecmp): Moved from here ...
24961 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24962 * kern/misc.c (grub_strncasecmp): Moved from here ...
24963 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24964 * kern/misc.c (grub_isalpha): Moved from here ...
24965 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24966 * kern/misc.c (grub_isdigit): Moved from here ...
24967 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24968 * kern/misc.c (grub_isgraph): Moved from here ...
24969 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24970 * kern/misc.c (grub_tolower): Moved from here ...
24971 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24972
48e40bff 249732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * script/sh/function.c (grub_script_function_find): Cut error message
24976 not to flood terminal.
24977 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24978 limit.
24979 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24980
c385bfc3 249812009-08-24 Colin Watson <cjwatson@ubuntu.com>
24982
24983 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24984 `report' grub_uint8_t *.
24985 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24986 Use a 50-millisecond timeout rather than just repeating
24987 grub_usb_keyboard_getreport 50 times.
24988 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24989
2d21e3e8 249902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 Rename *_partition_map to part_*
24993
24994 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24995 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24996 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24997 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24998 All users updated.
24999 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25000 All users updated.
25001 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25002 * util/grub-probe.c (probe_partmap): Don't transform partition name
25003 to get module name.
25004
dd103c4e 250052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 Fix OpenBSD and NetBSD support.
25008
25009 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25010 memory address conflict.
25011 (OPENBSD_MMAP_ACPI): New definition.
25012 (OPENBSD_MMAP_NVS): Likewise.
25013 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25014 and OPENBSD_MMAP_NVS.
25015 Add memory map terminator
25016 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25017 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25018
16c84d74 250192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25020
25021 Let user specify NetBSD root device.
25022
25023 * loader/i386/bsd.c (netbsd_root): New variable.
25024 (netbsd_opts): New option 'root'.
25025 (NETBSD_ROOT_ARG): New macro.
25026 (grub_netbsd_boot): Use 'netbsd_root'.
25027 (grub_bsd_unload): Free 'netbsd_root'.
25028 (grub_cmd_netbsd): Fill 'netbsd_root'.
25029
adb29902 250302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 Support for 64-bit NetBSD.
25033
25034 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25035 point when booting non-FreeBSD.
25036
f5ae9f74 250372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Support --no-smp and --no-acpi for NetBSD.
25040
25041 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25042 (NETBSD_AB_NOACPI): Likewise.
25043 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25044 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25045
de74f136 250462009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25049 errors.
25050 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25051 errors. Call grub_error when needed.
25052
e9a925da 250532009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25054
25055 * commands/search.c (search_fs): Try searching without autoload first.
25056 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25057 filesystem module explicitly for faster booting.
25058
5174302b 250592009-08-23 Colin Watson <cjwatson@ubuntu.com>
25060
25061 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25062
c8c80635 250632009-08-23 Colin Watson <cjwatson@ubuntu.com>
25064
25065 * util/grub.d/30_os-prober.in: Disable os-prober if
25066 `GRUB_DISABLE_OS_PROBER' was set to true.
25067
71acf5e5 250682009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25069
25070 * partmap/pc.c: Rename to ...
25071 * partmap/msdos.c: ... this. Update all users.
25072 (grub_pc_partition_map): Rename to ...
25073 (grub_msdos_partition_map): ... this. Update all users.
25074
25075 * parttool/pcpart.c: Rename to ...
25076 * parttool/msdospart.c: ... this. Update all users.
25077
25078 * include/grub/pc_partition.h: Rename to ...
25079 * include/grub/msdos_partition.h: ... this. Update all users.
25080 (grub_pc_partition_bsd_entry): Rename to ...
25081 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25082 (grub_pc_partition_disk_label): Rename to ...
25083 (grub_msdos_partition_disk_label): ... this. Update all users.
25084 (grub_pc_partition_entry): Rename to ...
25085 (grub_msdos_partition_entry): ... this. Update all users.
25086 (grub_pc_partition_mbr): Rename to ...
25087 (grub_msdos_partition_mbr): ... this. Update all users.
25088 (grub_pc_partition): Rename to ...
25089 (grub_msdos_partition): ... this. Update all users.
25090 (grub_pc_partition_is_empty): Rename to ...
25091 (grub_msdos_partition_is_empty): ... this. Update all users.
25092 (grub_pc_partition_is_extended): Rename to ...
25093 (grub_msdos_partition_is_extended): ... this. Update all users.
25094 (grub_pc_partition_is_bsd): Rename to ...
25095 (grub_msdos_partition_is_bsd): ... this. Update all users.
25096
25097 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25098 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25099 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25100 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25101 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25102 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25103 (gpt_mod_LDFLAGS): Rename to ...
25104 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25105 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25106 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25107 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25108 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25109 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25110 (part_gpt_mod_LDFLAGS): ... this.
25111 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25112 `pcpart.mod' to `msdospart.mod'.
25113 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25114 to ...
25115 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25116 (msdospart_mod_LDFLAGS): ... this.
25117
c11fded5 251182009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25121 (openbsd_opts): Likewise.
25122 (netbsd_opts): Likewise.
25123 (freebsd_flags): Added 0 terminator.
25124 (openbsd_flags): Likewise.
25125 (netbsd_flags): Likewise.
25126 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25127 (grub_cmd_freebsd): Transformed into extended command.
25128 (grub_cmd_openbsd): Likewise.
25129 (grub_cmd_netbsd): Likewise.
25130 (cmd_freebsd): Changed type to grub_extcmd_t.
25131 (cmd_openbsd): Likewise.
25132 (cmd_netbsd): Likewise.
25133 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25134 grub_cmd_openbsd as extended commands.
25135 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25136 cmd_netbsd and cmd_openbsd
25137
11d1c769 251382009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25139
25140 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25141
7a9094e5 251422009-08-21 Pavel Roskin <proski@gnu.org>
25143
5496c37e 25144 * Makefile.in (install-local): When checking if a file is in the
25145 build directory, use "test -e" to detect symlinks.
25146
7a9094e5 25147 * Makefile.in (install-local): Remove all files in
25148 $(DESTDIR)$(pkglibdir) before installing new files there.
25149
e53cea11 251502009-08-18 Felix Zielcke <fzielcke@z-51.de>
25151
25152 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25153 grub-mkelfimage.
25154
9aced544 251552009-08-18 Felix Zielcke <fzielcke@z-51.de>
25156
25157 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25158 explicitly specified by the user.
25159
b7da6bab 251602009-08-18 Pavel Roskin <proski@gnu.org>
25161
25162 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25163 grub_uint8_t pointer for data.
25164 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25165 Likewise.
25166 * video/fb/fbutil.c: Remove unnecessary casts.
25167
19f1b335 251682009-08-17 Michal Suchanek <hramrach@centrum.cz>
25169
25170 VBE cleanup.
25171
25172 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25173 (grub_vbe_set_video_mode): Save active mode info
25174 only after setting the mode.
25175 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25176 second argument.
25177
2f467aa9 251782009-08-17 Michal Suchanek <hramrach@centrum.cz>
25179
25180 Rename variables for clarity.
25181
25182 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25183 (active_vbe_mode_info): ... this. All users updated.
25184 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25185 All users updated.
25186 (initial_mode): Rename to ...
25187 (initial_vbe_mode): ... this. All users updated.
25188 (mode_in_use): Rename to ..
25189 (vbe_mode_in_use): ... this. All users updated.
25190 (mode_list): Rename to ..
25191 (vbe_mode_list): ... this. All users updated.
25192 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25193 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25194 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25195 'mode_list_size' to 'vbe_mode_list_size'.
25196 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25197 'best_mode_info' to 'best_vbe_mode_info' and
25198 'best_mode' to 'best_vbe_mode'
25199
6025fcd7 252002009-08-17 Michal Suchanek <hramrach@centrum.cz>
25201
25202 Remove duplicate grub_video_fb_get_video_ptr.
25203
25204 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25205 (grub_video_fb_get_video_ptr): ... this.
25206 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25207 * video/fb/fbutil.c: Add comment about addressing.
25208 (get_data_ptr): Rename to ...
25209 (grub_video_fb_get_video_ptr): ... this. All users updated.
25210 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25211
cc8c6faf 252122009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25213
25214 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25215 grub_dprintf() that was just added.
25216
08aa61f0 252172009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25218
25219 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25220 (DEFAULT_VIDEO_MODE): Remove macros.
25221 (grub_linux_boot): Remove assumption that Linux has FB support,
25222 and use "text" as default video mode.
25223
7cef4f75 252242009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25225
25226 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25227 grub_dprintf.
25228 * fs/fat.c (grub_fat_read_data): Likewise.
25229
e1f39873 252302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25231
25232 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25233 payload.
25234 (grub_module): Likewise.
25235
c166d79e 252362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25237
25238 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25239 mbi->cmdline but free playground.
25240
c60cee8e 252412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 Handle group offset on UFS1.
25244
25245 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25246 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25247
c0d8b5d4 252482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 Split ufs.mod into ufs1.mod and ufs2.mod.
25251
25252 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25253 (grub_fstest_SOURCES): Likewise.
25254 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25255 (ufs_mod_SOURCES): Remove.
25256 (ufs_mod_CFLAGS): Likewise.
25257 (ufs_mod_LDFLAGS): Likewise.
25258 (ufs1_mod_SOURCES): New variable.
25259 (ufs1_mod_CFLAGS): Likewise.
25260 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25261 (ufs2_mod_SOURCES): New variable.
25262 (ufs2_mod_CFLAGS): Likewise.
25263 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25264 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25265 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25266 Likewise.
25267 (grub_emu_SOURCES): Likewise.
25268 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25269 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25270 (grub_setup_SOURCES): Likewise.
25271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25272 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25273 (grub_setup_SOURCES): Likewise.
25274 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25275 Likewise.
25276 * fs/ufs2.c: New file.
25277 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25278
d3539132 252792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25280
25281 Framebuffer split.
25282
25283 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25284 subsystem at the end.
25285 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25286 (video_fb_mod_SOURCES): New variable.
25287 (video_fb_mod_CFLAGS): Likewise.
25288 (video_fb_mod_LDFLAGS): Likewise.
25289 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25290 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25291 * video/i386/pc/vbeblit.c: Moved from here ...
25292 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25293 * video/i386/pc/vbefill.c: Moved from here ...
25294 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25295 * video/i386/pc/vbeutil.c: Moved from here ...
25296 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25297 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25298 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25299 * include/grub/i386/pc/vbefill.h: Moved from here ...
25300 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25301 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25302 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25303 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25304 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25305 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25306 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25307 (grub_video_adapter): Added 'get_info_and_fini'.
25308 (grub_video_get_info_and_fini): New prototype.
25309 (grub_video_set_mode): make modestring const char *.
25310 * loader/i386/linux.c (grub_linux_setup_video): Use
25311 grub_video_get_info_and_fini.
25312 (grub_linux_boot): Move modesetting just before booting.
25313 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25314 grub_video_get_info_and_fini.
25315 * video/i386/pc/vbe.c: Moved framebuffer part ...
25316 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25317 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25318 grub_video_fbstd_colors and grub_video_fb_set_palette.
25319 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25320 grub_video_fb_init.
25321 (grub_video_vbe_fini): Use grub_video_fb_fini.
25322 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25323 render_target and use grub_video_fb_set_active_render_target and
25324 grub_video_fb_set_palette.
25325 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25326 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25327 (grub_video_vbe_adapter): Use framebuffer.
25328 * video/video.c (grub_video_get_info_and_fini): New function.
25329 (grub_video_set_mode): Make modestring const char *.
25330 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25331 values are already initialised.
25332
d404ee56 253332009-08-14 Pavel Roskin <proski@gnu.org>
25334
25335 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25336 ABS and APPLE_CC.
25337 * boot/i386/pc/diskboot.S: Likewise.
25338 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25339 sectors allow compilation on MacOSX.
25340 * conf/i386-pc.rmk: Enable unconditional compilation of
25341 lnxboot.img.
25342
9a10df16 253432009-08-13 Colin Watson <cjwatson@ubuntu.com>
25344
25345 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25346 * util/grub.d/00_header.in: Enter interruptible sleep if
25347 GRUB_HIDDEN_TIMEOUT is set.
25348
be3c9ca7 253492009-08-13 Yves Blusseau <blusseau@zetam.org>
25350
25351 * include/grub/symbol.h: Add the LOCAL macro.
25352 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25353 starting with "L_".
25354
1f9e557e 253552009-08-13 Pavel Roskin <proski@gnu.org>
25356
9ca62843 25357 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25358 any modern compilers we support.
25359
1f9e557e 25360 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25361 Use local labels starting with "L_" so that Apple assembler
25362 knows they are local.
25363
81623db6 253642009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25365
25366 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25367 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25368 (bsd_kernel_types): ... this enum.
25369
25370 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25371 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25372 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25373
25374 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25375 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25376 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25377 messages.
25378
f5d35e7a 253792009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25380
25381 * util/grub-dumpdevtree: Moved from here ...
25382 * util/i386/efi/grub-dumpdevtree: ... to here.
25383 (hexify): New function. Converts a string to its hex version.
25384 Generate hex versions of "efi" and "device-properties" by calling
25385 hexify() on the ASCII strings rather than by hardcoding numbers.
25386
d1e1d527 253872009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25388
25389 * fs/jfs.c: Update copyright year.
25390
1ebbe064 253912009-08-08 Felix Zielcke <fzielcke@z-51.de>
25392
25393 * util/grub.d/00_header.in: Fix a comment.
25394 * util/grub.d/10_linux.in: Likewise.
25395 * util/grub.d/10_windows.in: Likewise.
25396 * util/grub.d/10_hurd.in: Likewise.
25397
a78c8d24 253982009-08-08 Felix Zielcke <fzielcke@z-51.de>
25399
25400 * util/grub-mkconfig.in: Allow the user to specify the used font
25401 with GRUB_FONT.
25402
29a6b9e8 254032009-08-08 Pavel Roskin <proski@gnu.org>
25404
b5f16cc4 25405 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25406 available, xfs.mod needs it now.
25407
2f5cb827 25408 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25409 the "g" modifier in sed when the intention is to strip something
25410 once. This fixes comparison of kernels with multiple dashes.
25411
29a6b9e8 25412 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25413 on it. Add missing space before closing bracket. Fix
25414 misleading formatting.
25415
892a3d98 254162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25417
25418 * docs/grub.texi: Major overhaul. Remove all sections that are
25419 specific to GRUB Legacy, or mostly composed of Legacy-specific
25420 information.
25421
ed94253f 254222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25423
25424 * docs/version.texi: New file. Provides version information for
25425 grub.texi.
25426
126d6628 254272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25428
25429 * docs/grub.texi: Update CVS information to SVN.
25430 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25431
998b5aa9 254322009-08-07 Felix Zielcke <fzielcke@z-51.de>
25433
25434 * util/grub-mkconfig.in: Remove a wrong `fi'.
25435
818e094a 254362009-08-07 Felix Zielcke <fzielcke@z-51.de>
25437
25438 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25439 (grub_jfs_uuid): New function.
25440 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25441
b969c52f 254422009-08-07 Felix Zielcke <fzielcke@z-51.de>
25443
25444 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25445 of it to ...
25446 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25447 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25448
7a4894cc 254492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25450
25451 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25452 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25453 Update all users.
25454
25455 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25456 not just "vmlinu[zx]".
25457 Moved from here ...
25458 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25459 all users.
25460
25461 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25462 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25463 all users.
25464
4e2171f8 254652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25466
25467 * util/grub.d/10_freebsd.in: Use an absolute device path for
25468 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25469
6dcfcb32 254702009-08-06 Felix Zielcke <fzielcke@z-51.de>
25471
25472 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25473 handling of multiple abstraction modules.
25474
f56a8756 254752009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25476
25477 Fix a bug resulting in black screen when loading Linux using a
25478 packed video mode.
25479
25480 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25481 function.
25482
25483 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25484 (grub_vbe_bios_getset_dac_palette_width): New function.
25485 (grub_vbe_bios_get_dac_palette_width)
25486 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25487 grub_vbe_bios_getset_dac_palette_width()).
25488
25489 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25490 check for return status.
25491 (grub_vbe_get_video_mode_info): When getting information for a packed
25492 mode (<= 8 bpp), obtain DAC palette width using
25493 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25494 {red,green,blue}_mark_size.
25495
222671b2 254962009-08-04 Felix Zielcke <fzielcke@z-51.de>
25497
ecb1a6d9 25498 * commands/search.c (options): Fix help output to match actual code.
222671b2 25499
f84114f5 255002009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25503 of homegrown code.
25504
bd288a20 255052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25506
25507 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25508 on XFS or ReiserFS.
25509
8aab5e25 255102009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 Support Apple partition map with sector size different from 512 bytes.
25513
25514 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25515 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25516 and 'apart.partmap_size'.
25517
6ad6258a 255182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
255192009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25520
25521 Fix cpuid command.
25522
25523 * commands/i386/cpuid.c (options): New variable.
25524 (grub_cmd_cpuid): Return real error.
25525 (GRUB_MOD_INIT(cpuid)): Declare options.
25526
67459bc6 255272009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25528
25529 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25530 valid.
25531
fbc6ab54 255322009-07-31 Bean <bean123ch@gmail.com>
25533
25534 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25535 log2_inode.
25536 (grub_fshelp_node): Move inode field to the end.
25537 (grub_xfs_data): Remove inode field.
25538 (grub_xfs_inode_block): Calculate inode size using sblock.
25539 (grub_xfs_inode_offset): Likewise.
25540 (grub_xfs_read_inode): Calculate inode size using sblock.
25541 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25542 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25543 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25544 to match inode size.
25545 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25546 not accessible when data is null.
25547 (grub_xfs_open): Likewise.
25548
f45d6cfc 255492009-07-31 Bean <bean123ch@gmail.com>
25550
25551 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25552 Don't change pv->disk if it's already set.
25553
25554 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25555 (grub_raid_register): ... here.
25556 (grub_raid_rescan): Removed.
25557
25558 * include/grub/raid.h (grub_raid_rescan): Removed.
25559
25560 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25561 (fstest): Replace grub_raid_rescan with module fini function followed
25562 by init function.
25563
25564 * util/grub-probe.c: Add include file <grub/raid.h>.
25565 (probe_raid_level): New function.
25566 (probe): Detect abstraction by walking the disk device, support two
25567 level of abstraction (LVM on RAID) when detecting partition map.
25568
24443b5a 255692009-07-31 Pavel Roskin <proski@gnu.org>
25570
25571 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25572 to grub_zalloc(), it was erroneous.
25573 Reported by Bean <bean123ch@gmail.com>
25574
a275d9e7 255752009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25578 embedding zone, not only the first one.
a275d9e7 25579
56c5a47f 255802009-07-29 Joe Auricchio <jauricchio@gmail.com>
25581
25582 * term/gfxterm.c (clear_char): New function.
25583 (grub_virtual_screen_setup): Use clear_char.
25584 (scroll_up): Likewise.
25585 (grub_virtual_screen_cls): Likewise.
25586
67bb323a 255872009-07-29 Felix Zielcke <fzielcke@z-51.de>
25588
25589 * util/deviceiter.c (get_acceleraid_disk_name): New static
25590 function.
25591 (grub_util_iterate_devices): Handle Accelraid devices.
25592 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25593
388a7c75 255942009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25595
25596 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25597 separator for the suggested gfxpayload string (';' collides with the
25598 parser and needs escaping).
25599
3bb7abcf 256002009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25601
25602 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25603 Clear direction flag before jumping to OS.
25604 (grub_multiboot2_real_boot): Likewise.
25605
2ddd36d7 256062009-07-28 Felix Zielcke <fzielcke@z-51.de>
25607
25608 * util/i386/pc/grub-install: Fix parsing of --disk-module
25609 option.
25610
c521b62b 256112009-07-28 Felix Zielcke <fzielcke@z-51.de>
25612
25613 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25614 when embedding.
25615
880e0a0c 256162009-07-26 Felix Zielcke <fzielcke@z-51.de>
25617
25618 * util/grub-mkconfig.in (package_version): New variable.
25619 Use it do display the version.
25620
2366e356 256212009-07-25 Felix Zielcke <fzielcke@z-51.de>
25622
25623 * kern/file.c (grub_file_open): Revert to previous check with
25624 grub_errno.
25625
7ad8c80e 256262009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25627
25628 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25629 from help line. It's out of sync with code.
25630
72b9658b 256312009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25632
25633 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25634 entries on failed boot.
25635
77435277 256362009-07-25 Felix Zielcke <fzielcke@z-51.de>
25637
25638 * kern/file.c (grub_file_open): Fix an error check.
25639
fcaa8b21 256402009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25641
35d16c74 25642 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25643 partition map couldn't be identified.
fcaa8b21 25644
48904cd1 256452009-07-23 Pavel Roskin <proski@gnu.org>
25646
ef3c317f 25647 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25648 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25649 case of little endian words becomes just an optimization.
25650 Respect const modifier.
ad8ea1f4 25651 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25652
48904cd1 25653 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25654 to avoid loss of upper bits if align is unsigned and shorter
25655 than addr.
25656
260c9a89 256572009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25658
25659 UUID support for UFS
25660
25661 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25662 (grub_ufs_uuid): New function.
25663 (grub_ufs_fs): add .uuid
25664
f76ce889 256652009-07-21 Pavel Roskin <proski@gnu.org>
25666
25667 * kern/dl.c (grub_dl_check_header): Make static.
25668
6a6cbcaf 256692009-07-21 Felix Zielcke <fzielcke@z-51.de>
25670
25671 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25672 add drivemap for Vista. It breaks Windows 7.
25673
cffcddb2 256742009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25675
25676 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25677 128 bytes
25678
1ef44b80 256792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25680
25681 Add BFS support
25682
25683 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25684 (grub_fstest_SOURCES): Likewise.
25685 (pkglib_MODULES): Add befs.mod.
25686 (befs_mod_SOURCES): New variable.
25687 (befs_mod_CFLAGS): Likewise.
25688 (befs_mod_LDFLAGS): Likewise.
25689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25690 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25692 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25693 (grub_setup_SOURCES): Likewise.
25694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25695 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25696 (grub_setup_SOURCES): Likewise.
25697 * fs/befs.c: New file.
25698 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25699 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25700 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25701 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25702 (B_KEY_INDEX_ALIGN): New declaration.
25703 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25704 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25705 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25706 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25707 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25708 (grub_afs_mount) [MODE_BFS]: Likewise.
25709 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25710 (grub_afs_fs): Use GRUB_AFS_FSNAME
25711 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25712 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25713 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25714 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25715
4f253044 257162009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25717
25718 * util/getroot.c (find_root_device): Add support for MacOSX.
25719 * util/hostdisk.c: Likewise.
25720
57a55913 257212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25722
25723 * font/font.c (find_glyph): Check whether a font is present to avoid
25724 segmentation fault.
75421ca9 25725
257262009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25727
25728 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25729
e98cd0c2 257302009-07-20 Pavel Roskin <proski@gnu.org>
25731
25732 * configure.ac: Trim excessively wordy excuses.
25733
1d2d169a 257342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 Add symlink, mtime and label support to AtheFS.
25737
25738 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25739 (grub_afs_iterate_dir): Handle symlinks.
25740 (grub_afs_open): Use grub_afs_read_symlink.
25741 (grub_afs_dir): Likewise.
25742 Pass mtime.
25743 (grub_afs_label): New function.
25744 (grub_afs_fs): Add grub_afs_label.
25745 (grub_afs_read_symlink): New function.
25746
186f3189 257472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25748
25749 Fix AtheFS support.
25750
25751 * fs/afs.c: Fix comments style.
25752 (grub_afs_blockrun): Declare as packed.
25753 (grub_afs_datastream): Likewise.
25754 (grub_afs_bnode): Likewise.
25755 (grub_afs_btree): Likewise.
25756 (grub_afs_sblock): Likewise.
25757 Declare `name' as char.
25758 (grub_afs_inode): Declare as packed.
25759 Change void *vnode to grub_uint32_t unused.
25760 (grub_afs_iterate_dir): Check that key_size is positive.
25761 (grub_afs_mount): Don't read superblock twice.
75421ca9 25762 (grub_afs_dir): Don't free node in case of error,
186f3189 25763 grub_fshelp_find_file already handles this.
25764 (grub_afs_open): Likewise.
25765
5680109e 257662009-07-19 Pavel Roskin <proski@gnu.org>
25767
25768 * Makefile.in: Remove LIBLZO and enable_lzo.
25769 * conf/i386-pc.rmk: Remove lzo support.
25770 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25771 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25772 support.
25773 * kern/i386/pc/lzo1x.S: Remove.
25774 * kern/i386/pc/startup.S: Remove lzo support.
25775 * util/i386/pc/grub-mkimage.c: Likewise.
25776
ac70fa32 257772009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25778
25779 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25780 * fs/xfs.c (grub_xfs_dir): Likewise.
25781 * fs/afs.c (grub_afs_dir): Likewise.
25782 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25783 (grub_iso9660_open): Likewise.
25784 * fs/jfs.c (grub_jfs_open): Likewise.
25785 * fs/ext2.c (grub_ext2_dir): Likewise.
25786 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25787 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25788
eab58da2 257892009-07-16 Pavel Roskin <proski@gnu.org>
25790
d2838156 25791 * configure.ac: Never add "-c" to CFLAGS.
25792
55c70904 25793 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25794
43e6200c 25795 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25796 grub_cv_cc_efiemu should be used.
25797
ce7a733d 25798 * configure.ac: Typo fixes.
25799
eab58da2 25800 * kern/mm.c (grub_zalloc): New function.
25801 (grub_debug_zalloc): Likewise.
25802 * include/grub/mm.h: Declare grub_zalloc() and
25803 grub_debug_zalloc().
25804 * util/misc.c (grub_zalloc): New function.
25805 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25806 instead of grub_malloc(), remove unneeded initializations.
25807 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25808 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25809 * commands/parttool.c (grub_cmd_parttool): Likewise.
25810 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25811 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25812 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25813 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25814 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25815 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25816 (grub_cmd_efiemu_pnvram): Likewise.
25817 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25818 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25819 (grub_iso9660_iterate_dir): Likewise.
25820 * fs/jfs.c (grub_jfs_opendir): Likewise.
25821 * fs/ntfs.c (list_file): Likewise.
25822 (grub_ntfs_mount): Likewise.
25823 * kern/disk.c (grub_disk_open): Likewise.
25824 * kern/dl.c (grub_dl_load_core): Likewise.
25825 * kern/elf.c (grub_elf_file): Likewise.
25826 * kern/env.c (grub_env_context_open): Likewise.
25827 (grub_env_set): Likewise.
25828 (grub_env_set_data_slot): Likewise.
25829 * kern/file.c (grub_file_open): Likewise.
25830 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25831 * loader/i386/multiboot.c (grub_module): Likewise.
25832 * loader/xnu.c (grub_xnu_create_key): Likewise.
25833 (grub_xnu_create_value): Likewise.
25834 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25835 (read_config_file): Likewise.
25836 * normal/menu_entry.c (make_screen): Likewise.
25837 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25838 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25839 * script/sh/script.c (grub_script_parse): Likewise.
25840 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25841 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25842 * video/readers/png.c (grub_png_output_byte): Likewise.
25843 (grub_video_reader_png): Likewise.
25844
830afef7 258452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25846
25847 Enable all targets that can be built by default
25848
830afef7 25849 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25850 grub-mkfont and grub-fstest if they can be built
25851
ee293aee 258522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25853
25854 Fix hang and segmentation fault in grub-emu-usb
25855
25856 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25857 * util/usb.c (grub_libusb_devices): likewise
25858 (grub_libusb_init): rename to ...
25859 (GRUB_MOD_INIT (libusb)):...this
25860 (grub_libusb_fini): rename to ..
25861 (GRUB_MOD_FINI (libusb)):...this
25862 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25863 * include/grub/disk.h (grub_raid_init): removed, it's useless
25864 (grub_raid_fini): likewise
25865 (grub_lvm_init): likewise
25866 (grub_lvm_fini): likewise
25867 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25868 by grub_init_all
25869
94414221 258702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 Fix libusb
25873
25874 * Makefile.in (LIBUSB): new macro
25875 * genmk.rb (Utility/print_tail): new method
25876 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25877 (top level): call util.print_tail at the end.
25878
59ade63d 258792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 Make FreeBSD accept zpool.cache
25882
25883 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25884 type is /boot/zfs/zpool.cache
25885
a58da8c7 258862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25887
25888 Fix 64-bit efiemu
25889
25890 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25891 correct wrong typedef
25892 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25893
20591577 258942009-07-15 Pavel Roskin <proski@gnu.org>
25895
560ca572 25896 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25897 * kern/disk.c (struct grub_disk_cache): Likewise.
25898
e8e8e4fd 25899 * commands/probe.c (options): Typo fix.
25900
fde24e10 25901 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25902 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25903 accordingly.
25904 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25905
379c54c1 25906 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25907 the end of "Error" to make the message more readable.
25908
7bd8f5bf 25909 * boot/i386/pc/boot.S (kernel_segment): Remove.
25910 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25911 for destination.
25912
40b132c5 25913 * boot/i386/pc/boot.S (boot_version): Remove.
25914 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25915 Remove.
25916
20591577 25917 * include/grub/i386/pc/boot.h: Sort all offsets.
25918 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25919 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25920 * boot/i386/pc/boot.S: Assert location of every offset listed in
25921 include/grub/i386/pc/boot.h.
25922
2df32b2c 259232009-07-13 Pavel Roskin <proski@gnu.org>
25924
44b5d879 25925 * include/grub/i386/coreboot/machine.h: Rename
25926 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25927 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25928 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25929
17dc3751 25930 * kern/dl.c: Force native word size to suppress warnings when
25931 compiling grub-emu.
25932
2df32b2c 25933 * kern/device.c (grub_device_iterate): Change struct part_ent to
25934 hold the name, not a pointer to it. Use one grub_malloc() per
25935 partition, not two. Free partition_name if grub_malloc() fails.
25936 Set ents to NULL only before grub_partition_iterate() is called.
25937
75c59f59 259382009-07-11 Bean <bean123ch@gmail.com>
25939
25940 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25941 childname.
25942
0ae1bf88 259432009-07-10 Bean <bean123ch@gmail.com>
259442009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25945
25946 * kern/ieee1275/openfw.c (grub_children_iterate)
25947 (grub_devalias_iterate): Fix size evaluation for property or path
25948 strings, which was broken since r2132.
25949
8279cade 259502009-07-07 Pavel Roskin <proski@gnu.org>
25951
7d8a52d3 25952 * commands/search.c (search_file): Merge into ...
25953 (search_fs): ... this. Accept search type as argument.
25954 (grub_cmd_search): Pass search type to search_fs().
25955
25f9a05a 25956 * include/grub/util/console.h: New file.
25957 * util/console.c: Use it instead of grub/machine/console.h.
25958 * util/grub-emu.c: Likewise.
25959
8279cade 25960 * lib/arg.c (find_long_option): Remove.
25961 (find_long): Add `len' argument, make `s' const char *.
25962 (grub_arg_parse): Parse long options in place, not in a
25963 temporary buffer.
25964
4a11b60f 259652009-07-06 Pavel Roskin <proski@gnu.org>
25966
99f68041 25967 * commands/search.c (search_fs): Fix potential NULL pointer
25968 dereference.
25969
4a11b60f 25970 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25971 function pointer.
25972
e110f4de 259732009-07-06 Daniel Mierswa <impulze@impulze.org>
25974
25975 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25976 comparison.
25977
46eeb6a2 259782009-07-05 Pavel Roskin <proski@gnu.org>
25979
bab74958 25980 * include/grub/i386/linux.h (struct linux_kernel_params):
25981 Restore padding3, it's still needed.
25982
46eeb6a2 25983 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25984 FreeBSD.
25985 * util/osdetect.lua: Likewise.
25986
b4a1dc79 259872009-07-05 Bean <bean123ch@gmail.com>
25988
25989 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25990
25991 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25992 (grub_lua_getenv): Likewise.
25993 (grub_lua_setenv): Likewise.
25994 (save_errno): New function.
25995 (push_result): Likewise.
25996 (grub_lua_enum_device): Likewise.
25997 (grub_lua_enum_file): Likewise.
25998 (grub_lua_file_open): Likewise.
25999 (grub_lua_file_close): Likewise.
26000 (grub_lua_file_seek): Likewise.
26001 (grub_lua_file_read): Likewise.
26002 (grub_lua_file_getline): Likewise.
26003 (grub_lua_file_getsize): Likewise.
26004 (grub_lua_file_getpos): Likewise.
26005 (grub_lua_file_eof): Likewise.
26006 (grub_lua_file_exist): Likewise.
26007 (grub_lua_add_menu): Likewise.
26008
26009 * script/lua/grub_lua.h (isupper): New inline function.
26010 (islower): Likewise.
26011 (ispunct): Likewise.
26012 (isxdigit): Likewise.
26013 (strcspn): Change to normal function.
26014 (strpbkr): New function declaration.
26015 (memchr): Likewise.
26016
26017 * script/lua/grub_main.c (scan_str): New function.
26018 (strcspn): Likewise.
26019 (strpbrk): Likewise.
26020 (memchr): Likewise.
26021
26022 * script/lua/linit.c (lualibs): Enable the string library.
26023
26024 * util/osdetect.lua: New file.
26025
2da92295 260262009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26027
26028 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26029 `capabilities' member.
26030
b2582ec9 260312009-07-02 Pavel Roskin <proski@gnu.org>
26032
26033 * genparttoollist.sh: Add missing newline at the end.
26034
32622956 260352009-07-01 Pavel Roskin <proski@gnu.org>
26036
87a7339e 26037 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26038
d23af54e 26039 * util/hostdisk.c (open_device): Remove `const' from
26040 `sysctl_size', as sysctlbyname() can change it (in this case it
26041 doesn't actually happen).
26042
c94b18a9 26043 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26044 using signed long int constants.
26045
c6cd3ef0 26046 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26047 constant to avoid a warning on FreeBSD.
26048
0df63420 26049 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26050 where it's needed.
26051
999577f1 26052 * Makefile.in: Install include/grub/machine symlink.
26053
6f41557f 26054 * Makefile.in: When installing symlinks, use "cp -fR", which
26055 works on FreeBSD and MacOSX.
26056 From Yves Blusseau <cl7m42e02@sneakemail.com>
26057
c8d22988 26058 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26059 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26060
1b96e952 26061 * util/misc.c: Move grub_reboot() and grub_halt() ...
26062 * util/grub-emu.c: ... here. Make main_env static.
26063 * include/grub/util/misc.h: Remove main_env.
26064
2ef0084d 26065 * kern/mm.c: Use correct format to print size_t.
26066
32622956 26067 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26068 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26069 * kern/powerpc/dl.c: Likewise.
26070 * kern/sparc64/dl.c: Likewise.
26071 * kern/x86_64/dl.c: Likewise.
26072
3f7f0cd0 260732009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26074
26075 Fix grub-emu build on sparc64-ieee1275.
26076
75421ca9 26077 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26079
211d06b5 260802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26083 (grub_reboot, grub_halt): New functions.
26084
26085 * util/i386/pc/misc.c: Delete. Update all users.
26086 * util/sparc64/ieee1275/misc.c: Likewise.
26087 * util/powerpc/ieee1275/misc.c: Likewise.
26088
aaf53e3c 260892009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26090
26091 * conf/i386.rmk (setjmp_mod_SOURCES)
26092 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26093 * conf/common.rmk (setjmp_mod_SOURCES)
26094 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26095 to use $(target_cpu).
26096 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26097 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26098 * conf/powerpc-ieee1275.rmk: Likewise.
26099 * conf/sparc64-ieee1275.rmk: Likewise.
26100
26101 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26102 $(target_cpu) for kern/$(target_cpu)/dl.c.
26103 * conf/i386-efi.rmk: Likewise.
26104 * conf/i386-ieee1275.rmk: Likewise.
26105 * conf/x86_64-efi.rmk: Likewise.
26106 * conf/i386-coreboot.rmk: Likewise.
26107 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26108 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26109 kern/$(target_cpu)/cache.S.
26110 * conf/sparc64-ieee1275.rmk: Likewise.
26111
a337130b 261122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26113
26114 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26115 type to `grub_uint8_t', and adjust `padding9' accordingly.
26116
c6fe4d53 261172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26118
b09db61d 26119 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26120
c6fe4d53 26121 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26122 assembly in final jump, using register constraints.
26123
b09db61d 26124 (grub_linux_boot): For text mode, initialize `have_vga' using
26125 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26126
26127 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26128 right before the final jump.
26129
26130 Set `video_mode' to 0x3.
26131
26132 Document initialization of `video_page', `video_mode' and
26133 `video_ega_bx'.
26134
28333ad0 261352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26136
26137 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26138 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26139 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26140
02164e1b 261412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26142
26143 Fix build on Debian / sparc.
26144
26145 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26146
18b6c557 261472009-06-28 Pavel Roskin <proski@gnu.org>
26148
85f2aab6 26149 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26150 fix a warning.
26151
18b6c557 26152 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26153
ad760f81 261542009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26157 `err'.
26158
87a4623b 261592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26160
26161 Revert r2338.
26162
26163 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26164 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26165 grub_errno / grub_errmsg appropriately.
87a4623b 26166 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26167
8231fb77 261682009-06-27 Pavel Roskin <proski@gnu.org>
261692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26170
26171 * include/grub/dl.h: Include grub/elf.h.
26172 (struct grub_dl): Add symtab field.
26173 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26174 GRUB_MODULES_MACHINE_READONLY.
26175 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26176 of the header for read-only modules.
26177 (grub_dl_unload): Free mod->symtab for read-only modules.
26178 * kern/i386/dl.c: Use mod->symtab.
26179 * kern/powerpc/dl.c: Likewise.
26180 * kern/sparc64/dl.c: Likewise.
26181 * kern/x86_64/dl.c: Likewise.
26182
26183 * conf/i386-qemu.rmk: New file.
26184 * kern/i386/qemu/startup.S: Likewise.
26185 * kern/i386/qemu/mmap.c: Likewise.
26186 * boot/i386/qemu/boot.S: Likewise.
26187 * include/grub/i386/qemu/time.h: Likewise.
26188 * include/grub/i386/qemu/serial.h: Likewise.
26189 * include/grub/i386/qemu/kernel.h: Likewise.
26190 * include/grub/i386/qemu/console.h: Likewise.
26191 * include/grub/i386/qemu/boot.h: Likewise.
26192 * include/grub/i386/qemu/init.h: Likewise.
26193 * include/grub/i386/qemu/machine.h: Likewise.
26194 * include/grub/i386/qemu/loader.h: Likewise.
26195 * include/grub/i386/qemu/memory.h: Likewise.
26196
26197 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26198 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26199 [qemu] (pkglib_IMAGES): Add `boot.img'.
26200 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26201 [qemu] (boot_img_FORMAT): New variables.
26202 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26203 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26204 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26205 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26206 [qemu] (kernel_img_FORMAT): New variables.
26207
26208 * configure.ac: Recognise `i386-qemu'.
26209
26210 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26211 (for no compression).
26212 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26213 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26214 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26215 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26216 ifdefs).
26217
97fe384e 262182009-06-27 Pavel Roskin <proski@gnu.org>
26219
26220 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26221 read.
26222 * efiemu/prepare32.c: Likewise.
26223 * efiemu/prepare64.c: Likewise.
26224
c402ab17 262252009-06-26 Pavel Roskin <proski@gnu.org>
26226
26227 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26228 * include/grub/elf.h: Define symbols without "32" or "64" based
26229 on GRUB_TARGET_WORDSIZE.
26230 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26231 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26232 ELF definitions.
26233 * efiemu/loadcore64.c: Likewise.
26234 * loader/i386/bsd32.c: Likewise.
26235 * loader/i386/bsd64.c: Likewise.
26236 * kern/dl.c: Remove own ELF definitions.
26237 * util/i386/efi/grub-mkimage.c: Likewise.
26238
9bbdfd4d 262392009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26240
26241 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26242 segment 0x0 unconditionally, because the reference generated by
26243 GAS is an absolute address.
26244
a42ce6e9 262452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26246
26247 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26248 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26249
c952cf92 262502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26253 indexes. Check for -f explicitly.
cc3752ad 26254 (search_file): Improve error message.
26255 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26256
132a0a59 262572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26258
26259 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26260 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26261
387a140c 262622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26263
26264 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26265 * conf/i386-ieee1275.rmk: Likewise.
26266 * conf/i386-coreboot.rmk: Likewise.
26267
26268 * kern/i386/pc/startup.S (grub_stop): Remove function.
26269 * kern/i386/ieee1275/startup.S: Likewise.
26270 * kern/i386/coreboot/startup.S: Likewise.
26271 * kern/i386/misc.S (grub_stop): New function.
26272
41da9665 262732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26274
26275 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26276 * kern/i386/realmode.S (real_to_prot): ... to here.
26277
bf337234 262782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26279
26280 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26281 with `kernel.img'.
26282 (kernel_elf_SOURCES): Rename to ...
26283 (kernel_img_SOURCES): ... this.
26284 (kernel_elf_HEADERS): Rename to ...
26285 (kernel_img_HEADERS): ... this. Update all users.
26286 (kernel_elf_ASFLAGS): Rename to ...
26287 (kernel_img_ASFLAGS): ... this.
26288 (kernel_elf_CFLAGS): Rename to ...
26289 (kernel_img_CFLAGS): ... this.
26290 (kernel_elf_LDFLAGS): Rename to ...
26291 (kernel_img_LDFLAGS): ... this.
26292 * conf/i386-coreboot.rmk: Likewise.
26293 * conf/powerpc-ieee1275.rmk: Likewise.
26294
26295 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26296 with "kernel.img".
26297
f52196ff 262982009-06-21 Pavel Roskin <proski@gnu.org>
26299
c3cee413 26300 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26301 to match nested functions.
26302 * loader/sparc64/ieee1275/linux.c: Likewise.
26303
f52196ff 26304 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26305
58750afc 263062009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26307
26308 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26309 all i386 platforms.
26310
15355c7d 263112009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26312
26313 Fix asm file handling on ELF, and remove workarounds.
26314
26315 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26316 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26317 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26318 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26319
3f3ec72b 263202009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26321
26322 Load BSD ELF modules
26323
26324 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26325 and loader/i386/bsd64.c
26326 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26327 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26328 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26329 (grub_freebsd_load_elfmodule32): New declaration
26330 (grub_freebsd_load_elfmoduleobj64): Likewise
26331 (grub_freebsd_load_elf_meta32): Likewise
26332 (grub_freebsd_load_elf_meta64): Likewise
26333 (grub_freebsd_add_meta): Likewise
26334 (grub_freebsd_add_meta_module): Likewise
26335 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26336 (grub_freebsd_add_meta_module): Likewise and move module-specific
26337 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26338 (grub_cmd_freebsd): Add elf-kernel specific parts
26339 based on grub_freebsd_add_meta_module
26340 (grub_cmd_freebsd_module): Add type parsing moved from
26341 grub_freebsd_add_meta_module
26342 (grub_cmd_freebsd_module_elf): New function
26343 (cmd_freebsd_module_elf): New variable
26344 (GRUB_MOD_INIT): Register freebsd_module_elf
26345 * loader/i386/bsd32.c: New file
26346 * loader/i386/bsd64.c: Likewise
26347 * loader/i386/bsdXX.c: Likewise
26348 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26349 (grub_elf64_load): Likewise
26350 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26351 All users updated
26352 (grub_elf64_load_hook_t): Likewise
26353
0db15301 263542009-06-21 Colin Watson <cjwatson@ubuntu.com>
26355
26356 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26357 variable.
26358 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26359 don't write a menu entry for recovery mode.
26360
546796c1 263612009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26362
26363 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26364 after it's no longer needed.
26365
cd7310d5 263662009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26367
26368 * include/grub/i386/loader.h (grub_linux_prot_size)
26369 (grub_linux_tmp_addr, grub_linux_real_addr)
26370 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26371 GRUB_MACHINE_PCBIOS.
26372 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26373 common grub_util_info() call to ...
26374 (generate_image): ... here.
26375 Fix use of uninitialized memory, comparison of signed with
26376 unsigned integers and memory leak.
26377 Remove bogus module address message.
26378
ab32d3b5 263792009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26382 grub_raid_register
26383 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26384
024ef597 263852009-06-19 Pavel Roskin <proski@gnu.org>
26386
26387 * configure.ac: Remove stray AC_MSG_CHECKING.
26388
3ac72b51 263892009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26390
26391 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26392
e14cd814 263932009-06-18 Pavel Roskin <proski@gnu.org>
26394
26395 * conf/common.rmk: Add fs_file.mod.
26396 * disk/fs_file.c: New file.
26397 * include/grub/disk.h (enum grub_disk_dev_id): Add
26398 GRUB_DISK_DEVICE_FILE_ID.
26399
26586d98 264002009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26401
26402 Fix build with Apple's toolchain. Part 2
26403
26404 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26405 a fake start
26406
26de2bcd 264072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 Fix build with Apple's toolchain. Part 1
26410
26411 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26412 for long calls
26413 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26414 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26415 Apple's toolchain
26416
09b3490b 264172009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26418
26419 Fix warnings
26420
26421 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26422 (decomp_block): initialize ch
26423 use grub_memcpy instead of memcpy
26424
c22a006a 264252009-06-17 Pavel Roskin <proski@gnu.org>
26426
d3638678 26427 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26428 version, use declarations needed to use vga_text as the startup
26429 console.
26430
c22a006a 26431 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26432 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26433 the kernel.
26434 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26435 and grub_at_keyboard_fini(), it's done on module load and
26436 unload.
26437
05b129e0 264382009-06-17 Felix Zielcke <fzielcke@z-51.de>
26439
26440 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26441 file can't be found.
26442 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26443
cf24ed9e 264442009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 Fix newline handling
26447
26448 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26449 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26450 (grub_script_yylex): don't segfault on unterminated script
26451 newline terminates command and variable
26452
74aa8e4b 264532009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26454
26455 avoid double grub_adjust_range call. Bug reported by David Simner
26456
26457 * kern/disk.c (grub_disk_write): change to raw disk access before
26458 calling disk_read
26459
1bd265f3 264602009-06-17 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26463 spaces, for the benefit of help2man.
26464 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26465
a2d08c06 264662009-06-16 Pavel Roskin <proski@gnu.org>
26467
26468 * kern/i386/halt.c: Include grub/machine/init.h.
26469 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26470
b97bcb19 264712009-06-16 Felix Zielcke <fzielcke@z-51.de>
26472
26473 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26474 drivemap menuentry.
26475
0644f96c 264762009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26477
26478 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26479 `echo' command.
26480
3ef17a2e 264812009-06-16 Pavel Roskin <proski@gnu.org>
26482
26483 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26484 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26485 save %dx, we only need %dl and we never change it.
26486 * boot/i386/pc/cdboot.S: Don't set the root drive.
26487 * boot/i386/pc/pxeboot.S: Likewise.
26488 * include/grub/i386/pc/boot.h: Remove
26489 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26490 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26491 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26492 * kern/i386/pc/init.c (make_install_device): Remove references
26493 to grub_root_drive.
26494 * kern/i386/pc/startup.S: Likewise.
26495 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26496
693fe637 264972009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 xnu_uuid command
26500
26501 * commands/xnu_uuid.c: new file
26502 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26503 (xnu_uuid_mod_SOURCES): new variable
26504 (xnu_uuid_mod_CFLAGS): likewise
26505 (xnu_uuid_mod_LDFLAGS): likewise
26506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26507 * conf/i386-ieee1275.rmk: likewise
26508 * conf/i386-pc.rmk: likewise
26509 * conf/powerpc-ieee1275.rmk: likewise
26510 * conf/sparc64-ieee1275.rmk: likewise
26511 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26512
c9da87d0 265132009-06-16 Pavel Roskin <proski@gnu.org>
26514
26515 * configure.ac: Avoid '==' in test command, it's not portable.
26516
9c6f4596 265172009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26518
26519 Probe command
26520
26521 * commands/probe.c: new file
26522 * conf/common.rmk (pkglib_MODULES): add probe.mod
26523 (probe_mod_SOURCES): new variable
26524 (probe_mod_CFLAGS): likewise
26525 (probe_mod_LDFLAGS): likewise
26526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26527 * conf/i386-ieee1275.rmk: likewise
26528 * conf/i386-pc.rmk: likewise
26529 * conf/powerpc-ieee1275.rmk: likewise
26530 * conf/sparc64-ieee1275.rmk: likewise
26531
70b7f9fd 265322009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26533
26534 Fix handling of string like \"hello\" and "a
26535 b"
26536
26537 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26538 (grub_script_yylex): fix parsing of quoting, escaping and newline
26539
71c79a6b 265402009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26541
dd74360c 26542 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26543 handling
dd74360c 26544
0644f96c 265452009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26546
26547 * util/grub-mkconfig.in: Fix parsing of --output option.
26548
e40893c3 265492009-06-12 Pavel Roskin <proski@gnu.org>
26550
26551 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26552 genmk.rb don't need to be generated or installed.
26553
3a1acfe2 265542009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26555
26556 * commands/i386/pc/drivemap_int13h.S: add more comments
26557
3a4575d4 265582009-06-11 Pavel Roskin <proski@gnu.org>
26559
0658e928 26560 * Makefile.in (uninstall): Uninstall manuals.
26561
ca0388f0 26562 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26563 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26564 and update-grub_lib in two places.
26565 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26566
e3b27c39 26567 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26568 a compiler warning.
26569
3a4575d4 26570 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26571 `entry_lo' to fix variable shadowing.
26572
af1f4f55 265732009-06-11 Christian Franke <franke@computer.org>
26574
26575 * kern/misc.c (__enable_execute_stack): Add missing return type
26576 to prevent gcc warning.
26577
5225e649 265782009-06-11 Felix Zielcke <fzielcke@z-51.de>
26579
26580 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26581
7d83bd47 265822009-06-11 Pavel Roskin <proski@gnu.org>
26583
c1cb63ba 26584 * Makefile.in: Don't rely on any scripts being executable.
26585 Always use $(SHELL) to run shell scripts.
26586
7d83bd47 26587 * configure.ac: Always define ___main if using -nostdlib. This
26588 fixes tests on Cygwin.
26589
948f48e7 265902009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26591
26592 UDF fix
26593
7d83bd47 26594 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26595 is in bytes and not in blocks
7d83bd47 26596
8ada9bc1 265972009-06-11 Pavel Roskin <proski@gnu.org>
26598
26599 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26600 warning.
26601
25ad2323 266022009-06-11 Felix Zielcke <fzielcke@z-51.de>
26603
26604 * util/grub.d/30_os-prober.in: Fix a comment. Source
26605 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26606 to set the root device. Place drivemap command in the generated
26607 chain entry.
26608
e65acb0c 266092009-06-11 Pavel Roskin <proski@gnu.org>
26610
26611 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26612 have long been resolved.
26613
f285fe2d 266142009-06-11 Colin Watson <cjwatson@ubuntu.com>
26615
bd47b0b5 26616 * util/grub.d/10_linux.in: Capitalise "Linux".
26617
f285fe2d 26618 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26619
a0c62e4e 266202009-06-11 Pavel Roskin <proski@gnu.org>
26621
b6783cb2 26622 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26623 fix a gcc warning and ensure that the function won't ever exit.
26624
dde032e8 26625 * kern/i386/ieee1275/init.c: Add missing prototype for
26626 grub_stop_floppy().
26627
22cd079d 26628 * loader/ieee1275/multiboot2.c [__i386__]: Include
26629 grub/cpu/multiboot.h.
26630
a0c62e4e 26631 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26632 casts to short - they are not portable and cause warnings. Fix
26633 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26634
63963d17 266352009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26636
26637 Drivemap fixes
26638
26639 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26640 new function
26641 (grub_get_root_biosnumber_saved): new variable
26642 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26643 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26644 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26645 %dx after the call if necessary
26646 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26647 (boot_mod_SOURCES): remove
26648 (boot_mod_CFLAGS): remove
26649 (boot_mod_LDFLAGS): remove
26650 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26651 (boot_mod_SOURCES): new variable
26652 (boot_mod_CFLAGS): likewise
26653 (boot_mod_LDFLAGS): likewise
26654 * conf/i386-efi.rmk: likewise
26655 * conf/i386-ieee1275.rmk: likewise
26656 * conf/i386-pc.rmk: likewise
26657 * conf/powerpc-ieee1275.rmk: likewise
26658 * conf/sparc64-ieee1275.rmk: likewise
26659 * conf/x86_64-efi.rmk: likewise
26660 * include/grub/i386/pc/biosnum.h: new file
26661 * lib/i386/pc/biosnum.c: likewise
26662 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26663 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26664 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26665
33abf7ae 266662009-06-10 Pavel Roskin <proski@gnu.org>
26667
5ac35b35 26668 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26669 Use separate variables. Read only the file size at the end, but
26670 not the checksum that we don't use.
26671
5c5215d5 26672 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26673 Adjust all callers.
26674
27d5fef7 26675 * kern/ieee1275/openfw.c: Remove libc includes.
26676 * kern/ieee1275/cmain.c: Likewise.
26677 * include/grub/ieee1275/ieee1275.h: Likewise.
26678
33abf7ae 26679 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26680 compiler warnings.
26681
19d50c2b 266822009-06-10 Felix Zielcke <fzielcke@z-51.de>
26683
26684 * Makefile.in: Remove all trailing whitespace.
26685 * conf/i386-pc.rmk: Likewise.
26686 * conf/powerpc-ieee1275.rmk: Likewise.
26687 * conf/sparc64-ieee1275.rmk: Likewise.
26688 * docs/grub.texi: Likewise.
26689 * docs/texinfo.tex: Likewise.
26690 * disk/fs_uuid.c: Likewise.
26691 * disk/lvm.c: Likewise.
26692 * disk/scsi.c: Likewise.
26693 * disk/ata.c: Likewise.
26694 * disk/ieee1275/ofdisk.c: Likewise.
26695 * disk/i386/pc/biosdisk.c: Likewise.
26696 * disk/host.c: Likewise.
26697 * disk/raid.c: Likewise.
26698 * disk/efi/efidisk.c: Likewise.
26699 * disk/usbms.c: Likewise.
26700 * disk/memdisk.c: Likewise.
26701 * disk/loopback.c: Likewise.
26702 * kern/powerpc/dl.c: Likewise.
26703 * kern/device.c: Likewise.
26704 * kern/dl.c: Likewise.
26705 * kern/sparc64/dl.c: Likewise.
26706 * kern/ieee1275/ieee1275.c: Likewise.
26707 * kern/term.c: Likewise.
26708 * kern/fs.c: Likewise.
26709 * kern/i386/dl.c: Likewise.
26710 * kern/i386/pc/startup.S: Likewise.
26711 * kern/i386/pc/init.c: Likewise.
26712 * kern/i386/pc/mmap.c: Likewise.
26713 * kern/i386/pc/lzo1x.S: Likewise.
26714 * kern/i386/ieee1275/init.c: Likewise.
26715 * kern/i386/realmode.S: Likewise.
26716 * kern/i386/tsc.c: Likewise.
26717 * kern/partition.c: Likewise.
26718 * kern/corecmd.c: Likewise.
26719 * kern/file.c: Likewise.
26720 * kern/efi/efi.c: Likewise.
26721 * kern/efi/init.c: Likewise.
26722 * kern/efi/mm.c: Likewise.
26723 * kern/main.c: Likewise.
26724 * kern/err.c: Likewise.
26725 * kern/env.c: Likewise.
26726 * kern/disk.c: Likewise.
26727 * kern/generic/millisleep.c: Likewise.
26728 * kern/generic/rtc_get_time_ms.c: Likewise.
26729 * kern/misc.c: Likewise.
26730 * kern/parser.c: Likewise.
26731 * genmk.rb: Likewise.
26732 * configure.ac: Likewise.
26733 * boot/i386/pc/diskboot.S: Likewise.
26734 * boot/i386/pc/pxeboot.S: Likewise.
26735 * boot/i386/pc/boot.S: Likewise.
26736 * boot/i386/pc/lnxboot.S: Likewise.
26737 * boot/i386/pc/cdboot.S: Likewise.
26738 * parttool/pcpart.c: Likewise.
26739 * video/readers/tga.c: Likewise.
26740 * video/video.c: Likewise.
26741 * video/bitmap.c: Likewise.
26742 * lib/envblk.c: Likewise.
26743 * lib/i386/setjmp.S: Likewise.
26744 * fs/xfs.c: Likewise.
26745 * fs/afs.c: Likewise.
26746 * fs/fat.c: Likewise.
26747 * fs/ntfs.c: Likewise.
26748 * fs/udf.c: Likewise.
26749 * fs/affs.c: Likewise.
26750 * fs/iso9660.c: Likewise.
26751 * fs/hfs.c: Likewise.
26752 * fs/fshelp.c: Likewise.
26753 * fs/ext2.c: Likewise.
26754 * fs/jfs.c: Likewise.
26755 * fs/reiserfs.c: Likewise.
26756 * fs/hfsplus.c: Likewise.
26757 * fs/minix.c: Likewise.
26758 * fs/cpio.c: Likewise.
26759 * fs/sfs.c: Likewise.
26760 * fs/ufs.c: Likewise.
26761 * efiemu/prepare.c: Likewise.
26762 * efiemu/loadcore_common.c: Likewise.
26763 * efiemu/runtime/efiemu.sh: Likewise.
26764 * efiemu/runtime/efiemu.S: Likewise.
26765 * efiemu/runtime/efiemu.c: Likewise.
26766 * efiemu/pnvram.c: Likewise.
26767 * efiemu/main.c: Likewise.
26768 * efiemu/i386/pc/cfgtables.c: Likewise.
26769 * efiemu/i386/loadcore64.c: Likewise.
26770 * efiemu/i386/loadcore32.c: Likewise.
26771 * efiemu/loadcore.c: Likewise.
26772 * efiemu/symbols.c: Likewise.
26773 * efiemu/mm.c: Likewise.
26774 * include/grub/autoefi.h: Likewise.
26775 * include/grub/datetime.h: Likewise.
26776 * include/grub/term.h: Likewise.
26777 * include/grub/hfs.h: Likewise.
26778 * include/grub/lvm.h: Likewise.
26779 * include/grub/i386/tsc.h: Likewise.
26780 * include/grub/i386/linux.h: Likewise.
26781 * include/grub/i386/xnu.h: Likewise.
26782 * include/grub/i386/efiemu.h: Likewise.
26783 * include/grub/i386/pc/biosdisk.h: Likewise.
26784 * include/grub/i386/pc/memory.h: Likewise.
26785 * include/grub/i386/pc/vbe.h: Likewise.
26786 * include/grub/parttool.h: Likewise.
26787 * include/grub/video.h: Likewise.
26788 * include/grub/memory.h: Likewise.
26789 * include/grub/fs.h: Likewise.
26790 * include/grub/partition.h: Likewise.
26791 * include/grub/xnu.h: Likewise.
26792 * include/grub/efi/api.h: Likewise.
26793 * include/grub/efi/pe32.h: Likewise.
26794 * include/grub/efi/memory.h: Likewise.
26795 * include/grub/multiboot.h: Likewise.
26796 * include/grub/usbdesc.h: Likewise.
26797 * include/grub/multiboot2.h: Likewise.
26798 * include/grub/acpi.h: Likewise.
26799 * include/grub/efiemu/efiemu.h: Likewise.
26800 * include/grub/disk.h: Likewise.
26801 * include/grub/ieee1275/ieee1275.h: Likewise.
26802 * include/grub/net.h: Likewise.
26803 * include/grub/machoload.h: Likewise.
26804 * include/grub/macho.h: Likewise.
26805 * include/multiboot.h: Likewise.
26806 * genmoddep.awk: Likewise.
26807 * normal/main.c: Likewise.
26808 * normal/menu_entry.c: Likewise.
26809 * normal/menu_viewer.c: Likewise.
26810 * normal/completion.c: Likewise.
26811 * normal/cmdline.c: Likewise.
26812 * normal/misc.c: Likewise.
26813 * normal/datetime.c: Likewise.
26814 * bus/usb/usbtrans.c: Likewise.
26815 * bus/usb/ohci.c: Likewise.
26816 * bus/usb/uhci.c: Likewise.
26817 * bus/usb/usb.c: Likewise.
26818 * mmap/efi/mmap.c: Likewise.
26819 * mmap/i386/pc/mmap_helper.S: Likewise.
26820 * mmap/i386/pc/mmap.c: Likewise.
26821 * mmap/i386/mmap.c: Likewise.
26822 * mmap/i386/uppermem.c: Likewise.
26823 * mmap/mmap.c: Likewise.
26824 * commands/acpi.c: Likewise.
26825 * commands/echo.c: Likewise.
26826 * commands/blocklist.c: Likewise.
26827 * commands/loadenv.c: Likewise.
26828 * commands/usbtest.c: Likewise.
26829 * commands/boot.c: Likewise.
26830 * commands/parttool.c: Likewise.
26831 * commands/search.c: Likewise.
26832 * commands/cat.c: Likewise.
26833 * commands/i386/pc/play.c: Likewise.
26834 * commands/i386/pc/drivemap.c: Likewise.
26835 * commands/i386/pc/vbeinfo.c: Likewise.
26836 * commands/i386/pc/acpi.c: Likewise.
26837 * commands/i386/pc/vbetest.c: Likewise.
26838 * commands/ls.c: Likewise.
26839 * commands/cmp.c: Likewise.
26840 * commands/test.c: Likewise.
26841 * commands/efi/acpi.c: Likewise.
26842 * commands/gptsync.c: Likewise.
26843 * commands/help.c: Likewise.
26844 * partmap/amiga.c: Likewise.
26845 * partmap/apple.c: Likewise.
26846 * partmap/acorn.c: Likewise.
26847 * partmap/pc.c: Likewise.
26848 * partmap/sun.c: Likewise.
26849 * partmap/gpt.c: Likewise.
26850 * script/sh/lexer.c: Likewise.
26851 * script/sh/function.c: Likewise.
26852 * font/font.c: Likewise.
26853 * font/font_cmd.c: Likewise.
26854 * loader/powerpc/ieee1275/linux.c: Likewise.
26855 * loader/efi/chainloader.c: Likewise.
26856 * loader/multiboot_loader.c: Likewise.
26857 * loader/macho.c: Likewise.
26858 * loader/i386/multiboot.c: Likewise.
26859 * loader/i386/linux.c: Likewise.
26860 * loader/i386/pc/linux.c: Likewise.
26861 * loader/i386/pc/multiboot2.c: Likewise.
26862 * loader/i386/pc/chainloader.c: Likewise.
26863 * loader/i386/pc/xnu.c: Likewise.
26864 * loader/i386/bsd_trampoline.S: Likewise.
26865 * loader/i386/efi/linux.c: Likewise.
26866 * loader/i386/multiboot_elfxx.c: Likewise.
26867 * loader/i386/bsd_helper.S: Likewise.
26868 * loader/i386/bsd.c: Likewise.
26869 * loader/i386/linux_trampoline.S: Likewise.
26870 * loader/i386/xnu_helper.S: Likewise.
26871 * loader/i386/xnu.c: Likewise.
26872 * loader/i386/bsd_pagetable.c: Likewise.
26873 * loader/i386/multiboot_helper.S: Likewise.
26874 * loader/xnu.c: Likewise.
26875 * loader/xnu_resume.c: Likewise.
26876 * io/gzio.c: Likewise.
26877 * term/efi/console.c: Likewise.
26878 * term/terminfo.c: Likewise.
26879 * term/ieee1275/ofconsole.c: Likewise.
26880 * term/i386/pc/serial.c: Likewise.
26881 * term/i386/pc/vesafb.c: Likewise.
26882 * term/i386/pc/vga.c: Likewise.
26883 * term/usb_keyboard.c: Likewise.
26884 * term/gfxterm.c: Likewise.
26885 * aclocal.m4: Likewise.
26886 * util/lvm.c: Likewise.
26887 * util/grub.d/30_os-prober.in: Likewise.
26888 * util/grub.d/10_hurd.in: Likewise.
26889 * util/console.c: Likewise.
26890 * util/grub-macho2img.c: Likewise.
26891 * util/grub-probe.c: Likewise.
26892 * util/hostfs.c: Likewise.
26893 * util/i386/pc/grub-mkimage.c: Likewise.
26894 * util/i386/pc/grub-setup.c: Likewise.
26895 * util/i386/efi/grub-mkimage.c: Likewise.
26896 * util/grub-mkconfig.in: Likewise.
26897 * util/raid.c: Likewise.
26898 * util/resolve.c: Likewise.
26899 * util/grub-mkdevicemap.c: Likewise.
26900 * util/grub-emu.c: Likewise.
26901 * util/getroot.c: Likewise.
26902 * util/hostdisk.c: Likewise.
26903 * util/usb.c: Likewise.
26904 * util/grub-editenv.c: Likewise.
26905 * util/misc.c: Likewise.
26906
d2d49665 269072009-06-10 Felix Zielcke <fzielcke@z-51.de>
26908
26909 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26910 `genparttoollist.sh'.
26911 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26912 Add `*.sh' to the list find searches for and change `mdate.sh'
26913 to `mdate-sh'.
26914
fe052e37 269152009-06-10 Pavel Roskin <proski@gnu.org>
26916
2763ac18 26917 * include/grub/multiboot2.h: Provide compatibility defines for
26918 multiboot2.h.
26919 * include/multiboot2.h: Include stdint.h only if needed, using
26920 angle brackets.
26921 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26922 grub/multiboot2.h.
26923 * loader/ieee1275/multiboot2.c: Likewise.
26924 * loader/multiboot2.c: Likewise.
26925 * loader/multiboot_loader.c: Likewise.
26926
437e6adc 26927 * configure.ac: Use -nostdlib when probing for the target. It
26928 should not be required to have libc for the target.
26929
06a6836c 26930 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26931 they fail without libc headers for the target.
26932 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26933 exports.
26934 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26935 preprocessor conditionals.
26936
fe052e37 26937 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26938 build system doesn't need to be aware of the tar.c internals.
26939
afd22553 269402009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26941
afd22553 26942 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26943
6b787c4f 269442009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26945
26946 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26947 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26948
269492009-06-09 Felix Zielcke <fzielcke@z-51.de>
26950
26951 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26952 aren't available if ata.mod gets used.
6b787c4f 26953
473d1e45 269542009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26955
473d1e45 26956 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26957 initialising controller.
473d1e45 26958 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26959
255a27d4 269602009-06-08 Felix Zielcke <fzielcke@z-51.de>
26961
26962 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26963 to choose between ata and biosdisk module on i386-pc.
26964
473d1e45 269652009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26966
d55842d8 26967 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26968 Subclass and Programming Interface fields in terms of the 3 byte
26969 Class Code register.
26970 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26971
fa5db0b1 26972 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26973 interface is OHCI. Add grub_dprintf for symmetry with
26974 bus/usb/uhci.c.
26975 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26976 interface is UHCI. Add interf variable for programming
26977 interface. Print interface with class/subclass.
26978
c0947beb 26979 * bus/usb/ohci.c: Set interf with correct field.
26980
69da8877 26981 * bus/usb/uhci.c: Remove unneeded doubled lines.
26982 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26983 Remove whitespace inside comment.
26984
9e172e30 269852009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26986
26987 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26988 as fallback an equivalent option without depth.
26989
de65ee2b 269902009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 Not fail if unable to retrieve C/H/S on LBA disks
26993
473d1e45 26994 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26995 if unable to retrieve C/H/S on LBA disks
26996
b57ea2c9 269972009-06-08 Pavel Roskin <proski@gnu.org>
26998
26999 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27000 about aliasing.
27001
af361263 270022009-06-08 Felix Zielcke <fzielcke@z-51.de>
27003
27004 * Makefile.in (uninstall): Remove all $lib_DATA files.
27005
4c9ec6b3 270062009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27007
27008 Bugfix: install on partitionless device
27009
27010 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27011 is a whole disk
27012
e76fc924 270132009-06-08 Felix Zielcke <fzielcke@z-51.de>
27014
27015 * Makefile.in (uninstall): Remove all $include_DATA files.
27016
ba5a0d05 270172009-06-08 Felix Zielcke <fzielcke@z-51.de>
27018
27019 * commands/true.c: New file. Implement the true and false commands.
27020 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27021 (true_mod_SOURCES): New variable.
27022 (true_mod_CFLAGS): Likewise.
27023 (true_mod_LDFLAGS): Likewise.
27024
c8048e32 270252009-06-05 Colin D Bennett <colin@gibibit.com>
27026
27027 Optimized font character lookup using binary search instead of linear
27028 search. Fonts now are required to have the character index ordered by
27029 code point.
27030
27031 * font/font.c (load_font_index): Verify that fonts have ordered
27032 character indices.
27033 (find_glyph): Use binary search instead of linear search to find a
27034 character in a font.
27035
408305be 270362009-06-05 Michael Scherer <misc@mandriva.org>
27037
27038 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27039 uses case sensitive btree.
27040 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27041 only for case insensitive filesystems.
27042
8ee1e0d9 270432009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27044
27045 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27046 * conf/common.rmk (search_mod_CFLAGS): likewise
27047
a9966eb1 270482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27049
473d1e45 27050 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27051 compensate a compiler bug
27052
9e7100fb 270532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27054
473d1e45 27055 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27056 instead of '\b'
473d1e45 27057
ede21d71 270582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27059
27060 Definitions for creating asm symbols with Apple's CC
27061
27062 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27063 [APPLE_CC] (VARIABLE): likewise
27064
9dbf7653 270652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 Disable lnxboot.img when compiled
27068 with Apple's CC
27069
27070 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27071 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27072 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27073 [! APPLE_CC] (CODE_LENG): skip
27074 [! APPLE_CC] (setup_sects): likewise
27075 [! APPLE_CC]: skip filling
473d1e45 27076
e93cdc3d 270772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27078
27079 Address in trampolines based on 32-bit registers when compiled
27080 with Apple's CC
27081
473d1e45 27082 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27083 for addresses
27084 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27085
6c688477 270862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27087
27088 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27089
27090 * kern/misc.c [APPLE_CC] (memcpy): new function
27091 [APPLE_CC] (memmove): likewise
27092 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27093 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27094 (memset): likewise
27095 (abort): likewise
27096 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27097 APPLE_CC are defined
27098 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27099 (grub_assert_fail): make prototype conditional
27100
e37ffc5c 271012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27104
473d1e45 27105 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27106 grub-macho2img
e37ffc5c 27107 (CLEANFILES): add grub-macho2img
27108 (grub_macho2img_SOURCES): new variable
27109 * kern/i386/pc/startup.S (bss_start): new variable
27110 (bss_end): likewise
27111 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27112 * util/grub-macho2img.c: new file
27113
cf00df31 271142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 Use objconv when compiling with Apple's CC
27117
27118 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27119 (efiemu64.o): likewise
27120 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27121 when compiling with Apple's CC
27122 (efiemu64_s.o): likewise
27123 * configure.ac: check for objconv when compiling with Apple's CC
27124 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27125
d119a20c 271262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27127
27128 Define segment as well as section when compiling with
27129 Apple's CC
27130
27131 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27132 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27133 (efiemu_convert_pointer): likewise
27134 (efiemu_set_virtual_address_map): likewise
27135 (efiemu_convert_pointer): likewise
27136 (efiemu_getcrc32): likewise
27137 (init_crc32_table): likewise
27138 (reflect): likewise
27139 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27140 (GRUB_MOD_DEP): likewise
473d1e45 27141
c8600122 271422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27143
27144 Allow a compilation without -mcmodel=large
27145
27146 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27147 when compiled without -mcmodel=large
473d1e45 27148 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27149 without -mcmodel=large
473d1e45 27150 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27151 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27152
e8df1d4e 271532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27154
27155 Remove nested functions in efiemu core
27156
27157 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27158
cc6c3ac1 271592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27160
27161 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27162
27163 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27164 temporary storage
473d1e45 27165 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27166 using Apple's CC
cc6c3ac1 27167 (grub_cpu_is_tsc_supported): likewise
27168 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27169
3e325901 271702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27171
27172 Absolute addressing through constant with Apple's cc
27173
27174 * kern/i386/pc/startup.S: Define necessary constants
27175 and address through it when using ABS with Apple's CC
27176 * boot/i386/pc/diskboot.S: likewise
27177 * boot/i386/pc/boot.S: likewise
27178 * boot/i386/pc/lnxboot.S: likewise
27179 * boot/i386/pc/cdboot.S: likewise
27180 * mmap/i386/pc/mmap_helper.S: likewise
27181 * commands/i386/pc/drivemap_int13h.S: likewise
27182
2b167a72 271832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27184
27185 Check if compiler is apple cc
27186
27187 * Makefile.in (ASFLAGS): new variable
27188 (TARGET_ASFLAGS): likewise
27189 (TARGET_MODULE_FORMAT): likewise
27190 (TARGET_APPLE_CC): likewise
27191 (OBJCONV): likewise
27192 (TARGET_IMG_CFLAGS): likewise
27193 (TARGET_CPPFLAGS): add includedir
27194 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27195 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27196 Check for linker script only if compiler isn't Apple's CC
27197 (TARGET_MODULE_FORMAT): set
27198 (TARGET_APPLE_CC): likewise
27199 (TARGET_ASFLAGS): likewise
27200 (ASFLAGS): likewise
27201 Check for objcopy only if compiler isn't Apple's CC
27202 Check for BSS symbol only if compiler isn't Apple's CC
27203 * genmk.rb: adapt nm options if we use Apple's utils
27204 * aclocal.m4 (grub_apple_cc): new test
27205 (grub_apple_target_cc): likewise
473d1e45 27206
fb14123e 272072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27208
27209 Simplify sed expressions and improve awk
27210
27211 * Makefile.in (install-local): simplify sed expression
27212 * gencmdlist.sh: likewise
27213 * genmoddep.awk: avoid adding module as a dependency of itself
27214
5b889789 272152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27216
27217 Add missing start symbols
27218
27219 * boot/i386/pc/boot.S: add start
fb14123e 27220 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27221
fd2bf2e3 272222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27225
27226 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27227 (relocate_addresses): consider both r_addend and value at offset
27228 (make_mods_section): zerofill modinfo and header
27229 (convert_elf): write prefix here
473d1e45 27230
5389763d 272312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27232
27233 Use .asciz instead of .string
27234
27235 * i386/pc/diskboot.S: use .asciz instead of .string
27236 * i386/pc/boot.S: likewise
27237 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27238 (GRUB_MOD_NAME): likewise
473d1e45 27239
3eb5ed4e 272402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27241
27242 gfxpayload support
27243
27244 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27245 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27246 (grub_video_setup): remove
27247 (grub_video_set_mode): new prototype
27248 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27249 (vid_mode): remove
27250 (linux_vesafb_res): compile only on PCBIOS
27251 (grub_linux_boot): support gfxpayload
27252 * loader/i386/pc/xnu.c (video_hook): new function
27253 (grub_xnu_set_video): support gfxpayload
27254 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27255 (DEFAULT_VIDEO_HEIGHT): likewise
27256 (DEFAULT_VIDEO_FLAGS): likewise
27257 (DEFAULT_VIDEO_MODE): new definition
27258 (video_hook): new function
27259 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27260 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27261 loading xnu
27262 * video/video.c (grub_video_setup): removed
473d1e45 27263 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27264 grub_video_setup
27265
4b0e1143 272662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 Avoid calling biosdisk in drivemap
27269
27270 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27271 (revparse_biosdisk): likewise
27272 (list_mappings): derive name from id directly
27273 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27274
fda6cb98 272752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27276
27277 Script fixes
27278
27279 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27280 (grub_lexer_param): add tokenonhold
27281 (grub_script_create_cmdline): remove cmdline. All callers updated
27282 (grub_script_function_create): make functionname
27283 grub_script_arg. All callers updated
27284 (grub_script_execute_argument_to_string): new prototype
27285 * kern/parser.c (state_transitions): reorder
27286 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27287 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27288 make global
27289 (grub_script_execute_cmdline): use new format
27290 * script/sh/function.c (grub_script_function_create): make functionname
27291 grub_script_arg. All callers updated
473d1e45 27292 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27293 (grub_script_yylex): remove
27294 (grub_script_yylex2): renamed to ...
27295 (grub_script_yylex): ...renamed
27296 parse the expressions like a${b}c
27297 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27298 (GRUB_PARSER_TOKEN_VAR): remove
27299 (GRUB_PARSER_TOKEN_NAME): likewise
27300 ("if"): declare as typeless
27301 ("while"): likewise
27302 ("function"): likewise
27303 ("else"): likewise
27304 ("then"): likewise
27305 ("fi"): likewise
27306 (text): remove
27307 (argument): likewise
27308 (script): accept empty scripts and make exit on error
27309 (arguments): use GRUB_PARSER_TOKEN_ARG
27310 (function): likewise
27311 (command): move error handling to script
27312 (menuentry): move grub_script_lexer_ref before
473d1e45 27313 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27314 argument. All callers updated
27315
f4448a07 273162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27317
27318 Prevent GRUB from probing floppies during boot.
27319
27320 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27321 * commands/search.c (options): Add --no-floppy.
27322 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27323 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27324 --no-floppy when searching for UUIDs.
27325
2bf5885a 273262009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27327
27328 Simplify the code duplication in commands/search.c.
27329
27330 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27331 (search_fs): ... this. Update all users.
27332
f6fd460a 273332009-06-03 Felix Zielcke <fzielcke@z-51.de>
27334
27335 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27336
cbb3c83e 273372009-05-28 Pavel Roskin <proski@gnu.org>
27338
57788cfd 27339 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27340 Remove the original symlink explicitly.
27341
cbb3c83e 27342 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27343 just one slash. That's how grub_fshelp_find_file() does it.
27344
cd0d5e30 273452009-05-26 Pavel Roskin <proski@gnu.org>
27346
f0f8bbe2 27347 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27348 to `str'.
27349
cd0d5e30 27350 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27351 possibly unused.
27352
8c2cab51 273532009-05-25 Christian Franke <franke@computer.org>
27354
27355 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27356 register.
27357 (grub_atapi_identify): Add wait after drive select.
27358 (grub_ata_identify): Do more strict status register check before
27359 calling grub_atapi_identify (). Suppress error message if status
27360 register is 0x00 after command failure. Add status register
27361 check after PIO read to avoid bogus identify due to stuck DRQ.
27362 Thanks to Pavel Roskin for testing.
27363 (grub_device_initialize): Remove unsafe status register check.
27364 Thanks to 'phcoder' for problem report and patch.
27365 Prevent sign extension in debug message.
27366
230c0ad6 273672009-05-23 Colin D Bennett <colin@gibibit.com>
27368
27369 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27370 definition file, and functions defined in `normal/menu.c' have had
27371 their prototypes moved to `include/grub/menu.h' for consistency.
27372
27373 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27374 from normal.h.
27375 (grub_menu_get_entry): Likewise.
27376 (grub_menu_get_timeout): Likewise.
27377 (grub_menu_set_timeout): Likewise.
27378 (grub_menu_execute_entry): Likewise.
27379 (grub_menu_execute_with_fallback): Likewise.
27380 (grub_menu_entry_run): Likewise.
27381
27382 * include/grub/normal.h: Re-ordered and grouped function
27383 prototypes by file that the function is defined in.
27384 (grub_menu_execute_callback): Removed; moved to menu.h.
27385 (grub_menu_get_entry): Likewise.
27386 (grub_menu_get_timeout): Likewise.
27387 (grub_menu_set_timeout): Likewise.
27388 (grub_menu_execute_entry): Likewise.
27389 (grub_menu_execute_with_fallback): Likewise.
27390 (grub_menu_entry_run): Likewise.
27391 (grub_menu_addentry): Renamed from this ...
27392 (grub_normal_add_menu_entry): ... to this.
27393
27394 * normal/main.c (grub_menu_addentry): Renamed from this ...
27395 (grub_normal_add_menu_entry): ... to this.
27396
27397 * script/sh/execute.c (grub_script_execute_menuentry): Update
27398 reference to renamed grub_menu_addentry function.
27399
861f03a5 274002009-05-23 Felix Zielcke <fzielcke@z-51.de>
27401
27402 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27403
96b1619a 274042009-05-22 Pavel Roskin <proski@gnu.org>
27405
bf6a5fb2 27406 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27407 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27408 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27409 compiling for the i386 targets, but not for the utilities.
27410
96b1619a 27411 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27412 to grub_uint8_t.
27413 (grub_root_drive): Likewise.
27414 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27415 remove alignment.
27416 (grub_root_drive): Change size to byte.
27417 (grub_start_addr): Remove.
27418 (grub_end_addr): Likewise.
27419 (grub_apm_bios_info): Likewise.
27420
b729776b 274212009-05-21 Felix Zielcke <fzielcke@z-51.de>
27422
27423 * normal/i386: Remove.
27424 * normal/powerpc: Likewise.
27425 * normal/sparc64: Likewise.
27426 * normal/x86_64: Likewise.
27427
0a15ce80 274282009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27429
27430 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27431 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27432 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27433
33db9015 274342009-05-18 Colin D Bennett <colin@gibibit.com>
27435
d6da58e6 27436 Display error messages when parsing a Lua statement fails.
27437 Previously, executing a syntactically invalid statement like
27438 ")foo" or "bar;" would silently fail.
33db9015 27439
27440 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27441 (grub_lua_parse_line): Improved reporting of Lua parser and
27442 execution errors.
33db9015 27443
46422c89 274442009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27445
27446 Remove -Werror which causes build to fail on some systems
27447
27448 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27449 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27450 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27451
22f53a96 274522009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27453
27454 trampoline for linux on 64-bit platform
27455
18f547ad 27456 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27457 loader/i386/efi/linux_trampoline.S
27458 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27459 declaration
d6da58e6 27460 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27461 here
22f53a96 27462 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27463 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27464 trampoline
22f53a96 27465 (jumpvector): removed
27466 (grub_linux_trampoline_start): new declaration
27467 (grub_linux_trampoline_end): likewise
27468 (grub_linux_boot): use trampoline when on 64-bit platform
27469 * loader/i386/linux.c: likewise
27470
cb5a0f40 274712009-05-16 Pavel Roskin <proski@gnu.org>
27472
27473 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27474 const to avoid a warning.
27475 (grub_lua_setenv): Likewise.
27476 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27477 lmsg to fix a warning.
27478
334f2c28 274792009-05-16 Felix Zielcke <fzielcke@z-51.de>
27480
27481 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27482 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27483 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27484 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27485 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27486 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27487 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27488 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27489
59e5d3ec 274902009-05-16 Felix Zielcke <fzielcke@z-51.de>
27491
27492 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27493
9d87a1ba 274942009-05-16 Bean <bean123ch@gmail.com>
27495
27496 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27497 (lua_mod_SOURCES): New variable.
27498 (lua_mod_CFLAGS): Likewise.
27499 (lua_mod_LDFLAGS): Likewise.
27500
27501 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27502 (setjmp_mod_SOURCES): New variable.
27503 (setjmp_mod_CFLAGS): Likewise.
27504 (setjmp_LDFLAGS): Likewise.
27505
27506 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27507 (setjmp_mod_SOURCES): New variable.
27508 (setjmp_mod_CFLAGS): Likewise.
27509 (setjmp_LDFLAGS): Likewise.
27510
27511 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27512 (setjmp_mod_SOURCES): New variable.
27513 (setjmp_mod_CFLAGS): Likewise.
27514 (setjmp_LDFLAGS): Likewise.
27515
27516 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27517 (setjmp_mod_SOURCES): New variable.
27518 (setjmp_mod_CFLAGS): Likewise.
27519 (setjmp_LDFLAGS): Likewise.
27520
27521 * normal/i386/setjmp.S: Moved from here ...
27522 * lib/i386/setjmp.S: ... Moved here
27523 * normal/x86_64/setjmp.S: Moved from here ...
27524 * lib/x86_64/setjmp.S: ... Moved here
27525 * normal/powerpc/setjmp.S: Moved from here ...
27526 * lib/powerpc/setjmp.S: ... Moved here
27527 * normal/sparc64/setjmp.S: Moved from here ...
27528 * lib/sparc64/setjmp.S: ... Moved here
27529
27530 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27531 returns_twice in mingw.
27532
27533 * script/lua/grub_lib.c: New file.
27534 * script/lua/grub_lib.h: Likewise.
27535 * script/lua/grub_lua.h: Likewise.
27536 * script/lua/grub_main.c: Likewise.
27537 * script/lua/lapi.c: Likewise.
27538 * script/lua/lapi.h: Likewise.
27539 * script/lua/lauxlib.c: Likewise.
27540 * script/lua/lauxlib.h: Likewise.
27541 * script/lua/lbaselib.c: Likewise.
27542 * script/lua/lcode.c: Likewise.
27543 * script/lua/lcode.h: Likewise.
27544 * script/lua/ldblib.c: Likewise.
27545 * script/lua/ldebug.c: Likewise.
27546 * script/lua/ldebug.h: Likewise.
27547 * script/lua/ldo.c: Likewise.
27548 * script/lua/ldo.h: Likewise.
27549 * script/lua/ldump.c: Likewise.
27550 * script/lua/lfunc.c: Likewise.
27551 * script/lua/lfunc.h: Likewise.
27552 * script/lua/lgc.c: Likewise.
27553 * script/lua/lgc.h: Likewise.
27554 * script/lua/linit.c: Likewise.
27555 * script/lua/liolib.c: Likewise.
27556 * script/lua/llex.c: Likewise.
27557 * script/lua/llex.h: Likewise.
27558 * script/lua/llimits.h: Likewise.
27559 * script/lua/lmathlib.c: Likewise.
27560 * script/lua/lmem.c: Likewise.
27561 * script/lua/lmem.h: Likewise.
27562 * script/lua/loadlib.c: Likewise.
27563 * script/lua/lobject.c: Likewise.
27564 * script/lua/lobject.h: Likewise.
27565 * script/lua/lopcodes.c: Likewise.
27566 * script/lua/lopcodes.h: Likewise.
27567 * script/lua/loslib.c: Likewise.
27568 * script/lua/lparser.c: Likewise.
27569 * script/lua/lparser.h: Likewise.
27570 * script/lua/lstate.c: Likewise.
27571 * script/lua/lstate.h: Likewise.
27572 * script/lua/lstring.c: Likewise.
27573 * script/lua/lstring.h: Likewise.
27574 * script/lua/lstrlib.c: Likewise.
27575 * script/lua/ltable.c: Likewise.
27576 * script/lua/ltable.h: Likewise.
27577 * script/lua/ltablib.c: Likewise.
27578 * script/lua/ltm.c: Likewise.
27579 * script/lua/ltm.h: Likewise.
27580 * script/lua/lua.h: Likewise.
27581 * script/lua/luaconf.h: Likewise.
27582 * script/lua/lualib.h: Likewise.
27583 * script/lua/lundump.c: Likewise.
27584 * script/lua/lundump.h: Likewise.
27585 * script/lua/lvm.c: Likewise.
27586 * script/lua/lvm.h: Likewise.
27587 * script/lua/lzio.c: Likewise.
27588 * script/lua/lzio.h: Likewise.
27589
5e898c9d 275902009-05-16 Bean <bean123ch@gmail.com>
27591
27592 * include/grub/kernel.h (grub_module_header_types): Add type
27593 OBJ_TYPE_CONFIG.
27594
27595 * kern/main.c (grub_load_config): New function.
27596 (grub_main): Call grub_load_config to read boot config.
27597
27598 * grub-mkimage (generate_image): New parameter config_path.
27599 (options): New option --config.
27600 (main): Parse --config option, and pass it to generate_image.
27601
cf353a47 276022009-05-14 Christian Franke <franke@computer.org>
27603
27604 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27605 This fixes build on Cygwin.
27606
3834887f 276072009-05-14 Pavel Roskin <proski@gnu.org>
27608
27609 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27610 jump. This saves two bytes, so the typical case of 2 swapped
27611 drives would fit 32 bytes.
27612
8090fc01 276132009-05-13 Pavel Roskin <proski@gnu.org>
27614
ac963883 27615 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27616 grub_uint32_t to avoid a warning.
27617
8090fc01 27618 * loader/i386/linux.c (allocate_pages): When assigning
27619 real_mode_mem, cast through grub_size_t to fix a warning. The
27620 code already makes sure that the value would fit a pointer.
27621 (grub_linux_setup_video): Cast render_target->data to
27622 grub_size_t to fix a warning.
27623
18f547ad 276242009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27625
27626 * commands/i386/pc/drivemap.c: New file - implement drivemap
27627 command.
27628 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27629 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27630
6f6a8b28 276312009-05-13 Pavel Roskin <proski@gnu.org>
27632
27633 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27634 embedding_area_exists.
27635
15fbf4c4 276362009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27639 it easier to understand / work with.
59978c8a 27640 Improve warning messages for cases where there's no embedding area,
27641 or when it is too small (or core.img too large).
15fbf4c4 27642
238e871f 276432009-05-13 Pavel Roskin <proski@gnu.org>
27644
0ab3a9a4 27645 * loader/i386/pc/multiboot2.c: Add necessary includes for
27646 grub_multiboot2_real_boot().
27647
a2c8c5f8 27648 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27649 PX record is always little-endian. We only need the lower 2
27650 bytes of the mode.
27651
faec96af 27652 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27653 facilitate code reuse.
27654 (grub_cpio_mount): Use "struct head", not a char buffer. This
27655 fixes a warning reported by gcc 4.4.
27656
238e871f 27657 * kernel/disk.c (grub_disk_read): Use void pointer for the
27658 buffer.
27659 (grub_disk_write): Use const void pointer for the buffer.
27660 Adjust all callers. Remove unnecessary casts.
27661
901d2f0c 276622009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27663
27664 * util/i386/pc/grub-install.in: Update copyright year.
27665
18f547ad 276662009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27667
27668 gptsync
27669
27670 * commands/gptsync.c: new file
27671 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27672 (gptsync_mod_SOURCES): new variable
27673 (gptsync_mod_CFLAGS): likewise
27674 (gptsync_mod_LDFLAGS): likewise
18f547ad 27675 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27676 new definition
27677 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27679 * conf/i386-ieee1275.rmk: likewise
27680 * conf/i386-pc.rmk: likewise
27681 * conf/powerpc-ieee1275.rmk: likewise
27682
b4ba690a 276832009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fixed grub-emu
27686
27687 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27688 (grub_dl_ref): likewise
27689
317e1a44 276902009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27691
27692 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27693 split in two functions (one for msdos and one for gpt).
27694
041b8094 276952009-05-08 Pavel Roskin <proski@gnu.org>
27696
752473c2 27697 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27698 not modified.
27699
041b8094 27700 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27701 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27702 Initialize them with -1. Add sanity check for bad1. Eliminate
27703 nerr variable.
27704
172800ce 277052009-05-08 David S. Miller <davem@davemloft.net>
27706
27707 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27708
29aa5e81 277092009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27710
27711 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27712 existence.
29aa5e81 27713
96613b62 277142009-05-05 Felix Zielcke <fzielcke@z-51.de>
27715
27716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27717 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27718
eef73c8a 277192009-05-05 David S. Miller <davem@davemloft.net>
27720
27721 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27722
119494b5 277232009-05-05 Pavel Roskin <proski@gnu.org>
27724
27725 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27726 of grub_dl_ref() and grub_dl_unref().
27727 * commands/parttool.c: Remove preprocessor conditionals around
27728 grub_dl_ref() and grub_dl_unref().
27729 * fs/affs.c: Likewise.
27730 * fs/afs.c: Likewise.
27731 * fs/cpio.c: Likewise.
27732 * fs/ext2.c: Likewise.
27733 * fs/fat.c: Likewise.
27734 * fs/hfs.c: Likewise.
27735 * fs/hfsplus.c: Likewise.
27736 * fs/iso9660.c: Likewise.
27737 * fs/jfs.c: Likewise.
27738 * fs/minix.c: Likewise.
27739 * fs/ntfs.c: Likewise.
27740 * fs/reiserfs.c: Likewise.
27741 * fs/sfs.c: Likewise.
27742 * fs/udf.c: Likewise.
27743 * fs/ufs.c: Likewise.
27744 * fs/xfs.c: Likewise.
27745 * include/grub/dl.h: Likewise.
27746 * loader/xnu.c: Likewise.
27747
de5fd76e 277482009-05-04 Pavel Roskin <proski@gnu.org>
27749
27750 * commands/acpi.c: Remove unused variable my_mod.
27751 * partmap/amiga.c: Likewise.
27752 * partmap/apple.c: Likewise.
27753 * partmap/gpt.c: Likewise.
27754 * partmap/pc.c: Likewise.
27755 * partmap/sun.c: Likewise.
27756 * term/gfxterm.c: Likewise.
27757 * term/i386/pc/vesafb.c: Likewise.
27758 * term/i386/pc/vga.c: Likewise.
27759
983598ad 277602009-05-04 David S. Miller <davem@davemloft.net>
27761
27762 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27763 pointer args to grub_ieee1275_get_property().
27764
8aadec43 27765 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27766
9554b15e 27767 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27768 devices, and do not traverse down under controller nodes.
27769
67e23c90 27770 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27771 (grub_ofdisk_open): Use it to un-escape "," characters.
27772 * kern/disk.c (find_part_sep): New.
27773 (grub_disk_open): Use it to find the first non-escaped ','
27774 character in the disk name.
27775 * util/ieee1275/devicemap.c (escape_of_path): New.
27776 (grub_util_emit_devicemap_entry): Use it.
27777 * util/sparc64/ieee1275/grub-install.in: Update script to
27778 strip partition specifiers properly by not triggering on
27779 '\' escaped ',' characters.
27780
74bfdd2f 277812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27782
27783 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27784 to 0x300.
27785 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27786 resolutions.
27787 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27788 on documentation from Wikipedia).
27789
4241d2b1 277902009-05-04 Pavel Roskin <proski@gnu.org>
27791
27792 * disk/ata.c: Spelling fixes.
27793 * disk/raid.c: Likewise.
27794 * disk/usbms.c: Likewise.
27795 * disk/dmraid_nvidia.c: Likewise.
27796 * kern/ieee1275/openfw.c: Likewise.
27797 * kern/ieee1275/init.c: Likewise.
27798 * kern/ieee1275/cmain.c: Likewise.
27799 * boot/i386/pc/cdboot.S: Likewise.
27800 * video/readers/png.c: Likewise.
27801 * video/i386/pc/vbe.c: Likewise.
27802 * fs/udf.c: Likewise.
27803 * fs/hfs.c: Likewise.
27804 * fs/reiserfs.c: Likewise.
27805 * efiemu/runtime/efiemu.c: Likewise.
27806 * efiemu/main.c: Likewise.
27807 * efiemu/mm.c: Likewise.
27808 * include/grub/elf.h: Likewise.
27809 * include/grub/xnu.h: Likewise.
27810 * include/grub/usbdesc.h: Likewise.
27811 * include/grub/usb.h: Likewise.
27812 * include/grub/script_sh.h: Likewise.
27813 * include/grub/lib/LzmaEnc.h: Likewise.
27814 * include/grub/efiemu/efiemu.h: Likewise.
27815 * include/grub/command.h: Likewise.
27816 * normal/menu.c: Likewise.
27817 * normal/main.c: Likewise.
27818 * normal/datetime.c: Likewise.
27819 * bus/usb/uhci.c: Likewise.
27820 * mmap/i386/uppermem.c: Likewise.
27821 * mmap/mmap.c: Likewise.
27822 * commands/acpi.c: Likewise.
27823 * commands/test.c: Likewise.
27824 * partmap/apple.c: Likewise.
27825 * font/font.c: Likewise.
27826 * loader/sparc64/ieee1275/linux.c: Likewise.
27827 * loader/macho.c: Likewise.
27828 * loader/i386/bsd_trampoline.S: Likewise.
27829 * loader/i386/bsd.c: Likewise.
27830 * loader/xnu.c: Likewise.
27831 * term/i386/pc/vesafb.c: Likewise.
27832 * term/usb_keyboard.c: Likewise.
27833 * util/resolve.c: Likewise.
27834 * util/getroot.c: Likewise.
27835
0cfc0083 278362009-05-04 Felix Zielcke <fzielcke@z-51.de>
27837
27838 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27839
7c1d00cd 278402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27841
27842 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27843 build error.
27844
b01f0548 278452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27846
27847 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27848 parameter only available on BIOS.
27849
ecc3eb22 278502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27851
27852 Removed wrong semicolon in declaration
27853
27854 * grub/misc.h (grub_dprintf): remove semicolon
27855
112972a9 278562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27857
27858 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27859 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27860 is done by grub_cmd_linux() now).
27861 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27862 restore video to text mode.
27863 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27864 indicates lack of "vga=" parameter. "vga=0" is mapped to
27865 `GRUB_LINUX_VID_MODE_NORMAL'.
27866
afd5c115 278672009-05-04 Felix Zielcke <fzielcke@z-51.de>
27868
27869 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27870 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27871 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27872 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27873 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27874 `grub_script.tab.c'.
27875
27876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27877 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27880 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27881
faa517ce 27882 * Makefile.in: Remove duplicated 2008 in Copyright line.
27883
ae0c0bdc 278842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27885
473d1e45 27886 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27887 unconditionally.
27888 * include/grub/util/misc.h (grub_util_warn): New declaration.
27889
27890 * util/i386/pc/grub-install.in: Understand --force and pass it down
27891 to grub-setup.
27892
27893 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27894 down to setup().
27895 (setup): Improve error messages and add warnings when requested to
27896 install in odd layouts. Refuse to install using blocklists unless
27897 --force was set.
27898
18f547ad 278992009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27900
27901 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27902
6d260daa 279032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27904
27905 Updated copyright year
27906
27907 * fs/hfsplus.c: updated copyright year
18f547ad 27908
69f853f8 279092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27910
27911 HFS+ UUID
27912
18f547ad 27913 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27914 in the space previously used by unused3
27915 (grub_hfsplus_uuid): new function
27916 (grub_hfsplus_fs): added uuid field
27917
4c402e73 279182009-05-03 Pavel Roskin <proski@gnu.org>
27919
27920 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27921 suppress warnings. It's no longer needed.
27922 * disk/host.c: Likewise.
27923 * disk/ata_pthru.c: Likewise.
27924 * disk/loopback.c: Likewise.
27925 * hook/datehook.c: Likewise.
27926 * parttool/pcpart.c: Likewise.
27927 * fs/i386/pc/pxe.c: Likewise.
27928 * fs/ntfscomp.c: Likewise.
27929 * efiemu/main.c: Likewise.
27930 * mmap/mmap.c: Likewise.
27931 * commands/crc.c: Likewise.
27932 * commands/hexdump.c: Likewise.
27933 * commands/hdparm.c: Likewise.
27934 * commands/acpi.c: Likewise.
27935 * commands/echo.c: Likewise.
27936 * commands/minicmd.c: Likewise.
27937 * commands/blocklist.c: Likewise.
27938 * commands/memrw.c: Likewise.
27939 * commands/loadenv.c: Likewise.
27940 * commands/usbtest.c: Likewise.
27941 * commands/lsmmap.c: Likewise.
27942 * commands/boot.c: Likewise.
27943 * commands/parttool.c: Likewise.
27944 * commands/configfile.c: Likewise.
27945 * commands/search.c: Likewise.
27946 * commands/ieee1275/suspend.c: Likewise.
27947 * commands/cat.c: Likewise.
27948 * commands/i386/pc/pxecmd.c: Likewise.
27949 * commands/i386/pc/play.c: Likewise.
27950 * commands/i386/pc/halt.c: Likewise.
27951 * commands/i386/pc/vbeinfo.c: Likewise.
27952 * commands/i386/pc/vbetest.c: Likewise.
27953 * commands/lspci.c: Likewise.
27954 * commands/date.c: Likewise.
27955 * commands/handler.c: Likewise.
27956 * commands/ls.c: Likewise.
27957 * commands/test.c: Likewise.
27958 * commands/cmp.c: Likewise.
27959 * commands/efi/loadbios.c: Likewise.
27960 * commands/efi/fixvideo.c: Likewise.
27961 * commands/halt.c: Likewise.
27962 * commands/help.c: Likewise.
27963 * commands/reboot.c: Likewise.
27964 * hello/hello.c: Likewise.
27965 * script/sh/main.c: Likewise.
27966 * loader/xnu.c: Likewise.
27967 * term/terminfo.c: Likewise.
27968 * term/i386/pc/serial.c: Likewise.
27969 * term/usb_keyboard.c: Likewise.
27970
515b5079 279712009-05-03 David S. Miller <davem@davemloft.net>
27972
27973 * normal/menu.c: Include grub/parser.h
27974
dfc31a22 279752009-05-03 Pavel Roskin <proski@gnu.org>
27976
2fee74f1 27977 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27978 not char*.
27979 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27980 Suggested by Javier Martín <lordhabbit@gmail.com>
27981
dfc31a22 27982 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27983 efiemu??.o doesn't exist.
27984 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27985 copying.
27986
18f547ad 279872009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27988
27989 FreeBSD 64-bit support
27990
18f547ad 27991 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27992 and loader/i386/bsd_trampoline.S
27993 (bsd_mod_ASFLAGS): new variable
27994 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27995 (FREEBSD_MODTYPE_KERNEL64): likewise
27996 (grub_bsd64_trampoline_start): likewise
27997 (grub_bsd64_trampoline_end): likewise
27998 (grub_bsd64_trampoline_selfjump): likewise
27999 (grub_bsd64_trampoline_gdt): likewise
28000 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28001 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28002 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28003 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28004 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28005 of "attrib" member
28006 * loader/i386/bsd_pagetable.c: new file
28007 * loader/i386/bsd_trampoline.S: likewise
28008 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28009 (ALIGN_VAR): likewise
28010 (entry_hi): new variable
28011 (kern_end_mdofs): likewise
28012 (is_64bit): likewise
28013 (grub_freebsd_add_meta): use ALIGN_VAR
28014 (grub_e820_mmap): new declaration
28015 (grub_freebsd_add_mmap): new function
28016 (grub_freebsd_add_meta_module): support 64 bit kernels
28017 (grub_freebsd_list_modules): use ALIGN_VAR
28018 (gdt_descriptor): new declaration
28019 (grub_freebsd_boot): support 64 bit kernels
28020 (grub_bsd_elf64_hook): new function
28021 (grub_bsd_load_elf): support elf64
28022
038c5720 280232009-05-03 Bean <bean123ch@gmail.com>
28024
28025 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28026 after we get the result of if statement.
28027
fc45fb58 280282009-05-03 Bean <bean123ch@gmail.com>
28029
28030 * Makefile.in (enable_efiemu): New variable.
28031
28032 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28033 set.
28034 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28035 path.
28036 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28037 path, add -mno-red-zone option.
28038 (efiemu64_s.o): Likewise.
28039 (efiemu64.o): Use macro $^ for source file.
28040
28041 * configure.ac (--enable-efiemu): New option.
28042
bbee0f2b 280432009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 xnu support
28046
28047 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28048 (pkglib_MODULES): add xnu.mod
28049 (xnu_mod_SOURCES): new variable
28050 (xnu_mod_CFLAGS): likewise
28051 (xnu_mod_LDFLAGS): likewise
28052 (xnu_mod_ASFLAGS): likewise
28053 * conf/i386-pc.rmk: likewise
28054 * conf/x86_64-efi.rmk: likewise
7dd4a573 28055 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28056 new declaration
28057 * include/grub/i386/macho.h: new file
28058 * include/grub/i386/xnu.h: likewise
28059 * include/grub/macho.h: likewise
28060 * include/grub/machoload.h: likewise
28061 * include/grub/x86_64/macho.h: likewise
28062 * include/grub/x86_64/xnu.h: likewise
28063 * include/grub/xnu.h: likewise
28064 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28065 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28066 * loader/i386/efi/xnu.c: new file
28067 * loader/i386/pc/xnu.c: likewise
28068 * loader/i386/xnu.c: likewise
28069 * loader/i386/xnu_helper.S: likewise
28070 * loader/macho.c: likewise
28071 * loader/xnu.c: likewise
28072 * loader/xnu_resume.c: likewise
28073 * util/grub-dumpdevtree: likewise
28074 * include/grub/i386/pit.h: include grub/err.h
28075 (grub_pit_wait): export
28076 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28077
5caf964d 280782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28079
28080 Efiemu
7dd4a573 28081
5caf964d 28082 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28083 _linux_efi, linux_efi.
28084 new files in grub-emu
5caf964d 28085 new targets efiemu32.o and efiemu64.o
28086 * loader/linux_normal_efiemu.c: likewise
28087 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28088 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28089 files to copy
28090 * include/grub/autoefi.h: new file
7dd4a573 28091 * include/grub/i386/efiemu.h: likewise
5caf964d 28092 * include/grub/i386/pc/efiemu.h: likewise
28093 * include/grub/efi/api.h: add LL suffix when necessary
28094 new definitions relating to tables
28095 * include/grub/efiemu/efiemu.h: new file
28096 * include/grub/efiemu/runtime.h: likewise
28097 * efiemu/prepare.c: likewise
28098 * efiemu/loadcore_common.c: likewise
28099 * efiemu/loadcore64.c: likewise
28100 * efiemu/runtime/efiemu.sh: likewise
28101 * efiemu/runtime/efiemu.S: likewise
28102 * efiemu/runtime/efiemu.c: likewise
28103 * efiemu/runtime/config.h: likewise
28104 * efiemu/prepare32.c: likewise
28105 * efiemu/main.c: likewise
28106 * efiemu/modules/pnvram.c: likewise
28107 * efiemu/modules/i386: likewise
28108 * efiemu/modules/i386/pc: likewise
28109 * efiemu/modules/acpi.c: likewise
28110 * efiemu/i386/pc/cfgtables.c: likewise
28111 * efiemu/i386/loadcore64.c: likewise
28112 * efiemu/i386/loadcore32.c: likewise
28113 * efiemu/prepare64.c: likewise
28114 * efiemu/loadcore.c: likewise
28115 * efiemu/symbols.c: likewise
28116 * efiemu/mm.c: likewise
28117 * efiemu/loadcore32.c: likewise
7dd4a573 28118
281192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28120
28121 ACPI spoofing
28122
28123 * commands/acpi.c: new file
28124 * commands/i386/pc/acpi.c: likewise
28125 * commands/efi/acpi.c: likewise
28126 * include/grub/acpi.h: likewise
28127 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28128 (acpi_mod_SOURCES): new variable
28129 (acpi_mod_CFLAGS): likewise
28130 (acpi_mod_LDFLAGS): likewise
28131 * conf/i386-efi.rmk: likewise
28132 * conf/x86_64-efi.rmk: likewise
28133
7dd4a573 281342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28135
28136 Missing part from mmap patch
28137
28138 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28139 (grub_mmap_unregister)
28140 (grub_mmap_free_and_unregister): use grub_mmap_register
28141
7dd4a573 281422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28143
28144 Mmap services
28145
28146 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28147 * loader/i386/linux.c (find_mmap_size): likewise
28148 (allocate_pages): likewise
28149 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28150 (grub_fill_multiboot_mmap): likewise
28151 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28152 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28153 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28154 (OPENBSD_MMAP_RESERVED): likewise
28155 * include/grub/i386/pc/memory.h: include grub/memory.h
28156 (grub_lower_mem): removed
28157 (grub_upper_mem): likewise
28158 (GRUB_MACHINE_MEMORY_ACPI): new definition
28159 (GRUB_MACHINE_MEMORY_NVS): likewise
28160 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28161 (GRUB_MACHINE_MEMORY_HOLE): likewise
28162 (grub_machine_mmap_register): likewise
28163 (grub_machine_mmap_unregister): likewise
28164 (grub_machine_get_upper): likewise
28165 (grub_machine_get_lower): likewise
28166 (grub_machine_get_post64): likewise
28167 * include/grub/i386/efi/memory.h: new file
28168 * include/grub/x86_64/efi/memory.h: likewise
28169 * include/grub/efi/memory.h: likewise
28170 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28171 (mmap_mod_SOURCES): new variable
28172 (mmap_mod_LDFLAGS): likewise
28173 (mmap_mod_ASFLAGS): likewise
28174 * conf/i386-coreboot.rmk: likewise
28175 * conf/i386-ieee1275.rmk: likewise
28176 * conf/i386-efi.rmk: likewise
28177 * conf/x86_64-efi.rmk: likewise
28178 * include/grub/types.h (UINT_TO_PTR): new macro
28179 (PTR_TO_UINT32): likewise
28180 (PTR_TO_UINT64): likewise
28181 * include/grub/memory.h: new file
28182 * mmap/i386/pc/mmap.c: likewise
28183 * mmap/i386/pc/mmap_helper.S: likewise
28184 * mmap/i386/uppermem.c: likewise
28185 * mmap/mmap.c: likewise
28186 * mmap/efi/mmap.c: likewise
7dd4a573 28187 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28188 grub_upper_mem
28189 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28190 (grub_upper_mem): likewise
28191 (grub_machine_init): don't use grub_upper_mem,
28192 make grub_lower_mem local
28193 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28194 grub_mmap_iterate and grub_mmap_get_upper
28195 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28196
d558e6b5 281972009-05-02 Bean <bean123ch@gmail.com>
28198
28199 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28200 script/sh/parser.y.
28201 (pkglib_MODULES): Add normal.mod and sh.mod.
28202 (normal_SOURCES): New variable.
28203 (normal_mod_CFLAGS): Likewise.
28204 (normal_mod_LDFLAGS): Likewise.
28205 (sh_mod_SOURCES): Likewise.
28206 (sh_mod_CFLAGS): Likewise.
28207 (sh_mod_LDFLAGS): Likewise.
28208
28209 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28210 script/sh/lexer.c_DEPENDENCIES.
28211 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28212 kern/rescue_reader.c and kern/rescue_parser.c.
28213 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28214 (grub_emu_SOURCES): Change source files.
28215 (pkglib_MODULES): Remove normal.mod.
28216 (normal_SOURCES): Removed.
28217 (normal_mod_CFLAGS): Likewise.
28218 (normal_mod_LDFLAGS): Likewise.
28219 * conf/i386-coreboot.rmk: Likewise.
28220 * conf/i386-efi.rmk: Likewise.
28221 * conf/i386-ieee1276.rmk: Likewise.
28222 * conf/powerpc-ieee1275.rmk: Likewise.
28223 * conf/sparc64-ieee1275.rmk: Likewise.
28224 * conf/x86_64-efi.rmk: Likewise.
28225
28226 * include/grub/command.h (grub_command_execute): New inline function.
28227
28228 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28229
28230 * include/grub/normal.h: Remove <grub/setjmp.h>.
28231 (grub_fs_module_list): Moved to normal/autofs.c.
28232 (grub_exit_env): Removed.
28233 (grub_command_execute): Likewise.
28234 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28235 parameter script.
28236 (read_command_list): New function declaration.
28237 (read_fs_list): Likewise.
28238
28239 * include/parser.h: Include <grub/reader.h>.
28240 (grub_parser_split_cmdline): Change type of getline parameter.
28241 (grub_parser): New structure.
28242 (grub_parser_class): New variable.
28243 (grub_parser_execute): New function declaration.
28244 (grub_register_rescue_parser): Likewise.
28245 (grub_parser_register): New inline function.
28246 (grub_parser_unregister): Likewise.
28247 (grub_parser_get_current): Likewise.
28248 (grub_parser_set_current): Likewise.
28249
28250 * include/grub/reader.h: New file.
28251 * kern/reader.c: Likewise.
28252 * kern/rescue_parser.c: Likewise.
28253 * kern/rescue_reader.c: Likewise.
28254 * normal/autofs.c: Likewise.
28255 * normal/dyncmd.c: Likewise.
28256
28257 * include/grub/rescue.h: Removed.
28258 * normal/command.h: Likewise.
28259
28260 * include/grub/script.h: Moved to ...
28261 * include/grub/script_sh.h: ... Moved here.
28262 * normal/execute.c: Moved to ...
28263 * script/sh/execute.c: ... Moved here.
28264 * normal/function.c: Moved to ...
28265 * script/sh/function.c: ... Moved here.
28266 * normal/lexer.c: Moved to ...
28267 * script/sh/lexer.c: ... Moved here.
28268 * normal/parser.y: Moved to ...
28269 * script/sh/parser.y: ... Moved here.
28270 * normal/script.c: Moved to ...
28271 * script/sh/script.c: ... Moved here.
28272
28273 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28274 <grub/reader.h>.
28275 (grub_exit_env): Removed.
28276 (fs_module_list): Moved to normal/autofs.c.
28277 (grub_file_getline): Don't handle comment here.
28278 (free_menu): Skip removed field entry->commands.
28279 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28280 script parameter.
28281 (read_config_file): Removed nested parameter, change getline function.
28282 (grub_enter_normal_mode): Removed.
28283 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28284 (read_command_list): Likewise.
28285 (autoload_fs_module): Moved to normal/autofs.c.
28286 (read_fs_list): Likewise.
28287 (reader_nested): New variable.
28288 (grub_normal_execute): Run parser.sh to switch to sh parser.
28289 (grub_cmd_rescue): Removed.
28290 (cmd_normal): Removed.
28291 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28292 rescue command.
28293 (grub_cmdline_run): New function.
28294 (grub_normal_reader_init): Likewise.
28295 (grub_normal_read_line): Likewise.
28296 (grub_env_write_pager): Likewise.
28297 (cmdline): New variable.
28298 (grub_normal_reader): Likewise.
28299 (GRUB_MOD_INIT): Register normal reader and set as current, register
28300 pager hook, register normal command with grub_register_command_prio,
28301 so that it won't show up in command.lst.
28302 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28303 grub_fs_autoload_hook.
28304
28305 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28306 (grub_menu_execute_entry): Replace grub_script_execute with
28307 grub_parser_execute, change parameter to grub_command_execute.
28308
28309 * normal/menu_text.c: Remove <grub/script.h>.
28310
28311 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28312 and <grub/parser.h>.
28313 (run): Change editor_getline to use new parser interface. Change
28314 parameter to grub_command_execute.
28315
28316 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28317 <grub/reader.h> and <grub/parser.h>.
28318 (grub_load_normal_mode): Execute normal command.
28319 (grub_main): Call grub_register_core_commands,
28320 grub_register_rescue_parser and grub_register_rescue_reader, use
28321 grub_reader_loop to enter input loop.
28322
7dd4a573 28323 * kern/parser.c (grub_parser_split_cmdline): Change type of
28324 getline parameter.
d558e6b5 28325 (grub_parser_class): New variable.
28326 (grub_parser_execute): New function.
28327
28328 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28329 * loader/multiboot2.c: Likewise.
28330 * loader/sparc64/ieee1275/linux.c: Likewise.
28331
28332 * util/grub-emu.c (read_command_list): New dummy function.
28333
18db813d 283342009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28335
28336 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28337 count to 16 for CCISS and IDA.
28338
6c67de15 283392009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28340
28341 * normal/menu_text.c (grub_wait_after_message): Print a newline
28342 after waiting for user input.
28343
28344 * loader/i386/linux.c: Include `<grub/normal.h>'.
28345 (grub_cmd_linux): Improve the error message about `ask' mode, by
28346 waiting for user input so it's not missed (we can do this, since
28347 user requested interaction).
28348
d9dc87b0 283492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28350
28351 Added missing lst to grub-mkrescue
28352
28353 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28354 and ${input_dir}/parttool.lst
28355
ac8a2baa 283562009-04-30 David S. Miller <davem@davemloft.net>
28357
ad22a610 28358 * util/hostdisk.c (device_is_wholedisk): New function.
28359 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28360 zero only if device_is_wholedisk() returns true.
28361
6966215d 28362 * util/hostdisk.c (convert_system_partition_to_system_disk):
28363 Handle virtual disk devices named /dev/vdiskX as found on sparc
28364 and powerpc.
28365
ac8a2baa 28366 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28367 lettered partition specifier is found, convert to numbered.
28368
979b4fb4 283692009-04-29 David S. Miller <davem@davemloft.net>
28370
e2bf39b2 28371 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28372 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28373
3c64e104 28374 * normal/command.c: Add missing newline at end of file.
28375
979b4fb4 28376 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28377 warnings.
28378 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28379 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28380 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28381 ihandles have a 32-bit type but need to be stored in a "void *".
28382
136d9f82 283832009-04-28 Pavel Roskin <proski@gnu.org>
28384
9459c306 28385 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28386 not disk. Adjust all dependencies.
2e08a26a 28387 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28388 grub_disk_close().
28389
136d9f82 28390 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28391 parent's partition, don't copy it by reference, as it gets freed
28392 on close.
28393
7dd4a573 283942009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28395
28396 Preboot hooks support
28397
28398 * commands/boot.c (struct grub_preboot_t): new declaration
28399 (preboots_head): new variable
28400 (preboots_tail): likewise
28401 (grub_loader_register_preboot_hook): new function
28402 (grub_loader_unregister_preboot_hook): likewise
28403 (grub_loader_set): launch preboot hooks
28404 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28405 (grub_loader_register_preboot_hook): new declaration
28406 (grub_loader_unregister_preboot_hook): likewise
28407
5af922b5 284082009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28409
28410 Warning fix
28411
7dd4a573 28412 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28413 calling grub_dprintf
28414
a5562c30 284152009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28416
28417 Bug and warning fixes
28418
7dd4a573 28419 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28420 declaration
28421 * commands/test.c (test_parse): fixed bug with file tests and corrected
28422 declaration of find_file
28423
4006f85c 284242009-04-26 Pavel Roskin <proski@gnu.org>
28425
28426 * Makefile.in: Don't install empty manual pages if help2man is
28427 missing. Use help2man option for output, not shell redirection.
28428
5c77c3de 284292009-04-26 David S. Miller <davem@davemloft.net>
28430
28431 * util/grub-mkdevicemap.c (make_device_map): Add missing
28432 NESTED_FUNC_ATTR to process_device().
28433
033b10a8 284342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28435
28436 Test command
28437
28438 * commands/test.c: rewritten to use bash-like test
28439
e4343593 284402009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28441
28442 Parttool autoloading and improvements
28443
7dd4a573 28444 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28445 (parttool.lst): new target
28446 * genmk.rb: generate parttool-*
28447 (CLEANFILES): add #{parttool}
28448 (PARTTOOLFILES): new variable
28449 * genparttoollist.sh: new file
7dd4a573 28450 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28451 (grub_pcpart_type): likewise
28452 * commands/parttool.c (helpmsg): new variable
28453 (grub_cmd_parttool): output help if not enough arguments are supplied
28454 autoload modules
28455 (GRUB_MOD_INIT(parttool)): use helpmsg
28456
0d312500 284572009-04-24 David S. Miller <davem@davemloft.net>
28458
7dd4a573 28459 Avoiding opening same device multiple times in device iterator.
0d312500 28460
28461 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28462 and use it to build a list of partitions in iterate_disk() and
0d312500 28463 iterate_partition().
28464
ac20caff 28465 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28466 on disk->data.
28467
0dcf7495 28468 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28469 grub_devalias_iterate() result instead of unconditional 0.
28470 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28471 Also, capture hook return value, either directly or via
28472 grub_children_iterate(), and propagate to caller.
28473 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28474 grub_children_iterate): Return value is now 'int' instead of
28475 'grub_err_t'.
28476 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28477 like a proper iterator, stopping when hooks return non-zero.
28478 (grub_devalias_iterate): Likewise.
28479
c8c08833 284802009-04-23 David S. Miller <davem@davemloft.net>
28481
28482 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28483
f01005a8 284842009-04-22 David S. Miller <davem@davemloft.net>
28485
28486 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28487 is larger than address_cells, use that value for address_cells too.
28488
4e8269da 28489 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28490 IEEE1275_MAX_PATH_LEN): Define.
28491 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28492 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28493 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28494 'devtype'. Explicitly NULL terminate devalias expansion.
28495
a1447506 28496 * util/sparc64/ieee1275/misc.c: New file.
28497 * util/sparc64/ieee1275/grub-setup.c: New file.
28498 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28499 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28500 * util/sparc64/ieee1275/grub-install.in: New file.
28501 * util/ieee1275/ofpath.c: New file.
28502 * util/ieee1275/devicemap.c: New file.
28503 * util/devicemap.c: New file.
28504 * util/deviceiter.c: New file.
28505 * kern/sparc64/ieee1275/init.c: New file.
28506 * include/grub/util/ofpath.h: New file.
28507 * include/grub/util/deviceiter.h: New file.
28508 * util/grub-mkdevicemap.c: Include deviceiter.h.
28509 Implement using grub_util_emit_devicemap_entry and
28510 grub_util_iterate_devices.
28511 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28512 util/devicemap.c into grub-mkdevicemap
28513 * conf/i386-efi.rmk: Likewise.
28514 * conf/i386-ieee1275.rmk: Likewise.
28515 * conf/i386-pc.rmk: Likewise.
28516 * conf/powerpc-ieee1275.rmk: Likewise.
28517 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28518 images and installation utilities. Build kernel as image
28519 instead of as elf binary. Use common rules as much as possible.
28520
7dd4a573 285212009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28522
28523 Correct GPT definition
28524
7dd4a573 28525 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28526 of "attrib" member
28527
c6c5219f 285282009-04-19 Felix Zielcke <fzielcke@z-51.de>
28529
28530 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28531
0552ff9f 285322009-04-19 David S. Miller <davem@davemloft.net>
28533
28534 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28535 (grub_rescue_cmd_linux): Rename to...
28536 (grub_cmd_linux): and fix prototype.
28537 (grub_rescue_cmd_initrd): Rename to...
28538 (grub_cmd_initrd): and fix prototype.
28539 (cmd_linux, cmd_initrd): New.
28540 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28541 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28542
d1a282fc 285432009-04-17 Pavel Roskin <proski@gnu.org>
28544
07c5039f 28545 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28546 format.
28547 (grub_ohci_transfer): Likewise.
28548
b012002d 28549 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28550
1bc09c35 28551 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28552 return without a value. Fix inconsistent indentation.
28553
e0ff9126 28554 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28555 match struct grub_fs.
28556
d1a282fc 28557 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28558 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28559 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28560 * commands/lspci.c (grub_lspci_iter): Likewise.
28561
a96df3f2 285622009-04-16 Bean <bean123ch@gmail.com>
28563
28564 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28565 value.
28566
41bb0fe9 285672009-04-15 Pavel Roskin <proski@gnu.org>
28568
28569 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28570 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28571 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28572 definitions.
28573
596c6970 285742009-04-15 Felix Zielcke <fzielcke@z-51.de>
28575
28576 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28577 that no multiple data or metadata areas are supported and `Unknown
596c6970 28578 metadata header'.
28579
7dd4a573 285802009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28581
28582 Move loader out of the kernel
28583
28584 * kern/loader.c: moved to ...
28585 * commands/boot.c: ... moved here
28586 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28587 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28588 * include/grub/kernel.h (grub_machine_fini): export
28589 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28590 (grub_loader_set): likewise
28591 (grub_loader_unset): likewise
28592 (grub_loader_boot): likewise
28593 * conf/common.rmk: new module boot.mod
28594 (pkglib_MODULES): add boot.mod
28595 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28596 (grub_emu_SOURCES): likewise
28597 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28598 (grub_emu_SOURCES): likewise
28599 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28600 (grub_emu_SOURCES): likewise
28601 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28602 (grub_emu_SOURCES): likewise
28603 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28604 (grub_emu_SOURCES): likewise
7dd4a573 28605 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28606 (grub_emu_SOURCES): likewise
0d5d5653 28607 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28608 (grub_emu_SOURCES): likewise
0d5d5653 28609
7dd4a573 286102009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28611
28612 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28613
5999d619 28614 * kern/misc.c (grub_itoa): Removed function
28615 (grub_ltoa): likewise
28616 (grub_vsprintf): use grub_lltoa
28617
7dd4a573 286182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28619
28620 Restore grub-emu
28621
28622 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28623 * conf/i386-coreboot.rmk: likewise
28624 * conf/i386-ieee1275.rmk: likewise
28625 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28626
20318222 286272009-04-15 Felix Zielcke <fzielcke@z-51.de>
28628
28629 * INSTALL: Add that `./autogen.sh' needs to be run before
28630 `./configure.'.
28631
d05f0df3 286322009-04-14 Bean <bean123ch@gmail.com>
28633
28634 * Makefile.in (pkglib_DATA): Add handler.lst.
28635 (handler.lst): New rule.
28636
28637 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28638 * conf/i386-coreboot.rmk: Likewise.
28639 * conf/i386-ieee1275.rmk: Likewise.
28640 * conf/i386-efi.rmk: Likewise.
28641 * conf/x86_64-efi.rmk: Likewise.
28642 * conf/powerpc-ieee1275.rmk: Likewise.
28643 * conf/sparc64-ieee1275.rmk: Likewise.
28644
28645 * genhandlerlist.sh: New file.
28646
28647 * genmk.rb: Add rules to generate handler.lst.
28648
28649 * include/grub/normal.h (grub_file_getline): New function definition.
28650 (read_handler_list): Likewise.
28651 (free_handler_list): Likewise.
28652
28653 * include/grub/term.h (grub_term_register_input): Add name parameter
28654 for auto generation of handler.lst.
28655 (grub_term_register_output): Likewise.
28656
28657 * normal/handler.c: New file.
28658
28659 * normal/main.c (get_line): Renamed to grub_file_getline.
28660 (read_config_file): Use the newly renamed grub_file_getline.
28661 (read_command_list): Likewise.
28662 (read_fs_list): Likewise.
28663 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28664 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28665
28666 * term/efi/console.c (grub_console_init): Add name parameter for auto
28667 generation of handler.lst.
28668 * term/gfxterm.c: Likewise.
28669 * term/i386/pc/at_keyboard.c: Likewise.
28670 * term/i386/pc/console.c: Likewise.
28671 * term/i386/pc/serial.c: Likewise.
28672 * term/i386/pc/vesafb.c: Likewise.
28673 * term/i386/pc/vga.c: Likewise.
28674 * term/i386/pc/vga_text.c: Likewise.
28675 * term/ieee1275/ofconsole.c: Likewise.
28676 * term/usb_keyboard.c: Likewise.
28677
33c846be 286782009-04-14 Bean <bean123ch@gmail.com>
28679
28680 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28681 properly with null character.
28682
4484e01e 286832009-04-14 Felix Zielcke <fzielcke@z-51.de>
28684
28685 * configure: Remove.
28686 * config.h.in: Likewise.
f93d668e 28687 * stamp-h.in: Likewise.
4484e01e 28688 * DISTLIST: Likewise.
28689 * conf/common.mk: Likewise.
28690 * conf/i386-coreboot.mk: Likewise.
28691 * conf/i386-efi.mk: Likewise.
28692 * conf/i386-ieee1275.mk: Likewise.
28693 * conf/i386.mk: Likewise.
28694 * conf/i386-pc.mk: Likewise.
28695 * conf/powerpc-ieee1275.mk: Likewise.
28696 * conf/sparc64-ieee1275.mk: Likewise.
28697 * conf/x86_64-efi.mk: Likewise.
28698
28699 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28700 develop on GRUB.
28701
7dd4a573 287022009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28703 David S. Miller <davem@davemloft.net>
28704
28705 * util/hostdisk.c (make_device_name): Fix buffer length
28706 calculations.
28707
e25b5a8c 287082009-04-14 Felix Zielcke <fzielcke@z-51.de>
28709
28710 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28711 <sys/param.h> and <sys/sysctl.h>.
28712 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28713 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28714 opening the device and reset them afterwards.
28715
1f1f580c 287162009-04-13 Pavel Roskin <proski@gnu.org>
28717
28718 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28719 Reported by John Stanley <jpsinthemix@verizon.net>
28720
7ebc2d6b 287212009-04-13 Robert Millan <rmh@aybabtu.com>
28722
28723 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28724 that name for menuentries when appropriate.
7ebc2d6b 28725
d8ba3667 287262009-04-13 Felix Zielcke <fzielcke@z-51.de>
28727
28728 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28729
cba416eb 287302009-04-13 Robert Millan <rmh@aybabtu.com>
28731
28732 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28733 to Linux, simply abort telling the user it's no longer supported.
28734
a547a745 287352009-04-13 Felix Zielcke <fzielcke@z-51.de>
28736
28737 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28738 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28739 `freebsd_loadenv' only when devices.hints exist.
28740
232a769c 287412009-04-13 Pavel Roskin <proski@gnu.org>
28742
28743 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28744
c3012039 287452009-04-13 Felix Zielcke <fzielcke@z-51.de>
28746
28747 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28748 partition number.
28749 (grub_drive): Likewise.
28750
234022fe 287512009-04-13 David S. Miller <davem@davemloft.net>
28752
28753 * kern/sparc64/ieee1275/ieee1275.c: New file.
28754 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28755 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28756 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28757 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28758 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28759 grub_ieee1275_alloc_physmem): Declare new exported functions.
28760
d8e1836c 28761 * include/grub/sparc64/ieee1275/loader.h: New file.
28762 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28763 * include/grub/sparc64/kernel.h: Likewise.
28764 * loader/sparc64/ieee1275/linux.c: Likewise.
28765
96bd81ec 28766 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28767 (grub_fstest_SOURCES): Likewise.
28768
6a4737e5 28769 * util/hostdisk.c (make_device_name): Do not make any assumptions
28770 about the length of drive names.
28771
1d7a72fd 28772 * kern/dl.c (grub_dl_load_file): Close file immediately when
28773 we are done using it.
28774
56bc2471 287752009-04-12 David S. Miller <davem@davemloft.net>
28776
28777 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28778 values. Noticed by Pavel Roskin.
28779
df38d0bb 28780 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28781 target compiler.
7dd4a573 28782
e382e93a 28783 * genmk.rb: Add more flexible image type specification, also
28784 pass --strip-unneeded to objcopy.
28785 * conf/i386-pc.rmk: Use *_FORMAT.
28786 * conf/i386-pc.mk: Rebuilt.
28787
f5dbbca9 28788 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28789 (OFDISK_HASH_SZ): Define.
28790 (ofdisk_hash): New hash table.
28791 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28792 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28793 instead of device phandle which is not unique.
28794
91c88b12 28795 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28796 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28797 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28798 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28799 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28800 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28801 GRUB_KERNEL_MACHINE_DATA_END): Define.
28802 (grub_kernel_image_size, grub_total_module_size): Declare.
28803
5b5d4aa5 288042009-04-12 Pavel Roskin <proski@gnu.org>
28805
7dd4a573 28806 * configure.ac: Change the logic when we check for target tools.
28807 Do it when the target is specified and it's different from the
28808 specified value of the host.
5b5d4aa5 28809
c91e1793 288102009-04-11 Felix Zielcke <fzielcke@z-51.de>
28811
28812 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28813 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28814 GNU/kFreeBSD. Check if a device is a character device. Use
28815 DIOCGMEDIASIZE to get the size.
28816 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28817 support for GNU/kFreeBSD.
28818 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28819 is a character device instead of a block device. Add support for
28820 FreeBSD device names.
28821
28822 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28823 is a character device instead of a block device.
28824
28825 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28826 is a character device instead of a block device.
28827
b1ac8644 288282009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28829
28830 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28831 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28832 FreeBSD. Check if a device is a character device. Use
28833 DIOCGMEDIASIZE to get the size.
28834 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28835 support for FreeBSD.
28836 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28837 is a character device instead of a block device. Add support for
28838 FreeBSD device names.
28839
28840 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28841 a character device instead of a block device.
28842 (grub_util_check_char_device): New function.
28843
28844 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28845 a character device instead of a block device.
28846
28847 * include/grub/util/getroot.h (grub_util_check_char_device): New
28848 prototype.
28849
a3f7515a 288502009-04-11 David S. Miller <davem@davemloft.net>
28851
28852 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28853 static libgcc.
28854 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28855 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28856 function, if present.
28857 (__bswapdi2): Likewise.
28858
0d44993d 28859 * include/grub/sparc64/ieee1275/boot.h: New file.
28860 * boot/sparc64/ieee1275/boot.S: Likewise.
28861 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28862
ed3d2bc2 28863 * kern/misc.c (grub_ltoa): New function.
28864 (grub_vsprintf): Use it to format 'long' integers.
28865
d3bfb59c 288662009-04-10 David S. Miller <davem@davemloft.net>
28867
28868 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28869 slots are of type grub_ieee1275_cell_t.
28870 (grub_nand_read): Likewise.
28871 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28872 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28873 macros are used to compare values in arg/ret block of the call.
28874 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28875 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28876 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28877 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28878 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28879 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28880 grub_ieee1275_close, grub_ieee1275_set_property,
28881 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28882 grub_ieee1275_cell_t.
28883 * kern/ieee1275/openfw.c (grub_map): Likewise.
28884 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28885 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28886
450e2238 28887 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28888 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28889 (grub_devalias_iterate): Likewise.
28890
7dd4a573 288912009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28892
28893 UFS improvements
28894
28895 * fs/ufs.c (INODE_NBLOCKS): new definition
28896 (struct grub_ufs_dirent): added fields for non-BSD dirents
28897 (grub_ufs_get_file_block): fixed double indirect handling
28898 (grub_ufs_lookup_symlink): use more robust way to determine whether
28899 symlink is inline
28900 (grub_ufs_find_file): support for non-BSD dirents
28901 (grub_ufs_dir): support for non-BSD dirents
28902
e7e6862a 289032009-04-10 Bean <bean123ch@gnail.com>
28904
28905 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28906 attribute, otherwise the size would be wrong for i386 platform.
28907
28908 * include/grub/pci.h (grub_pci_read_word): New inline function.
28909 (grub_pci_read_byte): Likewise.
28910 (grub_pci_write): Likewise.
28911 (grub_pci_write_word): Likewise.
28912 (grub_pci_write_byte): Likewise.
28913
28914 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28915
28916 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28917 (find_framebuf): Scan pci to locate the frame buffer address.
28918
28919 * commands/efi/fixvideo.c: New file.
28920
28921 * commands/efi/loadbios.c: Likewise.
28922
28923 * commands/memrw.c: Likewise.
28924
28925 * util/grub-dumpbios.in: Likewise.
28926
28927 * conf/common.rmk (grub-dumpbios): New utility.
28928 (pkglib_MODULES): New module memrw.mod.
28929 (memrw_mod_SOURCE): New macro.
28930 (memrw_mod_CFLAGS): Likewise.
28931 (memrw_mod_LDFLAGS): Likewise.
28932
7dd4a573 28933 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28934 fixvideo.mod.
28935 (loadbios_mod_SOURCE): New macro.
28936 (loadbios_mod_CFLAGS): Likewise.
28937 (loadbios_mod_LDFLAGS): Likewise.
28938 (fixvideo_mod_SOURCE): Likewise.
28939 (fixvideo_mod_CFLAGS): Likewise.
28940 (fixvideo_mod_LDFLAGS): Likewise.
28941
7dd4a573 28942 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28943 fixvideo.mod.
28944 (loadbios_mod_SOURCE): New macro.
28945 (loadbios_mod_CFLAGS): Likewise.
28946 (loadbios_mod_LDFLAGS): Likewise.
28947 (fixvideo_mod_SOURCE): Likewise.
28948 (fixvideo_mod_CFLAGS): Likewise.
28949 (fixvideo_mod_LDFLAGS): Likewise.
28950
af63ada2 289512009-04-08 Felix Zielcke <fzielcke@z-51.de>
28952
28953 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28954
c2cdde70 289552009-04-07 David S. Miller <davem@davemloft.net>
28956
28957 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28958 support for R_SPARC_OLO10 relocations. Fix compile warning for
28959 R_SPARC_WDISP30 case.
ea3f72cf 28960 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28961
761319cf 289622009-04-06 Pavel Roskin <proski@gnu.org>
28963
1007d1f5 28964 * include/grub/misc.h (ARRAY_SIZE): New macro.
28965 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28966 New macro.
28967 * loader/i386/linux.c (allocate_pages): Use free_pages().
28968 (grub_linux_unload): Don't use free_pages().
28969 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28970 wrong index. Treat all other modes as text modes.
28971 (grub_cmd_linux): Initialize vid_mode unconditionally to
28972 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28973
761319cf 28974 * commands/help.c (print_command_help): Use cmd->prio, not
28975 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28976
ea761d40 289772009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28978
ea761d40 28979 Parttool
28980
28981 * parttool/pcpart.c: new file
28982 * commands/parttool.c: likewise
28983 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28984 (parttool_mod_SOURCES): new variable
28985 (parttool_mod_CFLAGS): likewise
28986 (parttool_mod_LDFLAGS): likewise
28987 (pcpart_mod_SOURCES): likewise
28988 (pcpart_mod_CFLAGS): likewise
28989 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28991 and parttool/pcpart.c
28992 * conf/i386-efi.rmk: likewise
28993 * conf/i386-ieee1275.rmk: likewise
28994 * conf/i386-pc.rmk: likewise
28995 * conf/powerpc-ieee1275.rmk: likewise
28996 * conf/sparc64-ieee1275.rmk: likewise
28997 * conf/x86_64-ieee1275.rmk: likewise
28998
05aaebfb 289992009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29000
29001 Support for mtime and further expandability of dir command
29002
29003 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29004 * include/grub/datetime.h: ... moved here and added
05aaebfb 29005 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29006 * include/grub/fs.h: new syntax for dir and mtime functions in
29007 struct grub_fs
05aaebfb 29008 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29009 and GRUB_FSHELP_FLAGS_MASK
29010 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29011 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29012 (grub_ext2_mtime): new function
29013 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29014 (grub_hfsplus_mtime): new function
29015 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29016 (GRUB_UFS_ATTR_FILE): likewise
29017 (GRUB_UFS_ATTR_LNK): likewise
29018 (struct grub_ufs_sblock): new fields mtime
29019 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29020 all users updated
29021 (grub_ufs_dir): mtime support
29022 (grub_ufs_mtime): new function
29023 * fs/affs.c (grub_affs_dir): use new dir syntax
29024 * fs/afs.c (grub_afs_dir): likewise
29025 * fs/cpio.c (grub_cpio_dir): likewise
29026 * fs/fat.c (grub_fat_find_dir): likewise
29027 * fs/hfs.c (grub_hfs_dir): likewise
29028 * fs/iso9660.c (grub_iso9660_dir): likewise
29029 * fs/jfs.c (grub_jfs_dir): likewise
29030 * fs/minix.c (grub_minix_dir): likewise
29031 * fs/ntfs.c (grub_ntfs_dir): likewise
29032 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29033 * fs/sfs.c (grub_sfs_dir): likewise
29034 * fs/xfs.c (grub_xfs_dir): likewise
29035 * util/hostfs.c (grub_hostfs_dir): likewise
29036 * lib/datetime.c: moved to ...
29037 * normal/datetime.c: ... moved here
29038 (grub_unixtime2datetime): new function
29039 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29040 * normal/completion.c (iterate_dir): use new dir syntax
29041 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29042 last modification time of a volume
7dd4a573 29043 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29044 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29046 (normal_mod_SOURCES): likewise
29047 (datetime_mod_SOURCES): Removed lib/datetime.c
29048 * conf/i386-efi.rmk: likewise
7dd4a573 29049 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29050 * conf/i386-pc.rmk: likewise
29051 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29052 * conf/sparc64-ieee1275.rmk: likewise
29053 * conf/x86_64-efi.rmk: likewise
05aaebfb 29054
8a7e1a14 290552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29058
29059 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29060 on grub_fat_find_dir
29061 (grub_fat_find_dir): use grub_fat_iterate_dir
29062 (grub_fat_label): likewise
29063
04186a9c 290642009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29065
7dd4a573 29066 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29067 and command.h
29068 remove extraneous kernel_elf_HEADERS
29069
da4c0bb6 290702009-04-04 Bean <bean123ch@gnail.com>
29071
29072 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29073
29074 * util/misc.c: Likewise.
29075
54ad9555 290762009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29077
29078 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29079 instead of grub_printf.
29080
7a6bf9f2 290812009-04-03 Robert Millan <rmh@aybabtu.com>
29082
29083 * loader/i386/linux.c (grub_linux_setup_video): Fill
29084 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29085 values from `mode info' structure instead of hardcoded
29086 values.
29087
3fcc2083 290882009-04-01 Pavel Roskin <proski@gnu.org>
29089
29090 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29091 unused now.
29092 * genmk.rb: Likewise.
29093 * configure.ac: Likewise.
29094
5ec9740b 290952009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29096
29097 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29098 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29099
5270cec8 291002009-04-01 David S. Miller <davem@davemloft.net>
29101
29102 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29103 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29104 (grub_setjmp): Mark with 'returns_twice' attribute.
29105 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29106 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29107 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29108
9c3dd854 291092009-04-01 Robert Millan <rmh@aybabtu.com>
29110
29111 Reapply fix from 2008-07-28 which was accidentally reverted; also
29112 perform the same fix to a similar check in same function.
29113
29114 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29115 with the same number are found, just use issue a warning with
29116 grub_dprintf(), as this error has been reported to be non-fatal.
29117
0d818b7e 291182009-03-31 Pavel Roskin <proski@gnu.org>
29119
29120 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29121 for cross-compilation.
29122
95646d92 291232009-03-30 Robert Millan <rmh@aybabtu.com>
29124
29125 Fix i386-ieee1275 build.
29126
29127 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29128 Remove declaration.
29129
6a003ed1 291302009-03-30 Pavel Roskin <proski@gnu.org>
29131
29132 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29133 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29134 zero-terminated, rely only on the strlen value. Fix comparison
29135 of strings differing in length.
29136
92f33540 291372009-03-30 Robert Millan <rmh@aybabtu.com>
29138
29139 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29140 checking for abi version. Improve error messages on BIOS to notify
29141 user about `linux16' command.
29142
a8c48fd5 291432009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29144
f968172e 29145 Leak fixes
a8c48fd5 29146
f968172e 29147 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29148 in case of collision
29149 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29150
9c323f09 291512009-03-29 Robert Millan <rmh@aybabtu.com>
29152
29153 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29154 set `vid_mode' accordingly.
29155 (grub_linux_boot): Process `vid_mode' and set video mode.
29156
ae68f423 291572009-03-29 Robert Millan <rmh@aybabtu.com>
29158
29159 * util/grub.d/10_linux.in (linux_entry): New function.
29160 Factorize generation of Linux boot entries.
29161
5709cfc4 291622009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29163
29164 Make the format of Environment Block plain text. The boot loader
29165 part is not tested well yet.
7dd4a573 29166
5709cfc4 29167 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29168 (buffer): Removed.
29169 (envblk): Likewise.
29170 (usage): Remove "info" and "clear". Add "unset". Update the
29171 description of "set", as this does not delete variables any
29172 longer.
29173 (create_envblk_file): Complete rewrite.
29174 (open_envblk_file): Likewise.
29175 (cmd_info): Removed.
29176 (cmd_list): Likewise.
29177 (cmd_set): Likewise.
29178 (cmd_clear): Likewise.
29179 (list_variables): New function.
29180 (write_envblk): Likewise.
29181 (set_variables): Likewise.
29182 (unset_variables): Likewise.
29183 (main): Complete rewrite.
29184
29185 * commands/loadenv.c (buffer): Removed.
29186 (envblk): Likewise.
29187 (open_envblk_file): New function.
29188 (read_envblk_file): Complete rewrite.
29189 (grub_cmd_load_env): Likewise.
29190 (grub_cmd_list_env): Likewise.
29191 (struct blocklist): New struct.
29192 (free_blocklists): New function.
29193 (check_blocklists): Likewise.
29194 (write_blocklists): Likewise.
29195 (grub_cmd_save_env): Complete rewrite.
29196
29197 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29198 a plain text signature.
29199 (GRUB_ENVBLK_MAXLEN): Removed.
29200 (struct grub_envblk): Complete rewrite.
29201 (grub_envblk_find): Removed.
29202 (grub_envblk_insert): Likewise.
29203 (grub_envblk_open): New prototype.
29204 (grub_envblk_set): Likewise.
29205 (grub_envblk_delete): Put const to VALUE.
29206 (grub_envblk_iterate): Put const to NAME and VALUE.
29207 (grub_envblk_close): New prototype.
29208 (grub_envblk_buffer): New inline function.
29209 (grub_envblk_size): Likewise.
29210
29211 * lib/envblk.c: Include grub/mm.h.
29212 (grub_env_find): Removed.
29213 (grub_envblk_open): New function.
29214 (grub_envblk_close): Likewise.
29215 (escaped_value_len): Likewise.
29216 (find_next_line): Likewise.
29217 (grub_envblk_insert): Removed.
29218 (grub_envblk_set): New function.
29219 (grub_envblk_delete): Complete rewrite.
29220 (grub_envblk_iterate): Likewise.
29221
a9368fd3 292222009-03-28 Robert Millan <rmh@aybabtu.com>
29223
29224 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29225 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29226 variables. Use 16-bit loader.
29227 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29228 loader.
29229 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29230 (grub_linux16_boot): ... this. Update all users.
29231 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29232 (grub_linux_boot): ... this. Update all users.
29233
29234 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29235 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29236 commands to `linux16' and `initrd16'.
29237 (GRUB_MOD_FINI(linux)): Rename to ...
29238 (GRUB_MOD_FINI(linux16)): ... this.
29239
e4dd5a7e 292402009-03-24 Pavel Roskin <proski@gnu.org>
29241
29242 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29243 not just for compilation.
29244
c04d6e05 292452009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 Move multiboot helper out of kernel
29248
29249 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29250 `loader/i386/multiboot_helper.S'.
29251 * conf/i386-coreboot.rmk: Likewise
29252 * conf/i386-ieee1275.rmk: Likewise
29253
29254 * kern/i386/loader.S: Move multiboot helpers from here...
29255 * loader/i386/multiboot_helper.S: ...moved here
29256 * include/grub/i386/loader.h: Move declarations of multiboot
29257 helpers from here...
29258 * include/grub/i386/multiboot.h: ...moved here
29259 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29260
42a5b3fc 292612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29262
29263 * kern/env.c (grub_env_context_open): Added an argument to specify
29264 whether a new context inherits exported variables from current
29265 one. This is useful when making a sandbox to interpret a config
29266 file.
29267 All callers updated.
29268
29269 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29270
b28bbc4e 292712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29272
29273 * kern/env.c (grub_env_context_close): Fix memory leaks.
29274
f04f02e4 292752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29276
29277 * normal/main.c (grub_normal_execute): Added an argument
29278 BATCH to specify if an interactive interface should be provided
29279 after reading a config file.
29280 All callers updated.
29281 (read_command_list): Prevent being executed twice.
29282 (read_fs_list): Likewise.
29283
42a5b3fc 29284 * include/grub/normal.h (grub_normal_execute): Updated the
29285 prototype.
f04f02e4 29286
41473ac2 292872009-03-22 Pavel Roskin <proski@gno.org>
29288
fbc00b0c 29289 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29290 _start.
29291 * kern/i386/pc/startup.S: Likewise.
29292 * kern/i386/efi/startup.S: Likewise.
29293 * kern/i386/ieee1275/startup.S: Likewise.
29294 * kern/i386/coreboot/startup.S: Likewise.
29295 * kern/x86_64/efi/startup.S: Likewise.
29296
41473ac2 29297 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29298 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29299 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29300
2274cc8f 293012009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29302
29303 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29304
29305 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29306 limit detection.
29307 Use vaddr of correct segment for entry_point.
29308
b1b797cb 293092009-03-21 Bean <bean123ch@gmail.com>
29310
29311 * commands/blocklist.c: Add include file <grub/command.h>, remove
29312 <grub/normal.h> and <grub/arg.h>.
29313 (grub_cmd_blocklist): Use the new command interface.
29314 (GRUB_MOD_INIT): Likewise.
29315 (GRUB_MOD_FINI): Likewise.
29316 * commands/boot.c: Likewise.
29317 * commands/cat.c: Likewise.
29318 * commands/cmp.c: Likewise.
29319 * commands/configfile.c: Likewise.
29320 * commands/crc.c: Likewise.
29321 * commands/echo.c: Likewise.
29322 * commands/halt.c: Likewise.
29323 * commands/handler.c: Likewise.
29324 * commands/hdparm.c: Likewise.
29325 * commands/help.c: Likewise.
29326 * commands/hexdump.c: Likewise.
29327 * commands/loadenv.c: Likewise.
29328 * commands/ls.c: Likewise.
29329 * commands/lsmmap.c: Likewise.
29330 * commands/lspci.c: Likewise.
29331 * commands/loadenv.c: Likewise.
29332 * commands/read.c: Likewise.
29333 * commands/reboot.c: Likewise.
29334 * commands/search.c: Likewise.
29335 * commands/sleep.c: Likewise.
29336 * commands/test.c: Likewise.
29337 * commands/usbtest.c: Likewise.
29338 * commands/videotest.c: Likewise.
29339 * commands/i386/cpuid.c: Likewise.
29340 * commands/i386/pc/halt.c: Likewise.
29341 * commands/i386/pc/play.c: Likewise.
29342 * commands/i386/pc/pxecmd.c: Likewise.
29343 * commands/i386/pc/vbeinfo.c: Likewise.
29344 * commands/i386/pc/vbetest.c: Likewise.
29345 * commands/ieee1275/suspend.c: Likewise.
29346 * disk/loopback.c: Likewise.
29347 * font/font_cmd.c: Likewise.
29348 * hello/hello.c: Likewise.
29349 * loader/efi/appleloader.c: Likewise.
29350 * loader/efi/chainloader.c: Likewise.
29351 * loader/i386/bsd.c: Likewise.
29352 * loader/i386/efi/linux.c: Likewise.
29353 * loader/i386/ieee1275/linux.c: Likewise.
29354 * loader/i386/linux.c: Likewise.
29355 * loader/i386/pc/chainloader.c: Likewise.
29356 * loader/i386/pc/linux.c: Likewise.
29357 * loader/powerpc/ieee1275/linux.c: Likewise.
29358 * loader/multiboot_loader.c: Likewise.
29359 * term/gfxterm.c: Likewise.
29360 * term/i386/pc/serial.c: Likewise.
29361 * term/terminfo.c: Likewise.
29362
29363 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29364 * term/i386/pc/vga.c: Likewise.
29365 * video/readers/jpeg.c: Likewise.
29366 * video/readers/png.c: Likewise.
29367 * video/readers/tga.c: Likewise.
29368
29369 * util/grub-fstest (cmd_loopback): Removed.
29370 (cmd_blocklist): Likewise.
29371 (cmd_ls): Likewise.
29372 (grub_register_command): Likewise.
29373 (grub_unregister_command): Likewise.
29374 (execute_command): Use grub_command_find to locate command and execute
29375 it.
29376
29377 * include/grub/efi/chainloader.h: Removed.
29378 * loader/efi/chainloader_normal.c: Likewise.
29379 * loader/i386/bsd_normal.c: Likewise.
29380 * loader/i386/pc/chainloader_normal.c: Likewise.
29381 * loader/i386/pc/multiboot_normal.c: Likewise.
29382 * loader/linux_normal.c: Likewise.
29383 * loader/multiboot_loader_normal.c: Likewise.
29384 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29385
29386 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29387 and grub_register_command_p1.
29388
29389 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29390 kern/command.c, lib/arg.c and commands/extcmd.c.
29391 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29392 (minicmd_mod_SOURCES): New variable.
29393 (minicmd_mod_CFLAGS): Likewise.
29394 (minicmd_mod_LDFLAGS): Likewise.
29395 (extcmd_mod_SOURCES): Likewise.
29396 (extcmd_mod_CFLAGS): Likewise.
29397 (extcmd_mod_LDFLAGS): Likewise.
29398 (boot_mod_SOURCES): Removed.
29399 (boot_mod_CFLAGS): Likewise.
29400 (boot_mod_LDFLAGS): Likewise.
29401
29402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29403 kern/corecmd.c.
29404 (kernel_img_HEADERS): Add command.h.
29405 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29406 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29407 and lib/arg.c.
29408 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29409 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29410 remove the corresponding normal mode command.
29411 (normal_mod_SOURCES): Remove normal/arg.c.
29412 * conf/i386-coreboot.rmk: Likewise.
29413 * conf/i386-efi.rmk: Likewise.
29414 * conf/i386-ieee1275.rmk: Likewise.
29415 * conf/powerpc-ieee1275.rmk: Likewise.
29416 * conf/x86_64-efi.rmk: Likewise.
29417
29418 * include/grub/arg.h: Move from here ...
29419 * include/grub/lib/arg.h: ... to here.
29420
29421 * normal/arg.c: Move from here ...
29422 * lib/arg.c: ... to here.
29423
29424 * commands/extcmd.c: New file.
29425 * commands/minicmd.c: Likewise.
29426 * include/grub/command.h: Likewise.
29427 * include/grub/extcmd.h: Likewise.
29428 * kern/command.c: Likewise.
29429 * kern/corecmd.c: Likewise.
29430
29431 * kern/list.c (grub_list_iterate): Return int instead of void.
29432 (grub_list_insert): New function.
29433 (grub_prio_list_insert): Likewise.
29434
29435 * kern/rescue.c (grub_rescue_command): Removed.
29436 (grub_rescue_command_list): Likewise.
29437 (grub_rescue_register_command): Likewise.
29438 (grub_rescue_unregister_command): Likewise.
29439 (grub_rescue_cmd_boot): Move to minicmd.c
29440 (grub_rescue_cmd_help): Likewise.
29441 (grub_rescue_cmd_info): Likewise.
29442 (grub_rescue_cmd_boot): Likewise.
29443 (grub_rescue_cmd_testload): Likewise.
29444 (grub_rescue_cmd_dump): Likewise.
29445 (grub_rescue_cmd_rmmod): Likewise.
29446 (grub_rescue_cmd_lsmod): Likewise.
29447 (grub_rescue_cmd_exit): Likewise.
29448 (grub_rescue_print_devices): Moved to corecmd.c.
29449 (grub_rescue_print_files): Likewise.
29450 (grub_rescue_cmd_ls): Likewise.
29451 (grub_rescue_cmd_insmod): Likewise.
29452 (grub_rescue_cmd_set): Likewise.
29453 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29454 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29455 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29456 commands, remove grub_rescue_register_command calls.
b1b797cb 29457
7d074e3c 29458 * normal/command.c (grub_register_command): Removed.
b1b797cb 29459 (grub_unregister_command): Likewise.
29460 (grub_command_find): Likewise.
29461 (grub_iterate_commands): Likewise.
29462 (rescue_command): Likewise.
29463 (export_command): Moved to corecmd.c.
29464 (set_command): Removed.
29465 (unset_command): Likewise.
29466 (insmod_command): Likewise.
29467 (rmmod_command): Likewise.
29468 (lsmod_command): Likewise.
29469 (grub_command_init): Likewise.
29470
29471 * normal/completion.c (iterate_command): Use cmd->prio to check for
29472 active command.
29473 (complete_arguments): Use grub_extcmd_t structure to find options.
29474 (grub_normal_do_completion): Change function grub_iterate_commands to
29475 grub_command_iterate.
29476
29477 * normal/execute.c (grub_script_execute_cmd): No need to parse
29478 argument here.
29479
29480 * normal/main.c (grub_dyncmd_dispatcher): New function.
29481 (read_command_list): Register unload commands as dyncmd.
29482 (grub_cmd_normal): Use new command interface, register rescue,
29483 unregister normal at entry, register normal, unregister rescue at exit.
29484
29485 * include/grub/list.h (grub_list_test_t): New type.
29486 (grub_list_iterate): Return int instead of void.
29487 (grub_list_insert): New function.
29488 (GRUB_AS_NAMED_LIST_P): New macro.
29489 (GRUB_AS_PRIO_LIST): Likewise.
29490 (GRUB_AS_PRIO_LIST_P): Likewise.
29491 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29492 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29493 (grub_prio_list): New structure.
29494 (grub_prio_list_insert): New function.
29495 (grub_prio_list_remove): New inline function.
29496
29497 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29498 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29499 (GRUB_COMMAND_FLAG_MENU): Likewise.
29500 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29501 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29502 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29503 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29504 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29505 (grub_command): Likewise.
29506 (grub_register_command): Likewise.
29507 (grub_command_find): Likewise.
29508 (grub_iterate_commands): Likewise.
29509 (grub_command_init): Likewise.
29510 (grub_arg_parse): Likewise.
29511 (grub_arg_show_help): Likewise.
29512
29513 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29514 (grub_rescue_unregister_command): Likewise.
29515
29516 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29517 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29518 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29519
29520 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29521 grub_rescue_cmd_initrd.
29522 * include/grub/i386/loader.h: Likewise.
29523 * include/grub/x86_64/loader.h: Likewise.
29524
29525 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29526
1f4147aa 295272009-03-21 Bean <bean123ch@gmail.com>
29528
29529 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29530 instead of stat in mingw environment.
29531
29532 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29533
29534 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29535
29536 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29537 AC_CONFIG_LINKS.
29538
2156d5ba 295392009-03-21 Bean <bean123ch@gmail.com>
29540
29541 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29542 out of range error.
29543
177b82ca 295442009-03-18 Michel Dänzer <michel@daenzer.net>
29545
29546 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29547 checking inode flags for EXT4_EXTENTS_FLAG.
29548
14aad807 295492009-03-18 Robert Millan <rmh@aybabtu.com>
29550
29551 * loader/i386/linux.c: Include `<grub/video.h>' and
29552 `<grub/i386/pc/vbe.h>'..
29553 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29554 (grub_linux32_boot): Attempt to configure video settings with
29555 grub_linux_setup_video().
29556 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29557 to avoid grub_console_fini() which would step out of graphical mode
29558 unconditionally.
29559
8cf83a27 295602009-03-14 Robert Millan <rmh@aybabtu.com>
29561
29562 Fix build on powerpc.
29563 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29564
40164e75 295652009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29568 background image command.
29569
c58bc32a 295702009-03-12 Colin D Bennett <colin@gibibit.com>
29571
29572 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29573 (grub_gfxterm_putchar): Extract pairs of identical calls to
29574 draw_cursor out of conditional blocks.
29575
5415144a 295762009-03-11 Pavel Roskin <proski@gnu.org>
29577
29578 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29579 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29580
6394042e 295812009-03-11 Robert Millan <rmh@aybabtu.com>
29582
29583 * loader/i386/multiboot_elfxx.c
29584 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29585
b7b50e5f 295862009-03-11 Felix Zielcke <fzielcke@z-51.de>
29587
29588 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29589 `kern/handler.c'.
29590
1ca7fc96 295912009-03-11 Robert Millan <rmh@aybabtu.com>
29592
29593 * loader/i386/multiboot.c (code_size): New variable.
29594 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29595 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29596 4-byte alignment to MBI and others by increasing
7d074e3c 29597 `boot_loader_name_length' appropriately.
1ca7fc96 29598
29599 * loader/i386/multiboot_elfxx.c
29600 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29601
a83ea1d2 296022009-03-09 Felix Zielcke <fzielcke@z-51.de>
29603
29604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29605 `fs/ext2.c'.
29606
aa9f3bff 296072009-03-08 Robert Millan <rmh@aybabtu.com>
29608
29609 Make loader/i386/linux.c usable on i386-pc again.
29610
29611 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29612 memory to heap.
29613 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29614 `#error' stanza.
29615
d8b3b60e 296162009-03-07 Bean <bean123ch@gmail.com>
29617
29618 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29619 allocation.
29620
b362c9e9 296212009-03-06 Robert Millan <rmh@aybabtu.com>
29622
29623 Fix display issue on terminals with screen size other than 80x25
29624 (e.g. gfxterm with resolution higher than 640x480).
29625
29626 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29627 position relative to the center of the terminal instead of relying
b362c9e9 29628 on a hardcoded offset.
29629
9304eef1 296302009-03-04 Robert Millan <rmh@aybabtu.com>
29631
29632 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29633 installed.
29634
29635 * Makefile.in (host_kernel): New variable.
29636 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29637 scripts instead of just the windows one.
29638 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29639
eabc95fb 296402009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29641
29642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29643 `kern/handler.c'.
29644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29645 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29648 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29650
ceb1223c 296512009-03-04 Felix Zielcke <fzielcke@z-51.de>
29652
29653 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29654 or if there's no space for the disk label and print the partition number on a
29655 invalid magic.
29656
4910684a 296572009-03-04 Felix Zielcke <fzielcke@z-51.de>
29658
29659 * util/misc.c: Include <time.h>.
29660 (grub_millisleep): New function.
29661
7e9ca17a 296622009-03-04 Bean <bean123ch@gmail.com>
29663
29664 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29665 another option -mno-red-zone.
29666
29667 * commands/handler.c: Change module description.
29668
29669 * kern/handler.c: Add missing space at the end of description line.
29670
29671 * kern/list.c: Likewise.
29672
f501677c 296732009-03-03 Robert Millan <rmh@aybabtu.com>
29674
29675 Move more components to the relocation area, and fix mbi pointer
29676 handling to use the destination rather than the origin (thanks to
29677 Vladimir Serbinenko for spotting).
29678
29679 * loader/i386/multiboot.c (mbi_dest): New variable.
29680 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29681 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29682 relocation area.
29683
9902d047 296842009-03-01 Bean <bean123ch@gmail.com>
29685
50fb7002 29686 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29687 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29688 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29689 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29690
29691 * loader/i386/efi/linux.c (acpi_guid): New variable.
29692 (acpi_guid): Likewise.
29693 (EBDA_SEG_ADDR): New constant.
29694 (LOW_MEM_ADDR): Likewise.
29695 (FAKE_EBDA_SEG): Likewise.
29696 (fake_bios_data): New function.
29697 (grub_linux_boot): Call fake_bios_data.
29698
71b9f361 296992009-03-01 Bean <bean123ch@gmail.com>
29700
29701 * commands/terminal.c: Removed.
29702
29703 * commands/handler.c: New file.
29704
29705 * include/grub/list.h: Likewise.
29706
29707 * include/grub/handler.h: Likewise.
29708
29709 * kern/list.c: Likewise.
29710
29711 * kern/handler.c: Likewise.
29712
29713 * kern/term.h: Include header file <grub/handler.h>.
29714 (grub_term_input): Move next field to the beginning.
29715 (grub_term_output): Likewise.
29716 (grub_term_input_class): New variable.
29717 (grub_term_output_class): Likewise.
29718 (grub_term_register_input): Changed to inline function.
29719 (grub_term_register_output): Likewise.
29720 (grub_term_unregister_input): Likewise.
29721 (grub_term_unregister_output): Likewise.
29722 (grub_term_set_current_input): Likewise.
29723 (grub_term_set_current_output): Likewise.
29724 (grub_term_get_current_input): Likewise.
29725 (grub_term_get_current_output): Likewise.
29726 (grub_term_iterate_input): Removed.
29727 (grub_term_iterate_output): Likewise.
29728
29729 * kern/term.c (grub_term_list_input): Removed.
29730 (grub_term_list_output): Likewise.
29731 (grub_term_input_class): New variable.
29732 (grub_term_output_class): Likewise.
50fb7002 29733 (grub_cur_term_input): Change variable as macro.
71b9f361 29734 (grub_cur_term_output): Likewise.
29735 (grub_term_register_input): Removed.
29736 (grub_term_register_output): Likewise.
29737 (grub_term_unregister_input): Likewise.
29738 (grub_term_unregister_output): Likewise.
29739 (grub_term_set_current_input): Likewise.
29740 (grub_term_set_current_output): Likewise.
29741 (grub_term_iterate_input): Likewise.
29742 (grub_term_iterate_output): Likewise.
29743 (grub_term_get_current_input): Likewise.
29744 (grub_term_get_current_output): Likewise.
29745
29746 * util/grub-editenv.c: Include header file <grub/handler.h>.
29747 (grub_term_get_current_input): Removed.
29748 (grub_term_get_current_output): Likewise.
29749 (grub_term_input_class): New variable.
50fb7002 29750 (grub_term_output_class): Likewise.
71b9f361 29751
29752 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29753 (grub_term_get_current_output): Likewise.
29754 (grub_term_input_class): New variable.
50fb7002 29755 (grub_term_output_class): Likewise.
71b9f361 29756
29757 * util/grub-probe.c (grub_term_get_current_input): Removed.
29758 (grub_term_get_current_output): Likewise.
29759 (grub_term_input_class): New variable.
50fb7002 29760 (grub_term_output_class): Likewise.
71b9f361 29761
29762 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29763 (grub_term_get_current_output): Likewise.
29764 (grub_term_input_class): New variable.
50fb7002 29765 (grub_term_output_class): Likewise.
71b9f361 29766
29767 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29768 (terminal_mod_SOURCES): Likewise.
29769 (terminal_mod_CFLAGS): Likewise.
29770 (terminal_mod_LDFLAGS): Likewise.
29771
29772 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29773 handler.c.
29774 (kernel_img_SOURCES): Add list.c and handler.c.
29775 (kernel_img_HEADERS): Add list.h and handler.h.
29776
29777 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29778 handler.c.
29779 (kernel_mod_SOURCES): Add list.c and handler.c.
29780 (kernel_mod_HEADERS): Add list.h and handler.h.
29781
29782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29783 handler.c.
29784 (kernel_elf_SOURCES): Add list.c and handler.c.
29785 (kernel_elf_HEADERS): Add list.h and handler.h.
29786
29787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29788 handler.c.
29789 (kernel_elf_SOURCES): Add list.c and handler.c.
29790 (kernel_elf_HEADERS): Add list.h and handler.h.
29791
29792 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29793 handler.c.
29794 (kernel_mod_SOURCES): Add list.c and handler.c.
29795 (kernel_mod_HEADERS): Add list.h and handler.h.
29796
29797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29798 handler.c.
29799 (kernel_elf_SOURCES): Add list.c and handler.c.
29800 (kernel_elf_HEADERS): Add list.h and handler.h.
29801
8a31787f 298022009-02-27 Robert Millan <rmh@aybabtu.com>
29803
29804 Factorize elf32 / elf64 code in Multiboot loader. This will
29805 prevent it from getting out of sync again.
29806
29807 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29808 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29809 grub_multiboot_load_elf64): Move from here ...
29810 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29811 grub_multiboot_load_elf): ... to here (new file).
29812
51cd3dfc 298132009-02-27 Robert Millan <rmh@aybabtu.com>
29814
29815 * util/grub.d/10_linux.in: Rename "single-user mode" to
29816 "recovery mode".
29817
6e8c9c3a 298182009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29819
29820 Don't leak in SCSI code.
29821 * disk/scsi.c (grub_scsi_close): free `scsi'.
29822
4b6bf4f9 298232009-02-27 Robert Millan <rmh@aybabtu.com>
29824
29825 * loader/i386/pc/multiboot.c: Move from here ...
29826 * loader/i386/multiboot.c: ... to here. Update all users.
29827
b9413424 298282009-02-27 Robert Millan <rmh@aybabtu.com>
29829
29830 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29831 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29832
50fb7002 298332009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29834
29835 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29836 b-tree.
29837
8cc50345 298382009-02-27 Robert Millan <rmh@aybabtu.com>
29839
29840 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29841 `0x' qualifier as 0 when base is specified as parameter).
29842
6e09b8b7 298432009-02-24 Bean <bean123ch@gmail.com>
29844
29845 * configure.ac: Check for -mcmodel=large in x86_64 target.
29846
29847 * include/grub/efi/api.h (efi_call_10): New macro.
29848 (efi_wrap_10): New function.
29849
29850 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29851 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29852 (GRUB_PE32_REL_BASED_LOW): Likewise.
29853 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29854 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29855 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29856 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29857 (GRUB_PE32_REL_BASED_REL): Likewise.
29858 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29859 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29860 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29861
29862 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29863 issue.
29864
29865 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29866 (efi_wrap_10): New function.
29867
29868 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29869
29870 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29871 MB/MBP model (NV chipset).
29872 (devdata_devs): Add devpath_5 to the list.
29873
29874 * load/i386/efi/linux.c (video_base): Remove variable.
29875 (RGB_MASK): New macro.
29876 (RGB_MAGIC): Likewise.
29877 (LINE_MIN): Likewise.
29878 (LINE_MAX): Likewise.
29879 (FBTEST_STEP): Likewise.
29880 (FBTEST_COUNT): Likewise.
29881 (fb_list): New variable.
29882 (grub_find_video_card): Remove function.
29883 (find_framebuf): New function.
29884 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29885 line length.
29886
29887 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29888 problem for x86_64.
29889
74b21bee 298902009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29891
29892 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29893
29894 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29895 coding tool name.
29896
a455f472 298972009-02-22 Robert Millan <rmh@aybabtu.com>
29898
29899 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29900 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29901 in our relocation, instead of using it directly from heap. Also
29902 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29903
6374daf3 299042009-02-21 Robert Millan <rmh@aybabtu.com>
29905
29906 Implement USB keyboard support (based on patch by Marco Gerards)
29907
29908 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29909 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29910 (usb_keyboard_mod_LDFLAGS): New variables.
29911
29912 * term/usb_keyboard.c: New file.
29913
8fa4ea70 299142009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29915
29916 Corrected wrong declaration
29917
29918 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29919
353976ac 299202009-02-14 Christian Franke <franke@computer.org>
29921
29922 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29923 (grub_lspci_iter): Print class code and programming interface byte.
29924
6aa1169b 299252009-02-14 Christian Franke <franke@computer.org>
29926
29927 * gendistlist.sh: Ignore `.svn' directories.
29928
265372ca 299292009-02-14 Felix Zielcke <fzielcke@z-51.de>
29930
29931 * fs/fat.c: Add 2009 to Copyright line.
29932
9ff516f3 299332009-02-14 Christian Franke <franke@computer.org>
29934
29935 * commands/hdparm.c: New file. Provides `hdparm' command
29936 which sends ATA commands via grub_disk_ata_pass_through ().
29937
29938 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29939
29940 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29941 and <grub/cpu/io.h> to include/grub/ata.h.
29942 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29943 (GRUB_CDROM_SECTOR_SIZE): Remove.
29944 (GRUB_ATA_*): Move to include/grub/ata.h.
29945 (GRUB_ATAPI_*): Likewise.
29946 (enum grub_ata_commands): Likewise.
29947 (enum grub_ata_timeout_milliseconds): Likewise.
29948 (struct grub_ata_device): Likewise.
29949 (grub_ata_regset): Likewise.
29950 (grub_ata_regget): Likewise.
29951 (grub_ata_regset2): Likewise.
29952 (grub_ata_regget2): Likewise.
29953 (grub_ata_check_ready): Likewise.
29954 (grub_ata_wait_not_busy): Remove static, exported in
29955 include/grub/ata.h.
29956 (grub_ata_wait_drq): Likewise.
29957 (grub_ata_pio_read): Likewise.
29958
29959 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29960 function for hdparm.mod.
29961
29962 * include/grub/ata.h: New file, contains declarations from
29963 disk/ata.c.
29964 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29965
29966 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29967 (grub_disk_ata_pass_through): New exported variable.
29968
29969 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29970
772e23da 299712009-02-13 Colin D Bennett <colin@gibibit.com>
29972
29973 Support multiple fallback entries, and provide an API to support
29974 executing default+fallback menu entries. Renamed the `terminal' menu
29975 viewer to `text'.
29976
29977 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29978 variable declaration.
29979 (grub_menu_execute_callback): New structure declaration.
29980 (grub_menu_execute_callback_t): New typedef.
29981 (grub_menu_execute_with_fallback): New function declaration.
29982 (grub_menu_get_entry): Likewise.
29983 (grub_menu_get_timeout): Likewise.
29984 (grub_menu_set_timeout): Likewise.
29985
29986 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29987
29988 * normal/menu.c (grub_wait_after_message): Moved to
29989 `normal/menu_text.c'.
29990 (draw_border): Likewise.
29991 (print_message): Likewise.
29992 (print_entry): Likewise.
29993 (print_entries): Likewise.
29994 (grub_menu_init_page): Likewise.
29995 (get_entry_number): Likewise.
29996 (print_timeout): Likewise.
29997 (run_menu): Likewise.
29998 (grub_menu_execute_entry): Likewise.
29999 (show_text_menu): Likewise.
30000 (get_and_remove_first_entry_number): New function.
30001 (grub_menu_execute_with_fallback): Likewise.
30002 (get_entry): Renamed to ...
30003 (grub_menu_get_entry): .. this and made it global.
30004 (get_timeout): Renamed to ...
30005 (grub_menu_get_timeout): ... this and made it global.
30006 (set_timeout): Renamed to ...
30007 (grub_menu_set_timeout): ... this and made it global.
30008 (grub_normal_terminal_menu_viewer): Renamed to ...
30009 (grub_normal_text_menu_viewer): ... this.
30010
30011 * normal/menu_text.c: New file. Extracted text-menu-specific code
30012 from normal/menu.c.
30013
30014 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30015 (normal_mod_SOURCES): Likewise.
30016
30017 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30018 (normal_mod_SOURCES): Likewise.
30019
30020 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30021 (normal_mod_SOURCES): Likewise.
30022
30023 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30024 (normal_mod_SOURCES): Likewise.
30025
30026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30027 (normal_mod_SOURCES): Likewise.
30028
30029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30030 (normal_mod_SOURCES): Likewise.
30031
30032 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30033 (normal_mod_SOURCES): Likewise.
30034
16ac430e 300352009-02-11 Robert Millan <rmh@aybabtu.com>
30036
30037 * util/grub.d/00_header.in: Update old reference to `font' command.
30038
06ff20fc 300392009-02-10 Felix Zielcke <fzielcke@z-51.de>
30040
30041 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30042
30043 Based on patch from Javier Martín.
30044
96da9407 300452009-02-09 Felix Zielcke <fzielcke@z-51.de>
30046
30047 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30048 to avoid false positives with FAT.
96da9407 30049 (grub_fstest_SOURCES): Likewise.
30050 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30051 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30054 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30055 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30056
6dca6fe4 300572009-02-09 Felix Zielcke <fzielcke@z-51.de>
30058
06ff20fc 30059 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30060 bpb.version_specific.fat12_or_fat16.fstype and
30061 bpb.version_specific.fat32.fstype.
30062
2550c62f 300632009-02-08 Robert Millan <rmh@aybabtu.com>
30064
be110b30 30065 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30066
56978920 300672009-02-08 Robert Millan <rmh@aybabtu.com>
30068
30069 * Makefile.in (host_os, host_cpu): New variables.
30070 (target_os): Remove. Update all users.
30071
d64399b5 300722009-02-08 Marco Gerards <marco@gnu.org>
30073
30074 * Makefile.in (enable_grub_emu_usb): New variable.
30075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30076 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30077 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30078 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30079 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30080 `usbtest.mod' and `usbms.mod'.
30081 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30082 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30083 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30084 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30085 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30086 variables.
30087
30088 * disk/usbms.c: New file.
30089
30090 * include/grub/usb.h: Likewise.
30091
30092 * include/grub/usbtrans.h: Likewise.
30093
30094 * include/grub/usbdesc.h: Likewise.
30095
30096 * bus/usb/usbtrans.c: Likewise.
30097
30098 * bus/usb/ohci.c: Likewise.
30099
30100 * bus/usb/uhci.c: Likewise.
30101
30102 * bus/usb/usbhub.c: Likewise.
30103
30104 * bus/usb/usb.c: Likewise.
30105
30106 * commands/usbtest.c: Likewise.
30107
30108 * util/usb.c: Likewise.
50fb7002 30109
d64399b5 30110 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30111
30112 * configure.ac: Test for libusb presence.
50fb7002 30113
d64399b5 30114 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30115
2b40d6bb 301162009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30117
30118 * kern/mm.c: Add more comments.
30119
73a4ce81 301202009-02-08 Robert Millan <rmh@aybabtu.com>
30121
30122 Patch from Javier Martín.
30123 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30124 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30125
f821ce59 301262009-02-08 Robert Millan <rmh@aybabtu.com>
30127
30128 * fs/cpio.c: Split tar functionality to ...
30129 * fs/tar.c: ... here (new file). Update all users.
30130
aebfc4b0 301312009-02-07 Robert Millan <rmh@aybabtu.com>
30132
30133 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30134 backward-incompatible features.
30135
30136 Based on patch from Javier Martín, with some adjustments.
30137
50fb7002 301382009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30139
30140 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30141
0bb5115e 301422009-02-07 Robert Millan <rmh@aybabtu.com>
30143
30144 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30145 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30146 after the RAID stuff.
30147
38a0f8e7 301482009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30149
50fb7002 30150 Fixes problem when running vbetest command as reported by
38a0f8e7 30151 Vladimir Serbinenko <phcoder@gmail.com>.
30152
30153 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30154
3143cc1c 301552009-02-04 Felix Zielcke <fzielcke@z-51.de>
30156
30157 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30158 /dev/md/NpN style mdraid devices.
30159
9cba6fce 301602009-02-03 Felix Zielcke <fzielcke@z-51.de>
30161
30162 * util/unifont2pff.rb: Remove.
30163
e507a2c1 301642009-02-03 Felix Zielcke <fzielcke@z-51.de>
30165
30166 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30167 `#'.
30168
d2c2b4cd 301692009-02-03 Felix Zielcke <fzielcke@z-51.de>
30170
30171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30172 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30173 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30176 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30178
b4315fb0 301792009-02-02 Christian Franke <franke@computer.org>
30180
30181 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30182
de3aa260 301832009-02-01 Felix Zielcke <fzielcke@z-51.de>
30184
7c3ff286 30185 * INSTALL: Note that we now require at least autoconf 2.59 and
30186 that LZO is optional.
de3aa260 30187
825a182b 301882009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30189
30190 Base on patch on bug #24154 created by Tomas Tintera
30191 <trosos@seznam.cz>.
30192
30193 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30194
a69ef770 301952009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30196
7c3ff286 30197 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30198 <bero@arklinux.org>.
30199
30200 * normal/parser.y (script_init): Add missing semicolon.
30201
6fa42fa6 302022009-01-31 Colin D Bennett <colin@gibibit.com>
30203
7c3ff286 30204 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30205 (free_menu_entry_classes): Added.
30206 (grub_normal_menu_addentry): Added class property handling.
30207 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30208 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30209
30210 * normal/menu_viewer.c: New file.
30211
30212 * normal/menu.c (run_menu_entry): Renamed to ...
30213 (grub_menu_execute_entry): ... this and made it as global.
30214 (grub_menu_run): Renamed to ...
30215 (show_text_menu): ... this and made it local.
30216 (show_text_menu): Adapt to new function names.
30217 (grub_normal_terminal_menu_viewer): New global variable.
30218
30219 * include/grub/menu.h: New file.
30220
30221 * include/grub/menu_viewer.h: New file.
30222
30223 * include/grub/normal.h: Added include to grub/menu.h.
30224 (grub_menu_entry): Moved to include/grub/menu.h.
30225 (grub_menu_entry_t): Likewise.
30226 (grub_menu): Likewise.
30227 (grub_menu_t): Likewise.
30228 (grub_normal_terminal_menu_viewer): Added.
30229 (grub_menu_execute_entry): Likewise.
30230 (grub_menu_run): Removed.
30231
30232 * DISTLIST: Added include/grub/menu.h.
30233 Added include/grub/menu_viewer.h.
30234 Added normal/menu_viewer.c.
30235
302362009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30237
30238 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30239 arglist for menutitle arguments.
30240
30241 * normal/main.c (grub_normal_menu_addentry): Likewise.
30242
30243 * normal/parser.y (menuentry): Likewise.
30244
30245 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30246
30247 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30248 (grub_script_create_cmdmenu): Likewise.
30249
30250 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30251
30252 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30253 changes.
30254
30255 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30256
30257 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30258
30259 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30260
30261 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30262
30263 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30264
30265 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30266
56192c23 302672009-01-30 Christian Franke <franke@computer.org>
30268
30269 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30270 in option help text.
30271
d72521b3 302722009-01-27 Pavel Roskin <proski@gnu.org>
30273
30274 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30275
994b5e84 302762009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30277
30278 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30279
30280 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30281
30282 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30283 unregister function.
30284
6a7eab2c 302852009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30286
30287 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30288
30289 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30290
30291 * util/grub-mkfont.c (usage): Fix typo.
30292
30293 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30294
1806b56e 302952009-01-26 Daniel Mierswa <impulze@impulze.org>
30296
3fb18f09 30297 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30298
336e1fb9 30299 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30300
1806b56e 30301 * kern/misc.c (grub_strcasecmp): New function.
30302 (grub_strcasecmp): Use grub_size_t instead of int for length.
30303 Fix return value.
30304 * include/grub/misc.h: Update function prototypes.
30305
580b2a0f 303062009-01-26 Robert Millan <rmh@aybabtu.com>
30307
30308 * configure.ac: Fix cross-compilation check.
ef257b36 30309
d31c24f1 303102009-01-22 Christian Franke <franke@computer.org>
30311
30312 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30313 (precision) digit string. Allow `.format2' without `format1' (width).
30314 Limit input chars for `%s' output to `format2' if specified. This is
30315 compatible with standard printf ().
30316
3138b44c 303172009-01-22 Christian Franke <franke@computer.org>
30318
30319 * disk/ata.c (grub_ata_wait_status): Replace by ...
30320 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30321 other status bits may be invalid while BSY is asserted.
30322 (grub_ata_check_ready): New function.
30323 (grub_ata_cmd): Removed.
30324 (grub_ata_wait_drq): New function.
30325 (grub_ata_strncpy): Remove inline.
30326 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30327 and error check now done by grub_ata_wait_drq ().
30328 (grub_ata_pio_write): Likewise.
30329 (grub_atapi_identify): Set DEV before check for !BSY. Use
30330 grub_ata_wait_drq () to wait for data.
30331 (grub_ata_device_initialize): Add status register check to
30332 detect missing SATA slave devices. Add debug messages.
30333 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30334 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30335 transfer loop by grub_ata_pio_write ().
30336 (grub_ata_identify): Set DEV before check for !BSY. Use
30337 grub_ata_wait_drq () to wait for data.
ef257b36 30338 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30339 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30340 read/write in one loop. Fix invalid command on write. Fix incomplete
30341 command on (size % batch) == 0. Add missing error check after write of
30342 last block. Add debug messages.
30343 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30344
59a64ef6 303452009-01-19 Christian Franke <franke@computer.org>
30346
30347 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30348 (GRUB_ATAPI_IREASON_*): Likewise.
30349 (grub_ata_pio_write): Fix timeout error return.
30350 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30351 (grub_atapi_wait_drq): New function.
30352 (grub_atapi_packet): New parameter `size'.
30353 Use grub_atapi_wait_drq () and direct write instead of
30354 grub_ata_pio_write ().
30355 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30356 reads the number of bytes requested by the device for each DRQ
30357 assertion.
30358 (grub_atapi_write): Remove old implementation, return not
30359 implemented instead.
30360
1cfe20b3 303612009-01-19 Christian Franke <franke@computer.org>
30362
30363 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30364 of 512 to calculate data size.
30365 (grub_scsi_read12): Likewise.
30366 (grub_scsi_write10): Likewise.
30367 (grub_scsi_write12): Likewise.
30368 (grub_scsi_read): Adjust size according to blocksize.
30369 Add checks for invalid blocksize and unaligned transfer.
30370
bee5fe5d 303712009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30372
30373 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30374
ef257b36 30375 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30376 width glyphs.
30377
3e643f8c 303782009-01-19 Robert Millan <rmh@aybabtu.com>
30379
30380 * config.guess: Update to latest version from config git.
30381 * config.sub: Likewise.
30382
4fa80998 303832009-01-17 Felix Zielcke <fzielcke@z-51.de>
30384
30385 * Makefile.in: Change font compilation to use new grub-mkfont instead
30386 of java version.
30387
30388 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30389 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30390 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30391 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30392 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30393 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30394 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30395 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30396 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30397
7086085b 303982009-01-16 Christian Franke <franke@computer.org>
30399
30400 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30401 (enum grub_ata_timeout_milliseconds): New enum.
30402 (grub_ata_wait_status): Add parameter milliseconds.
30403 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30404 recovery from timed-out commands.
30405 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30406 return grub_errno instead of REG_ERROR.
30407 (grub_ata_pio_write): Add parameter milliseconds.
30408 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30409 Pass milliseconds to grub_ata_wait_status () and
30410 grub_ata_pio_read ().
30411 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30412 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30413 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30414 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30415 It is not suitable for device detection, because DEV bit is ignored,
30416 the command may run too long, and not all devices set the signature
30417 properly.
30418 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30419 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30420 Fix device selection, DEV bit must be set first to address the registers
30421 of the correct device.
30422 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30423 grub_ata_pio_read/write ().
30424 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30425 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30426
4a412913 304272009-01-13 Carles Pina i Estany <carles@pina.cat>
30428
30429 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30430
7795c55e 304312009-01-13 Bean <bean123ch@gmail.com>
d913988c 30432
30433 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30434
7795c55e 304352009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30436
30437 * Makefile.in: (enable_grub_mkfont): New variable.
30438 (freetype_cflags): Likewise.
30439 (freetype_libs): Likewise.
30440
30441 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30442 (grub_mkfont_SOURCES): New variable.
30443 (grub_mkfont_CFLAGS): Likewise.
30444 (grub_mkfont_LDFLAGS): Likewise.
30445
30446 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30447 library if `--enable-grub-mkfont' is requested.
30448 (enable_grub_mkfont): New variable.
30449 (freetype_cflags): Likewise.
30450 (freetype_libs): Likewise.
30451
30452 * util/grub-mkfont.c: New file.
30453
093af1fe 304542009-01-12 Christian Franke <franke@computer.org>
30455
30456 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30457 mode check. Fix setting of compat_use[].
30458
f36cc108 304592009-01-10 Robert Millan <rmh@aybabtu.com>
30460
30461 Update a few copyright years which we forgot to do in 2008 (only for
30462 files whose changes made in 2008 were copyright-significant)
30463
30464 * Makefile.in: Add 2008 to Copyright line.
30465 * disk/ieee1275/ofdisk.c: Likewise.
30466 * disk/efi/efidisk.c: Likewise.
30467 * kern/dl.c: Likewise.
30468 * kern/sparc64/ieee1275/init.c: Likewise.
30469 * kern/mm.c: Likewise.
30470 * kern/efi/mm.c: Likewise.
30471 * boot/i386/pc/boot.S: Likewise.
30472 * genfslist.sh: Likewise.
30473 * fs/iso9660.c: Likewise.
30474 * fs/hfs.c: Likewise.
30475 * fs/jfs.c: Likewise.
30476 * fs/minix.c: Likewise.
30477 * fs/ufs.c: Likewise.
30478 * gensymlist.sh.in: Likewise.
30479 * genkernsyms.sh.in: Likewise.
30480 * include/grub/misc.h: Likewise.
30481 * include/grub/types.h: Likewise.
30482 * include/grub/symbol.h: Likewise.
30483 * include/grub/elf.h: Likewise.
30484 * include/grub/kernel.h: Likewise.
30485 * include/grub/disk.h: Likewise.
30486 * include/grub/dl.h: Likewise.
30487 * include/grub/i386/linux.h: Likewise.
30488 * include/grub/i386/pc/biosdisk.h: Likewise.
30489 * include/grub/efi/api.h: Likewise.
30490 * include/grub/efi/pe32.h: Likewise.
30491 * include/grub/util/misc.h: Likewise.
30492 * normal/execute.c: Likewise.
30493 * normal/arg.c: Likewise.
30494 * normal/completion.c: Likewise.
30495 * normal/lexer.c: Likewise.
30496 * normal/parser.y: Likewise.
30497 * normal/misc.c: Likewise.
30498 * commands/i386/pc/vbeinfo.c: Likewise.
30499 * commands/hexdump.c: Likewise.
30500 * commands/terminal.c: Likewise.
30501 * commands/ls.c: Likewise.
30502 * commands/help.c: Likewise.
30503 * partmap/pc.c: Likewise.
30504 * loader/efi/chainloader.c: Likewise.
30505 * loader/multiboot_loader.c: Likewise.
30506 * loader/i386/pc/multiboot2.c: Likewise.
30507 * term/efi/console.c: Likewise.
30508 * term/i386/pc/serial.c: Likewise.
30509 * util/lvm.c: Likewise.
30510 * util/console.c: Likewise.
30511 * util/i386/efi/grub-mkimage.c: Likewise.
30512 * util/raid.c: Likewise.
30513
7f02114b 305142009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30515
30516 * commands/videotest.c: Removed include to grub/machine/memory.h.
30517
30518 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30519 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30520 (video_mod_SOURCES): Removed.
30521 (video_mod_CFLAGS): Likewise.
30522 (video_mod_LDFLAGS): Likewise.
30523 (gfxterm_mod_SOURCES): Likewise.
30524 (gfxterm_mod_CFLAGS): Likewise.
30525 (gfxterm_mod_LDFLAGS): Likewise.
30526 (videotest_mod_SOURCES): Likewise.
30527 (videotest_mod_CFLAGS): Likewise.
30528 (videotest_mod_LDFLAGS): Likewise.
30529 (bitmap_mod_SOURCES): Likewise.
30530 (bitmap_mod_CFLAGS): Likewise.
30531 (bitmap_mod_LDFLAGS): Likewise.
30532 (tga_mod_SOURCES): Likewise.
30533 (tga_mod_CFLAGS): Likewise.
30534 (tga_mod_LDFLAGS): Likewise.
30535 (jpeg_mod_SOURCES): Likewise.
30536 (jpeg_mod_CFLAGS): Likewise.
30537 (jpeg_mod_LDFLAGS): Likewise.
30538 (png_mod_SOURCES): Likewise.
30539 (png_mod_CFLAGS): Likewise.
30540 (png_mod_LDFLAGS): Likewise.
30541
30542 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30543 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30544 (video_mod_SOURCES): Added.
30545 (video_mod_CFLAGS): Likewise.
30546 (video_mod_LDFLAGS): Likewise.
30547 (videotest_mod_SOURCES): Likewise.
30548 (videotest_mod_CFLAGS): Likewise.
30549 (videotest_mod_LDFLAGS): Likewise.
30550 (bitmap_mod_SOURCES): Likewise.
30551 (bitmap_mod_CFLAGS): Likewise.
30552 (bitmap_mod_LDFLAGS): Likewise.
30553 (tga_mod_SOURCES): Likewise.
30554 (tga_mod_CFLAGS): Likewise.
30555 (tga_mod_LDFLAGS): Likewise.
30556 (jpeg_mod_SOURCES): Likewise.
30557 (jpeg_mod_CFLAGS): Likewise.
30558 (jpeg_mod_LDFLAGS): Likewise.
30559 (png_mod_SOURCES): Likewise.
30560 (png_mod_CFLAGS): Likewise.
30561 (png_mod_LDFLAGS): Likewise.
30562 (gfxterm_mod_SOURCES): Likewise.
30563 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30564 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30565
30566 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30567 grub/machine/console.h.
30568
644fff97 305692009-01-04 Jerone Young <jerone@gmail.com>
30570
30571 Make on screen instructions clearer
30572
30573 Based on patch created by Jidanni <jidanni@jidanni.org>
30574
30575 * normal/menu.c: print clearer instructions on the screen
30576
1e901a75 305772009-01-02 Colin D Bennett <colin@gibibit.com>
30578
30579 New font engine.
34c44600 30580
1e901a75 30581 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30582 build system and fixed gfxterm.c to work with different sized fonts.
30583
30584 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30585
1e901a75 30586 * configure: Re-generated.
34c44600 30587
1e901a75 30588 * DISTLIST: Removed font/manager.c.
30589 Added font/font.c.
30590 Added font/font_cmd.c.
34c44600 30591
1e901a75 30592 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30593 compilation.
34c44600 30594
1e901a75 30595 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30596
30597 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30598
30599 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30600
1e901a75 30601 * normal/menu.c: Likewise.
34c44600 30602
1e901a75 30603 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30604 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30605
1e901a75 30606 * include/grub/font.h: Replaced with new file.
34c44600 30607
1e901a75 30608 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30609 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30610 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30611 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30612 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30613 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30614 fg_red, fg_green, fg_blue, fg_alpha.
30615 (grub_video_adapter): Removed blit_glyph.
34c44600 30616 (grub_video_blit_glyph): Removed.
30617
1e901a75 30618 * font/manager.c: Removed file.
34c44600 30619
30620 * font/font.c: New file.
30621
1e901a75 30622 * font/font_cmd.c: Likewise.
34c44600 30623
1e901a75 30624 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30625
1e901a75 30626 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30627 (grub_video_vbe_map_rgba): Likewise.
30628 (grub_video_vbe_unmap_color_int): Likewise.
30629 (grub_video_vbe_blit_glyph): Removed.
30630 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30631
1e901a75 30632 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30633 (get_pixel): Likewise.
34c44600 30634 (set_pixel): Likewise.
30635
1e901a75 30636 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30637
1e901a75 30638 * term/gfxterm.c: Adapted to new font engine.
34c44600 30639
1e901a75 30640 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30641
1e901a75 30642 * term/i386/pc/vga.c: Likewise.
34c44600 30643
1e901a75 30644 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30645
1e901a75 30646 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30647
1e901a75 30648 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30649
1e901a75 30650 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30651
1e901a75 30652 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30653
1e901a75 30654 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30655
1e901a75 30656 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30657
1e901a75 30658 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30659
1e901a75 30660 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30661
30662 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30663
1e901a75 30664 * util/grub-mkconfig_lib.in: Changed font extension.
30665
278922e8 306662008-12-28 Felix Zielcke <fzielcke@z-51.de>
30667
30668 * util/getroot.c (grub_util_get_grub_dev): Add support for
30669 /dev/md/dNNpNN style partitionable mdraid devices.
30670
3ced05cf 306712008-12-12 Alex Smith <alex@alex-smith.me.uk>
30672
30673 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30674 at a time limit of the PXE TFTP API correctly.
30675 (grub_pxefs_close): Likewise.
30676
7fd0ee30 306772008-11-29 Robert Millan <rmh@aybabtu.com>
30678
34c44600 30679 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30680 grub_ata_device_initialize() calls.
30681
34c44600 306822008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30683
30684 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30685 iteration failed.
30686 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30687
89313780 306882008-11-28 Robert Millan <rmh@aybabtu.com>
30689
30690 Fix build on powerpc-ieee1275. Based on patch created by
30691 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30692 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30693 `kern/ieee1275/mmap.c'.
30694 * include/grub/powerpc/ieee1275/memory.h: New file.
30695
15257703 30696 Provide grub-install on coreboot.
30697 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30698 (grub_install_SOURCES): New variable.
30699 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30700 usable on coreboot.
30701
9fc5388a 307022008-11-25 Felix Zielcke <fzielcke@z-51.de>
30703
30704 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30705 to `grub_term_input_t'.
30706 (grub_term_get_current_output): Change return type to
30707 `grub_term_output_t'.
30708
bc3a2f31 307092008-11-22 Robert Millan <rmh@aybabtu.com>
30710
34c44600 30711 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30712 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30713 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30714 grub_vga_text_cls().
30715
80fc88f2 30716 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30717 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30718
cbf36fd3 30719 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30720 to 0x200000 (avoids trouble with some OFW implementations, and matches
30721 with the one in Yaboot).
30722 Reported by Manoel Abranches
30723
73e8e268 307242008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30725
30726 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30727 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30728
73e8e268 30729 * util/grub-mkconfig_lib.in (grub_warn): New function.
30730 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30731 warnings, to obtain consistent formatting.
30732 * util/grub.d/00_header.in: Likewise.
30733 * util/update-grub_lib.in: Likewise.
30734
e94045a1 30735 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30736 Move comment text to `#error' stanza.
e94045a1 30737
79d29fd7 30738 Harmonize ieee1275's grub_available_iterate() with the generic
30739 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30740 build problem on i386-ieee1275):
30741 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30742 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30743 parameter `type'. Update all users of this function.
30744 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30745 `kern/ieee1275/mmap.c'.
30746 * kern/ieee1275/init.c
30747 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30748 with ...
30749 (grub_machine_mmap_iterate): ... this.
30750 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30751 return type to `grub_err_t'. Update all implementations of this
30752 function prototype.
30753 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30754 Likewise.
30755
60d6b16e 30756 Add `lsmmap' command (lists firmware-provided memory map):
30757 * commands/lsmmap.c: New file.
30758 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30759 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30760 variables.
30761 * conf/powerpc-ieee1275.rmk: Likewise.
30762 * conf/i386-coreboot.rmk: Likewise.
30763 * conf/i386-ieee1275.rmk: Likewise.
30764
ebaaf49b 307652008-11-19 Robert Millan <rmh@aybabtu.com>
30766
30767 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30768 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30769 constraints to initrd allocation (based on code from
30770 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30771 for Linux to find it.
ebaaf49b 30772
dfab719f 307732008-11-14 Robert Millan <rmh@aybabtu.com>
30774
30775 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30776 order to cope with duplicate slashes.
30777
10fc3eb9 307782008-11-14 Robert Millan <rmh@aybabtu.com>
30779
30780 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30781 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30782 don't want to mess with lower memory, because it is used in the Linux
30783 loader.
30784
30785 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30786 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30787 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30788 is in our heap (probably as a result of it being corrupted during
2f2a3442 30789 decompression). Add #error instance with comment to explain why this
30790 loader isn't currently usable on PC/BIOS.
10fc3eb9 30791
e2e07847 307922008-11-14 Robert Millan <rmh@aybabtu.com>
30793
30794 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30795 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30796
fe8e8d69 307972008-11-12 Robert Millan <rmh@aybabtu.com>
30798
30799 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30800
30801 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30802 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30803 from here ...
30804 * include/grub/i386/pc/memory.h: ... to here.
30805
976b07d0 308062008-11-12 Robert Millan <rmh@aybabtu.com>
30807
30808 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30809 split).
30810
30811 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30812 (grub_console_cur_color, grub_console_real_putchar)
30813 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30814 (grub_console_setcolorstate, grub_console_setcolor)
30815 (grub_console_getcolor): Move from here ...
30816 * include/grub/i386/vga_common.h: ... to here (new file).
30817
30818 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30819 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30820 `<grub/i386/io.h>'.
30821 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30822 `<grub/i386/vga_common.h>'.
30823
76679cd3 308242008-11-12 Robert Millan <rmh@aybabtu.com>
30825
30826 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30827 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30828 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30829 variables.
30830 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30831 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30832
30833 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30834 grub_console_init() with call to grub_vga_text_init().
30835 (grub_machine_fini): Replace call to
30836 grub_console_fini() with call to grub_vga_text_fini() and
30837 grub_at_keyboard_fini().
30838
30839 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30840 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30841 (grub_console_setcolorstate, grub_console_setcolor)
30842 (grub_console_getcolor): New function prototypes.
30843
30844 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30845 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30846 (grub_vga_text_setcursor): Static-ize.
30847 (grub_vga_text_term): New structure.
30848 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30849
30850 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30851 (grub_console_cur_color, grub_console_standard_color)
30852 (grub_console_normal_color, grub_console_highlight_color)
30853 (map_char, grub_console_putchar, grub_console_getcharwidth)
30854 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30855 (grub_console_getcolor): Move from here ...
30856 * term/i386/vga_common.c: ... to here (same function names).
30857
95b841d3 308582008-11-12 Robert Millan <rmh@aybabtu.com>
30859
30860 Use newly-added Multiboot support in coreboot.
30861
30862 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30863 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30864
30865 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30866 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30867 (codestart): Store the MBI in `startup_multiboot_info' when we're
30868 being loaded using Multiboot.
30869
30870 * kern/i386/coreboot/init.c (grub_machine_init): Move
30871 grub_at_keyboard_init() call to beginning of function (useful for
30872 debugging). Call grub_machine_mmap_init() before attempting to use
30873 grub_machine_mmap_iterate().
30874 (grub_lower_mem, grub_upper_mem): Move from here ...
30875 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30876 here (new file).
30877
30878 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30879 function prototype.
30880
761ca975 308812008-11-12 Robert Millan <rmh@aybabtu.com>
30882
30883 Fix a regression introduced by the at_keyboard.mod split. Because
30884 some terminals are default on some platforms and non-default on
30885 others, the first terminal being registered determines which is
30886 going to be default.
30887
30888 * kern/term.c (grub_term_register_input): If this is the first
30889 terminal being registered, set it as the current one.
30890 (grub_term_register_output): Likewise.
30891
30892 * term/efi/console.c (grub_console_init): Do not call
30893 grub_term_set_current_output() or grub_term_set_current_input().
30894 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30895 * term/i386/pc/console.c (grub_console_init): Likewise.
30896 (grub_console_fini): Do not call grub_term_set_current_input()
30897 (but leave grub_term_set_current_output() to restore text mode).
30898
6c529df7 308992008-11-10 Robert Millan <rmh@aybabtu.com>
30900
30901 * util/grub.d/00_header.in: Add backward compatibility check for
30902 versions of terminal.mod that don't understand `terminal_input' or
30903 `terminal_output'.
30904
132e4113 309052008-11-09 Robert Millan <rmh@aybabtu.com>
30906
30907 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30908 `terminal_input' / `terminal_output', not `terminal'.
30909
ac293d50 309102008-11-08 Robert Millan <rmh@aybabtu.com>
30911
30912 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30913 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30914
0025933a 309152008-11-08 Robert Millan <rmh@aybabtu.com>
30916
30917 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30918 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30919 members. Update all users.
30920 * util/console.c (grub_ncurses_term): Split in ...
30921 (grub_ncurses_term_input): ... this, and ...
30922 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30923 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30924
37c86336 309252008-11-08 Robert Millan <rmh@aybabtu.com>
30926
30927 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30928 (PKGDATA): Add $(pkgdata_SRCDIR).
30929 (pkglib_BUILDDIR): New variable.
30930 (pkgdata_SRCDIR): New variable.
30931 (build_env.mk): New target.
30932 (include_DATA): New variable.
30933 (install-local): Install $(include_DATA) files in $(includedir).
30934
b6c15a2d 309352008-11-07 Pavel Roskin <proski@gnu.org>
30936
d99d46f1 30937 * gendistlist.sh: Use C locale for sorting to ensure consistent
30938 output on all systems.
30939
b6c15a2d 30940 * util/grub.d/00_header.in: Remove incorrect space before
30941 "serial".
30942
c32ee8c9 309432008-11-07 Robert Millan <rmh@aybabtu.com>
30944
30945 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30946 per specification.
30947 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30948 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30949 (based on find_multi_boot1_header).
30950 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30951 using find_multi_boot2_header(), and abort if neither Multiboot or
30952 Multiboot headers were found.
30953
651c29b7 309542008-11-07 Robert Millan <rmh@aybabtu.com>
30955
30956 Modularize at_keyboard.mod:
30957
30958 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30959 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30960 (at_keyboard_mod_LDFLAGS): New variables.
30961
30962 Actual terminal split:
30963
30964 * include/grub/term.h (struct grub_term): Split in ...
30965 (struct grub_term_input): ... this, and ...
30966 (struct grub_term_output): ... this. Update all users.
30967 (grub_term_set_current): Split in ...
30968 (grub_term_set_current_input): ... this, and ...
30969 (grub_term_set_current_output): ... this.
30970 (grub_term_get_current): Split in ...
30971 (grub_term_get_current_input): ... this, and ...
30972 (grub_term_get_current_output): ... this.
30973 (grub_term_register): Split in ...
30974 (grub_term_register_input): ... this, and ...
30975 (grub_term_register_output): ... this.
30976 (grub_term_unregister): Split in ...
30977 (grub_term_unregister_input): ... this, and ...
30978 (grub_term_unregister_output): ... this.
30979 (grub_term_iterate): Split in ...
30980 (grub_term_iterate_input): ... this, and ...
30981 (grub_term_iterate_output): ... this.
30982
30983 * kern/term.c (grub_term_list): Split in ...
30984 (grub_term_list_input): ... this, and ...
30985 (grub_term_list_output): ... this. Update all users.
30986 (grub_cur_term): Split in ...
30987 (grub_cur_term_input): ... this, and ...
30988 (grub_cur_term_output): ... this. Update all users.
30989 (grub_term_set_current): Split in ...
30990 (grub_term_set_current_input): ... this, and ...
30991 (grub_term_set_current_output): ... this.
30992 (grub_term_get_current): Split in ...
30993 (grub_term_get_current_input): ... this, and ...
30994 (grub_term_get_current_output): ... this.
30995 (grub_term_register): Split in ...
30996 (grub_term_register_input): ... this, and ...
30997 (grub_term_register_output): ... this.
30998 (grub_term_unregister): Split in ...
30999 (grub_term_unregister_input): ... this, and ...
31000 (grub_term_unregister_output): ... this.
31001 (grub_term_iterate): Split in ...
31002 (grub_term_iterate_input): ... this, and ...
31003 (grub_term_iterate_output): ... this.
31004
31005 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31006 a check for input and one for output (and only attempt to get keys
31007 from user when input works).
31008
31009 * util/grub-probe.c (grub_term_get_current): Split in ...
31010 (grub_term_get_current_input): ... this, and ...
31011 (grub_term_get_current_output): ... this.
31012 * util/grub-fstest.c: Likewise.
31013 * util/i386/pc/grub-setup.c: Likewise.
31014 * util/grub-editenv.c: Likewise.
31015
31016 Portability adjustments:
31017
31018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31019 `term/i386/pc/at_keyboard.c'.
31020 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31021 grub_keyboard_controller_init() (now handled by terminal .init).
31022 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31023 grub_at_keyboard_init().
31024 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31025 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31026 at_keyboard.mod via input terminal interface).
31027 * include/grub/i386/coreboot/console.h: Convert into a stub for
31028 `<grub/i386/pc/console.h>'.
31029
31030 Migrate full terminals to new API:
31031
31032 * term/efi/console.c (grub_console_term): Split into ...
31033 (grub_console_term_input): ... this, and ...
31034 (grub_console_term_output): ... this. Update all users.
31035 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31036 (grub_ofconsole_init): Split into ...
31037 (grub_ofconsole_init_input): ... this, and ...
31038 (grub_ofconsole_init_output): ... this.
31039 (grub_ofconsole_term): Split into ...
31040 (grub_ofconsole_term_input): ... this, and ...
31041 (grub_ofconsole_term_output): ... this. Update all users.
31042 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31043 (grub_serial_term_input): ... this, and ...
31044 (grub_serial_term_output): ... this. Update all users.
31045 * term/i386/pc/console.c (grub_console_term): Split into ...
31046 (grub_console_term_input): ... this, and ...
31047 (grub_console_term_output): ... this. Update all users.
31048 (grub_console_term_input): Only enable it on PC/BIOS platform.
31049 (grub_console_init): Remove grub_keyboard_controller_init() call.
31050
31051 Migrate input terminals to new API:
31052
31053 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31054 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31055 i386-specific anyway).
31056 (grub_console_checkkey): Rename to ...
31057 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31058 users.
31059 (grub_keyboard_controller_orig): New variable.
31060 (grub_console_getkey): Rename to ...
31061 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31062 users.
31063 (grub_keyboard_controller_init): Static-ize. Save original
31064 controller value so that it can be restored ...
31065 (grub_keyboard_controller_fini): ... here (new function).
31066 (grub_at_keyboard_term): New structure.
31067 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31068 functions.
31069
31070 Migrate output terminals to new API:
31071
31072 * term/i386/pc/vga.c (grub_vga_term): Change type to
31073 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31074 members. Update all users.
31075 * term/gfxterm.c (grub_video_term): Change type to
31076 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31077 members. Update all users.
31078 * include/grub/i386/pc/console.h (grub_console_checkkey)
31079 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31080 etc).
31081
31082 Migrate `terminal' command and userland tools to new API:
31083
31084 * commands/terminal.c (grub_cmd_terminal): Split into ...
31085 (grub_cmd_terminal_input): ... this, and ...
31086 (grub_cmd_terminal_output): ... this.
31087 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31088 `terminal_input' and `terminal_output'.
31089 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31090 `terminal_input' / `terminal_output' API.
31091 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31092 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31093 provided ${GRUB_TERMINAL}, convert it).
31094
96e5d876 310952008-11-04 Robert Millan <rmh@aybabtu.com>
31096
31097 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31098 for FreeBSD.
31099 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31100
556f3775 311012008-11-03 Bean <bean123ch@gmail.com>
31102
31103 * kern/elf.c (grub_elf32_load): Revert to previous code.
31104 (grub_elf64_load): Likewise.
31105
31106 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31107
926b9823 311082008-11-01 Robert Millan <rmh@aybabtu.com>
31109
31110 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31111 (TARGET_CPPFLAGS): Likewise.
31112 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31113
1432e958 311142008-11-01 Carles Pina i Estany <carles@pina.cat>
31115
31116 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31117
dba3f844 311182008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31119
31120 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31121 addition of objects until the code is not going to be able to fail.
31122
dba3f844 311232008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31124
31125 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31126 (add a missing NULL check, and correct them by moving the pointer
31127 operations after the actual check).
31128
7ab28c21 311292008-10-29 Robert Millan <rmh@aybabtu.com>
31130
31131 * util/i386/pc/grub-install.in: Handle empty string as output from
31132 make_system_path_relative_to_its_root().
31133
1b7748eb 311342008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31135
31136 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31137 circular metadata worst case scenario. If the metadata is circular
31138 then copy the wrap in place.
31139 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31140 project lib/format_text/layout.h
31141 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31142
c9618ab2 311432008-10-03 Felix Zielcke <fzielcke@z-51.de>
31144
7a36edca 31145 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31146
bf981c62 311472008-10-03 Felix Zielcke <fzielcke@z-51.de>
31148
31149 * util/update-grub_lib.in: Mention filename in warning message.
31150
6d994591 311512008-09-29 Felix Zielcke <fzielcke@z-51.de>
31152
31153 * NEWS: Update for rename of update-grub to grub-mkconfig.
31154
18ade780 311552008-09-29 Felix Zielcke <fzielcke@z-51.de>
31156
31157 * util/update-grub_lib.in: Copy to ...
31158 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31159 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31160 * util/update-grub.in: Rename to ...
31161 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31162 option. Add `--output' option to allow users to specify the generated
31163 configuration file. Default to stdout.
31164 (update_grub_dir): Rename to ...
31165 (grub_mkconfig_dir): ... this.
31166 (grub_cfg): Default to an empty string.
31167 * conf/common.rmk (update-grub): Rename to ...
31168 (grub-mkconfig): ... this.
31169 (update-grub_lib): Copy to ...
31170 (grub-mkconfig_lib): ... this.
31171 (update-grub_SCRIPTS): Copy to ...
31172 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31173 (update-grub_DATA): Rename to ...
31174 (grub-mkconfig_DATA): ... this.
31175
556ce6ac 311762008-09-28 Robert Millan <rmh@aybabtu.com>
31177
31178 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31179 to `modified'. Add the real `created' field.
31180 (grub_iso9660_uuid): Use `modified' rather than `created' for
31181 constructing the UUID.
31182
311832008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31184
31185 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31186 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31187
92274e85 311882008-09-28 Bean <bean123ch@gmail.com>
31189
31190 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31191 Thanks to Christian Franke for finding this bug.
31192
add6f17a 311932008-09-25 Robert Millan <rmh@aybabtu.com>
31194
31195 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31196 instances of grub_util_get_disk_name() (see previous commit).
31197
d2a367b8 311982008-09-25 Robert Millan <rmh@aybabtu.com>
31199
31200 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31201 `util/i386/get_disk_name.c'.
31202 * conf/i386-efi.rmk: Likewise.
31203 * conf/x86_64-efi.rmk: Likewise.
31204 * conf/i386-coreboot.rmk: Likewise.
31205 * conf/i386-ieee1275.rmk: Likewise.
31206 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31207 `util/ieee1275/get_disk_name.c'.
31208 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31209 * util/ieee1275/get_disk_name.c: Remove file.
31210 * util/i386/get_disk_name.c: Remove file.
31211 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31212 "hd%d" for device.map entries, rather than using
31213 grub_util_get_disk_name().
31214
81a06771 312152008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31216
31217 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31218 warning.
31219 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31220
5a004279 312212008-09-24 Carles Pina i Estany <carles@pina.cat>
31222
31223 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31224 Changed to 0x5100.
31225 (GRUB_TERM_PPAGE): Changed to 0x4900.
31226
397093d3 312272008-09-24 Robert Millan <rmh@aybabtu.com>
31228
31229 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31230 macros (they were i386-pc specific).
31231 * include/grub/sparc64/ieee1275/console.h: Likewise.
31232 * include/grub/efi/console.h: Likewise.
31233
a91b6c7c 312342008-09-22 Bean <bean123ch@gmail.com>
31235
31236 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31237 resident and in attribute list.
31238
31239 * include/grub/ntfs.h (BMP_LEN): Removed.
31240
c40fd116 312412008-09-22 Bean <bean123ch@gmail.com>
31242
81a06771 31243 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31244 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31245
31246 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31247 error occurs, as grub_disk_open will call grub_disk_close, which will
31248 call p->close (scsi).
31249
81a06771 312502008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31251
31252 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31253 (AC_PREREQ): Bumped to 2.59.
31254 (AC_TRY_COMPILE): Replace obsolete macro with ...
31255 (AC_COMPILE_IFELSE): ... this.
31256 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31257 (AC_LINK_IFELSE): ... this.
31258
5dc43410 312592008-09-21 Felix Zielcke <fzielcke@z-51.de>
31260
31261 * autogen.sh: Add a call to `gendistlist.sh'.
31262
9035dce4 312632008-09-19 Christian Franke <franke@computer.org>
31264
31265 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31266 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31267 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31268 Export __enable_execute_stack() to modules.
31269 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31270 New function.
31271
7fd75377 312722008-09-09 Felix Zielcke <fzielcke@z-51.de>
31273
040030b3 31274 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31275 Sort the list.
31276
312772008-09-09 Felix Zielcke <fzielcke@z-51.de>
31278
31279 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31280 #include <grub/util/hostdisk.h>.
31281
89d5ffcf 312822008-09-08 Robert Millan <rmh@aybabtu.com>
31283
31284 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31285 segments when their filesz is zero (grub_file_read() interprets
81a06771 31286 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31287 Use `lowest_segment' rather than 0 for calculating the current
31288 segment load address.
31289
40da438f 312902008-09-08 Robert Millan <rmh@aybabtu.com>
31291
31292 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31293 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31294 clobbered useful information.
31295
ddbf5556 312962008-09-08 Robert Millan <rmh@aybabtu.com>
31297
31298 * include/grub/util/biosdisk.h: Move to ...
31299 * include/grub/util/hostdisk.h: ... here. Update all users.
31300 * util/biosdisk.c: Move to ...
31301 * util/hostdisk.c: ... here. Update all users.
31302
783d0f48 313032008-09-07 Robert Millan <rmh@aybabtu.com>
31304
31305 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31306 variables.
31307 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31308 and length can be stored directly in the `mbi->mmap_addr' and
31309 `mbi->mmap_length' struct fields.
31310
548e2ea5 313112008-09-07 Robert Millan <rmh@aybabtu.com>
31312
31313 * conf/i386.rmk: New file. Provides declaration for building
31314 `cpuid.mod'.
31315 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31316 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31317 variables.
31318 Include `conf/i386.mk'.
31319 * conf/i386-efi.rmk: Likewise.
31320 * conf/x86_64-efi.rmk: Likewise.
31321 * conf/i386-coreboot.rmk: Likewise.
31322 * conf/i386-ieee1275.rmk: Likewise.
31323
0ea85a37 313242008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31325
31326 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31327 Adds optimization support for BGR based modes.
31328
31329 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31330 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31331 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31332 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31333 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31334 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31335 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31336 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31337 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31338 (grub_video_i386_vbeblit_index_index): Likewise.
31339 (grub_video_i386_vbeblit_replace_directN): Added.
31340 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31341 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31342 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31343 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31344 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31345 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31346 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31347 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31348 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31349 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31350 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31351 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31352 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31353
31354 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31355 (grub_video_i386_vbefill_R8G8B8): Likewise.
31356 (grub_video_i386_vbefill_index): Likewise.
31357 (grub_video_i386_vbefill_direct32): Added.
31358 (grub_video_i386_vbefill_direct24): Likewise.
31359 (grub_video_i386_vbefill_direct16): Likewise.
31360 (grub_video_i386_vbefill_direct8): Likewise.
31361
81a06771 31362 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31363 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31364 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31365 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31366 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31367 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31368
0ea85a37 31369 * video/video.c (grub_video_get_blit_format): Updated to use new
31370 blit formats. Added handling for 16 bit color modes.
81a06771 31371
31372 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31373 fillers.
31374 (common_blitter): Updated to use new blitters.
31375
31376 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31377 Removed.
31378 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31379 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31380 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31381 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31382 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31383 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31384 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31385 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31386 (grub_video_i386_vbeblit_index_index): Likewise.
31387 (grub_video_i386_vbeblit_replace_directN): Added.
31388 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31389 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31390 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31391 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31392 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31393 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31394 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31395 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31396 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31397 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31398 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31399 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31400 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31401
0ea85a37 31402 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31403 (grub_video_i386_vbefill_R8G8B8): Likewise.
31404 (grub_video_i386_vbefill_index): Likewise.
31405 (grub_video_i386_vbefill_direct32): Added.
31406 (grub_video_i386_vbefill_direct24): Likewise.
31407 (grub_video_i386_vbefill_direct16): Likewise.
31408 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31409
0ea85a37 31410 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31411 types.
81a06771 31412
0ea85a37 31413 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31414 types.
81a06771 31415
0ea85a37 31416 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31417 blitter types.
81a06771 31418
0ea85a37 31419 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31420 types.
31421
e8a83df6 314222008-09-06 Felix Zielcke <fzielcke@z-51.de>
31423
31424 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31425 RAID level 1.
31426
6bcd8ee5 314272008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31428
6bcd8ee5 31429 * fs/iso9660.c (grub_iso9660_date): New structure.
31430 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31431 (grub_iso9660_uuid): New function.
c375ae58 31432
59261157 314332008-09-05 Bean <bean123ch@gmail.com>
31434
31435 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31436
31437 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31438 insensitive bit for names in Win32 and Win32 & DOS namespace.
31439
31440 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31441
31442 * include/grub/types.h (LONG_MAX): Likewise.
31443
58b6645a 314442008-09-04 Felix Zielcke <fzielcke@z-51.de>
31445
4ee55921 31446 * util/getroot.c: Include <config.h>.
31447 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31448 add support for /dev/md/N devices and handle LVM double dash escaping.
31449
314502008-09-04 Felix Zielcke <fzielcke@z-51.de>
31451
31452 * config.guess: Update to latest version from config git.
31453 * config.sub: Likewise.
58b6645a 31454
9124f65d 314552008-09-03 Robert Millan <rmh@aybabtu.com>
31456
31457 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31458 `disk->total_sectors'.
31459
81a06771 314602008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31461
31462 * include/grub/normal.h: Fixed incorrect comment for
31463 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31464
81a06771 314652008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31466
31467 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31468 values with defines.
31469
31470 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31471 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31472 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31473 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31474 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31475 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31476 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31477 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31478 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31479 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31480 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31481 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31482 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31483 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31484 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31485 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31486 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31487 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31488 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31489
93d5cbf8 314902008-08-31 Robert Millan <rmh@aybabtu.com>
31491
31492 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31493 declaration.
31494 (grub_multiboot): Fix a few warnings.
31495
21751d50 314962008-08-31 Robert Millan <rmh@aybabtu.com>
31497
31498 * loader/i386/pc/multiboot.c: Update comment not to say that
31499 boot_device support is unimplemented.
31500
e27a75c5 315012008-08-31 Robert Millan <rmh@aybabtu.com>
31502
31503 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31504 or memory map support are unimplemented.
31505
81a06771 315062008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31507
31508 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31509
81a06771 315102008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31511
31512 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31513 total video memory in 'vbeinfo' output; show color format details for
31514 each video mode.
31515
7c5d8d95 315162008-08-30 Pavel Roskin <proski@gnu.org>
31517
31518 * util/genmoddep.c: Remove for real this time.
31519 * DISTLIST: Remove util/genmoddep.c.
31520
4cebd25a 315212008-08-30 Robert Millan <rmh@aybabtu.com>
31522
31523 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31524 as required by Multiboot spec (it was already 4-byte aligned, but
31525 only by chance).
31526
b497a269 315272008-08-29 Pavel Roskin <proski@gnu.org>
31528
e3925185 31529 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31530 * kern/powerpc/ieee1275/startup.S: ... this.
31531 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31532 * DISTLIST: Likewise.
31533
b497a269 31534 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31535 grub/cpu/kernel.h. Add start label for consistency with other
31536 platforms. Add grub_prefix immediately after start. Add jump
31537 to the code after grub_prefix.
31538 * include/grub/powerpc/kernel.h: Provide valid values for
31539 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31540
6e5a42fe 315412008-08-29 Bean <bean123ch@gmail.com>
31542
31543 * configure.ac: Change host_os to cygwin for mingw.
31544 (asprintf): New check for function.
31545
31546 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31547 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31548
31549 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31550 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31551 sync, sleep and grub_util_get_disk_size for mingw.
31552
31553 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31554 to get size in mingw.
31555 (open_device): Use flag O_BINARY if it's defined.
31556 (find_root_device): Add dummy code for mingw.
31557
31558 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31559 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31560 (get_scsi_disk_name): Return 0 for mingw.
31561
31562 * util/hostfs.c: #include <grub/util/misc.h>.
31563 (grub_hostfs_open): Use "rb" flag to open file, use
31564 grub_util_get_disk_size to get disk size for mingw.
31565
31566 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31567 (asprintf): New function if HAVE_ASPRINTF is not set.
31568 (sync): New function for mingw.
31569 (sleep): Likewise.
31570 (grub_util_get_disk_size): Likewise.
31571
ab3f2673 315722008-08-28 Pavel Roskin <proski@gnu.org>
31573
31574 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31575 kern/time.c.
31576
1c282483 315772008-08-28 Robert Millan <rmh@aybabtu.com>
31578
31579 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31580
678e849c 315812008-08-28 Robert Millan <rmh@aybabtu.com>
31582
31583 Change find_grub_drive() syntax so it doesn't prevent it from
31584 detecting NULL names as errors.
31585
31586 * util/biosdisk.c (find_grub_drive): Move free slot search code
31587 from here ...
31588 (find_free_slot): ... to here.
31589 (read_device_map): Use find_free_slot() to search for free slots.
31590
965c75ca 315912008-08-27 Marco Gerards <marco@gnu.org>
31592
31593 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31594 (scsi_mod_SOURCES): New variable.
31595 (scsi_mod_CFLAGS): Likewise
31596 (scsi_mod_LDFLAGS): Likewise.
31597
31598 * disk/scsi.c: New file.
31599
31600 * include/grub/scsi.h: Likewise.
31601
31602 * include/grub/scsicmd.h: Likewise.
31603
31604 * disk/ata.c: Include <grub/scsi.h>.
31605 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31606 instead.
31607 (grub_ata_iterate): Skip ATAPI devices.
31608 (grub_ata_open): Only handle ATAPI devices.
31609 (struct grub_atapi_read): Removed.
31610 (grub_atapi_readsector): Likewise.
31611 (grub_ata_read): No longer handle ATAPI devices.
31612 (grub_ata_write): Likewise.
31613 (grub_atapi_iterate): New function.
31614 (grub_atapi_read): Likewise.
31615 (grub_atapi_write): Likewise.
31616 (grub_atapi_open): Likewise.
31617 (grub_atapi_close): Likewise.
31618 (grub_atapi_dev): New variable.
31619 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31620 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31621
31622 * include/grub/disk.h (enum grub_disk_dev_id): Add
31623 `GRUB_DISK_DEVICE_SCSI_ID'.
31624
c07ae501 316252008-08-26 Robert Millan <rmh@aybabtu.com>
31626
31627 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31628 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31629 descriptive.
31630
5ed20adc 316312008-08-23 Bean <bean123ch@gmail.com>
31632
31633 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31634 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31635 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31636 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31637 dm_nv.mod.
31638 (raid5rec_mod_SOURCES): New macro.
31639 (raid5rec_mod_CFLAGS): Likewise.
31640 (raid5rec_mod_LDFLAGS): Likewise.
31641 (raid6rec_mod_SOURCES): Likewise.
31642 (raid6rec_mod_CFLAGS): Likewise.
31643 (raid6rec_mod_LDFLAGS): Likewise.
31644 (mdraid_mod_SOURCES): Likewise.
31645 (mdraid_mod_CFLAGS): Likewise.
31646 (mdraid_mod_LDFLAGS): Likewise.
31647 (dm_nv_mod_SOURCES): Likewise.
31648 (dm_nv_mod_CFLAGS): Likewise.
31649 (dm_nv_mod_LDFLAGS): Likewise.
31650
31651 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31652 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31653 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31654
31655 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31656 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31657
31658 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31659
31660 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31661
31662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31663
31664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31665
31666 * disk/raid5_recover.c: New file.
31667
31668 * disk/raid6_recover.c: Likewise.
31669
31670 * disk/mdraid_linux.c: Likewise.
31671
31672 * disk/dmraid_nvidia.c: Likewise.
31673
31674 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31675 ULONG_MAX.
31676
31677 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31678 calculate the size of raid device.
31679 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31680 different layout of raid5.
31681 (grub_raid_scan_device): Remove code specific to mdraid.
31682 (grub_raid_list): New variable.
31683 (free_array): New function.
31684 (grub_raid_register): Likewise.
31685 (grub_raid_unregister): Likewise.
31686 (grub_raid_rescan): Likewise.
31687 (GRUB_MOD_INIT): Don't iterate device here.
31688 (GRUB_MOD_FINI): Use free_array to release resource.
31689
31690 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31691 (grub_raid5_recover_func_t): New function variable type.
31692 (grub_raid6_recover_func_t): Likewise.
31693 (grub_raid5_recover_func): New variable.
31694 (grub_raid6_recover_func): Likewise.
31695 (grub_raid_register): New function.
31696 (grub_raid_unregister): Likewise.
31697 (grub_raid_rescan): Likewise.
31698 (grub_raid_block_xor): Likewise.
31699
31700 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31701 (CMD_CRC): New macro.
31702 (part): Removed.
31703 (read_file): Handle device as well as file.
31704 (cmd_crc): New function.
31705 (fstest): Handle multiple disks.
31706 (options): Remove part, raw and long, add root and diskcount.
31707 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31708 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31709 add handling for the new options, support multiple disks.
31710
31711 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31712
29c18915 317132008-08-23 Bean <bean123ch@gmail.com>
31714
31715 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31716
31717 * genfslist.sh: Ignore kernel.mod.
31718
31719 * genpartmaplist.sh: Likewise.
31720
8415f261 317212008-08-23 Robert Millan <rmh@aybabtu.com>
31722
31723 * util/getroot.c (find_root_device): Skip anything that starts with
31724 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31725
d5a7dc5b 317262008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31727
d5a7dc5b 31728 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31729 * util/grub.d/00_header.in: Allow the administrator to change default
31730 gfxmode via ${GRUB_GFXMODE}.
31731
380cfbb4 317322008-08-21 Felix Zielcke <fzielcke@z-51.de>
31733
31734 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31735
c9baafe7 317362008-08-21 Robert Millan <rmh@aybabtu.com>
31737
31738 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31739 loader.
31740 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31741 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31742
e290bef2 317432008-08-20 Carles Pina i Estany <carles@pina.cat>
31744
31745 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31746 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31747
f9dbfc96 317482008-08-19 Robert Millan <rmh@aybabtu.com>
31749
31750 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31751 (struct grub_virtual_screen): Remove `cursor_color'.
31752 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31753 initialization.
31754 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31755
dd6bd6ab 317562008-08-18 Robert Millan <rmh@aybabtu.com>
31757
31758 Unify (identical) linux_normal.c files.
31759 * loader/i386/efi/linux_normal.c: Move from here ...
31760 * loader/linux_normal.c: ... to here. Update all users.
31761 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31762 * loader/i386/ieee1275/linux_normal.c: Likewise.
31763
7f42f83e 317642008-08-18 Robert Millan <rmh@aybabtu.com>
31765
31766 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31767 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31768 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31769 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31770 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31771 New macros.
31772 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31773 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31774 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31775 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31776 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31777 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31778 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31779 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31780 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31781 portably using grub_getxy().
31782 Replace `-EFI' with `-bzImage' in boot message.
31783
38487ddb 317842008-08-17 Robert Millan <rmh@aybabtu.com>
31785
31786 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31787
deceb3ec 317882008-08-17 Robert Millan <rmh@aybabtu.com>
31789
31790 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31791
31792 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31793 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31794 (grub_machine_mmap_iterate): New function declaration.
31795 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31796 structure.
31797 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31798 macros.
31799
31800 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31801 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31802 Move e820 parsing from here ...
31803 * kern/i386/pc/mmap.c: New file.
31804 (grub_machine_mmap_iterate): ... to here.
31805
31806 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31807 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31808 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31809 (grub_available_iterate): Redeclare to return `void', and redeclare
31810 its hook to use grub_uint64_t as addr and size parameters, and rename
31811 to ...
31812 (grub_machine_mmap_iterate): ... this. Update all users.
31813
31814 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31815 to make it more readable. Rename to ...
31816 (grub_machine_mmap_iterate): ... this.
31817
31818 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31819 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31820 (grub_multiboot): Allocate an extra region after the payload, and fill
31821 it with a Multiboot memory map. Adjust a.out loader to calculate size
31822 with the extra space.
31823 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31824 with the extra space.
31825
f8aa0f43 318262008-08-17 Carles Pina i Estany <carles@pina.cat>
31827
9807deb9 31828 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31829
605f5bb6 318302008-08-17 Felix Zielcke <fzielcke@z-51.de>
31831
31832 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31833 mdate-sh to the list `find' searches for.
31834 * DISTLIST: Regenerated.
31835
210db6c6 318362008-08-16 Felix Zielcke <fzielcke@z-51.de>
31837
31838 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31839 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31840 genmoddep.awk, gensymlist.sh.in.
31841 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31842 * DISTLIST: Regenerated.
48cdbfd4 31843 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31844
1082b929 318452008-08-16 Robert Millan <rmh@aybabtu.com>
31846
31847 * disk/raid.c (grub_raid_init): Handle/report errors set by
31848 grub_device_iterate().
31849 * disk/lvm.c (grub_lvm_init): Likewise.
31850
42ce5170 318512008-08-15 Bean <bean123ch@gmail.com>
31852
31853 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31854 and datehook.mod.
31855 (datetime_mod_SOURCES): New macro.
31856 (datetime_mod_CFLAGS): Likewise.
31857 (datetime_mod_LDFLAGS): Likewise.
31858 (date_mod_SOURCES): Likewise.
31859 (date_mod_CFLAGS): Likewise.
31860 (date_mod_LDFLAGS): Likewise.
31861 (datehook_mod_SOURCES): Likewise.
31862 (datehook_mod_CFLAGS): Likewise.
31863 (datehook_mod_LDFLAGS): Likewise.
31864
31865 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31866 and datehook.mod.
31867 (datetime_mod_SOURCES): New macro.
31868 (datetime_mod_CFLAGS): Likewise.
31869 (datetime_mod_LDFLAGS): Likewise.
31870 (date_mod_SOURCES): Likewise.
31871 (date_mod_CFLAGS): Likewise.
31872 (date_mod_LDFLAGS): Likewise.
31873 (datehook_mod_SOURCES): Likewise.
31874 (datehook_mod_CFLAGS): Likewise.
31875 (datehook_mod_LDFLAGS): Likewise.
31876
31877 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31878 and datehook.mod.
31879 (datetime_mod_SOURCES): New macro.
31880 (datetime_mod_CFLAGS): Likewise.
31881 (datetime_mod_LDFLAGS): Likewise.
31882 (date_mod_SOURCES): Likewise.
31883 (date_mod_CFLAGS): Likewise.
31884 (date_mod_LDFLAGS): Likewise.
31885 (datehook_mod_SOURCES): Likewise.
31886 (datehook_mod_CFLAGS): Likewise.
31887 (datehook_mod_LDFLAGS): Likewise.
31888
31889 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31890 and datehook.mod.
31891 (datetime_mod_SOURCES): New macro.
31892 (datetime_mod_CFLAGS): Likewise.
31893 (datetime_mod_LDFLAGS): Likewise.
31894 (date_mod_SOURCES): Likewise.
31895 (date_mod_CFLAGS): Likewise.
31896 (date_mod_LDFLAGS): Likewise.
31897 (datehook_mod_SOURCES): Likewise.
31898 (datehook_mod_CFLAGS): Likewise.
31899 (datehook_mod_LDFLAGS): Likewise.
31900
31901 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31902 and datehook.mod.
31903 (datetime_mod_SOURCES): New macro.
31904 (datetime_mod_CFLAGS): Likewise.
31905 (datetime_mod_LDFLAGS): Likewise.
31906 (date_mod_SOURCES): Likewise.
31907 (date_mod_CFLAGS): Likewise.
31908 (date_mod_LDFLAGS): Likewise.
31909 (datehook_mod_SOURCES): Likewise.
31910 (datehook_mod_CFLAGS): Likewise.
31911 (datehook_mod_LDFLAGS): Likewise.
31912
31913 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31914
31915 * commands/date.c: New file.
31916
31917 * hook/datehook.c: Likewise.
31918
31919 * include/grub/lib/datetime.h: Likewise.
31920
31921 * include/grub/i386/cmos.h: Likewise.
31922
31923 * lib/datetime.c: Likewise.
31924
31925 * lib/i386/datetime.c: Likewise.
31926
31927 * lib/efi/datetime.c: Likewise.
31928
0e9242da 319292008-08-14 Robert Millan <rmh@aybabtu.com>
31930
31931 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31932 (grub_mkelfimage_SOURCES): New variable.
31933 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31934
31935 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31936 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31937 * conf/powerpc-ieee1275.rmk: Likewise.
31938 * conf/i386-ieee1275.rmk: Likewise.
31939
31940 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31941 * kern/i386/coreboot/init.c: Likewise.
31942
31943 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31944 with `<grub/cpu/kernel.h>'.
31945 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31946 to ...
31947 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31948 * kern/i386/coreboot/startup.S: Likewise.
31949
31950 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31951 (GRUB_MOD_GAP): Remove.
31952 * include/grub/powerpc/kernel.h: New file.
31953 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31954 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31955 * include/grub/i386/kernel.h: New file.
31956 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31957 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31958 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31959
31960 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31961 `grub-mkelfimage'.
31962 Use --directory when invoking grub_mkimage.
31963
31964 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31965 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31966 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31967 and GRUB_KERNEL_CPU_PREFIX.
31968
b86408f8 319692008-08-14 Felix Zielcke <fzielcke@z-51.de>
31970
d5e619ca 31971 * include/grub/err.h (grub_err_printf): New function prototype.
31972 * util/misc.c (grub_err_printf): New function.
31973 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31974 grub_printf.
31975 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31976
7161f0e0 319772008-08-13 Robert Millan <rmh@aybabtu.com>
31978
31979 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31980
a1967522 319812008-08-13 Robert Millan <rmh@aybabtu.com>
31982
31983 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31984 boot entry.
31985
371458b5 319862008-08-12 Robert Millan <rmh@aybabtu.com>
31987
31988 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31989 of the relocation code from here ...
31990 (grub_multiboot): ... to here.
31991 (forward_relocator, backward_relocator): Move from here ...
31992 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31993 (grub_multiboot_backward_relocator): ... to here.
31994 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31995 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31996 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31997 (grub_multiboot_forward_relocator_end)
31998 (grub_multiboot_backward_relocator)
31999 (grub_multiboot_backward_relocator_end): New variables.
32000
05f9452b 320012008-08-12 Bean <bean123ch@gmail.com>
32002
32003 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32004
20024ab0 320052008-08-11 Robert Millan <rmh@aybabtu.com>
32006
32007 * kern/i386/linuxbios/startup.S: Move from here ...
32008 * kern/i386/coreboot/startup.S: ... to here.
32009
32010 * kern/i386/linuxbios/init.c: Move from here ...
32011 * kern/i386/coreboot/init.c: ... to here.
32012
32013 * kern/i386/linuxbios/table.c: Move from here ...
32014 * kern/i386/coreboot/mmap.c: ... to here.
32015
32016 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32017
e352e9cd 320182008-08-11 Robert Millan <rmh@aybabtu.com>
32019
32020 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32021 errors. Leave it to the upper layer to handle them.
32022
2d05bc6a 320232008-08-09 Christian Franke <franke@computer.org>
32024
32025 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32026 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32027 Install `grub.d/10_windows' only on Cygwin.
32028 * configure.ac: Add subst of `target_os'.
32029 Check `target_os' also before setting TARGET_OBJ2ELF.
32030 Add `--enable-grub-pe2elf'.
32031
042bd419 320322008-08-08 Robert Millan <rmh@aybabtu.com>
32033
32034 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32035 (grub_last_time): Change type to grub_uint64_t.
32036 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32037 (grub_disk_close): Likewise.
32038
32039 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32040 (run_menu): Migrate code from to using grub_get_time_ms().
32041
32042 * util/misc.c (grub_get_time_ms): New function.
32043
7f280db5 320442008-08-08 Marco Gerards <marco@gnu.org>
32045
32046 * disk/ata.c (grub_ata_regget): Change return type to
32047 `grub_uint8_t'.
32048 (grub_ata_regget2): Likewise.
32049 (grub_ata_wait_status): New function.
32050 (grub_ata_wait_busy): Removed function, updated all users to use
32051 `grub_ata_wait_status'.
32052 (grub_ata_wait_drq): Likewise.
32053 (grub_ata_cmd): New function.
32054 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32055 error handling.
32056 (grub_ata_pio_write): Add error handling.
32057 (grub_atapi_identify): Likewise.
32058 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32059 handling.
32060 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32061 handling. Actually use the detected registers. Reorder the
32062 detection logic such that it is easier to read.
32063 (grub_ata_pciinit): Do not assign the same ID to each controller.
32064 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32065 handling.
32066 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32067
32068 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32069
1fbc5e66 320702008-08-08 Marco Gerards <marco@gnu.org>
32071
32072 * NEWS: Update.
32073
819ce6c0 320742008-08-07 Bean <bean123ch@gmail.com>
32075
32076 * include/grub/x86_64/pci.h: New file.
32077
5c41d44d 320782008-08-07 Christian Franke <franke@computer.org>
32079
32080 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32081 (TIMER2_GATE): Likewise.
32082 (grub_pit_wait): Add enable/disable of the timer2 gate
32083 bit of port 0x61. This fixes a possible infinite loop.
32084
5ebc275d 320852008-08-07 Bean <bean123ch@gmail.com>
32086
32087 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32088 kern/i386/tsc.c and kern/i386/pit.c.
32089
32090 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32091 x86_64 platform.
32092
32093 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32094 <grub/i386/tsc.h>.
32095
32096 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32097
e383b3d0 320982008-08-07 Bean <bean123ch@gmail.com>
32099
32100 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32101
32102 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32103
32104 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32105 multiple inclusion. Add #include <grub/types.h>.
32106
1cbb58ac 321072008-08-06 Christian Franke <franke@computer.org>
32108
32109 * conf/common.rmk: Build and install `10_windows'.
32110 * util/grub.d/10_windows.in: New script.
32111
337f5a1e 321122008-08-06 Pavel Roskin <proski@gnu.org>
32113
32114 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32115
057bc4ac 321162008-08-06 Robert Millan <rmh@aybabtu.com>
32117
32118 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32119 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32120
2b99f123 321212008-08-06 Bean <bean123ch@gmail.com>
32122
32123 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32124 (grub_pxefs_fs_int): Remove dummy definition.
32125 (grub_pxefs_open): Use data->block_size to store the current block
32126 size setting.
32127 (grub_pxefs_read): Use block size stored in data->block_size. As the
32128 value of grub_pxe_blksize can be changed after the file is opened.
32129
9f0234cb 321302008-08-06 Bean <bean123ch@gmail.com>
32131
32132 * fs/i386/pc/pxe.c (curr_file): new variable.
32133 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32134 require the dummy internal file system anymore.
32135 (grub_pxefs_read): Removed.
32136 (grub_pxefs_close): Likewise.
32137 (grub_pxefs_fs_int): Likewise.
32138 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32139 connection when we switch file.
32140 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32141
a55d42e0 321422008-08-06 Robert Millan <rmh@aybabtu.com>
32143
32144 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32145 `halt.mod'.
32146 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32147 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32148
32149 * kern/i386/halt.c: New file.
32150 * kern/i386/reboot.c: Likewise.
32151 * include/grub/i386/reboot.h: Likewise.
32152 * include/grub/i386/halt.h: Likewise.
32153
32154 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32155 Include `<grub/cpu/halt.h>'.
32156 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32157 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32158
32159 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32160 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32161 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32162 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32163 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32164 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32165 from here ...
32166 * include/grub/i386/at_keyboard.h: ... to here.
32167
24371d26 321682008-08-05 Robert Millan <rmh@aybabtu.com>
32169
32170 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32171 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32172 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32173 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32174 `kern/generic/millisleep.c'.
32175
32176 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32177 instead of grub_get_rtc().
32178 (grub_tsc_init): Initialize `tsc_boot_time'.
32179
32180 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32181 (grub_machine_init): Use grub_tsc_init() rather than
32182 installing an RTC-based handler via grub_install_get_time_ms().
32183
32184 * kern/i386/pit.c: New file.
32185 * include/grub/i386/pit.h: Likewise.
32186
9e7007b3 321872008-08-05 Bean <bean123ch@gmail.com>
32188
32189 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32190
32191 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32192 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32193 (pxe_mod_SOURCES): New macro.
32194 (pxe_mod_CFLAGS): Likewise.
32195 (pxe_mod_LDFLAGS): Likewise.
32196 (pxecmd_mod_SOURCES): Likewise.
32197 (pxecmd_mod_CFLAGS): Likewise.
32198 (pxecmd_mod_LDFLAGS): Likewise.
32199
32200 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32201 (grub_pxe_call): Likewise.
32202
32203 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32204
32205 * commands/i386/pc/pxecmd.c: New file.
32206
9f0234cb 32207 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32208
32209 * include/grub/i386/pc/pxe.h: Likewise.
32210
6977d49f 322112008-08-05 Bean <bean123ch@gmail.com>
32212
32213 * util/console.c (grub_console_cur_color): New variable.
32214 (grub_console_standard_color): Likewise.
32215 (grub_console_normal_color): Likewise.
32216 (grub_console_highlight_color): Likewise.
32217 (color_map): Likewise.
32218 (use_color): Likewise.
32219 (NUM_COLORS): New macro.
32220 (grub_ncurses_setcolorstate): Handle color properly.
32221 (grub_ncurses_setcolor): Don't change color here, just remember the
32222 settings, color will be set in grub_ncurses_setcolorstate.
32223 (grub_ncurses_getcolor): New function.
32224 (grub_ncurses_init): Initialize color pairs.
32225 (grub_ncurses_term): New member grub_ncurses_getcolor.
32226
9c2ff3ee 322272008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32228
9c2ff3ee 32229 High resolution timer support. Implemented for x86 CPUs using TSC.
32230 Extracted generic grub_millisleep() so it's linked in only as needed.
32231 This requires a Pentium compatible CPU; if the RDTSC instruction is
32232 not supported, then it falls back on the generic grub_get_time_ms()
32233 implementation that uses the machine's RTC.
32234
32235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32236 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32237 `kern/generic/millisleep.c'.
32238
32239 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32240 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32241
32242 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32243 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32244
32245 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32246
32247 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32248 `kern/generic/millisleep.c'.
32249
32250 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32251
32252 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32253
32254 * kern/generic/rtc_get_time_ms.c: New file.
32255
32256 * kern/generic/millisleep.c: New file.
337f5a1e 32257
9c2ff3ee 32258 * kern/misc.c: Don't include
32259 <kern/time.h> anymore.
32260 (grub_millisleep_generic): Removed.
32261
32262 * commands/sleep.c (grub_interruptible_millisleep): Uses
32263 grub_get_time_ms() instead of grub_get_rtc().
32264
32265 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32266 function.
32267 (grub_cpu_is_cpuid_supported): New inline function.
32268 (grub_cpu_is_tsc_supported): New inline function.
32269 (grub_tsc_init): New function prototype.
32270 (grub_tsc_get_time_ms): New function prototype.
32271
32272 * kern/i386/tsc.c (grub_get_time_ms): New file.
32273
32274 * include/grub/time.h: Include <grub/types.h.
32275 (grub_millisleep_generic): Removed.
32276 (grub_get_time_ms): New prototype.
32277 (grub_install_get_time_ms): New prototype.
32278 (grub_rtc_get_time_ms): New prototype.
32279
32280 * kern/time.c (grub_get_time_ms): New function.
32281 (grub_install_get_time_ms): New function.
32282
32283 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32284 <grub/time.h> anymore.
32285 (grub_millisleep): Removed.
32286 (grub_machine_init): Call grub_tsc_init.
32287
32288 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32289 get_time_ms() implementation.
32290
32291 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32292 (ieee1275_get_time_ms): New function.
32293 (grub_machine_init): Install get_time_ms() implementation.
32294
32295 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32296 (grub_machine_init): Call grub_tsc_init().
32297 (grub_millisleep): Removed.
bf06a93f 32298
9c2ff3ee 32299 * kern/ieee1275/init.c (grub_millisleep): Removed.
32300 (grub_machine_init): Install ieee1275_get_time_ms()
32301 implementation.
32302 (ieee1275_get_time_ms): New function.
32303 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32304 real work.
32305
9ec92aaf 323062008-08-05 Marco Gerards <marco@gnu.org>
32307
32308 * disk/ata.c: Include <grub/pci.h>.
32309 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32310 (grub_ata_initialize): Rewritten.
32311 (grub_ata_device_initialize): New function.
32312
8d23f507 323132008-08-04 Pavel Roskin <proski@gnu.org>
32314
32315 * kern/main.c: Include grub/mm.h.
32316
5e15ee3d 323172008-08-04 Robert Millan <rmh@aybabtu.com>
32318
32319 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32320 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32321 corruption problem).
32322
a9053f8f 323232008-08-04 Robert Millan <rmh@aybabtu.com>
32324
32325 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32326 warnings introduced in my last commit.
32327
dd19c7d7 323282008-08-03 Robert Millan <rmh@aybabtu.com>
32329
32330 Make PCI available on all i386 architectures.
32331
32332 * include/grub/i386/pc/pci.h: Move from here ...
32333 * include/grub/i386/pci.h: ... to here.
32334
32335 * include/grub/i386/pc/pci.h: Remove.
32336 * include/grub/i386/efi/pci.h: Remove.
32337 * include/grub/x86_64/efi/pci.h: Remove.
32338
32339 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32340 `<grub/cpu/pci.h>'.
32341
32342 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32343 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32344 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32345
32346 * conf/i386-ieee1275.rmk: Likewise.
32347
e14a6184 323482008-08-03 Robert Millan <rmh@aybabtu.com>
32349
32350 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32351 (grub_console_setcursor): Make it possible to set cursor off.
32352
52768e37 323532008-08-03 Robert Millan <rmh@aybabtu.com>
32354
32355 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32356 of modules instead of assuming which platform provides what.
32357 * util/update-grub.in: Likewise.
32358
2d52f57f 323592008-08-03 Robert Millan <rmh@aybabtu.com>
32360
32361 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32362 instead of `grub_install_dos_part' to determine whether a drive needs
32363 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32364 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32365
2a5cd121 323662008-08-02 Robert Millan <rmh@aybabtu.com>
32367
32368 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32369
93808428 323702008-08-02 Robert Millan <rmh@aybabtu.com>
32371
32372 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32373 of informational grub_dprintf() calls.
32374
3bd0a12a 323752008-08-02 Robert Millan <rmh@aybabtu.com>
32376
32377 * disk/memdisk.c (memdisk_size): Don't initialize.
32378 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32379
32380 * include/grub/i386/pc/kernel.h
32381 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32382 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32383 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32384 (grub_arch_memdisk_size): Remove.
32385
32386 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32387 field (was only used to transfer a constant). Add `type' field to
32388 support multiple module types.
32389 (grub_module_iterate): New function.
32390
32391 * kern/device.c (grub_device_open): Do not hide error messages
32392 when grub_disk_open() fails. Use grub_print_error() instead.
32393
32394 * kern/i386/pc/init.c (grub_arch_modules_addr)
32395 (grub_arch_memdisk_size): Remove functions.
32396 (grub_arch_modules_addr): Return the module address in high memory
32397 (now that it isn't copied anymore).
32398
32399 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32400 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32401 decompression routine (grub_total_module_size already includes that
32402 now). Don't copy modules back to low memory.
32403
32404 * kern/main.c: Include `<grub/mm.h>'.
32405 (grub_load_modules): Split out (and use) ...
32406 (grub_module_iterate): ... this function, which iterates through
32407 module objects and runs a hook.
32408 Comment out grub_mm_init_region() call, as it would cause non-ELF
32409 modules to be overwritten.
32410
32411 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32412 the memdisk image in its own region, make it part of the module list.
32413 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32414 (main): Parse --memdisk|-m option, and pass user-provided path as
32415 parameter to generate_image().
32416 (add_segments): Pass `memdisk_path' down to load_modules().
32417 (load_modules): Embed memdisk image in module section when requested.
32418 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32419 `header.type' instead of `header.offset'.
32420
32421 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32422 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32423 (memdisk_mod_LDFLAGS): New variables.
32424 * conf/i386-coreboot.rmk: Likewise.
32425 * conf/i386-ieee1275.rmk: Likewise.
32426
a927cc73 324272008-08-02 Robert Millan <rmh@aybabtu.com>
32428
32429 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32430 (backward_relocator): New variables. Used to allocate and relocate
32431 the payload, respectively.
32432 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32433 address, install the appropriate relocator code in each bound of
a927cc73 32434 the payload, and set the entry point such that
32435 grub_multiboot_real_boot() will jump to one of them.
32436
32437 * kern/i386/loader.S (grub_multiboot_payload_size)
32438 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32439 (grub_multiboot_payload_entry_offset): New variables.
32440 (grub_multiboot_real_boot): Set cpu context to what the relocator
32441 expects, and jump to the relocator instead of the payload.
32442
32443 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32444 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32445 (grub_multiboot_payload_entry_offset): Export.
32446
b15d8a0c 324472008-08-01 Bean <bean123ch@gmail.com>
32448
32449 * normal/menu_entry.c (editor_getline): Don't return the original
32450 string as result, as it will be released by lexer once it has done
32451 using it.
32452
cdfb3d22 324532008-08-01 Robert Millan <rmh@aybabtu.com>
32454
32455 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32456 within menuentries, not before them.
32457 util/grub.d/10_hurd.in: Likewise.
32458
9175e93d 324592008-08-01 Bean <bean123ch@gmail.com>
32460
32461 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32462 (bufio_mod_SOURCES): New macro.
32463 (bufio_mod_CFLAGS): Likewise.
32464 (bufio_mod_LDFLAGS): Likewise.
32465
32466 * include/grub/bufio.h: New file.
32467
32468 * io/bufio.c: Likewise.
32469
32470 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32471 (grub_video_reader_png): Use grub_buffile_open to open file.
32472
32473 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32474 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32475
32476 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32477 (grub_video_reader_tga): Use grub_buffile_open to open file.
32478
32479 * font/manager.c: Include <grub/bufio.h>.
32480 (add_font): Use grub_buffile_open to open file.
32481
3d8383e7 324822008-07-31 Robert Millan <rmh@aybabtu.com>
32483
32484 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32485 ELF segments, use a macro for arbitrarily accessing any of them instead
32486 of preparing a pointer that allows access to one at a time.
32487 (grub_multiboot_load_elf64): Likewise.
32488
16e641b6 324892008-07-31 Bean <bean123ch@gmail.com>
32490
32491 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32492 GRUB_KERNEL_MACHINE_DATA_END.
32493
59198b72 324942008-07-30 Robert Millan <rmh@aybabtu.com>
32495
32496 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32497 Increase from 0x50 to 0x60.
32498 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32499 use UUIDs to identify the root drive for them. If that's not
32500 possible, abort.
32501 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32502 check, for cross-disk installs.
32503
ae88bca3 325042008-07-30 Robert Millan <rmh@aybabtu.com>
32505
32506 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32507 is non-empty, use it to set the `prefix' environment variable instead
32508 of the usual approach.
32509 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32510 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32511 environment variable instead of dummy make_install_device().
32512
32513 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32514 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32515 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32516
32517 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32518 New variable reference.
32519 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32520 New macro. Defines offset of `grub_prefix' within startup.S (relative
32521 to `start').
32522 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32523 section within startup.S (relative to `start').
32524 * include/grub/i386/coreboot/kernel.h: Likewise.
32525
32526 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32527 Overwrite grub_prefix with its contents, at the beginning of the
32528 first segment.
32529 (main): Understand -p|--prefix.
32530
14f41dd1 325312008-07-30 Robert Millan <rmh@aybabtu.com>
32532
32533 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32534
4ca049a3 325352008-07-30 Robert Millan <rmh@aybabtu.com>
32536
32537 * term/i386/pc/vga_text.c (grub_console_cls): Use
32538 grub_console_gotoxy() to go back to beginning of the screen.
32539 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32540
2921d337 325412008-07-29 Christian Franke <franke@computer.org>
32542
32543 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32544 Add conversion of emulated mount points on Cygwin.
32545
b609876d 325462008-07-29 Christian Franke <franke@computer.org>
32547
32548 * util/update-grub.in: Add a check for admin
32549 group on Cygwin.
32550 Remove old `grub.cfg.new' before creation.
32551 Add `-f' to `mv' to handle the different filesystem
32552 semantics of Windows.
32553
e93e4679 325542008-07-29 Bean <bean123ch@gmail.com>
32555
32556 * normal/main.c (get_line): Fix buffer overflow bug.
32557
41694fd0 325582008-07-28 Robert Millan <rmh@aybabtu.com>
32559
32560 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32561 (struct grub_apple_header): New struct. Describes the layout of
32562 the partmap header.
32563 (apple_partition_map_iterate): Check the header magic as well as the
32564 partition magic (which was already being checked).
32565
cfd0b4e6 325662008-07-28 Pavel Roskin <proski@gnu.org>
32567
32568 * genmk.rb: Add a warning to the beginning of the output that
32569 it's a generated file and should not be edited.
32570
93cce016 325712008-07-28 Robert Millan <rmh@aybabtu.com>
32572
32573 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32574 with the same number are found, just use issue a warning with
32575 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32576
cd1df915 325772008-07-27 Robert Millan <rmh@aybabtu.com>
32578
32579 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32580 information.
32581
b70a8427 325822008-07-27 Bean <bean123ch@gmail.com>
32583
32584 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32585 (grub_fat_find_dir): Ignore case when comparing filename.
32586
8f5e379f 325872008-07-27 Bean <bean123ch@gmail.com>
32588
32589 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32590 smallino, as it's more descriptive, and i8count can be confused with
32591 the other field count.
32592 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32593 inode type.
32594
a85cd5a0 325952008-07-27 Bean <bean123ch@gmail.com>
32596
32597 * commands/crc.c: New file.
32598
32599 * lib/crc.c: Likewise.
32600
32601 * include/grub/lib/crc.h: Likewise.
32602
32603 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32604
32605 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32606 (hexdump): Move this function to ...
32607
32608 * lib/hexdump.c: ... here.
32609
32610 * include/grub/hexdump.h: Renamed to ...
32611
32612 * include/grub/lib/hexdump.h: ... this.
32613
32614 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32615
32616 * util/grub-editenv.c: Likewise.
32617
32618 * include/envblk.h: Renamed to ...
32619
32620 * include/lib/envblk.h: ... this.
32621
32622 * util/envblk.c: Renamed to ...
32623
32624 * lib/envblk.c: ... this.
32625
32626 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32627 lib/hexdump.c.
32628 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32629 (pkglib_MODULES): Add crc.mod.
32630 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32631 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32632 (crc_mod_SOURCES): New macro.
32633 (crc_mod_CFLAGS): Likewise.
32634 (crc_mod_LDFLAGS): Likewise.
32635
32636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32637
32638 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32639
32640 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32641
32642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32643
32644 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32645
c298def0 326462008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32647
32648 * commands/help.c: Include <grub/term.h>.
32649 (TERM_WIDTH): Removed. Updated all users.
32650
cc349fb3 326512008-07-27 Pavel Roskin <proski@gnu.org>
32652
32653 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32654 spurious warnings about a comment within a comment.
32655
9051607e 326562008-07-25 Robert Millan <rmh@aybabtu.com>
32657
32658 * util/getroot.c (find_root_device): Skip devices that match
32659 /dev/dm-[0-9]. This lets the real device be found for any type of
32660 abstraction (LVM, EVMS, RAID..).
32661 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32662 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32663 device is found first, find_root_device() will now skip it.
32664
01453bfc 326652008-07-24 Pavel Roskin <proski@gnu.org>
32666
32667 * include/grub/types.h: Use __builtin_bswap32() and
32668 __builtin_bswap64() with gcc 4.3 and newer.
32669
6af9849f 326702008-07-24 Christian Franke <franke@computer.org>
32671
3a0fa256 32672 * util/i386/pc/grub-install.in: If `--debug' is specified,
32673 pass `--verbose' to grub-setup.
32674 Abort script if make_system_path_relative_to_its_root() fails.
32675
7810e747 326762008-07-24 Bean <bean123ch@gmail.com>
32677
32678 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32679 variable `target_platform' should be `platform'.
32680
42290e17 326812008-07-24 Bean <bean123ch@gmail.com>
32682
51cc5193 32683 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32684 (grub_png_init_fixed_block): New function.
32685 (grub_png_decode_image_data): Handle fixed huffman code compression.
32686
2a8a80e4 326872008-07-24 Bean <bean123ch@gmail.com>
32688
32689 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32690 (grub_pe2elf_SOURCES): New macro.
32691 (CLEANFILES): Add grub-pe2elf.
32692
32693 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32694 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32695 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32696 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32697 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32698 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32699 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32700 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32701 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32702 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32703 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32704 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32705 (GRUB_PE32_DT_FUNCTION): Likewise.
32706 (GRUB_PE32_REL_I386_DIR32): Likewise.
32707 (GRUB_PE32_REL_I386_REL32): Likewise.
32708 (grub_pe32_symbol): New structure.
32709 (grub_pe32_reloc): Likewise.
32710
32711 * util/grub-pe2elf.c: New file.
32712
32713 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32714 start symbol in non pc platform.
32715
32716 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32717
32718 The following patches are from Christian Franke.
32719
32720 * include/grub/dl.h: Remove .previous, gas supports this only
32721 for ELF format.
32722
32723 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32724 Remove .type, gas supports this only for ELF format.
32725
32726 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32727 nullbytes in symbol table. This fixes an infinite loop if table is
32728 zero filled.
32729
32730 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32731 TARGET_IMG_LDFLAGS and EXEEXT.
32732
32733 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32734 TARGET_IMG_LDFLAGS_AC.
32735 (grub_CHECK_STACK_ARG_PROBE): New function.
32736
32737 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32738
32739 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32740
32741 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32742 to set TARGET_IMG_LD* accordingly.
32743 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32744 Add call to grub_CHECK_STACK_ARG_PROBE.
32745 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32746
32747 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32748
32749 * genmk.rb: Add EXEEXT to CLEANFILES.
32750
12ccdb75 327512008-07-23 Robert Millan <rmh@aybabtu.com>
32752
32753 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32754 define the codes for arrows and lines used for the menu).
32755 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32756 as well.
32757
32758 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32759 fonts, because the latter are too slow.
32760
18eeaf04 327612008-07-21 Bean <bean123ch@gmail.com>
32762
32763 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32764 a20. Run keyboard test last, as it will cause macbook to halt.
32765
b095e2ad 327662008-07-18 Pavel Roskin <proski@gnu.org>
32767
32768 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32769 load foreign architecture modules correctly anyway. Keep
32770 support for loading host architecture modules, whether we
32771 compile them or not.
32772
737feb35 327732008-07-17 Pavel Roskin <proski@gnu.org>
32774
3f4ce737 32775 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32776 change target_cpu. The compiler default can mismatch target_cpu
32777 in any case.
32778
4ad2d049 32779 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32780 * kern/efi/efi.c: Likewise.
32781
f6130a12 32782 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32783 target compiler is functional.
32784 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32785 are set up.
32786
58393a2d 32787 * configure.ac: Default to efi platform for x86_64-apple. Allow
32788 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32789 adjustments from the rest, only do them if target is not
32790 explicitly given. Merge other adjustments with the final sanity
32791 check. Remove an extraneous check for supported CPU. Be
32792 specific which CPU and which platform is not supported.
32793
737feb35 32794 * configure.ac: Default to pc platform for x86_64.
32795
546f966a 327962008-07-17 Robert Millan <rmh@aybabtu.com>
32797
32798 Partial LinuxBIOS -> Coreboot rename.
32799
32800 * conf/i386-linuxbios.rmk: Renamed to ...
32801 * conf/i386-coreboot.rmk: ... this.
32802 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32803 * configure.ac: Accept "coreboot" as input platform (but maintain
32804 compatibility with "linuxbios").
32805 * include/grub/i386/linuxbios: Renamed to ...
32806 * include/grub/i386/coreboot: ... this.
32807
20011694 328082008-07-17 Bean <bean123ch@gmail.com>
32809
32810 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32811 (appleldr_mod_SOURCE): New variable.
20011694 32812 (appleldr_mod_CFLAGS): Likewise.
32813 (appleldr_mod_LDFLAGS): Likewise.
32814 (pci_mod_SOURCES): Likewise.
32815 (pci_mod_CFLAGS): Likewise.
32816 (pci_mod_LDFLAGS): Likewise.
32817 (lspci_mod_SOURCES): Likewise.
32818 (lspci_mod_CFLAGS): Likewise.
32819 (lspci_mod_LDFLAGS): Likewise.
32820
32821 * conf/x86_64-efi.rmk: New file.
32822
32823 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32824 macro.
32825 (grub_efidisk_write): Likewise.
32826
32827 * include/efi/api.h (efi_call_0): New macro.
32828 (efi_call_1): Likewise.
32829 (efi_call_2): Likewise.
32830 (efi_call_3): Likewise.
32831 (efi_call_4): Likewise.
32832 (efi_call_5): Likewise.
32833 (efi_call_6): Likewise.
32834
32835 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32836 grub_rescue_cmd_chainloader.
32837
32838 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32839 (grub_pe32_optional_header): Change some fields based on i386 or
32840 x86_64 platform.
32841 (GRUB_PE32_PE32_MAGIC): Likewise.
32842
32843 * include/grub/efi/uga_draw.h: New file.
32844
32845 * include/grub/elf.h (STN_ABS): New constant.
32846 (R_X86_64_NONE): Relocation constant for x86_64.
32847 (R_X86_64_64): Likewise.
32848 (R_X86_64_PC32): Likewise.
32849 (R_X86_64_GOT32): Likewise.
32850 (R_X86_64_PLT32): Likewise.
32851 (R_X86_64_COPY): Likewise.
32852 (R_X86_64_GLOB_DAT): Likewise.
32853 (R_X86_64_JUMP_SLOT): Likewise.
32854 (R_X86_64_RELATIVE): Likewise.
32855 (R_X86_64_GOTPCREL): Likewise.
32856 (R_X86_64_32): Likewise.
32857 (R_X86_64_32S): Likewise.
32858 (R_X86_64_16): Likewise.
32859 (R_X86_64_PC16): Likewise.
32860 (R_X86_64_8): Likewise.
32861 (R_X86_64_PC8): Likewise.
32862
32863 * include/grub/i386/efi/pci.h: New file.
32864
32865 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32866 Change it value based on platform.
32867 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32868 (GRUB_E820_RAM): Likewise.
32869 (GRUB_E820_RESERVED): Likewise.
32870 (GRUB_E820_ACPI): Likewise.
32871 (GRUB_E820_NVS): Likewise.
32872 (GRUB_E820_EXEC_CODE): Likewise.
32873 (GRUB_E820_MAX_ENTRY): Likewise.
32874 (grub_e820_mmap): New structure.
32875 (linux_kernel_header): Change the efi field according to different
32876 kernel version, also field from linux_kernel_header.
32877
32878 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32879
32880 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32881 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32882 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32883 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32884 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32885 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32886 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32887 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32888 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32889 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32890
32891 * include/grub/x86_64/efi/kernel.h: New file.
32892
32893 * include/grub/x86_64/efi/loader.h: Likewise.
32894
32895 * include/grub/x86_64/efi/machine.h: Likewise.
32896
32897 * include/grub/x86_64/efi/pci.h: Likewise.
32898
32899 * include/grub/x86_64/efi/time.h: Likewise.
32900
32901 * include/grub/x86_64/linux.h: Likewise.
32902
32903 * include/grub/x86_64/setjmp.h: Likewise.
32904
32905 * include/grub/x86_64/time.h: Likewise.
32906
32907 * include/grub/x86_64/types.h: Likewise.
32908
32909 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32910 GRUB_TARGET_SIZEOF_VOID_P.
32911
32912 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32913 (grub_efi_locate_handle): Likewise.
32914 (grub_efi_open_protocol): Likewise.
32915 (grub_efi_set_text_mode): Likewise.
32916 (grub_efi_stall): Likewise.
32917 (grub_exit): Likewise.
32918 (grub_reboot): Likewise.
32919 (grub_halt): Likewise.
32920 (grub_efi_exit_boot_services): Likewise.
32921 (grub_get_rtc): Likewise.
32922
32923 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32924 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32925 (grub_efi_allocate_pages): Wrap efi calls.
32926 (grub_efi_free_pages): Wrap efi calls.
32927 (grub_efi_get_memory_map): Wrap efi calls.
32928
32929 * kern/x86_64/dl.c: New file.
32930
32931 * kern/x86_64/efi/callwrap.S: Likewise.
32932
32933 * kern/x86_64/efi/startup.S: Likewise.
32934
32935 * loader/efi/appleloader.c: Likewise.
32936
32937 * loader/efi/chainloader.c (cmdline): New variable.
32938 (grub_chainloader_unload): Wrap efi calls.
32939 (grub_chainloader_boot): Likewise.
32940 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32941 command line.
32942
32943 * loader/efi/chainloader_normal.c (chainloader_command):
32944 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32945 command line.
32946
32947 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32948 method.
32949 (grub_e820_add_region): New function.
32950 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32951 booting.
32952 (grub_find_video_card): New function.
32953 (grub_linux_setup_video): New function.
32954 (grub_rescue_cmd_linux): Probe for video information.
32955
32956 * normal/x86_64/setjmp.S: New file.
32957
32958 * term/efi/console.c (map_char): New function.
32959 (grub_console_putchar): Map unicode char.
32960 (grub_console_checkkey): Wrap efi calls.
32961 (grub_console_getkey): Likewise.
32962 (grub_console_getwh): Likewise.
32963 (grub_console_gotoxy): Likewise.
32964 (grub_console_cls): Likewise.
32965 (grub_console_setcolorstate): Likewise.
32966 (grub_console_setcursor): Likewise.
32967
32968 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32969
59652a20 329702008-07-16 Pavel Roskin <proski@gnu.org>
32971
ef294055 32972 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32973 format strings.
32974
59652a20 32975 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32976 pointer, not an integer. This fixes a warning and prevents
32977 precision loss on 64-bit systems.
32978 (relocate_addresses): Remove unneeded cast.
32979
afc3b5d7 329802008-07-15 Pavel Roskin <proski@gnu.org>
32981
506b2b3e 32982 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32983
62ead89c 32984 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32985
c4cd51d7 32986 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32987 Fix comparison between signed and unsigned.
32988
0d3d8f28 32989 * include/grub/i386/ieee1275/console.h: Declare
32990 grub_console_init() and grub_console_fini().
32991
8804b286 32992 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32993 It's empty and unused.
32994
ee01cf35 32995 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32996 beginning to avoid warnings with some compilers.
32997
afc3b5d7 32998 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32999 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33000
e4e8eaa5 330012008-07-14 Pavel Roskin <proski@gnu.org>
33002
407aceb4 33003 * kern/env.c (grub_register_variable_hook): Don't copy empty
33004 string, it leaks memory. Pass "" to grub_env_set(), it should
33005 handle constant strings.
33006
e4e8eaa5 33007 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33008 * commands/cmp.c (grub_cmd_cmp): Likewise.
33009 * kern/dl.c (grub_dl_flush_cache): Likewise.
33010 (grub_dl_load_core): Likewise.
33011 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33012 (grub_elf64_load_phdrs): Likewise.
33013
d4e2dad3 330142008-07-13 Pavel Roskin <proski@gnu.org>
33015
33016 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33017 between signed and unsigned.
33018 (LzmaEnc_Finish): Fix warning about an unused parameter.
33019
aa24b516 330202008-07-13 Bean <bean123ch@gmail.com>
33021
33022 * Makefile.in (enable_lzo): New rule.
33023
33024 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33025
33026 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33027
33028 * boot/i386/pc/lnxboot.S: #include <config.h>.
33029
33030 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33031 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33032
33033 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33034 compression algorithm according to configure macro.
33035
33036 * kern/i386/pc/startup.S (codestart): Likewise.
33037
33038 * kern/i386/pc/lzma_decode.S: New file.
33039
33040 * include/grub/lib/LzFind.h: Likewise.
33041
33042 * include/grub/lib/LzHash.h: Likewise.
33043
33044 * include/grub/lib/LzmaDec.h: Likewise.
33045
33046 * include/grub/lib/LzmaEnc.h: Likewise.
33047
33048 * include/grub/lib/LzmaTypes.h: Likewise.
33049
33050 * lib/LzFind.c: Likewise.
33051
33052 * lib/LzmaDec.c: Likewise.
33053
33054 * lib/LzmaEnc.c: Likewise.
33055
4ae821ac 330562008-07-13 Bean <bean123ch@gmail.com>
33057
33058 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33059 (grub_ext4_extent_header): New structure.
33060 (grub_ext4_extent): Likewise.
33061 (grub_ext4_extent_idx): Likewise.
33062 (grub_ext4_find_leaf): New function.
33063 (grub_ext2_read_block): Handle extents.
33064
9a745147 330652008-07-12 Robert Millan <rmh@aybabtu.com>
33066
33067 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33068
d49a4cf6 330692008-07-11 Robert Millan <rmh@aybabtu.com>
33070
33071 * util/grub.d/40_custom.in: New file. Example on how to add custom
33072 entries to /etc/grub.d.
33073 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33074 40_custom (implicitly, by merging all the grub.d rules).
33075
947414b4 330762008-07-11 Pavel Roskin <proski@gnu.org>
33077
0059cf6f 33078 * commands/read.c (grub_getline): Fix invalid memory access.
33079 Don't add newline to the variable value.
33080
947414b4 33081 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33082 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33083 (serial_hw_get_port): Check validity of the port number.
33084 (grub_cmd_serial): Check return value of serial_hw_get_port().
33085
62a02d00 330862008-07-07 Pavel Roskin <proski@gnu.org>
33087
33088 * boot/i386/pc/diskboot.S (notification_string): Replace
33089 "Loading kernel" with just "loading". This is shorter, less
33090 confusing and saves a few bytes for possible future changes.
33091
3e5581b0 330922008-07-05 Pavel Roskin <proski@gnu.org>
33093
ea387a48 33094 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33095 size for ATAPI devices, they are undefined. Output sector
33096 number in decimal form.
33097
3e5581b0 33098 * disk/ata.c: Use named constants for status bits.
33099
fdecb8fd 331002008-07-04 Pavel Roskin <proski@gnu.org>
33101
bcd35b90 33102 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33103 grub_addr_t before casting it to the void pointer to fix a
33104 warning. Non-addressable regions are discarded earlier.
33105 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33106 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33107 (check_signature): Don't shadow table_header.
33108 (grub_linuxbios_table_iterate): Cast numeric constants to
33109 grub_linuxbios_table_header_t.
33110 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33111 grub_stop().
33112
af58ab3d 33113 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33114 prevent warnings.
33115
1759aa57 33116 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33117 pointer, which can cause warnings. Support 64-bit addresses.
33118
fdecb8fd 33119 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33120 of sizeof(long). This fixes PowerPC image generation on x86_64.
33121
8516d2a8 331222008-07-04 Robert Millan <rmh@aybabtu.com>
33123
33124 This fixes a performance issue when pc & gpt partmap iterators
33125 didn't abort iteration even after our hook found what it was
fe987087 33126 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33127
33128 Some callers relied on previous buggy behaviour, since they would
34c44600 33129 raise an error when their own hooks caused early abortion of its
8516d2a8 33130 iteration.
33131
33132 * kern/device.c (grub_device_open): Improve error message.
33133 * disk/lvm.c (grub_lvm_open): Likewise.
33134 * disk/raid.c (grub_raid_open): Likewise.
33135
33136 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33137 when hook requests it, independently of grub_errno.
33138 (pc_partition_map_probe): Do not fail when find_func() caused
33139 early abortion of pc_partition_map_iterate().
33140
33141 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33142 when hook requests it, independently of grub_errno.
33143 (gpt_partition_map_probe): Do not fail when find_func() caused
33144 early abortion of gpt_partition_map_iterate().
33145
33146 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33147 when hook requests it, independently of grub_errno. Do not fail when
33148 part_map_iterate_hook() caused early abortion of p->iterate().
33149
33150 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33151 when grub_partition_iterate() returned with non-zero.
33152
277d0de9 331532008-07-03 Pavel Roskin <proski@gnu.org>
33154
33155 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33156 like we do in grub_ata_pio_read().
33157 (grub_ata_readwrite): Always write individual sectors. Fix the
33158 sector count for the remainder.
33159 (grub_ata_write): Enable writing to ATA devices. Correctly
33160 report error for ATAPI devices.
33161
d4c9b428 331622008-07-02 Pavel Roskin <proski@gnu.org>
33163
e43fc690 33164 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33165 warning.
33166
f707af42 33167 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33168 for every read sector, we already increment it for the whole
33169 batch. This fixes reading more than 256 sectors at once.
33170
11e16b15 33171 * util/grub-editenv.c (cmd_info): Cast argument to long
33172 explicitly. ptrdiff_t reduces to int on i386.
33173
cbabfdd4 33174 * util/grub-editenv.c (main): Be specific which parameter is
33175 missing.
33176
b8fbce0a 33177 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33178 (memdisk): Make memdisk_orig_addr a pointer.
33179
c9c8e606 33180 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33181 for file offsets, use grub_off_t instead. Fix printf format
33182 warnings.
33183
ca62e598 33184 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33185 there. Real unexpected warnings should not drown in the noise
33186 about known problems.
33187
ce8d1766 33188 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33189 grub_disk_addr_t for memory addresses.
33190
00c7a56a 33191 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33192 explicitly to fix a warning.
33193
08d3ef09 33194 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33195
cb71ba20 33196 * Makefile.in (MODULE_LDFLAGS): New variable.
33197 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33198 the linker accepts --build-id=none.
33199 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33200 MODULE_LDFLAGS.
33201 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33202
d4c9b428 33203 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33204 those in Linux XFS code. Provide a way to access 64-bit parent
33205 inode.
33206 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33207 the end of struct grub_xfs_dir_header.
33208
d4156eee 332092008-07-02 Bean <bean123ch@gmail.com>
33210
33211 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33212 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33213 and GRUB_IEEE1275_FLAG_NO_ANSI.
33214
33215 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33216 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33217 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33218
33219 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33220 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33221
33222 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33223 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33224
33225 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33226 esc sequence on non ANSI terminal.
33227 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33228
33229 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33230 beginning of file.
33231
2270f77b 332322008-07-02 Bean <bean123ch@gmail.com>
33233
33234 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33235 (grub_editenv_SOURCES): New variable.
33236 (pkglib_MODULES): Add loadenv.mod.
33237 (loadenv_mod_SOURCES): New variable.
33238 (loadenv_mod_CFLAGS): Likewise.
33239 (loadenv_mod_LDFLAGS): Likewise.
33240
33241 * include/grub/envblk.h: New file.
33242
33243 * util/envblk.c: New file.
33244
33245 * util/grub-editenv.c: New file.
33246
33247 * commands/loadenv.c: New file.
33248
0e9e51ec 332492008-07-01 Pavel Roskin <proski@gnu.org>
33250
d89b7634 33251 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33252 not unsigned char. This fixes warnings and is consistent with
33253 other tags.
33254
bf1835b1 33255 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33256
8222a04b 33257 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33258
6a42d99d 33259 * term/tparm.c (analyze): Always set *popcount.
33260
10b159d1 33261 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33262 cast to fix a warning.
33263
b8789f6c 33264 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33265 cast to suppress a warning.
33266
29d7e38a 33267 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33268 grub_fshelp_read_file() expects.
33269
f341f669 33270 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33271 write uuid as a 32-bit value in CPU byte order, so declare and
33272 use it as such.
33273
0e9e51ec 33274 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33275 long if the format specifier expects it.
33276 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33277 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33278 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33279 long to fix a warning.
33280 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33281 grub_dprintf() arguments to fix warnings.
33282
3aefa857 332832008-06-30 Pavel Roskin <proski@gnu.org>
33284
56c7668b 33285 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33286 install_bsd_part immediately before core.img is embedded or
33287 modified on disk. This fixes core.img verification if core.img
33288 cannot be embedded.
33289
3aefa857 33290 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33291 core_path to calculate the blocklist.
33292 Patch from Javier Martín <lordhabbit@gmail.com>
33293
5444088d 332942008-06-29 Robert Millan <rmh@aybabtu.com>
33295
33296 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33297 block to disk block.
33298 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33299 Patch from Niels Böhm <bitbucket@arcor.de>
33300
674835c8 333012008-06-29 Robert Millan <rmh@aybabtu.com>
33302
33303 * util/update-grub_lib.in (font_path): Search for fonts in
33304 /boot/grub first, which is more likely to be readable (we aren't
33305 deciding where fonts live, just looking for them).
33306
f527dbc8 333072008-06-26 Pavel Roskin <proski@gnu.org>
33308
6c2d8df6 33309 * util/biosdisk.c (read_device_map): Don't leave dead map
33310 entries for devices failing stat() check.
33311
f527dbc8 33312 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33313 core_path_dev for the core.img path on the target device.
33314
aebe3d13 333152008-06-26 Robert Millan <rmh@aybabtu.com>
33316
33317 * disk/fs_uuid.c: New file.
33318 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33319 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33320 (fs_uuid_mod_LDFLAGS): New variables.
33321 * include/grub/disk.h (grub_disk_dev_id): Add
33322 `GRUB_DISK_DEVICE_UUID_ID'.
33323 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33324 implement iterate().
33325
37aaf354 333262008-06-26 Robert Millan <rmh@aybabtu.com>
33327
33328 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33329 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33330 Linux image includes no initrd.
33331
25ff262a 333322008-06-21 Javier Martín <lordhabbit@gmail.com>
33333
33334 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33335 call to resolve the core image location that effectively appended the
33336 name twice.
33337
76a2bd44 333382008-06-21 Robert Millan <rmh@aybabtu.com>
33339
33340 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33341 call from here ...
33342
33343 * util/grub.d/10_hurd.in: ... to here ...
33344 * util/grub.d/10_linux.in: ... and here.
33345
650e1c79 333462008-06-19 Robert Millan <rmh@aybabtu.com>
33347
fe987087 33348 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33349 after it has been set by grub_machine_set_prefix().
33350
6ce63911 333512008-06-19 Robert Millan <rmh@aybabtu.com>
33352
33353 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33354 search result when not saving to variable, not the other way around.
33355 When saving to variable, abort iteration as soon as a match is found.
33356
73940cec 333572008-06-19 Robert Millan <rmh@aybabtu.com>
33358
33359 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33360 check for partition that provides /boot/grub. Its logic is flawed,
33361 as it prevents prepare_grub_to_access_device() from being called
33362 multiple times.
33363
3c62a39d 333642008-06-19 Robert Millan <rmh@aybabtu.com>
33365
33366 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33367 "insmod" command directly when abstraction modules are needed,
fe987087 33368 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33369 since it had already been processed).
33370
47395a42 333712008-06-19 Pavel Roskin <proski@gnu.org>
33372
33373 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33374 changed. This is needed in case GRUB_LIBDIR changes.
33375 * conf/i386-ieee1275.rmk: Likewise.
33376 * conf/i386-linuxbios.rmk: Likewise.
33377 * conf/i386-pc.rmk: Likewise.
33378 * conf/powerpc-ieee1275.rmk: Likewise.
33379
a145ac2d 333802008-06-18 Pavel Roskin <proski@gnu.org>
33381
33382 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33383 kernel_elf_symlist.c to symlist.c for consistency with other
33384 architectures. Update all users.
33385 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33386
7847c51e 333872008-06-18 Robert Millan <rmh@aybabtu.com>
33388
33389 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33390 it in prefix.
33391
33392 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33393 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33394 a RAID device, run setup() for all members independently on whether
33395 LVM abstraction is being used.
33396 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33397 If grub-mkimage has set `*install_dos_part == -2', don't override this
33398 value.
33399 Perform *install_dos_part adjustments independently on whether
33400 we're embedding or not.
33401 Clarify error message when image is too big for embedding.
33402 Remove duplicate *install_dos_part stanza.
33403
b23e5644 334042008-06-17 Robert Millan <rmh@aybabtu.com>
33405
33406 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33407 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33408 variables.
33409 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33410 values in grub_ofconsole_normal_color and
33411 grub_ofconsole_highlight_color (they're not directly related to
33412 background and foreground).
33413 (grub_ofconsole_setcolorstate): Extract background and foreground
33414 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33415
0aac2f79 334162008-06-17 Robert Millan <rmh@aybabtu.com>
33417
33418 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33419 /boot/grub for the check in last commit, not /boot (they could be
33420 different partitions).
33421
3cca7ef3 334222008-06-16 Robert Millan <rmh@aybabtu.com>
33423
33424 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33425 asked to setup access for the same partition that provides /boot,
33426 don't bother using UUIDs since our root already has the value we
33427 want.
33428
347396d8 334292008-06-16 Robert Millan <rmh@aybabtu.com>
33430
33431 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33432 I2O devices.
33433 Patch from Sven Mueller <sven@debian.org>.
33434
991477f8 334352008-06-16 Robert Millan <rmh@aybabtu.com>
33436
33437 * util/update-grub.in: Check for $EUID instead of $UID.
33438 Reported by Vincent Zweije.
33439
d31a32a1 334402008-06-16 Bean <bean123ch@gmail.com>
33441
fe987087 33442 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33443 (grub_ext2_read_block): Likewise.
33444 (grub_ext2_read_inode): Likewise.
33445 (grub_ext2_mount): Likewise.
33446 (grub_ext2_close): Likewise.
33447 (grub_ext3_get_journal): Removed.
33448
fe987087 33449 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33450 (grub_reiserfs_read_symlink): Likewise.
33451 (grub_reiserfs_mount): Likewise.
33452 (grub_reiserfs_open): Likewise.
33453 (grub_reiserfs_read): Likewise.
33454 (grub_reiserfs_close): Likewise.
33455 (grub_reiserfs_get_journal): Removed.
33456
33457 * fs/fshelp.c (grub_fshelp_read): Removed.
33458 (grub_fshelp_map_block): Likewise.
33459
33460 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33461 (grub_fshelp_journal): Likewise.
33462 (grub_fshelp_read): Likewise.
33463 (grub_fshelp_map_block): Likewise.
33464
3540a760 334652008-06-16 Pavel Roskin <proski@gnu.org>
33466
33467 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33468 floating point anymore.
33469 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33470
95614c84 334712008-06-15 Pavel Roskin <proski@gnu.org>
33472
33473 * commands/ls.c (grub_ls_list_files): Use integer calculations
33474 for human readable format, avoid floating point use.
33475 * kern/misc.c (grub_ftoa): Remove.
33476 (grub_vsprintf): Remove floating point support.
33477
50465dd6 334782008-06-15 Robert Millan <rmh@aybabtu.com>
33479
fe6b695a 33480 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33481 devices.
33482 Reported by Max Vozeler.
33483
a9207284 334842008-06-15 Robert Millan <rmh@aybabtu.com>
33485
33486 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33487 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33488 skipped later.
33489 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33490 the beginning of the prefix.
33491
33492 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33493 It is assumed that if we have a memdisk, grub-mkimage has set
33494 grub_prefix to include the "(memdisk)" drive in it.
33495
a7cbd45a 334962008-06-15 Robert Millan <rmh@aybabtu.com>
33497
33498 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33499 Initialize keyboard controller after registering the terminal, so that
33500 grub_printf() can be called from grub_keyboard_controller_init().
33501
21cf716a 335022008-06-15 Robert Millan <rmh@aybabtu.com>
33503
33504 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33505 extent-btree which is written as big endian on disk.
33506 Reported by Alain Greppin <al@chilibi.org>.
33507
23a64d8e 335082008-06-14 Robert Millan <rmh@aybabtu.com>
33509
33510 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33511 * util/i386/pc/grub-install.in (modules): Likewise.
33512
d687651c 335132008-06-13 Pavel Roskin <proski@gnu.org>
33514
33515 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33516
dfe9ddd4 335172008-06-13 Bean <bean123ch@gmail.com>
33518
33519 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33520
33521 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33522
33523 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33524 to indicate sparse block.
33525
16ae7781 335262008-06-12 Pavel Roskin <proski@gnu.org>
33527
e6d1a308 33528 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33529 number, grub_fshelp_read() does it for us.
33530
16ae7781 33531 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33532 linear disk read with journal translation.
33533 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33534 * include/grub/fshelp.h: Declare grub_fshelp_read().
33535
40fd3a2b 335362008-06-09 Pavel Roskin <proski@gnu.org>
33537
33538 * fs/minix.c (grub_minix_mount): Handle error reading
33539 superblock.
33540
f5679726 335412008-06-08 Robert Millan <rmh@aybabtu.com>
33542
33543 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33544 don't append the RAID prefix afterwards.
33545 Reported by Clint Adams.
33546
ce525529 335472008-06-08 Robert Millan <rmh@aybabtu.com>
33548
33549 Based on description from Pavel:
33550 * kern/disk.c (grub_disk_check_range): Rename to ...
33551 (grub_disk_adjust_range): ... this. Add a comment explaining the
33552 tasks performed by this function.
33553
ad4936a0 335542008-06-08 Robert Millan <rmh@aybabtu.com>
33555
33556 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33557 `num_serial' (for consistency with other variables).
33558 (struct grub_ntfs_data): Add `uuid' member.
33559 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33560 (grub_ntfs_uuid): New function.
33561 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33562
dc20b0f9 335632008-06-07 Pavel Roskin <proski@gnu.org>
33564
33565 * util/biosdisk.c (open_device): Revert last change to the
33566 function, it broke installation. The sector needs to be
33567 different dependent on which device is opened.
33568
c5e3cfba 335692008-06-06 Robert Millan <rmh@aybabtu.com>
33570
33571 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33572 rest of GRUB, and breakage doesn't happen if its value were modified.
33573
33574 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33575 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33576 a constant (same value).
33577 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33578 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33579
26a1f8c4 335802008-06-06 Robert Millan <rmh@aybabtu.com>
33581
33582 * util/biosdisk.c (open_device): Do not modify sector offset when
33583 accessing a partition. kern/disk.c already handles this for us.
33584
25d6b327 335852008-06-06 Robert Millan <rmh@aybabtu.com>
33586
33587 * util/grub-emu.c (grub_machine_init): Move code in this function from
33588 here ...
33589 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33590 segfault in case grub_printf() is called).
33591
33592 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33593 grub_probe. Update all users not to explicitly add it again.
33594 (grub_device): New variable; contains corresponding device for grubdir.
33595 (fs_module, partmap_module, devabstraction_module): Pass
33596 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33597 every time.
33598
9ece62fb 335992008-06-05 Robert Millan <rmh@aybabtu.com>
33600
33601 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33602 is found, print it (same layout as with labels).
33603
1ad36d37 336042008-06-04 Robert Millan <rmh@aybabtu.com>
33605
33606 * util/biosdisk.c (get_drive): Rename to ...
33607 (find_grub_drive): ... this. Update all users.
33608
33609 (get_os_disk): Rename to ...
33610 (convert_system_partition_to_system_disk): ... this. Update all users.
33611
33612 (find_drive): Rename to ...
33613 (find_system_device): ... this. Update all users.
33614
e6a30859 336152008-06-04 Robert Millan <rmh@aybabtu.com>
33616
33617 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33618 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33619 (make_device_map): Likewise.
33620
00c108a4 336212008-06-01 Robert Millan <rmh@aybabtu.com>
33622
33623 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33624 before dereferencing it.
33625
33626 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33627 union with fat12/fat16-specific ones. Add some new fields, including
33628 `num_serial' for both versions.
33629 (struct grub_fat_data): Add `uuid' member.
33630 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33631 names. Initialize `data->uuid' using `num_serial'.
33632 (grub_fat_uuid): New function.
33633 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33634
33635 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33636 (grub_reiserfs_uuid): New function.
33637 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33638 member.
33639
33640 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33641 (grub_xfs_uuid): New function.
33642 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33643
1385c5bb 336442008-06-01 Robert Millan <rmh@aybabtu.com>
33645
33646 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33647 code that is backward compatible with pre-uuid search command.
33648
c682dfd7 336492008-05-31 Robert Millan <rmh@aybabtu.com>
33650
33651 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33652 floppies after everything else, to ensure floppy drive isn't accessed
33653 unnecessarily (patch from Bean).
33654
b7db5d47 336552008-05-31 Robert Millan <rmh@aybabtu.com>
33656
33657 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33658 not print device names when we were asked to set a variable.
33659
6e037aa9 336602008-05-31 Robert Millan <rmh@aybabtu.com>
33661
33662 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33663 using "cursor-on" and "cursor-off" commands (understood at least by
33664 the Open Firmware flavour on OLPC).
33665
41305bc8 336662008-05-31 Michael Gorven <michael@gorven.za.net>
33667
33668 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33669 on and off sequences.
33670
69ba137e 336712008-05-31 Robert Millan <rmh@aybabtu.com>
33672
33673 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33674 * util/update-grub.in: Likewise.
33675
520ae21b 336762008-05-30 Pavel Roskin <proski@gnu.org>
33677
33678 * util/biosdisk.c (linux_find_partition): Simplify logic and
33679 make the code more universal. Keep special processing for
33680 devfs, but use a simple rule for all other devices. If the
33681 device ends with a number, append 'p' and the partition number.
33682 Otherwise, append only the partition number.
33683
5786569b 336842008-05-30 Robert Millan <rmh@aybabtu.com>
33685
33686 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33687 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33688 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33689 the `root' parameter to Linux.
33690
51500452 336912008-05-30 Robert Millan <rmh@aybabtu.com>
33692
33693 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33694 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33695 --fs_uuid with --fs-uuid.
33696 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33697 all filesystems support them).
33698
811d3878 336992008-05-30 Robert Millan <rmh@aybabtu.com>
33700
33701 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33702 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33703
cab63c95 337042008-05-30 Robert Millan <rmh@aybabtu.com>
33705
33706 * util/grub.d/00_header.in: Remove obsolete comment referencing
33707 convert_system_path_to_grub_path().
33708 * util/update-grub.in: Likewise.
33709 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33710 (convert_system_path_to_grub_path): Add a warning message explaining
33711 that this function is deprecated. Rely on is_path_readable_by_grub()
33712 for the readability checks.
33713 (font_path): Use is_path_readable_by_grub() for the readability
33714 check rather than convert_system_path_to_grub_path().
33715
972e2f7a 337162008-05-30 Robert Millan <rmh@aybabtu.com>
33717
33718 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33719 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33720 converting it first.
33721 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33722 grub.cfg for access to font file, and afterwards call it again to set
33723 the root device.
33724
62191274 337252008-05-30 Robert Millan <rmh@aybabtu.com>
33726
33727 * commands/search.c (options): Add --fs_uuid option.
33728 (search_fs_uuid): New function.
33729 (grub_cmd_search): Fix --set argument passing.
33730 Use search_fs_uuid() when requested via --fs_uuid.
33731 (grub_search_init): Update help message.
33732 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33733 and redeclare it as an array of 16-bit words.
33734 (grub_ext2_uuid): New function.
33735 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33736 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33737 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33738 (GRUB_DEVICE_BOOT_UUID): New variables.
33739 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33740 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33741 whenever possible.
33742 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33743 just assume `root' variable has the right value.
33744 * util/grub.d/10_linux.in: Likewise.
33745 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33746 via PRINT_FS_UUID.
33747 (main): Recognise `-t fs_uuid' argument.
33748
01b73ec8 337492008-05-30 Robert Millan <rmh@aybabtu.com>
33750
33751 * util/biosdisk.c (map): Redefine structure to hold information
33752 about GRUB drive name.
fe6b695a 33753 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33754 drive names.
33755 (call_hook): Remove.
33756 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33757 member. Assume drive has partitions.
33758 (grub_util_biosdisk_open): Access device names via `.device' struct
33759 member.
33760 (open_device): Likewise.
33761 (find_drive): Likewise.
33762 (read_device_map): Adjust map[] usage to match the new struct
33763 definition. Don't check for duplicates (still possible, but not cheap
33764 anymore).
33765 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33766 (make_device_name): Remove assumption of BIOS-like drive names.
33767
22f16596 337682008-05-30 Pavel Roskin <proski@gnu.org>
33769
33770 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33771 compiling execute.c doesn't need grub_script.tab.h anymore.
33772 (normal/command.c_DEPENDENCIES): Likewise.
33773 (normal/function.c_DEPENDENCIES): Likewise.
33774 * conf/i386-ieee1275.rmk: Likewise.
33775 * conf/i386-linuxbios.rmk: Likewise.
33776 * conf/i386-pc.rmk: Likewise.
33777 * conf/powerpc-ieee1275.rmk: Likewise.
33778 * conf/sparc64-ieee1275.rmk: Likewise.
33779
528ad8f2 337802008-05-29 Pavel Roskin <proski@gnu.org>
33781
d1dff95d 33782 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33783 when scanning metadata for volume group name.
33784
528ad8f2 33785 * include/grub/script.h: Don't include grub_script.tab.h. It's
33786 a generated file, which may only be included from the files with
33787 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33788 use union YYSTYPE, as the later allows forward declaration.
33789 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33790
47248e08 337912008-05-29 Robert Millan <rmh@aybabtu.com>
33792
33793 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33794 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33795 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33796 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33797 scan codes.
33798
ee632529 337992008-05-29 Robert Millan <rmh@aybabtu.com>
33800
33801 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33802 control key combinations.
33803
eee96e08 338042008-05-29 Robert Millan <rmh@aybabtu.com>
33805
33806 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33807 * util/ieee1275/grub-install.in: ... to here.
33808 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33809 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33810 (grub_install_SOURCES): Likewise.
33811
da9a6a94 338122008-05-29 Robert Millan <rmh@aybabtu.com>
33813
33814 * fs/affs.c: Update copyright year.
33815 * fs/ext2.c: Likewise.
33816 * fs/fshelp.c: Likewise.
33817 * fs/hfsplus.c: Likewise.
33818 * fs/ntfs.c: Likewise.
33819 * fs/xfs.c: Likewise.
33820 * include/grub/fshelp.h: Likewise.
33821 * util/grub-mkdevicemap.c: Likewise.
33822
12e65f3a 338232008-05-28 Robert Millan <rmh@aybabtu.com>
33824
33825 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33826 might need to be fatfs to support some firmware implementations
33827 (e.g. OFW or EFI).
33828
23023641 338292008-05-28 Robert Millan <rmh@aybabtu.com>
33830
33831 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33832 devices.
33833 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33834 (make_device_map): Likewise.
33835
887d2619 338362008-05-20 Bean <bean123ch@gmail.com>
33837
33838 * fs/fshelp.c (grub_fshelp_map_block): New function.
33839 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33840 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33841
33842 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33843 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33844 (grub_fshelp_journal): New structure.
33845 (grub_fshelp_map_block): New function prototype.
33846 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33847 (grub_fshelp_map_block): Likewise.
33848
33849 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33850 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33851 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33852 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33853 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33854 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33855 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33856 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33857 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33858 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33859 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33860 (grub_ext2_sblock): New members for journal support.
33861 (grub_ext3_journal_header): New structure.
33862 (grub_ext3_journal_revoke_header): Likewise.
33863 (grub_ext3_journal_block_tag): Likewise.
33864 (grub_ext3_journal_sblock): Likewise.
33865 (grub_fshelp_node): New members logfile and journal.
33866 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33867 grub_fshelp_map_block to get real block number.
33868 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33869 number.
33870 (grub_ext2_read_inode): Likewise.
33871 (grub_ext3_get_journal): New function.
33872 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33873 (grub_ext2_close): Release memory used by journal.
33874
33875 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33876 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33877 (grub_reiserfs_transaction_header): Renamed to
33878 grub_reiserfs_description_block, replace field data with real_blocks.
33879 (grub_reiserfs_commit_block): New structure.
33880 (grub_reiserfs_data): New member journal.
33881 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33882 number.
33883 (grub_reiserfs_read_symlink): Likewise.
33884 (grub_reiserfs_iterate_dir): Likewise.
33885 (grub_reiserfs_open): Likewise.
33886 (grub_reiserfs_read): Likewise.
33887 (grub_reiserfs_get_journal): New function.
33888 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33889 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33890 using grub_reiserfs_get_journal.
33891 (grub_reiserfs_close): Release memory used by journal.
33892
33893 * fs/affs.c (grub_affs_read_block): Change block type to
33894 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33895
33896 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33897
33898 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33899
33900 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33901
33902 * fs/udf.c (grub_udf_read_block): Change block type to
33903 grub_disk_addr_t. Use type cast to avoid warning.
33904
33905 * fs/xfs.c (grub_xfs_read_block): Likewise.
33906
b7c6bed5 339072008-05-16 Christian Franke <franke@computer.org>
33908
33909 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33910 to ensure that break with ESC will always work.
33911 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33912 Remove ESC from keyboard queue.
33913
eedf167f 339142008-05-16 Christian Franke <franke@computer.org>
33915
33916 * util/biosdisk.c: [__CYGWIN__] Add includes.
33917 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33918 (get_os_disk): Move variable declarations to OS specific
33919 parts to avoid warning.
33920 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33921 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33922 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33923 Cygwin.
33924 * util/getroot.c: [__CYGWIN__] Add includes.
33925 (strip_extra_slashes): Fix "/" case.
33926 [__CYGWIN__] (get_win32_path): New function.
33927 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33928 [__CYGWIN__] (find_root_device): Disable.
33929 [__CYGWIN__] (get_bootsec_serial): New function.
33930 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33931 [__linux__] (grub_guess_root_device): Add early returns to simplify
33932 structure.
33933 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33934 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33935 check for Linux only.
33936
a079699e 339372008-05-15 Bean <bean123ch@gmail.com>
33938
33939 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33940 keyboard hang problem in apple's intel mac.
33941
1cf4059a 339422008-05-09 Robert Millan <rmh@aybabtu.com>
33943
33944 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33945 devices.
33946 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33947 (make_device_map): Likewise.
33948 Reported by Aurelien Jarno <aurel32@debian.org>
33949
ed759390 339502008-05-07 Ian Campbell <ijc@hellion.org.uk>
33951
33952 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33953 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33954 (make_device_map): Output entries for xvd type disks.
33955
b56c4eaa 339562008-05-07 Robert Millan <rmh@aybabtu.com>
33957
33958 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33959 devices.
33960 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33961 (make_device_map): Likewise.
33962 Reported by Roland Dreier <rdreier@cisco.com>
33963
7f8866ed 339642008-05-07 Robert Millan <rmh@aybabtu.com>
33965
33966 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33967 grub_strstr() call. Correct a few mistakes in failure path handling.
33968
b0346e0f 339692008-05-06 Robert Millan <rmh@aybabtu.com>
33970
33971 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33972 Do not print a trailing slash (therefore, the root directory is an
33973 empty string).
33974 (convert_system_path_to_grub_path): Do not remove trailing slash
33975 from make_system_path_relative_to_its_root() output.
33976
33977 * util/i386/pc/grub-install.in: Add trailing slash to output from
33978 make_system_path_relative_to_its_root().
33979
6cf12cbd 339802008-05-06 Robert Millan <rmh@aybabtu.com>
33981
33982 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33983 ensures that output lines aren't intermangled with those sent to
33984 stderr (via grub_util_info()).
33985 * util/grub-probe.c (grub_refresh): Likewise.
33986 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33987
0fbb3117 339882008-05-05 Christian Franke <franke@computer.org>
33989
33990 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33991 Add Cygwin device names.
33992 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33993 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33994 (check_device): Return error instead of success on empty name.
33995 (make_device_map): Move label inside linux specific code to
33996 prevent compiler warning.
33997
8124cdb7 339982008-04-30 Robert Millan <rmh@aybabtu.com>
33999
34000 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34001 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34002 first boot option.
34003 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34004
094c01d0 340052008-04-29 Robert Millan <rmh@aybabtu.com>
34006
34007 * docs/grub.cfg: New file (example GRUB configuration).
34008
f4b1fc02 340092008-04-26 Robert Millan <rmh@aybabtu.com>
34010
329ce2a5 34011 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34012 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34013 and `disk/ieee1275/nand.c'.
f4b1fc02 34014
25f16ec1 340152008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34016
25f16ec1 34017 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34018 i386-linuxbios.
34019
34020 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34021 change the buffer size to 4096 for cdrom device.
34022
34023 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34024 and nand.mod.
34025 (_linux_mod_SOURCES): New variable.
34026 (_linux_mod_CFLAGS): Likewise.
34027 (_linux_mod_LDFLAGS): Likewise.
34028 (linux_mod_SOURCES): Likewise.
34029 (linux_mod_CFLAGS): Likewise.
34030 (linux_mod_LDFLAGS): Likewise.
34031 (nand_mod_SOURCES): Likewise.
34032 (nand_mod_CFLAGS): Likewise.
34033 (nand_mod_LDFLAGS): Likewise.
34034
34035 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34036 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34037 type property. (nand device in olpc don't have this property)
34038
34039 * include/grub/disk.h (grub_disk_dev_id): New macro
34040 GRUB_DISK_DEVICE_NAND_ID.
34041
34042 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34043 function prototype.
34044 (grub_rescue_cmd_initrd): Likewise.
34045
34046 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34047 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34048 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34049
25f16ec1 34050 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34051 GRUB_MACHINE_IEEE1275 is defined.
34052
34053 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34054 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34055
34056 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34057 on nested function heap_init.
34058 (grub_upper_mem): New variable for i386-ieee1275.
34059 (grub_get_extended_memory): New function for i386-ieee1275.
34060 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34061
34062 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34063 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34064 property.
f19dbdb7 34065
25f16ec1 34066 * loader/i386/ieee1275/linux.c: New file.
34067
34068 * loader/i386/ieee1275/linux_normal.c: New file.
34069
34070 * disk/ieee1275/nand.c: New file.
34071
e89d61e9 340722008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34073
34074 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34075 value.
34076 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34077
602566f6 340782008-04-18 Robert Millan <rmh@aybabtu.com>
34079
34080 Restructures early code path on ieee1275 to unify grub_main() as
34081 the first C function that is executed in every platform.
34082
34083 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34084 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34085 cmain().
34086 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34087 * kern/ieee1275/cmain.c (cmain): Rename to ...
34088 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34089 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34090 at the beginning.
34091
57490c2b 340922008-04-18 Robert Millan <rmh@aybabtu.com>
34093
34094 * util/update-grub.in: Fix syntax error when setting
34095 `GRUB_PRELOAD_MODULES'.
34096 Reported by Stephane Chazelas <stephane@artesyncp.com>
34097
1977517d 340982008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34099
34100 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34101 section into account, newer toolchains generate unique build ids
34102 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34103 we want build ids to be preserved
1977517d 34104 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34105 far from other sections don't cause the raw binary images grow
34106 size
34107
bfb1f1a2 341082008-04-15 Robert Millan <rmh@aybabtu.com>
34109
34110 * disk/lvm.c: Update copyright year.
34111 * kern/misc.c: Likewise.
34112
01979850 341132008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34114
34115 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34116 there is no memory left for physical volume name.
01979850 34117
0a1150e2 341182008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34119
34120 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34121 volume name mapping to support bigger than 9 character names properly.
34122
82ead3fe 341232008-04-13 Robert Millan <rmh@aybabtu.com>
34124
34125 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34126 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34127
e54a72f5 341282008-04-13 Christian Franke <franke@computer.org>
34129
34130 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34131 to create a floppy emulation boot CD when non emulation mode
34132 does not work.
34133 Enable Joliet CD filesystem extension.
34134
9fe86034 341352008-04-13 Robert Millan <rmh@aybabtu.com>
34136
34137 * kern/misc.c (grub_strncat): Fix off-by-one error.
34138 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34139
34140 * kern/env.c (grub_env_context_close): Clear current context, not
34141 previous one.
34142 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34143
34144 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34145
7ceeee39 341462008-04-13 Robert Millan <rmh@aybabtu.com>
34147
34148 Improve robustness when handling LVM.
34149
34150 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34151 (and leave `*p' unmodified).
7ceeee39 34152 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34153 through it.
34154 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34155 iterating through it.
34156 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34157 through it.
fe6b695a 34158 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34159 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34160 Don't assume `vg->pvs != NULL' when iterating through it.
34161
58cd3d85 341622008-04-13 Robert Millan <rmh@aybabtu.com>
34163
34164 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34165 * genmk.rb (partmap): New variable.
34166 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34167 (#{partmap}): New target rule.
34168 * genpartmaplist.sh: New file.
34169 * Makefile.in (pkglib_DATA): Add partmap.lst.
34170 (partmap.lst): New target rule.
34171 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34172 modules (including all partition maps), instead of preloading them.
34173
78b51059 341742007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34175
34176 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34177 `linux-boot-prober' (if installed) to detect other operating
34178 systems which are installed on the computer and add them to
34179 the boot menu.
34180 * conf/common.rmk: Build and install 30_os-prober.
34181
a91627b4 341822008-04-12 Robert Millan <rmh@aybabtu.com>
34183
34184 * kern/powerpc/ieee1275/init.c: Move from here ...
34185 * kern/ieee1275/init.c: ... to here. Update all users.
34186
34187 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34188 * kern/ieee1275/cmain.c: ... to here. Update all users.
34189
34190 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34191 * kern/ieee1275/openfw.c: ... to here. Update all users.
34192
34193 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34194 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34195
322562ea 341962008-04-10 Pavel Roskin <proski@gnu.org>
34197
34198 * configure.ac: Always use "_cv_" in cache variables for
34199 compatibility with Autoconf 2.62.
34200
a02a73c5 342012008-04-07 Robert Millan <rmh@aybabtu.com>
34202
34203 Revert grub/machine/init.h addition by Pavel (since it breaks on
34204 i386-ieee1275 and others):
34205 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34206 * util/powerpc/ieee1275/misc.c: Likewise.
34207
25c024b1 342082008-04-07 Robert Millan <rmh@aybabtu.com>
34209
34210 * util/grub-probe.c (probe): Improve error message.
34211
3cbd2f98 342122008-04-07 Robert Millan <rmh@aybabtu.com>
34213
34214 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34215 (this prevents the presence of a bogus entry from ruining the whole
34216 thing).
34217
87a297bf 342182008-04-06 Pavel Roskin <proski@gnu.org>
34219
36747a62 34220 * util/biosdisk.c: Include grub/util/biosdisk.h.
34221 * util/grub-fstest.c (execute_command): Make static.
34222 * util/grub-mkdevicemap.c (check_device): Likewise.
34223 * util/i386/pc/misc.c: Include grub/machine/init.h.
34224 * util/powerpc/ieee1275/misc.c: Likewise.
34225 * util/lvm.c: Include grub/util/lvm.h.
34226 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34227 grub/cache.h.
34228 * util/raid.c: Include grub/util/raid.h.
34229 (grub_util_getdiskname): Make static.
34230
87a297bf 34231 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34232 grub_hostfs_fini(), as they are called from grub_init_all() and
34233 grub_fini_all() respectively. This fixes an infinite loop in
34234 grub-fstest due to double registration of hostfs.
34235 Reported by Christian Franke <Christian.Franke@t-online.de>
34236
f6ce7629 342372008-04-05 Pavel Roskin <proski@gnu.org>
34238
34239 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34240 all 8 functions. Otherwise, probe function 0 only.
34241
070e49e4 342422008-04-04 Pavel Roskin <proski@gnu.org>
34243
8b088a4c 34244 * commands/lspci.c (grub_lspci_iter): Print the bus number
34245 correctly.
34246
4f657021 34247 * commands/lspci.c (grub_pci_classes): Fix typos.
34248 (grub_lspci_iter): Don't print func twice. Print vendor ID
34249 before device ID, as it's normally done.
34250
070e49e4 34251 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34252 Fix signedness warnings.
34253 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34254 Likewise.
34255 * util/ieee1275/get_disk_name.c: Include config.h so that
34256 _GNU_SOURCE is defined and getline() is declared. Mark an
34257 unused argument as such. Fix a signedness warning.
34258
ba7328dc 342592008-04-02 Pavel Roskin <proski@gnu.org>
34260
26887f22 34261 * genkernsyms.sh.in: Use more robust assignments for CC and
34262 srcdir. Quote srcdir.
34263 * gensymlist.sh.in: Likewise. Assert at the compile time that
34264 the symbol table is not empty.
34265
ba7328dc 34266 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34267 * fs/cpio.c (grub_cpio_read): Likewise.
34268
0f582c6b 342692008-04-01 Pavel Roskin <proski@gnu.org>
34270
4b6e1995 34271 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34272 * disk/host.c (grub_host_open): Likewise.
34273 * disk/loopback.c (grub_loopback_open): Likewise.
34274 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34275 disk->id as in disk/host.c, not a multi-character constant.
34276
828a2768 34277 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34278 later is obsolete, potentially dangerous and sets a bad example.
34279 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34280 * util/misc.c (grub_util_get_image_size): Likewise.
34281
2bb4fb47 34282 * disk/loopback.c (options): Improve help for "--partitions".
34283
0f582c6b 34284 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34285 options to align them with the short options, e.g. "echo -e".
34286
a33224e0 342872008-03-31 Bean <bean123ch@gmail.com>
34288
34289 * video/reader/png.c (grub_png_data): New member is_16bit and
34290 image_data.
34291 (grub_png_decode_image_header): Detect 16 bit png image.
34292 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34293 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34294 (grub_video_reader_png): Release memory occupied by image_data.
34295
34296 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34297 4096 bytes.
34298 (grub_nfs_mount): Skip the test for sector per cluster.
34299
34300 * include/grub/ntfs.h (MAX_SPC): Removed.
34301
86cb4f54 343022008-03-31 Bean <bean123ch@gmail.com>
34303
34304 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34305 (grub_probe_SOURCES): Add fs/afs.c.
34306 (grub_fstest_SOURCES): Likewise.
34307 (afs_mod_SOURCES): New variable.
34308 (afs_mod_CFLAGS): Likewise.
34309 (afs_mod_LDFLAGS): Likewise.
34310
34311 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34312 (grub_emu_SOURCES): Likewise.
34313
34314 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34315
34316 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34317
34318 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34319
34320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34321
34322 * fs/afs.c: New file.
34323
17c74c21 343242008-03-30 Pavel Roskin <proski@gnu.org>
34325
4cb68e89 34326 * disk/host.c: Include grub/misc.h to fix a warning.
34327 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34328 warnings about implicit declarations.
34329
8790bb04 34330 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34331 variable.
34332 * include/grub/i386/loader.h: Change declaration of
34333 grub_linux_boot() to match what grub_loader_set() expects.
34334 * util/getroot.c (grub_guess_root_device): Return const char* to
34335 fix a warning.
34336 * util/grub-probe.c (probe): Fix a warning about uninitialized
34337 abstraction_name variable.
34338 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34339 second argument as unused to fix a warning.
34340
9a3f3296 34341 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34342 missing grub_error() call.
34343
0ecef90d 34344 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34345 2.60 and newer uses it to define datadir.
34346
0bf6d401 34347 * commands/sleep.c: Fix warning about implicit declaration.
34348 * disk/memdisk.c: Likewise.
34349 * loader/aout.c: Likewise.
34350 * loader/i386/bsd_normal.c: Likewise.
34351 * util/grub-probe.c: Likewise.
34352
7cdacf97 34353 * commands/i386/cpuid.c (has_longmode): Make static.
34354 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34355 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34356
17c74c21 34357 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34358 GDT. This is more robust, as %ds can change.
34359 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34360 calling real_to_prot().
34361 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34362
80a3e68b 343632008-03-28 Pavel Roskin <proski@gnu.org>
34364
34365 * kern/i386/pc/startup.S: Assert that uncompressed functions
34366 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34367 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34368 code, as they push parts of the code (error handlers) beyond
34369 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34370 code as correctness and size.
34371
77bcd272 343722008-03-28 Pavel Roskin <proski@gnu.org>
34373
34374 * kern/i386/pc/startup.S
34375 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34376 data block address to the real mode, keep offset minimal. This
34377 works around a bug in AWARD BIOS on old Athlon systems, which
34378 makes CD detection hang.
34379
c5dfd43b 343802008-03-26 Pavel Roskin <proski@gnu.org>
34381
34382 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34383 const.
34384 * include/grub/normal.h: Add grub_parse_color_name_pair()
34385 declaration.
34386
bf962df2 343872008-03-24 Bean <bean123ch@gmail.com>
34388
34389 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34390 (cd_count): Removed.
34391 (cd_drive): New variable.
34392 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34393 (grub_biosdisk_call_hook): Likewise.
34394 (grub_biosdisk_iterate): Change cdrom detection method.
34395 (grub_biosdisk_open): Replace cd_start with cd_drive.
34396 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34397 detect cdrom device.
34398
34399 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34400 Removed.
34401 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34402 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34403 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34404 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34405 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34406 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34407 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34408 (grub_biosdisk_cdrp): New structure.
34409 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34410
34411 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34412
34413 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34414 device.
34415
34416 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34417 New function.
34418
68e7fc7a 344192008-03-20 Robert Millan <rmh@aybabtu.com>
34420
34421 Remove 2 TiB limit in ata.mod.
34422 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34423 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34424 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34425 grub_uint64_t instead of grub_uint32_t.
34426
38ad2cf5 344272008-03-05 Bean <bean123ch@gmail.com>
34428
34429 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34430 (grub_multiboot): Set boot device.
34431
34432 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34433
2b89344e 344342008-03-02 Bean <bean123ch@gmail.com>
34435
34436 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34437 symlink_buffer.
34438
87a95d1f 344392008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34440
34441 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34442 texinfo.tex.
34443
34444 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34445 modified.
34446
34447 * docs/fdl.texi: New file.
f19dbdb7 34448
87a95d1f 34449 * docs/mdate-sh: New file. Copied from gnulib.
34450 * docs/texinfo.tex: Likewise.
34451
34452 * config.guess: Updated from gnulib.
34453 * install-sh: Likewise.
34454
7dc15d8e 344552008-02-28 Robert Millan <rmh@aybabtu.com>
34456
34457 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34458 (aout_mod_SOURCES): New variable.
34459 (aout_mod_CFLAGS): Likewise.
34460 (aout_mod_LDFLAGS): Likewise.
34461
34462 * conf/i386-ieee1275.rmk: Likewise.
34463
b00ab696 344642008-02-28 Robert Millan <rmh@aybabtu.com>
34465
34466 * util/update-grub.in: Reorganise terminal validity check. Accept
34467 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34468 Based on suggestion by Franklin PIAT.
34469
79ca2d78 344702008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34471
34472 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34473 function.
34474 * util/getroot.c (grub_util_check_block_device): New function that
34475 returns the given argument if it is a block device and returns NULL else.
34476 * util/grub-probe.c (argument_is_device): New variable.
34477 (probe): Promote device_name from a variable to an argument. Receive
34478 device_name from grub_util_check_block_device() if path is NULL and from
34479 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34480 (options): Introduce new parameter '-d, --device'.
79ca2d78 34481 (main): Add description of the new parameter to the help screen.
34482 Rename path variable to argument. Set argument_is_device if the '-d'
34483 option is given. Pass argument to probe() depending on
34484 argument_is_device.
34485
0d16e571 344862008-02-24 Bean <bean123ch@gmail.com>
34487
34488 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34489 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34490 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34491 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34492 (GRUB_ISO9660_VOLDESC_END): Likewise.
34493 (grub_iso9660_primary_voldesc): New member escape.
34494 (grub_iso9660_data): New member joliet.
34495 (grub_iso9660_convert_string): New function.
34496 (grub_iso9660_mount): Detect joliet extension.
34497 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34498 (grub_iso9660_iso9660_label): Likewise.
34499
34500 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34501 (grub_setup_SOURCES): Add fs/udf.c.
34502 (grub_fstest_SOURCES): Likewise.
34503 (udf_mod_SOURCES): New variable.
34504 (udf_mod_CFLAGS): Likewise.
34505 (udf_mod_LDFLAGS): Likewise.
34506
34507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34508 (grub_emu_SOURCES): Likewise.
34509
34510 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34511
34512 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34513
34514 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34515
34516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34517
34518 * fs/udf.c: New file.
34519
8a594a17 345202008-02-24 Robert Millan <rmh@aybabtu.com>
34521
34522 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34523 (normal/lexer.c_DEPENDENCIES): New variables.
34524 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34525 (normal/lexer.c_DEPENDENCIES): Likewise.
34526 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34527 (normal/lexer.c_DEPENDENCIES): Likewise.
34528 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34529 (normal/lexer.c_DEPENDENCIES): Likewise.
34530 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34531 (normal/lexer.c_DEPENDENCIES): Likewise.
34532 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34533 (normal/lexer.c_DEPENDENCIES): Likewise.
34534
2dc33c03 345352008-02-23 Robert Millan <rmh@aybabtu.com>
34536
34537 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34538 since they were intended to be in hex. This didn't break previously
34539 because of a bug in gpt_partition_map_iterate() (see below).
34540
34541 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34542 when checking the validity of GPT header.
34543 Remove `partno', since it always provides the same information as `i'.
34544
f6f4cfb0 345452008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34546
34547 * include/grub/efi/time.h: Fix a wrong comment.
34548
79ff665f 345492008-02-19 Pavel Roskin <proski@gnu.org>
34550
34551 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34552 message.
34553
d38e24c2 345542008-02-19 Bean <bean123ch@gmail.com>
34555
34556 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34557 (aout_mod_SOURCES): New variable.
34558 (aout_mod_CFLAGS): Likewise.
34559 (aout_mod_LDFLAGS): Likewise.
34560 (_bsd_mod_SOURCES): New variable.
34561 (_bsd_mod_CFLAGS): Likewise.
34562 (_bsd_mod_LDFLAGS): Likewise.
34563 (bsd_mod_SOURCES): New variable.
34564 (bsd_mod_CFLAGS): Likewise.
34565 (bsd_mod_LDFLAGS): Likewise.
34566
34567 * include/grub/aout.h: New file.
34568
34569 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34570
34571 * include/grub/i386/bsd.h: New file.
34572
34573 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34574 to make it public.
34575
34576 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34577 function is called, so that it's possible to change it inside the hook.
34578 (grub_elf64_load): Likewise.
34579 (grub_elf_file): Don't close the file if elf header is not found.
34580 (grub_elf_close): Close the file if grub_elf_file fails (The new
34581 grub_elf_file won't close it).
34582 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34583 (grub_elf64_size): Likewise.
34584
34585 * kern/i386/loader.S (grub_unix_real_boot): New function.
34586
34587 * loader/aout.c: New file.
34588
34589 * loader/i386/bsd.c: New file.
34590
34591 * loader/i386/bsd_normal.c: New file.
34592
34593 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34594
34595 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34596 can test other formats.
d38e24c2 34597
b93bdb0f 345982008-02-19 Robert Millan <rmh@aybabtu.com>
34599
34600 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34601 (grub_gpt_partition_type_empty): Redefine with macro from
34602 `<grub/gpt_partition.h>'.
34603 (gpt_partition_map_iterate): Adjust partition type comparison.
34604
34605 Export `entry' as partmap-specific `part.data' struct.
34606 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34607
34608 * include/grub/gpt_partition.h (grub_gpt_header)
34609 (grub_gpt_partentry): ... to here (new file).
34610
34611 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34612
34613 (grub_gpt_partition_type_bios_boot): New const variable, defined
34614 with macro from `<grub/gpt_partition.h>'.
34615
34616 (setup): Replace `first_start' with `embed_region', which keeps
34617 track of the embed region (and is partmap-agnostic).
34618
34619 Replace find_first_partition_start() with find_usable_region(),
34620 which finds a usable region for embedding using partmap-specific
34621 knowledge (supports PC/MSDOS and GPT).
34622
34623 Fix all assumptions that the embed region start at sector 1, using
34624 `embed_region.start' from now on. Similarly, use `embed_region.end'
34625 rather than `first_start' to calculate available size.
34626
34627 In grub_util_info() message, replace "into after the MBR" with an
34628 indication of the specific sector our embed region starts at.
34629
66cb40f6 346302008-02-19 Robert Millan <rmh@aybabtu.com>
34631
34632 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34633 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34634 `commands/reboot.c'.
34635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34636 (halt_mod_SOURCES): Likewise.
34637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34638 (halt_mod_SOURCES): Likewise.
34639
b7202015 346402008-02-17 Christian Franke <franke@computer.org>
34641
34642 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34643
32b0fc49 346442008-02-17 Robert Millan <rmh@aybabtu.com>
34645
34646 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34647 set `first_start' to 0 for non-PC/MSDOS partition maps.
34648
aca63502 346492008-02-16 Robert Millan <rmh@aybabtu.com>
34650
34651 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34652 do not assume partition map is PC/MSDOS before performing checks that
34653 are specific to that layout.
34654
0de8be86 346552008-02-13 Robert Millan <rmh@aybabtu.com>
34656
34657 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34658 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34659 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34660
c3db8364 346612008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34662
34663 * configure.ac: Only a cosmetic change on the handling of
34664 -fno-stack-protector.
34665
f714229e 346662008-02-12 Alexandre Boeglin <alex@boeglin.org>
34667
c3db8364 34668 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34669 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34670 reboot.c.
f714229e 34671 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34672 (halt_mod_SOURCES): New variable.
34673 (halt_mod_CFLAGS): Likewise.
34674 (halt_mod_LDFLAGS): Likewise.
34675 (reboot_mod_SOURCES): Likewise.
34676 (reboot_mod_CFLAGS): Likewise.
34677 (reboot_mod_LDFLAGS): Likewise.
34678
c3db8364 34679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34680 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34681 reboot.c.
f714229e 34682 (halt_mod_SOURCES): Likewise.
34683 (reboot_mod_SOURCES): Likewise.
34684
c3db8364 34685 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34686 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34687 (reboot_mod_SOURCES): Likewise.
34688
34689 * commands/i386/pc/reboot.c: merge this file ...
34690
34691 * commands/ieee1275/reboot.c: ... and this file ...
34692
34693 * commands/reboot.c: ... to this file.
c3db8364 34694 Add some precompiler directive to include the correct header for
34695 each machine.
f714229e 34696
34697 * commands/ieee1275/halt.c: move this file ...
34698
34699 * commands/halt.c: ... to here.
c3db8364 34700 Add some precompiler directive to include the correct header for
34701 each machine.
f714229e 34702
34703 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34704 (grub_halt): Likewise.
34705
34706 * kern/efi/efi.c (grub_reboot): New function.
34707 (grub_halt): Likewise.
34708
c74493e0 347092008-02-12 Robert Millan <rmh@aybabtu.com>
34710
34711 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34712 /dev (like it is done for /dev/mapper). This doesn't provide support
34713 for EVMS, but at least it is now easy to identify the problem when it
34714 arises.
34715
d0db4b04 347162008-02-11 Robert Millan <rmh@aybabtu.com>
34717
34718 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34719 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34720 comparing it with -1, not 0.
34721
bf748642 347222008-02-10 Robert Millan <rmh@aybabtu.com>
34723
34724 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34725 `disk/lvm.c'.
34726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34727 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34728
34729 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34730 `disk/lvm.c' to the end of the list.
34731 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34732 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34733
b5db202a 347342008-02-10 Robert Millan <rmh@aybabtu.com>
34735
34736 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34737 grub_print_error() instead. This will let user know why we're entering
34738 rescue mode.
34739 Based on suggestions from Sam Morris.
34740
83abee31 347412008-02-10 Alexandre Boeglin <alex@boeglin.org>
34742
34743 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34744 on remaining N args, instead of "--" arg N times.
34745
78d5a08b 347462008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34747
34748 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34749 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34750 pattern for unknown glyphs.
34751
68807e5f 347522008-02-09 Robert Millan <rmh@aybabtu.com>
34753
34754 * configure.ac: Probe for `help2man'.
34755 * Makefile.in (builddir): New variable.
34756 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34757 or otherwise add a few flags/options to it.
34758 (install-local): For every executable utility or script that is
34759 installed, invoke $(HELP2MAN) to install a manpage based on --help
34760 output.
34761
34762 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34763 that it doesn't prevent --help from working in build tree.
34764
34765 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34766 with `bug-grub@gnu.org'.
34767 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34768 * util/update-grub.in (usage): New function.
34769 Implement proper argument check, with support for --help and --version
34770 (as well as existing -y).
34771
347722008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34773
34774 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34775 avoid overwriting previous output.
34776 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34777
c1962162 347782008-02-09 Robert Millan <rmh@aybabtu.com>
34779
34780 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34781 drawing the menu.
34782
3dac2e3f 347832008-02-09 Robert Millan <rmh@aybabtu.com>
34784
34785 * commands/sleep.c: New file.
34786 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34787 (sleep_mod_SOURCES): New variable.
34788 (sleep_mod_CFLAGS): Likewise.
34789 (sleep_mod_LDFLAGS): Likewise.
34790
7a634e08 347912008-02-09 Robert Millan <rmh@aybabtu.com>
34792
34793 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34794 situations in which we can deduce the RAID size and the superblock
34795 doesn't match it.
34796
b92f0c18 347972008-02-09 Robert Millan <rmh@aybabtu.com>
34798
34799 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34800 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34801 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34802
34803 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34804 and return a grub_diskmemberlist_t composed of physical array members.
34805 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34806
34807 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34808 prototype.
34809 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34810 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34811 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34812
34813 * util/grub-probe.c (probe): Move partmap probing code from here ...
34814 (probe_partmap): ... to here.
34815 (probe): Use probe_partmap() once for the disk we're probing, and
34816 additionally, when such disk contains a memberlist() struct member,
34817 once for each disk that is contained in the structure returned by
34818 memberlist().
34819
91a4bf68 348202008-02-09 Robert Millan <rmh@aybabtu.com>
34821
34822 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34823 environment variable to 'all' in order to obtain debug output from
34824 non-util/ code.
34825 * util/i386/pc/grub-setup.c (main): Likewise.
34826
a96f9caa 348272008-02-08 Robert Millan <rmh@aybabtu.com>
34828
34829 * disk/raid.c (grub_raid_scan_device): Check for
34830 `array->device[sb.this_disk.number]' rather than for
34831 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34832 guaranteed to be accessible.
a96f9caa 34833
b37a9222 348342008-02-08 Robert Millan <rmh@aybabtu.com>
34835
34836 * disk/raid.c: Update copyright.
34837 * fs/cpio.c: Likewise.
34838 * include/grub/raid.h: Likewise.
34839 * loader/i386/pc/multiboot.c: Likewise.
34840 * util/hostfs.c: Likewise.
34841
5626aee1 348422008-02-08 Robert Millan <rmh@aybabtu.com>
34843
34844 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34845 to a grub_disk_t array.
34846 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34847 `device[x]'.
34848 (grub_raid_scan_device): Replace `device[x].name' accesses with
34849 `device[x]->name'. Simplify initialization of `array->device[x]'.
34850
554f0187 348512008-02-08 Robert Millan <rmh@aybabtu.com>
34852
34853 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34854 grub_dprintf() calls.
34855 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34856 error message.
34857
1ec8425d 348582008-02-07 Christian Franke <franke@computer.org>
34859
34860 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34861 instead of fseek and ftell to support large files.
34862 (grub_hostfs_read): Likewise.
34863
f2156fda 348642008-02-07 Robert Millan <rmh@aybabtu.com>
34865
34866 Patch from Jeroen Dekkers.
34867 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34868 failure, since successfully reading all array members might not be
f2156fda 34869 required.
34870
9216e0e7 348712008-02-06 Robert Millan <rmh@aybabtu.com>
34872
34873 * util/grub-probe.c (probe): Simplify partmap probing (with the
34874 assumption that the first word up to the underscore equals to
34875 the module name).
34876
b0dfd29a 348772008-02-06 Christian Franke <franke@computer.org>
34878
34879 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34880 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34881 last block of a cpio or tar stream.
34882 Check for "TRAILER!!!" instead of any empty data
34883 block to detect last block of a cpio stream.
34884 (grub_cpio_dir): Fix constness of variable np.
34885 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34886 cpio or tar trailer is detected. This fixes a crash
34887 on open of a non existing file.
34888
c32865bf 348892008-02-05 Bean <bean123ch@gmail.com>
34890
34891 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34892 address of entry.
34893 (grub_multiboot_load_elf64): Likewise.
34894 (grub_multiboot): Initialize mbi structure.
34895
34896 * util/grub-fstest.c: Don't include unused header file script.h.
34897
fe6b695a 34898 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34899 of file.
34900 (grub_fstest_SOURCES): Likewise.
34901
409480b7 349022008-02-05 Robert Millan <rmh@aybabtu.com>
34903
34904 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34905 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34906 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34907 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34908
34909 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34910 (translation_table): Replace hardcoded values with macros
34911 provided by `<grub/term.h>'.
34912
34913 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34914 (keyboard_map): Correct/add a few values, with macros provided
34915 by `<grub/term.h>'.
34916 (keyboard_map_shift): Zero values that don't differ from their
34917 `keyboard_map' equivalents.
34918 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34919 Discard the second scan code that is always sent by Caps lock.
34920 Only use `keyboard_map_shift' when it provides a non-zero value,
34921 otherwise fallback to `keyboard_map'.
34922
99fadbaa 349232008-02-04 Bean <bean123ch@gmail.com>
34924
34925 * Makefile.in (enable_grub_fstest): New variable.
34926
34927 * conf/common.rmk (grub_fstest_init.lst): New rule.
34928 (grub_fstest_init.h): Likewise.
34929 (grub_fstest_init.c): Likewise.
34930 (util/grub-fstest.c_DEPENDENCIES): New variable.
34931 (grub_fstest_SOURCES): Likewise.
34932
34933 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34934
34935 * util/grub-fstest.c: New file.
34936
bf567c50 349372008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34938
34939 Make grub-setup handle a separate root device.
f19dbdb7 34940
bf567c50 34941 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34942 so that the root device can be compared with the destination
34943 device.
34944 When embedding the core image, if the root and destination devices
34945 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34946 0xFF.
34947 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34948
9be6b98b 349492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34950
34951 Add support for having a grub directory in a different drive. This
34952 is still only the data handling part.
f19dbdb7 34953
9be6b98b 34954 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34955 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34956 (grub_root_drive): New variable.
34957
34958 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34959 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34960 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34961 as it was.
34962
34963 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34964
34965 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34966 macro.
34967 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34968
34969 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34970 is bogus, because PXE booting does not specify any drive
34971 correctly.
34972
34973 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34974 am not sure if this is really correct.
34975
34976 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34977 is always identical to the boot drive when booting from a CD.
34978
34979 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34980 longer.
34981 (root_drive): New variable.
34982 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34983 (setup_sectors): Push %dx right after popping it, because %dh will
34984 be modified later.
34985 (copy_buffer): Restore %dx.
34986
e0ca0677 349872008-02-03 Robert Millan <rmh@aybabtu.com>
34988
34989 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34990 use `cdboot.img' for cdrom images.
34991
3b3f6629 349922008-02-03 Robert Millan <rmh@aybabtu.com>
34993
34994 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34995 only setup gfxterm when `font' command has succeeded.
34996
d42b3672 349972008-02-03 Robert Millan <rmh@aybabtu.com>
34998
34999 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35000 (grub_rescue_cmd_multiboot_loader)
35001 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35002
fa370ea6 350032008-02-03 Pavel Roskin <proski@gnu.org>
35004
e0c5dacb 35005 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35006 %edx and %esi from stack only after grub_gate_a20() is called.
35007 grub_gate_a20() clobbers %edx.
35008
f2a76e1d 350092008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35010
35011 * configure.ac (AC_INIT): Bumped to 1.96.
35012
35013 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35014 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35015 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35016 video/readers/png.c.
35017
90fd32d1 350182008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35019
35020 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35021 (cdboot_img_SOURCES): New variable.
35022 (cdboot_img_ASFLAGS): New variable.
35023 (cdboot_img_LDFLAGS): New variable.
35024
35025 * boot/i386/pc/cdboot.S: New file.
35026
35027 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35028 (cd_count): Likewise.
35029 (grub_biosdisk_get_drive): Add support for cd device.
35030 (grub_biosdisk_call_hook): Likewise.
35031 (grub_biosdisk_iterate): Likewise.
35032 (grub_biosdisk_open): Likewise.
35033 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35034 (grub_biosdisk_rw): Support reading from cd device.
35035 (GRUB_MOD_INIT): Iterate cd devices.
35036
35037 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35038 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35039 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35040
35041 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35042
4020aa53 350432008-02-02 Robert Millan <rmh@aybabtu.com>
35044
35045 * commands/read.c: New file.
35046 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35047 (read_mod_SOURCES): New variable.
35048 (read_mod_CFLAGS): Likewise.
35049 (read_mod_LDFLAGS): Likewise.
35050
e03a1132 350512008-02-02 Robert Millan <rmh@aybabtu.com>
35052
35053 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35054 determining whether menu has to be displayed.
35055
58c69220 350562008-02-02 Marco Gerards <marco@gnu.org>
35057
35058 * bus/pci.c: New file.
35059
35060 * include/grub/pci.h: Likewise.
35061
35062 * include/grub/i386/pc/pci.h: Likewise.
35063
35064 * commands/lspci.c: Likewise.
35065
35066 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35067 `lspci.mod'.
35068 (pci_mod_SOURCES): New variable.
35069 (pci_mod_CFLAGS): Likewise.
35070 (pci_mod_LDFLAGS): Likewise.
35071 (lspci_mod_SOURCES): Likewise.
35072 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35073 (lspci_mod_LDFLAGS): Likewise.
58c69220 35074
c004e1b4 350752008-02-02 Bean <bean123ch@gmail.com>
35076
35077 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35078 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35079
35080 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35081 (grub_xfs_btree_node): New structure.
35082 (grub_xfs_btree_root): New structure.
35083 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35084 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35085 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35086 (GRUB_XFS_EXTENT_SIZE): Likewise.
35087 (grub_xfs_read_block): Support btree format type.
35088 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35089 Use directory block as basic unit.
35090
35091 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35092
35093 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35094 __attribute__ ((__regparm__ (1))).
35095
f95562bf 350962008-02-01 Robert Millan <rmh@aybabtu.com>
35097
35098 Correct a mistake in previous commit.
35099
35100 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35101 top.
35102 (normal/command.c_DEPENDENCIES): New variable.
35103
7d31f41f 351042008-02-01 Robert Millan <rmh@aybabtu.com>
35105
35106 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35107 top.
35108 (normal/command.c_DEPENDENCIES): New variable.
35109 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35110 * conf/i386-ieee1275.rmk: Likewise.
35111 * conf/i386-linuxbios.rmk: Likewise.
35112 * conf/i386-pc.rmk: Likewise.
35113 * conf/sparc64-ieee1275.rmk: Likewise.
35114 * conf/powerpc-ieee1275.rmk: Likewise.
35115 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35116
35117 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35118
60b6be74 351192008-02-01 Robert Millan <rmh@aybabtu.com>
35120
35121 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35122 call at beginning of function.
35123
078522ab 351242008-01-31 Pavel Roskin <proski@gnu.org>
35125
35126 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35127 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35128 (grub_mkrescue_SOURCES): Likewise.
078522ab 35129 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35130
ccaa8a5f 351312008-01-30 Robert Millan <rmh@aybabtu.com>
35132
35133 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35134 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35135 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35136 (grub_probe_SOURCES): ... to here.
35137
35138 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35139 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35140 * conf/i386-ieee1275.rmk: Likewise.
35141 * conf/i386-linuxbios.rmk: Likewise.
35142 * conf/powerpc-ieee1275.rmk: Likewise.
35143
ae5a9cd7 351442008-01-30 Tristan Gingold <gingold@free.fr>
35145
35146 * kern/rescue.c: Silently accept empty lines.
35147
70bc2ef2 351482008-01-29 Bean <bean123ch@gmail.com>
35149
35150 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35151 (real_code_2): Code cleanup and change comment style.
35152 (move_memory): Avoid using 32-bit address mode.
35153
6a4d50ea 351542008-01-29 Bean <bean123ch@gmail.com>
35155
35156 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35157 (png_mod_SOURCES): New variable.
35158 (png_mod_CFLAGS): Likewise.
35159 (png_mod_LDFLAGS): Likewise.
35160
35161 * video/readers/png.c: New file.
35162
11cc30ac 351632008-01-28 Robert Millan <rmh@aybabtu.com>
35164
35165 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35166 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35167 `ifndef GRUB_MOD_GAP' hack.
35168 * util/elf/grub-mkimage.c (add_segments): Likewise.
35169
3abc589f 351702008-01-27 Robert Millan <rmh@aybabtu.com>
35171
35172 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35173 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35174 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35175
e1907778 351762008-01-27 Robert Millan <rmh@aybabtu.com>
35177
35178 Get grub-emu to build again (including parallel builds).
35179
35180 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35181 Split into ...
35182 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35183 (normal/execute.c_DEPENDENCIES): ... this, ...
35184 (grub-emu_DEPENDENCIES): ... and this.
35185
35186 * conf/i386-efi.rmk: Likewise.
35187 * conf/i386-linuxbios.rmk: Likewise.
35188 * conf/i386-ieee1275.rmk: Likewise.
35189 * conf/powerpc-ieee1275.rmk: Likewise.
35190 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35191
2216b101 351922008-01-27 Robert Millan <rmh@aybabtu.com>
35193
35194 * NEWS: Add a few items.
35195
f75172d9 351962008-01-27 Robert Millan <rmh@aybabtu.com>
35197
35198 Fix parallel builds with grub-emu. Based on earlier commit for
35199 grub-probe and grub-setup.
35200
35201 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35202 (util/grub-emu.c_DEPENDENCIES): ... this.
35203 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35204 (util/grub-emu.c_DEPENDENCIES): ... this.
35205 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35206 (util/grub-emu.c_DEPENDENCIES): ... this.
35207 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35208 (util/grub-emu.c_DEPENDENCIES): ... this.
35209 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35210 (util/grub-emu.c_DEPENDENCIES): ... this.
35211
3f51de77 352122008-01-27 Pavel Roskin <proski@gnu.org>
35213
35214 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35215 to create a gap between _end and the modules added to the image
35216 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35217 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35218 * util/elf/grub-mkimage.c (add_segments): Likewise.
35219
2033f53e 352202008-01-26 Pavel Roskin <proski@gnu.org>
35221
35222 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35223 just return an error.
35224
22da1f6f 352252008-01-26 Bean <bean123ch@gmail.com>
35226
35227 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35228 (grub_reiserfs_get_item): Save offset of the next item.
35229 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35230
2a9525e6 352312008-01-25 Robert Millan <rmh@aybabtu.com>
35232
35233 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35234 make all filesystem sources appear together (possibly fixing omissions
35235 while at it).
35236 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35238 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35240
35241 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35242 add `kern/file.c'.
35243 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35244 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35245 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35246 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35247
35248 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35249 (probe): Add a sanity check to make sure of our ability to read
35250 requested files when probing for filesystem type.
35251
35252 * genmk.rb: Update copyright year (2007).
35253
35254 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35255 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35256 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35257 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35258 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35259 : Remove function prototypes.
35260
b95f71b5 352612008-01-25 Robert Millan <rmh@aybabtu.com>
35262
35263 Revert my previous commits (based on wrong assumption of how grub_errno
35264 works).
35265
fe6b695a 35266 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35267 * kern/file.c (grub_file_open): Likewise.
35268
d08bbb49 352692008-01-24 Pavel Roskin <proski@gnu.org>
35270
35271 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35272 that hang if GRUB tries to setup colors.
35273 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35274 colors for firmwares that don't support it.
35275 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35276 Recognize Open Hack'Ware, set flags to work around its
35277 limitations.
35278
605e36ed 352792008-01-24 Robert Millan <rmh@aybabtu.com>
35280
35281 * kern/file.c (grub_file_open): Do not account previous failures of
35282 unrelated functions when grub_errno is checked for.
35283 Reported by Oleg Strikov.
35284
bac332a1 352852008-01-24 Bean <bean123ch@gmail.com>
35286
35287 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35288 (grub_ufs_sblock): New member volume name.
35289 (grub_ufs_find_file): Fix string copy bug.
35290 (grub_ufs_label): Implement this function properly.
35291
35292 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35293 (grub_hfs_iterate_records): Use the correct file number for extents
35294 and catalog file. Fix problem in next index calculation.
35295 (grub_hfs_find_node): Replace recursive function call with loop.
35296 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35297
15c80c09 352982008-01-23 Robert Millan <rmh@aybabtu.com>
35299
35300 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35301 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35302 (grub_multiboot2_real_boot): New function prototype.
35303
35304 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35305 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35306
35307 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35308 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35309
305338fd 353102008-01-23 Robert Millan <rmh@aybabtu.com>
35311
35312 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35313 #ifdef'ed out grub_printf().
35314
3ea52685 353152008-01-23 Robert Millan <rmh@aybabtu.com>
35316
35317 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35318 grub_dprintf calls, since they make "debug=all" mode unusable.
35319 (grub_console_checkkey): Likewise.
35320
5882ae4b 353212008-01-23 Robert Millan <rmh@aybabtu.com>
35322
35323 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35324 `term/i386/pc/at_keyboard.c'.
35325 (pkglib_MODULES): Add `serial.mod'.
35326 (serial_mod_SOURCES): New variable.
35327 (serial_mod_CFLAGS): Likewise.
35328 (serial_mod_LDFLAGS): Likewise.
35329
35330 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35331 `<grub/powerpc/ieee1275/console.h>'.
35332 (grub_keyboard_controller_init): New function prototype.
35333 (grub_console_checkkey): Likewise.
35334 (grub_console_getkey): Likewise.
35335
35336 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35337 keyboard on i386.
35338
35339 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35340 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35341
06ab5303 353422008-01-23 Robert Millan <rmh@aybabtu.com>
35343
35344 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35345 present, "(memdisk)/boot/grub" becomes the default prefix.
35346
35347 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35348 a memdisk tarball with all the modules. Add --overlay=DIR option that
35349 allows users to overlay additional files into the image.
35350
dbb475a4 353512008-01-23 Robert Millan <rmh@aybabtu.com>
35352
35353 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35354 and `machine/memory.h'.
35355 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35356 (_multiboot_mod_SOURCES): New variable.
35357 (_multiboot_mod_CFLAGS): Likewise.
35358 (_multiboot_mod_LDFLAGS): Likewise.
35359 (multiboot_mod_SOURCES): Likewise.
35360 (multiboot_mod_CFLAGS): Likewise.
35361 (multiboot_mod_LDFLAGS): Likewise.
35362
35363 * include/grub/i386/ieee1275/loader.h: New file.
35364
35365 * include/grub/i386/ieee1275/machine.h: Likewise.
35366
35367 * include/grub/i386/ieee1275/memory.h: Likewise.
35368
35369 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35370 variable declaration.
35371 (grub_os_area_size): Likewise.
35372
35373 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35374 (grub_lower_mem, grub_upper_mem): New variables.
35375 (grub_stop_floppy): New function (just to make
35376 grub_multiboot2_real_boot() happy).
35377
35378 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35379 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35380 (grub_stop): New function.
35381 Include `"../realmode.S"' and `"../loader.S"'.
35382
35383 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35384 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35385
35386 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35387 rely on grub_multiboot2_real_boot() for final boot.
35388
25638629 353892008-01-22 Robert Millan <rmh@aybabtu.com>
35390
35391 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35392 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35393 device that doesn't look like an SD card.
35394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35395 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35397 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35398 found.
35399
9dad816d 354002008-01-22 Robert Millan <rmh@aybabtu.com>
35401
35402 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35403 avoid claiming over our own code.
35404
34842f2d 354052008-01-22 Bean <bean123ch@gmail.com>
35406
35407 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35408 (jpeg_mod_SOURCES): New variable.
35409 (jpeg_mod_CFLAGS): Likewise.
35410 (jpeg_mod_LDFLAGS): Likewise.
35411
35412 * video/readers/jpeg.c : New file.
35413
44023a28 354142008-01-22 Bean <bean123ch@gmail.com>
35415
35416 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35417 there are no more items.
35418
bc2d8ac6 354192008-01-21 Robert Millan <rmh@aybabtu.com>
35420
35421 * kern/mm.c (grub_mm_init_region): Improve debug message.
35422
261bd4bc 354232008-01-21 Robert Millan <rmh@aybabtu.com>
35424
35425 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35426 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35427 address.
35428 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35429 a C macro.
35430 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35431 Indicates start of upper memory.
35432 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35433 (generate_image): Abort when image size is big enough to corrupt
35434 upper memory.
35435
35436 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35437 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35438 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35439 instead of hardcoding 0xA0000.
35440 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35441 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35442 instead of hardcoding 0xA0000.
35443
f970b55e 354442008-01-21 Robert Millan <rmh@aybabtu.com>
35445
35446 * disk/memdisk.c (memdisk_size): New variable.
35447 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35448 `memdisk_size'.
35449 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35450 image to dynamic memory.
35451 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35452 `memdisk_size'. Free memdisk block.
35453
1a8b0526 354542008-01-21 Robert Millan <rmh@aybabtu.com>
35455
35456 Fix detection of very small filesystems (like tar).
35457
35458 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35459 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35460 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35461 a problem with this disk).
35462
6e9b4aab 354632008-01-21 Robert Millan <rmh@aybabtu.com>
35464
35465 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35466 on grub_biosdisk_rw_standard() error.
35467
0d8837b2 354682008-01-21 Robert Millan <rmh@aybabtu.com>
35469
35470 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35471 recent changes.
35472 * kern/elf.c: Likewise.
35473 * kern/ieee1275/ieee1275.c: Likewise.
35474 * kern/powerpc/ieee1275/openfw.c: Likewise.
35475 * term/ieee1275/ofconsole.c: Likewise.
35476
ffd36e34 354772008-01-21 Robert Millan <rmh@aybabtu.com>
35478
35479 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35480
3f0093d0 35481 * include/grub/kernel.h (grub_arch_memdisk_addr)
35482 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35483
3f0093d0 35484 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35485 (grub_arch_memdisk_size): ... to here.
ffd36e34 35486
6c391b21 354872008-01-21 Robert Millan <rmh@aybabtu.com>
35488
35489 Mostly based on bugfix from Bean.
35490
35491 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35492 attribute with hook() parameter.
35493 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35494 declaration.
35495 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35496 attribute with hook() parameter.
35497 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35498 declaration.
35499
55a581dc 355002008-01-21 Robert Millan <rmh@aybabtu.com>
35501
35502 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35503 (pkglib_MODULES): Add `memdisk.mod'.
35504 (memdisk_mod_SOURCES): New variable.
35505 (memdisk_mod_CFLAGS): Likewise.
35506 (memdisk_mod_LDFLAGS): Likewise.
35507
35508 * disk/memdisk.c: New file.
35509
35510 * include/grub/disk.h (grub_disk_dev_id): Add
35511 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35512
35513 * include/grub/i386/pc/kernel.h
35514 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35515 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35516 (grub_kernel_image_size): New variable declaration.
35517 (grub_total_module_size): Likewise.
35518 (grub_memdisk_image_size): Likewise.
35519
35520 * include/grub/i386/pc/memory.h
35521 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35522
35523 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35524 (grub_arch_memdisk_addr): New variable declaration.
35525 (grub_arch_memdisk_size): Likewise.
35526
35527 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35528 (grub_arch_memdisk_size): Likewise.
35529
35530 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35531 (codestart): Replace hardcoded `0x100000' with
35532 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35533
35534 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35535 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35536 not NULL, append the contents of the file it refers to, at the end of
35537 the compressed kernel image. Initialize `grub_memdisk_image_size'
35538 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35539 (options): Add "memdisk"|'m' option.
35540 (main): Parse --memdisk|-m option, and pass user-provided path as
35541 parameter to generate_image().
35542
3d7f54c9 355432008-01-20 Robert Millan <rmh@aybabtu.com>
35544
35545 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35546 grub_dprintf() calls from here ...
35547 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35548
0bf74728 355492008-01-20 Robert Millan <rmh@aybabtu.com>
35550
35551 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35552
35553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35554 declaration.
35555 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35556 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35557 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35558 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35559 property).
35560 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35561 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35562
33bf70a7 355632008-01-19 Robert Millan <rmh@aybabtu.com>
35564
fe6b695a 35565 Get rid of confusing function (superseded by
33bf70a7 35566 `grub_ieee1275_get_integer_property')
35567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35568 prototype.
35569 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35570 function.
35571 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35572 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35573 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35574
e2da7d26 355752008-01-19 Robert Millan <rmh@aybabtu.com>
35576
35577 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35578 command after "shut-down", since implementations differ on which
35579 the command for halt is.
35580
59f1fd8d 355812008-01-19 Robert Millan <rmh@aybabtu.com>
35582
35583 * include/grub/i386/linuxbios/console.h: Add header protection.
35584 (grub_keyboard_controller_init): New function prototype.
35585 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35586 (KEYBOARD_COMMAND_READ): Likewise.
35587 (KEYBOARD_COMMAND_WRITE): Likewise.
35588 (KEYBOARD_SCANCODE_SET1): Likewise.
35589 (grub_keyboard_controller_write): New function.
35590 (grub_keyboard_controller_read): Likewise.
35591 (grub_keyboard_controller_init): Likewise.
35592
35593 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35594 (grub_console_init): On coreboot/LinuxBIOS, call
35595 grub_keyboard_controller_init().
35596
5f5a7c15 355972008-01-19 Robert Millan <rmh@aybabtu.com>
35598
35599 PowerPC changes provided by Pavel Roskin.
35600
35601 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35602 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35603 don't rely on cmain() doing it.
35604 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35605 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35606
1210e168 356072008-01-16 Robert Millan <rmh@aybabtu.com>
35608
35609 * include/grub/i386/linuxbios/memory.h
35610 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35611 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35612 receive `table_header' as argument. Instead, probe for it in the
35613 known memory ranges where it can be present.
35614 (grub_available_iterate): Do not pass a fixed `table_header' address
35615 to grub_linuxbios_table_iterate().
35616
3d04eab8 356172008-01-15 Robert Millan <rmh@aybabtu.com>
35618
35619 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35620 * conf/i386-ieee1275.rmk: New file.
35621 * include/grub/i386/ieee1275/console.h: Likewise.
35622 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35623 * include/grub/i386/ieee1275/kernel.h: Likewise.
35624 * include/grub/i386/ieee1275/time.h: Likewise.
35625 * kern/i386/ieee1275/init.c: Likewise.
35626 * kern/i386/ieee1275/startup.S: Likewise.
35627
d1bc1b73 356282008-01-15 Robert Millan <rmh@aybabtu.com>
35629
35630 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35631 when pointers are 32-bit (but still do set it to one when they are
35632 64-bit).
35633
66a65807 356342008-01-15 Robert Millan <rmh@aybabtu.com>
35635
35636 * include/grub/ieee1275/ieee1275.h
35637 (grub_ieee1275_get_integer_property): New function prototype.
35638
35639 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35640 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35641 grub_ieee1275_get_property() to handle endianness.
66a65807 35642
35643 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35644 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35645 where appropriate.
66a65807 35646 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35647 (grub_map): Likewise.
35648 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35649
a83ccafd 356502008-01-15 Bean <bean123ch@gmail.com>
35651
35652 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35653 (grub_script_execute_cmdline): Reset grub_errno.
35654
35655 * normal/main.c (read_config_file): Reset grub_errno.
35656
35657 * normal/parse.y (script_init): New.
35658 (script): Move function and menuentry here.
35659 (delimiter): New.
35660 (command): Add delimiter at the end of command.
35661 (commands): Adjust to match the new command.
35662 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35663 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35664 (if): Use the new commands.
35665
35666 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35667
df6ecfc6 356682008-01-15 Robert Millan <rmh@aybabtu.com>
35669
35670 * normal/menu.c (run_menu): Move timeout message from here ...
35671 (print_timeout): ... to here.
35672 (run_menu): Use print_timeout() once during initial draw to print
35673 the whole message, and again in every clock tick to update only
35674 the number of seconds.
35675
87ae25eb 356762008-01-15 Robert Millan <rmh@aybabtu.com>
35677
35678 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35679 actual size of `available' from grub_ieee1275_get_property(), and
35680 restrict parsing to that bound.
35681
47bf09a4 356822008-01-15 Christian Franke <franke@computer.org>
35683
35684 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35685 (argp_program_version): Remove variable.
35686 (argp_program_bug_address): Likewise.
35687 (options): Convert from struct argp_option to struct option.
35688 (struct arguments): Remove.
35689 (parse_opt): Remove.
35690 (usage): New function.
35691 (main): Replace struct args members by simple variables.
35692 Replace argp_parse() by getopt_long().
35693 Add switch to evaluate options.
35694 Add missing "(...)" around root_dev in prefix string.
35695
c86f1469 356962008-01-14 Robert Millan <rmh@aybabtu.com>
35697
35698 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35699 for grub_ieee1275_exit(), in order to improve portability.
35700
e622c559 357012008-01-14 Robert Millan <rmh@aybabtu.com>
35702
35703 * util/grub.d/10_linux.in (prefix): Define.
35704 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35705
44cb1ec8 357062008-01-13 Pavel Roskin <proski@gnu.org>
35707
35708 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35709 grub_errno if no errors have been detected.
35710
1eb8c802 357112008-01-12 Robert Millan <rmh@aybabtu.com>
35712
35713 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35714 (grub_util_get_dev_abstraction): New function prototype.
35715
35716 * util/getroot.c: Include `<grub/util/getroot.h>'
35717 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35718 (grub_util_get_dev_abstraction): ... here (new function).
35719
35720 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35721 `PRINT_ABSTRACTION'.
35722 (probe): Probe for abstraction type when requested.
35723 (main): Understand `--target=abstraction'.
35724
35725 * util/i386/efi/grub-install.in: Add abstraction module to core
35726 image when it is found to be necessary.
35727 * util/i386/pc/grub-install.in: Likewise.
35728 * util/powerpc/ieee1275/grub-install.in: Likewise.
35729
35730 * util/update-grub_lib.in (font_path): Return system path without
35731 converting to GRUB path.
35732 * util/update-grub.in: Convert system path returned by font_path()
35733 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35734 abstraction module is needed for loading fonts (if any). Export
35735 that as `GRUB_PRELOAD_MODULES'.
35736 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35737 insmod commands).
35738
52bd3de9 357392008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35740
35741 Remove some unused code from reiserfs.
f19dbdb7 35742
52bd3de9 35743 * fs/reiserfs.c (struct grub_reiserfs_key)
35744 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35745 (struct grub_reiserfs_node_body): Removed.
35746 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35747 Likewise.
35748 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35749 Likewise.
35750 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35751 Likewise.
35752 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35753 Likewise.
35754 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35755 Likewise.
35756 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35757 Likewise.
35758 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35759 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35760 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35761
2f80039d 357622008-01-10 Robert Millan <rmh@aybabtu.com>
35763
35764 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35765 Determines if a file is garbage left by packaging systems, etc.
35766 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35767 for processing /etc/grub.d scripts.
35768 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35769 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35770 as a condition for processing Linux images.
35771
87888032 357722008-01-10 Pavel Roskin <proski@gnu.org>
35773
35774 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35775 to compile reiserfs.c on PowerPC.
35776
7e54fced 357772008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35778
35779 * kern/device.c (grub_device_iterate): Do not abort device iteration
35780 when one of the devices cannot be opened.
35781 * kern/disk.c (grub_disk_open): Do not account previous failures of
35782 unrelated functions when grub_errno is checked for.
35783
5aa541e6 357842008-01-08 Robert Millan <rmh@aybabtu.com>
35785
35786 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35787 `! grub_linux_is_bzimage', change order of address comparison to make
35788 it more intuitive, and improve "too big zImage" error message.
35789
7076340d 357902008-01-08 Robert Millan <rmh@aybabtu.com>
35791
35792 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35793 `$(update-grub_DATA)'.
35794 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35795 targets.
35796
9ca70333 357972008-01-07 Robert Millan <rmh@aybabtu.com>
35798
35799 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35800 which instruction is modified by grub-setup during installation
35801 (since it wasn't obvious by only looking at this file).
35802
38ccf575 358032008-01-07 Robert Millan <rmh@aybabtu.com>
35804
35805 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35806 listing actual TODO items.
35807
f5db4291 358082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35809
868967cf 35810 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35811 correctly.
35812 (grub_reiserfs_get_key_offset): Likewise.
35813 (grub_reiserfs_set_key_offset): Likewise.
35814 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35815 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35816
35817 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35818 better to remove the bitfield version completely.
f19dbdb7 35819
868967cf 358202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35821
f5db4291 35822 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35823 allocated from the heap, due to the fshelp implementation.
35824 (grub_reiserfs_dir): Free NODE, due to the same reason.
35825
492e6d9d 358262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35827
35828 Mostly from Vincent Pelletier:
f19dbdb7 35829
492e6d9d 35830 * fs/reiserfs.c: New file.
f19dbdb7 35831
492e6d9d 35832 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35833 (reiserfs_mod_SOURCES): New variable.
35834 (reiserfs_mod_CFLAGS): Likewise.
35835 (reiserfs_mod_LDFLAGS): Likewise.
35836
35837 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35838 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35839 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35840 normal/color.c.
35841
9ce3e7c1 358422008-01-06 Robert Millan <rmh@aybabtu.com>
35843
35844 * normal/color.c: Remove `<grub/env.h>'.
35845
f3b58148 358462008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35847
35848 * include/grub/normal.h: Include <grub/env.h>.
35849
7ac3bcfa 358502008-01-05 Robert Millan <rmh@aybabtu.com>
35851
35852 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35853 usage example with `(hd0,1)'.
fb358190 35854 Reported by Samuel Thibault.
7ac3bcfa 35855
c8ee99d7 358562008-01-05 Robert Millan <rmh@aybabtu.com>
35857
35858 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35859 (grub_linux_boot_zimage): Rename to ...
35860 (grub_linux_boot): ... this.
35861 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35862 (grub_linux_boot_zimage): Conditionalize zImage copy.
35863
35864 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35865 (grub_linux_boot_bzimage): Remove prototype.
35866 (grub_linux_boot_zimage): Rename to ...
35867 (grub_linux_boot): ... this.
35868
35869 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35870 (grub_linux_boot): Remove function.
35871
0ece25b1 358722008-01-05 Robert Millan <rmh@aybabtu.com>
35873
35874 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35875 (grub_env_write_color_highlight): Likewise.
35876 (grub_wait_after_message): Likewise.
35877
35878 * normal/color.c: New file.
35879
35880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35881 (normal_mod_DEPENDENCIES): Likewise.
35882
35883 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35884 (normal_mod_DEPENDENCIES): Likewise.
35885
35886 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35887 (normal_mod_DEPENDENCIES): Likewise.
35888
35889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35890 (normal_mod_DEPENDENCIES): Likewise.
35891
35892 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35893 for waiting after a message is printed.
35894 * normal/main.c (read_config_file): Likewise.
35895 (grub_normal_init): Register grub_env_write_color_normal() and
35896 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35897 `color_highlight' variables as global.
35898
35899 * normal/menu.c (grub_wait_after_message): New function.
35900 (grub_color_menu_normal): New variable. Replaces ...
35901 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35902 (grub_color_menu_highlight): New variable. Replaces ...
35903 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35904 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35905 `GRUB_TERM_COLOR_STANDARD'.
35906 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35907 `normal_code' and `highlight_code' to `old_color_normal' and
35908 `old_color_highlight', respectively.
35909 (grub_menu_init_page): Update colors when drawing the menu, based on
35910 `menu_color_normal' and `menu_color_highlight' variables.
35911 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35912 a message is printed.
35913
182dd4e5 359142008-01-05 Robert Millan <rmh@aybabtu.com>
35915
35916 * kern/env.c (grub_env_context_open): Propagate hooks for global
35917 variables to new context.
35918
35919 * kern/main.c (grub_set_root_dev): Export `root' variable.
35920
ddf8f6ad 359212008-01-05 Robert Millan <rmh@aybabtu.com>
35922
35923 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35924 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35925 them.
35926
d8b43d9b 359272008-01-05 Robert Millan <rmh@aybabtu.com>
35928
35929 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35930
2bff2de3 359312008-01-04 Christian Franke <franke@computer.org>
35932
35933 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35934 of eisa_mmap.
35935
97eab917 359362008-01-03 Pavel Roskin <proski@gnu.org>
35937
35938 * kern/i386/linuxbios/init.c: Put "void" to all function
35939 declarations with no arguments.
35940 * kern/powerpc/ieee1275/init.c: Likewise.
35941 * term/i386/pc/at_keyboard.c: Likewise.
35942 * term/i386/pc/vga_text.c: Likewise.
35943 * util/grub-mkdevicemap.c: Likewise.
35944
b9416d00 359452008-01-02 Robert Millan <rmh@aybabtu.com>
35946
35947 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35948 message when loaded image is out of bounds.
35949 (grub_multiboot_load_elf64): Likewise.
35950
92695df9 359512008-01-02 Pavel Roskin <proski@gnu.org>
35952
35953 * util/grub.d/10_linux.in: Try version without ".old" when
35954 looking for initrd. It's better to use initrd from the newer
35955 kernel of the same version than no initrd at all.
35956
d98d9cad 359572008-01-01 Robert Millan <rmh@aybabtu.com>
35958
35959 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35960
dbfdce36 359612008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35962
f19dbdb7 35963 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35964 grub_video_get_active_render_target.
35965 (grub_video_adapter): Added unmap_color and get_active_render_target.
35966
f19dbdb7 35967 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35968 grub_video_get_active_render_target.
35969 (grub_video_get_info): Changed method to accept NULL pointer as an
35970 argument to allow detection of active video adapter.
35971
35972 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35973 grub_video_vbe_unmap_color_int.
35974 Added grub_video_vbe_unmap_color and
35975 grub_video_vbe_get_active_render_target.
35976 (grub_video_vbe_adapter): Added unmap_color and
35977 get_active_render_target.
35978
f19dbdb7 35979 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35980 with grub_video_vbe_unmap_color_int.
35981
35982 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35983 (DEFAULT_NORMAL_COLOR): Likewise.
35984 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35985 (DEFAULT_FG_COLOR): Removed.
35986 (DEFAULT_BG_COLOR): Likewise.
35987 (DEFAULT_CURSOR_COLOR): Changed value.
35988 (grub_virtual_screen): Added standard_color_setting,
35989 normal_color_setting, highlight_color_setting and term_color.
35990 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35991 (bitmap_width): Added.
35992 (bitmap_height): Likewise.
35993 (bitmap): Likewise.
35994 (set_term_color): Likewise.
35995 (grub_virtual_screen_setup): Changed to use new terminal coloring
35996 settings.
35997 (grub_gfxterm_init): Added init for bitmap.
35998 (grub_gfxterm_fini): Added destroy for bitmap.
35999 (redraw_screen_rect): Updated to use background bitmap and new
36000 terminal coloring.
36001 (scroll_up): Added optimization for case when there is no bitmap.
36002 (grub_gfxterm_cls): Fixed to use correct background color.
36003 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36004 coloring.
36005 (grub_virtual_screen_setcolor): Likewise.
36006 (grub_virtual_screen_getcolor): Added.
36007 (grub_gfxterm_background_image_cmd): Likewise.
36008 (grub_video_term): Added setcolor and getcolor.
36009 (MOD_INIT): Added registration of background_image command.
36010 (MOD_TERM): Added unregistration for background_image command.
36011
c3c20931 360122007-12-30 Pavel Roskin <proski@gnu.org>
36013
36014 * loader/multiboot_loader.c: Fix multiboot command
36015 unregistration. Fix all typos in the word "multiboot".
36016
df266716 360172007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36018
36019 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36020 support for initrd names used in Fedora.
36021
fc6e896c 360222007-12-26 Bean <bean123ch@gmail.com>
36023
36024 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36025 (cpio_mod_SOURCES): New variable.
36026 (cpio_mod_CFLAGS): Likewise.
36027 (cpio_mod_LDFLAGS): Likewise.
36028
36029 * fs/cpio.c: New file.
36030
36031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36032
36033 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36034
36035 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36036
36037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36038
533110ad 360392007-12-25 Robert Millan <rmh@aybabtu.com>
36040
36041 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36042 (grub_getcolor): New function.
36043
36044 * kern/term.c (grub_getcolor): New function.
36045 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36046 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36047 (print_entry): Set normal and highlight colors to
36048 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36049 respectively, before printing and restore them to old
36050 values afterwards.
36051 (grub_menu_init_page): Likewise. Fill an additional colored space
36052 that would otherwise be left blank.
36053
36054 * term/efi/console.c (grub_console_getcolor): New function.
36055 (struct grub_console_term.getcolor): New variable.
36056 * term/i386/pc/console.c (grub_console_getcolor): New function.
36057 (struct grub_console_term.getcolor): New variable.
36058 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36059 (struct grub_console_term.getcolor): New variable.
36060
36061 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36062 (struct grub_console_term.setcolor): Remove variable.
36063 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36064 (struct grub_console_term.setcolor): Remove variable.
36065 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36066 (struct grub_console_term.setcolor): Remove variable.
36067 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36068 (struct grub_console_term.setcolor): Remove variable.
36069
4931827f 360702007-12-25 Robert Millan <rmh@aybabtu.com>
36071
36072 * configure.ac: Search for possible unifont.hex locations, and
36073 define UNIFONT_HEX if found.
36074
36075 * Makefile.in (UNIFONT_HEX): Define variable.
36076 (DATA): Rename to ...
36077 (PKGLIB): ... this. Update all users.
36078 (PKGDATA): New variable.
36079 (pkgdata_IMAGES): Rename to ...
36080 (pkglib_IMAGES): ... this. Update all users.
36081 (pkgdata_MODULES): Rename to ...
36082 (pkglib_MODULES): ... this. Update all users.
36083 (pkgdata_PROGRAMS): Rename to ...
36084 (pkglib_PROGRAMS): ... this. Update all users.
36085 (pkgdata_DATA): Rename to ...
36086 (pkglib_DATA): ... this. Update all users.
36087 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36088 (unicode.pff, ascii.pff): New rules.
36089 (all-local): Add `$(PKGDATA)' dependency.
36090 (install-local): Process `$(PKGDATA)'.
36091
36092 * util/update-grub_lib.in (font_path): Search for *.pff files in
36093 a few more locations, including `${pkgdata}'.
36094
57e57e31 360952007-12-23 Robert Millan <rmh@aybabtu.com>
36096
36097 Patch from Bean <bean123ch@gmail.com>:
36098 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36099 `size'.
36100
4bc72aa9 361012007-12-21 Bean <bean123ch@gmail.com>
36102
36103 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36104 (ntfscomp_mod_SOURCES): New variable.
36105 (ntfscomp_mod_CFLAGS): Likewise.
36106 (ntfscomp_mod_LDFLAGS): Likewise.
36107
36108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36109 (grub_probe_SOURCES): Likewise.
36110 (grub_emu_SOURCES): Likewise.
36111
36112 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36113 (grub_emu_SOURCES): Likewise.
36114
36115 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36116 (grub_emu_SOURCES): Likewise.
36117
36118 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36119 (grub_emu_SOURCES): Likewise.
36120
36121 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36122 (read_run_list): Renamed to grub_ntfs_read_run_list.
36123 (decomp_nextvcn): Moved to ntfscomp.c.
36124 (decomp_getch): Likewise.
36125 (decomp_get16): Likewise.
36126 (decomp_block): Likewise.
36127 (read_block): Likewise.
36128 (read_data): Partially moved to ntfscomp.c.
36129 (fixup): Change unsigned to grub_uint16_t.
36130 (read_mft): Change unsigned long to grub_uint32_t.
36131 (read_attr): Likewise.
36132 (read_data): Likewise.
36133 (read_run_data): Likewise.
36134 (read_run_list): Likewise.
36135 (read_mft): Likewise.
36136
36137 * fs/ntfscomp.c: New file.
36138
36139 * include/grub/ntfs.h: New file.
36140
af680a87 361412007-12-16 Robert Millan <rmh@aybabtu.com>
36142
36143 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36144 IDE disk check, since Linux is known to support 20 IDE disks.
36145 Reported by Colin Watson.
36146
84be7599 361472007-12-15 Bean <bean123ch@gmail.com>
36148
36149 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36150 (lnxboot_img_SOURCES): New variable.
36151 (lnxboot_img_ASFLAGS): Likewise.
36152 (lnxboot_img_LDFLAGS): Likewise.
36153
36154 * boot/i386/pc/lnxboot.S: New file.
36155
6af9db01 361562007-11-24 Pavel Roskin <proski@gnu.org>
36157
36158 * configure.ac: Test if '--build-id=none' is supported by the
36159 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36160 objcopy to generate incorrect binary files (binutils
36161 2.17.50.0.18-1 as shipped by Fedora 8).
36162 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36163 linking, so that build ID doesn't break the test.
36164
7361cfe6 361652007-11-24 Pavel Roskin <proski@gnu.org>
36166
36167 * include/grub/i386/time.h: use "void" in the argument list
36168 of grub_cpu_idle().
36169 * include/grub/powerpc/time.h: Likewise.
36170 * include/grub/sparc64/time.h: Likewise.
36171
1593e10c 361722007-11-18 Christian Franke <franke@computer.org>
36173
36174 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36175 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36176 This fixes the problem that function keys did not work in grub-emu.
36177
3b8db1a8 361782007-11-18 Christian Franke <franke@computer.org>
36179
36180 * disk/host.c (grub_host_open): Remove attribute unused from
36181 name parameter. Add check for "host". This fixes the problem
36182 that grub-emu does not find partitions.
36183
2e29408d 361842007-11-18 Christian Franke <franke@computer.org>
36185
36186 * util/hostfs.c (is_dir): New function.
36187 (grub_hostfs_dir): Handle missing dirent.d_type case.
36188 (grub_hostfs_read): Add missing fseek().
36189 (grub_hostfs_label): Clear label pointer. This fixes a crash
36190 of grub-emu on "ls (host)".
36191
398cd047 361922007-11-18 Christian Franke <franke@computer.org>
36193
36194 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36195 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36196 to 64 bit boundary by default.
36197
c405c391 361982007-11-18 Bean <bean123ch@gmail.com>
36199
36200 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36201 (hexdump_mod_SOURCES): New variable.
36202 (hexdump_mod_CFLAGS): Likewise.
36203 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36204
c405c391 36205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36206
36207 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36208
36209 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36210
36211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36212
36213 * include/grub/hexdump.h: New file.
36214
36215 * commands/hexdump.c: New file.
36216
5cced7fd 362172007-11-10 Robert Millan <rmh@aybabtu.com>
36218
36219 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36220 in grub_outb() calls.
36221 (beep_on): Likewise.
36222
8b714eb0 362232007-11-10 Christian Franke <franke@computer.org>
36224
36225 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36226 (grub_menu_run): Likewise.
36227
ce0f1839 362282007-11-10 Robert Millan <rmh@aybabtu.com>
36229
36230 * include/grub/i386/efi/machine.h: New file.
36231 * include/grub/i386/linuxbios/machine.h: Likewise.
36232 * include/grub/i386/pc/machine.h: Likewise.
36233 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36234 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36235
36236 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36237 (serial_hw_io_addr): New variable.
36238 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36239 instead of `(unsigned short *) 0x400'.
36240
270c237d 362412007-11-10 Bean <bean123ch@gmail.com>
36242
36243 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36244
a87783bf 362452007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36246
36247 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36248 (vga_mod_SOURCES): Added.
36249 (vga_mod_CFLAGS): Likewise.
36250 (vga_mod_LDFLAGS): Likewise.
36251
36252 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36253 grub_outb() calls.
36254 (set_map_mask): Likewise.
36255 (set_read_map): Likewise.
36256 (set_read_address): Likewise.
36257 (vga_font): Removed variable.
36258 (get_vga_glyph): Removed function.
36259 (invalidate_char): Likewise.
36260 (write_char): Changed to use grub_font_get_glyph() for font
36261 information.
36262 (grub_vga_putchar): Likewise.
36263 (grub_vga_getcharwidth): Likewise.
36264
6433b448 362652007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36266
36267 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36268 flags.
36269 (pxeboot_img_LDFLAGS): Likewise.
36270 (diskboot_img_LDFLAGS): Likewise.
36271 (kernel_img_LDFLAGS): Likewise.
36272
49178511 362732007-11-06 Robert Millan <rmh@aybabtu.com>
36274
36275 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36276 in grub_outb() calls.
36277 (serial_hw_init): Likewise.
36278
53b052de 362792007-11-05 Robert Millan <rmh@aybabtu.com>
36280
36281 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36282 spaces. Skip non-regular files.
36283
5ab33bba 362842007-11-05 Robert Millan <rmh@aybabtu.com>
36285
36286 * kern/disk.c (grub_disk_firmware_fini)
36287 (grub_disk_firmware_is_tainted): New variables.
36288
36289 * include/grub/disk.h (grub_disk_firmware_fini)
36290 (grub_disk_firmware_is_tainted): Likewise.
36291
36292 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36293 (grub_disk_biosdisk_fini): ... to here.
36294 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36295 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36296 is set. Register grub_disk_biosdisk_fini() in
36297 `grub_disk_firmware_fini'.
36298
36299 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36300 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36301 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36302 to finish existing firmware disk interface.
36303
36304 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36305 (ata_mod_SOURCES): New variable.
36306 (ata_mod_CFLAGS): Likewise.
36307 (ata_mod_LDFLAGS): Likewise.
36308
0149ab7c 363092007-11-05 Robert Millan <rmh@aybabtu.com>
36310
36311 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36312 (grub_ata_wait): Reimplement using grub_millisleep().
36313
36314 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36315 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36316
be7ac41e 363172007-11-03 Marco Gerards <marco@gnu.org>
36318
36319 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36320 (CRTC_ADDR_PORT): New macro.
36321 (CRTC_DATA_PORT): Likewise.
36322 (CRTC_CURSOR): Likewise.
36323 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36324 (CRTC_CURSOR_ADDR_LOW): Likewise.
36325 (update_cursor): New function.
36326 (grub_console_real_putchar): Call `update_cursor'.
36327 (grub_console_gotoxy): Likewise.
36328 (grub_console_cls): Set the default color when clearing the
36329 screen.
36330 (grub_console_setcursor): Implemented.
36331
bb06ab2e 363322007-11-03 Marco Gerards <marco@gnu.org>
36333
36334 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36335 become activate.
36336 (grub_ata_pio_write): Likewise.
36337
36338 (grub_atapi_identify): Wait after issuing an ATA command.
36339 (grub_atapi_packet): Likewise.
36340 (grub_ata_identify): Likewise.
36341 (grub_ata_readwrite): Likewise.
36342
cf8f780b 363432007-11-03 Marco Gerards <marco@gnu.org>
36344
36345 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36346 (grub_ata_pio_write): Likewise.
36347 (grub_ata_readwrite): Use `grub_error', instead of
36348 returning `grub_errno'.
36349
ed649e54 363502007-11-03 Marco Gerards <marco@gnu.org>
36351
36352 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36353 grub_ata_pio_write once for every single sector, instead of for
36354 multiple sectors.
36355
ca25d8f0 363562007-10-31 Robert Millan <rmh@aybabtu.com>
36357
36358 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36359
36360 * conf/i386-linuxbios.rmk: New file.
36361
36362 * kern/i386/pc/hardware.c: Likewise.
36363 * term/i386/pc/at_keyboard.c: Likewise.
36364 * term/i386/pc/vga_text.c: Likewise.
36365
36366 * include/grub/i386/linuxbios/boot.h: Likewise.
36367 * include/grub/i386/linuxbios/console.h: Likewise.
36368 * include/grub/i386/linuxbios/init.h: Likewise.
36369 * include/grub/i386/linuxbios/kernel.h: Likewise.
36370 * include/grub/i386/linuxbios/loader.h: Likewise.
36371 * include/grub/i386/linuxbios/memory.h: Likewise.
36372 * include/grub/i386/linuxbios/serial.h: Likewise.
36373 * include/grub/i386/linuxbios/time.h: Likewise.
36374
36375 * kern/i386/linuxbios/init.c: Likewise.
36376 * kern/i386/linuxbios/startup.S: Likewise.
36377 * kern/i386/linuxbios/table.c: Likewise.
36378
e911ecc1 363792007-10-31 Marco Gerards <marco@gnu.org>
36380
36381 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36382 (ata_mod_SOURCES): New variable.
36383 (ata_mod_CFLAGS): Likewise.
36384 (ata_mod_LDFLAGS): Likewise.
36385
36386 * disk/ata.c: New file.
36387
36388 * include/grub/disk.h (grub_disk_dev_id): Add
36389 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36390
7f66d0e0 363912007-10-31 Robert Millan <rmh@aybabtu.com>
36392
36393 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36394 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36395
36396 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36397 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36398
36399 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36400 `<grub/types.h>'.
36401
36402 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36403
5cd7dd46 364042007-10-27 Robert Millan <rmh@aybabtu.com>
36405
3236ca65 36406 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36407
2ebfc90f 364082007-10-22 Robert Millan <rmh@aybabtu.com>
36409
36410 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36411 `"../realmode.S"'.
36412 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36413
73fcb0f3 364142007-10-22 Robert Millan <rmh@aybabtu.com>
36415
36416 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36417 (pkgdata_MODULES): Add `biosdisk.mod'.
36418 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36419 variables.
36420
36421 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36422 (grub_biosdisk_init): Replace with ...
36423 (GRUB_MOD_INIT(biosdisk)): ... this.
36424 (grub_biosdisk_fini): Replace with ...
36425 (GRUB_MOD_FINI(biosdisk)): ... this.
36426
36427 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36428 (grub_machine_init): Remove call to grub_biosdisk_init().
36429 (grub_machine_fini): Remove call to grub_machine_fini().
36430
36431 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36432
3381d274 364332007-10-22 Robert Millan <rmh@aybabtu.com>
36434
36435 * include/grub/time.h: New file.
36436 * include/grub/i386/time.h: Likewise.
36437 * include/grub/powerpc/time.h: Likewise.
36438 * include/grub/sparc64/time.h: Likewise.
36439
36440 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36441 instances to ...
36442 (KERNEL_MACHINE_TIME_HEADER): ... this.
36443 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36444 instances to ...
36445 (KERNEL_MACHINE_TIME_HEADER): ... this.
36446 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36447 instances to ...
36448 (KERNEL_MACHINE_TIME_HEADER): ... this.
36449
36450 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36451 (grub_millisleep): New function.
36452 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36453 (grub_millisleep): New function.
36454 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36455 Remove `grub/machine/time.h' include.
36456 (grub_millisleep): New function.
36457 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36458 Remove `grub/machine/time.h' include.
36459 (grub_millisleep): New function.
36460
36461 * include/grub/misc.h (grub_div_roundup): New function.
36462
36463 * kern/misc.c: Include `<grub/time.h>'.
36464 (grub_millisleep_generic): New function.
36465
36466 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36467 Add `time.h'.
36468 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36469 Add `time.h'.
36470 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36471 `machine/time.h'. Add `time.h'.
36472 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36473
a39a0312 364742007-10-21 Robert Millan <rmh@aybabtu.com>
36475
36476 * include/grub/misc.h (grub_max): New function.
36477
2aad70e2 364782007-10-21 Robert Millan <rmh@aybabtu.com>
36479
36480 * util/misc.c (grub_util_info): Call fflush() before returning.
36481
54b71c4b 364822007-10-20 Robert Millan <rmh@aybabtu.com>
36483
36484 * genmk.rb (Image): Copy `extra_flags' from here ...
36485 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36486
36487 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36488 to `argc' and `args' arguments.
36489
a979f513 364902007-10-17 Robert Millan <rmh@aybabtu.com>
36491
36492 * kern/i386/loader.S: New file.
36493
36494 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36495 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36496 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36497 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36498 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36499 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36500 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36501 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36502 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36503 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36504 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36505 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36506 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36507 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36508
36509 * kern/i386/realmode.S: New file.
36510
36511 * kern/i386/pc/startup.S (protstack): Moved from here ...
36512 * kern/i386/realmode.S (protstack)... to here.
36513 * kern/i386/pc/startup.S (gdt): Moved from here ...
36514 * kern/i386/realmode.S (gdt)... to here.
36515 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36516 * kern/i386/realmode.S (prot_to_real)... to here.
36517
36518 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36519 `kern/i386/realmode.S'.
36520
825fc8fd 365212007-10-17 Robert Millan <rmh@aybabtu.com>
36522
36523 * include/grub/i386/loader.h: New file.
36524
36525 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36526 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36527 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36528 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36529 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36530 * include/grub/i386/loader.h (grub_linux_prot_size)
36531 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36532 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36533 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36534 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36535
36536 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36537
e179b2f4 365382007-10-15 Robert Millan <rmh@aybabtu.com>
36539
36540 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36541 filesystem when dev->disk is unset.
36542 Do probe for filesystem even when dev->disk->has_partitions is set.
36543 In case a filesystem is found, always report it.
36544 In case it isn't, if dev->disk->has_partitions is set, report that
36545 a partition table was found instead of reporting that no filesystem
36546 could be identified.
36547
5db82af6 365482007-10-12 Robert Millan <rmh@aybabtu.com>
36549
36550 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36551 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36552
68f6ac74 36553 * include/grub/types.h (grub_host_to_target16): New macro.
36554 (grub_host_to_target32): Likewise.
36555 (grub_host_to_target64): Likewise.
36556 (grub_target_to_host16): Likewise.
36557 (grub_target_to_host32): Likewise.
36558 (grub_target_to_host64): Likewise.
5db82af6 36559
36560 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36561 Renamed from to ...
36562 (GRUB_MOD_ALIGN): ...this. Update all users.
36563
68f6ac74 36564 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36565 grub_host_to_target32.
36566 Replace grub_be_to_cpu32 with grub_target_to_host32.
36567 (load_modules): Likewise.
36568 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36569 Replace grub_be_to_cpu32 with grub_target_to_host32.
36570 Replace grub_cpu_to_be16 with grub_host_to_target16.
36571 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36572
3cf497cc 365732007-10-12 Robert Millan <rmh@aybabtu.com>
36574
36575 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36576 * util/elf/grub-mkimage.c: ... here.
36577
36578 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36579 `util/powerpc/ieee1275/grub-mkimage.c'.
36580
c8cc3692 365812007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36582
c8cc3692 36583 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36584 and make it easier to figure out.
36585 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36586 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36587 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36588 leave us with less than HEAP_MIN_SIZE total heap.
36589 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36590
5c58b791 365912007-10-03 Robert Millan <rmh@aybabtu.com>
36592
36593 * include/grub/i386/io.h: New file.
36594 * commands/i386/pc/play.c (inb): Removed.
36595 (outb): Removed.
36596 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36597 with grub_outb().
afcd2ef8 36598 * term/i386/pc/serial.c (inb): Removed.
36599 (outb): Removed.
36600 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36601 with grub_outb().
36602 * term/i386/pc/vga.c (inb): Removed.
36603 (outb): Removed.
36604 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36605 with grub_outb().
5c58b791 36606
1a477ed6 366072007-10-02 Robert Millan <rmh@aybabtu.com>
36608
36609 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36611 Reported by Marcin Kurek.
36612
6b5d80fa 366132007-09-07 Robert Millan <rmh@aybabtu.com>
36614
36615 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36616 SmartFirmware version updates (as released by Sven Luther), and avoid
36617 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36618 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36619 known broken.
36620
5618afbf 366212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36622
36623 From Hitoshi Ozeki:
36624 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36625 when merging two regions.
36626
6139dcd9 366272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36628
508e39ee 36629 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36630 * normal/completion.c (grub_normal_do_completion): Likewise.
36631 Reported by Hitoshi Ozeki.
36632
366332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36634
6139dcd9 36635 Do not use devices at boot in chainloading.
f19dbdb7 36636
6139dcd9 36637 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36638 (boot_part_addr): Likewise.
36639 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36640 with BOOT_DRIVE and BOOT_PART_ADDR.
36641 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36642 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36643
38da6516 366442007-08-29 Robert Millan <rmh@aybabtu.com>
36645
36646 Patch from Simon Peter <dn.tlp@gmx.net>:
36647 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36648 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36649 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36650 util/i386/pc/grub-setup.c_DEPENDENCIES.
36651 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36652 util/grub-probe.c_DEPENDENCIES.
36653 * conf/powerpc-ieee1275.rmk: Likewise.
36654
29d0928c 366552007-08-28 Robert Millan <rmh@aybabtu.com>
36656
36657 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36658 to tell grub-mkdevicemap how to name devices.
36659 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36660 feature).
36661
36662 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36663 util/i386/get_disk_name.c.
36664 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36665 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36666 util/ieee1275/get_disk_name.c.
36667
36668 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36669
36670 * DISTLIST: Add util/i386/get_disk_name.c and
36671 util/ieee1275/get_disk_name.c.
36672
36673 * util/grub-mkdevicemap.c: Replace device naming logic with
36674 grub_util_get_disk_name() calls.
36675
5a0d3cca 366762007-08-20 Robert Millan <rmh@aybabtu.com>
36677
36678 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36679 (so that it works for both plural and singular quantities).
36680
8b72db2f 366812007-08-05 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36684 so that [xz] isn't taken into account when determining order.
36685
352466bf 366862007-08-02 Marco Gerards <marco@gnu.org>
36687
36688 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36689 `include/multiboot2.h', `include/grub/elfload.h',
36690 `include/multiboot.h', `include/grub/multiboot.h',
36691 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36692 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36693 `kern/elf.c', `loader/multiboot_loader.c',
36694 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36695 `loader/i386/pc/multiboot2.c',
36696 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36697 `util/i386/pc/grub-mkrescue.in'. Remove
36698 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36699 `include/grub/i386/pc/util/biosdisk.h' and
36700 `include/grub/powerpc/ieee1275/multiboot.h'.
36701
8f096014 367022007-08-02 Bean <bean123ch@gmail.com>
36703
36704 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36705 (ntfs_mod_SOURCES): New variable.
36706 (ntfs_mod_CFLAGS): Likewise.
36707 (ntfs_mod_LDFLAGS): Likewise.
36708
36709 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36710 (grub_probe_SOURCES): Likewise.
36711 (grub_emu_SOURCES): Likewise.
36712
36713 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36714 (grub_emu_SOURCES): Likewise.
36715
36716 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36717 (grub_emu_SOURCES): Likewise.
f19dbdb7 36718
8f096014 36719 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36720
36721 * fs/ntfs.c: New file.
36722
9959f7db 367232007-08-02 Bean <bean123ch@gmail.com>
36724
36725 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36726
36727 * file.h (grub_file): Likewise.
36728
36729 * fshelp.h (grub_fshelp_read_file): Likewise.
36730
36731 * util/i386/pc/grub-setup.c (setup): Likewise.
36732 (save_first_sector): Likewise.
36733 (save_blocklists): Likewise.
f19dbdb7 36734
9959f7db 36735 * fs/affs.c (grub_affs_read_file): Likewise.
36736
36737 * fs/ext2.c (grub_ext2_read_file): Likewise.
36738
36739 * fs/fat.c (grub_fat_read_data): Likewise.
36740
36741 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36742
36743 * fs/hfs.c (grub_hfs_read_file): Likewise.
36744
36745 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36746
36747 * fs/jfs.c (grub_jfs_read_file): Likewise.
36748
36749 * fs/minix.c (grub_minix_read_file): Likewise.
36750
36751 * fs/sfs.c (grub_sfs_read_file): Likewise.
36752
36753 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36754
9959f7db 36755 * fs/xfs.c (grub_xfs_read_file): Likewise.
36756
36757 * command/blocklist.c (read_blocklist): Likewise.
36758 (print_blocklist): Likewise.
36759
0a203f83 367602007-08-02 Marco Gerards <marco@gnu.org>
36761
36762 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36763 `util/hostfs.c'.
36764
36765 * disk/host.c: New file.
36766
36767 * util/hostfs.c: Likewise.
36768
36769 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36770 return `GRUB_ERR_BAD_FS'.
36771 * fs/sfs.c (grub_sfs_mount): Likewise.
36772 * fs/xfs.c (grub_xfs_mount): Likewise.
36773
36774 * include/grub/disk.h (enum grub_disk_dev_id): Add
36775 `GRUB_DISK_DEVICE_HOST_ID'.
36776
36777 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36778
e5dfe777 367792007-07-24 Jerone Young <jerone@gmail.com>
36780
f19dbdb7 36781 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36782 modules for compilation.
36783 * conf/powerpc-ieee1275.rmk: Likewise.
36784
36785 * include/multiboot.h: Move multiboot definitions to one file. Rename
36786 many definitions to not get grub specific.
36787 * include/multiboot2.h: Create header with multiboot 2 definitions.
36788 * include/grub/multiboot.h: Header for grub specific function
36789 prototypes and definitions.
36790 * include/grub/multiboot2.h: Likewise.
36791 * include/grub/multiboot_loader.h: Likewise.
36792 * include/grub/i386/pc/multiboot.h: Removed.
36793 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36794
36795 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36796 and 2 to allow for one multiboot and module commands.
36797 * loader/multiboot2.c: Add multiboot2 functionality.
36798 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36799 and definition names.
36800 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36801 2 functions.
36802 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36803 ieee1275 specific multiboot2 code.
36804
36805 * kern/i386/pc/startup.S: Change headers and definition names for
36806 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36807
daf0f0ba 368082007-07-22 Robert Millan <rmh@aybabtu.com>
36809
36810 * geninitheader.sh: Process file specified in first parameter rather
36811 than hardcoding grub_modules_init.lst.
fe6b695a 36812 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36813 than hardcoding grub_modules_init.h.
36814
36815 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36816 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36817 grub_probe_init.[ch] and grub_setup_init.[ch].
36818
36819 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36820 grub_modules_init.h with grub_emu_init.h.
36821 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36822 grub_probe_init.[ch] files.
36823 * conf/i386-efi.rmk: Likewise.
36824 * conf/i386-pc.rmk: Likewise.
36825 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36826 grub_setup_init.[ch] files.
36827
36828 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36829 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36830 to initialize modules rather than a list of hardcoded functions.
36831 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36832 grub_init_all() to initialize modules rather than a list of hardcoded
36833 functions.
36834
54cdc1cc 368352007-07-22 Robert Millan <rmh@aybabtu.com>
36836
36837 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36838 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36839
ad0686cc 368402007-07-22 Robert Millan <rmh@aybabtu.com>
36841
36842 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36843 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36844 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36845 flag when running on SmartFirmware.
36846 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36847 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36848 was set.
36849
36850 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36851 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36852 rather than decreasing it.
36853
36854 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36855 there's not enough space to do it, fail in the same way as when it
36856 can't be done because there are no partitions.
36857
36858 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36859 when nvsetenv failed.
36860
969c02ec 368612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36862
36863 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36864 because this rule is automatically generated.
36865 (grub-mkrescue): Removed for the same reason as above.
36866
5a79f472 368672007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 Migrate to GNU General Public License Version 3.
f19dbdb7 36870
5a79f472 36871 * COPYING: Replaced with the plain text version of GPLv3.
36872
36873 * config.guess: Updated from gnulib.
36874 * config.sub: Likewise.
36875
36876 * geninit.sh: Output a GPLv3 copyright notice.
36877 * geninitheader.sh: Likewise.
36878 * genmodsrc.sh: Likewise.
36879 * gensymlist.sh.in: Likewise.
36880
36881 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36882 * boot/i386/pc/diskboot.S: Likewise.
36883 * boot/i386/pc/pxeboot.S: Likewise.
36884 * commands/blocklist.c: Likewise.
36885 * commands/boot.c: Likewise.
36886 * commands/cat.c: Likewise.
36887 * commands/cmp.c: Likewise.
36888 * commands/configfile.c: Likewise.
36889 * commands/echo.c: Likewise.
36890 * commands/help.c: Likewise.
36891 * commands/ls.c: Likewise.
36892 * commands/search.c: Likewise.
36893 * commands/terminal.c: Likewise.
36894 * commands/test.c: Likewise.
36895 * commands/videotest.c: Likewise.
36896 * commands/i386/cpuid.c: Likewise.
36897 * commands/i386/pc/halt.c: Likewise.
36898 * commands/i386/pc/play.c: Likewise.
36899 * commands/i386/pc/reboot.c: Likewise.
36900 * commands/i386/pc/vbeinfo.c: Likewise.
36901 * commands/i386/pc/vbetest.c: Likewise.
36902 * commands/ieee1275/halt.c: Likewise.
36903 * commands/ieee1275/reboot.c: Likewise.
36904 * commands/ieee1275/suspend.c: Likewise.
36905 * disk/loopback.c: Likewise.
36906 * disk/lvm.c: Likewise.
36907 * disk/raid.c: Likewise.
36908 * disk/efi/efidisk.c: Likewise.
36909 * disk/i386/pc/biosdisk.c: Likewise.
36910 * disk/ieee1275/ofdisk.c: Likewise.
36911 * font/manager.c: Likewise.
36912 * fs/affs.c: Likewise.
36913 * fs/ext2.c: Likewise.
36914 * fs/fat.c: Likewise.
36915 * fs/fshelp.c: Likewise.
36916 * fs/hfs.c: Likewise.
36917 * fs/hfsplus.c: Likewise.
36918 * fs/iso9660.c: Likewise.
36919 * fs/jfs.c: Likewise.
36920 * fs/minix.c: Likewise.
36921 * fs/sfs.c: Likewise.
36922 * fs/ufs.c: Likewise.
36923 * fs/xfs.c: Likewise.
36924 * hello/hello.c: Likewise.
36925 * include/grub/acorn_filecore.h: Likewise.
36926 * include/grub/arg.h: Likewise.
36927 * include/grub/bitmap.h: Likewise.
36928 * include/grub/boot.h: Likewise.
36929 * include/grub/cache.h: Likewise.
36930 * include/grub/device.h: Likewise.
36931 * include/grub/disk.h: Likewise.
36932 * include/grub/dl.h: Likewise.
36933 * include/grub/elfload.h: Likewise.
36934 * include/grub/env.h: Likewise.
36935 * include/grub/err.h: Likewise.
36936 * include/grub/file.h: Likewise.
36937 * include/grub/font.h: Likewise.
36938 * include/grub/fs.h: Likewise.
36939 * include/grub/fshelp.h: Likewise.
36940 * include/grub/gzio.h: Likewise.
36941 * include/grub/hfs.h: Likewise.
36942 * include/grub/kernel.h: Likewise.
36943 * include/grub/loader.h: Likewise.
36944 * include/grub/lvm.h: Likewise.
36945 * include/grub/misc.h: Likewise.
36946 * include/grub/mm.h: Likewise.
36947 * include/grub/net.h: Likewise.
36948 * include/grub/normal.h: Likewise.
36949 * include/grub/parser.h: Likewise.
36950 * include/grub/partition.h: Likewise.
36951 * include/grub/pc_partition.h: Likewise.
36952 * include/grub/raid.h: Likewise.
36953 * include/grub/rescue.h: Likewise.
36954 * include/grub/script.h: Likewise.
36955 * include/grub/setjmp.h: Likewise.
36956 * include/grub/symbol.h: Likewise.
36957 * include/grub/term.h: Likewise.
36958 * include/grub/terminfo.h: Likewise.
36959 * include/grub/tparm.h: Likewise.
36960 * include/grub/types.h: Likewise.
36961 * include/grub/video.h: Likewise.
36962 * include/grub/efi/api.h: Likewise.
36963 * include/grub/efi/chainloader.h: Likewise.
36964 * include/grub/efi/console.h: Likewise.
36965 * include/grub/efi/console_control.h: Likewise.
36966 * include/grub/efi/disk.h: Likewise.
36967 * include/grub/efi/efi.h: Likewise.
36968 * include/grub/efi/pe32.h: Likewise.
36969 * include/grub/efi/time.h: Likewise.
36970 * include/grub/i386/linux.h: Likewise.
36971 * include/grub/i386/setjmp.h: Likewise.
36972 * include/grub/i386/types.h: Likewise.
36973 * include/grub/i386/efi/kernel.h: Likewise.
36974 * include/grub/i386/efi/loader.h: Likewise.
36975 * include/grub/i386/efi/time.h: Likewise.
36976 * include/grub/i386/pc/biosdisk.h: Likewise.
36977 * include/grub/i386/pc/boot.h: Likewise.
36978 * include/grub/i386/pc/chainloader.h: Likewise.
36979 * include/grub/i386/pc/console.h: Likewise.
36980 * include/grub/i386/pc/init.h: Likewise.
36981 * include/grub/i386/pc/kernel.h: Likewise.
36982 * include/grub/i386/pc/loader.h: Likewise.
36983 * include/grub/i386/pc/memory.h: Likewise.
36984 * include/grub/i386/pc/multiboot.h: Likewise.
36985 * include/grub/i386/pc/serial.h: Likewise.
36986 * include/grub/i386/pc/time.h: Likewise.
36987 * include/grub/i386/pc/vbe.h: Likewise.
36988 * include/grub/i386/pc/vbeblit.h: Likewise.
36989 * include/grub/i386/pc/vbefill.h: Likewise.
36990 * include/grub/i386/pc/vbeutil.h: Likewise.
36991 * include/grub/i386/pc/vga.h: Likewise.
36992 * include/grub/ieee1275/ieee1275.h: Likewise.
36993 * include/grub/ieee1275/ofdisk.h: Likewise.
36994 * include/grub/powerpc/libgcc.h: Likewise.
36995 * include/grub/powerpc/setjmp.h: Likewise.
36996 * include/grub/powerpc/types.h: Likewise.
36997 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36998 * include/grub/powerpc/ieee1275/console.h: Likewise.
36999 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37000 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37001 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37002 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37003 * include/grub/powerpc/ieee1275/time.h: Likewise.
37004 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37005 * include/grub/sparc64/libgcc.h: Likewise.
37006 * include/grub/sparc64/setjmp.h: Likewise.
37007 * include/grub/sparc64/types.h: Likewise.
37008 * include/grub/sparc64/ieee1275/console.h: Likewise.
37009 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37010 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37011 * include/grub/sparc64/ieee1275/time.h: Likewise.
37012 * include/grub/util/biosdisk.h: Likewise.
37013 * include/grub/util/getroot.h: Likewise.
37014 * include/grub/util/lvm.h: Likewise.
37015 * include/grub/util/misc.h: Likewise.
37016 * include/grub/util/raid.h: Likewise.
37017 * include/grub/util/resolve.h: Likewise.
37018 * io/gzio.c: Likewise.
37019 * kern/device.c: Likewise.
37020 * kern/disk.c: Likewise.
37021 * kern/dl.c: Likewise.
37022 * kern/elf.c: Likewise.
37023 * kern/env.c: Likewise.
37024 * kern/err.c: Likewise.
37025 * kern/file.c: Likewise.
37026 * kern/fs.c: Likewise.
37027 * kern/loader.c: Likewise.
37028 * kern/main.c: Likewise.
37029 * kern/misc.c: Likewise.
37030 * kern/mm.c: Likewise.
37031 * kern/parser.c: Likewise.
37032 * kern/partition.c: Likewise.
37033 * kern/rescue.c: Likewise.
37034 * kern/term.c: Likewise.
37035 * kern/efi/efi.c: Likewise.
37036 * kern/efi/init.c: Likewise.
37037 * kern/efi/mm.c: Likewise.
37038 * kern/i386/dl.c: Likewise.
37039 * kern/i386/efi/init.c: Likewise.
37040 * kern/i386/efi/startup.S: Likewise.
37041 * kern/i386/pc/init.c: Likewise.
37042 * kern/i386/pc/lzo1x.S: Likewise.
37043 * kern/i386/pc/startup.S: Likewise.
37044 * kern/ieee1275/ieee1275.c: Likewise.
37045 * kern/powerpc/cache.S: Likewise.
37046 * kern/powerpc/dl.c: Likewise.
37047 * kern/powerpc/ieee1275/cmain.c: Likewise.
37048 * kern/powerpc/ieee1275/crt0.S: Likewise.
37049 * kern/powerpc/ieee1275/init.c: Likewise.
37050 * kern/powerpc/ieee1275/openfw.c: Likewise.
37051 * kern/sparc64/cache.S: Likewise.
37052 * kern/sparc64/dl.c: Likewise.
37053 * kern/sparc64/ieee1275/init.c: Likewise.
37054 * kern/sparc64/ieee1275/openfw.c: Likewise.
37055 * loader/efi/chainloader.c: Likewise.
37056 * loader/efi/chainloader_normal.c: Likewise.
37057 * loader/i386/efi/linux.c: Likewise.
37058 * loader/i386/efi/linux_normal.c: Likewise.
37059 * loader/i386/pc/chainloader.c: Likewise.
37060 * loader/i386/pc/chainloader_normal.c: Likewise.
37061 * loader/i386/pc/linux.c: Likewise.
37062 * loader/i386/pc/linux_normal.c: Likewise.
37063 * loader/i386/pc/multiboot.c: Likewise.
37064 * loader/i386/pc/multiboot_normal.c: Likewise.
37065 * loader/powerpc/ieee1275/linux.c: Likewise.
37066 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37067 * normal/arg.c: Likewise.
37068 * normal/cmdline.c: Likewise.
37069 * normal/command.c: Likewise.
37070 * normal/completion.c: Likewise.
37071 * normal/execute.c: Likewise.
37072 * normal/function.c: Likewise.
37073 * normal/lexer.c: Likewise.
37074 * normal/main.c: Likewise.
37075 * normal/menu.c: Likewise.
37076 * normal/menu_entry.c: Likewise.
37077 * normal/misc.c: Likewise.
37078 * normal/parser.y: Likewise.
37079 * normal/script.c: Likewise.
37080 * normal/i386/setjmp.S: Likewise.
37081 * normal/powerpc/setjmp.S: Likewise.
37082 * normal/sparc64/setjmp.S: Likewise.
37083 * partmap/acorn.c: Likewise.
37084 * partmap/amiga.c: Likewise.
37085 * partmap/apple.c: Likewise.
37086 * partmap/gpt.c: Likewise.
37087 * partmap/pc.c: Likewise.
37088 * partmap/sun.c: Likewise.
37089 * term/gfxterm.c: Likewise.
37090 * term/terminfo.c: Likewise.
37091 * term/efi/console.c: Likewise.
37092 * term/i386/pc/console.c: Likewise.
37093 * term/i386/pc/serial.c: Likewise.
37094 * term/i386/pc/vesafb.c: Likewise.
37095 * term/i386/pc/vga.c: Likewise.
37096 * term/ieee1275/ofconsole.c: Likewise.
37097 * util/biosdisk.c: Likewise.
37098 * util/console.c: Likewise.
37099 * util/genmoddep.c: Likewise.
37100 * util/getroot.c: Likewise.
37101 * util/grub-emu.c: Likewise.
37102 * util/grub-mkdevicemap.c: Likewise.
37103 * util/grub-probe.c: Likewise.
37104 * util/lvm.c: Likewise.
37105 * util/misc.c: Likewise.
37106 * util/raid.c: Likewise.
37107 * util/resolve.c: Likewise.
37108 * util/update-grub.in: Likewise.
37109 * util/update-grub_lib.in: Likewise.
37110 * util/grub.d/00_header.in: Likewise.
37111 * util/grub.d/10_hurd.in: Likewise.
37112 * util/grub.d/10_linux.in: Likewise.
37113 * util/i386/efi/grub-install.in: Likewise.
37114 * util/i386/efi/grub-mkimage.c: Likewise.
37115 * util/i386/pc/grub-install.in: Likewise.
37116 * util/i386/pc/grub-mkimage.c: Likewise.
37117 * util/i386/pc/grub-mkrescue.in: Likewise.
37118 * util/i386/pc/grub-setup.c: Likewise.
37119 * util/i386/pc/misc.c: Likewise.
37120 * util/powerpc/ieee1275/grub-install.in: Likewise.
37121 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37122 * util/powerpc/ieee1275/misc.c: Likewise.
37123 * video/bitmap.c: Likewise.
37124 * video/video.c: Likewise.
37125 * video/i386/pc/vbe.c: Likewise.
37126 * video/i386/pc/vbeblit.c: Likewise.
37127 * video/i386/pc/vbefill.c: Likewise.
37128 * video/i386/pc/vbeutil.c: Likewise.
37129 * video/readers/tga.c: Likewise.
37130
3572d015 371312007-07-02 Robert Millan <rmh@aybabtu.com>
37132
37133 * conf/i386-efi.rmk: Replace obsolete reference to
37134 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37135 with util/getroot.c.
37136 * conf/powerpc-ieee1275.rmk: Likewise.
37137 * conf/sparc64-ieee1275.rmk: Likewise.
37138
37139 * util/grub-emu.c (main): Fix unchecked pointer handling.
37140
2c2a681b 371412007-07-02 Robert Millan <rmh@aybabtu.com>
37142
37143 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37144 invocation to fail, in order to support partition-less media.
37145
37146 * util/i386/pc/grub-install.in: Likewise.
37147
37148 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37149 which fs or partmap modules are needed (akin to its sister scripts).
37150
37151 Also use grub-probe to get rid of unportable /proc/mounts check.
37152
37153 Print the same informational message that the other scripts do, before
fe6b695a 37154 exiting.
2c2a681b 37155
6193defe 371562007-06-23 Robert Millan <rmh@aybabtu.com>
37157
fe6b695a 37158 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37159 a font file can be found and, if so, echo the GRUB path to it.
37160
37161 * util/update-grub.in: Handle multiple terminals depending on user
37162 input, platform availability and font file presence. Propagate
37163 variables of our findings to /etc/grub.d/ children.
37164
37165 * util/grub.d/00_header.in: Handle multiple terminals, based on
37166 environment setup by update-grub.
37167
eface1dc 371682007-06-23 Robert Millan <rmh@aybabtu.com>
37169
ba50d28f 37170 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37171
bf697e28 371722007-06-21 Robert Millan <rmh@aybabtu.com>
37173
37174 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37175 indicate end of data section in kernel image.
37176 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37177 GRUB_KERNEL_MACHINE_DATA_END.
37178
37179 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37180 space for it.
37181 * kern/i386/efi/startup.S: Likewise.
37182
37183 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37184 during image generation. Implement --prefix option to override this
37185 patch.
37186 * util/i386/efi/grub-mkimage.c: Likewise.
37187
37188 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37189 code to make path relative to its root into a separate function.
37190
37191 * util/i386/pc/grub-install.in: Use newly provided
37192 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37193 pass the result to grub-install --prefix.
37194
baa574b4 371952007-06-13 Robert Millan <rmh@aybabtu.com>
37196
37197 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37198 DEFAULT_DEVICE_MAP.
37199 * util/grub-emu.c: Use above definitions from misc.h instead of
37200 defining them.
37201 * util/grub-mkdevicemap.c: Likewise.
37202 * util/i386/pc/grub-setup.c: Likewise.
37203 * util/grub-probe.c: Likewise.
37204 (probe): Abort with grub_util_error() when either
37205 grub_guess_root_device or grub_util_get_grub_dev fails.
37206
0215dcbf 372072007-06-12 Robert Millan <rmh@aybabtu.com>
37208
37209 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37210 "pager" assignment.
37211 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37212 "pcdata".
37213 * util/grub-probe.c (probe): Likewise for "drive_name".
37214
8af2ab7b 372152007-06-11 Robert Millan <rmh@aybabtu.com>
37216
37217 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37218 not just the cdrom one.
37219
59d31694 372202007-06-11 Robert Millan <rmh@aybabtu.com>
37221
37222 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37223 Add --pkglibdir=DIR option to override pkglibdir.
37224 Mention --image-type=TYPE in help output.
37225 Fix --grub-mkimage (it was a no-op).
fe6b695a 37226 Abort gracefully when no parameter is given.
59d31694 37227
7ee367e4 372282007-06-11 Robert Millan <rmh@aybabtu.com>
37229
37230 * util/i386/pc/grub-mkrescue.in: New file.
37231 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37232 * Makefile.in: Handle bin_SCRIPTS.
37233
29b0ed46 372342007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37235
37236 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37237 list of video modes.
37238
c0f90770 372392007-06-06 Robert Millan <rmh@aybabtu.com>
37240
37241 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37242 file doesn't exist, or if it is in a filesystem grub can't read.
37243
37244 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37245 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37246 header comment to fit in 80 columns when the variables are resolved.
37247
37248 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37249 could be identified by update-grub. Remove redundant check for
fe6b695a 37250 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37251 handles that).
37252
fb36dc26 372532007-06-04 Robert Millan <rmh@aybabtu.com>
37254
37255 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37256
37257 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37258
37259 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37260
0c68c93e 372612007-06-04 Robert Millan <rmh@aybabtu.com>
37262
37263 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37264
37265 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37266 grub_apple_partition_map_fini.
37267
37268 * util/biosdisk.c
37269 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37270 to access >2 TiB disks).
37271
37272 Print disk->total_sectors with %llu instead of %lu, since this
37273 variable is always 64-bit (prevents wrong disk size from being displayed
37274 on either >2 TiB disk or big-endian CPU).
37275
37276 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37277 into a generic case that supports all (sane) partition maps.
37278
37279 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37280 breaks big-endian.
37281
37282 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37283 and grub_apple_partition_map_fini() after that.
37284
0f23eb74 372852007-06-01 Robert Millan <rmh@aybabtu.com>
37286
37287 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37288
37289 * util/grub.d/00_header.in: Only enable gfxterm when
37290 convert_system_path_to_grub_path() succeeds.
37291
42c71976 372922007-05-20 Robert Millan <rmh@aybabtu.com>
37293
37294 * util/update-grub_lib.in: New file.
37295 * DISTLIST: Add update-grub_lib.in.
37296 * conf/common.rmk: Generate update-grub_lib and install it in
37297 $(lib_DATA).
37298 * Makefile.in: Add install routine for $(lib_DATA).
37299
37300 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37301 function provided by update-grub_lib to support arbitrary paths of
37302 unifont.pff.
37303 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37304 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37305
5beb2291 373062007-05-19 Robert Millan <rmh@aybabtu.com>
37307
37308 * commands/i386/cpuid.c: New module.
37309 * DISTLIST: Add it.
37310 * conf/i386-efi.rmk: Enable cpuid.mod.
37311 * conf/i386-pc.rmk: Likewise.
37312
7262eca1 373132007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37314
37315 * kern/disk.c (grub_disk_read): Check return value of
37316 grub_realloc().
37317
260ba823 373182007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37319
37320 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37321 arrays.
37322 * disk/raid.c (grub_raid_open): Likewise.
37323
1ecb6cf2 373242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37325
37326 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37327 stack instead of on the heap.
37328
37329 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37330 before doing a read on it.
37331
37332 * configure.ac: Only use -fno-stack-protector for the target
37333 environment.
f19dbdb7 37334
21c8cbb1 373352007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37336
37337 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37338 __attribute_ ((unused)) to mode_type argument.
37339
37340 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37341
21c8cbb1 37342 * kern/misc.c (memcmp): Fix prototype.
37343
37344 * include/grub/partition.h [GRUB_UTIL]
37345 (grub_gpt_partition_map_init): Add prototype.
37346 (grub_gpt_partition_map_fini): Likewise.
37347
37348 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37349 at the right place.
37350
37351 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37352 (grub_fat_read_data): Likewise.
37353 (grub_fat_find_dir): Likewise.
37354
37355 * font/manager.c (find_glyph): Make table a const.
37356 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37357
849d55d3 373582007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37359
37360 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37361 code, first search for device in /dev/mapper, then in /dev.
37362 (grub_util_get_grub_dev): New function.
37363 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37364 prototype.
37365 * util/grub-probe.c (probe): Remove check for RAID, call
37366 grub_util_get_grub_dev() instead of
37367 grub_util_biosdisk_get_grub_dev().
37368 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37369 grub_util_biosdisk_get_grub_dev().
37370 * util/i386/pc/grub-setup.c (main): Likewise.
37371
8fff7c2f 373722007-05-16 Robert Millan <rmh@aybabtu.com>
37373
37374 * DISTLIST: Update for the latest changes.
37375 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37376 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37377 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37378 grub/util/biosdisk.h.
37379 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37380 grub/util/biosdisk.h.
37381
48e12b52 373822007-05-16 Robert Millan <rmh@aybabtu.com>
37383
37384 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37385
46b9d128 373862007-05-16 Robert Millan <rmh@aybabtu.com>
37387
37388 * util/i386/efi/grub-install.in: New.
37389 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37390 newly added grub-install.
37391 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37392 include.
37393 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37394 grub/util/biosdisk.h.
37395 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37396 grub/util/biosdisk.h.
37397
2d1a40a9 373982007-05-16 Robert Millan <rmh@aybabtu.com>
37399
37400 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37401 * include/grub/util/biosdisk.h: ... here.
37402 * util/i386/pc/biosdisk.c: Moved to ...
37403 * util/biosdisk.c: ... here.
37404 * util/i386/pc/getroot.c: Moved to ...
37405 * util/getroot.c: ... here.
37406 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37407 * util/grub-mkdevicemap.c: ... here.
37408 * util/i386/pc/grub-probe.c: Moved to ...
37409 * util/grub-probe.c: ... here.
37410
9e26e3bc 374112007-05-15 Robert Millan <rmh@aybabtu.com>
37412
37413 * util/update-grub.in: Remove duplicated line in grub.cfg header
37414 message.
37415
57f96397 374162007-05-13 Robert Millan <rmh@aybabtu.com>
37417
37418 * util/update-grub.in: Fix a few assumptions about the devices holding
37419 /, /boot and /boot/grub being the same.
37420 * util/grub.d/00_header.in: Likewise.
37421 * util/grub.d/10_hurd.in: Likewise.
37422 * util/grub.d/10_linux.in: Likewise.
37423
37424 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37425 patterns. Use that to define the `.old' suffix as older than `'.
37426
37427 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37428
37429 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37430 the grub.cfg header message.
37431
2e610d62 374322007-05-11 Robert Millan <rmh@aybabtu.com>
37433
37434 * util/update-grub.in: Create device.map if it doesn't already exist,
37435 before attempting to run grub-probe.
37436 Check for grub-probe and grub-mkdevicemap with the same code
37437 grub-install is using.
37438 Remove test mode.
37439
3f6a10ef 374402007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37441
37442 * Makefile.in: Add the datarootdir autoconf variable.
37443
02e7b75e 374442007-05-09 Robert Millan <rmh@aybabtu.com>
37445
37446 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37447 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37448
75f396cc 374492007-05-07 Robert Millan <rmh@aybabtu.com>
37450
37451 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37452 determine partition map module.
37453 * util/i386/pc/grub-install.in: Use this feature to decide which
37454 partition module to load, instead of hardcoding pc and gpt.
37455
da65cb36 374562007-05-07 Robert Millan <rmh@aybabtu.com>
37457
37458 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37459 source directory differs from build directory.
37460
b57d6a91 374612007-05-05 Robert Millan <rmh@aybabtu.com>
37462
37463 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37464 initialisation.
37465
509d00f1 374662007-05-05 Robert Millan <rmh@aybabtu.com>
37467
37468 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37469
c48f23ef 374702007-05-05 Robert Millan <rmh@aybabtu.com>
37471
37472 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37473 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37474
20b97658 374752007-05-05 Robert Millan <rmh@aybabtu.com>
37476
37477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37478 (grub_probe_SOURCES): Likewise.
37479 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37480 GPT and initialize dos_part and bsd_part accordingly.
37481 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37482 install_bsd_part.
37483 (main): Activate gpt module for use during partition identification,
37484 and deactivate it afterwards.
37485 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37486 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37487 partition identification, and deactivate it afterwards.
37488
99123174 374892007-05-05 Robert Millan <rmh@aybabtu.com>
37490
37491 * term/i386/pc/console.c (grub_console_fini): Call
37492 grub_term_set_current() before grub_term_unregister().
37493
ebd97f6e 374942007-05-04 Robert Millan <rmh@aybabtu.com>
37495
37496 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37497 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37498 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37499 and update-grub_DATA.
37500 * conf/common.rmk: Build and install update-grub components.
37501 * conf/common.mk: Regenerate.
37502 * util/update-grub.in: New. Core of update-grub.
37503 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37504 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37505 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37506 * util/grub.d/README: New. Document grub.d directory layout.
37507
b06a264d 375082007-05-01 Robert Millan <rmh@aybabtu.com>
37509
37510 * util/grub-emu.c: Move initialization functions
37511 grub_util_biosdisk_init() and grub_init_all() before
37512 grub_util_biosdisk_get_grub_dev(), which relies on them.
37513
41f0050e 375142007-04-19 Robert Millan <rmh@aybabtu.com>
37515
37516 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37517 it is used later.
37518
04582bb3 375192007-04-18 Jerone Young <jerone@gmail.com>
37520
f19dbdb7 37521 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37522 stanza.
37523
08db4632 375242007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37525
08db4632 37526 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37527 continue on and look for device node with real device name.
37528
801b76be 375292007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37530
fe6b695a 37531 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37532 ability.
37533 * Makefile.in: Add autoconf package transformation code.
37534 * util/i386/pc/grub-install.in: Likewise.
37535 * util/powerpc/ieee1275/grub-install.in: Likewise.
37536
6795c4e1 375372007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37538
37539 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37540 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37541 (EXT2_REVISION): Likewise.
37542 (EXT2_INODE_SIZE): Likewise.
37543 (struct grub_ext2_block_group): Added a missing member
37544 "used_dirs".
37545 (grub_ext2_read_inode): Divide by the inode size in a superblock
37546 instead of 128 to obtain INODES_PER_BLOCK.
37547 Use the macro EXT2_INODE_SIZE instead of directly using
37548 SBLOCK->INODE_SIZE.
37549
d70af616 375502007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37551
37552 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37553 superblock instead of the structure size to compute an
37554 offset. This fixes the problem that GRUB could not read a
37555 filesystem when inode size is different from 128-byte.
37556
3b801603 375572007-03-05 Marco Gerards <marco@gnu.org>
37558
37559 * normal/main.c (read_config_file): When "menu" is not set, create
37560 an initial context.
37561
4785bfe4 375622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37563
37564 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37565 (HEAP_LIMIT): New macro.
37566 (grub_claim_heap): Claim memory up to `heaplimit'.
37567
a0cbb023 375682007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37569
37570 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37571 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37572 (_start): Likewise.
37573 (grub_arch_modules_addr): Return address after `_end'.
37574 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37575 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37576 (add_segments): Calculate `_end' from phdr size and location.
37577 (ALIGN_UP): Moved to ...
37578 * include/grub/misc.h: here.
37579 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37580 New macro.
37581 (GRUB_IEEE1275_MODULE_BASE): Removed.
37582
fd7d8eba 375832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37584
37585 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37586 loop boundary.
37587
9b09e6fc 375882007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37589
37590 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37591 All users updated.
37592 (grub_elf64_load_hook_t): Likewise.
37593 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37594 debug output.
37595
3ce27299 375962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37597
37598 * kern/mm.c: Update copyright.
37599 (grub_mm_debug): Correct syntax error.
37600 (grub_mm_dump_free): New function.
37601 (grub_debug_free): Call `grub_free'.
37602 * include/grub/mm.h: Update copyright.
37603 (grub_mm_dump_free): Add declaration.
37604
077d5fee 376052007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37606
37607 * include/grub/ieee1275/ieee1275.h: Update copyright.
37608 * kern/powerpc/ieee1275/init.c: Likewise.
37609 * kern/powerpc/ieee1275/openfw.c: Likewise.
37610
37611 * loader/powerpc/ieee1275/linux.c: Likewise.
37612 * include/grub/elfload.h: Likewise.
37613 * kern/elf.c: Likewise.
37614 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37615 callers.
37616 (grub_elf64_load): Likewise.
37617 (grub_elf32_load_segment): Move to a nested function.
37618 (grub_elf64_load_segment): Likewise.
37619
dc946850 376202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37621
37622 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37623 prototype.
37624 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37625 (grub_heap_len): Likewise.
37626 (HEAP_SIZE): New macro.
37627 (grub_claim_heap): New function.
37628 (grub_machine_init): Don't claim heap directly. Call
37629 `grub_claim_heap'.
37630 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37631 (grub_available_iterate): New function.
37632
baa2a121 376332007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37634
37635 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37636 * configure.ac: Use it for testing the HOST and TARGET compilers.
37637
4fe9862e 376382006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37639
37640 * Makefile.in (enable_grub_emu): New variable.
37641 * configure.ac (--enable-grub-emu): New option.
37642 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37643 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37644 * conf/i386-pc.rmk: Likewise.
37645 * conf/powerpc-ieee1275.rmk: Likewise.
37646 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37647
a8aa5762 376482006-12-12 Marco Gerards <marco@gnu.org>
37649
37650 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37651
37652 * kern/env.c (grub_env_unset): Don't free the member `value' when
37653 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37654 pointer.
37655
37656 * normal/main.c (current_menu): Removed.
37657 (free_menu): Unset the `menu' environment variable.
37658 (grub_normal_menu_addentry): Make use of the environment variable
37659 `menu', instead of using the global `current_menu'. Allocate
37660 memory for the sourcecode of this entry.
37661 (read_config_file): New argument `nested', changed all callers.
37662 Only in the case of a new context, initialize a new menu. Set the
37663 `menu' environment variable.
37664 (grub_normal_execute): Don't set and unset the environment
37665 variable `menu' here anymore. Only free the menu when leaving the
37666 context.
37667
37668 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37669 leak.
37670
957b3a3e 376712006-12-11 Marco Gerards <marco@gnu.org>
37672
37673 * normal/menu_entry.c (run): Fix off by one bug so the last line
37674 is executed. Move the loader check to outside the loop.
37675
ef875714 376762006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37677
37678 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37679
4e739985 376802006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37681
37682 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37683 the number of sectors. Reported by Andrey Shuvikov
37684 <mr_hyro@yahoo.com>.
f19dbdb7 37685
790707f2 376862006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37687
37688 * kern/disk.c (grub_disk_read): When there is a read error, always
37689 try to read only the necessary data.
f19dbdb7 37690
790707f2 37691 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37692 disk/raid.c.
37693 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37694 prototype.
37695 [GRUB_UTIL] (grub_raid_fini): Likewise.
37696 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37697 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37698 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37699 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37700 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37701 and grub_raid_fini().
f19dbdb7 37702
03e58196 377032006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37704
37705 * include/grub/types.h (__unused): Rename to UNUSED.
37706 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37707 (grub_elf64_size): Likewise.
f19dbdb7 37708
ae4f23bf 377092006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37710
37711 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37712 grub_error_push and grub_error_pop in the error-handling path.
37713 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37714 length.
37715
2166cc83 377162006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37717
37718 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37721 (kernel_elf_SOURCES): Likewise.
37722 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37723 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37724 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37725 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37726 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37727 (elf_mod_SOURCES): New variable.
37728 (elf_mod_CFLAGS): Likewise.
37729 (elf_mod_LDFLAGS): Likewise.
37730 * include/grub/types.h (__unused): New macro.
37731 * include/grub/elfload.h: New file.
37732 * kern/elf.c: Likewise.
37733 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37734 (ELF32_LOADMASK): New macro.
37735 (ELF64_LOADMASK): Likewise.
37736 (vmlinux): Removed.
37737 (grub_linux_load32): New function.
37738 (grub_linux_load64): Likewise.
37739 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37740 Use grub_elf_t instead of grub_file_t.
37741
a09d5aa5 377422006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37743
37744 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37745 `catch_result' to struct set_color_args.
37746
d976fc51 377472006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37748
37749 * normal/menu.c: Include grub/script.h.
37750 * normal/menu_entry.c: Likewise.
37751 * include/grub/normal.h: Do not include grub/script.h.
37752
67507549 377532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37754
37755 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37756
69203a99 377572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37758
37759 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37760 disk.
37761 (grub_disk_close): Print debug messages when closing a disk.
37762 (grub_disk_read): Print debug messages when disk read fails.
37763 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37764 filesystem type.
37765 * kern/partition.c: Include misc.h.
37766 (grub_partition_iterate): Print debug messages when detecting
37767 partition type.
37768
e2b8278c 377692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37770
37771 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37772 is negative.
37773 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37774
97b2f2ff 377752006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37776
37777 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37778 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37779
6555d655 377802006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37781
37782 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37783 instead of sizeof(lv). Patch by Michael Guntsche.
37784
4d42b77f 377852006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37786
37787 * disk/lvm.c: Rename VGS to VG_LIST.
37788 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37789 (grub_lvm_open): Likewise.
37790 Thanks to Michael Guntsche for finding this bug.
37791
5d74d927 377922006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37793
37794 * configure.ac (AC_INIT): Bumped to 1.95.
37795
a1bb27e4 377962006-10-14 Robert Millan <rmh@aybabtu.com>
37797
37798 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37799 with "/dev/.static/dev/md".
37800
e0994b8b 378012006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37802
37803 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37804 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37805 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37806 DRIVE_NAME are always freed.
37807
37808 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37809 DOS_PART, as a DOS partition is counted from one instead of zero
37810 now. Reported by Robert Millan.
37811
ddd5cee9 378122006-10-14 Robert Millan <rmh@aybabtu.com>
37813
37814 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37815 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37816 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37817 string returned by grub_guess_root_device.
37818 * util/i386/pc/grub-setup.c: Likewise.
37819 * util/i386/pc/grub-probefs.c: Likewise.
37820
37821 * util/i386/pc/grub-probefs.c: Rename to ...
37822 * util/i386/pc/grub-probe.c: ... this.
37823 * DISTLIST: Remove grub-probefs, add grub-probe.
37824 * conf/i386-efi.rmk: Likewise.
37825 * conf/i386-pc.rmk: Likewise.
37826 * util/i386/pc/grub-install.in: Likewise.
37827
37828 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37829 choose which information we want to print.
37830
2b002173 378312006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37832
37833 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37834 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37835 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37836 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37837 video/readers/tga.c and video/i386/pc/vbeutil.c.
37838
378392006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37840
37841 Added support for RAID and LVM.
f19dbdb7 37842
2b002173 37843 * disk/lvm.c: New file.
37844 * disk/raid.c: Likewise.
37845 * include/grub/lvm.h: Likewise.
f19dbdb7 37846 * include/grub/raid.h: Likewise.
2b002173 37847 * include/grub/util/lvm.h: Likewise.
37848 * include/grub/util/raid.h: Likewise.
37849 * util/lvm.c: Likewise.
37850 * util/raid.c: Likewise.
37851
37852 * include/grub/disk.h (grub_disk_dev_id): Add
37853 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37854 (grub_disk_get_size): New prototype.
37855 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37856 returns a partition.
37857 (grub_disk_get_size): New function.
f19dbdb7 37858
2b002173 37859 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37860 verbatim if grub_install_dos_part is -2.
37861
37862 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37863 and LVM devices.
37864
37865 * util/i386/pc/grub-setup.c (setup): New argument
37866 MUST_EMBED. Force embedding of GRUB when the argument is
37867 true. Close FILE before returning.
37868 (main): Add support for RAID and LVM.
f19dbdb7 37869
2b002173 37870 * conf/common.rmk: Add RAID and LVM modules.
37871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37872 util/lvm.c.
37873 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37874
37875 * kern/misc.c (grub_strstr): New function.
37876 * include/grub/misc.h (grub_strstr): New prototype.
37877
050548d0 378782006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37879
37880 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37881
da849d2d 378822006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37883
37884 * kern/misc.c (grub_strtoull): Guess the base only if not
37885 specified.
37886
97b2f2ff 378872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37888
37889 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37890 PowerMac support.
37891
97b2f2ff 378922006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37893
37894 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37895
37896 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37897 Remove `flags' argument. All callers changed.
37898 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37899 (IEEE1275_IHANDLE_INVALID): New variable.
37900 (IEEE1275_CELL_INVALID): New variable.
37901 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37902 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37903 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37904 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37905 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37906 codes from Open Firmware. All callers updated.
37907 (grub_ieee1275_next_property): Directly return Open Firmware return
37908 code.
37909 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37910 Standardize error checking from `grub_ieee1275_get_property'.
37911 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37912 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37913
97b2f2ff 379142006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37915
37916 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37917 `instance_to_package_args' to `instance_to_path_args'.
37918
37919 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37920 `grub_ieee1275_chosen'.
37921
37922 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37923 `grub_ieee1275_interpret'.
37924
97b2f2ff 379252006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37926
37927 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37928
97b2f2ff 379292006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37930
37931 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37932 (__cmpdi): Likewise.
37933
37934 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37935 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37936 `grub_ssize_t'.
37937
02bb8acc 37938 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37939
37940 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37941 to type `grub_ssize_t'.
37942 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37943
7f9a8531 379442006-09-22 Marco Gerards <marco@gnu.org>
37945
37946 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37947 newlines.
37948
b5ef1102 379492006-09-22 Marco Gerards <marco@gnu.org>
37950
37951 * commands/echo.c: New file.
37952
37953 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37954
37955 * conf/common.rmk (echo_mod_SOURCES): New variable.
37956 (echo_mod_CFLAGS): Likewise.
37957 (echo_mod_LDFLAGS): Likewise.
37958
2cff3677 379592006-09-22 Marco Gerards <marco@gnu.org>
37960
37961 * normal/main.c (get_line): Malloc memory instead of using
37962 preallocated memory. Removed the arguments `cmdline' and
37963 `max_len'. Updated all callers.
37964
6ba4688b 379652006-09-22 Marco Gerards <marco@gnu.org>
37966
37967 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37968 (normal_mod_DEPENDENCIES): Likewise.
37969
37970 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37971 (normal_mod_DEPENDENCIES): Likewise.
37972
37973 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37974
e02ac02c 379752006-09-22 Johan Rydberg <jrydberg@gnu.org>
37976
37977 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37978 programs.
37979 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37980 (normal_mod_DEPENDENCIES): Likewise.
37981 * conf/i386-pc.mk: Regenerate.
37982 * conf/i386-efi.mk: Likewise
37983 * conf/common.mk: Likewise.
37984 * conf/powerpc-ieee1275.mk: Likewise.
37985 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37986
8d252e44 379872006-09-22 Robert Millan <rmh@aybabtu.com>
37988
37989 Sync with i386 version.
37990 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37991 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37992
209bf7ac 379932006-09-21 Robert Millan <rmh@aybabtu.com>
37994
37995 Import from GRUB Legacy (lib/device.c):
37996 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37997 (init_device_map) [__linux__]: Add support for I2O devices.
37998
6b146090 379992006-09-14 Marco Gerards <marco@gnu.org>
38000
38001 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38002 `-melf_i386'.
38003
e38600a8 380042006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38005
38006 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38007 /boot/grub/*.lst.
78fa1790 38008
2952da5d 38009 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38010
2952da5d 38011 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38012 before adding it to device.map.
38013
01b82a64 380142006-08-15 Johan Rydberg <jrydberg@gnu.org>
38015
fe6b695a 38016 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38017 compiles a file; using the -MD option.
38018 * conf/common.mk: Regenerate.
38019 * conf/i386-pc.mk: Likewise.
38020 * conf/i386-efi.mk: Likewise.
38021 * conf/powerpc-ieee1275.mk: Likewise.
38022 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38023
1064790d 380242006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38025
38026 Move the prototypes of grub_setjmp and grub_longjmp to
38027 cpu/setjmp.h, so that each architecture may specify different
38028 attributes.
f19dbdb7 38029
1064790d 38030 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38031 (grub_longjmp): Likewise.
38032 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38033 (grub_longjmp): Likewise.
38034 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38035 (grub_longjmp): Likewise.
38036
38037 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38038 [!GRUB_UTIL] (grub_longjmp): Removed.
38039
29dda3ed 380402006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38041
38042 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38043 "color!" method does not return any value.
38044
ad2a06ed 380452006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38046
38047 * include/grub/bitmap.h: New file.
38048
38049 * include/grub/i386/pc/vbeutil.h: Likewise.
38050
38051 * video/bitmap.c: Likewise.
38052
38053 * video/readers/tga.c: Likewise.
38054
38055 * video/i386/pc/vbeutil.c: Likewise.
38056
38057 * commands/videotest.c: Code cleanup and updated to reflect to new
38058 video API.
38059
38060 * term/gfxterm.c: Likewise.
38061
38062 * video/video.c: Likewise.
38063
38064 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38065 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38066 (bitmap_mod_SOURCES): New entry.
38067 (bitmap_mod_CFLAGS): Likewise.
38068 (bitmap_mod_LDFLAGS): Likewise.
38069 (tga_mod_SOURCES): Likewise.
38070 (tga_mod_CFLAGS): Likewise.
38071 (tga_mod_LDFLAGS): Likewise.
38072
38073 * include/grub/video.h (grub_video_blit_operators): New enum type.
38074 (grub_video_render_target): Changed as forward declaration and moved
38075 actual definition to be video driver specific.
38076 (grub_video_adapter.blit_bitmap): Added blitting operator.
38077 (grub_video_adapter.blit_render_target): Likewise.
38078 (grub_video_blit_bitmap): Likewise.
38079 (grub_video_blit_render_target): Likewise.
38080
38081 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38082 driver specific render target definition.
38083 (grub_video_vbe_map_rgba): Added driver internal helper.
38084 (grub_video_vbe_unmap_color): Updated to use
38085 grub_video_i386_vbeblit_info.
38086 (grub_video_vbe_get_video_ptr): Likewise.
38087
38088 * include/grub/i386/pc/vbeblit.h
38089 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38090 grub_video_i386_vbeblit_info.
38091 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38092 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38093 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38095 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38096 (grub_video_i386_vbeblit_index_index): Likewise.
38097 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38098 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38099 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38100 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38101 operator.
38102 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38103 operator.
38104
38105 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38106 include/grub/i386/pc/vbeblit.h.
38107
38108 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38109 Updated to use grub_video_i386_vbeblit_info.
38110 (grub_video_i386_vbefill_R8G8B8): Likewise.
38111 (grub_video_i386_vbefill_index): Likewise.
38112 (grub_video_i386_vbefill): Added generic filler.
38113
38114 * video/i386/pc/vbefill.c: Updated to reflect changes on
38115 include/grub/i386/pc/vbefill.h.
38116
38117 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38118 grub_video_i386_vbeblit_info.
38119 (grub_video_vbe_unmap_color): Likewise.
38120 (grub_video_vbe_blit_glyph): Likewise.
38121 (grub_video_vbe_scroll): Likewise.
38122 (grub_video_vbe_draw_pixel): Removed function.
38123 (grub_video_vbe_get_pixel): Likewise.
38124 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38125 updated code to use it.
38126 (common_blitter): Added common blitter for render target and bitmap.
38127 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38128 (grub_video_vbe_blit_render_target): Likewise.
38129
bc8c036d 381302006-07-30 Johan Rydberg <jrydberg@gnu.org>
38131
38132 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38133 is in text mode if there is no console control protocol instance
38134 available.
38135
684a8eff 381362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38137
38138 * include/grub/video.h: Code cleanup.
38139
38140 * include/grub/i386/pc/vbe.h: Likewise.
38141
38142 * video/i386/pc/vbe.c: Likewise.
38143
38144 * video/i386/pc/vbeblit.c: Likewise.
38145
38146 * video/i386/pc/vbefill.c: Likewise.
38147
38148 * video/video.c: Likewise. Also added more comments.
38149
5915059b 381502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38151
38152 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38153 (struct grub_biosdisk_dap): Likewise.
38154
38155 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38156 linkage settings for all functions.
38157
90ce5d56 381582006-07-12 Marco Gerards <marco@gnu.org>
38159
38160 * configure.ac (--enable-mm-debug): Fix typo.
38161
38162 * genkernsyms.sh.in: Use proper quoting for `CC'.
38163
43e7f879 381642006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38165
38166 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38167 (normal_mod_ASFLAGS): Remove "-m32".
38168
4889bdec 381692006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38170
38171 * util/misc.c: Include config.h.
38172 [!HAVE_MEMALIGN]: Do not include malloc.h.
38173 (grub_memalign): Use posix_memalign, if present. Then, use
38174 memalign, if present. Otherwise, emit an error.
38175
38176 * util/grub-emu.c: Do not include malloc.h.
38177
38178 * include/grub/util/misc.h: Include unistd.h. This is required for
38179 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38180 D. Eades III <hde@foobar-qux.org>.
38181
38182 * configure.ac (AC_GNU_SOURCE): Added.
38183 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38184 type.
38185
fd39d4da 381862006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38187
38188 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38189 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38190
b786f3b5 381912006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38192
38193 * include/grub/types.h (grub_host_addr_t): Rename to
38194 grub_target_addr_t.
38195 (grub_host_off_t): Rename to grub_target_off_t.
38196 (grub_host_size_t): Rename to grub_target_size_t.
38197 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38198 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38199
38200 * include/grub/kernel.h (struct grub_module_header): Change type
38201 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38202 (grub_module_info): Likewise.
f19dbdb7 38203
051988bb 382042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38205
38206 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38207 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38208 Velazquez <jesus.velazquez@gmail.com>.
38209
deae281b 382102006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38211
38212 Count partitions from 1 instead of 0 in the string representation
38213 of partitions. Still use 0-based internally.
f19dbdb7 38214
deae281b 38215 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38216 (sun_partition_map_iterate): Use grub_partition_t instead of
38217 struct grub_partition *. Cast DESC->START_CYLINDER to
38218 grub_uint64_t after converting the endian.
38219 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38220 (sun_partition_map_get_name): Add 1 to P->INDEX.
38221
38222 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38223 PCDATA->DOS_PART.
38224 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38225
38226 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38227 zero instead of one.
38228 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38229 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38230
38231 * partmap/apple.c (apple_partition_map_iterate): Change the type
38232 of POS to unsigned.
38233 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38234 (apple_partition_map_get_name): Add 1 into P->INDEX.
38235
38236 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38237 of POS to unsigned.
38238 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38239 calculate the offset of a partition.
38240 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38241 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38242
38243 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38244 SECTOR to grub_disk_addr_t.
38245 (acorn_partition_map_iterate): Likewise.
38246 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38247 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38248 top.
38249 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38250
38251 * kern/i386/pc/init.c (make_install_device): Add 1 into
38252 GRUB_INSTALL_DOS_PART.
38253
38254 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38255 conditional.
38256
524a1e6a 382572006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38258
38259 Clean up the code to support 64-bit addressing in disks and
38260 files. This change is not enough for filesystems yet.
f19dbdb7 38261
524a1e6a 38262 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38263 type of "start" to grub_uint64_t.
38264 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38265 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38266 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38267 convert addresses.
38268
38269 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38270 to grub_disk_addr_t.
38271
38272 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38273 string.
38274
38275 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38276
38277 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38278 to char *.
38279
38280 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38281
38282 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38283
38284 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38285
38286 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38287 to grub_off_t, to detect an error from grub_file_seek.
38288 (grub_multiboot_load_elf32): Likewise.
38289
38290 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38291 maximum unsigned long value when an overflow is detected.
38292 (grub_strtoull): New function.
38293 (grub_divmod64): Likewise.
38294 (grub_lltoa): use grub_divmod64.
38295
38296 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38297 grub_disk_addr_t.
38298 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38299 the pointer to next character. Use grub_strtoull instead of
38300 grub_strtoul.
38301 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38302 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38303 respectively.
38304
fe6b695a 38305 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38306 return value is signed.
38307 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38308 test if OFFSET is less than zero, as OFFSET is unsigned now.
38309
38310 * kern/disk.c (struct grub_disk_cache): Change the type of
38311 "sector" to grub_disk_addr_t.
38312 (grub_disk_cache_get_index): Change the type of SECTOR to
38313 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38314 unsigned after shifting.
38315 (grub_disk_cache_invalidate): Change the type of SECTOR to
38316 grub_disk_addr_t.
38317 (grub_disk_cache_unlock): Likewise.
38318 (grub_disk_cache_store): Likewise.
38319 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38320 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38321 grub_disk_addr_t and grub_uint64_t, respectively.
38322 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38323 body, as the value of OFFSET is tweaked by
38324 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38325 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38326 respectively.
38327 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38328 body, as the value of OFFSET is tweaked by
38329 grub_disk_check_range. Change the types of LEN and N to
38330 grub_size_t.
38331
38332 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38333 and "saved_offset" to grub_off_t.
38334 (test_header): Cast BUF to char *.
38335 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38336 to char *.
38337 (grub_gzio_read): Change the types of OFFSET and SIZE to
38338 grub_off_t and grub_size_t, respectively.
38339
38340 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38341 Removed.
38342 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38343 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38344 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38345 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38346 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38347
38348 * include/grub/types.h (grub_off_t): Unconditionally set to
38349 grub_uint64_t.
38350 (grub_disk_addr_t): Changed to grub_uint64_t.
38351
38352 * include/grub/partition.h (struct grub_partition): Change the
38353 types of "start", "len" and "offset" to grub_disk_addr_t,
38354 grub_uint64_t and grub_disk_addr_t, respectively.
38355 (grub_partition_get_start): Return grub_disk_addr_t.
38356 (grub_partition_get_len): Return grub_uint64_t.
38357
38358 * include/grub/misc.h (grub_strtoull): New prototype.
38359 (grub_divmod64): Likewise.
38360
38361 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38362 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38363 grub_off_t, respectively.
38364 All callers and references changed.
38365
38366 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38367 grub_size_t in "read".
38368 All callers and references changed.
38369
38370 * include/grub/file.h (struct grub_file): Change the types of
38371 "offset" and "size" to grub_off_t and grub_off_t,
38372 respectively. Change the type of SECTOR to grub_disk_addr_t in
38373 "read_hook".
38374 (grub_file_read): Change the type of LEN to grub_size_t.
38375 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38376 grub_off_t.
38377 (grub_file_size): Return grub_off_t.
38378 (grub_file_tell): Likewise.
38379 All callers and references changed.
38380
38381 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38382 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38383 "write".
38384 (struct grub_disk): Change the type of "total_sectors" to
38385 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38386 "read_hook".
524a1e6a 38387 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38388 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38389 (grub_disk_write): Likewise.
38390 All callers and references changed.
38391
38392 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38393 char * for grub_strncmp to silence gcc.
38394 (grub_iso9660_mount): Likewise.
38395 (grub_iso9660_mount): Likewise.
38396 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38397 return statement.
38398 (grub_iso9660_iterate_dir): Likewise.
38399 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38400
38401 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38402 LEN to grub_disk_addr_t and grub_size_t, respectively.
38403
38404 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38405
38406 * fs/jfs.c (grub_jfs_read_file): Likewise.
38407
38408 * fs/minix.c (grub_jfs_read_file): Likewise.
38409
38410 * fs/sfs.c (grub_jfs_read_file): Likewise.
38411
38412 * fs/ufs.c (grub_jfs_read_file): Likewise.
38413
38414 * fs/xfs.c (grub_jfs_read_file): Likewise.
38415
38416 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38417 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38418 respectively.
38419
38420 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38421 BLKNR to -1 instead of returning GRUB_ERRNO.
38422 (grub_ext2_read_file): Change the types of SECTOR and
38423 LEN to grub_disk_addr_t and grub_size_t, respectively.
38424
38425 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38426 LEN to grub_disk_addr_t and grub_size_t, respectively.
38427
38428 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38429 grub_file_read.
38430
38431 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38432 string. Do not cast SECTOR explicitly.
38433
38434 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38435 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38436 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38437 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38438 over 2TB and LBA mode is not supported, raise an error.
38439 (get_safe_sectors): New function.
38440 (grub_biosdisk_read): Use get_safe_sectors.
38441 (grub_biosdisk_write): Likewise.
38442
38443 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38444 (grub_efidisk_write): Likewise.
38445
38446 * disk/loopback.c (delete_loopback): Cosmetic changes.
38447 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38448 correctly.
38449 (grub_loopback_open): Likewise.
38450 (grub_loopback_read): Likewise. Also, change the type of POS to
38451 grub_off_t, and fix the usage of grub_memset.
38452
38453 * commands/i386/pc/play.c: Include grub/machine/time.h.
38454
38455 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38456 print FILE->SIZE.
38457
38458 * commands/configfile.c: Include grub/env.h.
38459
38460 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38461 GRUB_ERRNO directly instead. Change the type of POS to
38462 grub_off_t. Follow the coding standard.
38463
38464 * commands/blocklist.c: Include grub/partition.h.
38465 (grub_cmd_blocklist): Return an error if the underlying device is
38466 not a disk. Take the starting sector of a partition into account,
38467 if a partition is used.
38468
38469 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38470 a length field.
38471 (lba_mode): Support 64-bit addresses.
38472 (chs_mode): Likewise.
38473 (copy_buffer): Adapted to the new offsets of a length field and a
38474 segment field.
38475 (blocklist_default_start): Allocate 64-bit space.
38476
38477 * boot/i386/pc/boot.S (force_lba): Removed.
38478 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38479 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38480 space.
38481 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38482 is useless.
38483 (lba_mode): Refactored to support a 64-bit address. More size
38484 optimization.
38485 (setup_sectors): Likewise.
38486
53af98ad 384872006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38488
38489 * DISTLIST: Added include/grub/i386/linux.h. Removed
38490 include/grub/i386/pc/linux.h
38491
38492 * configure.ac (AC_INIT): Bumped to 1.94.
38493
38494 * config.guess: Updated from gnulib.
38495 * config.sub: Likewise.
38496 * install-sh: Likewise.
38497 * mkinstalldirs: Likewise.
38498
b4c1940a 384992006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38500
38501 * conf/common.rmk (grub_modules_init.lst): Depended on
38502 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38503 MODSRCFILES.
38504
38505 * genmk.rb (PModule::rule): Reverted the previous change.
38506
cfca1cfd 385072006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38508
38509 * conf/common.rmk (grub_modules_init.lst): Depends on
38510 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38511 that the target does not exist before producing.
38512 (grub_modules_init.h): Remove the target before generating.
38513 (grub_emu_init.c): Likewise.
38514
38515 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38516
aa6d7826 385172006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38518
38519 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38520 for the target-specific tests. Make sure that we also have the
38521 up-to-date target variables for those tests.
38522
26c607b9 385232006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38524
38525 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38526 (PModule::rule): Likewise.
38527
0162321a 385282006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38529
38530 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38531 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38532 target-specific flags should be prefixed.
38533 (PModule::rule): Likewise.
38534
6c826348 385352006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38536
38537 * configure.ac (CMP): Check if cmp is available explicitly.
38538
b977bf01 385392006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38540
38541 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38542 (target_cpu): New variable.
38543 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38544
b977bf01 38545 * util/i386/pc/grub-install.in (host_cpu): Removed.
38546 (target_cpu): New variable.
38547 (pkglibdir): Use target_cpu instead of host_cpu.
38548
38549 * util/genmoddep.c: Removed.
f19dbdb7 38550
b977bf01 38551 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38552 instead of GRUB_HOST_SIZEOF_VOID_P.
38553 * kern/dl.c: Likewise.
38554
38555 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38556 ...
38557 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38558 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38559 (GRUB_TARGET_SIZEOF_LONG): ... this.
38560 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38561 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38562 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38563 to ...
38564 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38565 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38566 (GRUB_TARGET_SIZEOF_LONG): ... this.
38567 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38568 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38569 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38570 to ...
38571 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38572 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38573 (GRUB_TARGET_SIZEOF_LONG): ... this.
38574 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38575 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38576
38577 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38578 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38579 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38580 instead of GRUB_HOST_SIZEOF_LONG.
38581 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38582 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38583 GRUB_CPU_WORDS_BIGENDIAN.
38584 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38585 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38586 grub_host_ssize_t.
38587
38588 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38589 (genmoddep_SOURCES): Likewise.
38590 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38591 (genmoddep_SOURCES): Likewise.
38592 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38593 (genmoddep_SOURCES): Likewise.
38594 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38595 Likewise.
38596 (genmoddep_SOURCES): Likewise.
38597
38598 * genmoddep.awk: New file.
38599
38600 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38601 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38602 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38603 (PModule::rule): Likewise.
38604 (Program::rule): Likewise.
38605 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38606 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38607 respectively.
38608
38609 * configure.ac: Rewritten intensively to use host and target
38610 instead of build and host, respectively.
38611
38612 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38613 (host_cpu): Removed.
38614 (target_cpu): New variable.
38615 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38616 (BUILD_CC): Removed.
38617 (BUILD_CFLAGS): Likewise.
38618 (BUILD_CPPFLAGS): Likewise.
38619 (TARGET_CC): New variable.
38620 (TARGET_CFLAGS): Likewise.
38621 (TARGET_CPPFLAGS): Likewise.
38622 (TARGET_LDFLAGS): Likewise.
38623 (AWK): Likewise.
38624 (include): Use target_cpu instead of host_cpu.
38625 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38626
b977bf01 38627 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38628
f09771a1 386292006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38630
38631 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38632 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38633 field 'false' to 'exec_on_false'.
38634 (grub_script_create_cmdif): Renamed argument names to reflect above
38635 changes.
38636
38637 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38638
38639 * normal/script.c (grub_script_create_cmdif): Likewise.
38640
118f4fb3 386412006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38642
38643 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38644 top.
38645 (grub_hfsplus_btree_recptr): Likewise.
38646 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38647 FILEBLOCK both to pass a block number and store next block
38648 number.
38649 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38650 overflow file correctly. Specify errors appropriately, because
38651 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38652 grub_hfsplus_btree_recptr to get the pointer to a found key.
38653 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38654 is found.
38655
38656 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38657 linux.mod.
38658 (_linux_mod_SOURCES): New variable.
38659 (_linux_mod_CFLAGS): Likewise.
38660 (_linux_mod_LDFLAGS): Likewise.
38661 (linux_mod_SOURCES): Likewise.
38662 (linux_mod_CFLAGS): Likewise.
38663 (linux_mod_LDFLAGS): Likewise.
38664
38665 * DISTLIST: Added loader/i386/efi/linux.c,
38666 loader/i386/efi/linux_normal.c and
38667 include/grub/i386/efi/loader.h.
38668
38669 * loader/i386/efi/linux.c: New file.
38670 * loader/i386/efi/linux_normal.c: Likewise.
38671 * include/grub/i386/efi/loader.h: Likewise.
38672
89a7d726 386732006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38674
38675 * commands/blocklist.c: New file.
38676
38677 * DISTLIST: Added commands/blocklist.c.
38678
38679 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38680 color for the background, and a darker color for the foreground.
89a7d726 38681 (grub_console_checkkey): Return READ_KEY.
38682 (grub_console_cls): Set the background to
38683 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38684
38685 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38686
38687 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38688 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38689
38690 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38691 prototype.
38692
38693 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38694 BG. The spec is wrong again.
38695
38696 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38697 prototype.
38698 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38699
38700 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38701 commands/blocklist.c.
38702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38703
89a7d726 38704 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38705 (blocklist_mod_SOURCES): New variable.
38706 (blocklist_mod_CFLAGS): Likewise.
38707 (blocklist_mod_LDFLAGS): Likewise.
38708
75c8f258 387092006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38710
38711 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38712 duplication.
38713 (lba_mode): Use %eax more intensively to reduce the code size.
38714
da2eb181 387152006-05-20 Marco Gerards <marco@gnu.org>
38716
38717 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38718
38719 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38720 for `menuentry'.
38721 (script): Accept leading newlines.
38722 (newlines): New rule to describe 0 or more newlines.
38723 (commands): Accept `command' with trailing newline. Fixed the
38724 order in which arguments were passed to `grub_script_add_cmd'.
38725 Accept commands separated by newlines.
38726 (function): Changed to accept newlines.
38727 (menuentry) Rewritten.
38728
38729 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38730 front of the list, instead of to the end.
38731
577b4050 387322006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38733
38734 * util/i386/pc/grub-install.in (bindir): New variable.
38735 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38736 Shaver <lbgwjl@gmail.com>.
38737
0d6e1189 387382006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38739
38740 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38741 grub/machine/linux.h
38742 * loader/i386/pc/linux.c: Likewise.
38743
38744 * include/grub/i386/pc/linux.h: Moved to ...
38745 * include/grub/i386/linux.h: ... here.
38746
38747 * include/grub/i386/linux.h (struct linux_kernel_params): New
38748 struct.
f19dbdb7 38749
31b86e9f 387502006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38751
38752 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38753 checking.
38754 (grub_video_vbe_blit_glyph): Likewise.
38755 (grub_video_vbe_blit_bitmap): Likewise.
38756 (grub_video_vbe_blit_render_target): Likewise.
38757
83b984de 387582006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38759
38760 * configure.ac (--with-platform): Properly quote the square
38761 brackets.
38762
5f0413bd 387632006-05-08 Marco Gerards <marco@gnu.org>
38764
38765 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38766 this...
38767 (kernel_elf_HEADERS): ...to this. Updated all users.
38768 (grubof_symlist.c): Renamed from this...
38769 (kernel_elf_symlist.c): ...to this. Updated all users.
38770 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38771 (grubof_SOURCES): Renamed from this...
38772 (kernel_elf_SOURCES): ...to this.
38773 (grubof_HEADERS): Renamed from this...
38774 (kernel_elf_HEADERS): ...to this.
38775 (grubof_CFLAGS): Renamed from this...
38776 (kernel_elf_CFLAGS): ...to this.
38777 (grubof_ASFLAGS): Renamed from this...
38778 (kernel_elf_ASFLAGS): ...to this.
38779 (grubof_LDFLAGS): Renamed from this...
38780 (kernel_elf_LDFLAGS): ...to this.
38781
38782 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38783 this...
38784 (kernel_elf_HEADERS): ...to this. Updated all users.
38785 (grubof_symlist.c): Renamed from this...
38786 (kernel_elf_symlist.c): ...to this. Updated all users.
38787 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38788 (grubof_SOURCES): Renamed from this...
38789 (kernel_elf_SOURCES): ...to this.
38790 (grubof_HEADERS): Renamed from this...
38791 (kernel_elf_HEADERS): ...to this.
38792 (grubof_CFLAGS): Renamed from this...
38793 (kernel_elf_CFLAGS): ...to this.
38794 (grubof_ASFLAGS): Renamed from this...
38795 (kernel_elf_ASFLAGS): ...to this.
38796 (grubof_LDFLAGS): Renamed from this...
38797 (kernel_elf_LDFLAGS): ...to this.
38798
38799 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38800 `kernel.elf' instead of `grubof'.
38801
05568c2e 388022006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38803
38804 Add --with-platform to configure. Use pkglibdir instead of
38805 pkgdatadir. This is reported by Roger Leigh.
38806
38807 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38808 (host_vendor): Likewise.
38809 (host_os): Likewise.
38810 (pkgdatadir): Likewise.
38811 (platform): New variable.
38812 (pkglibdir): Likewise.
38813 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38814
05568c2e 38815 * util/i386/pc/grub-install.in (datadir): Removed.
38816 (host_vendor): Likewise.
38817 (host_os): Likewise.
38818 (pkgdatadir): Likewise.
38819 (platform): New variable.
38820 (pkglibdir): Likewise.
38821 Use PKGLIBDIR instead of PKGDATADIR.
38822
38823 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38824 instead of GRUB_DATADIR.
38825 (main): Likewise.
38826 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38827 (main): Likewise.
38828 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38829 (main): Likewise.
38830
38831 * configure.ac (--with-platform): New option.
38832 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38833
38834 * Makefile.in: Include a makefile based on PLATFORM instead of
38835 HOST_VENDOR.
38836 (pkgdatadir): Not appended by the machine type.
38837 (pkglibdir): Appended by the machine type.
38838 (host_vendor): Removed.
38839 (platform): New variable.
38840 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38841 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38842 (uninstall): Likewise.
38843
4e93851c 388442006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38845
38846 Use the environment context in the menu. Remove the commands
38847 "default" and "timeout", and use variables instead.
f19dbdb7 38848
4e93851c 38849 * normal/menu.c: Include grub/env.h.
38850 (print_entry): Cast TITLE to silence gcc.
38851 (get_timeout): New function.
38852 (set_timeout): Likewise.
38853 (get_entry_number): Likewise.
38854 (run_menu): Use a default entry, a fallback entry and a timeout
38855 in the environment variables "default", "fallback" and
38856 "timeout". Also, tweak the default entry if it is not within the
38857 current menu entries.
38858 (grub_menu_run): Use a fallback entry in the environment variable
38859 "fallback".
38860
38861 * normal/main.c (read_config_file): Do not initialize
38862 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38863 NEWMENU->TIMEOUT.
38864 (grub_normal_execute): Use a data slot to store the menu.
38865
38866 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38867 fallback_entry and timeout.
38868 (struct grub_menu_list): Removed.
38869 (grub_menu_list_t): Likewise.
38870 (struct grub_context): Likewise.
38871 (grub_context_t): Likewise.
38872 (grub_context_get): Likewise.
38873 (grub_context_get_current_menu): Likewise.
38874 (grub_context_push_menu): Likewise.
38875 (grub_context_pop_menu): Likewise.
38876 (grub_default_init): Likewise.
38877 (grub_default_fini): Likewise.
38878 (grub_timeout_init): Likewise.
38879 (grub_timeout_fini): Likewise.
38880
38881 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38882 and timeout.mod.
38883 (normal_mod_SOURCES): Removed normal/context.c.
38884
38885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38886 commands/default.c, commands/timeout.c and normal/context.c.
38887 (normal_mod_SOURCES): Removed normal/context.c.
38888
38889 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38890 commands/timeout.c and normal/context.c.
38891 (normal_mod_SOURCES): Removed normal/context.c.
38892
38893 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38894 commands/default.c, commands/timeout.c and normal/context.c.
38895 (normal_mod_SOURCES): Removed normal/context.c.
38896
38897 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38898 timeout.mod.
38899 (default_mod_SOURCES): Removed.
38900 (default_mod_CFLAGS): Likewise.
38901 (default_mod_LDFLAGS): Likewise.
38902 (timeout_mod_SOURCES): Removed.
38903 (timeout_mod_CFLAGS): Likewise.
38904 (timeout_mod_LDFLAGS): Likewise.
38905
38906 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38907 normal/context.c.
38908
38909 * commands/default.c: Removed.
38910 * commands/timeout.c: Likewise.
38911 * normal/context.c: Likewise.
38912
1eb9cc1d 389132006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38914
38915 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38916
385bd9c1 389172006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38918
38919 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38920 "next" to "prev" for readability.
38921 (struct grub_env_sorted_var): New struct.
38922 (grub_env_context): Renamed to ...
38923 (initial_context): ... this.
38924 (grub_env_var_context): Renamed to ...
38925 (current_context): ... this.
38926 (grub_env_find): Look only at CURRENT_CONTEXT.
38927 (grub_env_context_open): Rewritten to copy exported variables from
38928 previous context.
38929 (grub_env_context_close): Rewritten according to the new
38930 scheme. Also, add an assertion to prevent the initial context from
38931 removed.
38932 (grub_env_insert): Removed the code for the sorted list.
38933 (grub_env_remove): Likewise.
38934 (grub_env_export): Simply mark the variable with
38935 GRUB_ENV_VAR_GLOBAL.
38936 (grub_env_set): A cosmetic change for naming consistency.
38937 (grub_env_get): Likewise.
38938 (grub_env_unset): Likewise.
38939 (grub_env_iterate): Rewritten to sort variables within this
38940 function.
38941 (grub_register_variable_hook): Fixed for naming consistency. Call
38942 grub_env_find again, only if NAME is not found at the first time.
38943 (mangle_data_slot_name): New function.
38944 (grub_env_set_data_slot): Likewise.
38945 (grub_env_get_data_slot): Likewise.
38946 (grub_env_unset_data_slot): Likewise.
38947
38948 * include/grub/env.h (grub_env_var_type): New enum.
38949 (GRUB_ENV_VAR_LOCAL): New constant.
38950 (GRUB_ENV_VAR_GLOBAL): Likewise.
38951 (GRUB_ENV_VAR_DATA): Likewise.
38952 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38953 "type".
38954 (grub_env_set): Replace VAR with NAME for consistency.
38955 (grub_register_variable_hook): Likewise.
38956 (grub_env_export): Specify the name of the argument.
38957 (grub_env_set_data_slot): New prototype.
38958 (grub_env_get_data_slot): Likewise.
38959 (grub_env_unset_data_slot): Likewise.
38960
7f362539 389612006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38962
38963 Extend the loader so that GRUB can accept a loader which comes
38964 back to GRUB when a loaded image exits. Also, this change adds
38965 support for a chainloader on EFI.
f19dbdb7 38966
7f362539 38967 * term/efi/console.c: Include grub/misc.h.
38968 (grub_console_checkkey): Display a scan code on the top for
38969 debugging. This will be removed once the EFI port gets stable.
38970 Correct the scan code mapping.
38971
38972 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38973 allocate memory from larger regions, in order to reduce the number
38974 of allocated regions. Otherwise, the MacOSX loader panics.
38975 (filter_memory_map): Avoid less than 1MB for compatibility with
38976 other loaders.
38977 (add_memory_regions): Allocate from the tail of a region, if
38978 possible, to avoid allocating a region near to 1MB, for the MacOSX
38979 loader.
38980
38981 * kern/efi/init.c (grub_efi_set_prefix): Specify
38982 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38983
38984 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38985 argument IMAGE_HANDLE and specify it to get a loaded image.
38986 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38987 grub_efi_get_loaded_image.
fe6b695a 38988 (grub_efi_get_filename): Divide the length by the size of
7f362539 38989 grub_efi_char16_t.
38990 (grub_efi_get_device_path): New function.
38991 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38992 the length by the size of grub_efi_char16_t for a file path device
38993 path node.
38994
38995 * kern/loader.c (grub_loader_noreturn): New variable.
38996 (grub_loader_set): Accept a new argument NORETURN. Set
38997 GRUB_LOADER_NORETURN to NORETURN.
38998 All callers changed.
38999 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39000 grub_machine_fini.
39001
39002 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39003 prototype.
39004 (grub_efi_get_loaded_image): Take an argument to specify an image
39005 handle.
39006
39007 * include/grub/loader.h (grub_loader_set): Added one more argument
39008 NORETURN.
39009
39010 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39011 instead of grub_efi_open_protocol.
39012 (grub_efidisk_get_device_name): Likewise.
39013 (grub_efidisk_close): Print a newline.
39014 (grub_efidisk_get_device_handle): Fixed to use
39015 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39016 GRUB_EFI_DEVICE_PATH_TYPE.
39017
39018 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39019 * kern/efi/efi.c (device_path_guid): ... here.
39020
39021 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39022 chain.mod.
39023 (kernel_mod_HEADERS): Added efi/disk.h.
39024 (_chain_mod_SOURCES): New variable.
39025 (_chain_mod_CFLAGS): Likewise.
39026 (_chain_mod_LDFLAGS): Likewise.
39027 (chain_mod_SOURCES): Likewise.
39028 (chain_mod_CFLAGS): Likewise.
39029 (chain_mod_LDFLAGS): Likewise.
39030
39031 * DISTLIST: Added include/grub/efi/chainloader.h,
39032 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39033
39034 * include/grub/efi/chainloader.h: New file.
39035 * loader/efi/chainloader.c: Likewise.
39036 * loader/efi/chainloader_normal.c: Likewise.
39037
c0111d6e 390382006-04-30 Marco Gerards <marco@gnu.org>
39039
39040 * commands/configfile.c (grub_cmd_source): New function.
39041 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39042 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39043
df5341da 390442006-04-30 Marco Gerards <marco@gnu.org>
39045
39046 * normal/execute.c (grub_script_execute_cmd): Change the return
39047 type to `grub_err_t'. Correctly return the error.
39048 (grub_script_execute_cmdline): In case a command line is not a
39049 command or a function, try to interpret it as an assignment.
39050
f85934bd 390512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39052
39053 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39054 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39055 skip a node whose name is obviously invalid as UTF-16,
39056 i.e. contains a NUL character. Stop the iteration when the last
39057 directory entry is found. Instead of using the return value of
39058 grub_hfsplus_btree_iterate_node, store the value in RET and use
39059 it, because the iterator can be stopped by the last directory
39060 entry.
39061
8f8a2cf8 390622006-04-30 Marco Gerards <marco@gnu.org>
39063
39064 * include/grub/env.h (grub_env_export): New prototype. Reported
39065 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39066
a27e84ce 390672006-04-30 Marco Gerards <marco@gnu.org>
39068
39069 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39070 size of the extents in a catalog file record.
39071
eaef0553 390722006-04-29 Marco Gerards <marco@gnu.org>
39073
39074 * commands/configfile.c (grub_cmd_configfile): Execute the
39075 configfile within its own context.
39076
39077 * include/grub/env.h (grub_env_context_open): New prototype.
39078 (grub_env_context_close): Likewise.
39079
39080 * kern/env.c (grub_env): Removed.
39081 (grub_env_sorted): Likewise.
39082 (grub_env_context): New variable.
39083 (grub_env_var_context): Likewise.
39084 (grub_env_find): Search both the active context and the global
39085 context.
39086 (grub_env_context_open): New function.
39087 (grub_env_context_close): Likewise.
39088 (grub_env_insert): Likewise.
39089 (grub_env_remove): Likewise.
39090 (grub_env_export): Likewise.
39091 (grub_env_set): Changed to use helper functions to avoid code
39092 duplication.
39093 (grub_env_iterate): Rewritten so both the current context and the
39094 global context are being used.
39095
39096 * normal/command.c (export_command): New function.
39097 (grub_command_init): Register the `export' function.
39098
7b455f4d 390992006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39100
39101 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39102 explicitly to suppress gcc's warnings.
39103 * fs/fat.c (grub_fat_find_dir): Likewise.
39104 (grub_fat_label): Likewise.
39105 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39106 (grub_xfs_mount): Likewise.
39107 (grub_xfs_label): Likewise.
39108 * fs/affs.c (grub_affs_mount): Likewise.
39109 (grub_affs_label): Likewise.
39110 (grub_affs_iterate_dir): Likewise.
39111 * fs/sfs.c (grub_sfs_mount): Likewise.
39112 (grub_sfs_iterate_dir): Likewise.
39113 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39114 * fs/hfs.c (grub_hfs_mount): Likewise.
39115 (grub_hfs_cmp_catkeys): Likewise.
39116 (grub_hfs_find_dir): Likewise.
39117 (grub_hfs_dir): Likewise.
39118 (grub_hfs_label): Likewise.
39119 * fs/jfs.c (grub_jfs_mount): Likewise.
39120 (grub_jfs_opendir): Likewise.
39121 (grub_jfs_getent): Likewise.
39122 (grub_jfs_lookup_symlink): Likewise.
39123 (grub_jfs_label): Likewise.
39124 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39125 (grub_hfsplus_iterate_dir): Likewise.
39126 (grub_hfsplus_btree_iterate_node): Made static.
39127
39128 * util/grub-emu.c (prefix): New variable.
39129 (grub_machine_set_prefix): New function.
39130 (main): Do not set the environment variable "prefix" here. Only
39131 set PREFIX, which is used later by grub_machine_set_prefix.
39132
39133 * include/grub/video.h: Do not include grub/symbol.h.
39134 (grub_video_register): Not exported. This symbol is not defined in
39135 the kernel.
39136 (grub_video_unregister): Likewise.
39137 (grub_video_iterate): Likewise.
39138 (grub_video_setup): Likewise.
39139 (grub_video_restore): Likewise.
39140 (grub_video_get_info): Likewise.
39141 (grub_video_get_blit_format): Likewise.
39142 (grub_video_set_palette): Likewise.
39143 (grub_video_get_palette): Likewise.
39144 (grub_video_set_viewport): Likewise.
39145 (grub_video_get_viewport): Likewise.
39146 (grub_video_map_color): Likewise.
39147 (grub_video_map_rgb): Likewise.
39148 (grub_video_map_rgba): Likewise.
39149 (grub_video_fill_rect): Likewise.
39150 (grub_video_blit_glyph): Likewise.
39151 (grub_video_blit_bitmap): Likewise.
39152 (grub_video_blit_render_target): Likewise.
39153 (grub_video_scroll): Likewise.
39154 (grub_video_swap_buffers): Likewise.
39155 (grub_video_create_render_target): Likewise.
39156 (grub_video_delete_render_target): Likewise.
39157 (grub_video_set_active_render_target): Likewise.
39158
39159 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39160 Undefined.
39161 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39162
39163 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39164 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39165 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39166 instead of $(srcdir)/genkernsyms.sh.
39167
39168 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39169 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39170 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39171 instead of $(srcdir)/genkernsyms.sh.
39172
39173 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39174 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39175 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39176 instead of $(srcdir)/genkernsyms.sh.
39177
39178 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39179 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39180 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39181 instead of $(srcdir)/genkernsyms.sh.
39182
39183 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39184 genkernsyms.sh.
39185
39186 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39187 genkernsyms.sh.
39188 (gensymlist.sh): New target.
39189 (genkernsyms.sh): Likewise.
39190
39191 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39192 genkernsyms.sh.in and gensymlist.sh.in.
39193
39194 * genkernsyms.sh: Removed.
39195 * gensymlist.sh: Likewise.
f19dbdb7 39196
7b455f4d 39197 * genkernsyms.sh.in: New file.
39198 * gensymlist.sh.in: Likewise.
39199
1885bb27 392002006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39201
39202 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39203 clobber "prefix", since we may have already set it manually.
39204
71538dff 392052006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39206
39207 * kern/misc.c (abort): New alias for grub_abort.
39208
2965c7cc 392092006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39210
39211 A new machine-specific function "grub_machine_set_prefix" is
39212 defined. This is called after loading modules, so that a prefix
39213 initialization can use modules. Also, this change adds an
39214 intensive debugging feature for the memory manager via the
39215 configure option "--enable-mm-debug".
f19dbdb7 39216
2965c7cc 39217 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39218 PART.LEN.
39219
39220 * kern/sparc64/ieee1275/init.c (abort): Removed.
39221 (grub_stop): Likewise.
39222 (grub_exit): New function.
39223 (grub_set_prefix): Renamed to ...
39224 (grub_machine_set_prefix): ... this.
39225 (grub_machine_init): Do not call grub_set_prefix.
39226
39227 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39228 (grub_machine_set_prefix): ... this.
39229 (grub_machine_init): Do not call grub_set_prefix.
39230
39231 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39232 (grub_machine_init): Do not set the prefix here.
39233
39234 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39235
39236 * kern/efi/init.c: Include grub/mm.h.
39237 (grub_efi_set_prefix): New function.
39238
39239 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39240 (grub_efi_get_filename): New function.
39241 (grub_print_device_path): Renamed to ...
39242 (grub_efi_print_device_path): ... this.
39243
39244 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39245 [MM_DEBUG] (grub_realloc): Likewise.
39246 [MM_DEBUG] (grub_free): Likewise.
39247 [MM_DEBUG] (grub_memalign): Likewise.
39248 [MM_DEBUG] (grub_mm_debug): New variable.
39249 [MM_DEBUG] (grub_debug_malloc): New function.
39250 [MM_DEBUG] (grub_debug_free): New function.
39251 [MM_DEBUG] (grub_debug_realloc): New function.
39252 [MM_DEBUG] (grub_debug_memalign): New function.
39253
39254 * kern/misc.c (grub_abort): Print a newline to distinguish
39255 the message.
39256
39257 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39258 grub_set_root_dev after loading modules. This is necessary when
39259 setting a prefix depends on modules.
39260
39261 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39262 (grub_efi_print_device_path): ... this.
39263 (grub_efi_get_filename): New prototype.
39264 (grub_efi_set_prefix): Likewise.
39265
39266 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39267 and grub/disk.h.
39268 (grub_efidisk_get_device_handle): New prototype.
39269 (grub_efidisk_get_device_name): Likewise.
39270
39271 * include/grub/mm.h: Include config.h.
39272 (MM_DEBUG): Removed.
39273 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39274 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39275 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39276 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39277 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39278 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39279 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39280 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39281 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39282
39283 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39284
39285 * disk/efi/efidisk.c: Include grub/partition.h.
39286 (iterate_child_devices): New function.
39287 (add_device): First, compare only last device path nodes, so that
39288 devices are sorted by the types.
39289 (grub_efidisk_get_device_handle): New function.
39290 (grub_efidisk_get_device_name): Likewise.
39291
39292 * configure.ac (--enable-mm-debug): New option to enable the
39293 memory manager debugging feature. This makes the binary much
39294 bigger, so is disabled by default.
39295
9cacaa17 392962006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39297
39298 Use grub_abort instead of grub_stop, and grub_exit must be
39299 define in each architecture now. Also, this change adds support
39300 for EFI disks.
f19dbdb7 39301
9cacaa17 39302 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39303 (grub_getkey): New function.
39304 (grub_term_get_current): Likewise.
39305
39306 * util/i386/pc/grub-setup.c: Include grub/term.h.
39307 (grub_getkey): New function.
39308 (grub_term_get_current): Likewise.
39309
39310 * util/misc.c (grub_stop): Renamed to ...
39311 (grub_exit): ... this.
39312
39313 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39314 (grub_exit): ... this.
39315 (grub_machine_init): Use grub_abort instead of abort.
39316 (grub_stop): Removed.
39317
39318 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39319 abort.
39320
39321 * kern/i386/pc/startup.S (grub_exit): New function.
39322 (cold_reboot): New label.
39323
39324 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39325 (grub_efi_init): Call grub_efidisk_init.
39326 (grub_efi_fini): Call grub_efidisk_fini.
39327
39328 * kern/efi/efi.c: Include grub/mm.h.
39329 (grub_efi_console_control_guid): Renamed to ...
39330 (console_control_guid): ... this.
39331 (grub_efi_loaded_image_guid): Renamed to ...
39332 (loaded_image_guid): ... this.
39333 (grub_efi_locate_handle): New function.
39334 (grub_efi_open_protocol): Likewise.
39335 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39336 GRUB_EFI_CONSOLE_CONTROL_GUID.
39337 (grub_efi_exit): Removed.
39338 (grub_stop): Likewise.
39339 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39340 (grub_exit): New function.
39341 (grub_print_device_path): Likewise.
39342
39343 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39344 (grub_enter_rescue_mode): Register "exit".
39345
39346 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39347 (grub_abort): New function.
39348
39349 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39350
39351 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39352
39353 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39354
39355 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39356 (grub_print_device_path): New prototype.
39357 (grub_efi_locate_handle): Likewise.
39358 (grub_efi_open_protocol): Likewise.
39359
39360 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39361 * disk/efi/efidisk.c: Likewise.
39362
39363 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39364
39365 * include/grub/efi/console_control.h
39366 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39367
39368 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39369 last 8 bytes as an array.
39370 (GRUB_EFI_DISK_IO_GUID): New macro.
39371 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39372 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39373 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39374 grub_uint8_t.
39375 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39376 (struct grub_efi_device_path): Rename the member "sub_type" to
39377 "subtype".
39378 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39379 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39380 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39381 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39382 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39383 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39384 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39385 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39386 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39387 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39388 (struct grub_efi_pci_device_path): New structure.
39389 (grub_efi_pci_device_path_t): New type.
39390 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39391 (struct grub_efi_pccard_device_path): New structure.
39392 (grub_efi_pccard_device_path_t): New type.
39393 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39394 (struct grub_efi_memory_mapped_device_path): New structure.
39395 (grub_efi_memory_mapped_device_path_t): New type.
39396 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39397 (struct grub_efi_vendor_device_path): New structure.
39398 (grub_efi_vendor_device_path_t): New type.
39399 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39400 (struct grub_efi_controller_device_path): New structure.
39401 (grub_efi_controller_device_path_t): New type.
39402 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39403 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39404 (struct grub_efi_acpi_device_path): New structure.
39405 (grub_efi_acpi_device_path_t): New type.
39406 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39407 (struct grub_efi_expanded_acpi_device_path): New structure.
39408 (grub_efi_expanded_acpi_device_path_t): New type.
39409 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39410 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39411 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39412 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39413 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39414 (struct grub_efi_atapi_device_path): New structure.
39415 (grub_efi_atapi_device_path_t): New type.
39416 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39417 (struct grub_efi_fibre_channel_device_path): New structure.
39418 (grub_efi_fibre_channel_device_path_t): New type.
39419 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39420 (struct grub_efi_1394_device_path): New structure.
39421 (grub_efi_1394_device_path_t): New type.
39422 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39423 (struct grub_efi_usb_device_path): New structure.
39424 (grub_efi_usb_device_path_t): New type.
39425 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39426 (struct grub_efi_usb_class_device_path): New structure.
39427 (grub_efi_usb_class_device_path_t): New type.
39428 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39429 (struct grub_efi_i2o_device_path): New structure.
39430 (grub_efi_i2o_device_path_t): New type.
39431 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39432 (struct grub_efi_mac_address_device_path): New structure.
39433 (grub_efi_mac_address_device_path_t): New type.
39434 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39435 (struct grub_efi_ipv4_device_path): New structure.
39436 (grub_efi_ipv4_device_path_t): New type.
39437 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39438 (struct grub_efi_ipv6_device_path): New structure.
39439 (grub_efi_ipv6_device_path_t): New type.
39440 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39441 (struct grub_efi_infiniband_device_path): New structure.
39442 (grub_efi_infiniband_device_path_t): New type.
39443 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39444 (struct grub_efi_uart_device_path): New structure.
39445 (grub_efi_uart_device_path_t): New type.
39446 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39447 (struct grub_efi_vendor_messaging_device_path): New structure.
39448 (grub_efi_vendor_messaging_device_path_t): New type.
39449 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39450 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39451 (struct grub_efi_hard_drive_device_path): New structure.
39452 (grub_efi_hard_drive_device_path_t): New type.
39453 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39454 (struct grub_efi_cdrom_device_path): New structure.
39455 (grub_efi_cdrom_device_path_t): New type.
39456 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39457 (struct grub_efi_vendor_media_device_path): New structure.
39458 (grub_efi_vendor_media_device_path_t): New type.
39459 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39460 (struct grub_efi_file_path_device_path): New structure.
39461 (grub_efi_file_path_device_path_t): New type.
39462 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39463 (struct grub_efi_protocol_device_path): New structure.
39464 (grub_efi_protocol_device_path_t): New type.
39465 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39466 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39467 (struct grub_efi_bios_device_path): New structure.
39468 (grub_efi_bios_device_path_t): New type.
39469 (struct grub_efi_disk_io): New structure.
39470 (grub_efi_disk_io_t): New type.
39471 (struct grub_efi_block_io_media): New structure.
39472 (grub_efi_block_io_media_t): New type.
39473 (struct grub_efi_block_io): New structure.
39474 (grub_efi_block_io_t): New type.
39475
39476 * include/grub/misc.h (grub_stop): Removed.
39477 (grub_exit): New prototype.
39478 (grub_abort): Likewise.
39479
39480 * include/grub/disk.h (enum grub_disk_dev_id): Added
39481 GRUB_DISK_DEVICE_EFIDISK_ID.
39482
39483 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39484 disk/efi/efidisk.c.
39485 (kernel_syms.lst): Remove the target if an error occurs.
39486
49986a9f 394872006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39488
39489 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39490 as it was simply too buggy.
39491
970d3b8a 394922006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39493
39494 * kern/misc.c (grub_lltoa): New function.
39495 (grub_vsprintf): Added support for the long long suffix,
39496 i.e. "ll".
39497
ff04ec24 394982006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39499
39500 * Makefile.in (LDFLAGS): Add variable.
39501 (LD): Remove variable.
39502 * configure.ac: Add -m32 to LDFLAGS.
39503 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39504 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39505 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39506 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39507 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39508 variables.
39509 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39510 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39511 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39512
37e5e1a4 395132006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39514
39515 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39516 length for unknown glyph.
39517
c352d8dd 395182006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39519
2eab1c0d 39520 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39521
2eab1c0d 39522 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39523 completely. Accept one more argument DIR. The caller has changed.
39524
39525 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39526
39527 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39528 (grub_efi_loaded_image_guid): New variable.
39529 (grub_efi_get_loaded_image): New function.
39530 (grub_arch_modules_addr): Likewise.
39531
39532 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39533 prototype.
39534
39535 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39536 (struct grub_efi_loaded_image): New structure.
39537 (grub_efi_loaded_image_t): New type.
39538
395392006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39540
c352d8dd 39541 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39542 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39543 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39544
6d01d6b4 395452006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39546
39547 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39548
976a4ea0 395492006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39550
39551 * DISTLIST: Added include/grub/efi/console.h,
39552 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39553 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39554
39555 * include/grub/efi/console.h: New file.
39556 * include/grub/efi/time.h: Likewise.
39557 * include/grub/i386/efi/kernel.h: Likewise.
39558 * kern/efi/init.c: Likewise.
39559 * kern/efi/mm.c: Likewise.
39560 * term/efi/console.c: Likewise.
f19dbdb7 39561
976a4ea0 39562 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39563 (grub_stop): Removed.
39564 (grub_get_rtc): Likewise.
39565 (grub_machine_init): Simply call grub_efi_init.
39566 (grub_machine_fini): Call grub_efi_fini.
39567
39568 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39569 (grub_efi_output_string): Removed.
39570 (grub_efi_stall): New function.
39571 (grub_stop): Likewise.
39572 (grub_get_rtc): Likewise.
39573
39574 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39575 (grub_efi_stall): New prototype.
39576 (grub_efi_allocate_pages): Likewise.
39577 (grub_efi_free_pages): Likewise.
39578 (grub_efi_get_memory_map): Likewise.
39579 (grub_efi_mm_init): Likewise.
39580 (grub_efi_mm_fini): Likewise.
39581 (grub_efi_init): Likewise.
39582 (grub_efi_fini): Likewise.
39583
39584 * include/grub/i386/efi/time.h: Do not include
39585 grub/symbol.h. Include grub/efi/time.h.
39586 (GRUB_TICKS_PER_SECOND): Removed.
39587 (grub_get_rtc): Likewise.
39588
39589 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39590 Added padding. The EFI spec is buggy.
39591 (GRUB_EFI_BLACK): New macro.
39592 (GRUB_EFI_BLUE): Likewise.
39593 (GRUB_EFI_GREEN): Likewise.
39594 (GRUB_EFI_CYAN): Likewise.
39595 (GRUB_EFI_RED): Likewise.
39596 (GRUB_EFI_MAGENTA): Likewise.
39597 (GRUB_EFI_BROWN): Likewise.
39598 (GRUB_EFI_LIGHTGRAY): Likewise.
39599 (GRUB_EFI_BRIGHT): Likewise.
39600 (GRUB_EFI_DARKGRAY): Likewise.
39601 (GRUB_EFI_LIGHTBLUE): Likewise.
39602 (GRUB_EFI_LIGHTGREEN): Likewise.
39603 (GRUB_EFI_LIGHTCYAN): Likewise.
39604 (GRUB_EFI_LIGHTRED): Likewise.
39605 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39606 (GRUB_EFI_YELLOW): Likewise.
39607 (GRUB_EFI_WHITE): Likewise.
39608 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39609 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39610 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39611 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39612 (GRUB_EFI_BACKGROUND_RED): Likewise.
39613 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39614 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39615 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39616 (GRUB_EFI_TEXT_ATTR): Likewise.
39617
39618 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39619 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39620 (kernel_mod_HEADERS): Added efi/time.h.
39621
83709125 396222006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39623
39624 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39625 include/grub/efi/api.h, include/grub/efi/console_control.h,
39626 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39627 include/grub/i386/efi/time.h, kern/efi/efi.c,
39628 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39629 and util/i386/efi/grub-mkimage.c.
39630
39631 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39632
39633 * genmk.rb (PModule#rule): Do not export symbols if
39634 #{prefix}_EXPORTS is set to "no".
39635
39636 * conf/i386-efi.mk: New file.
39637 * conf/i386-efi.rmk: Likewise.
39638 * include/grub/efi/api.h: Likewise.
39639 * include/grub/efi/console_control.h: Likewise.
39640 * include/grub/efi/efi.h: Likewise.
39641 * include/grub/efi/pe32.h: Likewise.
39642 * include/grub/i386/efi/time.h: Likewise.
39643 * kern/efi/efi.c: Likewise.
39644 * kern/i386/efi/init.c: Likewise.
39645 * kern/i386/efi/startup.S: Likewise.
39646 * util/i386/efi/grub-mkimage.c: Likewise.
39647
396482006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39649
39650 * include/grub/script.h: Include <grub/parser.h> and
39651 "grub_script.tab.h".
39652 (struct grub_lexer_param): New struct.
39653 (struct grub_parser_param): Likewise.
39654 (grub_script_create_arglist): Pass the state in an argument.
39655 (grub_script_add_arglist): Likewise.
39656 (grub_script_create_cmdline): Likewise.
39657 (grub_script_create_cmdblock): Likewise.
39658 (grub_script_create_cmdif): Likewise.
39659 (grub_script_create_cmdmenu): Likewise.
39660 (grub_script_add_cmd): Likewise.
39661 (grub_script_arg_add): Likewise.
39662 (grub_script_lexer_ref): Likewise.
39663 (grub_script_lexer_deref): Likewise.
39664 (grub_script_lexer_record_start): Likewise.
39665 (grub_script_lexer_record_stop): Likewise.
39666 (grub_script_mem_record): Likewise.
39667 (grub_script_mem_record_stop): Likewise.
39668 (grub_script_malloc): Likewise.
39669 (grub_script_yylex): Likewise.
39670 (grub_script_yyparse): Likewise.
39671 (grub_script_yyerror): Likewise.
39672 (grub_script_yylex): Likewise.
39673 (grub_script_lexer_init): Return the state.
39674
39675 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39676 (grub_script_lexer_done): Likewise.
39677 (grub_script_lexer_getline): Likewise.
39678 (grub_script_lexer_refs): Likewise.
39679 (script): Likewise.
39680 (newscript): Likewise.
39681 (record): Likewise.
39682 (recording): Likewise.
39683 (recordpos): Likewise.
39684 (recordlen): Likewise.
39685 (grub_script_lexer_init): Return the state instead of setting
39686 global variables.
39687 (grub_script_lexer_ref): Use the newly added argument for state
39688 instead of globals.
39689 (grub_script_lexer_deref): Likewise.
39690 (grub_script_lexer_record_start): Likewise.
39691 (grub_script_lexer_record_stop): Likewise.
39692 (recordchar): Likewise.
39693 (nextchar): Likewise.
39694 (grub_script_yylex2): Likewise.
39695 (grub_script_yylex): Likewise.
39696 (grub_script_yyerror): Likewise.
39697
39698 * normal/parser.y (func_mem): Removed variable.
39699 (menu_entry): Likewise.
39700 (err): Likewise.
39701 (%lex-param): New parser option.
39702 (%parse-param): Likewise.
39703 (script): Always return the AST.
39704 (argument): Pass the state around.
39705 (arguments): Likewise.
39706 (grubcmd): Likewise.
39707 (commands): Likewise.
39708 (function): Likewise.
39709 (menuentry): Likewise.
39710 (if_statement): Likewise.
39711 (if): Likewise.
39712
39713 * normal/script.c (grub_script_memused): Removed variable.
39714 (grub_script_parsed): Likewise.
39715 (grub_script_malloc): Added a state argument. Use that instead of
39716 global variables.
39717 (grub_script_mem_record): Likewise.
39718 (grub_script_mem_record_stop): Likewise.
39719 (grub_script_arg_add): Likewise.
39720 (grub_script_add_arglist): Likewise.
39721 (grub_script_create_cmdline): Likewise.
39722 (grub_script_create_cmdif): Likewise.
39723 (grub_script_create_cmdmenu): Likewise.
39724 (grub_script_add_cmd): Likewise.
39725 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39726
e2a8c904 397272006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39728
39729 * normal/command.c (grub_command_init): Remove the title command.
39730
39731 * normal/lexer.c (grub_script_yylex): Renamed from this...
39732 (grub_script_yylex2): ... to this.
39733 (grub_script_yylex): New function. Temporary
39734 introduced to filter some tokens.
39735 (grub_script_yyerror): Print a newline.
39736
39737 * normal/main.c (read_config_file): Output information about the
39738 lines that contain errors. Wait for a key after all lines have
39739 been processed. Don't return an empty menu.
39740
39741 * normal/parser.y (func_mem): Don't initialize.
39742 (menu_entry): Likewise.
39743 (err): New variable.
39744 (script): Don't return anything when an error was encountered.
39745 (ws, returns): Removed rules.
39746 (argument): Disabled concatenated variable support.
39747 (arguments): Remove explicit separators.
39748 (grubcmd): Likewise.
39749 (function): Likewise.
39750 (menuentry): Likewise.
39751 (if): Likewise.
39752 (commands): Likewise. Add error handling.
39753
39754 * normal/script.c (grub_script_create_cmdline): If
39755 `grub_script_parsed' is 0, assume the parser encountered an error.
39756
c9a86192 397572006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39758
39759 * configure.ac: Add support for EFI. Fix the typo
39760 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39761
70f3b243 397622006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39763
39764 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39765 foreign multibyte characters should be shown correctly.
39766
65f201ad 397672006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39768
39769 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39770 calculation.
39771 (read_config_file): Made it to close file before returning.
39772
b4b93674 397732006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39774
39775 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39776 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39777 video/i386/pc/vbefill.c.
39778
39779 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39780 video/i386/pc/vbefill.c.
39781
39782 * include/grub/video.h (grub_video_blit_format): New enum.
39783 (grub_video_mode_info): Added new member blit_format.
39784 (grub_video_get_blit_format): New function prototype.
39785
39786 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39787 function prototype.
39788 (grub_video_vbe_map_rgb): Likewise.
39789 (grub_video_vbe_unmap_color): Likewise.
39790
39791 * include/grub/i386/pc/vbeblit.h: New file.
39792
39793 * include/grub/i386/pc/vbefill.h: New file.
39794
39795 * video/video.c (grub_video_get_blit_format): New function.
39796 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39797 (grub_video_vbe_map_rgb): Likewise.
39798 (grub_video_vbe_unmap_color): Likewise.
39799
39800 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39801 optimized fills.
39802 (grub_video_vbe_blit_render_target): Changed to use more optimized
39803 blits.
39804 (grub_video_vbe_setup): Added detection for optimized settings.
39805 (grub_video_vbe_create_render_target): Likewise.
39806
39807 * video/i386/pc/vbeblit.c: New file.
39808
39809 * video/i386/pc/vbefill.c: New file.
39810
c2379b9c 398112006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39812
39813 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39814 here...
39815
39816 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39817 parsing to support both hex and dec ranges. If filename was missing
39818 show usage information.
39819
bd0d7896 398202006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39821
39822 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39823 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39824
39825 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39826 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39827 (video_mod_SOURCES): Added.
39828 (video_mod_CFLAGS): Likewise.
39829 (video_mod_LDFLAGS): Likewise.
39830 (gfxterm_mod_SOURCES): Likewise.
39831 (gfxterm_mod_CFLAGS): Likewise.
39832 (gfxterm_mod_LDFLAGS): Likewise.
39833 (videotest_mod_SOURCES): Likewise.
39834 (videotest_mod_CFLAGS): Likewise.
39835 (videotest_mod_LDFLAGS): Likewise.
39836 (vesafb_mod_SOURCES): Removed.
39837 (vesafb_mod_CFLAGS): Likewise.
39838 (vesafb_mod_LDFLAGS): Likewise.
39839 (vga_mod_SOURCES): Likewise.
39840 (vga_mod_CFLAGS): Likewise.
39841 (vga_mod_LDFLAGS): Likewise.
39842
39843 * commands/videotest.c: New file.
39844
39845 * font/manager.c (fill_with_default_glyph): Modified to use
39846 grub_font_glyph.
39847 (grub_font_get_glyph): Likewise.
39848 (fontmanager): Renamed from this...
39849 (font_manager): ... to this.
39850
39851 * include/grub/font.h (grub_font_glyph): Added new structure.
39852 (grub_font_get_glyph): Modified to use grub_font_glyph.
39853
39854 * include/grub/misc.h (grub_abs): Added as inline function.
39855
39856 * include/grub/video.h: New file.
39857
39858 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39859 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39860 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39861 (grub_vbe_get_controller_info): Renamed from this...
39862 (grub_vbe_bios_get_controller_info): ... to this.
39863 (grub_vbe_get_mode_info): Renamed from this...
39864 (grub_vbe_bios_get_mode_info): ... to this.
39865 (grub_vbe_set_mode): Renamed from this...
39866 (grub_vbe_bios_set_mode): ... to this.
39867 (grub_vbe_get_mode): Renamed from this...
39868 (grub_vbe_bios_get_mode): ... to this.
39869 (grub_vbe_set_memory_window): Renamed from this...
39870 (grub_vbe_bios_set_memory_window): ... to this.
39871 (grub_vbe_get_memory_window): Renamed from this...
39872 (grub_vbe_bios_get_memory_window): ... to this.
39873 (grub_vbe_set_scanline_length): Renamed from this...
39874 (grub_vbe_set_scanline_length): ... to this.
39875 (grub_vbe_get_scanline_length): Renamed from this...
39876 (grub_vbe_bios_get_scanline_length): ... to this.
39877 (grub_vbe_set_display_start): Renamed from this...
39878 (grub_vbe_bios_set_display_start): ... to this.
39879 (grub_vbe_get_display_start): Renamed from this...
39880 (grub_vbe_bios_get_display_start): ... to this.
39881 (grub_vbe_set_palette_data): Renamed from this...
39882 (grub_vbe_bios_set_palette_data): ... to this.
39883 (grub_vbe_set_pixel_rgb): Removed.
39884 (grub_vbe_set_pixel_index): Likewise.
39885
39886 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39887 from this...
39888 (grub_vbe_bios_get_controller_info): ... to this.
39889 (grub_vbe_get_mode_info): Renamed from this...
39890 (grub_vbe_bios_get_mode_info): ... to this.
39891 (grub_vbe_set_mode): Renamed from this...
39892 (grub_vbe_bios_set_mode): ... to this.
39893 (grub_vbe_get_mode): Renamed from this...
39894 (grub_vbe_bios_get_mode): ... to this.
39895 (grub_vbe_set_memory_window): Renamed from this...
39896 (grub_vbe_bios_set_memory_window): ... to this.
39897 (grub_vbe_get_memory_window): Renamed from this...
39898 (grub_vbe_bios_get_memory_window): ... to this.
39899 (grub_vbe_set_scanline_length): Renamed from this...
39900 (grub_vbe_set_scanline_length): ... to this.
39901 (grub_vbe_get_scanline_length): Renamed from this...
39902 (grub_vbe_bios_get_scanline_length): ... to this.
39903 (grub_vbe_set_display_start): Renamed from this...
39904 (grub_vbe_bios_set_display_start): ... to this.
39905 (grub_vbe_get_display_start): Renamed from this...
39906 (grub_vbe_bios_get_display_start): ... to this.
39907 (grub_vbe_set_palette_data): Renamed from this...
39908 (grub_vbe_bios_set_palette_data): ... to this.
39909 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39910 getting corrupted after calling it. Added more pushes and pops.
39911 (grub_vbe_bios_set_mode): Likewise.
39912 (grub_vbe_bios_get_mode): Likewise.
39913 (grub_vbe_bios_get_memory_window): Likewise.
39914 (grub_vbe_bios_set_scanline_length): Likewise.
39915 (grub_vbe_bios_get_scanline_length): Likewise.
39916 (grub_vbe_bios_get_display_start): Likewise.
39917 (grub_vbe_bios_set_palette_data): Likewise.
39918
39919 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39920 (cl_insert): Likewise.
39921 (cl_delete): Likewise.
39922
39923 * term/gfxterm.c: New file.
39924
39925 * term/i386/pc/vesafb.c: Removed file.
39926
39927 * video/video.c: New file.
39928
39929 * video/i386/pc/vbe.c (real2pm): Added new function.
39930 (grub_video_vbe_draw_pixel): Likewise.
39931 (grub_video_vbe_get_video_ptr): Likewise.
39932 (grub_video_vbe_get_pixel): Likewise
39933 (grub_video_vbe_init): Likewise.
39934 (grub_video_vbe_fini): Likewise.
39935 (grub_video_vbe_setup): Likewise.
39936 (grub_video_vbe_get_info): Likewise.
39937 (grub_video_vbe_set_palette): Likewise.
39938 (grub_video_vbe_get_palette): Likewise.
39939 (grub_video_vbe_set_viewport): Likewise.
39940 (grub_video_vbe_get_viewport): Likewise.
39941 (grub_video_vbe_map_color): Likewise.
39942 (grub_video_vbe_map_rgb): Likewise.
39943 (grub_video_vbe_map_rgba): Likewise.
39944 (grub_video_vbe_unmap_color): Likewise.
39945 (grub_video_vbe_fill_rect): Likewise.
39946 (grub_video_vbe_blit_glyph): Likewise.
39947 (grub_video_vbe_blit_bitmap): Likewise.
39948 (grub_video_vbe_blit_render_target): Likewise.
39949 (grub_video_vbe_scroll): Likewise.
39950 (grub_video_vbe_swap_buffers): Likewise.
39951 (grub_video_vbe_create_render_target): Likewise.
39952 (grub_video_vbe_delete_render_target): Likewise.
39953 (grub_video_vbe_set_active_render_target): Likewise.
39954 (grub_vbe_set_pixel_rgb): Remove function.
39955 (grub_vbe_set_pixel_index): Likewise.
39956 (index_color_mode): Remove static variable.
39957 (active_mode): Likewise.
39958 (framebuffer): Likewise.
39959 (bytes_per_scan_line): Likewise.
39960 (grub_video_vbe_adapter): Added new static variable.
39961 (framebuffer): Likewise.
39962 (render_target): Likewise.
39963 (initial_mode): Likewise.
39964 (mode_in_use): Likewise.
39965 (mode_list): Likewise.
39966
5f97350b 399672006-03-10 Marco Gerards <marco@gnu.org>
39968
39969 * configure.ac (AC_INIT): Bumped to 1.93.
39970
39971 * DISTLIST: Added `include/grub/hfs.h'.
39972
a3c5c6f8 399732006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39974
39975 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39976 18H, which might help the BIOS falling back to next boot media.
39977
6de53d26 399782006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39979
39980 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39981 Poe Chen <poe.poechen@gmail.com>.
39982
77c4a393 399832006-01-17 Marco Gerards <marco@gnu.org>
39984
39985 * include/grub/normal.h: Include <grub/script.h>.
39986 (grub_command_list): Removed struct.
39987 (grub_command_list_t): Removed type.
39988 (grub_menu_entry): Remove members `num' and `command_list'. Add
39989 members `commands' and `sourcecode'.
39990 * include/grub/script.h: Add inclusion guards.
39991 (grub_script_cmd_menuentry): New struct.
39992 (grub_script_execute_menuentry): New prototype.
39993 (grub_script_lexer_record_start): Likewise.
39994 (grub_script_lexer_record_stop): Likewise.
39995 * normal/execute.c (grub_script_execute_menuentry): New function.
39996 * normal/lexer.c (record, recording, recordpos, recordlen): New
39997 variables.
39998 (grub_script_lexer_record_start): New function.
39999 (grub_script_lexer_record_stop): Likewise.
40000 (recordchar): Likewise.
40001 (nextchar): Likewise.
40002 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40003 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40004 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40005 (current_menu): New variable.
40006 (free_menu): Mainly rewritten.
40007 (grub_normal_menu_addentry): New function.
40008 (read_config_file): Rewritten.
40009 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40010 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40011 the menu entry.
40012 (run): Mainly rewritten.
40013 * normal/parser.y (menu_entry): New variable.
40014 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40015 (menuentry): New rule.
40016 (command): Add `menuentry'.
40017 (if_statement): Allow additional returns before `fi'.
40018 * normal/script.c (grub_script_create_cmdmenu): New function.
40019
144f1f98 400202006-01-03 Marco Gerards <marco@gnu.org>
40021
40022 * INSTALL: GNU Bison is required.
40023 * configure.ac: Rewritten the test to detect Bison.
40024 * Makefile.in (YACC): New variable. Reported by Xun Sun
40025 <xun.sun.cn@gmail.com>.
40026
af4b2d89 400272006-01-03 Marco Gerards <marco@gnu.org>
40028
40029 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40030 the HFS+ filesystem to filesystem blocks.
40031 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40032 GCC warning is silenced.
40033
15643b71 400342006-01-03 Marco Gerards <marco@gnu.org>
40035
40036 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40037 read from disk from big endian to host byte order.
40038
00905879 400392006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40040
40041 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40042 documentation.
40043 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40044 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40045 embedded HFS+ filesystem.
40046 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40047 (grub_hfs_sblock): Move from here...
40048 * include/grub/hfs.h: To here... New file.
40049 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40050 documentation.
40051 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40052 New macros.
40053 (grub_hfsplus_volheader): Change type of member `magic' to
40054 `grub_uint16_t'.
40055 (grub_hfsplus_data): Add new member `embedded_offset'.
40056 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40057 returned block.
40058 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40059 Calculate the offset.
40060
8899bc3e 400612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40062
40063 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40064 Removed.
40065 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40066
ae8c0277 400672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40068
40069 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40070 ENV->NAME is NULL after allocating ENV->VALUE.
40071
07084456 400722005-12-25 Marco Gerards <marco@gnu.org>
40073
40074 * kern/env.c (grub_env_set): Rewritten the error handling code.
40075
4750f5f1 400762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40077
40078 * geninit.sh: Made more robust, and more portable.
40079
50214199 400802005-12-25 Marco Gerards <marco@gnu.org>
40081
40082 Add support for Apple HFS+ filesystems.
f19dbdb7 40083
50214199 40084 * fs/hfsplus.c: New file.
40085
40086 * DISTLIST: Added `fs/hfsplus.c'.
40087
40088 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40089 (hfsplus_mod_SOURCES): New variable.
40090 (hfsplus_mod_CFLAGS): Likewise.
40091 (hfsplus_mod_LDFLAGS): Likewise.
40092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40093 (grub_setup_SOURCES): Likewise.
40094 (grub_mkdevicemap_SOURCES): Likewise.
40095 (grub_emu_SOURCES): Likewise.
40096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40097
40098 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40099
40100 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40101
befaed6c 401022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40103
40104 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40105 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40106 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40107 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40108 normal/lexer.c, normal/parser.y, normal/script.c, and
40109 partmap/gpt.c.
40110 Removed kern/sparc64/cache.c.
40111
40112 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40113 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40114 grub_emu_init.c.
40115
40116 * configure.ac (AC_INIT): Bumped to 1.92.
40117
6a124103 401182005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40119
40120 * kern/err.c (grub_error_push): Added new function to support error
40121 stacks.
40122 (grub_error_pop): Likewise.
40123 (grub_error_stack_items): New local variable to support error stacks.
40124 (grub_error_stack_pos): Likewise.
40125 (grub_error_stack_assert): Likewise.
40126 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40127 stack depth.
40128 (grub_print_error): Added support to print errors from error stack.
40129
40130 * include/grub/err.h (grub_error_push): Added function prototype.
40131 (grub_error_pop): Likewise.
40132
be973c1b 401332005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40134
40135 * configure.ac: Accept `powerpc64' as host_cpu.
40136 (amd64): Rename to `biarch32'.
40137
40138 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40139 non-cacheline-aligned addresses.
40140
40141 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40142 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40143 if `size' is non-zero.
40144
b04216ab 401452005-12-03 Marco Gerards <mgerards@xs4all.nl>
40146
40147 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40148 and `cd' to make sure the filename is not prefixed with a
40149 directory name.
40150 (pkgdata_MODULES): Add `gpt.mod'.
40151 (gpt_mod_SOURCES): New variable.
40152 (gpt_mod_CFLAGS): Likewise.
40153 (gpt_mod_LDFLAGS): Likewise.
40154
40155 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40156
40157 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40158 New macro.
40159
40160 * partmap/gpt.c: New file.
40161
40162 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40163 GPT partition map is detected.
40164
41730ed9 401652005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40166
40167 * commands/i386/pc/play.c: New file.
40168 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40169 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40170 macros.
f19dbdb7 40171
95dc3643 401722005-11-27 Marco Gerards <mgerards@xs4all.nl>
40173
40174 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40175 ((unused))' to silence gcc warning.
40176
1569ec51 401772005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40178
40179 * configure.ac: Correct `AC_PROG_YACC' test.
40180
9abde152 401812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40182
40183 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40184 check before installing files.
40185
44b83271 401862005-11-22 Mike Small <smallm@panix.com>
40187
40188 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40189 number regex so multidigit numbers are recognized correctly.
40190
401912005-11-22 Mike Small <smallm@panix.com>
40192
40193 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40194 debugging message before attempting to claim memory.
40195 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40196 multiple addresses in case of failure.
40197
9c12956b 401982005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40199
40200 * term/tparm.c (get_space): Remove empty `if' statement.
40201
40202 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40203
40204 * kern/parser.c (check_varstate): Rename `state' to 's'.
40205
aeaf81d9 402062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40207
40208 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40209 variable definitions to the beginning of each function. Sort stack
40210 variables by size.
40211 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40212 `buf' argument to `char *'.
40213
79bbb63f 402142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40215
40216 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40217 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40218 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40219 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40220 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40221 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40222 configfile.mod, search.mod, gzio.mod and test.mod.
40223 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40224 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40225 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40226 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40227 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40228 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40229 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40230 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40231 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40232 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40233 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40234 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40235 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40236 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40237 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40238 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40239 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40240 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40241 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40242 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40243 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40244 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40245 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40246
40247 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40248 `grep --include'.
40249 (pkgdata_MODULES): Add test.mod.
40250
233b1628 402512005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40252
40253 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40254 appending to variables with "+=".
40255 (PModule): Use full pathname to generate *.lst filenames.
40256
40257 * Makefile.in: Fixed list rules moved from genmk.rb.
40258 (.DELETE_ON_ERROR): New special target.
40259 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40260
40261 * conf/i386-pc.rmk: Include conf/common.mk.
40262 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40263 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40264 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40265 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40266 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40267 configfile.mod, search.mod, gzio.mod and test.mod.
40268 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40269 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40270 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40271 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40272 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40273 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40274 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40275 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40276 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40277 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40278 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40279 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40280 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40281 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40282 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40283 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40284 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40285 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40286 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40287 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40288 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40289 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40290 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40291 here...
40292 * conf/common.rmk: ... to here. New file.
40293
40294 * conf/common.mk: New file.
40295
16f820c8 402962005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40297
40298 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40299 (grub_script.tab.c): ... here.
40300
40301 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40302 (grub_script.tab.c): ... here.
40303
40304 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40305 (grub_script.tab.c): ... here.
40306
40307 * normal/command.c (grub_command_find): Fixed a memory leak of
40308 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40309
63ba1554 403102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40311
40312 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40313 "@" which marks the start of a comment on ARM.
40314 (VARIABLE): Likewise.
40315
7f67dc13 403162005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40317
79bbb63f 40318 Add support for Linux/ADFS partition tables.
7f67dc13 40319
40320 * partmap/acorn.c: New file.
40321
40322 * include/grub/acorn_filecore.h: Likewise.
40323
40324 * DISTLIST: Added `partmap/acorn.c' and
40325 `include/grub/acorn_filecore.h'.
f19dbdb7 40326
7f67dc13 40327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40328 `partmap/acorn.c'.
40329 (pkgdata_MODULES): Add `acorn.mod'.
40330 (acorn_mod_SOURCES): New variable.
40331 (acorn_mod_CFLAGS): Likewise.
40332
40333 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40334 `partmap/acorn.c'.
40335 (pkgdata_MODULES): Add `acorn.mod'.
40336 (acorn_mod_SOURCES): New variable.
40337 (acorn_mod_CFLAGS): Likewise.
40338
40339 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40340 (pkgdata_MODULES): Add `acorn.mod'.
40341 (acorn_mod_SOURCES): New variable.
40342 (acorn_mod_CFLAGS): Likewise.
40343 (acorn_mod_LDFLAGS): Likewise.
40344
40345 * include/types.h (grub_disk_addr_t): New typedef.
40346
6d099807 403472005-11-13 Marco Gerards <mgerards@xs4all.nl>
40348
40349 * geninit.sh: New file.
40350
40351 * geninitheader.sh: Likewise.
40352
40353 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40354 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40355 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40356 * commands/configfile.c (grub_configfile_init)
40357 (grub_configfile_fini): Likewise.
40358 * commands/default.c (grub_default_init, grub_default_fini):
40359 Likewise.
40360 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40361 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40362 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40363 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40364 Likewise.
40365 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40366 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40367 Likewise.
40368 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40369 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40370 Likewise.
40371 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40372 Likewise.
fe6b695a 40373 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40374 Likewise.
40375 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40376 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40377 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40378 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40379 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40380 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40381 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40382 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40383 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40384 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40385 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40386 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40387 * partmap/amiga.c (grub_amiga_partition_map_init)
40388 (grub_amiga_partition_map_fini): Likewise.
40389 * partmap/apple.c (grub_apple_partition_map_init)
40390 (grub_apple_partition_map_fini): Likewise.
40391 * partmap/pc.c (grub_pc_partition_map_init)
40392 (grub_pc_partition_map_fini): Likewise.
40393 * partmap/sun.c (grub_sun_partition_map_init,
40394 grub_sun_partition_map_fini): Likewise.
40395 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40396 Likewise.
40397
40398 * util/grub-emu.c: Include <grub_modules_init.h>.
40399 (main): Don't initialize and de-initialize any modules directly,
40400 use `grub_init_all' and `grub_fini_all' instead.
40401
40402 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40403 `grub_vesafb_mod_init'.
40404 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40405 all users.
40406 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40407 `grub_vga_mod_init'. Updated all users.
40408 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40409
6d099807 40410 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40411 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40412 rules.
40413
40414 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40415 Generate a function to initialize the module in utilities.
40416 Updated all callers.
40417 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40418 initialize the module in utilities. Updated all callers.
40419
9046bcf0 404202005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40421
40422 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40423 escape sequence and a literal ^L to clear the screen.
40424
40425 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40426 when returning from Open Firmware.
40427
d13ea639 404282005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40429
40430 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40431 (grub_ofconsole_height): Likewise.
40432 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40433 manually insert a '\n'.
40434 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40435 `grub_ofconsole_height'. Return early if these are already set.
40436
a8fcf206 404372005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40438
40439 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40440 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40441 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40442 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40443 and `normal/script.c'.
40444 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40445 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40446 (test_mod_SOURCES): New variable.
40447 (test_mod_CFLAGS): Likewise.
40448 (test_mod_LDFLAGS): Likewise.
40449 (pkgdata_MODULES): Add `test.mod'.
40450 (grub_script.tab.c): New rule.
40451 (grub_script.tab.h): Likewise.
40452
b6b32745 404532005-11-07 Marco Gerards <mgerards@xs4all.nl>
40454
40455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40456 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40457 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40458 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40459 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40460 (test_mod_SOURCES): New variable.
40461 (test_mod_CFLAGS): Likewise.
40462 (pkgdata_MODULES): Add `test.mod'.
40463 (grub_script.tab.c): New rule.
40464 (grub_script.tab.h): Likewise.
40465
daac212a 404662005-11-06 Marco Gerards <mgerards@xs4all.nl>
40467
40468 Add initial scripting support.
40469
40470 * commands/test.c: New file.
40471 * include/grub/script.h: Likewise.
40472 * normal/execute.c: Likewise.
40473 * normal/function.c: Likewise.
40474 * normal/lexer.c: Likewise.
40475 * normal/parser.y: Likewise.
40476 * normal/script.c: Likewise.
40477
40478 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40479
daac212a 40480 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40481 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40482 `normal/function.c' and `normal/script.c'.
40483 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40484 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40485 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40486 variables.
daac212a 40487 (pkgdata_MODULES): Add `test.mod'.
40488 (grub_script.tab.c): New rule.
40489 (grub_script.tab.h): Likewise.
40490
40491 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40492
40493 * include/grub/normal.h (grub_test_init): New prototype.
40494 (grub_test_fini): Likewise.
f19dbdb7 40495
daac212a 40496 * normal/command.c: Include <grub/script.h>.
40497 (grub_command_execute): Rewritten.
f19dbdb7 40498
daac212a 40499 * util/grub-emu.c (main): Call `grub_test_init' and
40500 `grub_test_fini'.
40501
77500b2b 405022005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40503
40504 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40505 to 0.
40506 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40507 there are no pending characters.
40508
e45deb9e 405092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40510
40511 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40512 `grub_strndup' to drop device arguments. Replace unnecessary
40513 `grub_strndup' with `grub_strdup'.
40514
4ce32619 405152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40516
40517 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40518 `debug' environment variable has been set.
40519
405202005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40521
4ce32619 40522 * Makefile.in (install-local): Use $(DATA).
40523 (uninstall): Likewise.
40524 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40525 (sbin_UTILITIES): ... to here.
40526 (sbin_SCRIPTS): New variable.
40527 (grub_install_SOURCES): New variable.
40528 * util/powerpc/ieee1275/grub-install.in: New file.
40529 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40530 variable.
40531 (add_segments): Call `grub_util_get_path'.
40532
25fe6f03 405332005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40534
40535 From Timothy Baldwin:
40536 * commands/ls.c (grub_ls_list_files): Close FILE with
40537 grub_file_close.
40538 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40539
04ccf3ec 405402005-10-24 Marco Gerards <mgerards@xs4all.nl>
40541
40542 * include/grub/parser.h: New file.
40543
40544 * kern/parser.c: Likewise.
40545
40546 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40547 (grub_setup_SOURCES): Likewise.
40548 (grub_probefs_SOURCES): Likewise.
40549 (grub_emu_SOURCES): Likewise.
40550 (kernel_img_HEADERS): Add `parser.h'.
40551
40552 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40553 (grub_emu_SOURCES): Add `kern/parser.c'.
40554 (grubof_SOURCES): Likewise.
40555
40556 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40557 (grubof_SOURCES): Add `kern/parser.c'.
40558
40559 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40560
40561 * kern/misc.c (grub_split_cmdline): Removed function.
40562
40563 * kern/rescue.c: Include <grub/parser.h>.
40564 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40565 of `grub_split_cmdline'.
40566
40567 * normal/command.c: Include <grub/parser.h>.
40568 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40569 of `grub_split_cmdline'.
40570
40571 * normal/completion.c: Include <grub/parser.h>.
40572 (cmdline_state): New variable.
40573 (iterate_dir): End the filename with a quote depending on the
40574 command line state.
40575 (get_state): new function.
40576 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40577 split the arguments and determine the current argument. When the
40578 argument string is not quoted, escape all spaces.
40579
6d8f4b0e 405802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40581
40582 * normal/sparc64/setjmp.S: New file.
40583
15cf03ed 405842005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40585
40586 * include/grub/sparc64/libgcc.h: New file.
40587 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40588 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40589 normal/sparc64/setjmp.c.
40590
03e8661a 405912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40592
40593 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40594 * kern/sparc64/cache.S: New file.
40595 * kern/sparc64/cache.c: Removed.
40596 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40597 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40598 -mtune=ultrasparc.
40599 (COMMON_LDFLAGS): Add -melf64_sparc.
40600 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40601 (grubof_SOURCES): Use cache.S instead of cache.c.
40602 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40603 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40604 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40605 commented though.
40606 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40607 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40608 (linux_mod_CFLAGS): Commented out.
40609 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40610 out because module isn't built.
40611 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40612 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40613 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40614 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40615 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40616 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40617 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40618 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40619 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40620 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40621 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40622 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40623 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40624 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40625
34eeec8a 406262005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40627
40628 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40629 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40630 longer, because HFS should not be used on PC.
40631
708367a3 406322005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40633
40634 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40635 consistently within the loop.
40636
6fa1251a 406372005-10-15 Marco Gerards <mgerards@xs4all.nl>
40638
40639 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40640 directory can not be read.
40641
4801580b 406422005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40643
40644 * configure.ac (AC_INIT): Increase the version number to 1.91.
40645
40646 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40647 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40648 term/i386/pc/serial.c.
40649
219ad426 406502005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40651
40652 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40653 file size must be permitted.
40654
40655 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40656 between %ah and %al.
40657
688e5699 406582005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40659
40660 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40661 grub_uint64_t.
40662 Call the hook with a NUL-terminated filename.
40663 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40664 grub_cpu_to_be32.
40665
40666 * kern/term.c (cursor_state): New variable.
40667 (grub_term_set_current): Reset the cursor state on a new
40668 terminal.
40669 (grub_setcursor): Rewritten to use CURSOR_STATE.
40670 (grub_getcursor): New function.
40671
40672 * include/grub/term.h (grub_getcursor): New prototype.
40673
40674 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40675 integers on ARM. Reported by Timothy Baldwin
40676 <T.E.Baldwin99@members.leeds.ac.uk>.
40677
bb34586c 406782005-10-11 Marco Gerards <mgerards@xs4all.nl>
40679
40680 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40681 allocated.
40682 (grub_sfs_dir): Likewise.
40683
9a909877 406842005-10-09 Marco Gerards <mgerards@xs4all.nl>
40685
40686 Add support for the SFS filesystem.
40687
40688 * fs/sfs.c: New file.
40689
40690 * DISTLIST: Added `fs/sfs.c'.
40691
40692 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40693 (grub_probefs_SOURCES): Likewise.
40694 (grub_emu_SOURCES): Likewise.
40695 (pkgdata_MODULES): Add `sfs.mod'.
40696 (sfs_mod_SOURCES): New variable.
40697 (sfs_mod_CFLAGS): Likewise.
40698 (sfs_mod_LDFLAGS): Likewise.
40699
40700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40701 (pkgdata_MODULES): Add `sfs.mod'.
40702 (sfs_mod_SOURCES): New variable.
40703 (sfs_mod_CFLAGS): Likewise.
40704
40705 * util/grub-emu.c (main): Call `grub_sfs_init' and
40706 `grub_sfs_fini'.
40707
40708 * include/grub/fs.h (grub_sfs_init): New prototype.
40709 (grub_sfs_fini): Likewise.
40710
57bdbde3 407112005-10-07 Marco Gerards <mgerards@xs4all.nl>
40712
40713 Add support for the AFFS filesystem.
40714
40715 * fs/affs.c: New file.
40716
40717 * DISTLIST: Added `fs/affs.c'.
40718
40719 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40720 (grub_probefs_SOURCES): Likewise.
40721 (grub_emu_SOURCES): Likewise.
40722 (pkgdata_MODULES): Add `affs.mod'.
40723 (affs_mod_SOURCES): New variable.
40724 (affs_mod_CFLAGS): Likewise.
40725 (affs_mod_LDFLAGS): Likewise.
40726
40727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40728 (pkgdata_MODULES): Add `affs.mod'.
40729 (affs_mod_SOURCES): New variable.
40730 (affs_mod_CFLAGS): Likewise.
40731
40732 * util/grub-emu.c (main): Call `grub_affs_init' and
40733 `grub_affs_fini'.
40734
40735 * include/grub/fs.h (grub_affs_init): New prototype.
40736 (grub_affs_fini): Likewise.
40737
047b67e0 407382005-10-01 Marco Gerards <mgerards@xs4all.nl>
40739
40740 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40741
59b8208a 407422005-10-01 Marco Gerards <mgerards@xs4all.nl>
40743
40744 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40745 `-m32' to CFLAGS.
40746
40747 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40748 linking.
f19dbdb7 40749
59b8208a 40750 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40751 (COMMON_LDFLAGS): New variable.
40752 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40753 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40754 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40755 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40756 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40757 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40758 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40759 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40760 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40761 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40762 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40763 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40764 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40765 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40766 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40767 variables.
40768 (normal_mod_ASFLAGS): Add `-m32'.
40769
40770 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40771 (grub_host_size_t, grub_host_ssize_t): New types.
40772 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40773 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40774 `GRUB_HOST_SIZEOF_VOID_P'.
40775
40776 * include/grub/kernel.h (struct grub_module_header): Type of
40777 member offset changed to `grub_host_off_t'. Type of member size
40778 changed to `grub_host_size_t'.
40779 (struct grub_module_info): Type of member offset changed to
40780 `grub_host_off_t'. Type of member size changed to
40781 `grub_host_size_t'.
40782
b4093103 407832005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40784
40785 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40786
b4093103 40787 * kern/i386/pc/startup.S (multiboot_header): New label.
40788 (multiboot_entry): Likewise.
40789 (multiboot_trampoline): Likewise.
40790
40791 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40792 Increased to 0x4A0.
40793
40794 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40795 put parentheses after a question mark.
40796 [!GRUB_UTIL] (my_mod): New variable.
40797
40798 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40799
b2499b29 408002005-09-28 Marco Gerards <mgerards@xs4all.nl>
40801
40802 Adds support for the XFS filesystem. Btrees are not supported
40803 yet.
40804
40805 * fs/xfs.c: New file.
40806
40807 * DISTLIST: Added `fs/xfs.c'.
40808
40809 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40810 (grub_probefs_SOURCES): Likewise.
40811 (grub_emu_SOURCES): Likewise.
40812 (pkgdata_MODULES): Add `xfs.mod'.
40813 (xfs_mod_SOURCES): New variable.
40814 (xfs_mod_CFLAGS): Likewise.
40815
40816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40817 (pkgdata_MODULES): Add `xfs.mod'.
40818 (xfs_mod_SOURCES): New variable.
40819 (xfs_mod_CFLAGS): Likewise.
40820
40821 * util/grub-emu.c (main): Call `grub_xfs_init' and
40822 `grub_xfs_fini'.
40823
40824 * include/grub/fs.h (grub_xfs_init): New prototype.
40825 (grub_xfs_fini): Likewise.
40826
f19dbdb7 40827
83d37a62 408282005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40829
40830 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40831 color modes, allow greater than 16 colors to be configured as
40832 a default palette.
40833
47d2d65e 408342005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40835
40836 * normal/completion.c (complete_arguments): Add the qualifier
40837 const into OPTIONS.
40838
40839 From Omniflux <omniflux+lists@omniflux.com>:
40840 * include/grub/terminfo.h: New file.
40841 * include/grub/tparm.h: Likewise.
40842 * include/grub/i386/pc/serial.h: Likewise.
40843 * term/terminfo.c: Likewise.
40844 * term/tparm.c: Likewise.
40845 * term/i386/pc/serial.c: Likewise.
40846 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40847 serial.mod.
40848 (terminfo_mod_SOURCES): New variable.
40849 (terminfo_mod_CFLAGS): Likewise.
40850 (serial_mod_SOURCES): Likewise.
40851 (serial_mod_CFLAGS): Likewise.
40852
48b671ff 408532005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40854
40855 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40856 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40857 and kern/powerpc/ieee1275/cmain.c, respectively.
40858
40859 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40860 * kern/powerpc/ieee1275/crt0.S: ... here.
40861
40862 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40863 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40864
48b671ff 40865 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40866 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40867 instead of boot/powerpc/ieee1275/crt0.S and
40868 boot/powerpc/ieee1275/cmain.c, respectively.
40869
40870 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40871 sectors. It was not used anyway.
40872
09fc77a7 408732005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40874
40875 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40876 `unused parameter' warning.
40877
003789c7 408782005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40879
40880 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40881 function.
40882 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40883 getcharwidth.
40884
67f44c86 408852005-08-28 Marco Gerards <metgerards@student.han.nl>
40886
40887 * include/grub/normal.h (enum grub_completion_type): Added
40888 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40889
40890 * normal/cmdline.c (print_completion): Handle
40891 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40892 * normal/menu_entry.c (store_completion): Likewise.
40893
40894 * normal/completion.c (complete_arguments): New function.
40895 (grub_normal_do_completion): Call `complete_arguments' when the
40896 current words start with a dash.
40897
0b5abe02 408982005-08-27 Marco Gerards <metgerards@student.han.nl>
40899
40900 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40901 `gzio.mod' instead of `io.mod').
40902
d9864ee1 409032005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40904
40905 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40906 (DISTDIRS): Added io and video.
40907 Rewrite the search routine to make an output consistently.
40908
40909 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40910 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40911 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40912 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40913 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40914 util/powerpc/ieee1275/misc.c.
f19dbdb7 40915
d9864ee1 40916 * include/grub/gzio.h: New file.
40917 * io/gzio.c: Likewise.
f19dbdb7 40918
d9864ee1 40919 * kern/file.c (grub_file_close): Call grub_device_close only if
40920 FILE->DEVICE is not NULL.
40921
40922 * include/grub/mm.h [!NULL] (NULL): New macro.
40923
40924 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40925
40926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40927 (pkgdata_MODULES): Added gzio.mod.
40928 (gzio_mod_SOURCES): New variable.
40929 (gzio_mod_CFLAGS): Likewise.
40930
40931 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40932 (pkgdata_MODULES): Added gzio.mod.
40933 (gzio_mod_SOURCES): New variable.
40934 (gzio_mod_CFLAGS): Likewise.
40935
40936 * commands/cat.c: Include grub/gzio.h.
40937 (grub_cmd_cat): Use grub_gzfile_open instead of
40938 grub_file_open.
f19dbdb7 40939
d9864ee1 40940 * commands/cmp.c: Include grub/gzio.h.
40941 (grub_cmd_cmp): Use grub_gzfile_open instead of
40942 grub_file_open.
40943
40944 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40945 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40946 grub_file_open.
40947 (grub_rescue_cmd_module): Likewise.
40948
fa46f4b5 409492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40950
40951 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40952 kern/sparc64/ieee1275/init.c because it contains _start.
40953 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40954
e9211b5d 409552005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40956
40957 * configure.ac: Add support for sparc64 host with ieee1275
40958 firmware.
40959 * configure: Generated from configure.ac.
40960 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40961 instead of int.
40962 (grub_ofdisk_read): Likewise.
40963 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40964 pointers as (void *) to remove a warning.
40965 (grub_ofdisk_close): Likewise.
40966 (grub_ofdisk_read): Likewise.
40967 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40968 returns, so make it return void to remove a warning.
40969 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40970 Corresponding prototype change.
40971 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40972 values, and cast the pointers as (void *) to remove a warning.
40973 (grub_mm_dump): Likewise.
40974 * conf/sparc64-ieee1275.mk: New file.
40975 * conf/sparc64-ieee1275.rmk: Likewise.
40976 * include/grub/sparc64/setjmp.h: Likewise.
40977 * include/grub/sparc64/types.h: Likewise.
40978 * include/grub/sparc64/ieee1275/console.h: Likewise.
40979 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40980 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40981 * include/grub/sparc64/ieee1275/time.h: Likewise.
40982 * kern/sparc64/cache.c: Likewise.
40983 * kern/sparc64/dl.c: Likewise.
40984 * kern/sparc64/ieee1275/init.c: Likewise.
40985 * kern/sparc64/ieee1275/openfw.c: Likewise.
40986
385c6a92 409872005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40988
40989 * util/console.c (grub_ncurses_putchar): If C is greater than
40990 0x7f, set C to a question mark.
40991 (grub_ncurses_getcharwidth): New function.
40992 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40993 getcharwidth.
40994
40995 * normal/menu.c (print_entry): Made aware of Unicode. First,
40996 convert TITLE to UCS-4, and predict the cursor position by
40997 grub_getcharwidth.
40998
40999 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41000 const to SRC.
41001 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41002
16ccb8b1 410032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41004
41005 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41006 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41007 grub_strcat.
41008
41009 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41010 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41011 grub_strcpy and grub_strlen. Take it into account that a space
41012 character is inserted as a delimiter.
41013
6a85ce79 410142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41015
41016 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41017 invalid magic in the error.
6a85ce79 41018
41019 * commands/search.c: New file.
f19dbdb7 41020
6a85ce79 41021 * util/grub-emu.c (main): Call grub_search_init and
41022 grub_search_fini.
41023
41024 * kern/rescue.c (grub_rescue_print_disks): Removed.
41025 (grub_rescue_print_devices): New function.
41026 (grub_rescue_cmd_ls): Use grub_device_iterate with
41027 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41028 grub_rescue_print_disks.
41029
41030 * kern/partition.c (grub_partition_iterate): Return the result of
41031 PARTMAP->ITERATE instead of GRUB_ERRNO.
41032
41033 * kern/device.c: Include grub/partition.h.
41034 (grub_device_iterate): New function.
41035
41036 * include/grub/partition.h (grub_partition_iterate): Return int
41037 instead of grub_err_t.
41038
41039 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41040 prototype.
41041 [GRUB_UTIL] (grub_search_fini): Likewise.
41042
41043 * include/grub/device.h (grub_device_iterate): New prototype.
41044
41045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41046 commands/search.c.
41047 (pkgdata_MODULES): Added search.mod.
41048 (search_mod_SOURCES): New variable.
41049 (search_mod_CFLAGS): Likewise.
41050
41051 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41052 (pkgdata_MODULES): Added search.mod.
41053 (search_mod_SOURCES): New variable.
41054 (search_mod_CFLAGS): Likewise.
41055
41056 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41057 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41058 All callers changed.
41059
41060 * DISTLIST: Added commands/search.c.
41061
ef095434 410622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41063
41064 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41065 conversion.
41066 (grub_getcharwidth): New function.
41067
41068 * kern/misc.c (grub_utf8_to_ucs4): New function.
41069
41070 * include/grub/term.h (struct grub_term): Added a new member
41071 "getcharwidth".
41072 (grub_getcharwidth): New prototype.
41073
41074 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41075
41076 * term/i386/pc/console.c (map_char): New function. Segregated from
41077 grub_console_putchar.
41078 (grub_console_putchar): Use map_char.
41079 (grub_console_getcharwidth): New function.
41080 (grub_console_term): Specified grub_console_getcharwidth as
41081 getcharwidth.
41082
41083 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41084 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41085
41086 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41087 GRUB_ERRNO.
41088 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41089 on grub_strtoul completely.
41090 (write_char): Declare local variables in the beginning of the
41091 function.
41092 (grub_vesafb_getcharwidth): New function.
41093 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41094 getcharwidth.
41095
1f0a95e4 410962005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41097
41098 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41099 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41100 commands/i386/pc/vbetest.c.
41101
41102 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41103 call grub_vbe_get_controller_info again, because the returned
41104 information is volatile.
41105 (grub_vbe_set_video_mode): Mostly rewritten.
41106 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41107 grub_vbe_status_t correctly.
41108 (grub_vbe_get_video_mode_info): Likewise.
41109 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41110 several if statements.
41111
41112 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41113 * commands/i386/pc/vbeinfo.c: ... this.
41114
41115 * commands/i386/pc/vbe_test.c: Renamed to ...
41116 * commands/i386/pc/vbetest.c: ... this.
41117
41118 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41119 ...
41120 (grub_cmd_vbeinfo): ... this. Save video modes before
41121 iterating. Skip a video mode, if it is not available, not enough
41122 information is given or it is monochrome. Show the memory
41123 model. Leave the interpretation of MODEVAR to grub_strtoul
41124 completely.
41125 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41126 (GRUB_MOD_FINI): Likewise.
41127
41128 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41129 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41130 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41131 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41132 grub_strtoul completely.
41133 (real2pm): Removed.
41134 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41135 (GRUB_MOD_FINI): Likewise.
41136
41137 * normal/misc.c: Include grub/mm.h.
41138
41139 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41140 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41141 (vbe_list_modes_mod_SOURCES): Removed.
41142 (vbe_list_modes_mod_CFLAGS): Likewise.
41143 (vbe_test_mod_SOURCES): Likewise.
41144 (vbe_test_mod_CFLAGS): Likewise.
41145 (vbeinfo_mod_SOURCES): New variable.
41146 (vbeinfo_mod_CFLAGS): Likewise.
41147 (vbetest_mod_SOURCES): Likewise.
41148 (vbetest_mod_CFLAGS): Likewise.
41149
992ffbbe 411502005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41151
41152 * normal/misc.c: New file.
41153
41154 * DISTLIST: Added normal/misc.c.
f19dbdb7 41155
992ffbbe 41156 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41157 DISK to HOOK. Call HOOK with DISK.
41158 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41159 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41160 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41161
41162 * normal/menu_entry.c (struct screen): Added a new member
41163 "completion_shown".
41164 (completion_buffer): New global variable.
41165 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41166 (store_completion): New function.
41167 (complete): Likewise.
41168 (clear_completions): Likewise.
41169 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41170 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41171 a tab, call complete.
41172
41173 * normal/completion.c (disk_dev): Removed.
41174 (print_simple_completion): Likewise.
41175 (print_partition_completion): Likewise.
41176 (print_func): New global variable.
41177 (add_completion): Do not take the arguments WHAT or PRINT any
41178 longer. Added a new argument TYPE. Instead of printing directly,
41179 call PRINT_FUNC if not NULL.
41180 All callers changed.
41181 (complete_device): Use a local variable DEV instead of
41182 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41183 (grub_normal_do_completion): Take a new argument HOOK. Do not
41184 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41185 empty string, return NULL instead.
41186 All callers changed.
41187
41188 * normal/cmdline.c (print_completion): New function.
41189
41190 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41191 to HOOK.
41192 All callers changed.
41193
41194 * kern/disk.c (grub_print_partinfo): Removed.
41195
41196 * include/grub/partition.h (struct grub_partition_map): Add a new
41197 argument DISK into HOOK of ITERATE.
41198 (grub_partition_iterate): Add a new argument DISK to HOOK.
41199
41200 * include/grub/normal.h (enum grub_completion_type): New enum.
41201 (grub_completion_type_t): New type.
41202 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41203 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41204 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41205 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41206 (grub_normal_do_completion): Added a new argument HOOK.
41207 (grub_normal_print_device_info): New prototype.
41208
41209 * include/grub/disk.h (grub_print_partinfo): Removed.
41210
41211 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41212 (normal_mod_SOURCES): Likewise.
41213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41214 (normal_mod_SOURCES): Likewise.
41215
41216 * commands/ls.c (grub_ls_list_disks): Use
41217 grub_normal_print_device_info instead of grub_print_partinfo. Free
41218 PNAME.
41219 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41220 duplicating the code.
41221
0bd41162 412222005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41223
41224 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41225 follow GCS more precisely.
41226 * commands/i386/pc/vbe_test.c: Likewise.
41227 * include/grub/i386/pc/vbe.h: Likewise.
41228 * term/i386/pc/vesafb.c: Likewise.
41229 * video/i386/pc/vbe.c: Likewise.
0bd41162 41230
6323696a 412312005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41232
41233 * DISTLIST: Added term/i386/pc/vesafb.c
41234 DISTLIST: Added video/i386/pc/vbe.c
41235 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41236 DISTLIST: Added commands/i386/pc/vbe_test.c.
41237 * commands/i386/pc/vbe_list_modes.c: New file.
41238 * commands/i386/pc/vbe_test.c: Likewise.
41239 * term/i386/pc/vesafb.c: Likewise.
41240 * video/i386/pc/vbe.c: Likewise.
41241 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41242 (grub_vbe_probe) Added prototype.
41243 (grub_vbe_set_video_mode) Likewise.
41244 (grub_vbe_get_video_mode) Likewise.
41245 (grub_vbe_get_video_mode_info) Likewise.
41246 (grub_vbe_set_pixel_rgb) Likewise.
41247 (grub_vbe_set_pixel_index) Likewise.
41248 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41249 (pkgdata_MODULES): Added vesafb.mod.
41250 (pkgdata_MODULES): Added vbe_list_modes.mod.
41251 (pkgdata_MODULES): Added vbe_test.mod.
41252 (vbe_mod_SOURCES): Added.
41253 (vbe_mod_CFLAGS): Likewise.
41254 (vesafb_mod_SOURCES): Likewise.
41255 (vesafb_mod_CFLAGS): Likewise.
41256 (vbe_list_modes_mod_SOURCES): Likewise.
41257 (vbe_list_modes_mod_CFLAGS): Likewise.
41258 (vbe_test_mod_SOURCES): Likewise.
41259 (vbe_test_mod_CFLAGS): Likewise.
41260
0a74e62f 412612005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41262
0a74e62f 41263 * normal/command.c (grub_command_execute): If INTERACTIVE is
41264 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41265 CMDLINE. Disable the pager if INTERACTIVE is true.
41266 All callers are changed.
41267
41268 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41269 before reading a config file.
41270 * normal/main.c (read_config_file): Even if a command is not
41271 found, register it if it is within an entry.
41272
41273 * util/grub-emu.c: Include sys/types.h and unistd.h.
41274 (options): Added --hold.
41275 (struct arguments): Added a new member "hold".
41276 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41277 missing.
41278 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41279 cleared by a debugger, if it is not zero.
41280
41281 * include/grub/normal.h (grub_command_execute): Add an argument
41282 INTERACTIVE.
41283
e51f85ae 412842005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41285
41286 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41287
e9c6f39b 412882005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41289
41290 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41291 program with another one, because the old one didn't detect a bug
41292 in gcc-3.4. Always use regparm 2, because the new test is still
41293 not enough for gcc-4.0. Someone must investigate a simple test
41294 case which detects a bug in gcc-4.0.
41295
8de3495c 412962005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41297
41298 * DISTLIST: Added normal/completion.c.
41299
41300 * normal/completion.c: New file.
f19dbdb7 41301
8de3495c 41302 * term/i386/pc/console.c (grub_console_getwh): New function.
41303 (grub_console_term): Assign grub_console_getwh to getwh.
41304
41305 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41306 function is defined in normal/completion.c as
41307 grub_normal_do_completion.
41308 (grub_cmdline_get): Use grub_normal_do_completion instead of
41309 grub_tab_complete.
41310
41311 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41312 returns non-zero, otherwise return 0.
41313 (grub_partition_iterate): First, probe the partition map. Then,
41314 call ITERATE only for this partition map.
41315
41316 * kern/misc.c (grub_strncmp): Rewritten.
41317
41318 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41319 returns non-zero. Otherwise return 0.
41320
41321 * include/grub/partition.h (grub_partition_map_iterate): Return
41322 int instead of void.
41323
41324 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41325
41326 * include/grub/misc.h (grub_strncmp): Change the type of N to
41327 grub_size_t.
41328
41329 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41330 of void.
41331
41332 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41333 unsigned explicitly before comparing it with I.
8de3495c 41334
41335 * kern/main.c (grub_env_write_root): Add the attribute unused into
41336 VAR.
41337
41338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41339 normal/completion.c.
41340 (normal_mod_SOURCES): Likewise.
41341 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41342 (normal_mod_SOURCES): Likewise.
41343
41344 * normal/command.c (grub_iterate_commands): If ITERATE returns
41345 non-zero, return one immediately.
41346
e85e144b 413472005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41348
41349 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41350 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41351 descriptions.
41352 (grub_vbe_get_controller_info): New function.
41353 (grub_vbe_get_mode_info): Likewise.
41354 (grub_vbe_set_mode): Likewise.
41355 (grub_vbe_get_mode): Likewise.
41356 (grub_vbe_set_memory_window): Likewise.
41357 (grub_vbe_get_memory_window): Likewise.
41358 (grub_vbe_set_scanline_length): Likewise.
41359 (grub_vbe_get_scanline_length): Likewise.
41360 (grub_vbe_set_display_start): Likewise.
41361 (grub_vbe_get_display_start): Likewise.
41362 (grub_vbe_set_palette_data): Likewise.
41363 * include/grub/i386/pc/vbe.h: New file.
41364
c46153d2 413652005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41366
41367 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41368 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41369 * DISTLIST: Likewise.
41370 * kern/ieee1275/of.c: Moved to ...
41371 * kern/ieee1275/ieee1275.c: ... here.
41372
0cb90c45 413732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41374
41375 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41376 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41377 Pass 0 as `end' parameter to grub_strtoul().
41378
a19fb360 413792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41380
41381 * include/grub/powerpc/ieee1275/console.h: Do not include
41382 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41383 ifdef.
41384 (grub_console_cur_color): Remove i386-specific prototype.
41385 (grub_console_real_putchar): Likewise.
41386 (grub_console_checkkey): Likewise.
41387 (grub_console_getkey): Likewise.
41388 (grub_console_getxy): Likewise.
41389 (grub_console_gotoxy): Likewise.
41390 (grub_console_cls): Likewise.
41391 (grub_console_setcursor): Likewise.
41392 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41393 Include <grub/machine/console.h>.
41394 * term/ieee1275/ofconsole.c: Likewise.
41395
4ac9bd04 413962005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41397
41398 * Makefile.in (LIBLZO): New variable.
41399
41400 * configure.ac: Check for LZO version 2.
41401
41402 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41403 lzo/lzo1x.h instead of lzo1x.h.
41404
41405 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41406 of -llzo.
41407
41408 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41409 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41410
41411 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41412 copying the data from PARTITION to P.
41413
f4917dfd 414142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41415
41416 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41417 negative, unload the module.
41418
41419 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41420 map is "pc_partition_map" but not "pc".
41421 (usage): Fix the description. The options are --boot-image and
41422 --core-image but not --boot-file or --core-file.
41423 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41424 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41425 DEFAULT_DIRECTORY.
41426
41427 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41428 --core-file. Specify INSTALL_DEVICE as an argument.
41429
41430 * util/console.c: Include config.h.
41431 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41432 [HAVE_NCURSES_H]: Include ncurses.h.
41433 [HAVE_CURSES_H]: Include curses.h.
41434 [!A_NORMAL] (A_NORMAL): Defined as zero.
41435 [!A_STANDOUT] (A_STANDOUT): Likewise.
41436
41437 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41438 -lncurses.
41439 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41440
41441 * configure.ac: Check for curses libraries and headers.
41442
41443 * Makefile.in (LIBCURSES): New variable.
41444
41445 * genmk.rb (Script::rule): Set the executable bits.
41446
41447 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41448 name of the PC partition map is "pc_partition_map" but not "pc".
41449
0e143073 414502005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41451
41452 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41453 (modules): Likewise.
41454 (usage): Added descriptions for --modules and --grub-probefs.
41455 Handle --modules and --grub-probefs. Save the arguments in MODULES
41456 and GRUB_PROBEFS, respectively.
41457 Auto-detect a filesystem module against GRUBDIR. If the result is
41458 empty and modules are not specified explicitly, abort the
41459 installation. Add the result to MODULES.
41460
41461 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41462 disk/powerpc/ieee1275/ofdisk.c,
41463 include/grub/powerpc/ieee1275/init.h and
41464 term/powerpc/ieee1275/ofconsole.c.
41465 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41466 term/ieee1275/ofconsole.c.
41467
41468 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41469
41470 * COPYING: Upgraded to the latest version. Only the address of the
41471 FSF office has changed.
f19dbdb7 41472
efd6e6d5 414732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41474
41475 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41476 kern/ieee1275.c with kern/ieee1275/of.c.
41477
41478 * kern/ieee1275.c: Moved to ...
41479 * kern/ieee1275/of.c: ... here.
41480
8ceafda2 414812005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41482
41483 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41484 readability.
8ceafda2 41485
41486 * config.guess: Updated to the latest version from gnulib.
41487 * config.sub: Likewise.
41488 * install.sh: Likewise.
41489 * mkinstalldirs: Likewise.
41490
41491 * include/grub/console.h: Removed. This file is arch-specific. Do
41492 not put this in include/grub.
41493
41494 * include/grub/i386/pc/console.h: Resurrected.
41495
41496 * util/console.c: Include grub/machine/console.h instead of
41497 grub/console.h.
41498 * util/grub-emu.c: Likewise.
41499
267f6cd9 415002005-08-04 Marco Gerards <metgerards@student.han.nl>
41501
41502 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41503 hardcoded value.
f19dbdb7 41504
267f6cd9 41505 From Vincent Pelletier <subdino2004@yahoo.fr>
41506 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41507 Redefined to use grub_getwh.
41508 (grub_term): New member named getwh.
41509 (grub_getwh): New prototype.
41510 * kern/term.c (grub_getwh): New function.
41511 * term/i386/pc/console.c (grub_console_getwh): New function.
41512 (grub_console_term): New member `getwh'.
41513 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41514 (grub_vga_term): New member `getwh'.
0b5abe02 41515 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41516 grub_ssize_t.
41517 (grub_ofconsole_getw): New function.
41518 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41519 (grub_ofconsole_term): New field named getwh and new initial
41520 value.
41521
3be7266d 415222005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41523
41524 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41525 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41526 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41527 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41528 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41529 of <grub/machine/ieee1275.h>.
41530 * commands/ieee1275/reboot.c: Likewise.
41531 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41532 * kern/ieee1275.c: ... to here. All users updated. Change all
41533 parameter structs to use new type `grub_ieee1275_cell_t'.
41534 * term/powerpc/ieee1275/ofconsole.c: Move ...
41535 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41536 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41537 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41538 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41539 to return int.
41540 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41541 Remove unused prototypes. All users updated.
41542 * include/grub/powerpc/ieee1275/console.h: Removed.
41543 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41544 `grub_ieee1275_cell_t'.
41545 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41546 Cast comparisons with -1 to the correct type.
41547 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41548 type to match `grub_ieee1275_entry_fn'.
41549
8b5f3938 415502005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41551
41552 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41553
41554 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41555 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41556 partmap/sun.c.
41557 (grub_probefs_SOURCES): New variable.
41558
41559 * util/i386/pc/grub-probefs.c: New file.
41560
41561 * util/i386/pc/grub-setup.c (main): Call
41562 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41563 grub_hfs_init and grub_jfs_init to initialize the system. Call
41564 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41565 grub_pc_partition_map_fini to finish the system.
41566
ea409713 415672005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41568
41569 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41570 function.
41571 (grub_multiboot_load_elf32): Likewise.
41572 (grub_multiboot_is_elf64): Likewise.
41573 (grub_multiboot_load_elf64): Likewise.
41574 (grub_multiboot_load_elf): Likewise.
41575 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41576 an ELF32 or ELF64 file.
41577 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41578
41579 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41580 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41581 NULL before calling FS->LABEL.
41582 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41583 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41584 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41585 before calling FS->LABEL.
41586
141a288b 415872005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41588
41589 * util/i386/pc/grub-install.in (datadir): New variable.
41590 (libdir): Removed.
41591 (pkgdatadir): New variable.
41592 (pkglibdir): Removed.
41593
0d5f8a54 415942005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41595
41596 * DISTLIST: Added util/i386/pc/grub-install.in.
41597
41598 * util/i386/pc/grub-install.in: New file.
41599
41600 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41601 (grub_install_SOURCES): Likewise.
41602
41603 * genmk.rb: Added support for scripts.
41604 (Script): New class.
41605 (scripts): New variable.
41606
41607 * Makefile.in (install-local): Install sbin_SCRIPTS by
41608 INSTALL_SCRIPT.
41609 (uninstall): Remove sbin_SCRIPTS.
41610
41611 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41612 device, try to get a GRUB device by
41613 grub_util_biosdisk_get_grub_dev.
41614 Free DEST_DEV.
41615
41616 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41617 description for --device-map.
41618
5f968e1e 416192005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41620
41621 Change the semantics of variable hooks. They now return strings
41622 instead of error values.
f19dbdb7 41623
5f968e1e 41624 * util/i386/pc/grub-setup.c: Include grub/env.h.
41625 (setup): Use grub_device_set_root instead of grub_env_set.
41626
41627 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41628 grub_env_get instead of grub_device_set_root and
41629 grub_device_get_root, respectively.
41630
41631 * kern/main.c (grub_env_write_root): New function.
41632 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41633 grub_env_set instead of grub_device_set_root.
41634
41635 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41636 many variables.
41637 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41638 rather than calling ENV->WRITE_HOOK afterwards.
41639 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41640 passing a pointer of a pointer.
41641 (grub_register_variable_hook): Change the types of "read_hook" and
41642 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41643 respectively.
41644 Allocate the default empty string on the heap, because this string
41645 may be freed later.
41646
41647 * kern/device.c: Include grub/env.h.
41648 (grub_device_set_root): Removed.
41649 (grub_device_get_root): Likewise.
41650 (grub_device_open): Use grub_env_get instead of
41651 grub_device_get_root.
41652
41653 * include/grub/env.h (grub_env_read_hook_t): New type.
41654 (grub_env_write_hook_t): Likewise.
41655 (grub_env_var): Change the types of "read_hook" and "write_hook"
41656 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41657 (grub_register_variable_hook): Likewise.
41658
41659 * include/grub/device.h (grub_device_set_root): Removed.
41660 (grub_device_set_root): Likewise.
41661
41662 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41663 make sure that DIRNAME terminates with '/', so that
41664 grub_fat_find_dir will fail if PATH is not a directory.
41665
41666 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41667 from DIRNAME.
41668 Use the qualifier auto for print_files and print_files_long.
41669 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41670 as a regular file.
41671 Put a newline only if there is no error.
41672 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41673 used.
41674
896f0afd 416752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41676
41677 * kern/partition.c (grub_partition_probe): Initialize PART to
41678 NULL. Otherwise, when no partition map is registered, this returns
41679 a garbage.
41680
b28b81b2 416812005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41682
41683 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41684 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41685 valid.
41686
5f3607e0 416872005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41688
41689 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41690 information on each device, if it does not have partitions. Print
41691 "Device" instead of "Disk", because this function is not specific
41692 to disk devices.
41693
41694 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41695 static to ensure that it is put on the memory rather than a
41696 register.
41697
502c87e8 416982005-07-17 Yoshinori Okuji <okuji@enbug.org>
41699
41700 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41701 (grub_cat_init): Likewise.
41702 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41703 (options): Likewise.
41704 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41705 (grub_configfile_init): Likewise.
41706 * font/manager.c (GRUB_MOD_INIT): Likewise.
41707 * commands/help.c (GRUB_MOD_INIT): Likewise.
41708 (grub_help_init): Likewise.
41709 * normal/command.c (grub_command_init): Likewise.
41710 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41711 * disk/loopback.c (grub_loop_init): Likewise.
41712 (GRUB_MOD_INIT): Likewise.
41713 * commands/ls.c (grub_ls_init): Likewise.
41714 (GRUB_MOD_INIT): Likewise.
41715 (options): Likewise.
41716 * commands/boot.c (grub_boot_init): Likewise.
41717 (GRUB_MOD_INIT): Likewise.
41718 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41719 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41720 (GRUB_MOD_INIT): Likewise.
41721 * commands/cmp.c (grub_cmp_init): Likewise.
41722 (GRUB_MOD_INIT): Likewise.
41723
41724 * normal/arg.c: Use <> instead of "" to include header files.
41725 (SHORT_ARG_HELP): New macro.
41726 (SHORT_ARG_USAGE): Likewise.
41727 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41728 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41729 descriptions.
41730 (find_short): Check if C is 'h' or 'u' explicitly.
41731 (grub_arg_show_help): Use space characters instead of tabs. Treat
41732 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41733 are shown with --help and --usage only if they are not used for
41734 the command itself.
41735 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41736 'h' and 'u'.
41737
41738 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41739 const into "longarg". Change the type of "shortarg" to int.
41740
f806d18e 417412005-07-17 Yoshinori Okuji <okuji@enbug.org>
41742
41743 * boot/i386/pc/boot.S (boot_drive_check): New label.
41744
41745 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41746 macro.
41747
41748 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41749 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41750
e293232b 417512005-07-17 Yoshinori Okuji <okuji@enbug.org>
41752
41753 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41754 When turning off Gate A20, skip the check and return immediately,
41755 because this is not fatal usually.
41756
ebedfd00 417572005-07-17 Yoshinori Okuji <okuji@enbug.org>
41758
41759 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41760 be 0x7C00 instead of 0x8000.
41761
41762 * boot/i386/pc/pxeboot.S: Rewritten.
41763
41764 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41765 EXT_C.
41766 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41767 result.
41768
654fc59f 417692005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41770
41771 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41772 robustness. This routine now supports a BIOS call and System
41773 Control Port A to modify the gate A20.
41774
41775 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41776 Increased to 0x440.
41777
09f9923f 417782005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41779
41780 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41781 device path and resulting ihandle.
41782 (grub_ofdisk_close): dprintf the ihandle being closed.
41783 (grub_ofdisk_read): dprintf function parameters.
41784 * kern/mm.c (grub_mm_init_region): Likewise.
41785 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41786 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41787 size, and boot arguments.
41788 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41789 before loading into memory.
41790 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41791 before loading into memory.
41792
7ef504d8 417932005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41794
41795 * kern/mm.c: Added much documentation.
41796 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41797 8, set to 5 instead of 8.
41798
e0f050c2 417992005-07-10 Yoshinori Okuji <okuji@enbug.org>
41800
41801 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41802
41803 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41804 (grub_mkdevicemap_SOURCES): New variable.
41805
41806 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41807 lib/device.c of GRUB Legacy.
41808
7224189a 418092005-07-10 Yoshinori Okuji <okuji@enbug.org>
41810
41811 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41812 instead of PATH is NULL.
41813
68c864eb 418142005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41815
41816 * commands/cmp.c (BUFFER_SIZE): New macro.
41817 (grub_cmd_cmp): Close the right file at the right time. Compare
41818 only data just read. Don't report files of different size as
41819 identical. Dynamically allocate buffers. Move variable
41820 declarations at the beginning of function.
41821
e6f3e614 418222005-07-09 Yoshinori Okuji <okuji@enbug.org>
41823
41824 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41825 reverse.
41826
f8f1559a 418272004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41828
41829 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41830 when backspace is pressed at beginning of line.
41831
39c9d41d 418322005-07-03 Yoshinori Okuji <okuji@enbug.org>
41833
41834 * DISTLIST: Added genfslist.sh.
41835
41836 * normal/main.c (fs_module_list): New variable.
41837 (autoload_fs_module): New function.
41838 (read_fs_list): Likewise.
41839 (grub_normal_execute): Call read_fs_list.
41840
41841 * kern/fs.c (grub_fs_autoload_hook): New variable.
41842 (grub_fs_probe): Added support for auto-loading.
41843
41844 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41845 (grub_fs_module_list_t): New type.
41846
41847 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41848 (grub_fs_autoload_hook): New prototype.
41849
41850 * genfslist.sh: New file.
f19dbdb7 41851
39c9d41d 41852 * genmk.rb: Added a rule to generate a filesystem list.
41853
121c1d83 418542005-06-30 Marco Gerards <metgerards@student.han.nl>
41855
41856 * configure.ac: Fix the test for cross-compiling.
41857
41858 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41859 define GRUB_UTIL anymore.
41860
41861 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41862 so this function works on other systems than just big endian.
41863 (load_modules): Likewise.
41864 (add_segments): Likewise.
41865
e75d76e1 418662005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41867
41868 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41869 contains `l' modifier, get a long from va_arg().
41870
50b5a0a7 418712005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41872
41873 * kern/mm.c (grub_free): If the next free block which is being
41874 merged is the first free block, set the first block to the block
41875 being freed.
41876 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41877
89371b20 418782005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41879
41880 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41881 `grub_ieee1275_chosen'.
41882
168d6e58 418832005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41884
41885 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41886 (grub_ieee1275_chosen): New variable.
41887 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41888 `chosen'.
41889 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41890 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41891 Rename first argument to `phandle' for consistency.
41892 (grub_ieee1275_get_property_length): Likewise.
41893 (grub_ieee1275_next_property): Likewise. Change type of first argument
41894 to grub_ieee1275_phandle_t.
41895 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41896 Move export next to declaration.
41897 (grub_ieee1275_chosen): New variable.
41898 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41899 Correct cosmetic typo.
41900 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41901 `grub_ieee1275_chosen'.
41902 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41903 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41904 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41905 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41906 `grub_ieee1275_chosen'.
41907
ca5baa3f 419082005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41909
41910 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41911 /chosen/bootargs.
41912 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41913 /chosen/bootargs as "variable=value" pairs.
41914
708b345f 419152005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41916
41917 * include/grub/misc.h (grub_dprintf): New macro.
41918 (grub_real_dprintf): New prototype.
41919 (grub_strword): Likewise.
41920 (grub_iswordseparator): Likewise.
41921 * kern/misc.c (grub_real_dprintf): New function.
41922 (grub_strword): Likewise.
41923 (grub_iswordseparator): Likewise.
41924
f4c5e67c 419252005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41926
41927 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41928 (roundup): Remove macro.
41929 (grub_ieee1275_flags): Make static.
41930 (grub_ieee1275_realmode): Remove.
41931 (grub_ieee1275_test_flag): New function.
41932 (grub_ieee1275_set_flag): Likewise.
41933 (find_options): Rename to `grub_ieee1275_find_options'; update
41934 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41935 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41936 (cmain): New prototype.
41937 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41938 `grub_ieee1275_flags' directly.
41939 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41940 machine/biosdisk.h.
41941 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41942 Don't include grub/machine/init.h.
41943 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41944 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41945 Remove prototype.
41946 (grub_ieee1275_realmode): Likewise.
41947 (grub_ieee1275_flag): New enum.
41948 (grub_ieee1275_test_flag): New prototype.
41949 (grub_ieee1275_set_flag): New prototype.
41950 * include/grub/powerpc/ieee1275/init.h: Remove file.
41951 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41952 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41953 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41954 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41955 comment.
41956 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41957 `grub_ieee1275_test_flag'.
41958 (grub_ieee1275_encode_devname): Likewise.
41959
ed16607e 419602005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41961
41962 * include/grub/powerpc/ieee1275/ieee1275.h
41963 (grub_ieee1275_encode_devname): New prototype.
41964 (grub_ieee1275_get_filename): Likewise.
41965 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41966 function.
41967 (grub_set_prefix): Likewise.
41968 (grub_machine_init): Call grub_set_prefix.
41969 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41970 (grub_parse_type): New enum.
41971 (grub_ieee1275_get_devargs): New function.
41972 (grub_ieee1275_get_devname): Likewise.
41973 (grub_ieee1275_parse_args): Likewise.
41974 (grub_ieee1275_get_filename): Likewise.
41975 (grub_ieee1275_encode_devname): Likewise.
41976
be369920 419772005-03-30 Marco Gerards <metgerards@student.han.nl>
41978
41979 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41980 `grub_loader_unset'.
41981
a5ce3a4a 419822005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41983
41984 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41985 instead of grub_ieee1275_interpret.
41986 (grub_halt_init): New function.
41987 (grub_halt_fini): Likewise.
41988 (GRUB_MOD_INIT): Correct message grammar.
41989 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41990 instead of grub_ieee1275_interpret.
41991 (grub_reboot_init): New function.
41992 (grub_reboot_fini): Likewise.
41993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41994 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41995 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41996 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41997 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41998 function.
41999 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42000 Add prototype.
42001 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42002 prototype.
42003 (grub_halt): Likewise.
42004 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42005 (cmain): Remove __attribute__((unused)).
42006 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42007 (grub_heap_len): Likewise.
42008 (grub_machine_fini): New function.
42009 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42010 (grub_halt): Likewise.
42011 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42012 function.
42013 * util/powerpc/ieee1275/misc.c: New file.
42014
0058f771 420152005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42016
42017 * DISTLIST: New file.
42018 * gendistlist.sh: Likewise.
f19dbdb7 42019
0058f771 42020 * Makefile.in (COMMON_DISTFILES): Removed.
42021 (BOOT_DISTFILES): Likewise.
42022 (CONF_DISTFILES): Likewise.
42023 (DISK_DISTFILES): Likewise.
42024 (FS_DISTFILES): Likewise.
42025 (INCLUDE_DISTFILES): Likewise.
42026 (KERN_DISTFILES): Likewise.
42027 (LOADER_DISTFILES): Likewise.
42028 (TERM_DISTFILES): Likewise.
42029 (UTIL_DISTFILES): Likewise.
42030 (DISTFILES): Likewise.
42031 (uninstall): Uninstall files in $(pkgdata_DATA).
42032 (DISTLIST): New target.
42033 (distdir): Use the contents of the file DISTLIST to get a list of
42034 distributed files.
42035
46b3b8a5 420362005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42037
42038 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42039 descriptor. This is ported from GRUB Legacy.
42040
42041 * gencmdlist.sh: Added an extra semicolon to make it work with
42042 old sed versions. Reported by Robert Bihlmeyer
42043 <robbe@orcus.priv.at>.
42044
5822ff87 420452005-03-08 Yoshinori Okuji <okuji@enbug.org>
42046
42047 Automatic loading of commands is supported.
f19dbdb7 42048
5822ff87 42049 * normal/main.c (read_command_list): New function.
42050 (grub_normal_execute): Call read_command_list.
42051
42052 * normal/command.c (grub_register_command): Return zero or CMD.
42053 Allocate CMD->NAME from the heap.
42054 Initialize CMD->MODULE_NAME to zero.
42055 Find the same name as well. If the same command is found and it is
42056 a dummy command, overwrite members. If it is not a dummy command,
42057 return zero.
42058 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42059 (grub_command_find): If a dummy command is found, load a module
42060 and retry to find a command only once.
42061
42062 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42063 make sure that each command is loaded.
42064
42065 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42066 macro.
42067 (struct grub_command): Remove const from the member `name'.
42068 Add a new member `module_name'.
42069 (grub_register_command): Return grub_command_t.
42070
42071 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42072 sure that each command is loaded.
42073
42074 * genmk.rb (PModule::rule): Specify a module name without the
42075 suffix ".mod" to gencmdlist.sh.
42076
7b1f4b57 420772005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42078
42079 * gencmdlist.sh: New file.
f19dbdb7 42080
7b1f4b57 42081 * genmk.rb (PModule::rule): Generate a rule for a command list.
42082 Clean command.lst.
42083 Generate command.lst from $(COMMANDFILES).
42084
42085 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42086 (DATA): Added $(pkgdata_DATA).
42087 (install-local): Install files in $(pkgdata_DATA).
42088
062aaf39 420892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42090
42091 * term/i386/pc/vga.c (debug_command): Removed.
42092 (GRUB_MOD_INIT): Do not register the command "debug".
42093
42094 From Hollis Blanchard:
42095 * commands/configfile.c: New file.
42096 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42097 commands/configfile.c.
42098 (pkgdata_MODULES): Added configfile.mod.
42099 (configfile_mod_SOURCES): New variable.
42100 (configfile_mod_CFLAGS): Likewise.
42101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42102 commands/configfile.c.
42103 (pkgdata_MODULES): Added configfile.mod.
42104 (configfile_mod_SOURCES): New variable.
42105 (configfile_mod_CFLAGS): Likewise.
42106 * util/grub-emu.c (main): Call grub_configfile_init and
42107 grub_configfile_fini.
42108 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42109 prototype.
42110 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42111
cee01aa6 421122005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42113
42114 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42115 address.
42116
42117 * commands/help.c (grub_cmd_help): Do not print newlines after
42118 the last command in print_command_help.
42119
93f3a1d8 421202005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42121
42122 * commands/default.h: New file.
42123 * commands/timeout.h: Likewise.
42124 * normal/context.c: Likewise.
f19dbdb7 42125
93f3a1d8 42126 * util/misc.c: Do not include sys/times.h.
42127 Include sys/time.h and grub/machine/time.h.
42128 (grub_get_rtc): Rewritten with gettimeofday.
42129
42130 * util/grub-emu.c (main): Call grub_default_init and
42131 grub_timeout_init before grub_normal_init, and call
42132 grub_timeout_fini and grub_default_fini after grub_main.
42133
42134 * util/console.c (grub_ncurses_checkkey): Return the read
42135 character or -1.
42136
42137 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42138 timeouts.
42139
42140 * normal/main.c (read_config_file): Push MENU. If this fails,
42141 print an error and wait for a user input.
42142 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42143 If a menu is empty or an error occurs, pop MENU.
42144 (grub_normal_execute): Pop and free MENU after grub_menu_run
42145 returns.
42146
42147 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42148
42149 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42150 include time.h.
42151 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42152 without GRUB_UTIL.
42153 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42154 time.h.
42155 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42156 without GRUB_UTIL.
42157
42158 * include/grub/normal.h (struct grub_menu_list): New struct.
42159 (grub_menu_list_t): New type.
42160 (struct grub_context): New struct.
42161 (grub_context_t): New type.
42162 (grub_register_command): Got rid of EXPORT_FUNC.
42163 (grub_unregister_command): Likewise.
42164 (grub_context_get): New prototype.
42165 (grub_context_get_current_menu): Likewise.
42166 (grub_context_push_menu): Likewise.
42167 (grub_context_pop_menu): Likewise.
42168 [GRUB_UTIL] (grub_default_init): Likewise.
42169 [GRUB_UTIL] (grub_default_fini): Likewise.
42170 [GRUB_UTIL] (grub_timeout_init): Likewise.
42171 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42172
42173 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42174 commands/timeout.c and normal/context.c.
42175 (pkgdata_MODULES): Added default.mod and timeout.mod.
42176 (normal_mod_SOURCES): Added normal/context.c.
42177 (default_mod_SOURCES): New variable.
42178 (default_mod_CFLAGS): Likewise.
42179 (timeout_mod_SOURCES): Likewise.
42180 (timeout_mod_CFLAGS): Likewise.
42181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42182 conf/i386-pc.rmk.
42183 (pkgdata_MODULES): Added default.mod and timeout.mod.
42184 (normal_mod_SOURCES): Added normal/context.c.
42185 (default_mod_SOURCES): New variable.
42186 (default_mod_CFLAGS): Likewise.
42187 (timeout_mod_SOURCES): Likewise.
42188 (timeout_mod_CFLAGS): Likewise.
42189
42190 * Makefile.in (all-local): Added $(MKFILES).
42191
4ed2e1dd 421922005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42193
42194 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42195 (grub_emu_SOURCES): Likewise.
42196 (pkgdata_MODULES): Add `sun.mod'.
42197 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42199 `partmap/sun.c'.
42200 (pkgdata_MODULES): Add `sun.mod'.
42201 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42202 * include/grub/partition.h (grub_sun_partition_map_init): New
42203 prototype.
42204 (grub_sun_partition_map_fini): Likewise.
42205 * partmap/sun.c: New file.
42206 * util/grub-emu.c (main): Initialize and de-initialize the sun
42207 partitionmap support.
42208
4d4e372e 422092005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42210
42211 This implements an Emacs-like menu entry editor.
f19dbdb7 42212
4d4e372e 42213 * normal/menu_entry.c: New file.
f19dbdb7 42214
4d4e372e 42215 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42216 characters to ASCII.
42217 (saved_char): New variable.
42218 (grub_ncurses_checkkey): Rewritten completely.
42219 (grub_ncurses_getkey): Likewise.
42220 (grub_ncurses_init): Call raw instead of cbreak.
42221
42222 * normal/menu.c (print_entry): Do not put a space.
42223 (init_page): Renamed to ...
42224 (grub_menu_init_page): ... this. All callers changed.
42225 (edit_menu_entry): Removed.
42226 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42227
42228 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42229
42230 * kern/misc.c (grub_vprintf): Call grub_refresh.
42231
42232 * normal/menu.c (DISP_LEFT): Renamed to ...
42233 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42234 * normal/menu.c (DISP_UP): Renamed to ...
42235 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42236 * normal/menu.c (DISP_RIGHT): Renamed to ...
42237 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42238 * normal/menu.c (DISP_DOWN): Renamed to ...
42239 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42240 * normal/menu.c (DISP_HLINE): Renamed to ...
42241 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42242 * normal/menu.c (DISP_VLINE): Renamed to ...
42243 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42244 * normal/menu.c (DISP_UL): Renamed to ...
42245 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42246 * normal/menu.c (DISP_UR): Renamed to ...
42247 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42248 * normal/menu.c (DISP_LL): Renamed to ...
42249 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42250 * normal/menu.c (DISP_LR): Renamed to ...
42251 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42252 * normal/menu.c (TERM_WIDTH): Renamed to ...
42253 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42254 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42255 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42256 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42257 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42258 * normal/menu.c (TERM_MARGIN): Renamed to ...
42259 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42260 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42261 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42262 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42263 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42264 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42265 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42266 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42267 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42268 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42269 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42270 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42271 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42272 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42273 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42274 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42275 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42276 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42277 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42278 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42279 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42280 All callers changed.
42281
42282 * include/grub/normal.h: New prototype.
42283
42284 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42285 normal/menu_entry.c.
42286 (normal_mod_SOURCES): Likewise.
42287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42288 (normal_mod_SOURCES): Likewise.
42289
e6b92c8a 422902005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42291
42292 * include/grub/normal.h (grub_halt_init): New prototype.
42293 (grub_halt_fini): Likewise.
42294 (grub_reboot_init): Likewise.
42295 (grub_reboot_fini): Likewise.
42296
42297 * util/grub-emu.c: Include signal.h.
42298 (main_env): New global variable.
42299 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42300 catch C-c.
42301 (grub_machine_fini): New function.
42302 (main): Call grub_halt_init and grub_reboot_init before
42303 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42304 Call setjmp with MAIN_ENV to go back afterwards.
42305 Call grub_machine_fini right before return.
42306
42307 * include/grub/util/misc.h: Include setjmp.h.
42308 (main_env): New prototype.
42309
42310 * include/grub/kernel.h (grub_machine_fini): New prototype.
42311 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42312 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42313
42314 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42315 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42316 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42317
e6b92c8a 42318 * util/i386/pc/misc.c: New file.
f19dbdb7 42319
e6b92c8a 42320 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42321 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42322 commands/i386/pc/reboot.c.
42323
c642636f 423242005-02-14 Guillem Jover <guillem@hadrons.org>
42325
42326 * include/grub/dl.h (grub_dl_check_header): New prototype.
42327 (grub_arch_dl_check_header): Change return type to grub_err_t,
42328 remove size parameter and export function. Update all callers.
42329 * kern/dl.c (grub_dl_check_header): New function.
42330 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42331 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42332 are inside the core.
42333 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42334 independent ELF header checks.
42335 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42336 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42337 `grub_dl_check_header' instead of explicit checks. Check for the
42338 ELF type.
42339 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42340 `grub_dl_check_header' instead of explicit checks. Remove arch
42341 specific ELF header checks.
42342
e6b92c8a 42343 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42344 argument SIZE.
42345
5eabe94b 423462005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42347
42348 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42349 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42350
1b14a681 423512005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42352
42353 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42354 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42355 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42356 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42357 * partmap/amiga.c (amiga_partition_map_iterate): Return
42358 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42359 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42360
aca108aa 423612005-02-01 Guillem Jover <guillem@hadrons.org>
42362
42363 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42364 help info.
42365
c9f9c556 423662005-01-31 Marco Gerards <metgerards@student.han.nl>
42367
42368 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42369 Removed prototype.
42370 (grub_rescue_cmd_linux): New prototype.
42371 (grub_rescue_cmd_initrd): Likewise.
42372 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42373 `bi_rec'.
42374 (grub_linux_release_mem): Release the memory for the initrd.
42375 (grub_load_linux): Renamed from this...
42376 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42377 Changed `entry' not to be static. Loop over memory regions to
42378 find another one when the default fails.
42379 (grub_rescue_cmd_initrd): New function.
42380 (grub_linux_init): Remove function.
42381 (grub_linux_fini): Likewise.
42382 (GRUB_MOD_INIT): Register `initrd'.
42383 (GRUB_MOD_FINI): Unregister `initrd'.
42384 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42385 Function removed.
42386 (grub_linux_normal_fini): Likewise.
42387 (GRUB_MOD_INIT): Register `initrd'.
42388 (GRUB_MOD_FINI): Unregister `initrd'.
42389
990cf3aa 423902005-01-31 Marco Gerards <metgerards@student.han.nl>
42391
42392 * commands/help.c: New file.
42393 * normal/arg.c (show_help): Renamed to...
42394 (grub_arg_show_help): ... this.
42395 * commands/i386/pc/halt.c: New file.
42396 * commands/i386/pc/reboot.c: Likewise.
42397 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42398 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42399 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42400 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42401 variables.
42402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42403 `commands/help.c'.
42404 (pkgdata_MODULES): Add `help.mod'.
42405 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42406 * grub/i386/pc/init.h (grub_reboot): New prototype.
42407 (grub_halt): Likewise.
42408 * include/grub/normal.h (grub_arg_show_help): New prototype.
42409 (grub_help_init): Likewise.
42410 (grub_help_fini): Likewise.
42411 * util/grub-emu.c (main): Initialize and deinitialize the help
42412 command.
42413
42414 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42415
42416 * normal/command.c (grub_command_init): Fixed the description of
42417 the `set' and `unset' commands.
42418
424192005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42420
42421 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42422 function.
42423 * commands/ieee1275/halt.c: New file.
42424 * commands/ieee1275/reboot.c: Likewise.
42425 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42426 `__attribute__ ((unused))'. Some GCS related fixed.
42427 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42428 (grub_suspend_fini): Likewise.
42429 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42430 and `halt.mod'.
42431 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42432 (halt_mod_CFLAGS): New variables.
42433 * include/grub/powerpc/ieee1275/ieee1275.h
42434 (grub_ieee1275_interpret): New prototype.
42435
1ab09cc7 424362005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42437
42438 * include/grub/misc.h (memmove): New prototype.
42439 (memcpy): Likewise.
42440
8b8cbdb2 424412005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42442
42443 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42444 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42445
e3741a27 424462005-01-22 Marco Gerards <metgerards@student.han.nl>
42447
42448 * kern/misc.c (grub_strndup): Function rewritten.
42449
776bd780 424502005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42451
42452 * normal/menu.c (TERM_WIDTH): Macro redefined.
42453 (TERM_TOP_BORDER_Y): Likewise.
42454 (draw_border): Replaced while-loop by a for-loop. Make the number
42455 of lines consistent with the number of lines displayed in
42456 print_entries. Added a margin below the rectangle.
42457 (print_entry): Make the entry fit in the rectangle.
42458 (print_entries): Display the scroll arrows next to the right
42459 border.
42460
78026bce 424612005-01-21 Marco Gerards <metgerards@student.han.nl>
42462
42463 * fs/minix.c (grub_minix_find_file): Reserve more space for
42464 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42465 `grub_strncpy' to copy `path' into it.
42466
67bbaf0f 424672005-01-21 Marco Gerards <metgerards@student.han.nl>
42468
42469 Add the loopback device, a device via which files can be accessed
42470 as devices.
f19dbdb7 42471
67bbaf0f 42472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42473 (pkgdata_MODULES): Add loopback.mod.
42474 (loopback_mod_SOURCES): New variable.
42475 (loopback_mod_CFLAGS): Likewise.
42476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42477 `disk/loopback.c'.
42478 (pkgdata_MODULES): Add loopback.mod.
42479 (loopback_mod_SOURCES): New variable.
42480 (loopback_mod_CFLAGS): Likewise.
42481 * disk/loopback.c: new file.
42482 * include/grub/normal.h (grub_loop_init): New prototype.
42483 (grub_loop_fini): New prototype.
42484 * util/grub-emu.c (main): Initialize and de-initialize loopback
42485 support.
42486 * include/grub/disk.h (grub_disk_dev_id): Add
42487 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42488
6f1c18bd 424892005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42490
42491 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42492 function.
42493 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42494 (suspend_mod_SOURCES): New variable.
42495 (suspend_mod_CFLAGS): Likewise.
42496 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42497 New prototype.
42498 * commands/ieee1275/suspend.c: New file.
42499
b38551da 425002005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42501
42502 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42503 ((unused))' to `__attribute__ ((used))'.
b38551da 42504 (GRUB_MOD_FINI): Likewise.
42505 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42506 * genmk.rb (PModule): Assign space to common symbols when linking
42507 modules.
42508
777aff39 425092005-01-20 Marco Gerards <metgerards@student.han.nl>
42510
42511 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42512 `unsigned' arguments to `grub_size_t'.
42513 (grub_malloc): Likewise.
42514 (grub_realloc): Likewise.
42515 (grub_memalign): Likewise.
42516 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42517 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42518 * util/misc.c (grub_malloc): Likewise.
42519 (grub_realloc): Likewise.
42520 * kern/mm.c (get_header_from_pointer): Change the casts to
42521 `unsigned' into a cast to `grub_size_t'.
42522
42523 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42524 point to `currnode' when `currnode' is changed.
42525
42526 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42527 Schottelius <nico-linux@schottelius.org>.
42528
d0ff18e1 425292005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42530
42531 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42532 (note_path): Remove variable.
42533 (GRUB_IEEE1275_NOTE_NAME): New macro.
42534 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42535 (grub_ieee1275_note_hdr): New structure.
42536 (grub_ieee1275_note_desc): Likewise.
42537 (grub_ieee1275_note): Likewise.
42538 (load_note): Remove `dir' argument. All callers updated. Remove
42539 `note_img' and `path'. Do not load a file from `note_path'.
42540 Initialize a struct grub_ieee1275_note and write that to `out'.
42541 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42542
4ca7004c 425432005-01-05 Marco Gerards <metgerards@student.han.nl>
42544
42545 * util/misc.c (grub_util_read_image): Revert last change. It
42546 called `grub_util_read_at', which seeks from the beginning of the
42547 file.
42548
0b412211 425492005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42550
42551 * TODO: Add note about endianness in grub-mkimage.
42552 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42553 section.
42554 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42555 (grub_mkimage_SOURCES): New target.
42556 * include/grub/kernel.h (grub_start_addr): Remove variable.
42557 (grub_end_addr): Likewise.
42558 (grub_total_module_size): Likewise.
42559 (grub_kernel_image_size): Likewise.
42560 (GRUB_MODULE_MAGIC): New constant.
42561 (grub_module_info): New structure.
42562 (grub_arch_modules_addr): New prototype.
42563 (grub_get_end_addr): Remove prototype.
42564 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42565 * include/grub/powerpc/ieee1275/kernel.h: New file.
42566 * include/grub/util/misc.h (grub_util_get_fp_size): New
42567 prototype.
42568 (grub_util_read_at): Likewise.
42569 (grub_util_write_image_at): Likewise.
42570 * kern/main.c (grub_get_end_addr): Remove function.
42571 (grub_load_modules): Call grub_arch_modules_addr instead of using
42572 grub_end_addr. Look for a grub_module_info struct in memory. Use
42573 the grub_module_info fields instead of calling grub_get_end_addr
42574 as loop conditions. Move grub_add_unused_region code here.
42575 (grub_add_unused_region): Remove function.
42576 * kern/i386/pc/init.c: Include grub/cache.h.
42577 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42578 one call to add_mem_region.
42579 (grub_arch_modules_addr): New function.
42580 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42581 (grub_total_module_size): Likewise.
42582 Include grub/machine/kernel.h.
42583 (grub_arch_modules_addr): New function.
42584 * util/grub-emu.c (grub_end_addr): Remove variable.
42585 (grub_total_module_size): Likewise.
42586 (grub_arch_modules_addr): New function.
42587 * util/misc.c: Include unistd.h.
42588 (grub_util_get_fp_size): New function.
42589 (grub_util_read_at): Likewise.
42590 (grub_util_write_image_at): Likewise.
42591 (grub_util_read_image): Call grub_util_read_at.
42592 (grub_util_write_image): Call grub_util_write_image_at.
42593 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42594 additional memory in kernel_img for a struct grub_module_info.
42595 Fill in that grub_module_info.
42596 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42597
458786f8 425982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42599
42600 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42601 New function.
42602 * include/grub/powerpc/ieee1275/ieee1275.h
42603 (grub_ieee1275_milliseconds): New prototype.
42604 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42605 Change to 1000.
42606 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42607 grub_ieee1275_milliseconds.
42608
ac507d1b 426092005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42610
42611 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42612 variable.
42613 (find_options): New function.
42614 (cmain): Call find_options.
42615 * include/grub/powerpc/ieee1275/ieee1275.h
42616 (grub_ieee1275_realmode): New extern variable.
42617 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42618 grub_map if grub_ieee1275_realmode is false.
42619
6b8fd1c4 426202004-12-29 Marco Gerards <metgerards@student.han.nl>
42621
42622 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42623 lines are inserted and make it work like readline. Reported by
42624 Vincent Pelletier <subdino2004@yahoo.fr>.
42625
8514a1e0 426262004-12-28 Marco Gerards <metgerards@student.han.nl>
42627
42628 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42629
42630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42631 `kern/powerpc/cache.S'.
42632
924b6140 426332004-12-27 Marco Gerards <metgerards@student.han.nl>
42634
42635 * genmk.rb: Handle the `Program' class in the main loop. Written
42636 by Johan Rydberg <jrydberg@gnu.org>.
42637 (Program): New class.
42638 (programs): New variable.
42639 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42640 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42641 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42642 (help_arch): Function removed.
42643 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42644 `powerpc/libgcc.h' and `loader.h'.
42645 (pkgdata_PROGRAMS): New variable.
42646 (sbin_UTILITIES): Variable removed.
42647 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42648 (grubof_SOURCES): Variable re-defined so it only includes the
42649 core functionality.
42650 (grubof_CFLAGS): Remove `-DGRUBOF'.
42651 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42652 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42653 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42654 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42655 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42656 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42657 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42658 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42659 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42660 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42661 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42662 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42663 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42664 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42665 (pc_mod_CFLAGS): New variables.
42666 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42667 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42668 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42669 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42670 Moved from here...
42671 * include/grub/i386/pc/init.h (grub_os_area_addr)
42672 (rub_os_area_size): ... to here.
42673 * include/grub/powerpc/ieee1275/ieee1275.h
42674 (grub_ieee1275_entry_fn): Export symbol.
42675 * include/grub/powerpc/ieee1275/init.h: New file.
42676 * include/grub/powerpc/libgcc.h: Likewise.
42677 * include/grub/cache.h: Likewise.
42678 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42679 <hollis@penguinppc.org>.
42680 * kern/dl.c: Include <grub/cache.h>.
42681 (grub_dl_flush_cache): New function.
42682 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42683 for this module.
42684 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42685 (grub_console_init): Removed prototypes.
42686 (grub_machine_init): Don't initialize the modules anymore.
42687 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42688 static.
42689 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42690 Macro undef removed.
42691 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42692 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42693 relocation `R_PPC_REL32'. Return an error when the relocation is
42694 unknown.
42695 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42696 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42697 * util/misc.c (grub_arch_sync_caches): Likewise.
42698
e4b47e0c 426992004-12-19 Marco Gerards <metgerards@student.han.nl>
42700
42701 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42702 `symlist.c', add `grubof_symlist.c'.
42703 (symlist.c): Variable removed.
42704 (grubof_HEADERS): Variable added.
42705 (grubof_symlist.c): New target.
42706 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42707 `kernel_img_HEADERS'.
42708 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42709 * kern/powerpc/dl.c: New file.
42710 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42711 Function removed.
42712 (grub_arch_dl_relocate_symbols): Likewise.
42713 (grub_register_exported_symbols): Likewise.
42714
4ceb3636 427152004-12-13 Marco Gerards <metgerards@student.han.nl>
42716
42717 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42718 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42719 to fail instead. Reported by Vincent Pelletier
42720 <subdino2004@yahoo.fr>.
42721
42722 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42723 it is not allocated. Reported by Vincent Pelletier
42724 <subdino2004@yahoo.fr>.
42725
42726 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42727 output so the output looks better.
f19dbdb7 42728
3f1578fe 427292004-12-04 Marco Gerards <metgerards@student.han.nl>
42730
42731 Modulize the partition map support and add support for the amiga
42732 partition map.
f19dbdb7 42733
3f1578fe 42734 * commands/ls.c: Include <grub/partition.h> instead of
42735 <grub/machine/partition.h>.
42736 * kern/disk.c: Likewise.
42737 * kern/rescue.c: Likewise.
42738 * loader/i386/pc/chainloader.c: Likewise.
42739 * normal/cmdline.c: Likewise.
42740 * kern/powerpc/ieee1275/init.c: Likewise.
42741 (grub_machine_init): Call `grub_pc_partition_map_init',
42742 `grub_amiga_partition_map_init' and
42743 `grub_apple_partition_map_init'.
42744 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42745 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42746 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42747 `partition.h' and `pc_partition.h'.
42748 (grub_setup_SOURCES): Remove
42749 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42750 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42751 (grub_emu_SOURCES): Likewise.
42752 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42753 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42754 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42756 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42757 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42758 (grubof_SOURCES): Likewise.
42759 * disk/i386/pc/partition.c: File removed.
42760 * disk/powerpc/ieee1275/partition.c: Likewise.
42761 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42762 * include/grub/i386/pc/partition.h: Likewise.
42763 * kern/partition.c: New file.
42764 * partmap/amiga.c: Likewise.
42765 * partmap/apple.c: Likewise.
42766 * partmap/pc.c: Likewise.
42767 * include/grub/partition.h: Likewise..
42768 * include/grub/pc_partition.h: Likewise.
42769 * util/grub-emu.c: Include <grub/partition.h> instead of
42770 <grub/machine/partition.h>.
42771 (main): Call `grub_pc_partition_map_init',
42772 `grub_amiga_partition_map_init' and
42773 `grub_apple_partition_map_init' and deinitialize afterwards.
42774 * util/i386/pc/biosdisk.c: Include `#include
42775 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42776 `<grub/machine/partition.h>'.
42777 * util/i386/pc/grub-setup.c: Likewise.
42778 * util/i386/pc/biosdisk.c: Likewise.
42779 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42780 partition information in case of a PC partition.
42781 * util/i386/pc/grub-setup.c: Include `#include
42782 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42783 `<grub/machine/partition.h>'.
42784 (setup): Only access the PC specific partition information in case
42785 of a PC partition.
42786
0ef4ced9 427872004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42788
0ef4ced9 42789 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42790 (grub_longjmp): Likewise.
42791 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42792 20.
42793 * normal/powerpc/setjmp.S: New file.
42794 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42795 `normal/powerpc/setjmp.S'.
42796 (grubof_CFLAGS): Add `-DGRUBOF'.
42797 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42798 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42799
19950e29 428002004-11-16 Marco Gerards <metgerards@student.han.nl>
42801
42802 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42803 property named `name'. Correctly handle the error returned by
42804 `grub_ieee1275_finddevice' if a device can not be opened.
42805
a2fea427 428062004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42807
42808 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42809 `actual' for negativity.
42810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42811 kern/fshelp.c.
42812
41ea0ea3 428132004-11-01 Marco Gerards <metgerards@student.han.nl>
42814
42815 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42816 (PAGE_OFFSET): New macro.
42817 (CRTC_ADDR_PORT): Likewise.
42818 (CRTC_DATA_PORT): Likewise.
42819 (START_ADDR_HIGH_REGISTER): Likewise.
42820 (START_ADDR_LOW_REGISTER): Likewise.
42821 (GRAPHICS_ADDR_PORT): Likewise.
42822 (GRAPHICS_DATA_PORT): Likewise.
42823 (READ_MAP_REGISTER): Likewise.
42824 (INPUT_STATUS1_REGISTER): Likewise.
42825 (INPUT_STATUS1_VERTR_BIT): Likewise.
42826 (page): New variable.
42827 (wait_vretrace): New function.
42828 (set_read_map): Likewise.
42829 (set_start_address): Likewise.
42830 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42831 the right page.
42832 (check_vga_mem): Take the page into account.
42833 (write_char): Likewise.
42834 (write_cursor): Likewise.
42835 (scroll_up): Likewise. Copy the page to the page that is not
42836 shown and switch between both pages.
42837 (grub_vga_putchar): Fix off by one error.
42838 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42839 account.
42840
ad0bd20b 428412004-11-01 Marco Gerards <metgerards@student.han.nl>
42842
42843 Add support for iso9660 (including rockridge).
f19dbdb7 42844
ad0bd20b 42845 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42846 (iso9660_mod_SOURCES): New variable.
42847 (iso9660_mod_CFLAGS): Likewise.
42848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42849 * include/grub/fs.h (grub_iso9660_init): New prototype.
42850 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42851 * fs/iso9660.c: New file.
42852
42853 * include/grub/misc.h (grub_strncat): New prototype.
42854 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42855
ad0bd20b 42856 * fs/hfs.c (grub_hfs_mount): Translate the error
42857 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42858 * fs/jfs.c (grub_jfs_mount): Likewise.
42859 * fs/ufs.c (grub_ufs_mount): Likewise.
42860
a5477a59 428612004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42862
42863 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42864 which initialized BAT registers.
42865 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42866 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42867 Move from here...
42868 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42869 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42870 ... to here.
42871 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42872 (grub_mapclaim): Likewise.
42873 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42874 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42875 hand.
42876
9304c1f8 428772004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42878
42879 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42880 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42881 -ffreestanding and -msoft-float.
42882
86f4ae25 428832004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42884
42885 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42886 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42887 set in grub_ieee1275_flags.
42888
38912228 428892004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42890
42891 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42892 prototype.
42893 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42894 grub_console_init first.
42895 Change the memory range used for grub_ieee1275_claim and
42896 grub_mm_init_region.
42897 Print an error message if the claim fails.
42898 Include <grub/misc.h>.
42899
d1923dc8 429002004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42901
42902 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42903 Call grub_children_iterate for device nodes of type `scsi',
42904 `ide', or `ata'.
42905 (grub_ofdisk_open): Remove manual device alias resolution.
42906 Fix memory leak when device cannot be opened.
f19dbdb7 42907 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42908 (grub_children_iterate): New prototype.
42909 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42910 New function.
42911 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42912 Return -1 if args.size was -1.
42913
4512e4f3 429142004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42915
42916 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42917 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42918 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42919 Open Firmware's memory for it; claim memory from _start to _end.
42920 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42921 (_end): New extern.
42922 (_start): Zero BSS from __bss_start to _end.
42923 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42924 New extern.
42925 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42926
4d61feb0 429272004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42928
ad0bd20b 42929 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42930 -1 if args.base was -1.
4d61feb0 42931
026fa2f9 429322004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42933
42934 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42935 escape sequence instead of a literal ^L. Also call
42936 grub_ofconsole_gotoxy.
42937
9f2220ef 429382004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42939
42940 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42941 void * arguments to grub_addr_t. All callers updated. Also make
42942 the `result' argument optional.
42943 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42944 All callers updated.
42945
8a572cd7 429462004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42947
42948 * commands/ls.c (grub_ls_list_files): Use the string following the
42949 initial ')', if present, as the filesystem path.
42950 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42951
42952 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42953
18aa81f2 429542004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42955
42956 Make the source code of the menu interface more readable.
f19dbdb7 42957
18aa81f2 42958 * normal/menu.c: Include grub/mm.h.
42959 (TERM_WIDTH): New macro.
42960 (TERM_HEIGHT): Likewise.
42961 (TERM_INFO_HEIGHT): Likewise.
42962 (TERM_MARGIN): Likewise.
42963 (TERM_SCROLL_WIDTH): Likewise.
42964 (TERM_TOP_BORDER_Y): Likewise.
42965 (TERM_LEFT_BORDER_X): Likewise.
42966 (TERM_BORDER_WIDTH): Likewise.
42967 (TERM_MESSAGE_HEIGHT): Likewise.
42968 (TERM_BORDER_HEIGHT): Likewise.
42969 (TERM_NUM_ENTRIES): Likewise.
42970 (TERM_FIRST_ENTRY_Y): Likewise.
42971 (TERM_ENTRY_WIDTH): Likewise.
42972 (TERM_CURSOR_X): Likewise.
42973 (draw_border): Use macros instead of magic numbers.
42974 (print_entry): Likewise.
42975 (print_entries): Likewise.
42976 (run_menu): Likewise. Also, handle the key 'e'.
42977 (run_menu_entry): Ignore empty command lines.
42978 (print_message): Added a new argument EDIT. If EDIT is true,
42979 print a different message.
42980 (init_page): Likewise.
42981 (edit_menu_entry): New function. Not implemented yet.
42982
b47efe30 429832004-09-17 Marco Gerards <metgerards@student.han.nl>
42984
42985 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42986 can be loaded from normal mode.
f19dbdb7 42987
b47efe30 42988 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42989 `multiboot.mod'.
42990 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42991 (multiboot_mod_CFLAGS): New variables.
42992 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42993 * loader/i386/pc/multiboot_normal.c: Likewise.
42994
b47efe30 42995 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42996 attribute `unused'.
f19dbdb7 42997
b47efe30 42998 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42999 `fdiro' to read the mode information from instead of `diro'.
43000
43001 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43002 looking up a symlink.
43003
43004 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43005 macro.
43006 * normal/command.c (grub_command_execute): Don't parse the
43007 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43008 flags of the command.
43009
43010 * normal/menu.c (grub_menu_run): Fix typo.
43011
da75ac71 430122004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43013
43014 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43015
43016 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43017 `y + 1' instead of `y - 1'.
43018
43019 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43020
062b24c2 430212004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43022
43023 From Hollis Blanchard <hollis@penguinppc.org>:
43024 * kern/misc.c (memmove): New alias for grub_memmove.
43025 (memcmp): New alias for grub_memcmp.
43026 (memset): New alias for grub_memset.
f19dbdb7 43027 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43028 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43029 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43030 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43031
8ddad845 430322004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43033
43034 Added normal mode command `chainloader' as module chain.mod, which
43035 depends on normal.mod and _chain.mod.
f19dbdb7 43036
8ddad845 43037 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43038 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43039 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43040 Deleted prototype.
43041 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43042 but arguments parsing moved to ...
43043 (grub_chainloader_cmd): ... here. New function.
43044 * include/grub/i386/pc/chainloader.h: New file.
43045 * loader/i386/pc/chainloader_normal.c: Likewise.
43046
2c1f4ce3 430472004-09-11 Marco Gerards <metgerards@student.han.nl>
43048
43049 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43050 (grub_mkimage_LDFLAGS): Likewise.
43051 (grub_emu_SOURCES): Likewise.
43052 (kernel_img_HEADERS): Added fshelp.h.
43053 * fs/ext2.c: Include <grub/fshelp.h>.
43054 (FILETYPE_REG): New macro.
43055 (FILETYPE_INO_REG): Likewise.
43056 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43057 Changed all users.
43058 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43059 all users.
43060 (grub_fshelp_node): New struct.
43061 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43062 to a pointer.
43063 (grub_ext2_get_file_block): Removed function.
43064 (grub_ext2_read_block): New function.
43065 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43066 This function was written.
43067 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43068 (grub_ext2_find_file): Removed function.
43069 (grub_ext2_read_symlink): New function.
43070 (grub_ext2_iterate_dir): Likewise.
43071 (grub_ext2_open): Rewritten.
43072 (grub_ext2_dir): Rewritten.
43073 * include/grub/fshelp.h: New file.
43074 * fs/fshelp.c: Likewise.
43075
3c52136a 430762004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43077
43078 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43079 (print_message): Add a missing newline.
43080 (run_menu): Added timeout support.
43081 (run_menu_entry): New local function.
43082 (grub_menu_run): Added support for booting.
43083
43084 * kern/loader.c (grub_loader_is_loaded): New function.
43085
43086 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43087 (grub_get_rtc): Exported.
43088
43089 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43090 (grub_get_rtc): Exported.
43091
43092 * include/grub/normal.h (struct grub_command_list): Remove
43093 constant from the member `command'.
43094
43095 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43096
43097 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43098
43099 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43100
aa033560 431012004-08-28 Marco Gerards <metgerards@student.han.nl>
43102
43103 Add support for the JFS filesystem.
43104
43105 * fs/jfs.c: New file.
43106 * include/grub/fs.h (grub_jfs_init): New prototype.
43107 (grub_jfs_fini): New prototype.
43108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43109 (grub_emu_SOURCES): Likewise.
43110 (pkgdata_MODULES): Add jfs.mod.
43111 (jfs_mod_SOURCES): New variable.
43112 (jfs_mod_CFLAGS): Likewise.
43113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43114 (grubof_SOURCES): Likewise.
43115 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43116
43117 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43118 endian to the host endian.
43119 (grub_fat_utf16_to_utf8): Move function from there...
43120 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43121 the endianness of the source string anymore.
aa033560 43122 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43123
94bc45af 431242004-08-24 Marco Gerards <metgerards@student.han.nl>
43125
43126 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43127 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43128 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43129 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43130
94bc45af 43131 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43132 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43133 for `node_found' and `it_dir'.
43134 (grub_hfs_dir): Add prototype for `dir_hook'.
43135
43136 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43137 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43138 and `indir32' to silence a gcc warning.
43139
43140 * include/grub/fs.h (grub_hfs_init): New prototype.
43141 (grub_hfs_fini): Likewise.
f19dbdb7 43142
43143
97543f08 431442004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43145
43146 Each disk device has its own id now. This is useful to make use
43147 of multiple disk devices.
f19dbdb7 43148
97543f08 43149 * include/grub/disk.h (grub_disk_dev_id): New enum.
43150 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43151 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43152
43153 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43154 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43155
43156 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43157 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43158
43159 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43160 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43161
43162 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43163 "id" which is used by the cache manager.
43164
43165 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43166 of just "GRUB".
43167
64372eb4 431682004-08-18 Marco Gerards <metgerards@student.han.nl>
43169
43170 * fs/hfs.c: New file.
43171 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43172 (grub_emu_SOURCES): Likewise.
43173 (pkgdata_MODULES): Add hfs.mod.
43174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43175 (grubof_SOURCES): Likewise.
43176 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43177
43178 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43179 * kern/misc.c (grub_strncasecmp): Add function.
43180
cc61b58f 431812004-08-14 Marco Gerards <metgerards@student.han.nl>
43182
43183 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43184 with parentheses.
43185
43186 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43187 (grub_ext2_dir): In case the directory entry type is unknown, read
43188 it from the inode.
43189
0ef123f6 431902004-08-02 Peter Bruin <pjbruin@dds.nl>
43191
43192 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43193 grub_load_linux instead of grub_rescue_cmd_linux as second
43194 argument of grub_rescue_register_command.
43195
43196 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43197
a447c5df 431982004-07-27 Marco Gerards <metgerards@student.han.nl>
43199
43200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43201 function.
43202 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43203 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43204 `loader/powerpc/ieee1275/linux.c',
43205 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43206 * include/grub/powerpc/ieee1275/ieee1275.h
43207 (grub_ieee1275_release): New prototype.
43208 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43209 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43210 normal, boot, linux and linux_normal.
43211 * loader/powerpc/ieee1275/linux.c: New file.
43212 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43213
5a9e3546 432142004-07-12 Marco Gerards <metgerards@student.han.nl>
43215
43216 * normal/arg.c (grub_arg_parse): Correct error handling after
43217 reallocating the argumentlist (check if `argl' is not null instead
43218 of checking if `args' is not null).
43219 * kern/mm.c (grub_realloc): Return the same pointer when using the
43220 same region, instead of returning the header address.
43221
e15199cb 432222004-07-11 Marco Gerards <metgerards@student.han.nl>
43223
43224 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43225 one block instead of two when looking for the initial partition.
43226 (grub_partition_probe): Initialize the local variable `p' with 0.
43227 Use base 10 for the grub_strtoul call.
43228 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43229 need for one local variable.
43230 (grub_strtoul): Don't add the new value to `num', instead of that
43231 just assign it.
43232
020616c2 432332004-07-11 Marco Gerards <metgerards@student.han.nl>
43234
43235 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43236 (pxeboot_img_SOURCES): New variable.
43237 (pxeboot_img_ASFLAGS): Likewise.
43238 (pxeboot_img_LDFLAGS): Likewise.
43239 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43240 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43241 <lode_leroy@hotmail.com>.
43242
6c51eb64 432432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43244
43245 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43246 there was no input.
43247
cfb12aff 432482004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43249
43250 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43251 the history buffer logic.
43252
6eabba74 432532004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43254
43255 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43256 (FILETYPE_INO_SYMLINK): New macros.
43257 (grub_ext2_find_file): Check if the node is a directory using the
43258 inode stat information instead of using the filetype in the
43259 dirent. Exclude the first character of an absolute symlink.
43260 (grub_ext2_dir): Mask out the filetype part of the mode member of
43261 the inode.
43262
66e19ef8 432632004-05-24 Marco Gerards <metgerards@student.han.nl>
43264
43265 Add support for UFS version 1 and 2. Add support for the minix
43266 filesystem version 1 and 2, both the variants with 14 and 30 long
43267 filenames.
f19dbdb7 43268
66e19ef8 43269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43270 fs/minix.c.
43271 (grub_emu_SOURCES): Likewise.
43272 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43273 (ufs_mod_SOURCES): New variable.
43274 (ufs_mod_CFLAGS): Likewise.
43275 (minix_mod_SOURCES): Likewise.
43276 (minix_mod_CFLAGS): Likewise.
43277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43278 fs/minix.c.
43279 (grubof_SOURCES): Likewise.
43280 * fs/ufs.c: New file.
43281 * fs/minix.c: New file.
43282 * include/grub/fs.h (grub_ufs_init): New prototype.
43283 (grub_ufs_fini): Likewise.
43284 (grub_minix_init): Likewise.
43285 (grub_minix_fini): Likewise.
43286 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43287 minix fs.
43288
cc2e748a 432892004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43290
43291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43292 commands/ls.c, commands/terminal.c, commands/boot.c,
43293 commands/cmp.c and commands/cat.c.
43294 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43295
43296 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43297 "env.h"
43298
4b13b216 432992004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43300
43301 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43302 and grub_, respectively. Because the conversion is trivial and
43303 mechanical, I omit the details here. Please refer to the CVS
43304 if you need more information.
43305
6a142551 433062004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43307
43308 * include/pupa: Renamed to ...
43309 * include/grub: ... this.
43310 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43311 * util/i386/pc/grub-mkimage.c: ... this.
43312 * util/i386/pc/pupa-setup.c: Renamed to ...
43313 * util/i386/pc/grub-setup.c: ... this.
43314 * util/pupa-emu.c: Renamed to ...
43315 * util/grub-emu.c: ... this.
43316
e56cdf21 433172004-03-29 Marco Gerards <metgerards@student.han.nl>
43318
43319 Add support for the newworld apple macintosh (PPC). This has been
43320 tested on the powerbook 2000 only. It only adds support for
43321 generic ieee1275 functions, console and disk support. This should
43322 be easy to port to other architectures with support for Open
43323 Firmware.
f19dbdb7 43324
e56cdf21 43325 * configure.ac: Accept the powerpc as host_cpu. In the case of
43326 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43327 specific tests are only executed while building for the i386.
43328 Inverse test for crosscompile.
43329 * genmk.rb (Utility): Allow assembler files.
43330 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43331 * conf/powerpc-ieee1275.rmk: New file.
43332 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43333 * disk/powerpc/ieee1275/partition.c: Likewise.
43334 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43335 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43336 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43337 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43338 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43339 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43340 * include/pupa/powerpc/ieee1275/loader.h
43341 * include/pupa/powerpc/setjmp.h: Likewise.
43342 * include/pupa/powerpc/types.h: Likewise.
43343 * kern/powerpc/ieee1275/init.c: Likewise.
43344 * kern/powerpc/ieee1275/openfw.c: Likewise.
43345 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43346
43347 These files were written by Johan Rydberg
43348 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43349
e56cdf21 43350 * boot/powerpc/ieee1275/cmain.c: New file.
43351 * boot/powerpc/ieee1275/crt0.S: Likewise.
43352 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43353 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43354
8c8cc205 433552004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43356
43357 * Makefile.in: Update copyright.
43358 * genmodsrc.sh: Likewise.
43359 * gensymlist.sh: Likewise.
43360 * term/i386/pc/vga.c: Indent correctly.
43361
43362 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43363 bugreporting address.
43364 * util/i386/pc/pupa-setup.c (usage): Likewise,
43365 (main): Call pupa_ext2_init and pupa_ext2_fini.
43366
f19dbdb7 43367 * fs/fat.c (log2): Renamed to ...
8c8cc205 43368 (fat_log2): ... this.
43369 All callers changed.
43370 * kern/misc.c (memcpy): Alias to pupa_memmove.
43371 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43372 lvalue cast.
43373 * util/console.c (pupa_ncurses_fini): Return 0.
43374
43375 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43376 Move fail label here.
43377 [__GNU__]: Don't warn when using stat.
43378 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43379 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43380 long int. Use strtol instead of strtoul.
f19dbdb7 43381
db1771cf 433822004-03-14 Marco Gerards <metgerards@student.han.nl>
43383
43384 * commands/boot.c: New file.
43385 * commands/cat.c: Likewise.
43386 * commands/cmp.c: Likewise.
43387 * commands/ls.c: Likewise.
43388 * commands/terminal.c: Likewise.
43389 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43390 (pupa_register_command): Changed interface to match the new
43391 argument parser.
43392 (pupa_command_execute): Changed (almost rewritten) so it uses
43393 pupa_split_command. Added support for setting variables using the
43394 syntax `foo=bar'.
43395 (rescue_command): Changed to work with the new argument parser.
43396 (terminal_command): Moved from here to commands/terminal.c.
43397 (set_command): New function.
43398 (unset_command): New function.
43399 (insmod_command): New function.
43400 (rmmod_command): New function.
43401 (lsmod_command): New function.
43402 (pupa_command_init): Don't initialize the command terminal
43403 anymore. Initialize the commands set, unset, insmod, rmmod and
43404 lsmod.
43405 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43406 (kernel_img_HEADERS): Add arg.h and env.h.
43407 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43408 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43409 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43410 normal/arg.c.
43411 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43412 terminal.mod.
43413 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43414 (boot_mod_SOURCES): New variable.
43415 (terminal_mod_SOURCES): Likewise.
43416 (ls_mod_SOURCES): Likewise.
43417 (cmp_mod_SOURCES): Likewise.
43418 (cat_mod_SOURCES): Likewise.
43419
43420 * normal/arg.c: New file.
43421 * kern/env.c: Likewise.
43422 * include/pupa/arg.h: Likewise.
43423 * include/pupa/env.h: Likewise.
43424 * font/manager.c (font_command): Changed to match argument parsing
43425 interface changes.
43426 (PUPA_MOD_INIT): Likewise.
43427 * hello/hello.c (pupa_cmd_hello): Likewise.
43428 (PUPA_MOD_INIT): Likewise.
43429 * include/pupa/disk.h: Include <pupa/device.h>.
43430 (pupa_print_partinfo): New prototype.
43431 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43432 (pupa_dl_get_prefix): Likewise.
43433 * include/pupa/misc.h: Include <pupa/err.h>.
43434 (pupa_isgraph): New prototype.
43435 (pupa_isdigit): Likewise.
43436 (pupa_split_cmdline): Likewise.
43437 * include/pupa/normal.h: Include <pupa/arg.h>.
43438 (pupa_command): Changed the prototype of the member `func' to
43439 match the argument parsing interface. Added member `options'.
43440 (pupa_register_command): Updated to match function.
43441 (pupa_arg_parse): New prototype.
43442 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43443 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43444 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43445 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43446 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43447 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43448 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43449 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43450 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43451 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43452 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43453 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43454 * kern/disk.c: Include <pupa/file.h>.
43455 (pupa_print_partinfo): New function.
43456 * kern/dl.c: Include <pupa/env.h>.
43457 (pupa_dl_dir): Variable removed.
43458 (pupa_dl_load): Use the environment variable `prefix' instead of
43459 the variable pupa_dl_dir.
43460 (pupa_dl_set_prefix): Function removed.
43461 (pupa_dl_get_prefix): Likewise.
43462 * kern/i386/pc/init.c: Include <pupa/env.h>.
43463 (pupa_machine_init): Use the environment variable `prefix' instead of
43464 using pupa_dl_set_prefix to set the prefix.
43465 * kern/main.c: Include <pupa/env.h>.
43466 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43467 using pupa_dl_get_prefix to get the prefix.
43468 * kern/misc.c: Include <pupa/env.h>.
43469 (pupa_isdigit): New function.
43470 (pupa_isgraph): Likewise.
43471 (pupa_ftoa): Likewise.
43472 (pupa_vsprintf): Added support for printing values of the type
43473 `double'. Make it possible to format variable output when using
43474 formatting like `%1.2%f'.
43475 (pupa_split_cmdline): New function.
43476 * kern/rescue.c: Include <pupa/env.h>.
43477 (next_word): Removed function.
43478 (pupa_rescue_cmd_prefix): Likewise.
43479 (pupa_rescue_cmd_set): New function.
43480 (pupa_rescue_cmd_unset): New function.
43481 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43482 split the command line instead of splitting it here. Added
43483 support for setting variables using the syntax `foo=bar'. Don't
43484 initialize the prefix command anymore. Initialized the set and
43485 unset commands.
43486 * normal/cmdline.c: Include <pupa/env.h>.
43487 (pupa_tab_complete): Added prototypes for print_simple_completion,
43488 print_partition_completion, add_completion, iterate_commands,
43489 iterate_dev, iterate_part and iterate_dir. Moved code to print
43490 partition information from here to kern/disk.c.
fe6b695a 43491 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43492 * normal/main.c: Include <pupa/env.h>.
43493 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43494 instead of using pupa_dl_get_prefix to get the prefix.
43495 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43496 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43497 warning.
43498 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43499 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43500 ((unused))' to silence a gcc warning.
43501 (pupa_vga_setcolor): Likewise.
43502 (debug_command): Changed to match argument parsing
43503 interface changes.
43504 * util/pupa-emu.c: Include <pupa/env.h>.
43505 (options): Added 0's for unused fields to silence a gcc warning.
43506 (argp): Likewise.
43507 (main): Use the environment variable `prefix' instead of using
43508 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43509 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43510 and terminal.
43511
43512 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43513 * util/misc.c: Include <malloc.h>.
43514 (pupa_malloc): Rewritten so errors are correctly reported.
43515 (pupa_realloc): Likewise.
43516 (pupa_memalign): Likewise.
43517 (pupa_mm_init_region): Declare unused variables with
43518 `__attribute__ ((unused))' to silence a gcc warning.
43519 * normal/i386/setjmp.S: Remove tab at the end of the file to
43520 silence a gcc warning.
43521 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43522 variables with `__attribute__ ((unused))' to silence a gcc
43523 warning.
43524 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43525 local variable i unsigned to silence a gcc warning.
43526
43527 * kern/term.c: Include <pupa/misc.h>.
43528 (pupa_more_lines): New variable.
43529 (pupa_more): Likewise.
43530 (pupa_putcode): When the pager is active pause at the end of every
43531 screen.
43532 (pupa_set_more): New function.
43533 * include/pupa/term.h (pupa_set_more): New prototype.
43534
43535
3b1139cb 435362004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43537
43538 Now this project is GRUB 2 rather than PUPA. The location of
43539 the CVS repository was moved to GRUB's.
f19dbdb7 43540
3b1139cb 43541 * configure.ac: Use bug-grub as the reporting address.
43542 Use GRUB instead of PUPA.
43543 Change the version number to 1.90.
43544
8367695c 435452004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43546
43547 * genkernsyms.sh: Updated copyright information.
43548 * genmk.rb: Likewise.
43549 * genmodsrc.sh: Likewise.
43550 * gensymlist.sh: Likewise.
43551 * boot/i386/pc/boot.S: Likewise.
43552 * boot/i386/pc/diskboot.S: Likewise.
43553 * disk/i386/pc/biosdisk.c: Likewise.
43554 * disk/i386/pc/partition.c: Likewise.
43555 * font/manager.c: Likewise.
43556 * fs/ext2.c: Likewise.
43557 * fs/fat.c: Likewise.
43558 * include/pupa/boot.h: Likewise.
43559 * include/pupa/device.h: Likewise.
43560 * include/pupa/disk.h: Likewise.
43561 * include/pupa/dl.h: Likewise.
43562 * include/pupa/elf.h: Likewise.
43563 * include/pupa/err.h: Likewise.
43564 * include/pupa/file.h: Likewise.
43565 * include/pupa/font.h: Likewise.
43566 * include/pupa/fs.h: Likewise.
43567 * include/pupa/kernel.h: Likewise.
43568 * include/pupa/loader.h: Likewise.
43569 * include/pupa/misc.h: Likewise.
43570 * include/pupa/mm.h: Likewise.
43571 * include/pupa/net.h: Likewise.
43572 * include/pupa/normal.h: Likewise.
43573 * include/pupa/rescue.h: Likewise.
43574 * include/pupa/setjmp.h: Likewise.
43575 * include/pupa/symbol.h: Likewise.
43576 * include/pupa/term.h: Likewise.
43577 * include/pupa/types.h: Likewise.
43578 * include/pupa/i386/setjmp.h: Likewise.
43579 * include/pupa/i386/types.h: Likewise.
43580 * include/pupa/i386/pc/biosdisk.h: Likewise.
43581 * include/pupa/i386/pc/boot.h: Likewise.
43582 * include/pupa/i386/pc/console.h: Likewise.
43583 * include/pupa/i386/pc/init.h: Likewise.
43584 * include/pupa/i386/pc/kernel.h: Likewise.
43585 * include/pupa/i386/pc/linux.h: Likewise.
43586 * include/pupa/i386/pc/loader.h: Likewise.
43587 * include/pupa/i386/pc/memory.h: Likewise.
43588 * include/pupa/i386/pc/multiboot.h: Likewise.
43589 * include/pupa/i386/pc/partition.h: Likewise.
43590 * include/pupa/i386/pc/time.h: Likewise.
43591 * include/pupa/i386/pc/vga.h: Likewise.
43592 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43593 * include/pupa/util/getroot.h: Likewise.
43594 * include/pupa/util/misc.h: Likewise.
43595 * include/pupa/util/resolve.h: Likewise.
43596 * kern/device.c: Likewise.
43597 * kern/disk.c: Likewise.
43598 * kern/dl.c: Likewise.
43599 * kern/err.c: Likewise.
43600 * kern/file.c: Likewise.
43601 * kern/fs.c: Likewise.
43602 * kern/loader.c: Likewise.
43603 * kern/main.c: Likewise.
43604 * kern/misc.c: Likewise.
43605 * kern/mm.c: Likewise.
43606 * kern/rescue.c: Likewise.
43607 * kern/term.c: Likewise.
43608 * kern/i386/dl.c: Likewise.
43609 * kern/i386/pc/init.c: Likewise.
43610 * kern/i386/pc/lzo1x.S: Likewise.
43611 * kern/i386/pc/startup.S: Likewise.
43612 * loader/i386/pc/chainloader.c: Likewise.
43613 * loader/i386/pc/linux.c: Likewise.
43614 * loader/i386/pc/multiboot.c: Likewise.
43615 * normal/cmdline.c: Likewise.
43616 * normal/command.c: Likewise.
43617 * normal/main.c: Likewise.
43618 * normal/menu.c: Likewise.
43619 * normal/i386/setjmp.S: Likewise.
43620 * term/i386/pc/console.c: Likewise.
43621 * term/i386/pc/vga.c: Likewise.
43622 * util/console.c: Likewise.
43623 * util/genmoddep.c: Likewise.
43624 * util/misc.c: Likewise.
43625 * util/pupa-emu.c: Likewise.
43626 * util/resolve.c: Likewise.
43627 * util/unifont2pff.rb: Likewise.
43628 * util/i386/pc/biosdisk.c: Likewise.
43629 * util/i386/pc/getroot.c: Likewise.
43630 * util/i386/pc/pupa-mkimage.c: Likewise.
43631 * util/i386/pc/pupa-setup.c: Likewise.
43632
e6eced71 436332004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43634
43635 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43636 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43637 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43638 reading and reset it after reading.
43639 (pupa_ext2_close): Return PUPA_ERR_NONE.
43640
43641 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43642 Correct value.
43643 (struct linux_kernel_header): Add kernel_version and
43644 initrd_addr_max.
43645 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43646 pupa_file_read succeeds.
43647 (pupa_rescue_cmd_initrd): Implement.
43648
5aded270 436492003-12-03 Marco Gerards <metgerards@student.han.nl>
43650
43651 * fs/ext2.c (pupa_ext2_label): New function.
43652 (pupa_ext2_fs): Added label.
43653 * fs/fat.c (pupa_fat_label): New function.
43654 (pupa_fat_fs): Added label.
43655 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43656
43657 * kern/misc.c (pupa_strndup): New function.
43658 * include/pupa/misc.h (pupa_strndup): New prototype.
43659
43660 * include/pupa/normal.h: Include <pupa/err.h>.
43661 (pupa_set_history): New prototype.
43662 (pupa_iterate_commands): New prototype.
43663 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43664 <pupa/disk.h>, <pupa/file.h>.
43665 (hist_size): New variable.
43666 (hist_lines): Likewise.
43667 (hist_end): Likewise.
43668 (hist_used): Likewise.
43669 (pupa_set_history): New function.
43670 (pupa_history_get): Likewise.
43671 (pupa_history_add): Likewise.
43672 (pupa_history_replace): Likewise.
43673 (pupa_tab_complete): Likewise.
43674 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43675 completion shows partitionnames while completing partitions, this
43676 feature was suggested by Jeff Bailey.
43677 * normal/command.c (pupa_iterate_commands): New function.
43678 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43679 (pupa_normal_init): Initialize history buffer.
43680 (PUPA_MOD_INIT): Likewise.
43681 (pupa_normal_fini): Free the history buffer.
43682 (PUPA_MOD_FINI): Likewise.
43683
43684 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43685 key.
43686
43687 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43688 * configure.ac [i386]: Check for regparam bug.
43689 (NESTED_FUNC_ATTR) [! i386]: Defined.
43690
1f7315a3 436912003-11-17 Marco Gerards <metgerards@student.han.nl>
43692
43693 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43694 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43695 (pupa_emu_SOURCES): New variable.
43696 (pupa_emu_LDFLAGS): Likewise.
43697 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43698 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43699 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43700 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43701 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43702 (pupa_jmp_buf): New typedef.
43703 (pupa_setjmp) [PUPA_UTIL]: New macro.
43704 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43705 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43706 (pupa_refresh): New prototype.
43707 * include/pupa/util/getroot.h: New file.
43708 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43709 it.
43710 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43711 (pupa_rescue_cmd_cat): Likewise.
43712 (pupa_rescue_cmd_ls): Likewise.
43713 (pupa_rescue_cmd_testload): Likewise.
43714 (pupa_rescue_cmd_lsmod): Likewise.
43715 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43716 * normal/menu.c (run_menu): Likewise.
43717 * kern/term.c (pupa_cls): Likewise.
43718 (pupa_refresh): New function.
43719 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43720 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43721 * util/console.c: New file.
f19dbdb7 43722
1f7315a3 43723 * util/i386/pc/getroot.c: New file.
43724 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43725 (pupa_putchar): New function.
43726 (pupa_refresh): Likewise.
43727 (xgetcwd): Function moved to ...
43728 (strip_extra_slashes): Likewise.
43729 (get_prefix): Likewise.
f19dbdb7 43730 * util/i386/pc/getroot.c: ... here.
1f7315a3 43731 (find_root_device): Function moved and renamed to...
43732 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43733 Changed all callers.
43734 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43735 and renamed to...
43736 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43737 Changed all callers.
43738 * util/misc.c (pupa_memalign): New function.
43739 (pupa_mm_init_region): Likewise.
43740 (pupa_register_exported_symbols): Likewise.
43741 (pupa_putchar): Function removed.
43742 * util/pupa-emu.c: New file.
43743
9a5c1ade 437442003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43745
43746 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43747 (_multiboot_mod_SOURCES): New variable.
43748 (_multiboot_mod_CFLAGS): Likewise.
43749 * loader/i386/pc/multiboot.c: New file.
43750 * include/pupa/i386/pc/multiboot.h: Likewise.
43751 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43752 (pupa_multiboot_real_boot): New function.
43753 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43754 (pupa_multiboot_real_boot): New prototype.
43755 (pupa_rescue_cmd_multiboot): Likewise
43756 (pupa_rescue_cmd_module): Likewise.
43757
43758 * kern/loader.c (pupa_loader_set): Continue when
43759 pupa_loader_unload_func() fails.
43760 (pupa_loader_unset): New function.
43761 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43762
43763 * kern/misc.c (pupa_stpcpy): New function.
43764 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43765
8e72a9c0 437662003-11-12 Marco Gerards <metgerards@student.han.nl>
43767
43768 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43769 for available extensions.
43770
43771 * include/pupa/i386/pc/time.h: New file.
43772 * kern/disk.c: Include <pupa/machine/time.h>.
43773 (PUPA_CACHE_TIMEOUT): New macro.
43774 (pupa_last_time): New variable.
43775 (pupa_disk_open): Flush the cache when there was a timeout.
43776 (pupa_disk_close): Reset the timer.
43777 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43778 pupa_currticks.
43779 * util/misc.c: Include <sys/times.h>
43780 (pupa_get_rtc): New function.
43781
c4adbd32 437822003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43783
43784 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43785 as blocks.
43786 (pupa_ext2_get_file_block): Use blocks member.
43787
43788 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43789 first block. Return -1 instead of pupa_errno on error.
43790
bfd30f06 437912003-10-27 Marco Gerards <metgerards@student.han.nl>
43792
43793 * README: In the pupa-mkimage example use _chain instead of chain
43794 and ext2 instead of fat.
43795 * TODO: Replace ext2fs with jfs as an example. Add an item for
43796 adding journal playback for ext2fs.
43797 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43798 (pkgdata_MODULES): Added ext2.mod.
43799 (ext2_mod_SOURCES): New variable.
43800 (ext2_mod_CFLAGS): Likewise.
43801 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43802 * include/pupa/misc.h (pupa_strncpy): New prototype.
43803 (pupa_strcat): Likewise.
43804 (pupa_strncmp): Likewise.
43805 * kern/misc.c (pupa_strcat): Enable function.
43806 (pupa_strncpy): New function.
43807 (pupa_strncmp): Likewise.
43808 * fs/ext2.c: New file.
f19dbdb7 43809
bfd30f06 43810 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43811 when the read failed before retrying.
43812 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43813 (_FILE_OFFSET_BITS): Likewise.
43814 * configure.ac: Added AC_SYS_LARGEFILE.
43815
98d15063 438162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43817
43818 * genmk.rb (PModule#rule): Make sure to get only symbol names
43819 from the output of nm.
59cad637 43820 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43821
18d9c7cd 438222003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43823
43824 I forgot to check in these changes for a long time. This adds
43825 incomplete support for VGA console, and this is still very
43826 buggy. Also, a lot of consideration is required for I18N,
43827 UNICODE, and VGA font issues. Therefore, assume that this is
43828 such that "better than nothing".
f19dbdb7 43829
18d9c7cd 43830 * font/manager.c: New file.
43831 * include/pupa/font.h: Likewise.
43832 * include/pupa/i386/pc/vga.h: Likewise.
43833 * term/i386/pc/vga.c: Likewise.
43834 * util/unifont2pff.rb: Likewise.
43835
43836 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43837 (pkgdata_MODULES): Added vga.mod and font.mod.
43838 (vga_mod_SOURCES): New variables.
43839 (vga_mod_CFLAGS): Likewise.
43840 (font_mod_SOURCES): Likewise.
43841 (font_mod_CFLAGS): Likewise.
43842
43843 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43844
43845 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43846 (struct pupa_term): Added init and fini.
18d9c7cd 43847 Changed the argument of putchar to pupa_uint32_t.
43848
43849 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43850 (pupa_console_real_putchar): New prototype.
43851 (pupa_console_putchar): Removed.
43852 (pupa_console_checkkey): Exported.
43853 (pupa_console_getkey): Likewise.
43854
43855 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43856 characters.
43857
43858 * kern/term.c (pupa_term_set_current): Rewritten.
43859 (pupa_putchar): Likewise.
43860 (pupa_putcode): New function.
43861
43862 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43863 (pupa_console_real_putchar): ... this.
43864 (pupa_vga_set_mode): New function.
43865 (pupa_vga_get_font): Likewise.
43866
43867 * normal/command.c: Include pupa/term.h.
43868 (terminal_command): New function.
43869 (pupa_command_init): Register the command "terminal".
43870
43871 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43872 (DISP_UP): Likewise.
43873 (DISP_RIGHT): Likewise.
43874 (DISP_DOWN): Likewise.
43875 (DISP_HLINE): Likewise.
43876 (DISP_VLINE): Likewise.
43877 (DISP_UL): Likewise.
43878 (DISP_UR): Likewise.
43879 (DISP_LL): Likewise.
43880 (DISP_LR): Likewise.
43881
43882 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43883
977329f5 438842003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43885
43886 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43887 FIX. Reverse the path_list.
43888
43889 * include/pupa/normal.h: Export pupa_register_command and
43890 pupa_unregister_command.
43891
43892 * hello/hello.c (pupa_cmd_hello): New module.
43893 * conf/i386-pc.rmk: Added hello.mod.
43894
1f5ab428 438952003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43896
43897 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43898
1f5ab428 43899 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43900 (compress_kernel): New variable.
43901 (generate_image): Heavily modified to support compressing a
43902 large part of the core image.
43903
43904 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43905 leak.
43906 (pupa_util_load_image): New function.
43907
43908 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43909 (pupa_compressed_size): New variable.
43910 (codestart): Enable Gate A20 here.
43911 Decompress the compressed part of the core image.
43912 Rearrange the code to put functions and variables which are
43913 required for initialization in the non-compressed part.
43914 Include lzo1x.S.
43915
43916 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43917 here.
43918
43919 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43920
f19dbdb7 43921 * include/pupa/i386/pc/kernel.h
1f5ab428 43922 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43923 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43924 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43925 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43926 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43927
43928 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43929
43930 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43931 (Utility#rule): Likewise.
43932
43933 * configure.ac: Check if LZO is available.
43934
ce5bf700 439352003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43936
43937 * include/pupa/normal.h: New file.
43938 * include/pupa/setjmp.h: Likewise.
43939 * include/pupa/i386/setjmp.h: Likewise.
43940 * normal/cmdline.c: Likewise.
43941 * normal/command.c: Likewise.
43942 * normal/main.c: Likewise.
43943 * normal/menu.c: Likewise.
43944 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43945
ce5bf700 43946 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43947 (pupa_rescue_cmd_initrd): Likewise.
43948
43949 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43950 Likewise.
43951
43952 * kern/i386/pc/startup.S (translation_table): New variable.
43953 (translate_keycode): New function.
43954 (pupa_console_getkey): Call translate_keycode.
43955
43956 * kern/rescue.c (attempt_normal_mode): New function.
43957 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43958 it failed, print a message.
43959
43960 * kern/mm.c (pupa_real_malloc): Print more information when a
43961 free magic is broken.
43962 (pupa_free): If the first free header is not free actually, set
43963 it to P.
43964
43965 * kern/main.c (pupa_load_normal_mode): Just load the module
43966 "normal".
43967 (pupa_main): Don't print the message
43968 "Entering into rescue mode..." here.
43969
43970 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43971 Declared.
43972 (pupa_rescue_cmd_initrd): Likewise.
43973 (pupa_rescue_cmd_initrd): Likewise.
43974
43975 * include/pupa/symbol.h (FUNCTION): Specify the type.
43976 (VARIABLE): Likewise.
43977
43978 * include/pupa/err.h (pupa_err_t): Added
43979 PUPA_ERR_UNKNOWN_COMMAND.
43980
43981 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43982 (pupa_dl_get_prefix): Likewise.
43983
43984 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43985 Added _chain.mod and _linux.mod instead of chain.mod and
43986 linux.mod.
43987 (chain_mod_SOURCES): Renamed to ...
43988 (_chain_mod_SOURCES): ... this.
43989 (chain_mod_CFLAGS): Renamed to ...
43990 (_chain_mod_CFLAGS): ... this.
43991 (linux_mod_SOURCES): Renamed to ...
43992 (_linux_mod_SOURCES): ... this.
43993 (linux_mod_CFLAGS): Renamed to ...
43994 (_linux_mod_CFLAGS): ... this.
43995 (normal_mod_SOURCES): New variable.
43996 (normal_mod_CFLAGS): Likewise.
43997 (normal_mod_ASFLAGS): Likewise.
43998
439992003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44000
44001 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44002 possible.
44003
fe6b695a 44004 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44005 recursively.
44006 (pupa_dl_unref): Unrefer depending modules recursively.
44007 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44008 a module is unloaded before one depending on that module is
44009 unloaded.
44010 (pupa_dl_unload): Unload depending modules explicitly,
44011 if possible.
44012
c04da074 440132003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44014
44015 * include/pupa/i386/pc/linux.h: New file.
44016 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44017
c04da074 44018 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44019 Removed.
44020 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44021 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44022 of PUPA_CHAINLOADER_BOOT_SECTOR.
44023
44024 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44025 (pupa_linux_prot_size): New variable.
44026 (pupa_linux_tmp_addr): Likewise.
44027 (pupa_linux_real_addr): Likewise.
44028 (pupa_linux_boot_zimage): New function.
44029 (pupa_linux_boot_bzimage): Likewise.
44030
44031 * kern/i386/pc/init.c (struct mem_region): New structure.
44032 (MAX_REGIONS): New macro.
44033 (mem_regions): New variable.
44034 (num_regions): Likewise.
44035 (pupa_os_area_addr): Likewise.
44036 (pupa_os_area_size): Likewise.
44037 (pupa_lower_mem): Likewise.
44038 (pupa_upper_mem): Likewise.
44039 (add_mem_region): New function.
44040 (compact_mem_regions): Likewise.
44041 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44042 the size of the conventional memory and that of so-called upper
44043 memory (before the first memory hole).
44044 Instead of adding each found region to free memory, use
44045 add_mem_region and add them after removing overlaps.
44046 Also, add only 1/4 of the upper memory to free memory. The rest
44047 is used for loading OS images. Maybe this is ad hoc, but this
44048 makes it much easier to relocate OS images when booting.
44049
44050 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44051 (pupa_enter_rescue_mode): Don't register initrd and module.
44052
44053 * kern/mm.c: Include pupa/dl.h.
44054
44055 * kern/main.c: Include pupa/file.h and pupa/device.h.
44056
44057 * kern/loader.c (pupa_loader_load_module_func): Removed.
44058 (pupa_loader_load_module): Likewise.
44059
44060 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44061 ``.o''.
44062
44063 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44064 (pupa_linux_tmp_addr): Likewise.
44065 (pupa_linux_real_addr): Likewise.
44066 (pupa_linux_boot_zimage): Likewise.
44067 (pupa_linux_boot_bzimage): Likewise.
44068
44069 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44070 (pupa_upper_mem): Likewise.
44071 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44072 module is too dangerous.
44073
44074 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44075 (pupa_os_area_size): Likewise.
44076 (pupa_loader_set): Remove the first argument. Loader doesn't
44077 manage modules or initrd any longer.
44078 (pupa_loader_load_module): Removed.
44079
44080 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44081 (linux_mod_SOURCES): New variable.
44082 (linux_mod_CFLAGS): Likewise.
44083
a13f9237 440842003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44085
44086 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44087 the length of a blocklist correctly.
44088
44089 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44090 Use ioctl only if the OS file is a block device.
44091 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44092 not very useful for normal files.
44093
44094 * kern/main.c (pupa_set_root_dev): New function.
44095 (pupa_load_normal_mode): Likewise.
44096 (pupa_main): Call those above.
44097
44098 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44099 pupa_uint16_t.
44100
44101 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44102
a5ffe966 441032003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44104
44105 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44106 (setup): Configure the installed partition information and the
44107 dl prefix.
44108
44109 * loader/i386/pc/chainloader.c (my_mod): New variable.
44110 (pupa_chainloader_unload): New function.
44111 (pupa_rescue_cmd_chainloader): Refer itself.
44112 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44113
44114 * kern/i386/pc/startup.S (install_partition): Removed.
44115 (version_string): Likewise.
44116 (config_file): Likewise.
44117 (pupa_install_dos_part): New variable.
44118 (pupa_install_bsd_part): Likewise.
44119 (pupa_prefix): Likewise.
44120 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44121
44122 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44123 and pupa/misc.h.
44124 (make_install_device): New function.
44125 (pupa_machine_init): Set the dl prefix.
44126
44127 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44128 (buf): Renamed to ...
44129 (linebuf): ... this.
44130 (pupa_rescue_cmd_prefix): New function.
44131 (pupa_rescue_cmd_insmod): Likewise.
44132 (pupa_rescue_cmd_rmmod): Likewise.
44133 (pupa_rescue_cmd_lsmod): Likewise.
44134 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44135 rmmod and lsmod.
44136
44137 * kern/mm.c (pupa_memalign): If failed even after invalidating
44138 disk caches, unload unneeded modules and retry.
44139
44140 * kern/misc.c (pupa_memmove): New function.
44141 (pupa_memcpy): Removed.
44142 (pupa_strcpy): New function.
44143 (pupa_itoa): Made static.
44144
44145 * kern/dl.c (pupa_dl_iterate): New function.
44146 (pupa_dl_ref): Likewise.
44147 (pupa_dl_unref): Likewise.
44148 (pupa_dl_unload): Return if succeeded or not.
44149 (pupa_dl_unload_unneeded): New function.
44150 (pupa_dl_unload_all): Likewise.
44151 (pupa_dl_init): Renamed to ...
44152 (pupa_dl_set_prefix): ... this.
44153 (pupa_dl_get_prefix): New function.
44154
44155 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44156 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44157 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44158 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44159 (pupa_install_dos_part): Declared.
44160 (pupa_install_bsd_part): Likewise.
44161 (pupa_prefix): Likewise.
44162 (pupa_boot_drive): Likewise.
44163
44164 * include/pupa/types.h: Fix a typo.
44165
44166 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44167 pupa_memmove.
44168 (pupa_memmove): Declared.
44169 (pupa_strcpy): Likewise.
44170
44171 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44172 pupa_mod_init takes one argument, its own module.
44173 (pupa_dl_unload_unneeded): Declared.
44174 (pupa_dl_unload_all): Likewise.
44175 (pupa_dl_ref): Likewise.
44176 (pupa_dl_unref): Likewise.
44177 (pupa_dl_iterate): Likewise.
44178 (pupa_dl_init): Renamed to ...
44179 (pupa_dl_set_prefix): ... this.
44180 (pupa_dl_get_prefix): Declared.
44181
44182 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44183 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44184 unloaded.
44185 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44186 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44187
44188 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44189 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44190
012d7999 441912003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44192
44193 * util/i386/pc/pupa-setup.c (setup): Define the internal
44194 function find_first_partition_start at the top level, because GCC
44195 3.0.x cannot compile internal functions in deeper scopes
44196 correctly.
44197 (find_root_device): Use lstat instead of stat.
44198 Don't follow symbolic links.
44199 Fix the path-constructing code.
44200
44201 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44202 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44203 by a BLKGETSIZE ioctl first, because block devices don't fill
44204 the member st_mode of the structure stat on Linux.
44205 [__linux__] (linux_find_partition): Use a temporary buffer
44206 REAL_DEV for the working space. Copy it to DEV before returning.
44207 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44208 buffer cache consistent.
44209 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44210 strncmp. The previous value was merely wrong.
44211 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44212
44213 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44214 FAT size is 12. The previous value was merely wrong.
44215
44216 * kern/main.c (pupa_main): Don't split the starting message from
44217 newlines.
44218
44219 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44220 LF, because BIOS goes crazy about character attributes in this
44221 case.
44222
1cc73a62 442232003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44224
44225 * include/i386/pc/util/biosdisk.h: New file.
44226 * util/i386/pc/biosdisk.c: Likewise.
44227 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44228
1cc73a62 44229 * Makefile.in (INCLUDE_DISTFILES): Added
44230 include/pupa/i386/pc/util/biosdisk.h.
44231 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44232 directory util/i386/pc.
44233 (install-local): Added a rule for sbin_UTILITIES.
44234 (uninstall): Likewise.
44235
44236 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44237
44238 * util/misc.c (xrealloc): New function.
44239 (pupa_malloc): Likewise.
44240 (pupa_free): Likewise.
44241 (pupa_realloc): Likewise.
44242 (pupa_stop): Likewise.
44243 (pupa_putchar): Likewise.
44244
44245 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44246
44247 * include/pupa/util/misc.h (xrealloc): Declared.
44248
44249 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44250 macro.
44251 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44252 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44253
44254 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44255 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44256
44257 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44258 way should be implemented.
44259 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44260
44261 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44262 the size of NAME for safety.
44263 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44264 0x88.
44265
44266 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44267 (pupa_setup_SOURCES): Likewise.
44268
44269 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44270
08b70fe8 442712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44272
44273 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44274 bunch of pushl's from pusha, because this destroys the return
44275 value.
44276
62ddcc8f 442772002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44278
44279 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44280 This means that any missing prototypes could be fatal. Also, you
44281 must take care when writing assembly code. See the comments at
44282 the beginning of startup.S, for more details.
f19dbdb7 44283
62ddcc8f 44284 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44285 compilation mechanism.
44286 (pupa_chainloader_real_boot): Likewise.
44287 (pupa_biosdisk_rw_int13_extensions): Likewise.
44288 (pupa_biosdisk_rw_standard): Likewise.
44289 (pupa_biosdisk_check_int13_extensions): Likewise.
44290 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44291 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44292 (pupa_get_memsize): Likewise.
44293 (pupa_get_mmap_entry): Likewise.
44294 (pupa_console_putchar): Likewise.
44295 (pupa_console_setcursor): Likewise.
44296 (pupa_getrtsecs): Use pushl instead of push.
44297
44298 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44299 memory instead of the stack for a mmap entry, because some
44300 BIOSes may ignore the maximum size and overflow.
44301
44302 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44303
44304 * genmk.rb (PModule#rule): Compile automatically generated
44305 sources with module-specific CFLAGS as well as other sources.
44306
9962ed99 443072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44308
44309 * configure.ac: Check ld.
44310 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44311 respectively, before checking endianness and sizes.
44312
44313 * Makefile.in (LD): New variable.
f19dbdb7 44314
abdfc3c5 443152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44316
44317 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44318
6a161fa9 443192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44320
44321 * Changelog: New file.
44322