]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / ChangeLog
CommitLineData
ac96441c
ST
12012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5 command line.
6 * docs/grub.texi (Simple configuration): Document
7 GRUB_CMDLINE_GNUMACH.
8
92012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10
11 * conf/Makefile.common (platform_SCRIPTS): New variable.
12 (platform_PROGRAMS): Likewise.
13 * gentpl.py: Mark *,module and *.image for install.
14 * grub-core/gdb_grub.in: Add a notice of expected environment.
15 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
16 (gmodule.pl): Likewise.
17
ac96441c 182012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
19
20 Replace grub_checkkey with grub_getkey_noblock.
21
22 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
23 (grub_getkey_noblock): ... this. All users updated.
24
ac96441c 252012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
26
27 * grub-core/kern/emu/console.c: Move to ...
28 * grub-core/term/emu/console.c: ...here.
29 (grub_ncurses_getkey): Fix return value if no key is detected.
30
e51b5666
VS
312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
34 (grub_unit_test_fini): Likewise.
35 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
36
372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/test.h (GRUB_UNIT_TEST)
40
d9a62292
VS
412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/script/execute.c (grub_script_break): Clarify logic.
44 Better error handling.
45 (grub_script_return): Likewise.
46 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
47
77c9182f
VS
482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
51 rimplicit redifinition.
52
edb13cf9
VS
532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
56 GRUB.
57
a9e9dc7c
VS
582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
61 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
62 prompt here.
63
b4ba8e02
VS
642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
67 as GRUB_ERR_BUG. Don't malloc if no device is available.
68
dded5540
VS
692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
72 Mark calling with invalid term as GRUB_ERR_BUG.
73
0cf69874
VS
742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
77 packets rather than raising an error.
78
59bfe502
VS
792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
82 in if.
83
db5fc596
VS
842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
87 diagnostic to dprintf.
88 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
89
e4b7f404
VS
902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
93 device name.
94
e7b02f9e
VS
952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
98 (grub_ntfs_iterate_dir): Likewise.
99
0331e102
VS
1002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Efiemu stylistic fixes and gettext.
103
104 * grub-core/efiemu/i386/loadcore32.c
105 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
106 * grub-core/efiemu/i386/loadcore64.c
107 (grub_arch_efiemu_relocate_symbols64): Likewise.
108 * grub-core/efiemu/i386/pc/cfgtables.c
109 (grub_machine_efiemu_init_tables): Likewise.
110 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
111 (grub_efiemu_loadcore_initXX): Add a filename argument.
112 All users updated.
113 Improved error message.
114 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
115 Add a filename argument.
116 All users updated.
117 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
118 Reclassify double relocation as GRUB_ERR_BUG.
119
306fc074
VS
1202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
123 handling.
124
794d8ef2
VS
1252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
128 on partition.
129
1302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
131
132 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
133
794d8ef2 1342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
135
136 Improve string. Gettextize.
137
78dde88e
VS
1382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
141 utils.
142 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
143
4786a90f
VS
1442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
147 [GRUB_UTIL]: New function.
148 (insert_array) [GRUB_UTIL]: Store partmaps.
149 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
150 partmaps.
151 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
152 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
153 (probe_abstraction): Print diskfilter and not raid.
154 Reported by: Lennart Sorensen
155
0b6225bd
VS
1562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
159 * util/grub-mkimagexx.c (MASK3): New define.
160 (add_value_to_slot_20b): Use MASK3.
161 (add_value_to_slot_21): Likewise.
162 (relocate_addresses): Fix format specification.
163 (load_image): Explicitly init symtab_section.
164
b055f8f6
VS
1652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
168 (grub_util_biosdisk_get_grub_dev): Fix format specification.
169
b77c2fb7
VS
1702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
173 on powerpc.
174 Reported by: Lennart Sorensen
175
e3ec28ab
VS
1762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * gentpl.py: Add missing license header.
179 * docs/grub.texi: Update copyright year.
180
c8d9ead6
GS
1812012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
182
183 Source grub-mkconfig_lib from the build directory at build time.
184 Suggested by: Vladimir Serbinenko.
185
186 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
187 * util/grub-install.in: Define pkgdatadir if not already set, and source
188 grub-mkconfig_lib from there.
189 * util/grub-kbdcomp.in: Likewise.
190 * util/grub-mkconfig.in: Likewise.
191 * util/grub-mknetdir.in: Likewise.
192 * util/grub-mkrescue.in: Likewise.
193 * util/grub-mkstandalone.in: Likewise.
194 * util/grub-reboot.in: Likewise.
195 * util/grub-set-default.in: Likewise.
196 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
197
ebcecdf1
VS
1982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
199
200 Increase warning level.
201
202 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
203 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
204 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
205 (TARGET_CFLAGS): Likewise.
206 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
207 * grub-core/Makefile.core.def (decompressor_xz): Add
208 -Wno-unreachable-code.
209 (normal): Add -Wno-redundant-decls.
210 (xzio): Add -Wno-unreachable-code.
211 (lzopio): Add -Wno-redundant-decls -Wno-error.
212 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
213 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
214 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
215 * grub-core/kern/dl.c: Add exception to -Wcast-align.
216 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
217 * grub-core/kern/i386/coreboot/init.c: Add exception to
218 -Wsuggest-attribute=noreturn.
219 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
220 * grub-core/kern/ia64/dl_helper.c: Likewise.
221 * grub-core/kern/mips/dl.c: Likewise.
222 * grub-core/kern/sparc64/dl.c: Likewise.
223 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
224 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
225 (memcmp): Likewise.
226 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
227 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
228 * grub-core/loader/mips/linux.c: Likewise.
229 * grub-core/loader/multiboot_elfxx.c: Likewise.
230 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
231 * grub-core/video/sm712.c: Add exception to -Wcast-align.
232 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
233 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
234 fixme.
235 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
236 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
237 Fix prototype.
238
37bb97fe
VS
2392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
242 address.
243
29a3550b
VS
2442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
247 Avoid improper use of strings.
248 (grub_cmd_legacy_initrdnounzip): Likewise.
249
dfdffd0d
VS
2502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * include/grub/emu/misc.h (grub_util_warn): Add missing format
253 attribute.
254 (grub_util_info): Likewise.
255 (grub_util_error): Likewise.
256
102fae4a
VS
2572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
260 * util/grub-fstest.c (fstest): Likewise.
261
7e94d044
VS
2622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
265 (grub_md_sha512_real): Likewise.
266 (grub_util_get_geli_uuid): Likewise.
267 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
268 (grub_util_biosdisk_open): Fix format specification.
269 Respect format security.
270 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
271 (xrealloc): Likewise.
272 (xasprintf): Likewise.
273
5ebd9769
VS
2742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/import_gcry.py: Include grub/crypto.h in init.c.
277
495fc8c1
VS
2782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
281 (generate_image): Make prefix a const char *.
282 Fix format specifications. Respect format security.
283 Avoid void * arithmetics.
284 Avoid shadowing.
285 (argp_parser): Remove unused variable. Respect format security.
286 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
287 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
288 (count_funcs): Remove unused variable.
289 (relocate_addresses): Fix format specification.
290 Disable x86-64 with elf32. Remove unused variables.
291 (add_fixup_entry): Avoid shadowing.
292 (make_reloc_section): Fix format specification.
293 Use assert.
294 (locate_sections): Fix format specifications.
295 (load_image): Avoid shadowing.
296
043c2ea3
VS
2972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
300 Fix format specifications. Respect format security.
301 Don't translate already translated grub_errmsg.
302 (argp_parser): Remove unused variable
303
3ec65a81
VS
3042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
307
a4d9fe4a
VS
3082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
311 (main): Likewise. Use xmalloc. Respect format security.
312
15b81d49
VS
3132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
316 a const char *.
317 (argp_parser): Remove unused variable.
318
31731fc0
VS
3192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
322 (add_pixel): Make static.
323 (add_font): Likewise.
324 (write_string_section): Make name and str a const char *.
325 (write_be16_section): Make name a const char *.
326 (print_glyphs): Make static.
327 (write_font_ascii_bitmap): Likewise.
328 (write_font_width_spec): Likewise.
329 (write_font_pf2): Likewise.
330 (argp_parser): Remove unused variable.
331 Respect format security.
332 (main): Avoid shadowing. Respect format security.
333
0809527b
VS
3342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/grub-editenv.c (argp_parser): Make static.
337 (create_envblk_file): Use xmalloc.
338 (open_envblk_file): Likewise.
339 Resepect format security.
340 (set_variables): Respect format security.
341
45b0c8b7
VS
3422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/getroot.c (grub_find_device): Respect format security.
345 (get_mdadm_uuid): Remove unused variable.
346 (grub_util_pull_device): Dont call gettext on already translated
347 grub_errmsg.
348 (find_system_device): Remove unused variable.
349 (grub_util_get_grub_dev): Likewise.
350 (grub_make_system_path_relative_to_its_root): Respect format security.
351
1b024b4e
VS
3522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * util/grub-fstest.c (execute_command): Make first argument
355 a const char *.
356 (read_file): Avoid shadowing.
357 Reuse underlying error message if device open fails.
358 (cmd_cmp): Respect format security.
359 (root): Make const char *.
360 (fstest): Remove args argument and use global copy.
361 Respect format security.
362 (argp_parser): Make static.
363 (main): Make default_root const char *.
364
5d1d4e28
VS
3652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/grub-mount.c (root): Make const char *.
368 (execute_command): Make first argument a const char *.
369 (fuse_init): Respect format security.
370 (argp_parser): Make static. Remove unused variable.
371 (main): Make default_root a const char *.
372 Respect format security.
373
36eb7379
VS
3742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/grub-probe.c (probe): Don't call gettext on already translated
377 grub_errmsg.
378 Remove unused variables.
379 (argp_parser): Remove unused variable.
380
76fb2ea9
VS
3812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * util/grub-script-check.c (argp_parser): Remove unused variable.
384 (main): Rename read to curread to avoid shadowing.
385
56c98584
VS
3862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * util/misc.c (grub_util_write_image_at): Fix format specification.
389 (grub_util_write_image): Likewise.
390 (grub_script_execute_argument_to_string): Removed (unused).
391 (grub_script_execute_menuentry): Likewise.
392 (grub_putchar): Likewise.
393
164ebb48
VS
3942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
397 (FUNCTION) [GRUB_UTIL]: Likewise.
398 (VARIABLE) [GRUB_UTIL]: Likewise.
399
44318d61
VS
4002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
403 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
404
31a26002
VS
4052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
408 buffer.
409
4102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
413 (LzmaEnc_SaveState): Removed (unused).
414 (LzmaEnc_RestoreState): Likewise.
415 (LzmaEnc_InitPriceTables): Made static.
416 (LzmaEnc_Construct): Likewise.
417 (LzmaEnc_FreeLits): Likewise.
418 (LzmaEnc_Destruct): Likewise.
419 (LzmaEnc_Init): Likewise.
420 (LzmaEnc_InitPrices): Likewise.
421 (LzmaEnc_Finish): Likewise.
422 (LzmaEnc_PrepareForLzma2): Removed (unused).
423 (LzmaEnc_MemPrepare): Likewise.
424 (LzmaEnc_GetNumAvailableBytes): Likewise.
425 (LzmaEnc_GetCurBuf): Likewise.
426 (LzmaEnc_CodeOneMemBlock): Likewise.
427
6fa67967
VS
4282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
431 (grub_util_ldm_embed): Likewise.
432
9a7428e6
VS
4332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * util/grub-editenv.c (print_var): Rename name to varname to
436 avoid shadowing.
437 (main): Rename index to curindex to avoid shadowing.
31a26002 438 Make filename a const char *.
9a7428e6 439
4f96abd1
VS
4402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
443 to arg_getline to avoid shadowing.
444
44d10dad
VS
4452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
448 disk_ to avoid shadowing.
449
340ba63e
VS
4502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
453 curindex to avoid shadowing.
454 Make static.
455 (MatchFinder_GetNumAvailableBytes): Make static.
456
22965bce
VS
4572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
460 avoid shadowing.
461
7b5784d4
VS
4622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
465 argument from encrypt to do_encrypt to avoid shadowing.
466
6f48ca01
VS
4672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
470 incorrect nesting of #if's.
471
a4ea2dff
VS
4722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
475 checks which are always false on some platforms.
476 (grub_cmd_lsacpi): Likewise.
477 * grub-core/kern/misc.c (grub_strtoul): Likewise.
478 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
479 Likewise.
480
def9fc1b
VS
4812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
484 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
485
a67b2a04
VS
4862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
489 re_dfa_t to avoid breaking alignment invariants.
490 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
491 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
492
44c6828d
VS
4932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
496 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
497
bebe0dd0
VS
4982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
501 Fix declaration.
502
a9cdb3cf
VS
5032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
506 conserve alignment invariants.
507 (grub_ehci_ehcc_read16): Likewise.
508 (grub_ehci_oper_read32): Likewise.
509 (grub_ehci_oper_write32): Likewise.
510 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
511 Conserve alignment invariants.
512
ccc3b1b8
VS
5132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
516 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
517 declarations.
518
987fbd95
VS
5192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
522 Remove unused variable.
523
0df363f3
VS
5242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
527 Remove set in if.
528
b2c0c4a6
VS
5292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * include/grub/net.h: Remove double declarations.
532
690c531f
VS
5332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
534
535 Remove "payload" command in ia64 Linux loader since I couldn't
536 find any evidence of it being used for anything.
537 Replace "relocate" command with an environment variable
538
539 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
540 fields.
541 (ia64_boot_payload): Removed.
542 (last_payload): Likewise.
543 (RELOCATE_OFF): Likewise.
544 (RELOCATE_ON): Likewise.
545 (RELOCATE_FORCE): Likewise.
546 (relocate): Likewise.
547 (free_pages): Don't free payloads.
548 (grub_load_elf64): Use common error messages.
549 Use "linux_relocate" variable.
550 Increase the space after boot_params.
551 (grub_cmd_payload): Removed.
552 (grub_cmd_relocate): Likewise.
553 (grub_cmd_fpswa): Improve messages.
554 (cmd_payload): Removed.
555 (cmd_relocate): Likewise.
556 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
557 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
558
01783768
VS
5592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
560
561 Convert UHCI to DMA framework.
562
563 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
564 (grub_uhci_pci_iter): Fill new members
565 (grub_alloc_td): Use P2V and V2P functions.
566 (grub_free_queue): Likewise.
567 (grub_alloc_qh): Likewise.
568 (grub_uhci_setup_transfer): Likewise.
569 (grub_uhci_check_transfer): Likewise.
570
43206939
VS
5712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
574 Remove assignment in if while on it.
575
571e140e
VS
5762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/grub-mkstandalone.in: Fix modules directory.
579
a9d96eeb
VS
5802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
583 on i386-pc target.
584 (argp_parser): Accept "auto" as compression specification.
585
e4e37e8d
VS
5862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Fix `help' with unloaded modules.
589
590 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
591 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
592 (grub_dyncmd_dispatcher): Small stylistic fix.
593 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
594 explicit help is requested.
595
e1ea3ade
VS
5962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
599 Explicitly init restart while on it.
600
27556881
VS
6012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
604 uninited variable.
605
d65f6b36
VS
6062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/grub-mknetdir.in: Use . rather than source for POSIX
609 compatibility.
610
0a1e473c
VS
6112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
614
ce6647c8
VS
6152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
618 variable.
619
66747894
VS
6202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
623 without quotes.
624
71645f6e
VS
6252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
628
0e1c1f61
VS
6292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
632 iteration of partitions.
633
9c4b5c13
VS
6342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Improve gettext support. Stylistic fixes and error handling fixes while
637 on it.
638
215c90cb
VS
6392012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
642 part. Instead setup the correct stack in RM.
643 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
644 for stack.
645 * include/grub/i386/relocator_private.h: New file.
646
b5c1f9bf
VS
6472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
650 argument.
651 * util/grub-fstest.c (options): Add missing DEVICE part.
652
b525fd83
VS
6532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
654
655 Clarify and unify messages.
656
657 * grub-core/commands/hashsum.c (options): Unify messages.
658 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
659 literal-only message as translatable.
660 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
661 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
662 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
663 commands.
664 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
665 key, not the key used to unlock. Clarify what it's used for.
666 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
667 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
668 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
669 * util/grub-editenv.c (options): Unify "verbose" message.
670 * util/grub-fstest.c (read_file): Unify error message.
671 (fstest): Add quotes around commands.
672 (options): Unify "verbose" message.
673 * util/grub-install.in: Add quotes around variable name.
674 * util/grub-kbdcomp.in: Unify error message.
675 * util/grub-mkfont.c (main): Likewise.
676 * util/grub-mkrescue.in: Likewise.
677 * util/grub-mklayout.c (options): Unify "verbose" message.
678 * util/grub-mkstandalone.in: Unify help and verbose messages.
679 * util/grub-mount.c (options): Unify "verbose" message.
680 * util/grub-probe.c (options): Likewise.
681 * util/grub-script-check.c (options): Likewise.
682 * util/grub-setup.c (setup): Unify no-terminator message.
683 (options): Use DEVICE and not DEV.
684 Unify "verbose" message.
685 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
686
0ae70393
VS
6872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Improve and unify messages.
690
691 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
692 name. All users updated.
693 Print filename in error.
694 (read_device_map): Print filename in error.
695 * util/getroot.c (grub_guess_root_devices): Print filename in error.
696 (grub_util_get_os_disk): Likewise.
697 (grub_util_biosdisk_get_grub_dev): Likewise.
698 (grub_util_check_block_device): Likewise.
699 (grub_util_check_char_device): Likewise.
700 (grub_make_system_path_relative_to_its_root): Likewise.
701 * util/grub-editenv.c (create_envblk_file): Likewise.
702 (open_envblk_file): Likewise.
703 (write_envblk): Likewise.
704 * util/grub-fstest.c (cmd_cp): Likewise.
705 (cmd_cat): Likewise.
706 (cmd_cmp): Likewise.
707 * util/grub-menulst2cfg.c (main): Likewise.
708 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
709 (write_font_width_spec): Likewise.
710 (write_font_pf2): Likewise.
711 * util/grub-mkimage.c (generate_image): New argument outname.
712 All users updated.
713 Remove unreacheable message.
714 (options): Unify messages.
715 (help_filter): Likewise.
716 * util/grub-mklayout.c (usage): Removed (unused).
717 (main): Print filename in error.
718 * util/grub-mkrescue.in: Fix wrong quoting.
719 * util/grub-setup.c (setup): Print filename in error.
720 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
721 (check_sas): Likewise.
722 * util/misc.c (grub_util_get_fp_size): Removed.
723 (grub_util_get_image_size): Print filename in error.
724 (grub_util_read_at): Removed.
725 (grub_util_read_image): Print filename in error.
726 (grub_util_load_image): Likewise.
727 (grub_util_write_image_at): New argument filename. All users updated.
728 Print filename in error.
729 (grub_util_write_image): New argument filename. All users updated.
730 Print filename in error.
731 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
732 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
733
0a96117d
VS
7342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/Makefile.core.def (pxechain): New module.
737 * grub-core/loader/i386/pc/pxechainloader.c: New file.
738 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
739 function.
740 (grub_pc_net_config_real): Use grub_pxe_get_cached.
741 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
742
aca002f7
VS
7432012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
746 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
747 * include/grub/err.h (grub_error_saved): New struct.
748 (grub_errmsg): Make array size explicit.
749 * include/grub/misc.h (grub_error_save): New function.
750 (grub_error_load): Likewise.
751 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
752 (grub_error_push): Update `errno' member name.
753 (grub_error_pop): Likewise
754 * grub-core/net/tftp.c (tftp_data): New member save_err.
755 (tftp_receive): Save error.
756 (tftp_open): Restore error.
757
a51dab13
VS
7582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
761 to real mode down to execute A20-related code in protected mode as
762 intended.
763
eb6e6649
GS
7642012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
765
766 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
767 NULL when the argument `level' has an unexpected value.
768
92cd0f6e
VS
7692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Move platform-dependent files from $prefix to $prefix/$platform.
772
773 * config.h.in (GRUB_TARGET_CPU): New definition.
774 (GRUB_PLATFORM): Likewise.
775 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
776 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
777 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
778 * grub-core/kern/dl.c (grub_dl_load): Likewise.
779 * grub-core/normal/autofs.c (read_fs_list): Likewise.
780 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
781 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
782 * grub-core/normal/term.c (read_terminal_list): Likewise.
783 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
784 $prefix/locale.
785 (grub_gettext_init_ext): Likewise.
786 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
787 grub_platform.
788 * util/grub-install.in: Update directories.
789 * util/grub-mknetdir.in: Likewise.
790 * util/grub-mkrescue.in: Likewise.
791
db606889
VS
7922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
795 grub_error framework. All users updated.
796
c39992a4
VS
7972012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
800 lists (by always binsearching), improve caching (cache strings
801 used for binsearch, not only results), improve
802 maintainability (by using more structured binary search) and correct
803 error handling.
804
1e5ec32f
VS
8052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/script/execute.c (grub_script_return): Fix warning.
808
ac576cde
VS
8092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/script/execute.c (grub_script_return): Fix potential
812 NULL-dereference.
813 Reported by: Jim Meyering.
814
498453f6
VS
8152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * po/POTFILES.in: Regenerate.
818 * util/grub-install.in: Gettextize the strings missed in first pass.
819
8be63f2e
VS
8202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * Makefile.util.def (grub-mkdevicemap): Removed.
823 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
824 * include/grub/util/deviceiter.h: Removed.
825 * util/deviceiter.c: Likewise.
826 * util/getroot.c (grub_util_get_os_disk): New function.
827 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
828 replacement for EFI.
829 * util/grub-mkdevicemap.c: Removed.
830 * util/grub-probe.c (probe): Handle PRINT_DISK.
831 (argp_parser): Handle -t disk.
832
8e1e4e39
VS
8332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * util/grub-mkfont.c: Migrate to argp.
836 * util/grub-mklayout.c: Likewise.
837 * util/grub-mkpasswd-pbkdf2.c: Likewise.
838 * util/grub-mkrelpath.c: Likewise.
839 * util/grub-probe.c: Likewise.
840 * util/grub-script-check.c: Likewise.
841
4459819a
VS
8422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * util/grub-reboot.in: Add missing datarootdir.
845 Add missing newline.
846 * util/grub-set-default.in: Add missing datarootdir.
847 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
848 * util/grub-mkrescue.in: Likewise.
849
f65741c7
VS
8502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
853
c1a33466
VS
8542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-kbdcomp.in: Add decent help and gettextize.
857 * docs/man/grub-kbdcomp.h2m: New file.
858
c76899a0
VS
8592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Migrate grub-mkimage.c to argp.
862
863 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
864 (grub-setup): Likewise.
865 * util/grub-setup.c (print_version): Move to ...
866 * util/argp_common.c (print_version): ... here.
867 * util/grub-setup.c (argp_program_version_hook): Move to ...
868 * util/argp_common.c (argp_program_version_hook): ... here.
869 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
870 safety.
871 * util/grub-mkimage.c (main): Migrate to argp.
872
57db0757
VS
8732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-mkrescue.in: Use same message as
876 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
877 for better translations.
878
18534ad9
VS
8792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
882 options with generic grub-mkrescue.in with the goal of future
883 merge.
884
c84ba308
VS
8852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/kern/mm.c: Add missing include of i18n.h
888 * grub-core/lib/relocator.c: Likewise.
889
347998c2
VS
8902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
893 error.
894 (allocate_pages): Check return value.
895 Replace fatal with error.
896 (grub_linux_boot): Replace printf with dprintf.
897 Check find_mmap_size return value.
898 Replace fatal with error.
899 Don't call grub_machine_fini.
900 (grub_load_elf64): Replace printf with dprintf.
901 (grub_cmd_linux): Likewise.
902 (grub_cmd_initrd): Likewise.
903 (grub_cmd_payload): Likewise.
904
c779226e
VS
9052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
908 message.
909 * grub-core/video/radeon_fuloong2e.c
910 (grub_video_radeon_fuloong2e_setup): Likewise.
911 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
912 * grub-core/video/video.c (grub_video_set_mode): Don't override
913 standard out of memory message.
914
dc87d45a
GS
9152012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
916
917 NetBSD disk wedge support.
918
919 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
920 [__NetBSD__]: Handle NetBSD disk wedges.
921 * util/getroot.c (convert_system_partition_to_system_disk)
922 [__NetBSD__]: Likewise.
923
055f856f
MW
9242012-02-03 Mark Wooding <mdw@distorted.org.uk>
925
926 * util/grub-mkconfig.in: Use umask rather than chmod to create
927 grub.cfg.new to avoid insecure grub.cfg.
928
4a9f8346
VS
9292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/commands/ls.c: Gettextize.
932 * grub-core/commands/setpci.c: Likewise.
933 * grub-core/commands/videotest.c: Likewise.
934 * grub-core/disk/geli.c: Likewise.
935 * grub-core/kern/mm.c: Likewise.
936 * grub-core/lib/relocator.c: Likewise.
937 * grub-core/loader/efi/appleloader.c: Likewise.
938 * grub-core/loader/i386/xnu.c: Likewise.
939 * grub-core/loader/ia64/efi/linux.c: Likewise.
940 * grub-core/loader/xnu.c: Likewise.
941 * grub-core/net/dns.c: Likewise.
942 * grub-core/net/net.c: Likewise.
943 * grub-core/script/lexer.c: Likewise.
944 * grub-core/script/parser.y: Likewise.
945 * grub-core/script/yylex.l: Likewise.
946 * util/getroot.c: Likewise.
947 * util/grub-setup.c: Likewise.
948
a646a366
VS
9492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
952 number.
953
54e2be26
VS
9542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
957
f7c71e68
VS
9582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
961 macro.
962 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
963 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
964
a32d5c71
VS
9652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
968 * util/grub-install.in: Gettextize.
969 * util/grub-mkconfig.in: Likewise.
970 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
971 if not available.
972 (grub_warn): Gettextize.
973 * util/grub-mknetdir.in: Gettextize.
974 * util/grub-mkrescue.in: Likewise.
975 * util/grub-mkstandalone.in: Likewise.
976 * util/grub-reboot.in: Likewise.
977 * util/grub-set-default.in: Likewise.
978 * util/grub.d/00_header.in: Likewise.
979 * util/grub.d/10_hurd.in: Likewise.
980 * util/grub.d/10_kfreebsd.in: Likewise.
981 * util/grub.d/10_linux.in: Likewise.
982 * util/grub.d/10_netbsd.in: Likewise.
983 * util/grub.d/10_windows.in: Likewise.
984 * util/grub.d/20_linux_xen.in: Likewise.
985 * util/grub.d/30_os-prober.in: Likewise.
986 * po/POTFILES-shell.in: Regenerate.
987
69edd81a
RL
9882012-02-03 Richard Laager <rlaager@wiktel.com>
989
990 * util/grub-mkimage.c (main): Fix format-security warning.
991 * util/grub-mkrelpath.c (main): Likewise.
992 * util/grub-probe.c (main): Likewise.
993
65f08dbf
RL
9942012-02-03 Richard Laager <rlaager@wiktel.com>
995
996 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
997 failure.
998 Put back lost PRINT_DRIVE.
999
e9084abe
RL
10002012-02-03 Richard Laager <rlaager@wiktel.com>
1001
1002 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1003 (grub_guess_root_devices): Replace strlen with sizeof.
1004 Avoid crash.
1005 (find_root_devices_from_poolname): Remove unused variable.
1006 Handle raidzN.
1007
cf5f7ee7
VS
10082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Support install on multi-device filesystems.
1011
1012 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1013 (grub_guess_root_devices): ...this. Return char **. All users updated.
1014 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1015 Removed.
1016 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1017 (find_root_devices_from_poolname): ... here.
1018 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1019 Support zfs-fuse.
1020 (grub_guess_root_device): Rename to ...
1021 (grub_guess_root_devices): ... this. Return char **. All users updated.
1022 * util/grub-install.in: Handle multi-device filesystems.
1023 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1024 argument. All users updated.
1025 Handle multi-device filesystems.
1026 Use 'delim' as separator.
1027 Remove device check to allow filesystems on file.
1028 (main): Support -0 argument. Handle multi-device.
1029 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1030 Fix a cross-device check while on it.
1031 (arguments): Remove root_dev.
1032 (argp_parser): Remove -r.
1033 (main): Remove root_dev.
1034
2f53a9ed
VS
10352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1038
17e1d934
VS
10392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1042 symbol.
1043 Reported by: NODA, Kai <nodakai>.
1044
d3e3fab5
VS
10452012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Fix ehci on amd64.
1048
1049 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1050 pointers.
1051 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1052 (grub_ehci_setup_qh): Likewise.
1053 (grub_ehci_find_qh): Likewise.
1054 (grub_ehci_transaction): Likewise.
1055 (grub_ehci_setup_transfer): Likewise.
1056 (grub_ehci_check_transfer): Likewise.
1057 (grub_ehci_portstatus): Likewise.
1058 (grub_ehci_detect_dev): Likewise.
1059 (grub_ehci_transfer_controller_data): New field td_last_phys.
1060 (grub_ehci_setup_transfer): Fill td_last_phys.
1061 (grub_ehci_check_transfer): Use td_last_phys.
1062
3008675b
SG
10632012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1064
1065 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1066 if no submenu is present.
1067
fc9b5652
AN
10682012-02-01 Aleš Nesrsta <starous@volny.cz>
1069
1070 CBI support.
1071
1072 * include/grub/usb.h (grub_usbms_protocol_t): New values
1073 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1074 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1075 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1076 (grub_usbms_dev): Add subclass, protocol and intrpt.
1077 Remove in_maxsz and out_maxsz.
1078 (grub_usbms_reset): Rename to ...
1079 (grub_usbms_bo_reset): .. this.
1080 (grub_usbms_cbi_cmd): New function.
1081 (grub_usbms_cbi_reset): Likewise.
1082 (grub_usbms_reset): Likewise.
1083 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1084 (grub_usbms_transfer): Rename to ...
1085 (grub_usbms_transfer_bo): ... this.
1086 (grub_usbms_transfer_cbi): Likewise.
1087 (grub_usbms_transfer): Likewise.
1088
a2b81d53
AN
10892012-02-01 Aleš Nesrsta <starous@volny.cz>
10902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1093 the support for the CS5536 modification thereos and few bugfixes.
1094
1095 * grub-core/Makefile.core.def (ehci): New module.
1096 * grub-core/bus/usb/ehci.c: New file.
1097 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1098 port and hubaddr. All users updated.
1099 Save port and hubaddr into dev structure.
1100 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1101 define.
1102 * include/grub/pci.h (grub_dma_phys2virt): New function.
1103 (grub_dma_virt2phys): Likewise.
1104 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1105
b1d51f02
VS
11062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1109 check as some mkfs implementations omit it.
1110
fc694106
VS
11112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1114
6c0920e3
VS
11152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1118 Add new member volname2.
1119 (grub_jfs_label): Use volname2 if available.
1120
d1a46f9a
VS
11212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1124 over last_mounted as seen in image generated by mkfs.nilfs2.
1125 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1126
dec8ed14
VS
11272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1130 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1131 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1132
7397c69b
VS
11332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1136 over the sector.
1137
b3fe42ad
VS
11382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1141 subvolume name (by removing a bogus and useless check).
1142
10476bb0
VS
11432012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1146 sizeof while on it.
1147
9c08ad87
VS
11482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1151 (grub_scsi_read_capacity10): ... this.
1152 (grub_scsi_read_capacity16): New function.
1153 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1154 0xffffffff.
1155 Fix off-by-one error.
1156 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1157 64-bit unsigned.
1158 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1159 (grub_scsi_read_capacity10): ... this.
1160 (grub_scsi_read_capacity_data): Rename to ...
1161 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1162 (grub_scsi_read_capacity16): New struct.
1163 (grub_scsi_read_capacity16_data): Likewise.
1164 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1165 grub_scsi_cmd_read_capacity10.
1166 New command grub_scsi_cmd_read_capacity16.
1167
bc8d0f45
VS
11682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 SCSI >2TiB support.
1171
1172 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1173 (grub_scsi_write16): Likewise.
1174 (grub_scsi_read): Use read16 when necessary.
1175 (grub_scsi_write): Likewise.
1176 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1177 (grub_scsi_write16): Likewise.
1178 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1179
cc774926
VS
11802012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 SCSI write support (for usbms mainly).
1183
1184 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1185 a const pointer.
1186 (grub_scsi_write): Implement.
1187 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1188
67639fd7
VS
11892012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1192 variable.
1193
9079d3ed
VS
11942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1197
c6a6f204
VS
11982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * po/POTFILES.in: Regenerate.
1201
ecbf8cd1
VS
12022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1205 with grub_printf to avoid unnecessary fatal failure.
1206
0b3b3b38
VS
12072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1210 (INT_MAX): Likewise.
1211 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1212 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1213 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1214 (strcpy): Likewise.
1215 (strstr): Likewise.
1216 (strchr): Likewise.
1217 (strncpy): Likewise.
1218 (strcat): Likewise.
1219 (strncat): Likewise.
1220 (strcoll): Likewise.
1221 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1222 (GRUB_INT_MAX): Likewise.
1223
db7337a3
VS
12242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1227 unexpected error.
1228 (optimize_utf8): Likewise.
1229 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1230
f37c87e1
VS
12312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/boot/i386/pc/lnxboot.S: Use
1234 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1235 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1236 location.
1237 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1238 definition.
1239 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1240
63fe43f3
VS
12412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1244 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1245 now to avoid double free.
1246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1247 hostdisk.
1248 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1249 * util/grub-probe.c (escape_of_path): Always return a new copy.
1250 (print_full_name): Escape path.
1251 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1252 Fix hints on abstractions.
1253
ebe2c961
VS
12542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1257 Don't add "root" line if no compatibility hont is available.
1258 Suggested by: Seth Goldberg.
1259
2b5336a2
VS
12602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1263 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1264 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1265 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1266
74310bd8
VS
12672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1270
c30582ba
VS
12712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/grub-pe2elf.c (ehdr): Make static.
1274 (shdr): Likewise.
1275 (num_sections): Likewise.
1276 (offset): Likewise.
1277
5f47782c
VS
12782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Eliminate ofpath limits and possible overflows.
1281
1282 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1283 (OF_PATH_MAX): Removed.
1284 (MAX_DISK_CAT): New const.
1285 (find_obppath): Use allocated rather than preallocated buffer.
1286 Return result. Argument of_path removed. All users updated.
1287 Add missing fdstat.
1288 (xrealpath): New function.
1289 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1290 Allocate rather than use preallocated buffer. All users updated.
1291 (__of_path_common): Use allocated rather than preallocatecd buffer.
1292 Return result. Argument of_path removed. All users updated.
1293 (vendor_is_ATA): Read only needed part form the file.
1294 (check_sas): Allocate depending on contents rather than fixed.
1295 (main) [STANDALONE]: Handle NULL result.
1296
f990cbf9
VS
12972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1300
9c6e84b8
VS
13012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Cryptodisk write support.
1304
1305 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1306 (grub_cryptodisk_decrypt): Moved logic to ...
1307 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1308 (grub_cryptodisk_write): Implement.
1309 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1310 (grub_util_fd_write): ... this. Make global.
1311 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1312
87cf9744
VS
13132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * include/grub/list.h (grub_list_remove): Don't crash if element is
1316 removed twice.
1317
ca8c0baf
VS
13182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 Rename ofconsole to console.
1321
1322 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1323 as sysnonym to console.
1324 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1325 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1326 Rename grub_ofconsole_ to grub_console_. All users updated
1327 (grub_console_term_output): Rename "ofconsole" to "console".
1328 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1329 as "console".
1330
64c8b8f6
VS
13312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1334 handling.
1335 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1336 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1337 GRUB_DISK_DEVICE_FILE_ID.
1338
f6c434d5
VS
13392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1342 and improve performance.
1343
5858b42d
VS
13442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1347 missing ieee1275/ prefix on whole disk.
1348
4ed3c26b
VS
13492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1352 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1353
df71143e
VS
13542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1357
076e7c0f
VS
13582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Merge common RAID and LVM logic to an abstract diskfilter.
1361 Add LDM support using the same framework.
1362
1363 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1364 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1365 (libgrubmods): Remove grub-core/disk/raid.c and
1366 grub-core/partmap/gpt.c.
1367 * grub-core/Makefile.core.def (ldm): New module.
1368 (raid): Renamed to diskfilter. All users updated.
1369 * grub-core/disk/raid.c: Moved to ...
1370 * grub-core/disk/diskfilter.c: ... here.
1371 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1372 (lv_num): New var.
1373 (find_array): Renamed to ...
1374 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1375 (grub_is_array_readable): Renamed to ...
1376 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1377 (insert_array): New argument id.
1378 (is_node_readable): New function.
1379 (scan_device): Rename to ...
1380 (scan_disk): .. this. Restrict to one disk.
1381 (scan_devices): New function.
1382 (grub_diskfilter_iterate): Support multi-LV.
1383 Skip invisible and nameless LVs.
1384 (grub_diskfilter_memberlist): Support multi-LV.
1385 (grub_diskfilter_read_node): New function.
1386 (grub_raid_read): Most of logic moved to ...
1387 (read_segment): ... here
1388 (read_lv): New function.
1389 (grub_diskfilter_get_vg_by_uuid): New function.
1390 (grub_diskfilter_make_raid): Likewise.
1391 * grub-core/disk/ldm.c: New file.
1392 * grub-core/disk/lvm.c (vg_list): Removed.
1393 (lv_count): Likewise.
1394 (scan_depth): Likewise.
1395 (is_lv_readable): Likewise.
1396 (grub_lvm_getvalue): Advance pointer past the number.
1397 (find_lv): Removed.
1398 (do_lvm_scan): Refactored into ...
1399 (grub_lvm_detect): ... this. Support raid.
1400 (grub_lvm_iterate): Removed.
1401 (grub_lvm_memberlist): Likewise.
1402 (grub_lvm_open): Likewise.
1403 (grub_lvm_close): Likewise.
1404 (read_lv): Likewise.
1405 (read_node): Likewise.
1406 (is_node_readable): Likewise.
1407 (is_lv_readable): Likewise.
1408 (grub_lvm_read): Likewise.
1409 (grub_lvm_write): Likewise.
1410 (grub_lvm_dev): Use diskfilter
1411 (GRUB_MOD_INIT): Likewise.
1412 (GRUB_MOD_FINI): Likewise.
1413 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1414 new interface.
1415 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1416 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1417 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1418 grub_diskfilter_read_node.
1419 Fix a bug with xor.
1420 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1421 grub_diskfilter_read_node.
1422 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1423 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1424 (grub_disk_dev_iterate): Move from here...
1425 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1426 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1427 Make global.
1428 (grub_hostdisk_find_partition_start): Likewise.
1429 (grub_hostdisk_os_dev_to_grub_drive): New function.
1430 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1431 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1432 * util/getroot.c (make_device_name): ... here.
1433 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1434 Move to ...
1435 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1436 * grub-core/kern/emu/hostdisk.c
1437 (convert_system_partition_to_system_disk): Move to ...
1438 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1439 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1440 * util/getroot.c (device_is_wholedisk): ... here.
1441 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1442 * util/getroot.c (find_system_device): ... here.
1443 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1444 Move to ...
1445 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1446 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1447 Move to ...
1448 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1449 Handle LDM.
1450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1451 Move to ...
1452 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1453 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1454 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1455 DISKFILTER.
1456 * include/grub/raid.h: Renamed to ...
1457 * include/grub/diskfilter.h: ... this.
1458 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1459 (GRUB_RAID_LAYOUT_*): Make into array.
1460 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1461 (grub_diskfilter_vg): New struct.
1462 (grub_diskfilter_pv_id): Likewise.
1463 (grub_raid_member): Removed.
1464 (grub_raid_array): Likewise.
1465 (grub_diskfilter_pv): New struct.
1466 (grub_diskfilter_lv): Likewise.
1467 (grub_diskfilter_segment): Likewise.
1468 (grub_diskfilter_node): Likewise.
1469 (grub_diskfilter_get_vg_by_uuid): New proto.
1470 (grub_raid_register): Inline.
1471 (grub_diskfilter_unregister): Likewise.
1472 (grub_diskfilter_make_raid): New proto.
1473 (grub_diskfilter_vg_register): Likewise.
1474 (grub_diskfilter_read_node): Likewise.
1475 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1476 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1477 (grub_util_is_ldm): Likewise.
1478 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1479 (grub_hostdisk_find_partition_start): Likewise.
1480 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1481 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1482 New definition.
1483 (grub_gpt_partition_map_iterate): New proto.
1484 * include/grub/lvm.h (grub_lvm_vg): Removed.
1485 (grub_lvm_pv): Likewise.
1486 (grub_lvm_lv): Likewise.
1487 (grub_lvm_segment): Likewise.
1488 (grub_lvm_node): Likewise.
1489 * util/getroot.c [...]
1490 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1491 (probe_abstraction): Likewise.
1492 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1493 (main): Remove dead logic.
1494
8a7f9b9c
VS
14952012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 Simplify root device discover and don't fail when trying to open
1498 incorrect devices.
1499
1500 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1501 function.
1502 (get_diskname_from_path): Likewise.
1503 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1504 of iterating.
1505
30545b85
VS
15062012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1509
28ea58cf
VS
15102012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1513 pastthe end.
1514
692dabca
VS
15152012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub-install.in: Add missing \.
1518 Reported by: gentoofan
1519
f6e4ea70
VS
15202012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1523 (direct_read): Use correct compressed size.
1524 (grub_squash_read_data): Likewise.
1525
15262012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
1527
1528 * docs/grub.texi (Platform limitations): New section.
1529 (Platform-specific operations): Likewise.
1530 * docs/grub-dev.texi (Porting): Likewise.
1531
76261110
VS
15322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 IEEE1275 disk write support.
1535
1536 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1537 const void *.
1538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1539 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1540 and seek loginc to ...
1541 (grub_ofdisk_prepare): ... here.
1542 (grub_ofdisk_write): Implement.
1543
fc36d603
VS
15442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 ARC disk write support.
1547
1548 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1549 (reopen): New argument writable. All users updated.
1550 Handle required access mode.
1551 (grub_arcdisk_write): Implement.
1552 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1553 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1554
e06c2e7a
VS
15552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1558 (read_sblock): Don't attempt to read superblocks outside the disk size.
1559
ff447958
VS
15602012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1563 first superblock to find the second one when possible.
1564
9e88df39
VS
15652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * util/grub-install.in: Fix an ARC bug.
1568 Print a warning if no platform-specific setup is available.
1569
bb26e4ff
VS
15702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Use static allocation rather than scratch pointer in reed_solomon.
1573 It decreases its size significantly and avoids a variable in .text.
1574
1575 * grub-core/lib/reed_solomon.c (scratch): Removed.
1576 (chosenstat): New const or static array.
1577 (sigma): Likewise.
1578 (errpot): Likewise.
1579 (errpos): Likewise.
1580 (sy): Likewise.
1581 (mstat): Likewise.
1582 (errvals): Likewise.
1583 (eqstat): Likewise.
1584 (pol_evaluate): Replace x with log_x argument. All users updated.
1585 (syndroms): Removed.
1586 (gauss_solve): Use statically allocated arrays.
1587 (rs_recover): Likewise.
1588 Calculate syndroms directly.
1589 (decode_block): Use statically allocated arrays.
1590 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1591 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1592
2e13ede5
VS
15932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 Eliminate fixed limit on reed solomon decoder length.
1596
1597 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1598 rather than hardcoding the address.
1599 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1600 no_reed_solomon_length.
1601 Move gate_a20 to no-reed-solomon part.
1602 Don't force a particular size of no reed-solomon part.
1603 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1604 Removed.
1605 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1606 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1607
f8a9ab12
VS
16082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/commands/wildcard.c (match_files): Handle filenames
1611 without explicit device.
1612 (wildcard_expand): Don't add explicit device if not already present.
1613 * tests/grub_script_echo1.in: Add a new expansion test.
1614
87edb894
VS
16152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 Replace single-linked with double-linked lists. It results in more
1618 compact and more efficient code.
1619
1620 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1621 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1622 (grub_list_remove): Moved from here ...
1623 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1624 (grub_prio_list_insert): Set prev.
1625 * include/grub/list.h (grub_list): Add prev. All users updated.
1626
48b391e9
VS
16272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Handle newer autotools. Add some missing quotes while on it.
1630
1631 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1632 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1633 (pkgdata_DATA): ... here.
1634 * Makefile.util.def (update-grub_lib): Removed.
1635 * conf/Makefile.common (pkglib_DATA): Removed.
1636 (pkglib_SCRIPTS): Likewise.
1637 (pkgdata_DATA): New variable.
1638 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1639 needed.
1640 Add missing quotes.
1641 Remove unused variable while on it.
1642 * tests/util/grub-shell.in: Likewise.
1643 * util/grub-install.in: Likewise.
1644 * util/grub-mkconfig.in: Likewise.
1645 * util/grub-mknetdir.in: Likewise.
1646 * util/grub-mkrescue.in: Likewise.
1647 * util/grub-mkstandalone.in: Likewise.
1648 * util/grub.d/00_header.in: Likewise.
1649 * util/grub.d/10_hurd.in: Likewise.
1650 * util/grub.d/10_illumos.in: Likewise.
1651 * util/grub.d/10_kfreebsd.in: Likewise.
1652 * util/grub.d/10_linux.in: Likewise.
1653 * util/grub.d/10_netbsd.in: Likewise.
1654 * util/grub.d/10_windows.in: Likewise.
1655 * util/grub.d/20_linux_xen.in: Likewise.
1656 * util/grub.d/30_os-prober.in: Likewise.
1657 * util/update-grub_lib.in: Removed.
1658
16592012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
1660
1661 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1662 a workaround for intel problem.
1663
66832792
PRP
16642012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
16652012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16662012-01-23 pfsmorigo
1667
1668 * util/grub-install.in: Support dd'in into PreP partition.
1669 * util/grub-probe.c (probe): Support discovering partition type.
1670 (main): Support -t msdos_parttype.
1671
7816a17e
VS
16722012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1675 infinite recursion using counter.
1676 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1677 init to skip it if the magic check fails.
1678 (dec_stream_header): Init s->crc32.
1679
8f9d3a8c
ZB
16802012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16812012-01-22 Zachary Bedell <pendorbound@gmail.com>
16822012-01-22 Richard Laager <rlaager@wiktel.com>
1683
1684 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1685 All users updated.
1686 (find_bestub): Determine correct size.
1687 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1688 (scan_disk): Align the size down.
1689 Call check pool before find_bestub to have ashift.
1690
b055dd32
VS
16912012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1694 dprintf in no-malloc zone.
1695
d779e9bd
ML
16962012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1697
1698 * configure.ac: Add back in test for limits.h.
1699
b508af69
VS
17002012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 Support 4K-sector NTFS.
1703
1704 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1705 (grub_ntfs_data): Remove blocksize.
1706 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1707 Remove data argument. All users updated.
1708
dad9c8b5
VS
17092012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
1712 being in .text to avoid dprel references.
1713 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
1714 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
1715 (grub_arch_highmemsize): Likewise.
1716 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
1717 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
1718 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
1719
d43a777e
VS
17202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
1723
1724 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
1725 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
1726
34e4208f
VS
17272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
1730 GRUB_UTIL.
1731 (grub_set_datetime_cmos): Likewise.
1732
3ec0fc1c
VS
17332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Make XZ compression parameters dependent on target and not host CPU.
1736
1737 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
1738 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
1739
22489834
VS
17402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
1743 set but not used variable.
1744
8502fbca
VS
17452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
1748 created when no uuid support is compiled into mkfs.reiser.
1749
76df2068
VS
17502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
1753 (utf8_to_macroman): Do the opposite.
1754 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
1755
64e3f8f6
VS
17562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * configure.ac: Refise build qemu_mips w/o unifont.
1759
9c271078
VS
17602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Eliminate grub_min/grub_max prone to overflow usage.
1763
1764 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
1765 (poll_nonroot_hub): Likewise.
1766 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
1767 (grub_affs_label): Likewise.
1768 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
1769 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
1770 (grub_hfs_label): Likewise.
1771 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
1772 * grub-core/fs/zfs/zfs.c (MIN): Remove.
1773 (zap_leaf_array_equal): Use grub_size. Remove MIN.
1774 (zap_leaf_array_get): Likewise.
1775 (dnode_get_path): Likewise.
1776 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
1777 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
1778 * grub-core/script/execute.c (grub_script_break): Likewise.
1779 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
1780 grub_max.
1781 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
1782 * include/grub/misc.h (grub_min): Removed.
1783 (grub_max): Likewise.
1784
80662dbc
VS
17852012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1786
1787 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
1788 direct.inode = 0.
1789
e6da1467
VS
17902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
1793
b1ac4cb1
VS
17942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
1797
b4bf7c3b
VS
17982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
1801 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
1802
8ee1101a
VS
18032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
1806 rather than a hack for grub_strncasemap.
1807
18082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 Support multiple initrds
1811 Note: part of this was accidently committed in r3739.
1812
1813 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
1814 initrd.
1815 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1816 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1817 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1818 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1819 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1820
4d1e2bc9
VS
18212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
1824 disks with unknown size.
1825 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
1826
75b49ebe
VS
18272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 Remove defines pertaining to arbitrary limits not affecting GRUB
1830 anymore.
1831
1832 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
1833 (EXT2_MAX_SYMLINKCNT): Likewise.
1834 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
1835 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
1836 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
1837 (GRUB_PXE_MAX_BLKSIZE): Likewise.
1838 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
1839 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
1840 (DN_MAX_OBJECT_SHIFT): Likewise.
1841 (DN_MAX_OFFSET_SHIFT): Likewise.
1842 (DN_MAX_OBJECT): Likewise.
1843 (DNODES_PER_LEVEL_SHIFT): Likewise.
1844 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
1845 (SPA_MAXBLOCKSIZE): Likewise.
1846 (SPA_BLOCKSIZES): Likewise.
1847 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
1848 (MZAP_MAX_BLKSZ): Likewise.
1849
74a1dce7
VS
18502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
1853 handle NULL appropriately.
1854 Remove MIN.
1855
30c7d3ce
VS
18562012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Fix efiemu.
1859
1860 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
1861 cpu/types.h.
1862 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
1863 * configure.ac: Fix efiemu check.
1864
3c76ea0c
VS
18652012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
1868 grub_probe.
1869 Reported by: adamwill
1870
7e532280
SG
18712012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
1872
1873 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
1874
30492374
VS
18752012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Fix handling of wide characters in gfxterm.
1878
1879 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1880 (clear_char): Likewise.
1881 (paint_char): Skip code == NULL chars.
1882 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1883
e70cb72f
VS
18842012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/normal/charset.c: Move comment to right place.
1887
5c827cf9
VS
18882012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1891 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1892 (grub_affs_mount): Revert the correct version checking.
1893
53603892
VS
18942012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * docs/grub.texi (Unicode): Mention several other unsupported features.
1897
ff094b9b
VS
18982011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1901 case statements as compile-time one.
1902 (direct_read): Prevent spurious warnings.
1903 (grub_squash_read_data): Likewise.
1904
c029da8a
VS
19052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Various squash4 fixes and LZO and XZ support.
1908
1909 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1910 Add xzembed source files.
1911 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1912 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1913 (grub_squash_inode): New subtype long_dir.
1914 (SQUASH_TYPE_LONG_DIR): New inode type.
1915 (COMPRESSION): New enum.
1916 (XZBUFSIZ): New const.
1917 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1918 (read_chunk): Use data->decompress.
1919 (zlib_decompress): New function.
1920 (lzo_decompress): Likewise.
1921 (xz_decompress): Likewise.
1922 (squash_mount): Set new data fields.
1923 (grub_squash_iterate_dir): Handle long dir.
1924 (squash_unmount): Free xzdec and xzbuf.
1925 (grub_squash_open): Check ino type.
1926 (direct_read): Stylistic fixes. Use data->decompress.
1927 (grub_squash_read_data): Likewise.
1928 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1929 (get_byte): Likewise.
1930 (grub_zlib_disk_read): Removed.
1931 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1932 (GRUB_POSIX_BOOL_DEFINED): New define.
1933 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1934 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1935 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1936 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1937
7a45a539
VS
19382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Don't override more informative errors.
1941
1942 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1943 * grub-core/font/font.c (open_section): Likewise.
1944 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1945 filename. Don't override errors.
1946 (grub_cmd_openbsd_ramdisk): Don't override errors.
1947 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1948 (grub_cmd_initrd): Likewise.
1949 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1950 (grub_cmd_initrd): Likewise.
1951 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1952 (grub_cmd_linux): Likewise.
1953 (grub_cmd_initrd): Likewise.
1954 (grub_cmd_payload): Likewise.
1955 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1956 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1957 (grub_cmd_module): Likewise.
1958 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1959 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1960 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1961 (grub_cmd_xnu_mkext): Likewise.
1962 (grub_cmd_xnu_ramdisk): Likewise.
1963 (grub_xnu_check_os_bundle_required): Likewise.
1964 (grub_xnu_load_kext_from_dir): Likewise.
1965 (grub_cmd_xnu_kextdir): Likewise.
1966 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1967
b2d004db
VS
19682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1971 as 1024 in block size field. Found on one of my test images.
1972 Small optimisation while on it.
1973
ec000eac
VS
19742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1977 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1978 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1979 performance fixes while on it.
1980 (grub_sfs_close): Fix memory leak while on it.
1981 (grub_sfs_label): Convert Latin1 to UTF-8.
1982
f50e1165
VS
19832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1986 space to avoid overflows.
1987 (grub_hfs_label): Convert from macroman to UTF-8.
1988
2ae254de
VS
19892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1992
0108f491
VS
19932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1996
f45f5f89
VS
19972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * unicode: Import Unicode 6.0 data.
2000
4d8c4765
VS
20012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2002
63fa8ef9
VS
2003 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2004 outside of range.
2005
20062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2009
2010 * include/grub/charset.h (grub_getend): New function.
2011 * grub-core/script/function.c (grub_script_function_find): Use
2012 grub_getend.
2013 * grub-core/normal/completion.c (add_completion): Likewise.
2014
f3cb4a4e
VS
20152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2018 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2019 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2020 (GRUB_UNICODE_TAG_END): Likewise.
2021 (GRUB_UNICODE_LAST_VALID): Likewise.
2022
5da8dbc5
VS
20232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2026 len and make it smaller. All users updated.
2027 * util/import_unicode.py: Put length and not end character.
2028 Check length.
2029
8569f13d
VS
20302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 Make better Unicode-compliant and unify some UTF-8 code pathes.
2033
2034 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2035 valid character.
2036 (grub_is_valid_utf8): Use grub_utf8_process.
2037 Check resulting code range.
2038 (grub_utf8_to_ucs4): Use grub_utf8_process.
2039 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2040 valid character.
2041
cc4fddf5
VS
20422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2045
bbc47747
VS
20462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * docs/grub.texi (Filesystems): Mention AFS.
2049
f63d6bf4
VS
20502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * docs/grub.texi (Filesystems): Clarify restrictions.
2053 (Regexp): Mention non-Unicode regexp behaviour.
2054 (Other): Mention non-Unicode matching behaviour.
2055
74bbf0db
VS
20562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2057
f63d6bf4 2058 Make HFS implementation use MacRoman.
74bbf0db
VS
2059
2060 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2061 (macroman): New const array.
2062 (macroman_to_utf8): New function.
2063 (utf8_to_macroman): Likewise.
2064 (grub_hfs_find_dir): Use utf8_to_macroman.
2065 (grub_hfs_dir): Use macroman_to_utf8.
2066 Set case_insensitive.
2067
4ea0316e
VS
20682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2071
d3c13cbd
VS
20722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Integrate hints into autogeneration scripts.
2075
2076 * docs/grub.texi (Filesystems): Add a hostdisk example.
2077 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2078 (grub-probe): Add ofpath.
2079 * gentpl.py: Remove group nosparc64.
2080 * grub-core/commands/search.c (cache_entry): New struct.
2081 (cache): New var.
2082 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2083 * grub-core/commands/search_wrap.c (options): Add platform-specific
2084 hint options.
2085 (grub_cmd_search): Handle platform-specific hints.
2086 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2087 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2088 (grub_util_biosdisk_data): Likewise.
2089 (grub_util_biosdisk_open): Set device_map.
2090 (read_device_map): Handle "" as indication of no map.
2091 Set device_map.
2092 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2093 (grub_util_biosdisk_get_compatibility_hint): New function.
2094 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2095 * include/grub/emu/hostdisk.h
2096 (grub_util_biosdisk_get_compatibility_hint): New proto.
2097 * util/grub-install.in: Don't call grub-mkdevicemap.
2098 Add platform-specific hint to load.cfg.
2099 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2100 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2101 hints. Set root preliminary to compatibility hint, not to OS name.
2102 * util/grub-probe.c (PRINT_*): Add hints.
2103 (print): Make static.
2104 (escape_of_path): New function.
2105 (guess_bios_drive): Likewise.
2106 (guess_efi_drive): Likewise.
2107 (guess_baremetal_drive): Likewise.
2108 (print_full_name): Likewise.
2109 (probe): Handle hints.
2110 (main): Likewise.
2111 * util/ieee1275/devicemap.c: Removed.
2112 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2113 updated.
2114 (grub_util_devname_to_ofpath): Return NULL on failure.
2115
2116 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2117 resource leak.
2118 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2119
2120 * po/POTFILES.in: Regenerated.
2121
2122 Allow purely long options
2123
2124 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2125 (SHORT_ARG_USAGE): Likewise.
2126 (grub_arg_show_help): Compare opt with help_options.
2127 (parse_option): Receive opt as argument. If makes big simplificatons.
2128 All users updated
2129
00ce2df3
VS
21302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2133 Restructure to avoid warning.
2134
e77e325f
VS
21352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * util/grub-install.in: Account for possible escaped comma in device
2138 name.
2139
165099ea
VS
21402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2143 channel.
2144
ce4a999d
VS
21452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2148 allocation and zero-setting.
2149 (grub_ieee1275_get_devname): Check that alias is complete.
2150
379586ad
VS
21512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2154 unaligned segments.
2155
9197b0ad
VS
21562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2159 prefix.
2160 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2161 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2162 Add ieee1275 prefix.
2163
edddb7f9
VS
21642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * docs/grub.texi (Filesystems): Update.
2167
a1a8b1b9
VS
21682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Support odc, newc and bigendian cpio formats.
2171
2172 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2173 * grub-core/Makefile.core.def (newc): New module.
2174 (odc): Likewise.
2175 (cpio_be): Likewise.
2176 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2177 (MAGIC): Likewise.
2178 (MAGIC2): Likewise.
2179 (head) [MODE_ODC]: Adapt for the format.
2180 (head) [MODE_NEWC]: Likewise.
2181 (head) [!MODE_*]: Write fields of interest as arrays.
2182 (MAGIC_USTAR): Removed.
2183 (read_number) [MODE_NEWC]: Change to hex.
2184 (read_number) [!MODE_*]: Parse binary arrays.
2185 (grub_cpio_find_file): Factor out the code for better structure and
2186 always use read_number.
2187 (grub_cpio_mount): Use MAGIC and MAGIC2.
2188 (grub_cpio_dir): Exit on first hook non-0 return.
2189 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2190 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2191 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2192 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2193 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2194 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2195 * grub-core/fs/newc.c: New file.
2196 * grub-core/fs/odc.c: Likewise.
2197 * grub-core/fs/cpio_be.c: Likewise.
2198
58eba9ee
VS
21992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 Fix handling of tar numbers occupying the whole field.
2202
2203 * grub-core/fs/cpio.c (read_number): New function.
2204 (grub_cpio_find_file): Use read_number instead of strtoull.
2205
a54a0e12
VS
22062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2209 occupying the whole field size.
2210
a6120aca
LA
22112011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2212
2213 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2214
a93964ce
VS
22152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2218
3ea1ca46
SG
22192011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2220
2221 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2222 TARGET_IMG_LDFLAGS.
2223
b87f7ef2
VS
22242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2227 (mountinfo_entry): Increase the field size to take escaping into
2228 account.
2229 (find_root_device_from_libzfs): Add one byte to size of strings for
2230 security.
2231
62092395
VS
22322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2235 an assert.
2236 * util/grub-setup.c (setup): Likewise.
2237
1f0b1a77
VS
22382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2241 _LzmaDecodeA.
2242
8eba9997
VS
22432011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * docs/grub.texi (Internationalisation): New section.
2246
dd0c91e9
VS
22472011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * docs/grub.texi (Loopback booting): New section.
2250
22512011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2252
2253 * util/grub-mkstandalone.in: Fix minor typo errors.
2254
198e150a
VS
22552011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2258
2259 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2260 net/icmp.c and net/icmp6.c.
2261 (http): New module.
2262 (priority_queue): Likewise.
2263 * grub-core/io/bufio.c: Rewritten.
2264 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2265 TYPE_WITH_CONFIGFILE_OPTION.
2266 (legacy_commands): Add bootp and dhcp.
2267 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2268 (grub_legacy_parse): Likewise.
2269 * grub-core/lib/priority_queue.c: New file.
2270 * grub-core/net/arp.c: Add missing license header.
2271 (arp_find_entry): Removed.
2272 (arp_find_entry): Likewise.
2273 (grub_net_arp_resolve): Rename to ...
2274 (grub_net_arp_send_request): ...this.
2275 (grub_net_arp_receive): New card argument.
2276 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2277 Set router and DNS server.
2278 (grub_net_configure_by_dhcp_ack): Handle routing information.
2279 (grub_cmd_bootp): Set checksum.
2280 (grub_bootp_init): Remove net_dhcp.
2281 * grub-core/net/dns.c: New file.
2282 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2283 completion.
2284 (get_card_packet): Handle allocation.
2285 (grub_efinet_findcards): Set mtu.
2286 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2287 (get_card_packet): Handle allocation.
2288 (emucard): Set mtu.
2289 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2290 (GRUB_MOD_INIT): Set mtu.
2291 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2292 mtu.
2293 (get_card_packet): Handle allocation.
2294 (grub_ofnet_findcards): Set mtu.
2295 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2296 assert.
2297 (grub_net_recv_ethernet_packet): Handle IPv6.
2298 * grub-core/net/http.c: New file.
2299 * grub-core/net/icmp.c: Likewise.
2300 * grub-core/net/icmp6.c: Likewise.
2301 * grub-core/net/ip.c (ip6addr): New type.
2302 (ip6hdr): Likewise.
2303 (reassemble): Likewise.
2304 (cmp): New function.
2305 (reassembles): New variable.
2306 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2307 (id): New variable.
2308 (send_fragmented): New function.
2309 (grub_net_send_ip_packet): Rename to ...
2310 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2311 Handle non-UDP.
2312 (grub_net_recv_ip_packets): Rename to ...
2313 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2314 (free_rsm): New function.
2315 (free_old_fragments): Likewise.
2316 (grub_net_recv_ip4_packets): New function.
2317 (grub_net_send_ip6_packet): Likewise.
2318 (grub_net_send_ip_packet): Likewise.
2319 (grub_net_recv_ip6_packets): Likewise.
2320 (grub_net_recv_ip_packets): Likewise.
2321 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2322 (LINK_LAYER_CACHE_SIZE): New const.
2323 (link_layer_find_entry): New function.
2324 (grub_net_link_layer_add_address): Likewise.
2325 (grub_net_link_layer_resolve_check): Likewise.
2326 (grub_net_link_layer_resolve): Likewise.
2327 (grub_net_ipv6_get_slaac): Likewise.
2328 (grub_net_ipv6_get_link_local): Likewise.
2329 (grub_cmd_ipv6_autoconf): Likewise.
2330 (parse_ip): Handle one number representation.
2331 (parse_ip6): New functoion.
2332 (match_net): Handle IPv6.
2333 (grub_net_resolve_address): Handle IPv6 and DNS.
2334 (grub_net_resolve_net_address): Handle IPv6.
2335 (route_cmp): New function.
2336 (grub_net_route_address): Find best route.
2337 (grub_net_addr_to_str): Handle IPv6.
2338 (grub_net_addr_cmp): New function.
2339 (grub_net_add_addr): Register local route.
2340 (print_net_address): Handle net address.
2341 (grub_net_poll_cards): Retransmit TCP.
2342 (grub_net_poll_cards_idle_real): Likewise.
2343 (have_ahead): New function.
2344 (grub_net_seek_real): Use underlying seek.
2345 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2346 * grub-core/net/tcp.c: New file.
2347 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2348 (cmp): New function.
2349 (ack): Likewise.
2350 (tftp_receive): Handle unordered input.
2351 (destroy_pq): New function.
2352 (tftp_close): Close pq.
2353 * grub-core/net/udp.c: Put missing license header.
2354 (grub_net_udp_socket): New function.
2355 (udp_socket_register): Likewise.
2356 (grub_net_udp_close): Likewise.
2357 (grub_net_recv_udp_packet): Check checksum.
2358 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2359 * include/grub/misc.h (grub_memchr): New function.
2360 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2361 (grub_net_card_driver): Return buf in recv.
2362 (grub_net_slaac_mac_list): New struct.
2363 (grub_network_level_protocol_id): Add ipv6.
2364 (grub_net_network_level_addr): Likewise.
2365 (grub_net_network_level_net_addr): Likewise.
2366 (grub_net_app_protocol): Add seek.
2367 (grub_net_socket): Removed.
2368 (grub_net_sockets): Likewise.
2369 (grub_net_socket_register): Likewise.
2370 (grub_net_socket_unregister): Likewise.
2371 (FOR_NET_SOCKETS): Likewise.
2372 (grub_net_add_addr): Add const.
2373 (GRUB_NET_BOOTP_*): New enum.
2374 (grub_net_addr_cmp): New proto.
2375 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2376 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2377 (grub_net_hwaddr_to_str): NEw proto.
2378 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2379 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2380 (grub_dns_init): New proto.
2381 (grub_dns_fini): Likewise.
2382 (grub_net_tcp_retransmit): Likewise.
2383 (grub_net_link_layer_add_address): Likewise.
2384 (grub_net_link_layer_resolve_check): Likewise.
2385 (grub_net_link_layer_resolve): Likewise.
2386 (grub_net_dns_lookup): Likewise.
2387 (grub_net_add_dns_server): Likewise.
2388 (grub_net_remove_dns_server): Likewise.
2389 (GRUB_NET_TRIES): New const.
2390 (GRUB_NET_INTERVAL): Likewise.
2391 * include/grub/net/arp.h: Mostly rewritten.
2392 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2393 * include/grub/net/ip.h: Mostly rewritten.
2394 * include/grub/net/netbuff.h: Indent.
2395 * include/grub/net/tcp.h: New file.
2396 * include/grub/net/udp.h: Mostly rewritten.
2397 * include/grub/priority_queue.h: New file.
2398 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2399 (grub_swap_bytes64_compile_time): Likewise.
2400 (grub_cpu_to_be16_compile_time): Likewise.
2401 (grub_cpu_to_be32_compile_time): Likewise.
2402 (grub_cpu_to_be64_compile_time): Likewise.
2403 (grub_be_to_cpu64_compile_time): Likewise.
2404
215c1800
VS
24052011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2408 UINT_TO_PTR with cast.
2409
c17e546c
VS
24102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2413 don't use them.
2414
ff6b18b6
VS
24152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2418 already there.
2419
70ffcc93
VS
24202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2423 confusing ipxe.
2424
e5f4d260
VS
24252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2428 Add missing const attribute.
2429 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2430 Likewise.
2431 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2432 Likewise.
2433
8e54b4b7
VS
24342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2437 misaligned access.
2438 (serpent_setkey): Likewise.
2439 (serpent_encrypt_internal): Likewise.
2440 (serpent_decrypt_internal): Likewise.
2441 (serpent_encrypt): Don't put an alignment-increasing cast.
2442 (serpent_decrypt): Likewise.
2443 (serpent_test): Likewise.
2444
813c0a2b
VS
24452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2448
f2b60fbd
VS
24492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2452
2453 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2454 grub_addr_t casts.
2455 (PTR_TO_UINT64): Likewise.
2456 (PTR_TO_UINT32): Likewise.
2457
5ef5c511
VS
24582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2461 because of stack.
2462 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2463 limit.
2464
c476e6df
VS
24652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2468 text_width > available width a bit more gracefully.
2469
384ad7cc
VS
24702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2473 current address calculation.
2474
96f8caf8
VS
24752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2478 stack.
2479 (encode_block): Likewise.
2480
276b7a8b
VS
24812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2484 certainety.
2485
e3fd394a
VS
24862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2489 non-RS part to avoid RS messing with GDT.
2490 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2491 Increase to suit in realmode routines.
2492
24932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/kern/i386/realmode.S: Increase alignment.
2496 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2497
ee9c2e7a
VS
24982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2501 be deterministic.
2502 (syndroms): Compute 0 syndrom.
2503 (rs_recover): Use 0 syndrom.
2504
7a7f7cc9
VS
25052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2508
a14b16d1
VS
25092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2512 brackets.
2513
9f59e9fc
VS
25142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2515
ca1b552c
VS
2516 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2517 account.
2518 (get_top_pad): Likewise.
2519 (get_right_pad): Likewise.
2520 (get_bottom_pad): Likewise.
2521
25222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 2525
e739d698
VS
25262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2529 attribute as the structure isn't guaranteed to be properly aligned.
2530 (grub_efi_pci_device_path): Likewise.
2531 (grub_efi_pccard_device_path): Likewise.
2532 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2533 specify the size of `memory_type'.
2534 (grub_efi_vendor_device_path): Likewise.
2535 (grub_efi_controller_device_path): Likewise.
2536 (grub_efi_acpi_device_path): Likewise.
2537 (grub_efi_expanded_acpi_device_path): Likewise.
2538 (grub_efi_atapi_device_path): Likewise.
2539 (grub_efi_scsi_device_path): Likewise.
2540 (grub_efi_fibre_channel_device_path): Likewise.
2541 (grub_efi_1394_device_path): Likewise.
2542 (grub_efi_usb_device_path): Likewise.
2543 (grub_efi_usb_class_device_path): Likewise.
2544 (grub_efi_i2o_device_path): Likewise.
2545 (grub_efi_mac_address_device_path): Likewise.
2546 (grub_efi_ipv4_device_path): Likewise.
2547 (grub_efi_ipv6_device_path): Likewise.
2548 (grub_efi_infiniband_device_path): Likewise.
2549 (grub_efi_uart_device_path): Likewise.
2550 (grub_efi_vendor_messaging_device_path): Likewise.
2551 (grub_efi_hard_drive_device_path): Likewise.
2552 (grub_efi_cdrom_device_path): Likewise.
2553 (grub_efi_vendor_media_device_path): Likewise.
2554 (grub_efi_file_path_device_path): Likewise.
2555 (grub_efi_protocol_device_path): Likewise.
2556 (grub_efi_piwg_device_path): Likewise.
2557 (grub_efi_bios_device_path): Likewise.
2558
cb8f88ea
VS
25592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2562 (grub_ucs4_to_utf8_alloc): Likewise.
2563 (grub_ucs4_to_utf8): Likewise.
2564 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2565 (grub_ucs4_to_utf8_alloc): Likewise.
2566
309e5352
VS
25672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 AFFS never uses unicode.
2570
2571 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2572 (grub_latin1_to_utf8): New inline function.
2573 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2574
e7987e1b
VS
25752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2578 overflow.
2579
efc2616e
VS
25802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2583 (grub_squash_dirent_header): Likewise.
2584 (read_chunk): Don't double swap.
2585 (grub_squash_iterate_dir): Fix swap sizes.
2586
3c349f5a
VS
25872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2590
b453412d
VS
25912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2594 (grub_hfs_iterate_dir): Likewise.
2595
12e9d4d1
VS
25962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Fix video on platforms where unaligned access is forbidden.
2599 Make several optimisations while on it.
2600
2601 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2602 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2603 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2604 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2605 Disable.
2606 (grub_video_fbblit_replace_16bit_1bit):
2607 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2608 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2609 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2610 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2611 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2612 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2613 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2614 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2615 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2616 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2617 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2618 (grub_video_fbblit_replace_index_RGB888): Likewise.
2619 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2620 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2621 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2622 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2623 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2624 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2625 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2626 Disable.
2627 (grub_video_fbblit_blend_XXX565_1bit):
2628 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2629 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2630 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2631 void *.
2632 * grub-core/video/fb/video_fb.c (common_blitter)
2633 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2634 (grub_video_fb_create_render_target_from_pointer)
2635 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2636 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2637 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2638 definition.
2639 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2640
ace96609
VS
26412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
2644 HH22 and HM10 relocations.
2645
fd261d73
VS
26462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2649
e59b7857
VS
26502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2653 allocation succeeded.
2654
9b4baaa4
VS
26552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2658 argument a u8 pointer. All users updated.
2659 Handle unaligned buffers.
2660
dc713193
VS
26612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2664 add_part to workaround compiler bug.
2665
30dd48c2
VS
26662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2669
0c6087a8
VS
26702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2673 Reserve alignment invariants.
2674 (grub_multiboot_load): Likewise.
2675 (retrieve_video_parameters): Likewise.
2676 (grub_multiboot_make_mbi): Likewise.
2677
c2e77777
VS
26782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2681 incorrect pointer.
2682
b70b6d11
VS
26832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2686 (grub_pata_pio_write): Likewise.
2687
02a2bf83
VS
26882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Add noreturn attributes and remove unreachable code.
2691
2692 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2693 code.
2694 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2695 code. Mark as noreturn.
2696 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2697 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2698 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2699 unreachable code.
2700 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2701 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2702 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2703 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2704 * include/grub/kernel.h (grub_main): Mark as noreturn.
2705 * include/grub/reader.h (grub_rescue_run): Likewise.
2706
2019d09e
VS
27072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2710 redundant declaration.
2711
d1c501ee
VS
27122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * include/grub/net.h (grub_net_network_level_interfaces): Remove
2715 redundant declaration.
2716 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2717
61664420
VS
27182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
2721 to ensure alignment.
2722 (grub_hdparm_print_identify): Make argument uint16 * to ensure
2723 alignment. Ensure tmp alignment.
2724 (grub_cmd_hdparm): Ensure buf alignment.
2725 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
2726 to ensure alignment.
2727 (grub_ata_dumpinfo): Ensure text alignment.
2728 (grub_atapi_identify): Preserve alignment invariant.
2729 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2730
0d51ee20
VS
27312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
2734 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
2735 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
2736 * include/grub/misc.h (grub_reboot)
2737 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
2738 (grub_halt) [__mips__]: Likewise.
2739
753ef8c1
VS
27402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
2743 Remove redundant declaration.
2744 (grub_mmap_get_post64): Likewise.
2745 (grub_mmap_get_upper): Likewise.
2746 (grub_mmap_get_lower): Likewise.
2747
85c85365
VS
27482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
2751 uint32_t * to ensure alignment.
2752 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2753
a23f2cc4
VS
27542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2755
93018f64
VS
2756 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
2757 uint16_t * to ensure alignment.
2758 (sun_pc_partition_map_iterate): Make `block' a union to ensure
2759 alignment.
2760
27612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
2764 to ensure alignment.
2765 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
2766
58acccd6
VS
27672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/fs/ntfs.c (u16at): Make into inline function.
2770 Handle unaligned pointers.
2771 (u32at): Likewise.
2772 (u64at): Likewise.
2773 (fixup): Use byte access instead of v16at.
2774 (find_attr): Fix imporper usage of v32at.
2775 (read_data): Likewise.
2776 (list_file): Handle byte-swapping and unaligned strings.
2777 (grub_ntfs_label): Likewise.
2778
9b05cad7
VS
27792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
2782 as it's not necessarily aligned.
2783
b3950b84
VS
27842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
2787 redundant declaration.
2788 (grub_serial_init): Likewise.
2789 (grub_terminfo_init): Likewise.
2790
fcd232b7
VS
27912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
2794 function.
2795 (ZAP_HASH_IDX): Likewise.
2796 (ZAP_LEAF_HASH_SHIFT): Likewise.
2797 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
2798 (LEAF_HASH): Likewise.
2799 (ZAP_LEAF_NUMCHUNKS): Likewise.
2800 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
2801 alignment invariants. Return pointer. All users updated.
2802 (ZAP_LEAF_ENTRY): Make into inline function.
2803 (NBBY): Removed.
2804 (xor): LIkewise.
2805 (xor_out): Use grub_crypto_xor.
2806 (dnode_get_path): Use grub_get_unaligned.
2807 (nvlist_find_value): Likewise.
2808 (grub_zfs_nvlist_lookup_uint64): Likewise.
2809 (grub_zfs_nvlist_lookup_string): Likewise.
2810 (get_nvlist_size): Likewise.
2811 (grub_zfs_open): Likewise.
2812 (fill_fs_info): Likewise.
2813 (grub_zfs_dir): Likewise.
2814 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
2815 alignment invariants.
2816 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
2817 necessarily aligned.
2818
f138623a
VS
28192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2822
564840dc
VS
28232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
2826 arithmetic to conserve alignment invariants.
2827
9b40df20
VS
28282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
2831 redundant declaration.
2832 (grub_efiemu_mm_obtain_request): Likewise.
2833 (grub_efiemu_prepare): Likewise.
2834
d1c930f9
VS
28352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
2838 to match types.
2839
4c5f3056
VS
28402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
2843 case of aunaligned recptr.
2844 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
2845 alignment.
2846 (grub_hfsplus_btree_search): Handle unaligned index.
2847
728cba91
VS
28482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
2851 to get freetag and skip.
2852
eb561f31
VS
28532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
2856 array.
2857 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
2858 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
2859
20993fbb
VS
28602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
2863 name for checksum and fix allocation algorithm.
2864
1f313b94
VS
28652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * include/grub/types.h (grub_properly_aligned_t): New type.
2868 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
2869 (grub_get_unaligned16): Add explicit casts.
2870 (grub_get_unaligned32): Likewise.
2871 (grub_get_unaligned64): Likewise.
2872 (grub_set_unaligned16): New function.
2873 (grub_set_unaligned32): Likewise.
2874
47ae27ec
VS
28752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2878
78c2cd1c
VS
28792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2882 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2883 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2884
53072f9b
VS
28852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2888 conditionals.
2889
055dc239
VS
28902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2893 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2894
496bd074
VS
28952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Unify and improve RAID and crypto xor.
2898
2899 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2900 changed to grub_crypto_xor
2901 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2902 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2903 Use bigger types when possible.
2904
ef6e4335
VS
29052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/disk/raid.c (scan_devices): Fix condition.
2908
5d048bf2
VS
29092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2912 Make name a const ptr.
2913
ee533335
VS
29142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2917 first argument a const pointer.
2918 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2920 proto.
2921 (grub_children_iterate): Likewise.
2922 (grub_machine_mmap_iterate): Remove redundant declaration.
2923
cc8f3668
VS
29242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2927 (grub_cmd_acpi) [!x86]: Disable EBDA.
2928
c5fc563a
VS
29292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Enable UTF8 in gnulib regexp.
2932
2933 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2934 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2935 (isupper): Use grub_isupper.
2936 (isascii): New inline function.
2937 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2938 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2939 * grub-core/normal/charset.c (grub_utf8_process): New function.
2940 (grub_utf8_to_utf16): Use grub_utf8_process.
2941 (grub_encode_utf8_character): New function.
2942 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2943 * include/grub/charset.h (grub_utf8_process): New declaration.
2944 (grub_encode_utf8_character): Likewise.
2945 * include/grub/misc.h (grub_islower): New inline function.
2946 (grub_isupper): Likewise.
2947 (grub_strchrsub): Moved down to fix the definitions.
2948
0af2346f
VS
29492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2952 specification.
2953
74dbd244
VS
29542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * include/grub/loader.h (grub_loader_register_preboot_hook):
2957 Use struct preboot * and not void * for handle. All users updated.
2958 (grub_loader_unregister_preboot_hook): Likewise.
2959
1bc8f60d
VS
29602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2963 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2964 UTF-16-BE. All users updated.
2965 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2966 (grub_hfsplus_iterate_dir): Likewise.
2967 (grub_hfsplus_label): Likewise.
2968
48d6e456
VS
29692011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2972
bf3a3857
VS
29732011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Add missing const qualifiers.
2976
2977 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2978 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2979 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2980 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2981 (grub_lvm_check_flag): Likewise.
2982 * grub-core/efiemu/i386/coredetect.c
2983 (grub_efiemu_get_default_core_name): Likewise
2984 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2985 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2986 * grub-core/fs/ntfs.c (fixup): Likewise.
2987 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2988 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2989 (fzap_lookup): Likewise.
2990 (zap_lookup): Likewise.
2991 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2992 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2993 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2994 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2995 (grub_freebsd_add_meta_module): Likewise.
2996 (grub_cmd_freebsd_module): Likewise.
2997 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2998 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2999 (grub_xnu_writetree_get_size): Likewise.
3000 (grub_xnu_writetree_toheap_real): Likewise.
3001 (grub_xnu_find_key): Likewise.
3002 (grub_xnu_create_key): Likewise.
3003 (grub_xnu_create_value): Likewise.
3004 (grub_xnu_register_memory): Likewise.
3005 (grub_xnu_check_os_bundle_required): Likewise.
3006 (grub_xnu_scan_dir_for_kexts): Likewise.
3007 (grub_xnu_load_kext_from_dir): Likewise.
3008 * grub-core/normal/color.c (color_list): Likewise.
3009 * grub-core/normal/completion.c (current_word): Likewise.
3010 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3011 * grub-core/term/serial.c (grub_serial_find): Likewise.
3012 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3013 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3014 Likewise.
3015 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3016 (grub_freebsd_add_meta_module): Likewise.
3017 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3018 * include/grub/net.h (grub_net_card_driver): Likewise.
3019 (grub_net_card): Likewise.
3020 (grub_net_app_protocol): Likewise.
3021 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3022 * include/grub/serial.h (grub_serial_find): Likewise.
3023 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3024 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3025 (grub_xnu_create_value): Likewise.
3026 (grub_xnu_find_key): Likewise.
3027 (grub_xnu_scan_dir_for_kexts): Likewise.
3028 (grub_xnu_load_kext_from_dir): Likewise.
3029
3030 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3031 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3032 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3033 Moved from here ...
3034 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3035
112b4837
CW
30362011-11-28 Colin Watson <cjwatson@ubuntu.com>
3037
3038 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3039
49e891ac
VS
30402011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3043 (read_device): Fix size calculation.
3044
fd258e5c
RM
30452011-11-25 Robert Millan <rmh@gnu.org>
3046
3047 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3048 (find_root_device_from_libzfs): Add zpool output parser to be used
3049 as fallback when libzfs isn't available.
3050
78845dc2
SG
30512011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3052
3053 * po/Makefile.in.in: Add missing escape-continuation.
3054
adac5211
VS
30552011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3058
10b64f1c
VS
30592011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3062
bb416954
VS
30632011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3066
bdfe9eeb
VS
30672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3070
581ffa8a
VS
30712011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/lib/adler32.c: Add missing license specification.
3074 * grub-core/lib/crc64.c: Likewise.
3075 * grub-core/loader/i386/pc/plan9.c: Likewise.
3076 * grub-core/partmap/plan.c: Likewise.
3077
2536cf64
LK
30782011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3079
3080 Add facility to debug GRUB with gdb under qemu.
3081
3082 * grub-core/gdb_grub.in: New file.
3083 * grub-core/gmodule.pl.in: Likewise.
3084 * grub-core/Makefile.core.def (gmodule.pl): New script.
3085 (gdb_grub): Likewise.
3086
bc108a4a
VS
30872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * util/grub-mount.c (argp_parser): Accept relative pathes.
3090 * util/grub-fstest.c (argp_parser): Likewise.
3091
111c1778
VS
30922011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Plan9 support.
3095
3096 * Makefile.util.def (libgrubmods): Add
3097 grub-core/partmap/plan.c.
3098 * docs/grub.texi: Notice Plan9 support.
3099 * grub-core/Makefile.core.def (plan9): New module.
3100 (part_plan): Likewise.
3101 * grub-core/loader/i386/pc/plan9.c: New file.
3102 * grub-core/partmap/plan.c: Likewise.
3103 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3104 define.
3105 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3106 * include/grub/mm.h (grub_extend_alloc): New inline function.
3107
c30be3b6
VS
31082011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Make Reed-Solomon faster by using power of generator representation of
3111 GF(256)*.
3112
3113 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3114 (gf_double_t): Likewise.
3115 (gf_invert): Removed.
3116 (gf_powx): New array.
3117 (gf_powx_inv): Likewise.
3118 (scratch): Move higher.
3119 (gf_reduce): Removed.
3120 (gf_mul): Use powx.
3121 (gf_invert): Likewise.
3122 (init_inverts): Replaced with ...
3123 (init_powx): ...this. All users updated.
3124 (pol_evaluate): Replace multiplications with additions.
3125 (rs_encode): Likewise.
3126 (gauss_eliminate): Call gf_invert.
3127 (grub_reed_solomon_add_redundancy): Call init_powx.
3128 (grub_reed_solomon_recover): Call init_powx unconditionally.
3129
fa5aeffc
VS
31302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3133
a346b81c
VS
31342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3137 disk->partiton for safety.
3138
d89ee414
VS
31392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3142 Fix a memory leak.
3143 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3144
91ee7b6d
VS
31452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3148
91e5a33d
VS
31492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3152
9edd7be2
VS
31532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 Fix spaces handling in proc/self/mountinfo.
3156
3157 * util/getroot.c (unescape): New function.
3158 (grub_find_root_device_from_mountinfo): Use unescape.
3159
ba102053
VS
31602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Support ZFS embedding.
3163
3164 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3165 (grub_zfs_fs): Register grub_zfs_embed.
3166
aa94b870
VS
31672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Fix MIPS compilation.
3170
3171 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3172 * include/grub/offsets.h: Rename decompressor fields from
3173 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3174 * util/grub-mkimage.c (image_targets): Use new names.
3175
5fbdac14
VS
31762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Defer multiboot device parsing until we're in compressed part.
3179
3180 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3181 bsd_part. setdevice has fallen into disuse.
3182 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3183 (bsd_part): Likewise.
3184 (boot_dev): New variable.
3185 (multiboot_trampoline): Don't parse multiboot device.
3186 Pass multiboot device in %edx.
3187 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3188 grub_boot_device.
3189 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3190 Likewise.
3191 * grub-core/kern/i386/pc/startup.S: Save edx.
3192 (grub_boot_drive): Removed.
3193 (grub_install_dos_part): Likewise.
3194 (grub_install_bsd_part): Likewise.
3195 (grub_boot_device): New variable.
3196 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3197 (grub_install_bsd_part): Likewise.
3198 (grub_boot_drive): Likewise.
3199 (grub_boot_device): New variable.
3200 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3201 Removed.
3202 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3203 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3204 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3205 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3206 * util/grub-install.in: Remove redundant condition.
3207
691cbb58
VS
32082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Fix bug introduced by previous commit.
3211
3212 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3213
60240b8b
VS
32142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Use decompressors framework on i386-pc. It increases core size
3217 by 46 bytes but improves compatibility and maintainability.
3218
3219 * grub-core/Makefile.core.def (lzma_decompress): New image.
3220 (kernel): Add i386_pc_ldflags.
3221 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3222 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3223 to real_to_prot, prot_to_real and device info.
3224 * include/grub/offsets.h: Renamed decompressor offsets.
3225 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3226 (image_target_desc): Remove raw_size and rename decompressor fields.
3227 (compress_kernel): Handle lzma.
3228 (generate_image): Handle decompressors on i386-pc.
3229
e9d3421c
VS
32302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * configure.ac: Add -fno-asynchronous-unwind-tables.
3233
2b23074a
VS
32342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Move assembly code to C by using intwrap. It increases core size
3237 by 88 bytes but improves compatibility and maintainability.
3238
3239 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3240 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3241 ... here. Translated to C.
3242 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3243 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3244 ... here. Translated to C.
3245 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3246 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3247 ... here. Translated to C.
3248 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3249 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3250 ... here. Translated to C.
3251 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3252 * grub-core/term/i386/pc/console.c (grub_console_cls):
3253 ... here. Translated to C.
3254 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3255 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3256 ... here. Translated to C.
3257 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3258 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3259 Translated to C.
3260 * grub-core/term/i386/pc/console.c (int10_9): New function.
3261 (grub_console_putchar): Likewise.
3262 * include/grub/i386/pc/console.h: Removed the not anymore shared
3263 functions.
3264
678f4b67
VS
32652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Move grub_chainloader_real_boot out of the kernel.
3268
3269 * grub-core/Makefile.am: Remove machine/loader.h.
3270 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3271 Removed.
3272 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3273 variable.
3274 (grub_relocator16_keep_a20_enabled): Likewise.
3275 (grub_relocator16_boot): Fill new variables.
3276 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3277 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3278 relocator.
3279 (grub_chainloader_unload): Likewise.
3280 (grub_chainloader_cmd): Likewise.
3281 * include/grub/i386/pc/loader.h: Removed.
3282 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3283 and esi. All initialisers updated.
3284
4626edf6
VS
32852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
32862011-11-12 Colin Watson <cjwatson@ubuntu.com>
3287
3288 * Makefile.util.def (grub-mount): New util.
3289 * .bzrignore: Add grub-mount.
3290 * configure.ac: Check for fuse and enable grub-mount if available.
3291 * docs/man/grub-mount.h2m: New file.
3292 * util/grub-mount.c: Likewise.
3293
10f0117b
VS
32942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/commands/efi/fixvideo.c: Gettextize.
3297 * grub-core/commands/hashsum.c: Likewise.
3298 * grub-core/commands/i386/cmostest.c: Likewise.
3299 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3300 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3301 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3302 * grub-core/commands/lsmmap.c: Likewise.
3303 * grub-core/commands/menuentry.c: Likewise.
3304 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3305 * grub-core/commands/setpci.c: Likewise.
3306 * grub-core/loader/i386/bsd.c: Likewise.
3307 * grub-core/loader/i386/linux.c: Likewise.
3308 * util/getroot.c: Likewise.
3309 * util/grub-editenv.c: Likewise.
3310 * util/grub-fstest.c: Likewise.
3311 * util/grub-mkfont.c: Likewise.
3312 * util/grub-mkimage.c: Likewise.
3313 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3314 * util/grub-pe2elf.c: Likewise.
3315 * util/grub-probe.c: Likewise.
3316 * util/grub-setup.c: Likewise.
3317 * util/ieee1275/ofpath.c: Likewise.
3318 * util/misc.c: Likewise.
3319 * util/raid.c: Likewise.
3320
566f779b
RM
33212011-11-11 Robert Millan <rmh@gnu.org>
3322
3323 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3324 __attribute__((unused)) from `os_dev', which *is* being used.
3325
b50787de
VS
33262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3329 forgotten define.
3330 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3331 GRUB_IA64_DL_GOT_ALIGN.
3332 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3333 GRUB_IA64_DL_TRAMP_ALIGN.
3334
119d11c8
VS
33352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Replace grub_fatal with normal errors in i386 linux loader.
3338
3339 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3340 (allocate_pages): Check find_efi_mmap_size return value.
3341 (grub_e820_add_region): Return error.
3342 (grub_linux_boot): Check mmap return value.
3343
6e0632e2
VS
33442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/commands/acpihalt.c: Gettextized.
3347 * grub-core/commands/cacheinfo.c: Likewise.
3348 * grub-core/commands/cmp.c: Likewise.
3349 * grub-core/commands/efi/loadbios.c: Likewise.
3350 * grub-core/commands/gptsync.c: Likewise.
3351 * grub-core/commands/ieee1275/suspend.c: Likewise.
3352 * grub-core/commands/legacycfg.c: Likewise.
3353 * grub-core/commands/memrw.c: Likewise.
3354 * grub-core/commands/minicmd.c: Likewise.
3355 * grub-core/commands/parttool.c: Likewise.
3356 * grub-core/commands/time.c: Likewise.
3357 * grub-core/commands/videoinfo.c: Likewise.
3358 * grub-core/disk/geli.c: Likewise.
3359 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3360 * grub-core/disk/luks.c: Likewise.
3361 * grub-core/disk/lvm.c: Likewise.
3362 * grub-core/font/font_cmd.c: Likewise.
3363 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3364 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3365 * grub-core/gfxmenu/view.c: Likewise.
3366 * grub-core/kern/emu/hostdisk.c: Likewise.
3367 * grub-core/kern/emu/main.c: Likewise.
3368 * grub-core/kern/emu/misc.c: Likewise.
3369 * grub-core/kern/emu/mm.c: Likewise.
3370 * grub-core/kern/mips/arc/init.c: Likewise.
3371 * grub-core/kern/mips/loongson/init.c: Likewise.
3372 * grub-core/kern/partition.c: Likewise.
3373 * grub-core/lib/i386/halt.c: Likewise.
3374 * grub-core/lib/mips/arc/reboot.c: Likewise.
3375 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3376 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3377 * grub-core/loader/i386/xnu.c: Likewise.
3378 * grub-core/loader/multiboot.c: Likewise.
3379 * grub-core/net/bootp.c: Likewise.
3380 * grub-core/net/net.c: Likewise.
3381 * grub-core/normal/term.c: Likewise.
3382 * grub-core/partmap/bsdlabel.c: Likewise.
3383 * grub-core/parttool/msdospart.c: Likewise.
3384 * grub-core/term/gfxterm.c: Likewise.
3385 * grub-core/term/terminfo.c: Likewise.
3386 * grub-core/video/i386/pc/vbe.c: Likewise.
3387 * util/grub-menulst2cfg.c: Likewise.
3388 * util/grub-mkdevicemap.c: Likewise.
3389 * util/grub-mklayout.c: Likewise.
3390 * util/grub-mkrelpath.c: Likewise.
3391 * util/grub-script-check.c: Likewise.
3392 * util/ieee1275/grub-ofpathname.c: Likewise.
3393 * util/resolve.c: Likewise.
3394
073aa7a9
VS
33952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 Support %1$d syntax.
3398
3399 * tests/printf_unit_test.c: New file.
3400 * Makefile.util.def (printf_test): New test.
3401 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3402
c76b5417
VS
34032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3406 fix.
3407
df067ad1
VS
34082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3411 dprintf.
3412 * grub-core/font/font.c (grub_font_load): Likewise.
3413
5b289bc5
VS
34142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-macho2img.c: Add comment concerning gettext.
3417 * grub-core/lib/legacy_parse.c: Likewise.
3418
c1860f87
VS
34192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3422 (grub_xvasprintf): Likewise.
3423
d35d0d37
VS
34242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Add const keyword to grub_env_get and gettextize week days.
3427
3428 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3429 (grub_read_hook_datetime): Return const char *.
3430 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3431 updated.
3432 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3433 Mark for gettext.
3434 (grub_get_weekday_name): Return const char *. Call gettext.
3435 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3436 char * and len as the argument. All users updated.
3437 (grub_script_argv_split_append): Receive const char *.
3438 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3439 * include/grub/env.h (grub_env_get): Likewise.
3440 (grub_env_read_hook_t): Return const char *.
3441 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3442 (grub_script_argv_split_append): Likewise.
3443
9aed8a71
VS
34442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3447
067fdf00
VS
34482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3451 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3452
a8bd9d39
VS
34532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3456 Fix prototype.
3457
f7ce5baf
VS
34582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Fix mips compilation.
3461
3462 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3463 normal decoder.
3464 (hashes): Use in embed decoder as well (for sizes).
3465 (dec_stream_header): Fix embed decompressor logic.
3466 (dec_stream_footer): Likewise.
3467
9bb182f3
VS
34682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3471 an error and not a fatal on unrecognised relocation types.
3472
63a9e6f6
VS
34732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3476 Issue error rather than printf on unknown arguments.
3477
4c458569
VS
34782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3481 Make buf a const.
3482
e2d22baf
VS
34832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3486 Fix module name.
3487
53dc8590
VS
34882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3491 leftover debug printf.
3492
6c189294
VS
34932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3496
f7688369
VS
34972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3500 A stylistic fix.
3501
11a775a3
VS
35022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3505
33f784e8
SL
35062011-11-10 Shea Levy <slevy@tieronedesign.com>
3507
3508 Allow all modules to perform serial IO
3509
3510 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3511 * include/grub/serial.h (grub_serial_port_configure): New inline
3512 function.
3513 (grub_serial_port_fetch): Likewise.
3514 (grub_serial_port_put): Likewise.
3515 (grub_serial_port_fini): Likewise.
3516 (grub_serial_find): New proto.
3517
f6276525
VS
35182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Put symlink at the end of the node and fix a potential
3521 memory corruption.
3522
3523 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3524 Make symlink into an array.
3525 (set_rockridge): Set have_symlink and alloc_dirents.
3526 (grub_iso9660_read_symlink): Use new layout.
3527 (grub_iso9660_iterate_dir): Fix memory corruption.
3528 Use new layout.
3529 (grub_iso9660_dir): Set have_symlink.
3530 (grub_iso9660_open): Likewise.
3531
c3591189
VS
35322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Remove local keyword.
3535
3536 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3537 (version_test_gt): Likewise.
3538 (version_find_latest): Likewise.
3539 (gettext_printf): Likewise.
3540 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3541
cb544caa
VS
35422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3545
45bd824d
VS
35462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Fix ZFS memory and resource leaks.
3549
3550 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3551 All users updated.
3552 Free type on exit.
3553 (fill_vdev_info): New parameter inserted. All users updated.
3554 (check_pool_label): Likewise.
3555 (scan_disk): Likewise.
3556 (scan_devices): Close non-inserted disks.
3557 (fzap_iterate): Free l.
3558 (unmount_device): Free children descripto memory.
3559
ad9a2f44
VS
35602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3563 argument (access out of bounds).
3564
6b68db81
VS
35652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3568 >= 6 drives.
3569
28840fda
VS
35702011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3573 Fix declaration.
3574
8a5a3a5b
VS
35752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 Fix several memory leaks.
3578
3579 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3580 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3581 (grub_cpio_dir): Likewise.
3582 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3583 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3584 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3585 (grub_romfs_label): Likewise.
3586 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3587 (squash_unmount): New function.
3588 (grub_squash_dir): Fix memory leak.
3589 (grub_squash_open): Likewise.
3590 (grub_squash_read): Likewise.
3591 (grub_squash_mtime): Likewise.
3592 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3593 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3594 * util/grub-fstest.c (fstest): Likewise.
3595
57b01250
VS
35962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3599 avoid accessing beyond the array.
3600
19e81ba7
VS
36012011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3604
52b656c0
VS
36052011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Several AFFS fixes.
3608
3609 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3610 (GRUB_AFFS_FLAG_FFS): Removed.
3611 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3612 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3613 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3614 (grub_fshelp_node): Make block 32-bit.
3615 Add block_cache and last_block_cache.
3616 (grub_affs_read_block): Fill and use block cache.
3617 (grub_affs_read_file): Removed.
3618 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3619 boot block.
3620 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3621 safety.
3622 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3623 space.
3624 (grub_affs_close): Free block cache.
3625 (grub_affs_read): Use grub_fshelp_read_file directly.
3626
438a746a
VS
36272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3630 with no error set.
3631
49a45021
VS
36322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3635 used variable.
3636 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3637 Likewise.
3638
3ae17eb8
VS
36392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
3642
3643 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
3644 byteswap when needed.
3645
27610c38
VS
36462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 Fix FreeBSD compilation.
3649
3650 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3651 to avoid circular dependency.
3652 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3653 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3654 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3655
4a19b601
VS
36562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 Fix ZFS crypto error types.
3659
3660 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3661 (grub_gcm_decrypt): Likewise.
3662 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3663 from PBKDF2.
3664
958ee221
VS
36652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Illumos support.
3668
3669 * Makefile.util.def (10_illumos): New script.
3670 * configure.ac: Set COND_HOST_ILLUMOS.
3671 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3672 Support Illumos calls.
3673 (find_partition_start) [__sun__]: Likewise.
3674 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3675 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3676 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3677 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3678 device.
3679 * util/grub-probe.c (probe) [__sun__]: Do character check.
3680 * util/grub.d/10_illumos.in: New file.
3681
cac14fb6
VS
36822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 Support escaped commas in hostdisk.
3685
3686 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3687 (find_grub_drive): Use unescape_cmp.
3688 (make_device_name): Escape commas.
3689
78e08dc3
VS
36902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3693
9f421dd1
VS
36942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3697 variable.
3698
ed64e9e2
VS
36992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Support trampoline jumps on powerpc.
3702
3703 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3704 __ia64__ path.
3705 (grub_dl_load_segments): Set mod->sz.
3706 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3707 segments.
3708 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3709 (jump): Likewise.
3710 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3711 function.
3712 (trampoline): New struct.
3713 (trampoline_template): New const.
3714 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
3715 * include/grub/dl.h (grub_dl): Add sz element.
3716 [__powerpc__]: Follow __ia64__.
3717 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
3718 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
3719 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
3720 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
3721
3084ede4
VS
37222011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 ZFS crypto support.
3725
3726 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
3727 * grub-core/Makefile.core.def (zfscrypt): New module.
3728 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
3729 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
3730 it. All users updated.
3731 (grub_zfs_decrypt): New var.
3732 (grub_zfs_load_key): Likewise.
3733 (zio_checksum_functions): Add SHA256+MAC.
3734 (zio_checksum_verify): Handle incomplete comparison due to MAC.
3735 (zio_read): Handle encrypted blocks.
3736 (zap_verify): Remove incorrect check.
3737 (fzap_iterate): Handle non-standard fzap.
3738 (zap_iterate): Likewise.
3739 (zap_iterate_u64): New function.
3740 (dnode_get_fullpath): Load keys.
3741 * grub-core/fs/zfs/zfscrypt.c: New file.
3742 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
3743 (grub_crypto_ecb_encrypt): Make input const.
3744 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
3745 (grub_crypto_ecb_encrypt): Make input const.
3746 (GRUB_CIPHER_AES): New macro.
3747 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
3748 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
3749 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
3750 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
3751 prefix. All users updated.
3752 (grub_zfs_add_key): New proto.
3753 (grub_zfs_decrypt): Likewise.
3754 (grub_zfs_load_key): Likewise.
3755 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
3756 * util/grub-fstest.c (options): Add -K option.
3757 (argp_parser): Likewise.
3758
b632b404
VS
37592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Support zle compression on ZFS.
3762
3763 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
3764 (decomp_table): Add zle.
3765 * include/grub/zfs/zio.h (zio_compress): Add zle.
3766
c7ba4f69
VS
37672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Support BtrFS embedding.
3770
3771 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
3772 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
3773 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
3774 * util/grub-setup.c (setup): Use fs embedding if available.
3775 Add additional sanity check.
3776
455377d9
VS
37772011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * util/grub-install.in: Fix condition for config_opt.
3780
c2fd16ca
VS
37812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 Support third redundancy strip on raidz3.
3784
3785 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
3786 Return error on singularity. All users updated.
3787 (read_device): Don't stop on 3rd failure on raidz3.
3788
8622923b
VS
37892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Support case-insensitive ZFS subvolumes.
3792
3793 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
3794 All users updated.
3795 (zap_hash): Likewise.
3796 (name_cmp): New function.
3797 (zap_leaf_array_equal): New parameter case_insensitive.
3798 All users updated.
3799 (zap_leaf_lookup): Likewise.
3800 (fzap_lookup): Likewise.
3801 (zap_lookup): Likewise.
3802 (dnode_get_path): New parameter case_insensitive. Retrieve case
3803 sensitiviness of a volume. All users updated.
3804 (dnode_get_fullpath): New parameter case_insensitive.
3805 All users updated.
3806 (grub_zfs_dir): Set info.case_insensitiveness.
3807
95f2e860
VS
38082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Support second redundancy strip on raidz(2,3).
3811
3812 * grub-core/fs/zfs/zfs.c (powx): New array.
3813 (powx_inv): Likewise.
3814 (poly): New const.
3815 (xor_out): New function.
3816 (gf_mul): Likewise.
3817 (recovery): Likewise.
3818 (read_device): Use second redundancy strip.
3819
11ee4389
VS
38202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Use a power of generator representation of GF(256) multiplication group
3823 to save space time and complexity.
3824
3825 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
3826 (raid6_table2): Likewise.
3827 (powx): New array.
3828 (powx_inv): Likewise.
3829 (poly): New const.
3830 (grub_raid_block_mul): Replace with ...
3831 (grub_raid_block_mulx): ...this.
3832 (grub_raid6_init_table): Rewritten.
3833 (grub_raid6_recover): Use power of generator representation.
3834
09e2763f
VS
38352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
3838 for the right device.
3839
8bec9a28
VS
38402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
3843 expected by grub-mkimage and it's more clear since there is no implicit
3844 padding.
3845
dbd3a32e
VS
38462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
3849 disk.
3850 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3851
182c872a
PMH
38522011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
3853
3854 * util/grub-mkrescue.in: Fix handling xorriso option.
3855
1e51cabd
VS
38562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
3859 NULL.
3860
9cc3581d 38612011-11-03 crocket <crockabiscuit@gmail.com>
3862
3863 * util/grub.d/10_linux.in: Add Slackware initrd naming.
3864
158dc1ea
VS
38652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 XZ CRC64 and SHA256 support.
3868
3869 * Makefile.util.def (libgrubmods): Add crc64.c.
3870 * grub-core/Makefile.core.def (crc64): New module.
3871 * grub-core/lib/crc64.c: New file.
3872 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
3873 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
3874 Fix the type.
3875 (MAX_HASH_SIZE): New define.
3876 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
3877 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3878 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3879 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3880 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3881 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3882 Handle non-crc32 hashes.
3883 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3884 (dec_stream_header): Handle non-crc32 hashes.
3885 (dec_stream_footer): Likewise.
3886 (dec_block_header): Likewise.
3887 (dec_main): Likewise.
3888 (xz_dec_init): Likewise.
3889 (xz_dec_reset): Likewise.
3890 (xz_dec_end): Likewise.
3891 * util/import_gcry.py: Add CRC64 line.
3892
9d9b3d2f
VS
38932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3896 as well.
3897
7d0ac931
VS
38982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 Make reiserfs label retrieval similar to other *_label functions.
3901
3902 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3903 (REISERFS_MAX_LABEL_LENGTH): Removed.
3904 (REISERFS_LABEL_OFFSET): Likewise.
3905 (grub_reiserfs_label): Rewritten.
3906
39072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3910 field.
3911
cf5ba824
VS
39122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3915
17744004
VS
39162011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3919 drive failure on both raidz and raidz2.
3920
aca5aefc
VS
39212011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Fix RAIDZ(2) for >= 5 devices.
3924
3925 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3926 asize argument. All users updated.
3927
ce8ca56e
VS
39282011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 Fix RAIDZ(2).
3931
3932 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3933 (fill_vdev_info_real): Set ashift.
3934 (read_device): Rewrite RAIDZ part based on reverse engineering.
3935
7c01e783
VS
39362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3939 don't report potentially unavialiable fields in debug output.
3940 (find_path): Fix double-free and memory leak.
3941
ce109e84
VS
39422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 Read label on UFS1.
3945
3946 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3947 (grub_ufs_fs): Always set .label.
3948
87661123
VS
39492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Use shifts in UFS.
3952
3953 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3954 (grub_ufs_data): New field log2_blksz.
3955 (grub_ufs_read_file): Use shifts.
3956 (grub_ufs_mount): Check block size and logarithm it.
3957
46bc1dc2
VS
39582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3961 long symlinks.
3962
19ee2987
VS
39632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Handle symlinks and long names on tar and cpio.
3966
3967 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3968 (ATTR_FILE): Likewise.
3969 (ATTR_DIR): Likewise.
3970 (ATTR_LNK): Likewise.
3971 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3972 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3973 L and K entries.
3974 (grub_cpio_mount): Zero-fill data.
3975 (handle_symlink): New function.
46bc1dc2
VS
3976 (grub_cpio_dir): Handle symlinks.
3977 (grub_cpio_open): Likewise.
3978 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 3979
c83a08d8
VS
39802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Fix iso9660 filename limitations and fix memory leaks.
3983
3984 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3985 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3986
45cdd3ea
VS
39872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Fix JFS file name length limitations.
3990
3991 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3992 (grub_jfs_diropen): Fix maximum filename length.
3993 (grub_jfs_getent): Fix filename length.
3994 (grub_jfs_lookup_symlink): Fix size checks.
3995
94ef05c2
VS
39962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3999 string.
4000
785ab8c7
VS
40012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4002
eb0b6b45
VS
4003 Leverage BFS implementation to read AFS.
4004
4005 * Makefile.util.def (libgrubmods): Add afs.c.
4006 * grub-core/Makefile.core.def (afs): New module
4007 * grub-core/fs/afs.c: New file.
4008 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4009
40102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4013
c4a1628f
VS
40142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/fs/bfs.c: Run indent.
4017
5825b379
VS
40182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 BFS implementation based on the specification.
4021
4022 * grub-core/fs/bfs.c: New file.
4023 * Makefile.util.def (libgrubmods): Add bfs.c.
4024 * grub-core/Makefile.core.def (bfs): New module.
4025
42b2a706
VS
40262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * util/grub-fstest.c (cmd_cp): Clarify error message.
4029 (cmd_cmp): Likewise.
4030
61b99bfc
YB
40312011-10-30 Yves Blusseau <blusseau@zetam.org>
4032
4033 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4034 and befs_be.
4035
faba3d16
VS
40362011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 Remove afs and befs because of copyright problem.
4039
4040 * grub-core/fs/afs.c: Removed.
4041 * grub-core/fs/afs_be.c: Removed.
4042 * grub-core/fs/befs.c: Removed.
4043 * grub-core/fs/befs_be.c: Removed.
4044 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4045 * grub-core/Makefile.core.def (afs): Removed.
4046 (afs_be): Likewise.
4047 (befs): Likewise.
4048 (befs_be): Likewise.
4049
c39224b0
VS
40502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 Prefer rockridge over Joliet.
4053
4054 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4055 to ...
4056 (set_rockridge): ... here.
4057 (grub_iso9660_mount): Check rockridge on the primary label when
4058 discovering. Ignore Joliet if Rockridge is present.
4059
e551115a
VS
40602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Use shifts in nilfs2.
4063
4064 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4065 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4066 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4067 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4068 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4069 (grub_nilfs2_entries_per_block): Replaced with ...
4070 (grub_nilfs2_log_entries_per_block_log): ... this.
4071 (grub_nilfs2_blocks_per_group): Replaced with ...
4072 (grub_nilfs2_blocks_per_group_log): ... this.
4073 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4074 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4075 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4076 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4077 (grub_nilfs2_palloc_entry_offset): Replaced ...
4078 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4079 (grub_nilfs2_dat_translate): Use shifts.
4080 (grub_nilfs2_read_inode): Likewise.
4081 (GRUB_MOD_INIT): Ensure that logs are correct.
4082
564dd58c
VS
40832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Use shifts in minix filesystem.
4086
4087 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4088 (GRUB_MINIX_ZONE2SECT): Likewise.
4089 (grub_minix_data): Replace block_size with log_block_size.
4090 (grub_minix_read_file): Use shifts.
4091 (grub_minix_mount): Check block size and take a logarithm.
4092
ed9ba06d
VS
40932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Use shifts in squash4.
4096
4097 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4098 (squash_mount): Check block size and take logarithm.
4099 (direct_read): Use shifts.
4100
ad03fe76
VS
41012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 Correct befs block counting logic.
4104
4105 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4106 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4107 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4108 (grub_afs_read_inode): Use block_shift.
4109 (RANGE_SHIFT): New definition.
4110 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4111 unexpected conditions, use shifts and appropriate types.
4112 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4113
6563f63d
VS
41142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/disk/raid.c (scan_devices): Check partition.
4117 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4118
5b1ae25f
VS
41192011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Support BFS (befs) UUID.
4122
4123 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4124 (grub_afs_small_data_element_header): New struct.
4125 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4126 (grub_afs_read_attribute) [MODE_BFS]: New function.
4127 (grub_afs_iterate_dir): Allocate for complete inode.
4128 (grub_afs_mount): Likewise.
4129 (grub_afs_uuid) [MODE_BFS]: New function.
4130 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4131
f8d82408
VS
41322011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4135 (zfs_unmount): Fix memory leak.
4136
5773fb64
VS
41372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Support NTFS reparse points.
4140
4141 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4142 (symlink_descriptor): New struct.
4143 (grub_ntfs_read_symlink): New function.
4144 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4145 (grub_ntfs_open): Likewise.
4146
91c3fdde
VS
41472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4150
3be82e10
VS
41512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 fstest xnu_uuid subcommand.
4154
4155 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4156 grub-core/commands/xnu_uuid.c.
4157 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4158 (fstest): Handle xnu_uuid.
4159 (options): Document xnu_uuid.
4160 (argp_parser): Parse xnu_uuid.
4161
8e32442e
VS
41622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4165 -l argument. Add newline at the end if printing.
4166 (GRUB_MOD_INIT): Document -l.
4167
52a05075
VS
41682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4171
1869edb5
VS
41722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 ZFS multi-device and version 33 support.
4175
4176 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4177 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4178 (grub_zfs_data): Add multidev-ice-related fields.
4179 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4180 (dva_get_offset): Make dva const.
4181 (zfs_fetch_nvlist): New function.
4182 (fill_vdev_info_real): Likewise.
4183 (fill_vdev_info): Likewise.
4184 (check_pool_label): Likewise.
4185 (scan_disk): Likewise.
4186 (scan_devices): Likewise.
4187 (read_device): Likewise.
4188 (read_dva): Likewise.
4189 (zio_read_gang): Use read_dva.
4190 (zio_read_data): Likewise.
4191 (zap_leaf_lookup): Add missing endian conversion.
4192 (zap_verify): Add missing endian conversion. All users updated.
4193 (fzap_lookup): Likewise.
4194 (fzap_iterate): Likewise.
4195 (dnode_get_path): Handle SA bonus.
4196 (nvlist_find_value): Make input const. All users updated.
4197 (unmount_device): New function.
4198 (zfs_unmount): Use unmount_device.
4199 (zfs_mount): Use scan_disk.
4200 (zfs_mtime): New function.
4201 (grub_zfs_open): Handle system attributes.
4202 (fill_fs_info): Likewise.
4203 (grub_zfs_dir): Likewise.
4204 (grub_zfs_fs): Add mtime.
4205 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4206 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4207 (SA_MTIME_OFFSET): Likewise.
4208 (SA_SYMLINK_OFFSET): Likewise.
4209 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4210 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4211 (fstest): Support zfsinfo.
4212 (argp_parser): Likewise.
4213
186b4028
VS
42142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4217 error.
4218
42192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4220
4221 ZFS fixes.
4222
4223 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4224 sharing the same block. Iterate over correct number of indices.
4225 (dnode_get_path): Handle symlinks correctly.
4226
c0584900
VS
42272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4230
67e2bd71
VS
42312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 Read label on HFS+.
4234
4235 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4236 (grub_hfsplus_btree_search): Fix types.
4237 (grub_hfsplus_label): Implement.
4238
e9cc6b7b
VS
42392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4242
19832ddb
VS
42432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4246
66b40850
VS
42472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Fix symlink handling on iso9660.
4250
4251 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4252 All users updated.
4253 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4254 (grub_iso9660_read_symlink): Moved most of code ...
4255 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4256
db821363
VS
42572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4260 Use union to avoid breaking strict-aliasing rules.
4261
e1211949
VS
42622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 Support multi-extent iso files.
4265
4266 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4267 Add node.
4268 (grub_fshelp_node): Revamp. All users updated.
4269 (FLAG_*): New enum.
4270 (read_node): New function.
4271 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4272 All users updated.
4273 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4274 (get_node_size): New function.
4275 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4276 entries.
4277 Fix memory leak on . and ..
4278 (grub_iso9660_read): Use read_node.
4279 (grub_iso9660_close): Free node.
4280
d4888031
VS
42812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Fix tar 4G limit and handle paths containing dot.
4284
4285 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4286 (canonicalize): New function.
4287 (grub_cpio_find_file): Use canonicalize. Store offs in
4288 grub_disk_addr_t.
4289 (grub_cpio_dir): Use grub_disk_addr_t.
4290 (grub_cpio_open): Likewise.
4291
9f12e664
VS
42922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4295
4296 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4297 unused flags.
4298 (grub_squash_inode): Add long_file and block_size.
4299 (grub_squash_cache_inode): New struct.
4300 (grub_squash_dirent): Make types into enum.
4301 (SQUASH_TYPE_LONG_REGULAR): New type.
4302 (grub_squash_frag_desc): Add field size.
4303 (SQUASH_BLOCK_FLAGS): New enum.
4304 (grub_squash_data): Use grub_squash_cache_inode.
4305 (grub_fshelp_node): Make ino_chunk 64-bit.
4306 (read_chunk): Minor argument change. All users updated.
4307 (squash_mount): Use correct le_to_cpu.
4308 (grub_squash_open): Handle LONG_REGULAR.
4309 (direct_read): New function.
4310 (grub_squash_read_data): Handle blocks correctly.
4311
9f326fba
VS
43122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4315
f4d9b64b
VS
43162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4319
5bbd28b8
VS
43202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 Fix 2G limit on ZFS.
4323
4324 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4325 types.
4326 (uberblock_verify): Likewise.
4327 (dmu_read): Likewise.
4328 (grub_zfs_read): Likewise. Remove invalid cast.
4329
68c72069
VS
43302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4333 (grub_jfs_blkno): Fix incorrect shift.
4334 (grub_jfs_read_file): Use more appropriate types.
4335
6e536dc8
VS
43362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Support triple indirect on minix2 and minix3.
4339
4340 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4341 Declare triple_indir_zone.
4342 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4343 indirect.
4344
e0864e7a
VS
43452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Minix FS fixes.
4348
4349 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4350 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4351 Rename ctime to mtime. All users updated.
4352 (grub_minix_get_file_block): Fix types and double indirect computations.
4353
89481cab
VS
43542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4357 if no label is found.
4358 (grub_fat_iterate_dir): Fix file size type.
4359 (grub_fat_iterate_dir): Likewise.
4360
f646e143
VS
43612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4364 save some space.
4365 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4366 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4367
534d769e
VS
43682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4371
e084ba18
VS
43722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/import_gcry.py: Accept space between # and include.
4375
3471ecdf
VS
43762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4379
124df5f6
VS
43802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4383
4384 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4385 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4386 yylex_strncpy.
4387 * grub-core/script/yylex.l: Add fine-grained #pragma.
4388
4defb8d5
VS
43892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4392 New inline function.
4393 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4394 Likewise.
4395 (memset) [GRUB_UTIL]: Likewise.
4396 (memcmp) [GRUB_UTIL]: Likewise.
4397
4e94ae65
VS
43982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4401 inline function rather than a define.
4402
18c575e5
VS
44032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-setup.c: Add missing include.
4406
f8bc22a8
VS
44072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * util/ieee1275/grub-ofpathname.c: Add missing include.
4410
3ce69fc9
VS
44112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4414 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4415 Likewise.
4416
d1e293bb
VS
44172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4420 grub_memcmp usage.
4421
7a5c54a4
VS
44222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * util/grub-install.in: Add datarootdir as per automake manual
4425 suggestion.
4426 * util/grub-mknetdir.in: Likewise.
4427
44282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
4429
4430 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4431 suggestion.
4432 * util/grub.d/10_kfreebsd.in: Likewise.
4433 * util/grub.d/10_linux.in: Likewise.
4434 * util/grub.d/10_netbsd.in: Likewise.
4435 * util/grub.d/10_windows.in: Likewise.
4436 * util/grub.d/20_linux_xen.in: Likewise.
4437
766f7d08
VS
44382011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Remove redundant grub_kernel_image_size.
4441
4442 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4443 _edata and _start.
4444 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4445 the small code. It moves it only by few bytes but simplifies the code.
4446 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4447 _start.
4448 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4449 (grub_kernel_image_size): Removed.
4450 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4451 (grub_kernel_image_size): Removed.
4452 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4453 compiled with Apple toolchain.
4454 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4455 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4456 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4457 (grub_total_module_size): Likewise.
4458 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4459 Removed.
4460 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4461 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4462 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4463 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4464 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4465 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4466 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4467 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4468 Removed.
4469 (grub_total_module_size): Removed.
4470 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4471 (image_targets): Likewise.
4472 Set .compressed_size to no field on sparc.
4473 (generate_image): Remove kernel_image_size handling.
4474
fcf1d672
SJ
44752011-10-19 Szymon Janc <szymon@janc.net.pl>
4476
4477 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4478 NULL pointer dereference.
4479
de9c615e
VS
44802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4483 done with a dedicated section.
4484
4485 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4486 Ensure the correct position of boot_path.
4487 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4488 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4489 other fields.
4490 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4491 * include/grub/boot.h: Removed. All references removed.
4492 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4493 Removed.
4494 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4495
e55599dc
VS
44962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4499 name.
4500
36dd20ad
VS
45012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4504
f8f72eb8
VS
45052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4508 Don't add the bogus brackets.
4509
a374751b
VS
45102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 ExFAT support.
4513
4514 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4515 * grub-core/Makefile.core.def (exfat): New module.
4516 * grub-core/fs/exfat.c: New file.
4517 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4518 (GRUB_FAT_ATTR_*): Make into an enum.
4519 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4520 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4521 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4522 (GRUB_FAT_MAXFILE): Removed.
4523 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4524 (grub_current_fat_bpb_t): New type.
4525 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4526 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4527 (grub_fat_dir_node_t): New type.
4528 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4529 (fat_log2) [MODE_EXFAT]: Removed.
4530 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4531 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4532 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4533 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4534 (grub_fat_label) [MODE_EXFAT]: New function.
4535 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4536 reserved_first_sector to 0.
4537
544c2487
VS
45382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Move grub_reboot out of the kernel.
4541
4542 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4543 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4544 * grub-core/lib/efi/reboot.c: ... here.
4545 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4546 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4547 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4548 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4549 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4550 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4551 * grub-core/lib/ieee1275/reboot.c: ... here.
4552 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4553 * grub-core/lib/mips/arc/reboot.c: ... here.
4554 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4555 * grub-core/lib/mips/loongson/reboot.c: ...here.
4556 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4557 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4558 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4559 * include/grub/i386/reboot.h: New file.
4560 * include/grub/mips/loongson/ec.h: Fix includes.
4561 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4562 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4563 * grub-core/lib/i386/reboot.c: New file.
4564
a97501d2
VS
45652011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Make grub_prefix into module to fix the arbitrary limit and save
4568 some space.
4569
4570 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4571 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4572 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4573 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4574 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4575 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4576 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4577 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4578 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4579 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4580 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4581 * include/grub/ia64/efi/kernel.h: Removed.
4582 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4583 (grub_prefix): Removed.
4584 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4585 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4586 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4587 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4588 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4589 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4590 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4591 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4592 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4593 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4594 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4596 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4597 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4598 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4599 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4600 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4601 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4602 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4603 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4604 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4605 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4606 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4607 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4608 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4609 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4610 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4611 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4612 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4613 from module.
4614 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4615 prefix_end.
4616 (image_targets): Likewise.
4617 (generate_image): Put prefix as a module.
4618
39705fad
VS
46192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Replace grub_module_iterate with FOR_MODULES.
4622
4623 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4624 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4625 (grub_efi_modules_addr): ...this.
4626 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4627 (grub_efi_init): Set grub_modbase.
4628 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4629 (grub_modbase): New variable.
4630 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4631 (grub_modbase): New variable.
4632 (grub_machine_init): Set grub_modbase.
4633 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4634 (grub_modbase): New variable.
4635 (grub_machine_init): Set grub_modbase.
4636 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4637 (grub_modbase): New variable.
4638 (grub_machine_init): Set grub_modbase.
4639 * grub-core/kern/main.c (grub_module_iterate): Remove.
4640 (grub_modules_get_end): Use grub_modbase.
4641 (grub_load_modules): Use FOR_MODULES.
4642 (grub_load_config): Likewise.
4643 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
4644 (grub_modbase): New variable.
4645 (grub_machine_init): Set grub_modbase.
4646 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4647 (grub_modbase): New variable.
4648 (grub_machine_init): Set grub_modbase.
4649 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4650 Removed.
4651 (grub_modbase): New variable.
4652 (grub_machine_init): Set grub_modbase.
4653 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4654 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4655 (grub_module_iterate): Likewise.
4656 (grub_modbase): New variable declaration.
4657 (FOR_MODULES): New macro.
4658
2afb7f6c
VS
46592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4662 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4663
366e34fa
VS
46642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Fix few obvious type discrepancies.
4667
4668 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4669 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4670 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4671 variable.
4672 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4673 and connected types.
4674 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4675 offset.
4676 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4677 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4678 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4679 and connected types.
4680
177b960e
VS
46812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Fix python 3.x incompatibilities.
4684
4685 * gentpl.py: Put brackets around print strings.
4686 * util/import_gcry.py: Open explicitly as utf-8.
4687 Use in instead of has_key.
4688
3b619ae1
VS
46892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4692 (GRUB_XFS_INO_AGBITS): Make into inline function.
4693 (GRUB_XFS_INO_INOINAG): Likewise.
4694 (GRUB_XFS_INO_AG): Likewise.
4695 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4696 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4697 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4698 (GRUB_XFS_EXTENT_SIZE): Likewise.
4699 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4700 (GRUB_XFS_NEXT_DIRENT): Likewise.
4701 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4702 (grub_xfs_read_file): Fix offset type.
4703
8bcebcb8
RM
47042011-10-15 Robert Millan <rmh@gnu.org>
4705
4706 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4707
0017e5ef
RM
47082011-10-15 Robert Millan <rmh@gnu.org>
4709
4710 Fix build problem on FreeBSD and GNU/kFreeBSD.
4711
4712 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
4713
d8919552
VS
47142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
4717
4718 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
4719 types.
4720 (grub_hfsplus_btree_recoffset): Likewise.
4721 (grub_hfsplus_btree_recptr): Likewise.
4722 (grub_hfsplus_find_block): Likewise.
4723 (grub_hfsplus_btree_search): Likewise.
4724 (grub_hfsplus_read_block): Likewise.
4725 (grub_hfsplus_read_file): Likewise.
4726 (grub_hfsplus_mount): Likewise.
4727 (grub_hfsplus_btree_iterate_node): Likewise.
4728 (grub_hfsplus_btree_search): Likewise.
4729 (grub_hfsplus_iterate_dir): Likewise.
4730 (grub_hfsplus_read): A small code simplification.
4731
c81296b6
VS
47322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/kern/emu/hostdisk.c
4735 (convert_system_partition_to_system_disk): Don't assume that children
4736 of mapper nodes are mapper nodes.
4737
0eb8ffb1
VS
47382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
4741 * include/grub/misc.h (grub_isxdigit): New function.
4742 * grub-core/video/colors.c (my_isxdigit): Removed. All users
4743 switched to grub_isxdigit.
4744 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
4745 number starting with a letter.
4746
a98f4a08
RM
47472011-10-09 Robert Millan <rmh@gnu.org>
4748
4749 LVM support for FreeBSD and GNU/kFreeBSD.
4750
4751 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
4752 GNU/kFreeBSD.
4753 (LVM_DEV_MAPPER_STRING): Move from here ...
4754 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
4755 * util/getroot.c: Include `<grub/util/lvm.h>'.
4756 (grub_util_get_dev_abstraction): Enable
4757 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
4758 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
4759 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
4760 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
4761 support it.
4762 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
4763 GNU/kFreeBSD.
4764 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
4765 when LVM abstraction is required for ${GRUB_DEVICE}.
4766
050e8e90
SJ
47672011-10-06 Szymon Janc <szymon@janc.net.pl>
4768
4769 Add support for LZO compression in GRUB:
4770 - import of minilzo library,
4771 - LZO decompression for btrfs,
4772 - lzop files decompression.
4773
4774 * grub-core/io/lzopio.c: New file.
4775 * grub-core/lib/adler32.c: Likewise.
4776 * grub-core/lib/minilzo/lzoconf.h: Likewise.
4777 * grub-core/lib/minilzo/lzodefs.h: Likewise.
4778 * grub-core/lib/minilzo/minilzo.c: Likewise.
4779 * grub-core/lib/minilzo/minilzo.h: Likewise.
4780 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
4781 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
4782 grub-core/lib/minilzo/minilzo.c to common.
4783 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
4784 cflags in cppflags.
4785 * grub-core/Makefile.core.def (btrfs): Likewise.
4786 * grub-core/Makefile.core.def (lzopio): New module.
4787 (adler32): Likewise.
4788 * grub-core/fs/btrfs.c: Include minilzo.h.
4789 (GRUB_BTRFS_COMPRESSION_LZO): New define.
4790 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
4791 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
4792 (grub_btrfs_lzo_decompress): New function.
4793 (grub_btrfs_extent_read): Add support for LZO compression type.
4794 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
4795 (GRUB_USHRT_MAX): Likewise.
4796 (GRUB_UINT_MAX): Likewise.
4797 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
4798 (UINT_MAX): Likewise.
4799 (CHAR_BIT): Likewise.
4800 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
4801 grub-core/lib/posix_wrap/limits.h
4802 (UCHAR_MAX): Likewise.
4803 * include/grub/file.h (grub_file_filter_id): New compression filter
4804 GRUB_FILE_FILTER_LZOPIO.
4805 * include/grub/file.h (grub_file_filter_id): Set
4806 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
4807 * include/grub/types.h (grub_get_unaligned16): New function.
4808 (grub_get_unaligned32): Likewise.
4809 (grub_get_unaligned64): Likewise.
4810 * util/import_gcry.py (cryptolist): Add adler32.
4811
0eb8ffb1
VS
48122011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
4815 in perspective decreases the complexity of build system and fixes
4816 compilation right now.
4817
ce79cc99 48182011-10-01 Ales Nesrsta <starous@volny.cz>
4819
4820 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
4821 (fixed problem related to using UHCI with coreboot).
4822
8667a314
BC
48232011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4824
4825 * gentpl.py: Use Autogen macros so that the output template file
4826 (Makefile.tpl) size is reduced.
4827
fc5efcc0
MK
48282011-09-29 Mads Kiilerich <mads@kiilerich.com>
4829
4830 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
4831 extra_dist.
4832
d1ab689d
ML
48332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4834
4835 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
4836 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
4837
c05de032
ML
48382011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4839
4840 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
4841 _fullpath.
4842
cca7ccd8
ML
48432011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4844
4845 Remove extra declaration of sleep for mingw32.
4846
4847 * util/misc.c (sleep) [__MINGW32__]: Removed.
4848 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
4849
e0b0dc83
GS
48502011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4851
4852 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
4853 type and packname.
4854 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
4855 Resurrected.
4856 (NETBSD_BTINFO_BOOTWEDGE): New definition.
4857 (grub_netbsd_btinfo_bootwedge): New struct.
4858 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4859 New function.
4860 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
4861
91a1a164
TH
48622011-09-28 Thomas Haller <thomas.haller@fen-net.de>
4863
4864 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4865 loader.
4866
2ded951e
AB
48672011-09-28 Andreas Born <futur.andy@googlemail.com>
4868
4869 Fix incorrect identifiers in bash-completion.
4870
4871 * util/bash-completion.d/grub-completion.bash.in
4872 (_grub_mkpasswd-pbkdf2): Rename to ...
4873 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
4874 (_grub_script-check): Rename to ...
4875 (_grub_script_check): ... this. All users updated.
4876
69915030
VS
48772011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4880 Return 0 if disk isn't biosdisk.
4881
20fd15f9
GS
48822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4883
4884 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4885 on NetBSD.
4886 * Makefile.util.def (grub-fstest): Likewise.
4887
1a7d7db9
GS
48882011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4889
4890 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4891 Get sector size from disk label.
4892
2221ab6c
CW
48932011-09-05 Colin Watson <cjwatson@ubuntu.com>
4894
4895 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4896 */README* as well as README*.
4897 Reported by: Axel Beckert.
4898
ca51c4a0
VS
48992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4902 case of less than 256 MiB of RAM.
4903
ab80f326
VS
49042011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/commands/wildcard.c (make_regex): Handle @.
4907
4155e697
VS
49082011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4911
ab178c08
SJ
49122011-08-21 Szymon Janc <szymon@janc.net.pl>
4913
4914 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4915 AC_LANG_CONFTEST macros.
4916
7dc3c686
SJ
49172011-08-20 Szymon Janc <szymon@janc.net.pl>
4918
4919 Add grub-fstest option to uncompress data for commands.
4920
4921 * util/grub-fstest.c (uncompress): New var.
4922 (options): New option -u.
4923
fe8d4a7b
SJ
49242011-08-20 Szymon Janc <szymon@janc.net.pl>
4925
4926 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4927 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4928
a5219af1
SJ
49292011-08-20 Szymon Janc <szymon@janc.net.pl>
4930
4931 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4932 file type was not recognized correctly (not gzip or corrupted).
4933
f87abff5
VS
49342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4937 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4938
d94497ea
VS
49392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4942 loongson.
4943 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4944 video_radeon_fuloong2e.
4945 * grub-core/video/radeon_fuloong2e.c: New file.
4946 * include/grub/video.h (grub_video_id_t): Add new ID
4947 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4948
0d1fd011
VS
49492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4952 define.
4953 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4954 that PRID matches the detected subplatform and reset the subplatform
4955 if it doesn't.
4956
84beb0ee
VS
49572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4960
1227c133
VS
49612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 Fix PCI iterating on functions >= 4.
4964
4965 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4966 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4967 Removed.
4968 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4969 (grub_pci_read): Fix bitmask.
4970 (grub_pci_read_word): Likewise.
4971 (grub_pci_read_byte): Likewise.
4972 (grub_pci_write): Likewise.
4973 (grub_pci_write_word): Likewise.
4974 (grub_pci_write_byte): Likewise.
4975
9594c689
VS
49762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4979 can still be specified in TARGET_CFLAGS)
4980
14a2562c
VS
49812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4984
4985 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4986 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4987 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4988 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4989 (FULOONG): Rename to ...
4990 (FULOONG2F): ... this. All users updated.
4991 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4992 (machtype_fuloong2f_str): ... this.
4993 (machtype_fuloong2e_str): New string.
4994 Check for machtype_fuloong2e_str.
4995 * grub-core/loader/mips/linux.c (loongson_machtypes)
4996 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4997 * grub-core/term/serial.c (loongson_defserial)
4998 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4999 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5000 loongson_defserial.
5001 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5002 Rename to ...
5003 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5004 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5005 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5006 to IMAGE_FULOONG2F_FLASH. All users updated.
5007 (image_targets): Rename images.
5008 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5009
b526cbb6
SJ
50102011-08-19 Szymon Janc <szymon@janc.net.pl>
5011
5012 Make enable of disk cache statistics code configurable.
5013
5014 * configure.ac: --enable-cache-stats added.
5015 * config.h.in (DISK_CACHE_STATS): New define.
5016 * grub-core/Makefile.core.def (cacheinfo): New command.
5017 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5018 * grub-core/commands/cacheinfo.c: New file.
5019 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5020 moved to cacheinfo.c.
5021 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5022 debug code.
5023 * include/grub/disk.h: Likewise.
5024
fb739ccd
SJ
50252011-08-19 Szymon Janc <szymon@janc.net.pl>
5026
5027 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5028 * grub-core/Makefile.am: Likewise.
5029
2bba8cfd
VS
50302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5033 non-zero pull.
5034
43526629
VS
50352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5038 All users updated.
5039 (grub_jfs_lookup_symlink): Use correct starting inode.
5040
5c144cc8
VS
50412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * util/grub-setup.c (main): Add missing gcry initialisation.
5044
b1257f65
VS
50452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 Don't accept text modes on EFI when booting Linux.
5048
5049 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5050 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5051
828bc390
ML
50522011-08-15 Mario Limonciello <mario_limonciello@dell.com>
50532011-08-15 Colin Watson <cjwatson@ubuntu.com>
5054
5055 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5056 use of "/path/.." as in grub-install for EFI as well as handling
5057 symlinks correctly.
5058 Fixes Debian bug #637768.
5059
5f60ccac
CW
50602011-08-15 Colin Watson <cjwatson@ubuntu.com>
5061
5062 * util/grub-probe.c: Remove duplicate #include.
5063
6dc212f9
RM
50642011-08-10 Robert Millan <rmh@gnu.org>
5065
5066 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5067
5068 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5069 function.
5070 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5071 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5072
66816d85
RM
50732011-08-03 Robert Millan <rmh@gnu.org>
5074
5075 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5076 la_array as packed.
5077 Reported by: Zachary Bedell
5078
20168fca
CW
50792011-07-26 Colin Watson <cjwatson@ubuntu.com>
5080
5081 * configure.ac: The Loongson port requires grub-mkfont due to its
5082 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5083 be built.
5084
303b6246
CW
50852011-07-26 Colin Watson <cjwatson@ubuntu.com>
5086
5087 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5088 processing arguments (otherwise help2man fails when GRUB has not yet
5089 been installed).
5090
6795300e
VS
50912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5092
41aa28ea
VS
5093 New script grub-mkstandalone.
5094
5095 * Makefile.util.def (grub-mkstandalone): New script.
5096 * docs/man/grub-mkstandalone.h2m: New file.
5097 * util/grub-mkstandalone.in: Likewise.
5098
50992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 Support ATA disks with 4K sectors.
6795300e
VS
5102
5103 * include/grub/ata.h (grub_ata): New member log_sector_size.
5104 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5105 (grub_ata_identify): Read sector size.
5106 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5107
92227597
VS
51082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/grub-install.in: Don't use uhci outside of x86.
5111
c77069f5
VS
51122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * util/grub-mkrescue.in: Add missing quotes.
5115
51162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5117
5118 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5119 dereference.
5120
583168a2
VS
51212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5124
6be1c01f
VS
51252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * include/grub/video.h: add missing EXPORT_FUND on
5128 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5129
a1167439
VS
51302011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * include/grub/mips/kernel.h: Fix define conflict.
5133
bf66054f
VS
51342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5137 all four ways.
5138
8fc4fa45
CW
51392011-07-21 Colin Watson <cjwatson@ubuntu.com>
5140
5141 Preferred resolution detection for VBE.
5142
5143 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5144 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5145 the Flat Panel extension, in line with the X.org VESA driver.
5146 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5147 New function.
5148 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5149 (grub_vbe_bios_read_edid): Likewise.
5150 (grub_vbe_get_preferred_mode): Likewise.
5151 (grub_video_vbe_setup): When the mode is "auto", try to get the
5152 preferred mode from VBE, and use the largest mode that is no larger
5153 than the preferred mode (some BIOSes expose a preferred mode that is
5154 not in their mode list!). If this fails, fall back to 640x480 as a
5155 safe conservative choice.
5156 (grub_video_vbe_get_edid): New function.
5157 (grub_video_vbe_adapter): Add get_edid.
5158 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5159 (struct grub_video_adapter): Add get_edid.
5160 (grub_video_edid_checksum): Add prototype.
5161 (grub_video_edid_preferred_mode): Likewise.
5162 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5163 structure.
5164
5165 * grub-core/commands/videoinfo.c (print_edid): New function.
5166 (grub_cmd_videoinfo): Print EDID if available.
5167
5168 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5169 is more appropriate on a wider range of platforms than 640x480.
5170 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5171 documentation.
5172
ca5572a9
VS
51732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5176
e4bcf625
VS
51772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * po/POTFILES.in: Regenerate.
5180
c4edd548
VS
51812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5184 incorrect memory usage.
5185
16a2bab0
VS
51862011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * util/grub-install.in: Source grub-mkconfig_lib.
5189
2e418de6
VS
51902011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 Remove getroot.c from core on emu platform.
5193
5194 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5195 kern/emu/raid.c.
5196 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5197 useless.
5198 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5199 * util/getroot.c (get_win32_path): ... here.
5200 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5201 * util/getroot.c (fini_libzfs): ... here.
5202 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5203 * util/getroot.c (grub_get_libzfs_handle): ... here.
5204 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5205 Moved from here...
5206 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5207 * grub-core/kern/emu/misc.c
5208 (grub_make_system_path_relative_to_its_root): Moved from here...
5209 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5210 * grub-core/kern/emu/getroot.c: Moved from here ...
5211 * util/getroot.c: ... here. All users updated.
5212 * grub-core/kern/emu/raid.c: Moved from here ...
5213 * util/raid.c: ... here. All users updated.
5214
def9832a
VS
52152011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * po/POTFILES.in: Regenerate.
5218
cd8fe79a
VS
52192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Fix compilation on GNU/Linux.
5222
5223 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5224 Disable geli.
5225 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5226 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5227 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5228
a251b719
VS
52292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
52302011-07-07 Michael Gorven <michael@gorven.za.net>
52312011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5232
5233 LUKS and GELI support.
5234
5235 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5236 grub-core/disk/luks.c, grub-core/disk/geli.c,
5237 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5238 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5239 grub-core/lib/arg.c.
5240 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5241 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5242 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5243 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5244 (grub-bin2h): Add libgcry.a.
5245 (grub-mkimage): Likewise.
5246 (grub-mkrelpath): Likewise.
5247 (grub-script-check): Likewise.
5248 (grub-editenv): Likewise.
5249 (grub-mkpasswd-pbkdf2): Likewise.
5250 (grub-pe2elf): Likewise.
5251 (grub-fstest): Likewise.
5252 (grub-mkfont): Likewise.
5253 (grub-mkdevicemap): Likewise.
5254 (grub-probe): Likewise.
5255 (grub-ofpath): Likewise.
5256 (grub-mklayout): Likewise.
5257 (example_unit_test): Likewise.
5258 (grub-menulst2cfg): Likewise.
5259 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5260 * grub-core/Makefile.core.def (cryptodisk): New module.
5261 (luks): Likewise.
5262 (geli): Likewise.
5263 * grub-core/disk/AFSplitter.c: New file.
5264 * grub-core/disk/cryptodisk.c: Likewise.
5265 * grub-core/disk/geli.c: Likewise.
5266 * grub-core/disk/luks.c: Likewise.
5267 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5268 grub_util_is_lvm.
5269 (grub_util_get_dm_abstraction): New function.
5270 (grub_util_follow_gpart_up): Likewise.
5271 (grub_util_get_geom_abstraction): Likewise.
5272 (grub_util_get_dev_abstraction): Use new functions.
5273 (grub_util_pull_device): Pull GELI and LUKS.
5274 (grub_util_get_grub_dev): Handle LUKS and GELI.
5275 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5276 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5277 (follow_geom_up): Removed.
5278 (grub_util_fd_seek): New function.
5279 (open_device): Use grub_util_fd_seek.
5280 (nread): Rename to ..
5281 (grub_util_fd_read): ... this. All users updated.
5282 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5283 (grub_crypto_cbc_decrypt): Likewise.
5284 (grub_crypto_hmac_write): Likewise.
5285 (grub_crypto_hmac_buffer): Likewise.
5286 (grub_password_get): Extend to util.
5287 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5288 New member modname.
5289 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5290 * include/grub/cryptodisk.h: New file.
5291 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5292 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5293 LUKS and GELI.
5294 (grub_util_follow_gpart_up): New proto.
5295 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5296 (grub_util_fd_read): Likewise.
5297 (grub_cryptodisk_cheat_mount): Likewise.
5298 (grub_util_cryptodisk_print_uuid): Likewise.
5299 (grub_util_get_fd_sectors): Likewise.
5300 * util/grub-fstest.c (mount_crypt): New var.
5301 (fstest): Mount crypto if requested.
5302 (options): New option -C.
5303 (argp_parser): Parse -C.
5304 (main): Init and fini gcry.
5305 * util/grub-install.in: Support cryptodisk install.
5306 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5307 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5308 cryptodisk.
5309 (prepare_grub_to_access_device): Likewise.
5310 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5311 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5312 (probe_cryptodisk_uuid): New function.
5313 (probe_abstraction): Likewise.
5314 (probe): Use new functions.
5315 * util/import_gcry.py: Create Makefile.utilgcry.def.
5316 Add modname member.
5317
9bfdcbbc
VS
53182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 Lazy device scanning.
5321
5322 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5323 (grub-setup): Remove util/raid.c.
5324 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5325 * grub-core/disk/lvm.c (scan_depth): New variable.
5326 (grub_lvm_iterate): Rescan if necessary.
5327 (find_lv): New function based on grub_lvm_open.
5328 (grub_lvm_open): Use find_lv. Rescan on error.
5329 (is_node_readable): New function.
5330 (is_lv_readable): Likewise.
5331 (grub_lvm_scan_device): Skip already found disks.
5332 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5333 Stop if searched device is found and readable.
5334 * grub-core/disk/raid.c (inscnt): New variable.
5335 (scan_depth): Likewise.
5336 (scan_devices): New function based on grub_raid_register. Abort if
5337 looked for device is found.
5338 (grub_raid_iterate): Rescan if needed.
5339 (find_array): NEw function based on -grub_raid_open.
5340 (grub_raid_open): Use find_array and rescan.
5341 (insert_array): Set became_readable_at.
5342 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5343 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5344 New function.
5345 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5346 (grub_util_pull_device): New function.
5347 (grub_util_get_grub_dev): Call grub_util_pull_device.
5348 * util/raid.c: Moved to ..
5349 * grub-core/kern/emu/raid.c: ... here.
5350 (grub_util_raid_getmembers): New parameter "bootable".
5351 All users updated. Support 1.x.
5352 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5353 All users updated.
5354 * include/grub/disk.h (grub_disk_pull_t): New enum.
5355 (grub_disk_dev): Change iterate prototype.
5356 All users updated.
5357 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5358 New proto.
5359 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5360 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5361 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5362 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5363 All users updated.
5364 * include/grub/util/raid.h: Removed.
5365
1c358e59
VS
53662011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * po/POTFILES.in: Regenerate.
5369
abee94ed
VS
53702011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Unify sparc init with other ieee1275.
5373
5374 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5375 instead of kern/sparc64/ieee1275/init.c.
5376 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5377 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5378 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5379 grub/machine/kernel.h.
5380 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5381 (grub_claim_heap) [__sparc__]: Use sparc version.
5382 (grub_machine_init): Moved args parsing to
5383 (grub_parse_cmdline): ...this.
5384 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5385 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5386 New definition.
5387 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5388
5389 Move BOOTP to separate file.
5390
5391 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5392 * grub-core/net/net.c: Move all BOOTP functions to
5393 * grub-core/net/bootp.c: ... here.
5394
5395 Use frame interface on PXE.
5396
5397 * grub-core/Makefile.core.def (pxecmd): Removed.
5398 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5399 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5400 * grub-core/i386/pc/pxe.c: Moved from here ...
5401 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5402 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5403 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5404
5405 EFI network support.
5406
5407 * grub-core/Makefile.core.def (efinet): New module.
5408 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5409 here...
5410 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5411 All users updated.
5412 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5413 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5414 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5415 * grub-core/net/drivers/efi/efinet.c: New file.
5416 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5417 (grub_efi_net_config): New extern var.
5418
5419 Various cleanups and bugfixes.
5420
5421 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5422 error.
5423 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5424 disk declared as partition.
5425 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5426 leak on failure.
5427 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5428 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5429 (grub_debug_zalloc): Likewise.
5430 (grub_debug_realloc): Likewise.
5431 (grub_debug_memalign): Likewise.
5432 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5433 Check that target is IPv4.
5434 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5435 local-mac-address as fallback.
5436 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5437 memory leak.
5438 * grub-core/net/ip.c (ipchksum): Rename to ...
5439 (grub_net_ip_chksum): ... this. All users updated.
5440 (grub_net_recv_ip_packets): Special handling for DHCP.
5441 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5442
5443 Unify prefix handling
5444
5445 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5446 (grub_machine_get_bootlocation): ... this.
5447 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5448 (grub_machine_get_bootlocation): ... this.
5449 (grub_prefix): New variable.
5450 (prefix): Removed.
5451 (root_dev): New variable.
5452 (dir): Likewise.
5453 (main): Use new variables.
5454 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5455 Revamped into ...
5456 (grub_machine_get_bootlocation): ... this.
5457 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5458 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5459 (grub_machine_get_bootlocation): ... this.
5460 (grub_machine_set_prefix): Removed.
5461 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5462 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5463 Revamped into ...
5464 (grub_machine_get_bootlocation): ... this.
5465 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5466 (grub_set_prefix_and_root): ... this. All users updated.
5467 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5468 Revamped into ...
5469 (grub_machine_get_bootlocation): ... this.
5470 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5471 (grub_machine_get_bootlocation): New proto.
5472 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5473
5474 Less intrusive and more reliable seek on network implementation.
5475
5476 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5477 (grub_file_seek): Don't call grub_file_net_seek.
5478 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5479 (grub_net_fs_read_real): .. this.
5480 (grub_net_seek_real): Use net->offset.
5481 (grub_net_fs_read): Seek if necessary.
5482
5483 Unify IEEE1275 netwotk config with the other platforms.
5484
5485 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5486 New variable.
5487 (grub_machine_get_bootlocation): Support network.
5488 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5489 Support type and device parsing.
5490 (grub_ieee1275_get_device_type): New function.
5491 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5492 into ...
5493 (grub_ieee1275_net_config_real): ... this.
5494 (grub_ofnet_probecards): Removed.
5495 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5496 * include/grub/ieee1275/ofnet.h: Removed.
5497 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5498 extern var.
5499 (grub_ieee1275_get_device_type): New function.
5500
5501 Unify network device closing across platforms and make more robust.
5502
5503 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5504 grub_grubnet_fini.
5505 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5506 already.
5507 * grub-core/net/net.c (grub_net_network_level_interface_register):
5508 Update num_ifaces.
5509 (grub_net_card_unregister): Close all interfaces.
5510 (receive_packets): Don't poll if no iterfaces are registered.
5511 Open if necessary.
5512 (grub_net_fini_hw): New function.
5513 (grub_net_restore_hw): Likewise.
5514 (fini_hnd): New variable.
5515 (GRUB_MOD_INIT): Register preboot hook.
5516 (GRUB_MOD_FINI): Run and unregister preboot hook.
5517
5518 Poll network cards when idle.
5519
5520 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5521 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5522 * grub-core/net/net.c (receive_packets): Save last poll time.
5523 (grub_net_poll_cards_idle_real): New function.
5524 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5525 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5526 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5527
5528 Rename ofnet interfaces.
5529
5530 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5531 (grub_ofnet_findcards): Use ofnet_%s names.
5532
5533 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5534
5535 Cleanup socket opening.
5536
5537 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5538 (grub_net_fs_close): Likewise.
5539 (grub_net_fs_read_real): Use eof member.
5540 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5541 (+grub_net_udp_close): New inline function.
5542
5543 * include/grub/net/tftp.h: Moved to the top of ...
5544 * grub-core/net/tftp.c: ... here.
5545 * include/grub/net/ip.h: Moved mostly to the top of ...
5546 * grub-core/net/ip.c: ... here.
5547 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5548 * grub-core/net/ethernet.c: ... here.
5549
5550 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5551
5552 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5553 FS name.
5554
5555 * include/grub/net/ip.h (ipv4_ini): Removed.
5556 (ipv4_fini): Likewise.
5557
5558 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5559 (grub_net_send_ip_packets): Likewise.
5560
cf1337aa
VS
55612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5564 grub_read_cmos prototype.
5565
93c06ff9
VS
55662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 VGA text support in qemu-mips
5569
5570 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5571 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5572 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5573 text.
5574 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5575 * grub-core/kern/vga_init.c: ... this.
5576 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5577 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5578 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5579 Adjust.
5580 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5581 GRUB_MACHINE_PCI_IO_BASE.
5582
748ccabe
VS
55832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 MIPS qemu flash support.
5586
5587 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5588 magic.
5589 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5590 (grub_machine_init): Probe memory if its size isn't known.
5591 * util/grub-mkimage.c (image_targets): Add flash targets.
5592 (generate_image): Handle flash targets.
5593
d7345994
VS
55942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 MIPS qemu at_keyboard support.
5597
5598 * gentpl.py (videoinkernel): Add qemu-mips.
5599 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5600 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5601 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5602 modules.
5603 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5604 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5605 * grub-core/term/serial.c (grub_serial_register)
5606 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5607
a07a81b3
VS
56082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 CMOS support on sparc.
5611
5612 * gentpl.py (cmos): Add powerpc and sparc.
5613 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5614 powerpc and sparc.
5615 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5616 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5617 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5618 grub_set_datetime_cmos.
5619 * grub-core/lib/ieee1275/cmos.c: New file.
5620 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5621 (find_rtc): Set no_ieee1275_rtc on error.
5622 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5623 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5624 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5625 fail. Move value to argument. All users updated
5626 (grub_cmos_write): Likewise.
5627 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5628 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5629 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5630 grub_get_datetime_cmos and grub_set_datetime_cmos.
5631
77546584
GS
56322011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5633
5634 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5635 sourcing grub-mkconfig_lib.
5636 * util/update-grub_lib.in: Likewise.
5637 * util/grub.d/00_header.in: Likewise.
5638 * util/grub.d/10_hurd.in: Likewise.
5639 * util/grub.d/10_kfreebsd.in: Likewise.
5640 * util/grub.d/10_linux.in: Likewise.
5641 * util/grub.d/10_netbsd.in: Likewise.
5642 * util/grub.d/10_windows.in: Likewise.
5643 * util/grub.d/20_linux_xen.in: Likewise.
5644 * util/grub.d/30_os-prober.in: Likewise.
5645
54894791
CW
56462011-06-28 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5649 default_bg_color rather than black.
5650 (grub_gfxterm_fullscreen): Likewise.
5651 (grub_gfxterm_background_color_cmd): Save new background color in
5652 default_bg_color.
5653
8d5d8444
VS
56542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5657
5afeb5bd
VS
56582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5661 mismerge.
5662
ba7df45e
VS
56632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Chainloading on coreboot support.
5666
5667 * grub-core/Makefile.core.def (chain): Add coreboot.
5668 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5669
d0b526b2
VS
56702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5673 if it happens.
5674
5ff1d945
VS
56752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 Implement time command.
5678
5679 * grub-core/Makefile.core.def (time): New module.
5680 * grub-core/commands/time.c: New file.
5681 * grub-core/script/parser.y: Remove "time" keyword.
5682 * grub-core/script/yylex.l: Likewise.
5683
5ebaad7e
VS
56842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5687
bdea3798
VS
56882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5691 when handling leftovers.
5692
b28c5655
VS
56932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5696 so that help2man doesn't fail.
5697
b6f945dc
VS
56982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5701 type in pointers on sparc64.
5702 (get_card_packet): Likewise.
5703
f9b75e8a
CW
57042011-06-27 Colin Watson <cjwatson@ubuntu.com>
5705
5706 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5707 with `*'.
5708 (grub_cmd_videoinfo): Fetch current video mode.
5709
1e3d9b86
VS
57102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
5713 because of underlying system restrictions.
5714
efff4b1c
VS
57152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
5718 necessary.
5719
9fc9ce37
VS
57202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 Coreboot video support.
5723
5724 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
5725 (vbe): Likewise.
5726 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
5727 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
5728 here ...
5729 * grub-core/kern/i386/int.S: ... here.
5730 * grub-core/video/i386/pc/vbe.c: Updated includes.
5731 * grub-core/video/i386/pc/vga.c: Likewise.
5732 * include/grub/i386/coreboot/memory.h
5733 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
5734 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
5735 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
5736 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
5737 Disable interrupts.
5738 * include/grub/i386/pc/vga.h: Removed. All users updated.
5739
41bec7fe
VS
57402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
5743 definitions for dprintf.
5744 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
5745
ca80309d
VS
57462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
5749 prototype.
5750 (get_card_packet): Likewise.
5751
9e322ce8
YB
57522011-06-26 Yves Blusseau <blusseau@zetam.org>
5753
5754 Display the path of the file when file is not found
5755
5756 * grub-core/fs/fat.c: Display the filename when file is not found.
5757 * grub-core/fs/fshelp.c: Likewise.
5758 * grub-core/fs/hfs.c: Likewise.
5759 * grub-core/fs/jfs.c: Likewise.
5760 * grub-core/fs/minix.c: Likewise.
5761 * grub-core/fs/ufs.c: Likewise.
5762 * grub-core/fs/btrfs.c: Likewise.
5763 * grub-core/commands/i386/pc/play.c: Likewise.
5764
cbf597af
SJ
57652011-06-26 Szymon Janc <szymon@janc.net.pl>
5766
5767 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
5768 pointer checks before calling grub_free().
5769 * grub-core/commands/wildcard.c (match_devices): Likewise.
5770 * grub-core/commands/wildcard.c (match_files): Likewise.
5771 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
5772 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
5773 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
5774 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
5775 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
5776 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
5777 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
5778 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5779 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
5780
6295b32f
P
57812011-06-25 Patrick <p55@mailinator.com>
5782
5783 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
5784
77c0840b
VS
57852011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
5788 (grub_pxe_send): Likewise.
5789 (GRUB_MOD_INIT): Fix types.
5790
40ea05de
SJ
57912011-06-24 Szymon Janc <szymon@janc.net.pl>
5792
5793 * grub-core/io/xzio.c: Fix code style issues
5794
90162423
MRA
57952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
57962011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
5797
5798 Network infrastructure.
5799 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
5800
5801 * include/grub/net/arp.h: New file.
90162423
MRA
5802 * include/grub/net/device.h: Likewise.
5803 * include/grub/net/ethernet.h: Likewise.
5804 * include/grub/net/ip.h: Likewise.
5805 * include/grub/net/netbuff.h: Likewise.
5806 * include/grub/net/tftp.h: Likewise.
5807 * include/grub/net/udp.h: Likewise.
5808 * include/grub/ieee1275/ofnet.h: Likewise.
5809 * include/grub/emu/export.h: Likewise.
5810 * include/grub/net.h: Likewise.
5811 * grub-core/net/arp.c: Likewise.
5812 * grub-core/net/ethernet.c: Likewise.
5813 * grub-core/net/ip.c: Likewise.
5814 * grub-core/net/udp.c: Likewise.
5815 * grub-core/net/tftp.c: Likewise.
5816 * grub-core/net/netbuff.c: Likewise.
5817 * grub-core/net/net.c: Likewise.
5818 * grub-core/net/drivers/emu/emunet.c: Likewise.
5819 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
5820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
5821 export.h.
5822 * grub-core/Makefile.core.def (net): New module.
5823 (tftp): Likewise.
5824 (ofnet): Likewise.
5825 (emunet): Likewise.
5826 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
5827 network protocols.
5828 * grub-core/kern/device.c (grub_net_open) : New variable.
5829 (grub_device_open): Handle network device.
5830 (grub_device_close): Likewise.
5831 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
5832 (grub_grubnet_fini): Likewise.
5833 (grub_file_seek): Seek in network device.
5834 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
5835 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
5836 network root.
5837 (grub_machine_fini): Call grub_grubnet_fini.
5838 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
5839 network.
5840 (grub_ieee1275_get_aliasdevname): New function.
5841 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5842 Add unofficial Solaris network info.
5843 (grub_multiboot_make_mbi): Likewise.
5844 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
5845 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
5846 * include/grub/device.h (grub_fs): Removed.
5847 * include/grub/err.h (grub_err_t): Add network-related values.
5848 * include/grub/i386/pc/pxe.h: Removed bootp parts.
5849 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
5850 (grub_ieee1275_get_aliasdevname): New proto.
5851 * include/grub/net.h: Rewritten.
423a1849 5852
031f22a0
VS
58532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
5856 names.
5857
4388ca72
VS
58582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
5861 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
5862 it truncates the output.
5863 Reported by: Ximin Luo.
5864
98e2f506
VS
58652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
5868
2a5e94d8
VS
58692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5872 partmap before abstraction.
5873
535c1910
AK
58742011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
5875
5876 * util/grub-mkconfig_lib.in: Add missing quotes.
5877
bc09e1a2
VS
58782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5881 old method if mountinfo would return /dev/root and /dev/root doesn't
5882 exist.
5883
290766fb
VS
58842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 ZFS zlib support
5887
5888 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5889 (decomp_table): Add zlib entries.
5890 (zio_read): USe 8 bits for compression function rather than 3.
5891 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5892
58932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/disk/ahci.c: Add missing license statements.
5896 * grub-core/fs/romfs.c: Likewise.
5897 * grub-core/lib/ia64/setjmp.S: Likewise.
5898 * grub-core/loader/i386/pc/freedos.c: Likewise.
5899 * grub-core/loader/ia64/efi/linux.c: Likewise.
5900 * grub-core/video/colors.c: Likewise.
5901 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5902
5ab3f48a
VS
59032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 AHCI support.
5906
5907 * grub-core/Makefile.core.def (ata_pthru): Removed.
5908 (ahci): New module.
5909 (pata): Likewise.
5910 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5911 on unload.
5912 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5913 readwrite.
5914 (grub_hdparm_do_check_powermode_cmd): Likewise.
5915 (grub_hdparm_do_smart_cmd): Likewise.
5916 (grub_hdparm_set_val_cmd): Likewise.
5917 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5918 * grub-core/disk/ahci.c: New file.
5919 * grub-core/disk/ata.c: Factor out the low-level part into ...
5920 * grub-core/disk/pata.c: ... here.
5921 * grub-core/disk/ata_pthru.c: Contents moved to ...
5922 * grub-core/disk/pata.c: ... here.
5923 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5924 (grub_scsi_iterate): Use grub_scsi_names.
5925 (grub_scsi_open): Likewise.
5926 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5927 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5928 (grub_ata_regs_t): New struct.
5929 (grub_disk_ata_pass_through_parms): Likewise.
5930 (grub_ata_device): Renamed to ...
5931 (grub_ata): ... this.
5932 (grub_ata_dev): New struct.
5933 Removed all low-level inline functions.
5934 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5935 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5936 iterate hooks and open. All users updated.
5937 * util/grub-install.in: Handle AHCI disk module.
5938
c31dc5f5
SJ
59392011-06-23 Szymon Janc <szymon@janc.net.pl>
5940
5941 Add support for DRI and RSTn markers in JPEG files.
5942
5943 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5944 (JPEG_MARKER_RST0): Likewise.
5945 (JPEG_MARKER_RST1): Likewise.
5946 (JPEG_MARKER_RST2): Likewise.
5947 (JPEG_MARKER_RST3): Likewise.
5948 (JPEG_MARKER_RST4): Likewise.
5949 (JPEG_MARKER_RST5): Likewise.
5950 (JPEG_MARKER_RST6): Likewise.
5951 (JPEG_MARKER_RST7): Likewise.
5952 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5953 (grub_jpeg_decode_dri): New function.
5954 (grub_jpeg_decode_sos): Move image data related part into
5955 grub_jpeg_decode_data function.
5956 (grub_jpeg_decode_data): New function.
5957 (grub_jpeg_reset): New function.
5958 (grub_jpeg_decode_jpeg): Handle new markers.
5959
fe12fd5b
VS
59602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * util/ieee1275/ofpath.c (check_sas): Close fd.
5963 (main): Free of_path.
5964 Reported by: David Volgyes <dvolgyes>.
5965
03147f46
VS
59662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5969 Reported by: David Volgyes <dvolgyes>.
5970
cad3237f
VS
59712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5974 file after stat.
5975 Reported by: David Volgyes <dvolgyes>.
5976
13548d26
VS
59772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5980
5981 Reported by: David Volgyes <dvolgyes>.
5982
e061a1b5
VS
59832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5986 Prevent memory leak.
5987
1abe47dc
VS
59882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5991 (main): Close file.
e061a1b5 5992 Reported by: David Volgyes <dvolgyes>.
1abe47dc 5993
fbc62666
VS
59942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5997 to continue if allocation is failed.
5998
5999 Reported by: David Volgyes <dvolgyes>.
6000
e98c83e9
DV
60012011-06-23 David Volgyes <dvolgyes>
6002
6003 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6004 dereference.
6005
a199a8cd
VS
60062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Fix spurious warning.
6009
6010 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6011 (acorn_partition_map_find): Use .bin member.
6012
e2d1dba0
VS
60132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6016 /dev/root as a valid device.
6017
8a5d6919
JM
60182011-06-23 Jim Meyering <meyering@redhat.com>
6019
e2d1dba0
VS
6020 Avoid NULL deref in grub_device_open.
6021
8a5d6919
JM
6022 * grub-core/kern/device.c (grub_device_open): Don't dereference
6023 a NULL pointer upon failed grub_env_get.
6024
f7db6f4a
VS
60252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Support non-512B sectors and agglomerate reads.
6028
6029 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6030 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6031 (disk_io_guid): Removed.
6032 (make_devices): Locate solely by BlockIO.
6033 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6034 (grub_efidisk_read): Use read_blocks.
6035 (grub_efidisk_write): Use write_blocks.
6036 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6037 log_sector_size.
6038 (get_safe_sectors): Handle non-512B sectors.
6039 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6040 sectors.
6041 (grub_biosdisk_write): Handle non-512B sectors.
6042 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6043 (grub_scsi_read): Remove special non-512B block handling (now handled
6044 one level up).
6045 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6046 and do sanity checks.
6047 (grub_disk_adjust_range): Handle non-512B sectors.
6048 (transform_sector): New function.
6049 (grub_disk_read_small): Likewise.
6050 (grub_disk_read): Rewritten.
6051 (grub_disk_write): Handle non-512B sectors.
6052 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6053 log_sector_size.
6054 (open_device): Use log_sector_size.
6055 (grub_util_biosdisk_read): Likewise.
6056 (grub_util_biosdisk_write): Likewise.
6057 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6058 non-512B sectors.
6059 (pc_partition_map_embed): Likewise.
6060 * include/grub/disk.h (grub_disk): New field log_sector_size.
6061 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6062 (GRUB_DISK_CACHE_BITS): Increased to 6.
6063 * util/grub-fstest.c (fstest): New command testload.
6064 (argp_parser): Likewise.
6065
881ac815
RM
60662011-06-16 Robert Millan <rmh@gnu.org>
6067
6068 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6069 `ata' driver on kernel of FreeBSD 9.
6070
6071 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6072 (get_ataraid_disk_name): New functions.
6073 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6074 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6075 get_ataraid_disk_name() and get_ada_disk_name().
6076
1e9aef7d
CW
60772011-06-13 Colin Watson <cjwatson@ubuntu.com>
6078
6079 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6080 input format.
6081
351c7c8a
CW
60822011-05-29 Colin Watson <cjwatson@ubuntu.com>
6083
6084 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6085 `ftp.gnu.org' for `alpha.gnu.org'.
6086
6b4e6430
CW
60872011-05-27 Colin Watson <cjwatson@ubuntu.com>
6088
6089 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6090 partitions under /dev/disk/by-id/.
6091
c64db050
CW
60922011-05-27 Colin Watson <cjwatson@ubuntu.com>
6093
6094 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6095 after ten consecutive open failures. Scanning all the way up to
6096 10000 is excessive and can cause serious performance problems in
6097 some configurations.
6098 Fixes Ubuntu bug #787461.
6099
245f4aba
VS
61002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6103 opening new one.
6104
f767c929
VS
61052011-05-21 Colin Watson <cjwatson@ubuntu.com>
61062011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Don't stat devices unless we have to.
6109
6110 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6111 dir == /dev/mapper.
6112 (grub_guess_root_device): Use already known os_dev if possible.
6113 * grub-core/kern/emu/hostdisk.c
6114 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6115 if device is known to be a dm one.
6116
f35fa3a6
CW
61172011-05-20 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6120 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6121 Reported by: Pawel Tecza.
6122
9a79fcf2
VS
61232011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6126 (lsefisystab): Likewise.
6127 (lssal): Likewise.
6128 (lsefimmap): Likewise.
6129 (hdparm): Enable on qemu-mips.
6130 (setjmp): Add ia64 nodist.
6131 (serial): Simplify tags.
6132
63e3eea9
CW
61332011-05-18 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * Makefile.util.def (grub-ofpathname): Install manual page.
6136
09728256
CW
61372011-05-18 Colin Watson <cjwatson@ubuntu.com>
6138
6139 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6140
8b63a142
CW
61412011-05-18 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6144
e775d8ed
VS
61452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6148 into dprintf.
6149
bf947d36
VS
61502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 Use full 64-bit division.
6153
6154 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6155 (grub_divmod64): ... this.
6156 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6157 version.
6158
b84f26c5
CW
61592011-05-18 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6162 `source'.
6163
5626056f
CW
61642011-05-18 Colin Watson <cjwatson@ubuntu.com>
6165
6166 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6167 to avoid accidents when debugging with 'sh -x'.
6168 * grub-core/gensyminfo.sh.in: Likewise.
6169 * tests/example_scripted_test.in: Likewise.
6170 * tests/grub_cmd_regexp.in: Likewise.
6171 * tests/grub_script_blanklines.in: Likewise.
6172 * tests/grub_script_dollar.in: Likewise.
6173 * tests/grub_script_expansion.in: Likewise.
6174 * tests/grub_script_final_semicolon.in: Likewise.
6175 * tests/partmap_test.in: Likewise.
6176 * tests/util/grub-shell-tester.in: Likewise.
6177 * tests/util/grub-shell.in: Likewise.
6178
e2965f4a
CW
61792011-05-18 Colin Watson <cjwatson@ubuntu.com>
6180
6181 Move gfxmenu color handling to video, so that gfxterm can use it
6182 too.
6183
6184 * grub-core/gfxmenu/named_colors.c: Move to ...
6185 * grub-core/video/colors.c: ... here. Rename
6186 grub_gui_get_named_color to grub_video_get_named_color.
6187 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6188 * grub-core/video/colors.c (my_isxdigit): ... here.
6189 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6190 Move to ...
6191 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6192 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6193 to ...
6194 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6195
6196 * include/grub/gui.h (grub_gui_color_t): Move to ...
6197 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6198 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6199 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6200 * include/grub/gui.h (grub_gui_map_color): Move to ...
6201 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6202 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6203 to ...
6204 * include/grub/video.h (grub_video_get_named_color): ... here.
6205 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6206 * include/grub/video.h (grub_video_parse_color): ... here.
6207
6208 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6209 video/colors.c.
6210 (gfxmenu): Remove gfxmenu/named_colors.c.
6211 (video) [videomodules]: Add video/colors.c.
6212
6213 Add a background_color command.
6214
6215 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6216 function.
6217 (GRUB_MOD_INIT): Register background_color command.
6218 (GRUB_MOD_FINI): Unregister background_color command.
6219 (redraw_screen_rect): Allow blend/replace of text layer to be
6220 controlled independently from whether there is a background bitmap.
6221 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6222 changing bitmap.
6223
1e4b4390
VS
62242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6225
26618ff0
VS
6226 Patch BPB in ntldr and chainloader --bpb.
6227
1e4b4390
VS
6228 * grub-core/fs/fat.c: Include grub/fat.h.
6229 (grub_fat_bpb): Moved to ...
6230 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6231 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6232 grub/ntfs.h.
6233 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6234 Moved from here...
6235 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6236 here.
6237 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6238 New function.
6239 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6240 (GRUB_MOD_INIT): Show --bpb.
6241 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6242 * grub-core/normal/main.c (features): New variable.
6243 (GRUB_MOD_INIT): Set feature_* variables.
6244 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6245 proto.
6246 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6247
cf02731e
VS
62482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6251 for cleanness.
6252
e3a1073f
VS
62532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 FreeDOS direct loading support.
6256
6257 * docs/grub.texi (Supported OS): Add FreeDOS.
6258 * grub-core/Makefile.core.def (freedos): New module.
6259 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6260 variable.
6261 (grub_relocator16_boot): Handle %ebx.
6262 * grub-core/lib/i386/relocator16.S: Likewise.
6263 * grub-core/loader/i386/pc/freedos.c: New file.
6264
05caa461
VS
62652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 Long Linux command line support.
6268
6269 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6270 (maximal_cmdline_size): New variable.
6271 (allocate_pages): Use maximal_cmdline_size.
6272 (grub_cmd_linux): Set and use maximal_cmdline_size.
6273 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6274 (allocate_pages): Use maximal_cmdline_size.
6275 (grub_cmd_linux): Set and use maximal_cmdline_size.
6276 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6277 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6278 and cmdline_size.
6279
a2491e23
VS
62802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
62812011-05-18 Colin Watson <cjwatson@ubuntu.com>
6282
6283 Improve devmapper support
6284
6285 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6286 (grub_util_is_lvm): New function.
6287 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6288 than lvm if not dmraid.
6289 Handle mapped md nodes.
6290 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6291 (grub_util_device_is_mapped): ... this. Make always available. All users
6292 updated.
6293 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6294 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6295 dmraid nodes.
6296 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6297
6ad6223e
VS
62982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6301
6302 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6303 * grub-core/modinfo.sh.in: New file.
6304 * grub-core/Makefile.core.def (modinfo.sh): New script.
6305 * util/grub-mknetdir.in: Use modinfo.sh.
6306 * util/grub-mkrescue.in: Likewise.
6307
543a8f6e
VS
63082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6311 Fix potential usage of Elf32 instead of Elf64 when compiling on
6312 32-bit architecture. Add endianness macros while on it.
6313
4959e111
VS
63142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Use mipsel- rather than mips- in directories involving mipsel ports to
6317 allow both endiannesses coexist.
6318
6319 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6320 mips. All conditions adjusted.
6321 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6322 variable.
6323 * util/grub-install.in: Adjust conditions to take renaming into account.
6324 * util/grub-mkimage.c (image_targets): Likewise. New target
6325 mips-qemu_mips-elf for bigendian mips.
6326
35341bbc
VS
63272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Avoid unnecessary copying on MIPS.
6330
6331 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6332 early if src == dest.
6333 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6334 compression is none.
6335
b772baed
VS
63362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Reduce memory footprint on SGI by putting modules before the kernel
6339 as opposed to after.
6340
6341 * grub-core/Makefile.core.def (kernel): Increase linking address.
6342 (none_decompress): Likewise.
6343 (xz_decompress): Likewise.
6344 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6345 address.
6346 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6347 layout change.
6348 (grub_arch_modules_addr): New function.
6349 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6350 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6351 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6352 here.
6353 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6354 (grub_total_modules_size): ... this. Make global.
6355 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6356 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6357 New definition.
6358 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6359 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6360 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6361 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6362 * util/grub-mkimage.c (image_target_desc): New flag
6363 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6364 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6365 (generate_image): Handle images with modules before kernel.
6366
566a1917
VS
63672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Prevent potential loss of memory map by overwrite on qemu-mips.
6370
6371 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6372 Save ram size in $s4.
6373 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6374 All users changed to grub_arch_memsize.
6375 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6376 Loongson.
6377 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6378 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6379 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6380 external variable.
6381
5d420cd9
CW
63822011-05-17 Colin Watson <cjwatson@ubuntu.com>
6383
6384 * .bzrignore: Remove grub-dumpbios.
6385
d064b830
CW
63862011-05-17 Colin Watson <cjwatson@ubuntu.com>
6387
6388 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6389 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6390 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6391 existing options which append).
6392 * docs/grub.texi (Simple configuration): Document new options.
6393 Reported by: Ian Jackson. Fixes Debian bug #617538.
6394
3ca2b466
CW
63952011-05-17 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * util/grub-fstest.c (cmd_cat): New function.
6398 (fstest): Handle CMD_CAT.
6399 (options): Add cat.
6400 (argp_parser): Handle cat.
6401
24c9143a
CW
64022011-05-17 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * Makefile.util.def (grub-bin2h): Don't install.
6405 * docs/man/grub-bin2h.h2m: Remove.
6406
90f7ac19
VS
64072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6410 place.
6411
8d4a5178
VS
64122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 Reenable qemu-mips port.
6415
6416 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6417 Fix small arc bug while on it.
6418 * gentpl.py: Handle qemu_mips.
6419 * grub-core/Makefile.am: Likewise.
6420 * grub-core/Makefile.core.def: Likewise.
6421 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6422 inappropriate includes.
6423 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6424 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6425 * grub-core/kern/main.c (grub_modules_get_end)
6426 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6427 * grub-core/kern/mips/qemu-mips: Moved to ..
6428 * grub-core/kern/mips/qemu_mips: ... this.
6429 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6430 (grub_machine_init): Call terminfo_init and serial_init.
6431 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6432 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6433 New variable.
6434 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6435 parameter passing.
6436 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6437 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6438 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6439 * include/grub/mips/qemu_mips/cmos.h: New file.
6440 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6441 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6442 Removed.
6443 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6444 Use correct mips-style address.
6445 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6446 (GRUB_TICKS_PER_SECOND): Removed.
6447 (grub_get_rtc): Likewise.
6448 (grub_cpu_idle): Likewise.
6449 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6450 New definition.
6451 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6452 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6453 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6454 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6455 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6456 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6457 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6458 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6459
400b9371
VS
64602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 SGI ARCS port.
6463
6464 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6465 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6466 platforms.
6467 * configure.ac: New target mips-arc.
6468 * gentpl.py: Likewise.
6469 * grub-core/Makefile.am: Likewise.
6470 * grub-core/Makefile.core.def: Likewise.
6471 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6472 (none_decompress): Likewise.
6473 (lsdev): New module.
6474 (datetime): Use lib/arc/datetime.c on ARC.
6475 (part_dvh): New module.
6476 * grub-core/commands/arc/lsdev.c: New file.
6477 * grub-core/disk/arc/arcdisk.c: Likewise.
6478 * grub-core/kern/mips/arc/init.c: Likewise.
6479 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6480 aligned addresses.
6481 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6482 support.
6483 (grub_arch_dl_relocate_symbols): Likewise.
6484 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6485 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6486 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6487 platforms.
6488 * grub-core/lib/arc/datetime.c: New file.
6489 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6490 pci.h on non-loongson.
6491 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6492 (grub_linux_boot): Set unused registers to 0.
6493 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6494 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6495 * grub-core/mmap/mips/uppermem.c: ...here.
6496 * grub-core/partmap/dvh.c: New file.
6497 * grub-core/term/arc/console.c: Likewise.
6498 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6499 (grub_terminfo_set_current): Add terminal "arc".
6500 (grub_terminfo_readkey): Support ARC sequences.
6501 * include/grub/arc/arc.h: New file.
6502 * include/grub/arc/console.h: Likewise.
6503 * include/grub/disk.h (grub_disk_dev_id): Add
6504 GRUB_DISK_DEVICE_ARCDISK_ID.
6505 * include/grub/mips/arc/kernel.h: New file.
6506 * include/grub/mips/arc/memory.h: Likewise.
6507 * include/grub/mips/arc/time.h: Likewise.
6508 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6509 * include/grub/mips/kernel.h (grub_halt): ... here.
6510 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6511 here...
6512 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6513 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6514 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6515 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6516 proto.
6517 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6518 from here ...
6519 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6520 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6521 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6522 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6523 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6524 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6525 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6526 (grub_phys_addr_t): Moved from here ...
6527 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6528 (grub_vtop): Moved from here ...
6529 * include/grub/mips/memory.h (grub_vtop): ... here.
6530 (grub_map_memory): Moved from here ...
6531 * include/grub/mips/memory.h (grub_map_memory): ... here.
6532 (grub_unmap_memory): Moved from here ...
6533 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6534 (grub_machine_mmap_iterate): Moved from here ...
6535 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6536 (grub_mmap_get_lower): Moved from here ...
6537 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6538 (grub_mmap_get_upper): Moved from here ...
6539 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6540 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6541 here ...
6542 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6543 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6544 here ...
6545 * include/grub/mips/time.h (grub_get_rtc): ... here.
6546 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6547 here ...
6548 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6549 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6550 here ...
6551 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6552 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6553 definition.
6554 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6555 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6556 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6557 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6558 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6559 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6560 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6561 (GRUB_MACHINE_LINK_ADDR): Likewise.
6562 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6563 to 6.
6564 * util/grub-install.in: Run dvhtool on ARC.
6565 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 6566 (generate_image): Handle ECOFF output for mips-arc.
400b9371 6567
c8ecc840
VS
65682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6571 blocks.
6572
153a4b55
VS
65732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6576 after enabling port.
6577
ff44d107
VS
65782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Skip incorrect USB devices.
6581
6582 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6583 configcnt == 0.
6584 * include/grub/usb.h (grub_usb_err_t): New enum value
6585 GRUB_USB_ERR_BADDEVICE.
6586
638dbe4f
VS
65872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Fuloong video init support.
6590
6591 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6592 well.
6593 (grub_vga_read_arx): New function.
6594 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6595 definition.
6596 (framebuffer): New members io, mmioptr and mmiobase.
6597 (read_sis_cmd): New function.
6598 (write_sis_cmd): Likewise.
6599 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6600 rather than 640x400.
6601 * grub-core/video/sis315_init.c: New file.
6602
c3fc520c
VS
66032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6606 non-loongson.
6607 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6608 to grub_dl_register_symbol.
6609
67b1e5c9
VS
66102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Fix compilation errors.
6613
6614 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6615 potentially unused.
6616 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6617 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6618 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6619 to loongson machines.
6620
b756f75f
VS
66212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 Several FS mtime support.
6624
6625 * grub-core/fs/affs.c (grub_affs_time): New struct.
6626 (grub_affs_file): New field mtime.
6627 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6628 type. Removed 'size'. New field 'di'. All users updated.
6629 (grub_affs_mount): Simplify checsum checking.
6630 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6631 (grub_affs_dir): Handle mtime.
6632 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6633 (grub_cpio_dir): Likewise.
6634 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6635 (grub_hfs_filerec): New field mtime.
6636 (grub_hfs_dir): Handle mtime.
6637 (grub_hfs_mtime): New function.
6638 (grub_hfs_fs): Register grub_hfs_mtime.
6639 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6640 (grub_iso9660_dir): New field mtime.
6641 (grub_fshelp_node): New field dirent.
6642 (iso9660_to_unixtime): New function.
6643 (iso9660_to_unixtime2): Likewise.
6644 (grub_iso9660_read_symlink): Use node->dirent.
6645 (grub_iso9660_iterate_dir): Likewise.
6646 (grub_iso9660_dir): Set mtime.
6647 (grub_iso9660_mtime): New function.
6648 (grub_iso9660_fs): Register grub_iso9660_mtime.
6649 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6650 (grub_jfs_inode): New fields atime, ctime and mtime.
6651 (grub_jfs_dir): Set mtime.
6652 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6653 * grub-core/fs/ntfs.c (list_file): Set mtime.
6654 (grub_ntfs_dir): Likewise.
6655 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6656 (grub_reiserfs_iterate_dir): Set mtime.
6657 (grub_reiserfs_dir): Likewise.
6658 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6659 (grub_fshelp_node): Likewise.
6660 (grub_sfs_iterate_dir): Set mtime.
6661 (grub_sfs_dir): Likewise.
6662 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6663 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6664 (grub_xfs_inode): New fields atime, mtime, ctime.
6665 (grub_xfs_dir): Set mtime.
6666 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6667 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6668 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6669
6670 Support UDF symlinks.
6671
6672 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6673 (grub_ufs_read_symlink): New function. All users updated.
6674
6675 Check amiga partmap checksum.
6676
6677 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6678 (grub_amiga_partition): Likewise.
6679 (amiga_partition_map_checksum): New function.
6680 (amiga_partition_map_iterate): Check checksum.
6681
5470225d
VS
66822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 ROMFS support.
6685
6686 * Makefile.util.def (libgrubmods.a): Add romfs.
6687 * grub-core/Makefile.core.def (romfs): New module.
6688 * grub-core/fs/romfs.c: New file.
6689
d4680a35
VS
66902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 Squashfs v4 support.
6693
6694 * Makefile.util.def (libgrubmods.a): Add squash4.
6695 * grub-core/Makefile.core.def (squash4): New module.
6696 * grub-core/fs/squash4.c: New file.
6697 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6698 disk_input_start, disk_input.
6699 (get_byte): Handle disk_input.
6700 (grub_zlib_disk_read): New function.
6701 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6702
bcb18e74
FZ
67032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
67042011-05-15 Feiran Zheng <famcool@gmail.com>
6705
6706 * Makefile.util.def (libgrubmods.a): Add minix3.
6707 * grub-core/Makefile.core.def (minix3): New module.
6708 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6709 (GRUB_MINIX_BSIZE): Removed.
6710 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6711 (grub_minix_ino_t): New type.
6712 (grub_minix_le_to_cpu_ino): New macro.
6713 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
6714 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
6715 (grub_minix_data): New field block_size.
6716 (grub_minix_read_file): Handle 64-bit correctly.
6717 * grub-core/fs/minix3.c: New file.
6718
32297d5f
TG
67192011-05-15 Tristan Gingold <gingold@free.fr>
67202011-05-15 Robert Millan <rmh.grub@aybabtu.com>
67212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 IA64 support.
6724
6725 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
6726 * configure.ac: Add ia64-efi target.
6727 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
6728 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
6729 * gentpl.py: Add ia64_efi platform.
6730 Rename x86_efi to efi and Add ia64-efi. All users updated.
6731 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
6732 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
6733 Remove kern/generic/rtc_get_time_ms.c on EFI.
6734 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
6735 kern/ia64/dl_helper.c on ia64-efi.
6736 Add kern/emu/cache.c on emu.
6737 (linux): Use on loader/ia64/efi/linux.c on ia64.
6738 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
6739 whether symbol is a function.
6740 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
6741 (grub_symbol): New field 'isfunc'.
6742 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
6743 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
6744 (grub_dl_load_segments): Place all sections into the same region.
6745 [__ia64__]: Create trampolines and got.
6746 [GRUB_MACHINE_EMU]: Call mprotect.
6747 (grub_dl_resolve_symbols): Resolve symbol type as well.
6748 [__ia64__]: Create function descriptors.
6749 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
6750 (grub_rtc_get_time_ms): ... this. Expressions simplified.
6751 (grub_get_rtc): New function.
6752 * grub-core/kern/emu/cache.c [__ia64__]: New file.
6753 * grub-core/kern/emu/cache.S: Renamed to ...
6754 * grub-core/kern/emu/cache_s.S: ... this.
6755 [__ia64__]: Add a nop.
6756 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
6757 [__ia64__]: New function.
6758 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
6759 * grub-core/kern/ia64/dl.c: New file.
6760 * grub-core/kern/ia64/dl_helper.c: Likewise.
6761 * grub-core/kern/ia64/efi/init.c: New file.
6762 * grub-core/kern/ia64/efi/startup.S: Likewise.
6763 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
6764 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
6765 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
6766 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
6767 * grub-core/loader/ia64/efi/linux.c: New file.
6768 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
6769 (GRUB_MOD_DEP): Likewise.
6770 (grub_dl) [__ia64__]: New fields got and tramp.
6771 (grub_dl): New field 'base'.
6772 (grub_dl_register_symbol): New argument isfunc. All users updated.
6773 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
6774 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
6775 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
6776 (grub_ia64_dl_get_tramp_got_size): New proto.
6777 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
6778 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
6779 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
6780 * include/grub/efi/api.h: Skip call wrappers on ia64.
6781 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
6782 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
6783 * include/grub/elf.h (ELF_ST_INFO): New definition.
6784 * include/grub/ia64/efi/kernel.h: New file.
6785 * include/grub/ia64/efi/memory.h: Likewise.
6786 * include/grub/ia64/efi/time.h: Likewise.
6787 * include/grub/ia64/kernel.h: Likewise.
6788 * include/grub/ia64/setjmp.h: Likewise (from glibc).
6789 * include/grub/ia64/time.h: New file.
6790 * include/grub/ia64/types.h: Likewise.
6791 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
6792 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
6793 New protos.
6794 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
6795 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6796 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
6797 * util/grub-mkimage.c (image_target_desc): New field pe_target.
6798 All users updated.
6799 (EFI64_HEADER_SIZE): New definition. All users updated.
6800 (image_targets): Add ia64-efi.
6801 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
6802 jumpers_addr. All users updated.
6803 Create function descriptors.
6804 (count_funcs): New function.
6805 (unaligned_uint32): New struct.
6806 (MASK20): New definition.
6807 (MASK19): Likewise.
6808 (MASKF21): Likewise.
6809 (add_value_to_slot_20b): New function.
6810 (add_value_to_slot_21_real): Likewise.
6811 (add_value_to_slot_21): Likewise.
6812 (ia64_kernel_trampoline): New struct.
6813 (nopm): New variable.
6814 (jump): Likewise.
6815 (make_trampoline): New function.
6816 (relocate_addresses): Handle ia64.
6817 (make_reloc_section): Likewise.
6818 (load_image): Likewise.
6819
983b414d
VS
68202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
6823 warning. Move variables before code while on it.
6824
5d063cdc
VS
68252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Fuloong support.
6828
6829 * configure.ac: Rename yeeloong platform to loongson. All users updated.
6830 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
6831 * grub-core/boot/mips/loongson/fuloong.S: New file.
6832 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
6833 Explicitly init CS5536.
6834 [FULOONG]: Don't use serial until CS5536 is available.
6835 Set GPIO based on dumps.
6836 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
6837 [FULOONG]: Handle GPIO and memory controller differences.
6838 Parse machine type in $a2.
6839 * grub-core/boot/mips/startup_raw.S: Determine and save the
6840 architecture.
6841 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
6842 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
6843 init on architecture type.
6844 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6845 SIS315E. Don't init at_keyboard on fuloong.
6846 (grub_halt): Support Fuloong.
6847 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
6848 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
6849 (loongson_machtypes): New array.
6850 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
6851 type.
6852 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
6853 config. All users updated. Handle CS5536 serial.
6854 * grub-core/term/serial.c (grub_serial_register): Conditionalise
6855 default port on machine type. Register serial as inactive.
6856 * grub-core/video/sis315pro.c: New file.
6857 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
6858 definition.
6859 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
6860 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
6861 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
6862 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
6863 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
6864 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
6865 to ...
6866 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
6867 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
6868 definition.
6869 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
6870 (grub_arch_machine): New extern var.
6871 * include/grub/mips/loongson/serial.h
6872 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
6873 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
6874 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
6875 (GRUB_MACHINE_SERIAL_PORT0): ... this.
6876 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
6877 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6878 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6879 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6880 * include/grub/term.h (grub_term_register_input_inactive): New inline
6881 function.
6882 (grub_term_register_output_inactive): Likewise.
6883 * include/grub/video.h (grub_video_driver_id): New value
6884 GRUB_VIDEO_DRIVER_SIS315PRO.
6885 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6886 New field "names". All users updated.
6887 New field value IMAGE_FULOONG_FLASH.
6888 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6889
6ada82d1
JU
68902011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6891
6892 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6893 and add some clarification.
6894
90c571a4
VS
68952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6898 platforms if kernel is compressed.
6899
de04eecf
VS
69002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6903 unused modules since currently referrence counter isn't reliable and
6904 there isn't much memory to recover there anyway.
6905
57688121
VS
69062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6909 rather than resetting it to allow modules to reference themselves
6910 in init.
6911
3d2c7e35
VS
69122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6915 counter on dependencies since grub_dl_unref already handles this.
6916
b25db218
VS
69172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6920 on error if not already done.
6921
25a45338
VS
69222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Fix few potential memory misusage.
6925
6926 * grub-core/font/font.c (load_font_index): Don't free char_index to
6927 avoid double free.
b25db218
VS
6928 (grub_font_load): Zero-fill font at alloc for safety.
6929 Close file on error.
6930 (free_font): Free bmp_idx.
25a45338 6931
0cac83df
VS
69322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * docs/grub.texi (Installation): Fix several outdated claims.
6935
2217a143
VS
69362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Handle module_license on windows.
6939
6940 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6941 sections shifted.
6942 (insert_string): Make argument const char * instead of char *.
6943 (write_section_data): Handle long section names.
6944 Handle module_license.
6945
d4de6b01
VS
69462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6949 handle class-free menuentries.
6950 (grub_normal_add_menu_entry): Add a check to be sure.
6951
4c2a3b43
VS
69522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6955 PgUp and PgDown.
6956
85c6210f
VS
69572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * configure.ac: Bump version to 1.99.
6960
36084912
VS
69612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Give ATA device a bit more time on first try in order to allow disks
6964 to spin up.
6965
6966 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6967 if dev->present is 1. Reset dev->present on failure.
6968 (grub_ata_device_initialize): Set dev->present to 1.
6969 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6970 (grub_ata_device): New member 'present'.
6971
bda0e219
VS
69722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * util/grub-mkimage.c (generate_image): Update hash.
6975
19e1c41b
VS
69762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 Flush caches on DMA memory.
6979
6980 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6981 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6982 (grub_dma_free): Likewise.
6983 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6984
91bbcc0c
VS
69852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6988 to avoid asm treating ld and sd as macros.
6989
60ddfad3
VS
69902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6993 decompressor.
6994
a298aa04
VS
69952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6998 grub_decompress_core since later would fail if grub_decompress_core
6999 is too far.
7000
9b44feca
VS
70012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7004 R_MIPS_JALR since it's used by newer compiler.
7005
56dbe7b4
VS
70062011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7009
52856af2
VS
70102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7013 file_path to 0 for surety.
7014 (grub_chainloader_boot): Set exit_data to NULL.
7015 Unset the loader once done.
7016 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7017
9c9bfc6d
VS
70182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7021 unknown key into a dprintf.
7022
dd94a3df
VS
70232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7026 on first non-existant partition.
7027
fa68d99c
VS
70282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7031 openning fails.
7032 Reported by: Mark Korenberg.
7033
157effb7
VS
70342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7037 overflow.
7038
ea75312f
VS
70392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7042 before closing to ensure that it will be readable by grub-setup.
7043
072b5d31
VS
70442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7047 (devpath_1): Use MAKE_PIWG_PATH.
7048 (devpath_2): Likewise.
7049 (devpath_3): Likewise.
7050 (devpath_4): Likewise.
7051 (devpath_5): Likewise.
7052 (devpath_6): Likewise.
7053
7054 The appleldr.mod was checked that to be binary identical to previous
7055 version.
7056
7fae0051
Z
70572011-05-05 Zach <mikezackles>
7058
7059 Support 2010 Macbooks.
7060
7061 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7062 (devs): Add devpath_6.
7063
7c515bee
VS
70642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7067 /dev/random. /dev/urandom is good enough for our purposes (salting).
7068
ed660bd8
VS
70692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7072
ee5614b7
VS
70732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7076 hexadecimal.
7077
664889a6
VS
70782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7081 and not 0 on failure.
7082
bd405bbc
CW
70832011-05-03 Colin Watson <cjwatson@ubuntu.com>
7084
7085 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7086 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7087 disk; otherwise grub_fs_probe will not fall back to the next
7088 filesystem.
7089 (grub_pxefs_open): Likewise, for consistency.
7090 Reported and tested by: Ezekiel Grave.
7091
4ebff753
CW
70922011-05-03 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * tests/partmap_test.in: Don't hardcode path to parted.
7095 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7096
8f942553
CW
70972011-05-01 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7100 of `ls' to find out which devices are available.
7101
3c62402d
VS
71022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7105 than source address for efi mmap buffer.
7106
723f63f2
VS
71072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7110 wrong action on non-detecting the magic.
7111
68797f92
VS
71122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7115 already supplied by another part of the module (fixes compilation on
7116 FreeBSD).
7117
6be8715d
VS
71182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7121 match the one used by mdadm.
7122
e91dba5b
CW
71232011-04-21 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * po/README: Add instructions for creating po/LINGUAS.
7126
c85140b3
CW
71272011-04-21 Colin Watson <cjwatson@ubuntu.com>
7128
7129 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7130 #551428.
7131
7132 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7133 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7134 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7135 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7136 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7137 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7138 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7139 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7140 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7141 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7142 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7143 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7144 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7145 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7146 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7147 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7148 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7149 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7150 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7151 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7152 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7153 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7154
92051871
CW
71552011-04-21 Colin Watson <cjwatson@ubuntu.com>
7156
7157 * grub-core/kern/emu/getroot.c
7158 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7159 test that was incorrectly reintroduced in r3214.
7160 Reported by: Ian Dall. Fixes Savannah bug #33133.
7161
b13f79a4
CW
71622011-04-21 Colin Watson <cjwatson@ubuntu.com>
7163
7164 Fix stack pointer handling in 16-bit relocator.
7165
7166 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7167 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7168 Fixes Ubuntu bug #683904.
7169
9b710a88
VS
71702011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * configure.ac: Bump version to 1.99~rc2.
7173
d97e7b59
VS
71742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7177 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7178 * grub-core/lib/x86_64/setjmp.S: Likewise.
7179 * grub-core/lib/mips/setjmp.S: Likewise.
7180 * grub-core/lib/powerpc/setjmp.S: Likewise.
7181 * grub-core/lib/sparc64/setjmp.S: Likewise.
7182
0624551c
VS
71832011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7186 * grub-core/lib/efi/datetime.c: Likewise.
7187
e8f28d4c
VS
71882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7191 New function.
7192 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7193 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7194 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7195
bba79a15
VS
71962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7199 bitmap.
7200 (grub_gfxterm_term_init): Likewise.
7201
abc474ef
VS
72022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Take into account the decorations the computing menu entry width.
7205
7206 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7207 (grub_gfxmenu_create_box): Register get_border_width.
7208 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7209 if available.
7210 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7211 get_border_width.
7212
e74b3947
EP
72132011-04-18 Endres Puschner <code@e7p.de>
7214
7215 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7216 Don't skip first class.
7217
34faa595
VS
72182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7221 chunks.
7222 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7223
93a777e3
VS
72242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Complete 64-bit division support.
7227
7228 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7229 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7230 * include/grub/misc.h (grub_divmod64): Rename to ...
7231 (grub_divmod64_full): ... this.
7232 (grub_divmod64): New inline function.
7233
a5102d94
VS
72342011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7237
f3fb7b36
VS
72382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7241 performing the necessary test.
7242
9ac718b0
VS
72432011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7246 (kfreebsd.elf): Likewise.
7247 (pc-chainloader.elf): Likewise.
7248 (ntldr.elf): Likewise.
7249
50d2cc5a
VS
72502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Identify RAID by its UUID rather than (guessed) name.
7253
7254 * grub-core/disk/raid.c (ascii2hex): New function.
7255 (grub_raid_open): Accept mduuid/%s specification.
7256 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7257 (get_mdadm_uuid): ... this.
7258 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7259
e03f7bea
VS
72602011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7263 to negative size.
7264
e74c3112
CW
72652011-04-13 Colin Watson <cjwatson@ubuntu.com>
7266
7267 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7268 btrfs subvolume.
7269 * util/grub.d/20_linux_xen.in: Likewise.
7270
78fa584f
CW
72712011-04-13 Colin Watson <cjwatson@ubuntu.com>
7272
7273 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7274 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7275
7276 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7277 Build a list of relevant visible mounts using the mnt_id and
7278 parent_mnt_id fields, and then scan that list at the end.
7279
9d5f8162
CW
72802011-04-12 Colin Watson <cjwatson@ubuntu.com>
7281
7282 * docs/grub.texi (normal): New section.
7283 (normal_exit): New section.
7284 (Embedded configuration): Add reference to normal.
7285 (GRUB only offers a rescue shell): Likewise.
7286 * docs/grub-dev.texi (Error Handling): Fix typo.
7287
09a9d66f
CW
72882011-04-12 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * NEWS: Drop obsolete entry about probe-only btrfs support.
7291
0c676933
CW
72922011-04-12 Colin Watson <cjwatson@ubuntu.com>
7293
7294 * util/import_gcry.py: Fix typo.
7295
ec9f5e0d
VS
72962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * NEWS: Add btrfs support.
7299
fe6b2cba
VS
73002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
73012011-04-11 Colin Watson <cjwatson@ubuntu.com>
7302
7303 BtrFS support. Written by me (Vladimir) with important bugfixes and
7304 even more important testing by Colin.
7305
7306 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7307 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7308 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7309 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7310 mem_input_off and mem_input. All users updated to accept in-RAM input.
7311 (gzio_seek): New function.
7312 (test_zlib_header): Likewise.
7313 (grub_gzio_read): Likewise.
7314 (grub_zlib_decompress): Likewise.
7315 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7316 Accept partial and non-virtual mounts.
7317 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7318 avoid receiving /dev/dm-X as device.
7319 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7320 Handle bind and partial mounts.
7321 * grub-core/lib/crc.c: New file.
7322 * include/grub/deflate.h: Likewise.
7323 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7324 proto.
7325 * include/grub/lib/crc.h: New file.
7326
e745cf0c
VS
73272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Implement automatic module license checking according to new GNU
7330 guidelines.
7331
7332 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7333 (grub_dl_load_core): Use grub_dl_check_license.
7334 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7335 (GRUB_MOD_LICENSE): Likewise.
7336 (GRUB_MOD_DUAL_LICENSE): Likewise.
7337 All modules updated.
7338
2a9bc016
CW
73392011-04-11 Colin Watson <cjwatson@ubuntu.com>
7340
7341 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7342 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7343 loaders.
7344 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7345
8a3bc88e
VS
73462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7349
af869a4a
VS
73502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7353 failed.
7354
9ee8d94f
VS
73552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7358 parenthesis in the middle of the filename.
7359
b01abe3e
VS
73602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7363 rather than trying to put initrd way too high.
7364 Reported by: Ryan Lortie <desrt@desrt.ca>
7365
335bda1e
VS
73662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7369 improperly removed string.
7370
5ca1a64d
VS
73712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7374 is_disk.
7375 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7376 (open_device) Likewise.
7377 (grub_util_biosdisk_close): Likewise.
d8ce9995 7378 Reported by: Mark Korenberg.
5ca1a64d 7379
cbac5b1e
AK
73802011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7381
7382 * util/grub-mkconfig_lib.in: Add missing quotes.
7383
088cdb65
CW
73842011-04-10 Colin Watson <cjwatson@ubuntu.com>
7385
7386 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7387 is NULL.
7388
8b8a81fa
VS
73892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Dynamically count the number of lines for the lower banner.
7392
7393 * grub-core/normal/menu_entry.c (per_term_screen): New member
7394 num_entries.
7395 (print_down): Use num_entries.
7396 (update_screen): Likewise.
7397 (grub_menu_entry_run): Set num_entries.
7398 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7399 num_entries.
7400 (grub_print_message_indented): Move real part to ...
7401 (grub_print_message_indented_real): ... here. Additional argument
7402 dry_run.
7403 (draw_border): Additional argument num_entries.
7404 (print_message): Additional argument dry_run.
7405 (print_entries): Receive menu viewer data.
7406 (grub_menu_init_page): New argment num_entries.
7407 (menu_text_set_chosen_entry): Use num_entries.
7408 (grub_menu_try_text): Likewise.
7409 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7410 All users updated.
7411 (grub_ucs4_count_lines): New function.
7412 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7413 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7414 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7415 (grub_term_border_height): Likewise.
7416 (grub_term_num_entries): Likewise.
7417
277f955b
VS
74182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7421 Remove now unused string.
7422
536ce85a
CW
74232011-04-09 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7426 build system.
7427 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7428
7429 (Comment): Fix typo.
7430 (Getting started): General copy-editing.
7431 (Typical Development Experience): Likewise.
7432 (Error Handling): Likewise.
7433 (Video API): Likewise.
7434
2cf09e32
CW
74352011-04-09 Colin Watson <cjwatson@ubuntu.com>
7436
7437 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7438 throughout.
7439
1ec652f4
VS
74402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7443 directory.
7444
2c583728
CW
74452011-04-08 Colin Watson <cjwatson@ubuntu.com>
7446
7447 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7448 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7449 "development".
7450
d7a565e9
VS
74512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7454 grub_strcpy since the lines aren't necessarily 0-terminated.
7455
7c2e4909
VS
74562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7459 root on legacy.
7460
34c09785
VS
74612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7464 (GRUB_MOD_INIT): DEVICE isn't optional.
7465
6a6f8058
VS
74662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7469 word on new line if it's too long anyway. Fixes a hang.
7470
2e335e90
VS
74712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7474 const.
7475 * util/grub-setup.c (main): Reuse md device name if available.
7476 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7477 not GRUB name as argument.
7478 Based on patch by: Florian Wagner <fwagner>.
7479
10a7a867
VS
74802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7483 Place mbi on low memory for better compatibility.
7484
7a3d6cd9
VS
74852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7488
18dd6b47
VS
74892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
74902011-04-08 Colin Watson <cjwatson@ubuntu.com>
7491
7492 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 7493 * conf/Makefile.common: Likewise.
18dd6b47 7494
3c0e3f14
VS
74952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7496
f7148863
VS
7497 * grub-core/normal/menu.c: Add missing include.
7498
74992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 7502
6d1fa41f
MZ
75032011-04-08 Martin Zuther <mzuther@mzuther.de>
7504
7505 * util/grub-mkconfig.in: Ignore emacsen backup.
7506
478182a8
VS
75072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7510 on open.
7511 (grub_util_biosdisk_close): Likewise.
7512
72a89a54
VS
75132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7516 const attribute and use grub_isdigit.
7517
b5ebecfa
A
75182011-04-06 Andrey <dev_null@ukr.net>
7519
7520 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7521 gcc warning.
7522
7755f66e
VS
75232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7526 useful grub_dprintf's.
7527
461121ff
VS
75282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7531
2a961775
VS
75322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7535
adf594cc
VS
75362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Output errors if theme loading failed.
7539
7540 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7541 grub_gfxterm_fullscreen on error paths to ...
7542 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7543 theme loading error.
7544
665900a3
VS
75452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7548 space for older compilers.
7549 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7550
a562b479
VS
75512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7554 and report them as not RAID members since they are useless for GRUB.
7555 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7556
850e9373
VS
75572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Increase LVM implementation robustness in order not to crash on
7560 configurations like pvmove. Previously code assumed that in some places
7561 only lvs or only pvs are used whereas it seems that they are used
7562 interchangeably.
7563
7564 * grub-core/disk/lvm.c (read_node): New function.
7565 (read_lv): Use read_node.
7566 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7567 Match volumes only at the end when all lvs are found. Take both
7568 pvs (first) and lvs (second) into account.
7569 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7570 mirror_* into node_*. All users updated.
7571 (grub_lvm_stripe): Merge this ...
7572 (grub_lvm_mirror): ... and this ...
7573 (grub_lvm_node): ... into this. All users updated.
7574
6f332153
VS
75752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7578 of function to allow further scanning for LVMs.
7579
829ea451
VS
75802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7583 on failed seek as it breaks open fd reusage.
7584
09ceb9a5
VS
75852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-install.in: Add a recommendation to use --recheck before
7588 reporting bugs.
7589
67e11623
VS
75902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7593 are obtained.
7594
caee5efd
VS
75952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 GRUB developper manual based on existing Internals section and
7598 contributions by the various authors with active copyright assignment.
7599
7600 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7601 * docs/font_char_metrics.png: New file.
7602 * docs/font_char_metrics.txt: Likewise.
7603 * docs/grub-dev.texi: Likewise.
7604 * docs/grub.texi (Internals): Move from here ...
7605 * docs/grub-dev.texi: ... here.
7606
2cccc747
CW
76072011-04-01 Colin Watson <cjwatson@ubuntu.com>
7608
7609 Store the loopback device as data on loopback grub_disk structures,
7610 rather than the file it points to. This fixes use of freed memory
7611 if an existing loopback device is replaced.
7612
7613 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7614 disk->data, not dev->file.
7615 (grub_loopback_read): Adjust file assignment to match.
7616 Fixes Ubuntu bug #742967.
7617
186ae367
CW
76182011-04-01 Colin Watson <cjwatson@ubuntu.com>
7619
7620 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7621 when replacing an existing device.
7622
cfed2ad0
VS
76232011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7626 memory corruptions.
7627
7628 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7629 unsigned.
7630 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7631 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7632 (grub_jfs_read_inode): Likewise.
7633 (grub_jfs_opendir): Likewise. Remove now useless casts.
7634 (grub_jfs_getent): Likewise.
7635 Make ino a grub_uint32_t rather than int.
7636 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7637 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7638 division and module with bit operations.
7639 (grub_jfs_find_file): Make ino a grub_uint32_t.
7640 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
7641
05d2ed32
CW
76422011-04-01 Colin Watson <cjwatson@ubuntu.com>
7643
7644 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
7645 warning. (This was in fact always initialised before use, but GCC
7646 wasn't smart enough to prove that.)
7647 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7648
91dc6073
VS
76492011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7652 stack alignment.
7653 (efi_wrap_1): Likewise.
7654 (efi_wrap_2): Likewise.
7655 (efi_wrap_3): Likewise.
7656 (efi_wrap_4): Likewise.
7657 (efi_wrap_5): Likewise.
7658 (efi_wrap_6): Likewise.
7659 (efi_wrap_10): Likewise.
7660 Based on information by: Red Hat/Peter Jones.
7661
a8afc1d1
CW
76622011-03-31 Colin Watson <cjwatson@ubuntu.com>
7663
7664 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7665 set-but-not-used variable.
7666
a826cc7d
CW
76672011-03-31 Colin Watson <cjwatson@ubuntu.com>
7668
7669 * docs/grub.texi (Simple configuration): Be more explicit about
7670 GRUB_DEFAULT, and add an example.
7671 Reported by: Leslie Rhorer.
7672
875b67ba
CW
76732011-03-30 Colin Watson <cjwatson@ubuntu.com>
7674
7675 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7676 shell".
7677
fd7cd914
AS
76782011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7679
7680 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7681 * util/grub.d/20_linux_xen.in: Likewise.
7682
090b1b6a
VS
76832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * util/grub.d/10_linux.in: Try alternative config filenames where
7686 we parse config file.
7687 * util/grub.d/20_linux_xen.in: Likewise.
7688
baad885c
AS
76892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7690
7691 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7692 * util/grub.d/20_linux_xen.in: Likewise.
7693
241e41f5
VS
76942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/disk/raid.c (insert_array): Add few potentially
7697 useful grub_util_info.
7698 (grub_raid_register): Likewise.
7699
56445fb2
VS
77002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7703 Preserve partition number in mdadm code path.
7704
c871b1c6
VS
77052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7708 few potentially useful grub_util_info.
7709
5e631b4f
CW
77102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
7713
2d5d0333
CW
77142011-03-30 Colin Watson <cjwatson@ubuntu.com>
7715
7716 * docs/grub.texi (default): Use @example rather than nested
7717 itemized lists to avoid breaking gendocs.
7718
3d7ed04e
CW
77192011-03-30 Colin Watson <cjwatson@ubuntu.com>
7720
7721 * docs/grub.texi (Future): Update.
7722
abf04200 77232011-03-30 Colin Watson <cjwatson@ubuntu.com>
7724
7725 * docs/grub.texi (Environment): New chapter.
7726 (Changes from GRUB Legacy): Link to "Environment block" section for
7727 details of limitations.
7728 (Simple configuration): Likewise. Link to documentation of gfxmode
7729 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
7730 respectively.
7731 (Shell-like scripting): Note that normal variables are stored in the
7732 environment.
7733 (gettext): Link to documentation of lang and locale_dir.
7734 (list_env): New section.
7735 (load_env): New section.
7736 (save_env): New section.
7737
7738 (Reporting bugs): Fix typo.
7739
e1ad0edd
VS
77402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
7743 the example.
7744
5d803174
VS
77452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/term/at_keyboard.c (set_scancodes)
7748 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
7749
2a2da1d0
CW
77502011-03-30 Colin Watson <cjwatson@ubuntu.com>
7751
7752 * docs/grub.texi (Menu-specific commands): Remove some semantics
7753 that were true in GRUB Legacy but not in GRUB 2.
7754 (submenu): New section.
7755 (false): New section.
7756 (read): New section.
7757 (true): New section.
7758
a7527639
CW
77592011-03-30 Colin Watson <cjwatson@ubuntu.com>
7760
7761 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
7762
77632011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
7764
7765 * docs/grub.texi (Simple configuration): Explain some of the
7766 current limitations of grub-mkconfig.
8a748df2 7767 Reported by: Leslie Rhorer.
e30af029 7768
fc858482
VS
77692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 Old macs search for boot.efi rather than for bootia32.efi.
7772
7773 * util/grub-install.in: Copy bootia32.efi to boot.efi.
7774 * util/grub-mkrescue.in: Likewise.
7775 Suggested by: Peter Jones.
7776
e1eb511d
VS
77772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
7780
70e75364
VS
77812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
7784 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
7785 (grub_lvm_mirror): New struct.
7786 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
7787 (grub_lvm_iterate): Iterate only visible volumes.
7788 (grub_lvm_read): Factor out to ..
7789 (read_lv): ... this. Support mirrors.
7790 (grub_lvm_read): New wrapper function.
7791 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
7792 stripped or mirrored.
7793
fc18f6a3
VS
77942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
7797
5c650f4c
CW
77982011-03-29 Colin Watson <cjwatson@ubuntu.com>
7799
7800 * docs/grub.texi (loopback): New section.
7801
61d7156b
CW
78022011-03-29 Colin Watson <cjwatson@ubuntu.com>
7803
7804 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
7805 removed -p option.
7806
994b8264
CW
78072011-03-29 Colin Watson <cjwatson@ubuntu.com>
7808
7809 * docs/grub.texi (BIOS installation): New section, partly based on
7810 previous text in other sections.
7811 (Installing GRUB using grub-install): Replace BIOS discussion with a
7812 cross-reference.
7813 (Images): Likewise.
7814
9e4d19e0
VS
78152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/kern/emu/hostdisk.c (find_partition_start)
7818 [HAVE_DIOCGDINFO]: Add safety checks.
7819
a307c0b2
VS
78202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
7823 per default compiled in kernel and prior to 8.0 isn't shipped at all.
7824
b4db4f39
CW
78252011-03-29 Colin Watson <cjwatson@ubuntu.com>
7826
7827 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
7828 real_sb->size is zero (e.g. RAID-0), get the disk size from
7829 real_sb->data_size instead.
7830 Fixes Ubuntu bug #743136.
7831
35e5f84c
VS
78322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
7835 printf clauses for printing size and start.
7836
d2e29d81
VS
78372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
7840 Reported and tested by: Timothy Nikkel.
7841
ed5587af
VS
78422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
7845 (dirty_region_add_real): ... this.
7846 (dirty_region_add): Don't discard margin refresh when performing
7847 scheduled repaint.
7848
a1dc717c
VS
78492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/lib/relocator.c (allocate_regstart)
7852 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
7853 terminals are capabple of malloc-free operation.
7854 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7855 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7856
9f3677d3
VS
78572011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
7858
7859 * util/grub-setup.c: Copy the partition table zone if floppy support
7860 is disabled, even if no partition table is found.
7861
7862 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
7863 during POST if an invalid partition table is contained in the PBR
7864 of the active partition when GRUB is installed to a partition.
7865
24148725
CW
78662011-03-28 Colin Watson <cjwatson@debian.org>
7867
7868 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
7869 comment.
7870
f329eda7
CW
78712011-03-28 Colin Watson <cjwatson@debian.org>
7872
7873 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
7874 to be specific about what kind of RAID device we're scanning for.
7875
c482ad98
SG
78762011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
7877
7878 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7879 return freed string.
7880
5ee04984
VS
78812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7884
f4727da9
VS
78852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Use libgeom on FreeBSD to detect partitions.
7888
7889 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7890 (grub-mkrelpath): Likewise.
7891 (grub-script-check): Likewise.
7892 (grub-editenv): Likewise.
7893 (grub-mkpasswd-pbkdf2): Likewise.
7894 (grub-fstest): Likewise.
7895 (grub-mkfont): Likewise.
7896 (grub-mkdevicemap): Likewise.
7897 (grub-probe): Likewise.
7898 (grub-setup): Likewise.
7899 (grub-ofpathname): Likewise.
7900 (grub-mklayout): Likewise.
7901 (example_unit_test): Likewise.
7902 (grub-menulst2cfg): Likewise.
7903 * grub-core/Makefile.core.def (grub-emu): Likewise.
7904 (grub-emu-lite): Likewise.
7905 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7906 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7907 define HAVE_DIOCGDINFO.
7908 (follow_geom_up) [FreeBSD]: New function.
7909 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7910 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7911 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7912 unconditionally of HAVE_DIOCGDINFO.
7913
82fe6c75
VS
79142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 Fix FreeBSD compilation problem.
7917
7918 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7919 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7920
4c6c9431
CW
79212011-03-24 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7924 Switch back to page zero before loading a kernel, since some kernel
7925 drivers expect that.
7926 Thanks to: Felix Kuehling.
7927
c7064d94
VS
79282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7931 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7932 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7933
3f71cded
VS
79342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7937 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7938
ef6de21a
VS
79392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7942 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7943 malloc is disabled.
7944
8bc66a2c
VS
79452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7948 for modules headers when counting the needed allocation size.
7949
5657722c
VS
79502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7953 if no ASCII character is found to prevent crash.
7954
41a85f55
AK
79552011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7956
7957 * grub-core/video/bitmap.c (match_extension): Ignore case.
7958
59e1e5f1
VS
79592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7962
bd4d051a
VS
79632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/script/parser.y: Declare "time" as valid argument.
7966
bae7fcc1
PJ
79672011-03-23 Peter Jones <pjones@redhat.com>
7968
7969 Fix incorrect assert failure reporting.
7970
7971 * grub-core/tests/example_functional_test.c (example_test): Add
7972 a failure comment.
7973 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7974 (failure_start): ...this. Check that malloc succeeded.
7975 Don't call xvasprintf. Return failure struct.
7976 (failure_append_vtext): New function.
7977 (failure_append_text): Likewise.
7978 (add_failure): Likewise.
7979 (grub_test_assert_helper): Likewise.
7980 * include/grub/test.h (grub_test_assert_helper): New declaration.
7981 (grub_test_assert): Macro rewritten.
7982
537dc9be
VS
79832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7986
fa3e01bf
VS
79872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7990
b1d28404
VS
79912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7994 into GRUB-style one.
7995
2e3e2e09
VS
79962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7999 error and not grub_errno.
8000 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8001
ed57e557
VS
80022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8005 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8006
d1611f01
VS
80072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/efiemu/i386/pc/cfgtables.c
8010 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8011 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8012 (grub_xnu_unlock): Likewise.
8013 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8014
7d4e39d6
VS
80152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8018 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8019 * grub-core/commands/hashsum.c (aliases): Likewise.
8020 * grub-core/commands/setpci.c (pci_registers): Likewise.
8021 * grub-core/disk/usbms.c (attach_hook): Likewise.
8022 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8023 (zio_checksum_table): Likewise.
8024 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8025 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8026 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8027 * grub-core/lib/relocator.c (leftovers): Likewise.
8028 (extra_blocks): Likewise.
8029 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8030 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8031 (modules_last): Likewise.
8032 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8033 (devices): Likewise.
8034 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8035 (modules_last): Likewise.
8036 * grub-core/normal/auth.c (users): Likewise.
8037 * grub-core/normal/context.c (initial_menu): Likewise.
8038 (current_menu): Likewise.
8039 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8040 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8041 (grub_serial_terminfo_input_template): Likewise.
8042 (grub_serial_terminfo_output_template): Likewise.
8043 (grub_serial_terminfo_input): Likewise.
8044 (grub_serial_terminfo_output): Likewise.
8045 (registered): Likewise.
8046 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8047
40fc4659
VS
80482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8051 grub_video_mode_type_t.
8052 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8053 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8054 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8055
2da48d28
VS
80562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/grub-install.in: Correct the x86-64 name as x86_64.
8059
9b43bf39
CW
80602011-03-11 Colin Watson <cjwatson@ubuntu.com>
8061
8062 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8063 initial chunk read from the kernel always includes GRUB's multiboot
8064 header, which is now outside the first sector.
8065
be1a7ce0
CW
80662011-03-09 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8069 cached mmap_size, so that this works correctly when called multiple
8070 times.
8071 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8072
83a3c48d
CW
80732011-03-09 Colin Watson <cjwatson@ubuntu.com>
8074
8075 * docs/grub.texi (Simple configuration): Tidy up formatting.
8076
57d75699
SJ
80772011-03-07 Szymon Janc <szymon@janc.net.pl>
8078
8079 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8080 Set-but-not-used variable removed.
8081
028501a0
VS
80822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Workaround yet another IEEE1275 bug.
8085
8086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8087 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8088 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8089 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8090 is set.
8091 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8092 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8093
d998657d
VS
80942011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8097 error.
8098
fee7cdd4
CW
80992011-02-11 Colin Watson <cjwatson@ubuntu.com>
8100
8101 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8102 empty, since in that case we can only generate either nothing or a
8103 syntactically invalid configuration file.
8104 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8105
97286eb5
CW
81062011-02-09 Colin Watson <cjwatson@ubuntu.com>
8107
8108 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8109 (Making a GRUB bootable CD-ROM): Likewise.
8110 (Invoking grub-mkrescue): New section.
8111 Reported by: Yann Dirson. Fixes Debian bug #612585.
8112
22b28eb3
CW
81132011-02-09 Colin Watson <cjwatson@ubuntu.com>
8114
8115 * util/grub-install.in: Remove unnecessary brackets from tr
8116 arguments.
8117 * util/grub.d/10_hurd.in: Likewise.
8118 * util/grub.d/10_kfreebsd.in: Likewise.
8119 * util/grub.d/10_linux.in: Likewise.
8120 * util/grub.d/20_linux_xen.in: Likewise.
8121 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8122
7e735e43
CW
81232011-02-08 Colin Watson <cjwatson@ubuntu.com>
8124
8125 * include/grub/file.h (not_easly_seekable): Rename to ...
8126 (not_easily_seekable): ... this. Update all users.
8127
800f1881
CW
81282011-01-28 Colin Watson <cjwatson@ubuntu.com>
8129
8130 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8131 grub-mkrescue.
8132
3281d3d6
VS
81332011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * util/grub-mkimage.c (generate_image): Refuse to create the images
8136 bigger than the actual flash (512K) in Loongson machines. 512K is also
8137 the biggest chip supported by them.
8138
3533413c
VS
81392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8142
73ae4f4f
VS
81432011-01-22 Anthony DeRobertis <anthony@derobert.net>
8144
8145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8146 super_offset field.
8147
37f4f608
VS
81482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * util/grub-install.in: Ignore install device on platforms
8151 where it doesn't make sense. Always use UUIDs except on pc, efi and
8152 sparc64.
8153 Reported by: Daniel Kahn Gillmor.
8154
03a4ccb5
VS
81552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8158
ffc8f4d8
VS
81592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8162 (iterate_real): Don't rely on partition being non-NULL.
8163
80f23be7
VS
81642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8167 supported platforms. Put a compile time assert for this rather than
8168 generate a warning with 32-bit shift.
8169
5d4f4dd5
VS
81702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8173 logical expression more readable.
8174
e489601a
VS
81752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8178 even if some elements have a name.
8179 Reported by: Alexander GQ Gerasiov.
8180
96e0a6ea
CW
81812011-01-22 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8184 path unreadable if `grub-probe -t abstraction' fails, for example if
8185 memberlist fails on an LVM volume group.
8186 Reported by: Darius Jahandarie.
8187
81431e2b
CW
81882011-01-22 Colin Watson <cjwatson@ubuntu.com>
8189
8190 * docs/grub.texi (Simple configuration): Document
8191 GRUB_PRELOAD_MODULES.
8192
5e79d66a
CW
81932011-01-17 Colin Watson <cjwatson@ubuntu.com>
8194
8195 * .bzrignore: Remove nonexistent grub-pbkdf2.
8196
646ada34
VS
81972011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * configure.ac: Bump version to 1.99~rc1.
8200
04360337
VS
82012011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8204 for safety.
8205
46c9db88
VS
82062011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8209 module.
8210
82112011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8212
8213 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8214
4fbf1852
VS
82152011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8218 diskdevid.
8219
f1632d4d
VS
82202011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Fix compilation on cygwin.
8223
8224 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8225 -R .drectve on cygwin.
8226 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8227 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8228 (COND_CYGWIN): New condition.
8229 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8230 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8231 not @TARGET_OBJ2ELF@.
8232 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8233 type to determine whether aux is to be used.
8234
0b5e127b
VS
82352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8238 realpath'ed device string.
8239 Handle floppy (somewhat).
8240 Issue error in unknown case rather than garbage.
8241 Reported by: Axel Beckert.
8242
173b71e9
VS
82432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub.d/00_header.in (load_video): Handle the case when no video
8246 drivers available.
8247 Thanks to: Axel Beckert.
8248
f8f479db
VS
82492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8252 variable. Fixes problem on big endian platforms.
8253
8fc0a245
VS
82542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8257 It doesn't work well there.
8258
b8494fbe
VS
82592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8262 warning.
8263 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8264 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8265 counter.
8266
b44a558c
VS
82672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 Use alias->path rather than buggy "canon".
8270
8271 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8272 (ofdisk_hash_add): New argument curcan. All users updated.
8273
51fa856c
CW
82742011-01-11 Colin Watson <cjwatson@ubuntu.com>
8275
8276 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8277
9da068a5
VS
82782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8281 loadmask before doing any calculations. Use correct type for offset.
8282 (grub_linux_load64): Likewise.
8283
86205c94
CW
82842011-01-11 Colin Watson <cjwatson@ubuntu.com>
8285
8286 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8287 with NULL.
8288 (console_grub_equivalences_unshift): Likewise.
8289 Reported by: Daniel Dehennin.
8290
4531a206
VS
82912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8294 (set_env_limn_ro): Likewise.
8295 (GRUB_MOD_INIT): Likewise.
8296 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8297 ARRAY_SIZE while on it.
8298 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8299 * grub-core/normal/context.c (grub_env_export): Move from here ...
8300 * grub-core/kern/env.c (grub_env_export): ... here.
8301 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8302 prefix.
8303 * grub-core/kern/main.c (grub_main): Export root and prefix.
8304 * include/grub/env.h (grub_env_export): Export.
8305 Reported by: Seth Goldberg.
8306
45146057
VS
83072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8310 Take into account space used by ELF sections and multiboot palette.
8311 Reported by: Grégoire Sutre.
8312
f093110b
VS
83132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * BUGS: New file.
8316
3395fe52
VS
83172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 Pass more appropriate video id to Linux.
8320
8321 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8322 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8323 fill have_vga.
8324 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8325 shift params->lfb_size.
8326 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8327
c2fa6cbb
VS
83282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8331
b3ff6ff0
VS
83322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8335 separator and pass bootpath/devid even if only one of them is available.
8336 Reported by: Seth Goldberg.
8337
ae67942e
VS
83382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8341 implementations bug on them.
8342
8343 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8344 memory.
8345 (filter_memory_map): Likewise.
8346
d570097a
VS
83472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8350 Reported by: nebuchadnezzar.
8351
a508e776
VS
83522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8355 Reported by: nebuchadnezzar.
8356
dcb883b1
VS
83572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 Submenu default support.
8360
8361 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8362 auto_boot. All users updated.
8363 Declared static.
8364 Handle chosen and default with submenus.
8365 (grub_menu_execute_with_fallback): Declared static.
8366 Don't notify failure if autobooted. Upper level does it.
8367 (menuentry_eq): New function.
8368 (get_entry_number): Use menuentry_eq.
8369 (show_menu): New parameter "autobooted". All users updated.
8370 (grub_show_menu): Likewise.
8371 * include/grub/normal.h (grub_show_menu): Likewise.
8372 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8373 (grub_menu_execute_with_fallback): Likewise.
8374
6fef99b4
VS
83752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * util/grub-mklayout.c (usage): Update help text.
8378
47a77af5
VS
83792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8382
ce6bb3ee
VS
83832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * util/grub-menulst2cfg.c (main): Trim the line.
8386
db87be2a
VS
83872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8390 (grub_machine_init): Don't check amount of low memory as reportedly
8391 INT 12h can be broken and if low memory is too low we wouldn't have
8392 gotten into grub_machine_init anyway.
8393
c49849cc
VS
83942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8397 (grub_machine_mmap_iterate): Take low memory into account
8398
b1969b30
VS
83992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8402 badfs.
8403 Reported by: TiCPU.
8404
cf0eaf13
VS
84052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8408 members errors.
8409
1f060f39
GS
84102011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8411
8412 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8413 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8414
a21e5672
GS
84152011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8416
8417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8418 openbsd and netbsd types being in part_bsd module.
8419
c88172fa
VS
84202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8423 (_FILE_OFFSET_BITS): Likewise.
8424 Reported by: Seth Goldberg.
8425
53798c4b
GS
84262011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8427
8428 * configure.ac: Check for libdevmapper header.
8429
e7121b69
VS
84302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8433 avoid aliasing.
8434 (fzap_lookup): Likewise.
8435 (dnode_get): Likewise.
8436 (make_mdn): Likewise.
8437 (zfs_mount): Likewise.
8438 (fzap_iterate): Use temporary pointer to avoid aliasing.
8439 (grub_zfs_read): Likewise.
8440 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8441 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8442 pointers to avoid aliasing.
8443 (grub_cmd_xnu_kernel64): Likewise.
8444 (grub_xnu_load_driver): Likewise.
8445
fc836af9
VS
84462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8449 aliasing warning.
8450 (grub_cmd_terminal_output): Likewise.
8451 Reported and tested by: Grégoire Sutre.
8452
f9f37648
VS
84532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8456 warning.
8457 Reported and tested by: Grégoire Sutre.
8458
ec1dfd63
VS
84592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * configure.ac: Do CPU substitution even if it's specified explicitly.
8462 Reported and tested by: Alain Greppin.
8463
9462775a
VS
84642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8467 Reported and tested by: Alain Greppin.
8468
0fd48e35
VS
84692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Satisfy some bison versions need for inttypes.h.
8472
8473 * grub-core/lib/posix_wrap/inttypes.h: New file.
8474 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8475 (int16_t): Likewise.
8476 (int32_t): Likewise.
8477 (int64_t): Likewise.
8478 Reported and tested by: Alain Greppin.
8479
43f1bc83
VS
84802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8483 Silence spurious warning.
8484 Reported and tested by: Alain Greppin.
8485
64d1f041
SJ
84862011-01-07 Szymon Janc <szymon@janc.net.pl>
8487
8488 * docs/grub.texi (Support automatic decompression): Update with xz
8489 decompression support.
8490
25953e10
SJ
84912011-01-07 Szymon Janc <szymon@janc.net.pl>
8492
8493 Improve loaders' kernel command line handling.
8494
8495 * grub-core/lib/cmdline.c: New file.
8496 * include/grub/lib/cmdline.h: Likewise.
8497 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8498 grub_create_loader_cmdline to create kernel command line.
8499 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8500 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8501 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8502 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8503 (linux): Add lib/cmdline.c on common.
8504
e72d259f
VS
85052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8508 inopos might be unaligned.
8509
c0cf26da
VS
85102011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8513 endian transformations.
8514 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8515 Based on report by: Doug Nazar.
8516
0ca09e6c
DN
85172011-01-07 Doug Nazar <nazard.michi@gmail.com>
8518
8519 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8520 array->members[i].start_sector.
8521 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8522
014b6806
VS
85232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8526 Reported and tested by: Grégoire Sutre.
8527
415502c2
CW
85282011-01-06 Colin Watson <cjwatson@ubuntu.com>
8529
8530 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8531 avoid causing test failures by clearing the screen.
8532
71b6a2b7
CW
85332011-01-06 Colin Watson <cjwatson@ubuntu.com>
8534
8535 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8536 Fix prefix check to handle the case where dir ends with a slash
8537 (most significantly, "/" itself).
8538 Reported by: Michael Vogt.
8539
b3f8d28a
VS
85402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 Run terminfo_cls on initing terminfo output to clear the screen and
8543 move the cursor to (0,0).
8544
8545 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8546 Call grub_terminfo_output_init.
8547 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8548 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8549 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8550
4c3e4f37
VS
85512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8554 only when needed.
8555
488f71f1
VS
85562011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8559 CTRL.
8560
18a38098
VS
85612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 The E820 type 5 is BADRAM, not EXEC_CODE.
8564
8565 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8566 (GRUB_E820_BADRAM): New define.
8567 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8568 into reserved. Propagate BADRAM.
8569 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8570 (GRUB_E820_BADRAM): New define.
8571
9eae2084
VS
85722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8575 Ignore the memory post-4G.
8576 (grub_relocator_firmware_alloc_region): Additional debug statement.
8577
ebc71d28
VS
85782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8581 names.
8582 Reported by: David Pravec.
8583
446fa400
VS
85842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8587 BIOSes.
8588
a0159f37
VS
85892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8592 Prevent overflow.
8593 (grub_reed_solomon_recover): Likewise.
8594
e5146ca1
VS
85952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8598
85992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
8600
8601 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8602 variable.
8603
5b1bdf12
CW
86042011-01-04 Colin Watson <cjwatson@ubuntu.com>
8605
8606 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8607 descriptions of extract_legacy_entries_source and
8608 extract_legacy_entries_configfile.
8609 Reported by: Seung Soo, Ha.
8610
99d925aa
CW
86112011-01-03 Colin Watson <cjwatson@ubuntu.com>
8612
8613 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8614 on devices that do not implement function 0.
8615
4af0504b
DV
86162011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8617
8618 * grub-core/fs/hfsplus.c: Make parent unsigned.
8619 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8620 overflows.
8621 (grub_hfsplus_cmp_extkey): Likewise
8622
469ee10a
VS
86232011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * util/grub-install.in: Correctly use bootloader_id and not
8626 GRUB_DISTRIBUTOR on efibootmgr line.
8627
323a8e9c
VS
86282011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8631
1b394975
IC
86322010-12-31 Ian Campbell <ijc@hellion.org.uk>
8633
8634 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8635 Xen and reorder menu item wording to make it clearer that this entry
8636 will launch Xen. Print separate messages when loading Xen and
8637 Linux.
8638
275bff5f
VS
86392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
8642 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
8643 loop in case of incorrect amiga partmap.
8644
307806cb
VS
86452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8648 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8649 Reported by:EHeM.
8650
b12b923e
VS
86512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8654 spurious warning.
8655 Reported by: crocket
8656
14b48a19
VS
86572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8660 Preload EFIemu.
8661 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8662
693db2df
VS
86632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8666 is loaded
8667 (grub_cmd_xnu_kextdir): Likewise.
8668 (grub_cmd_xnu_splash): Likewise.
8669
c7638645
VS
86702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 Avoid using Reed-Solomon with 0 redundancy.
8673
8674 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8675 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8676 or 0 redundancy.
8677 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8678 (grub_reed_solomon_recover): Likewise.
8679
25dd4780
VS
86802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Don't use disk subsystem in freebsd_boot.
8683
8684 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8685 (freebsd_biosdev): Likewise.
8686 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8687 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8688
0b2db943
VS
86892010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Handling of files of unknown size is currently limited. They can't be
8692 used e.g. for initrd or modules. Moreover gzip handling of not
8693 easily seekable files is buggy. Disable unknown file size for now. May
8694 be inefficient but works.
8695
8696 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8697 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8698
5c408d0f
MP
86992010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8700
8701 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8702 floppy probe.
8703
190a011a
JD
87042010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8705
8706 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8707
022d01b8
SL
87082010-12-25 Shea Levy <shlevy>
8709
8710 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8711
c4855fdc
VS
87122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
8715 Windows Server 2008.
8716 Reported by: Devin Giddings.
8717
0354b867
VS
87182010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
8721 writing an error message because of async power management.
8722 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
8723 (grub_reboot): Likewise.
8724
ab66c69f
JU
87252010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
8726
8727 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
8728 keep unit tests from failing when they shouldn't.
8729
1426ef35
CW
87302010-12-21 Colin Watson <cjwatson@ubuntu.com>
8731
8732 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
8733 previous patch increased the size of the RS code by 20 bytes (at
8734 least with gcc-4.4), so increase this by 20 bytes to match.
8735 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8736
20641b6b
CW
87372010-12-21 Colin Watson <cjwatson@ubuntu.com>
8738
8739 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
8740 scratch area. Make sure to initialise chosen in standalone mode as
8741 well as non-standalone.
8742 Reported by: Robert Hooker and Andy Whitcroft.
8743 Tested by: Andy Whitcroft.
8744
d060ad60
CW
87452010-12-21 Colin Watson <cjwatson@ubuntu.com>
8746
8747 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
8748 constructing a new unescaped string and passing it to grub_xputs in
8749 one go, rather than passing characters to grub_printf one at a time.
8750
b889cfad
CW
87512010-12-21 Colin Watson <cjwatson@ubuntu.com>
8752
8753 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
8754 initialising utf16.
8755
4e01b6c8
CW
87562010-12-21 Colin Watson <cjwatson@ubuntu.com>
8757
8758 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
8759 comment. Add an extra layer of quotation, requiring the output of
8760 this function to be used in a printf format string.
8761 (gettext_printf): New function.
8762 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
8763 Extract translatable strings from here-documents and use a temporary
8764 variable instead, so that xgettext can find them.
8765 * util/grub.d/10_kfreebsd.in: Likewise.
8766 * util/grub.d/10_linux.in: Likewise.
8767 * util/grub.d/20_linux_xen.in: Likewise.
8768
8769 * po/grub.d.sed: New file.
8770 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
8771 arguments. Set c-format flags on all strings extracted from
8772 util/grub.d/ (xgettext refuses to include these itself for strings
8773 it extracted from a shell file, but these really are c-format).
8774
5318fe98
VS
87752010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
8778 Avoid next pointing to nowhere.
8779
6c85b743
VS
87802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
8783 rather than assuming than rootblock is exactly in the middle.
8784 (grub_affs_label): Likewise.
8785
a2a08a35
VS
87862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
8789 reserved_first_sector to 0.
8790 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
8791 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
8792 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
8793
7059d1ec
VS
87942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 Fix handling of UTF-16 UDF labels.
8797
8798 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
8799 (read_string): .. here.
8800 (grub_udf_label): Use read_string.
8801
30aff4cb
BC
88022010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
8803
8804 * grub-core/normal/menu_entry.c (run): Execute commands from menu
8805 editor under argument scope.
8806 Reported by: Jordan Uggla
8807
5cf86f4b
VS
88082010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
8811
32570200
CW
88122010-12-18 Colin Watson <cjwatson@ubuntu.com>
8813
8814 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
8815 line, and other keys scroll an entire page (previous handling was
8816 for \r and \n to scroll a page and other keys to scroll two lines).
8817
e1dffcf2
VS
88182010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8821 Set ptrdest to correct get_physical_target_address rather than
8822 incorrect get_virtual_current_address.
8823
b04298cf 88242010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
8825
8826 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
8827 correct cat to grub_uint8_t * rather than grub_uint32_t *.
8828
5367ecd3
CW
88292010-12-10 Colin Watson <cjwatson@ubuntu.com>
8830
8831 * .bzrignore: Ignore grub-core/rs_decoder.S.
8832
1fb430f8
CW
88332010-12-10 Colin Watson <cjwatson@ubuntu.com>
8834
8835 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
8836 .mo/.mo.gz opening sequence to ...
8837 (grub_mofile_open_lang): ... here.
8838 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
8839 * util/grub.d/00_header.in (grub_lang): Include country part of
8840 locale.
8841 Reported by: Mario Limonciello.
8842
a94a6671
RM
88432010-12-09 Robert Millan <rmh@gnu.org>
8844
8845 * NEWS: Document addition of ZFS support.
8846
24b7938b
CW
88472010-12-04 Colin Watson <cjwatson@ubuntu.com>
8848
8849 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
8850 rather than `/ 2', as the latter requires -Wa,--divide which would
8851 require bumping our minimum binutils version.
8852
bddc3ef6
BC
88532010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8854
8855 * util/grub-script-check.c (main): Print script line number on
8856 error.
8857
bf78d5b2
RM
88582010-12-01 Robert Millan <rmh@gnu.org>
8859
8860 * grub-core/fs/zfs/zfs.c: New file.
8861 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
8862 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
8863 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
8864 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8865
8866 * include/grub/zfs/dmu.h: Likewise.
8867 * include/grub/zfs/dmu_objset.h: Likewise.
8868 * include/grub/zfs/dnode.h: Likewise.
8869 * include/grub/zfs/dsl_dataset.h: Likewise.
8870 * include/grub/zfs/dsl_dir.h: Likewise.
8871 * include/grub/zfs/sa_impl.h: Likewise.
8872 * include/grub/zfs/spa.h: Likewise.
8873 * include/grub/zfs/uberblock_impl.h: Likewise.
8874 * include/grub/zfs/vdev_impl.h: Likewise.
8875 * include/grub/zfs/zap_impl.h: Likewise.
8876 * include/grub/zfs/zap_leaf.h: Likewise.
8877 * include/grub/zfs/zfs.h: Likewise.
8878 * include/grub/zfs/zfs_acl.h: Likewise.
8879 * include/grub/zfs/zfs_znode.h: Likewise.
8880 * include/grub/zfs/zil.h: Likewise.
8881 * include/grub/zfs/zio.h: Likewise.
8882 * include/grub/zfs/zio_checksum.h: Likewise.
8883
8884 * Makefile.util.def: Build ZFS into libgrubmods.
8885 * grub-core/Makefile.core.def: Build zfs.mod.
8886
3f0f3831
SJ
88872010-11-30 Szymon Janc <szymon@janc.net.pl>
8888
8889 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8890 variable.
8891 * grub-core/commands/wildcard.c (match_files): Likewise.
8892
3a4253b2
RM
88932010-11-30 Robert Millan <rmh@gnu.org>
8894
8895 * grub-core/loader/i386/bsd.c
8896 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8897 whether kernel is loaded using grub_loader_is_loaded(), rather
8898 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8899 certain error conditions.
8900
8c317b27
RM
89012010-11-30 Robert Millan <rmh@gnu.org>
8902
c5c9cd3e
RM
8903 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8904 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 8905
49d3ab46
VS
89062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 Avoid using tricks for initialising endian variables.
8909
8910 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8911 Make const.
8912 (GRUB_MOD_INIT): Don't byte-swap.
8913 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8914 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8915 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8916 (grub_swap_bytes32_compile_time): Likewise.
8917 (grub_cpu_to_le32_compile_time): Likewise.
8918 (grub_cpu_to_le16_compile_time): Likewise.
8919
f420a804
VS
89202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * util/grub-setup.c (setup): Stop recommending --force. People who
8923 understand the dangers of blocklists are able to find this option
8924 anyway and the ones who don't shouldn't use it anyway.
8925
4e7db17b
RM
89262010-11-26 Robert Millan <rmh@gnu.org>
8927
8928 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8929 Update all users.
8930
9be57a0d
CW
89312010-11-26 Colin Watson <cjwatson@ubuntu.com>
8932
8933 Fix LVM-on-RAID probing.
8934
8935 * util/grub-probe.c (probe): Remember which disk was detected as
8936 RAID (perhaps an LVM physical volume). Use that disk's raidname
8937 rather than that of the top-level disk.
8938
2c7859b3 89392010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 8940
d7647bb6
BC
8941 Fix cmdline argument quotes for setparams command of menuentry
8942 definitions.
7e623b0d
BC
8943
8944 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8945 quotes for arguments.
f866fe80 8946 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 8947 grub_strchrsub function instead.
f866fe80 8948
7955bea0 8949 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 8950
74f72a64
CW
89512010-11-24 Colin Watson <cjwatson@ubuntu.com>
8952
8953 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8954 effort by skipping "." and ".." entries up-front.
8955 Suggested by: Michael Lazarev.
8956
5a407278
CW
89572010-11-24 Colin Watson <cjwatson@ubuntu.com>
8958
8959 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8960 ldflags to ldadd, to fix link line ordering.
8961 (none_decompress): Likewise.
8962
3030d8ec
CW
89632010-11-24 Colin Watson <cjwatson@ubuntu.com>
8964
8965 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8966 platforms.
8967 (grub-emu-lite): Remove kern/emu/cache.S.
8968
b7fbac12
CW
89692010-11-23 Colin Watson <cjwatson@ubuntu.com>
8970
8971 * util/deviceiter.c (compare_devices): If the by-id link for a
8972 device couldn't be resolved, fall back to sorting by the by-id link
8973 rather than segfaulting.
8974 Reported and tested by: Daniel Mierswa.
8975
5225f328
CW
89762010-11-23 Colin Watson <cjwatson@ubuntu.com>
8977
8978 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8979 ldflags, to fix link line ordering.
8980
038b3ce8
CW
89812010-11-23 Colin Watson <cjwatson@ubuntu.com>
8982
8983 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8984 linkers are picky about this.
8985
bf16e98e
CW
89862010-11-23 Colin Watson <cjwatson@ubuntu.com>
8987
8988 * grub-core/Makefile.am (command.lst): Adjust sed expression
8989 ordering so that extended and priority commands aren't treated as
8990 ordinary commands.
8991
7242bab6
CW
89922010-11-23 Colin Watson <cjwatson@ubuntu.com>
8993
8994 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8995 Remove byte-swapping function calls, which are not valid in
8996 structure initialisers.
8997 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8998 non-const.
8999 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9000 grub_gpt_partition_type_bios_boot.
9001
14e8b279
CW
90022010-11-22 Colin Watson <cjwatson@ubuntu.com>
9003
9004 Fix test program build on GNU/kFreeBSD.
9005
9006 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9007 $(LIBNVPAIR)' library dependencies.
9008
e6f63338 90092010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9010
9011 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9012
cf8ffc38
CW
90132010-11-22 Colin Watson <cjwatson@ubuntu.com>
9014
9015 * util/grub-install.in: Remove excessive quoting that broke
9016 installations to RAID devices.
9017
7f8b0fd7
VS
90182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9021 bootloader version instead of 0.
9022
dfd240b1
VS
90232010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9026 warning.
9027
7b61e609
VS
90282010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9031 retrieve the metadat sector if size isn't known.
9032 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9033
9dfe92d0
RM
90342010-11-18 Robert Millan <rmh@gnu.org>
9035
9036 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9037 with grub_memcmp().
9038
41cc919e
VS
90392010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9042 arrow.
9043 Reported by: Jordan Uggla.
9044
1afcc914
VS
90452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 Make better UTF compliant.
9048
9049 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9050 sequences as incorrect.
9051 (grub_is_valid_utf8): Likewise.
9052 (grub_utf8_to_ucs4): Likewise.
9053 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9054 (grub_ucs4_to_utf8_alloc): Likewise.
9055 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9056
f1808884
VS
90572010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Make legacy_source behave like source.
9060
9061 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9062 grub_show_menu.
9063 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9064
24ec575b
CW
90652010-11-16 Colin Watson <cjwatson@debian.org>
9066
9067 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9068 (-Wunused implies -Wunused-parameter, but not vice versa).
9069
72b7c7aa
CW
90702010-11-16 Colin Watson <cjwatson@ubuntu.com>
9071
9072 * configure.ac: Make error messages less confusing by testing for
9073 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9074 accepted, but produces a diagnostic if something else is wrong).
9075
e98937aa
VS
90762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9079 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9080 (now unused).
9081 (grub_keyboard_controller_init)
9082 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9083 read the initial state since controller isn't inited yet.
9084
f6bbabc3
VS
90852010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9088 allocate_regbeg may need to create new chunk header.
9089
22e7dbb2
VS
90902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Fix quoting in legacy parser.
9093
9094 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9095 single quotes.
9096 (grub_legacy_parse): Likewise.
9097 Reported by: Jordan Uggla.
9098 Tested by: Jordan Uggla.
9099
03f80960
VS
91002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Don't add -lgcc on i386 and x86_64.
9103
9104 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9105 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9106 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9107
779dc15b
VS
91082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * configure.ac: Add -Wno-trampolines when supported.
9111
d20a3b37
MV
91122010-11-14 Modestas Vainius <modax@debian.org>
9113
9114 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9115 fakeraid.
9116
e5360933
GC
91172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9118
9119 Add generic logical block size support for UDF.
9120
9121 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9122 (GRUB_UDF_BLKSZ): Removed.
9123 (struct grub_udf_data): New field "lbshift" to hold the logical block
9124 size of the file system in log2 format. All users updated.
9125 (sblocklist): Change type to unsigned.
9126 (grub_udf_mount): Change type of "sblklist" to unsigned.
9127 Move AVDP search before VRS recognition, because the latter requires
9128 knowledge of the logical block size, which is detected during the
9129 former.
9130 Detect and validate logical block size during AVDP search, adding
9131 support for block sizes 512, 1024 and 4096.
9132 Make VRS recognition independent of block size.
9133
cb0229c5
GC
91342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9135
9136 Properly handle deleted files on UDF.
9137
9138 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9139 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9140 set.
9141
406858a8
GC
91422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9143
9144 Support reading files larger than 2 GiB.
9145
9146 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9147 "offset" to grub_off_t.
9148 (grub_udf_read_file): Likewise for parameter "pos".
9149
130da6a7
VS
91502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9153 unavailable.
9154 (Simple configuration): Refer to Changes from GRUB Legacy about
9155 save_env availability.
9156
65e93f6b
VS
91572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * util/grub-install.in: Ignore empty partition table detection
9160 instead of trying to include part_ module.
9161
1fd08bf1
VS
91622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9165 LVM on RAID support.
9166
de1a024f
VS
91672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 Properly define WORDS_BIGENDIAN in wrapped environments.
9170
9171 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9172 definition.
9173 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9174
9175 Reported by: Manoel Rebelo Abranches.
9176 Tested by: Manoel Rebelo Abranches.
9177
bc5dd0b9
VS
91782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * util/grub-mkconfig.in: Fix quoting.
9181
58c184be
VS
91822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 Support big ext2 files.
9185
9186 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9187 (grub_ext2_read_block): Support triple indirect blocks.
9188 (grub_ext2_read_file): Use 64-bit types and read size_high.
9189 (grub_ext2_open): Read size_high.
9190 Reported by: Ximin Luo.
9191 Tested by: Manoel Rebelo Abranches.
9192
5f0c02b3
VS
91932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-install.in: Handle filenames containing spaces.
9196 Reported by: Jordan Uggla.
9197 Tested by: Jordan Uggla.
9198
4417aae6
VS
91992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * util/grub-mkconfig.in (grub_script_check): New variable.
9202 Use grub_script_check instead of grub-script-check.
9203 Reported by: Barry Jackson.
9204
7625a68e
VS
92052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * docs/grub.texi (menu): Correct the order.
9208 Reported by: D. Hugh Redelmeier.
9209
10001ac5
VS
92102010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9213 jump.
9214
9c4cf53b
MRA
92152010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9216
10001ac5
VS
9217 * include/grub/elfload.h (grub_elf32_size): New parameter.
9218 All users updated.
9c4cf53b
MRA
9219 Return maximum segments alignment.
9220 (grub_elf64_size): Likewise.
9221 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9222 Return maximum segments alignment.
9223 (grub_elf64_size): Likewise.
9224 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9225 (grub_linux_claimmap_iterate): New function. Uses the
9226 "available" property in the "memory" node for memory allocation
9227 for kernel in the PowerPC loader.
9c4cf53b
MRA
9228 (grub_linux_load32): Correctly find linux entry point offset.
9229 (grub_linux_load64): Likewise.
9230
d2bf06bf
RM
92312010-11-07 Robert Millan <rmh@gnu.org>
9232
9233 On mips-yeeloong, build with -march=loongson2f when this flag is
9234 available (GCC >= 4.4).
9235 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9236 `-march=mips3'.
9237 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9238 or otherwise add -march=mips3.
9239
898c99a2
BC
92402010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9241
87220a68
BC
9242 Suppress shell expansion on echo '*' and echo "*" like cases.
9243 Reported by: Jordan Uggla.
898c99a2
BC
9244
9245 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9246 string arguments before shell expansion.
9247 * tests/grub_cmd_echo.in: New testcases.
9248
4f9b406a
RM
92492010-11-07 Robert Millan <rmh@gnu.org>
9250
9251 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9252 transition.
9253
80c6d25e
VS
92542010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/kern/emu/hostdisk.c
9257 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9258
4a1a0153
VS
92592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9262 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9263 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9264
34706ddc
VS
92652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9268
6972dea9
VS
92692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * util/grub-install.in: Replace useless recomendation to pass
9272 --modules with a recomendation to report a bug.
9273
9c693bd6
VS
92742010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Properly register serial terminfo.
9277 Reported by: Jordan Uggla
9278
9279 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9280 const.
9281 (grub_serial_terminfo_output_template): Likewise.
9282 (grub_cmd_serial): Register "serial" with terminfo.
9283 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9284 grub_serial_terminfo_output.
9285
6c9e4c0c
RM
92862010-11-05 Robert Millan <rmh@gnu.org>
9287
9288 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9289 needed).
9290
b9b3839f
RM
92912010-11-05 Robert Millan <rmh@gnu.org>
9292
9293 On Yeeloong, pass machine type information to Linux.
9294
9295 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9296 (LOONGSON_MACHTYPE): New macro, set to
9297 "machtype=lemote-yeeloong-2f-8.9inches".
9298 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9299 additional argument to Linux.
9300
1a3aaff4
RM
93012010-11-04 Robert Millan <rmh@gnu.org>
9302
9303 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9304 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9305 (its SATA disks are detected as slaveless IDE master drives on
9306 kFreeBSD).
9307 Reported by Carsten Aulbert.
9308
a75f4f62
CW
93092010-11-02 Colin Watson <cjwatson@ubuntu.com>
9310
9311 * util/bin2h.c (main): Fix spelling error in generated output.
9312
33b4b0c6
GS
93132010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9314
9315 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9316
2b36fbf4
VS
93172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9320 vga= option is supplied.
9321
74aaf558
VS
93222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9325 * util/grub.d/10_kfreebsd.in: Likewise.
9326 * util/grub.d/10_linux.in: Likewise.
9327 * util/grub.d/20_linux_xen.in: Likewise.
9328
6428dec3
VS
93292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9332 argument as an argument to no-argument option.
9333
f8729d98
VS
93342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * util/grub.d/10_linux.in: Add missing load_video with explicit
9337 GRUB_GFXPAYLOAD_LINUX.
9338
89d68fa6
VS
93392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9342
3a1197cd
VS
93432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9346 elements with invlid index.
9347 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9348 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9349 members.
9350 * include/grub/raid.h (grub_raid_member): New struct.
9351 (grub_raid_array): Transform devices and start_sector into usage of
9352 grub_raid_member. All users updated
9353 (allocated_devs): New member.
9354
71574288
VS
93552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9358 is modified
9359
8d40ec65
BC
93602010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9361
9362 NetBSD build fix for getline function conflict from gnulib.
9363
9364 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9365 components that depend on gnulib headers.
9366 (libgrubmods.a): Renamed from earlier libgrub.a.
9367 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9368
95b9257e
VS
93692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9372 install rather than creating a broken install.
9373
26c53dc6
VS
93742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/grub-setup.c (argp): Remove misleading example of installing to
9377 a partition.
9378
4171b3c5
VS
93792010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * util/grub-setup.c (setup): Clarify the error message.
9382
18568d18
VS
93832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9386
4f6a2e21
VS
93872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/kern/emu/misc.c
9390 (grub_make_system_path_relative_to_its_root)
9391 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9392
93932010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
9394
9395 * grub-core/kern/emu/misc.c
9396 (grub_make_system_path_relative_to_its_root): Revert r2882.
9397
e138c458
VS
93982010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9401 useless field head. All users updated.
9402 (free_subchunk): Correct handling of IN_REGION subchunk.
9403
0cbcdf0e
CW
94042010-10-22 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9407 (Supported kernels): Likewise.
9408
b65ea155
GS
94092010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9410
9411 Make mktemp invocations portable.
9412
9413 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9414 exit if mktemp fails.
9415 * tests/grub_script_blockarg.in: Likewise.
9416 * tests/partmap_test.in: Likewise.
9417 * tests/util/grub-shell-tester.in: Likewise.
9418 * tests/util/grub-shell.in: Likewise.
9419 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9420 * Makefile.am: Likewise, and chain shell commands with `&&'
9421 instead of ';'.
9422 * util/grub-mkrescue.in: Use the same explicit template as above, and
9423 exit if mktemp fails.
9424
05f43cdd
BC
94252010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9426
9427 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9428 Linux kernel, reported by Dennis Schridde.
9429
800e6a9b
SJ
94302010-10-17 Szymon Janc <szymon@janc.net.pl>
9431
9432 * grub-core/normal/auth.c (grub_auth_check_authentication):
9433 Set-but-not-used variable removed.
9434
d82df574
VS
94352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9438 32-bit linux protocol.
9439
7bced458
VS
94402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9443 cursor shape for sanity.
9444
5b027690
VS
94452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * docs/grub.texi (Installation): Document buggy BIOS install.
9448
ba5f65cf
VS
94492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * docs/grub.texi (Installation): Indent.
9452
fdf2ec9c
VS
94532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * util/grub-setup.c (setup): New parameter allow_floppy.
9456 (arguments): New member allow_floppy.
9457 (argp_parser): Handle --allow-floppy.
9458 (main): Pass allow_floppy.
9459 * util/grub-install.in: New option --allow-floppy passed though to
9460 grub-setup.
9461
861dfd4c
VS
94622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/grub-install.in: Handle partitionless disks.
9465
f77a8c24
VS
94662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/grub-setup.c (setup): Don't clean blocklists before readability
9469 verfification.
9470
27d9ee32
VS
94712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * docs/grub.texi (Installation): Document embedding zone. Remove
9474 obsolete grub-install example.
9475
6bdda8f8
SJ
94762010-10-16 Szymon Janc <szymon@janc.net.pl>
9477
9478 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9479 Set-but-not-used variable ifdef'ed.
9480 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9481 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9482 variable removed.
9483 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9484 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9485 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9486 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9487 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9488 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9489 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9490 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9491 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9492 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9493 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9494 Likewise.
9495
e19b016b
VS
94962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9499 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9500 enum value.
9501
6c8d3002
VS
95022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9505 synonym to _S5_. Needed for some DSDTs.
9506
c32b51c9
VS
95072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Userspace ACPI parser debugging.
9510
9511 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9512 headers and add relevant defines. Don't include standard headers.
9513 (main) [GRUB_DSDT_TEST]: New function.
9514 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9515 Don't declare functions.
9516
fbfbeb39
VS
95172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 Remove dead grub_efi_mm_fini.
9520
9521 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9522 (ALLOCATED_PAGES_SIZE): Likewise.
9523 (MAX_ALLOCATED_PAGES): Likewise.
9524 (allocated_pages): Likewise.
9525 (grub_efi_allocate_pages): Don't record allocated pages.
9526 (grub_efi_free_pages): Likewise.
9527 (grub_efi_mm_init): Likewise.
9528 (grub_efi_mm_fini): Removed.
9529
65f7ed7c
VS
95302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9533 (grub_efi_mm_init): Take into account the memory map size increase.
9534
24977b44
VS
95352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9538 (serial_hw_put): Wait based on real time rather than port reads. Don't
9539 roken ports.
9540 * include/grub/serial.h (grub_serial_port): New field broken.
9541
1eb01cd2
RM
95422010-10-16 Robert Millan <rmh@gnu.org>
9543
9544 * grub-core/kern/emu/misc.c
9545 (grub_make_system_path_relative_to_its_root): Fix premature return
9546 when processing non-root ZFS filesystems.
5f8b440b 9547 Reported by Sergio Talens-Oliag.
1eb01cd2 9548
2d5fed60
RM
95492010-10-15 Robert Millan <rmh@gnu.org>
9550
9551 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9552 guarantee compressed ones are processed first.
9553
d0f4c1ea
VS
95542010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9557 grub_efiemu_autocore.
9558
d87c681f
VS
95592010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9562 rather than 0x1b.
9563 (grub_console_getkey): Use correct jae opcode rather than ja.
9564
219b3564
RM
95652010-10-12 Robert Millan <rmh@gnu.org>
9566
9567 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9568 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9569 variable. All references updated.
9570
9571 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9572
20c6bb7e
VS
95732010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 Correctly distinguish mdraid flavours.
9576
9577 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9578 (insert_array): New argument raid.
9579 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9580 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9581 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9582
74baff84
VS
95832010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9586 handling of special keys.
9587
3ef068df 95882010-10-02 Aleš Nesrsta <starous@volny.cz>
9589
c7980ad9
VS
9590 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9591 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 9592
a9455194 95932010-10-02 Aleš Nesrsta <starous@volny.cz>
9594
c7980ad9
VS
9595 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9596 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9597 users updated.
a9455194 9598 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 9599 Use right endpoint when querying descriptor.
a9455194 9600
441cfe65
VS
96012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Clear out 0x80 color bit on EFI.
9604 Tested by: decoder
9605 Reported by: decoder and meta tech.
9606
9607 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9608 (grub_console_setcolorstate): Clear out 0x80 bit.
9609 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9610 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9611 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9612
bf26bcc4
VS
96132010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9616 Set to "auto".
9617
6e3c515d
VS
96182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9621 mo_file after freeing.
9622
e6d983ba
VS
96232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9626
74ccb5b5
VS
96272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9630 flags.
9631
17821956
VS
96322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9635 usage.
9636
ee74fa48
VS
96372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9640
9641 * gentpl.py: New groups terminfoinkernel and terminfomodule.
9642 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
9643 and terminfo.h when needed.
9644 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
9645 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9646 (terminfo): Enable only on terminfokernel.
9647 (extcmd): Likewise.
9648 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9649 * include/grub/lib/arg.h: Likewise.
9650 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9651 incorrect usage of ->.
9652
aa438e68
VS
96532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9656 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9657
57994012
VS
96582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Fix coreboot compilation.
9661
9662 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9663 Take VBE info into account even if only text is supported.
9664 (fill_vbe_info): Take into account the case when only VGA text
9665 is supported.
9666 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9667 on coreboot, multiboot and qemu.
9668
2a406611
VS
96692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9672 debug messages.
9673 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9674
d33613fc
VS
96752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9678 parameters.
9679
44a1b432
VS
96802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9683 if they were BSD-style.
9684
edde54e6
VS
96852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/boot/i386/pc/lnxboot.S: Replace
9688 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9689 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9690
b65830fa
VS
96912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 Write embedding zone using Reed-Solomon.
9694
9695 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9696 * grub-core/Makefile.am (rs_decoder.S): New target.
9697 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9698 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9699 (multiboot): Move to RS part.
9700 (post_reed_solomon): New label.
9701 (grub_boot_drive): Move to non-RS part since it's modified in memory
9702 on boot.
9703 Include rs_decoder.S.
9704 * grub-core/lib/reed_solomon.c: New file.
9705 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9706 New definition.
9707 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9708 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9709 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9710 * include/grub/partition.h (grub_partition_map): Change prototype of
9711 embed to allow returning additional sectors.
9712 * include/grub/reed_solomon.h: New file.
9713 * util/grub-setup.c (setup): Handle Reed-Solomon.
9714
0b4b227f
CW
97152010-09-28 Colin Watson <cjwatson@ubuntu.com>
9716
9717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9718 i386 and x86-64 definedness tests.
9719
f772623b
YB
97202010-09-27 Yves Blusseau <blusseau@zetam.org>
9721
9722 Fix generation of kernel_syms.lst
9723
9724 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
9725 ASM_PREFIX
9726
8e57a6ca
RM
97272010-09-26 Robert Millan <rmh@gnu.org>
9728
9729 Support degraded ZFS arrays in "grub-probe -t device" resolution.
9730
9731 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
9732 the pool is an array of devices, iterate through it and return the
9733 first device that passes a stat() test (instead of blindly returning
9734 the first one).
9735
f9130836
RM
97362010-09-26 Robert Millan <rmh@gnu.org>
9737
9738 Build fixes for GNU/kFreeBSD.
9739
9740 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
9741 to programs that require ZFS conversion.
9742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
9743 kernels that don't have FLOPPY_MAJOR.
9744
96510faf
BC
97452010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9746
9747 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
9748
449333eb
BC
97492010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9750
9751 Fix grub-emu build.
9752
9753 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
9754 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
9755 mdraid09 and mdraid1x.
9756
e1fd1939
CW
97572010-09-24 Colin Watson <cjwatson@ubuntu.com>
9758
9759 Re-enable grub-extras.
9760
9761 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
9762 avoid confusing Automake. Run autogen only twice, once for the top
9763 level and once for grub-core. Add Makefile.util.def and
9764 Makefile.core.def from extra modules to the appropriate autogen
9765 invocations. If Makefile.common exists in an extra module, include
9766 it in both Makefile.util.am and grub-core/Makefile.core.am;
9767 similarly, include any Makefile.util.common file in Makefile.util.am
9768 and any Makefile.core.common file in grub-core/Makefile.core.am.
9769 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
9770 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
9771 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
9772 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
9773
9774 * gentpl.py (gvar_add): Turn GVARS into a set.
9775 (global_variable_initializers): Sort global variables on output.
9776 (vars_init): New function.
9777 (first_time): Likewise.
9778 (library): Ensure that non-global variable initialisations are
9779 emitted before the first time we emit code for a library block.
9780 Append to variables rather than setting them. Only emit
9781 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
9782 each conditional path.
9783 (program): installdir() emits an Autogen macro, so must be passed to
9784 var_add rather than gvar_add.
9785 (data): Likewise.
9786 (script): Likewise.
9787 (rules): New function, centralising handling for different target
9788 types. Set up Guile association lists for first_time and vars_init,
9789 and send most output to a diversion so that variable initialisations
9790 can be emitted first.
9791 (module_rules): Use new rules function.
9792 (kernel_rules): Likewise.
9793 (image_rules): Likewise.
9794 (library_rules): Likewise.
9795 (program_rules): Likewise.
9796 (script_rules): Likewise.
9797 (data_rules): Likewise.
9798
9799 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
9800
9801 * .bzrignore: Add contrib and grub-core/contrib. Remove
9802 grub-core/Makefile.gcry.am.
9803
1d12cf29
YB
98042010-09-24 Yves Blusseau <blusseau@zetam.org>
9805
9806 * grub-core/lib/LzFind.c: Add missing include.
9807 * grub-core/lib/LzmaEnc.c: Likewise.
9808 * grub-core/script/lexer.c: Likewise.
9809 * grub-core/script/yylex.l: Likewise.
9810 * util/grub-macho2img.c: Likewise.
9811 * util/grub-menulst2cfg.c: Likewise.
9812 * util/grub-mklayout.c: Likewise.
9813 * util/grub-mkpasswd-pbkdf2.c
9814 * util/grub-mkrelpath.c: Likewise.
9815 * util/resolve.c: Likewise.
9816
dd363028
BC
98172010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
9818
9819 * Makefile.util.def (example_unit_test): Add
9820 grub-core/gnulib/libgnu.a.
9821
f5a109e2
GS
98222010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
9823
9824 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9825
6d0fa83c
VS
98262010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Support xz compression on yeeloong.
9829
9830 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
9831 * configure.ac: Check for LZMA.
9832 * grub-core/Makefile.core.def (xz_decompress): New target.
9833 (none_decompress): Likewise.
9834 * grub-core/boot/decompressor/minilib.c: New file.
9835 * grub-core/boot/decompressor/none.c: Likewise.
9836 * grub-core/boot/decompressor/xz.c: Likewise.
9837 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
9838 * grub-core/kern/mips/cache_flush.S: Likewise.
9839 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
9840 * grub-core/kern/mips/startup.S: Move first stage to ...
9841 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
9842 nomacro.
9843 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
9844 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
9845 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
9846 Allocate statically.
9847 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
9848 Allocate statically or use scratch. Don't check CRC32.
9849 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
9850 Allocate statically. Don't check CRC32.
9851 * include/grub/decompressor.h: New file.
9852 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
9853 Removed.
9854 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
9855 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
9856 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
9857 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
9858 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
9859 * util/grub-mkimage.c (grub_compression_t): New type.
9860 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
9861 (image_target_desc): New field default_compression.
9862 (image_targets): Adjust yeeloong targets.
9863 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
9864 (compress_kernel): New parameter comp.
9865 (generate_image): Likewise. Handle new compression case.
9866 (options): New option --compression
9867 (help): Likewise.
9868 (main): Handle new option.
9869
1b655af6
GS
98702010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
9871
9872 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
9873
8f03f0b5
CW
98742010-09-22 Colin Watson <cjwatson@ubuntu.com>
9875
9876 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9877 typo in __i386__ conditional.
9878
7835dfd3
VS
98792010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9882 include.
9883
e255597e
VS
98842010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9885
6d0fa83c 9886 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
9887
9888 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9889 new tags as supported.
9890 (acpiv2_size): New function.
9891 (grub_multiboot_get_mbi_size): Take new tags into account.
9892 (grub_multiboot_make_mbi): Add new tags.
9893 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 9894
6cc14051 98952010-09-21 Aleš Nesrsta <starous@volny.cz>
9896
9897 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9898 Added missing configuration of USB device.
9899
df7769d8
CW
99002010-09-21 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * grub-core/normal/menu_entry.c (run): Make sure we always return
9903 a value.
9904
b031012d
CW
99052010-09-21 Colin Watson <cjwatson@ubuntu.com>
9906
9907 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9908 NumberOfPages is UINT64 according to the UEFI specification, not
9909 UINTN. Fix printf format.
9910
174de8f3
CW
99112010-09-21 Colin Watson <cjwatson@ubuntu.com>
9912
9913 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9914 `err' to grub_usb_err_t.
9915 Reported and tested by: KESHAV P.R.
9916
d7dbe923
CW
99172010-09-21 Colin Watson <cjwatson@ubuntu.com>
9918
9919 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9920 tpart non-const, so that we can assign to it. (Since this is a
9921 typedef, the constness refers to the pointer rather than what it
9922 points to.)
9923
8d5e2af3
CW
99242010-09-21 Colin Watson <cjwatson@ubuntu.com>
9925
9926 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9927 $(top_srcdir)/grub-core/gnulib as well as
9928 $(top_builddir)/grub-core/gnulib.
9929 Reported by: KESHAV P.R.
9930
5c527783
CW
99312010-09-21 Colin Watson <cjwatson@ubuntu.com>
9932
9933 * util/grub-install.in: Fix the bootloader ID option to be
9934 consistently --bootloader-id, not --bootloader_id.
9935 Reported by: KESHAV P.R.
9936
d309a16e
CW
99372010-09-21 Colin Watson <cjwatson@ubuntu.com>
9938
9939 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9940 check hash checksum." consistently translatable.
9941
b830cd16
YB
99422010-09-21 Yves Blusseau <blusseau@zetam.org>
9943
9944 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9945 $(top_builddir).
9946
c4fe27a8
CW
99472010-09-21 Colin Watson <cjwatson@ubuntu.com>
9948
9949 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9950 (GRUB_MOD_INIT): Register sha1sum command.
9951 (GRUB_MOD_FINI): Unregister sha1sum command.
9952
a4c1d277
YB
99532010-09-21 Yves Blusseau <blusseau@zetam.org>
9954
9955 Keep boot and grub directory names in sync with utils scripts
9956
9957 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9958 * config.h.in: Add previous macros.
9959 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9960 * util/grub-install.in: Use $bootdir and $grubdir variables.
9961
4eff79d2
CW
99622010-09-21 Colin Watson <cjwatson@ubuntu.com>
9963
9964 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9965 convert partition names to disk names if the new `convert' parameter
9966 is set.
9967 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9968 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9969 disk in its own right. This can happen with Xen disk images.
9970
934d7e44
YB
99712010-09-21 Yves Blusseau <blusseau@zetam.org>
9972
9973 * util/grub-editenv.c: Update strings to avoid warnings when generating
9974 grub.pot file.
9975 * util/grub-setup.c: Likewise.
934d7e44 9976
df3367cc
VS
99772010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * configure.ac: Change version to 1.99~beta0.
9980
77a94e98
VS
99812010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9984 Add BADRAM.
9985 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9986 Likewise.
9987 * include/multiboot.h: Resynced with specification.
9988 * include/multiboot2.h: Likewise.
9989
269004c1
CW
99902010-09-21 Colin Watson <cjwatson@ubuntu.com>
9991
9992 Fix po directory handling.
9993
9994 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9995 * grub-core/gnulib/Makefile.am: Import gettext module.
9996 * m4/gnulib-cache.m4: Likewise.
9997 * m4/gnulib-comp.m4: Likewise.
9998 * m4/gettext.m4: New file, from gnulib.
9999 * m4/glibc2.m4: Likewise.
10000 * m4/iconv.m4: Likewise.
10001 * m4/intdiv0.m4: Likewise.
10002 * m4/intl.m4: Likewise.
10003 * m4/intldir.m4: Likewise.
10004 * m4/intlmacosx.m4: Likewise.
10005 * m4/intmax.m4: Likewise.
10006 * m4/inttypes-pri.m4: Likewise.
10007 * m4/lcmessage.m4: Likewise.
10008 * m4/lib-ld.m4: Likewise.
10009 * m4/lib-link.m4: Likewise.
10010 * m4/lib-prefix.m4: Likewise.
10011 * m4/lock.m4: Likewise.
10012 * m4/nls.m4: Likewise.
10013 * m4/po.m4: Likewise.
10014 * m4/printf-posix.m4: Likewise.
10015 * m4/progtest.m4: Likewise.
10016 * m4/threadlib.m4: Likewise.
10017 * m4/uintmax_t.m4: Likewise.
10018 * m4/visibility.m4: Likewise.
10019 * po/Makefile.am: Remove.
10020 * po/Makefile.in.in: New file, from gettext.
10021 ($(DOMAIN).pot-update): Support POTFILES-shell.
10022 * po/Makevars: New file.
10023 * po/POTFILES-shell: Rename to ...
10024 * po/POTFILES-shell.in: ... this. Update.
10025 * po/POTFILES: Rename to ...
10026 * po/POTFILES.in: ... this. Update.
10027 * po/Rules-quot: New file, from gettext.
10028 * po/boldquot.sed: Likewise.
10029 * po/en@boldquot.header: Likewise.
10030 * po/en@quot.header: Likewise.
10031 * po/insert-header.sin: Likewise.
10032 * po/quot.sed: Likewise.
10033 * po/remove-potcdate.sin: Likewise.
10034
3e0fa5d0
VS
100352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10038
ade9bd66
VS
100392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub.d/20_linux_xen.in: Use submenus.
10042
fc55cc4c
VS
100432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 Support submenus.
10046
10047 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10048 parameter submenu. All users updated.
10049 * grub-core/normal/main.c (free_menu): Rename to ...
10050 (grub_normal_free_menu): ... this. Made global.
10051 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10052 if requested.
10053 * grub-core/normal/menu_entry.c (screen): New field submenu.
10054 (make_screen): Set submenu.
10055 (run): Open new context if requested.
10056 * include/grub/menu.h (grub_menu_entry): New field submenu.
10057 * include/grub/normal.h (grub_normal_free_menu): New proto.
10058
600cedf7
VS
100592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Menu entries extractor.
10062
10063 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10064 variants.
10065 (GRUB_MOD_INIT): Register new variants.
10066 (GRUB_MOD_FINI): Unregister new variants.
10067 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10068 into grub_cmd_legacy_source.
10069 (grub_cmd_legacy_source): Implement extractor variants.
10070 (GRUB_MOD_INIT): Register new variants.
10071 (GRUB_MOD_FINI): Unregister new variants.
10072 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10073 as an extractor.
10074 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10075 search as an extractor.
10076 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10077 test as an extractor.
10078 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10079 as an extractor.
10080 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10081 (grub_env_new_context): New function.
10082 (grub_env_context_open): Likewise.
10083 (grub_env_extractor_open): Likewise.
10084 (grub_env_extractor_close): Likewise.
10085 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10086 grub_extractor_level.
10087 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10088 * include/grub/env.h (grub_env_extractor_open): New proto.
10089 (grub_env_extractor_close): Likewise.
10090 * include/grub/normal.h (grub_extractor_level): New external variable.
10091
7bda3a87
VS
100922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Make cutmem accept a region specification.
10095 Suggested by: Samuel Thibault
10096
10097 * grub-core/mmap/mmap.c (parsemem): New function.
10098 (grub_cmd_cutmem): Handle new arguments.
10099
2ea57f88
VS
101002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 New command cutmem.
10103
10104 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10105 (GRUB_MOD_INIT): Register new command.
10106 (GRUB_MOD_FINI): Unregister new command.
10107
74342e31
VS
101082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 Support some annoying BSD and Minix subpartitions.
10111
10112 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10113 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10114 Properly handle concatenation.
10115 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10116 * grub-core/normal/completion.c (iterate_partition): Likewise.
10117 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10118 contain partition. All users updated.
10119 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10120 struct.
10121 (grub_openbsdlabel_partition_map): Likewise.
10122 (bsdlabel_partition_map_iterate): Rename to ..
10123 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10124 (bsdlabel_partition_map_iterate): New function.
10125 (netopenbsdlabel_partition_map_iterate): Likewise.
10126 (netbsdlabel_partition_map_iterate): Likewise.
10127 (openbsdlabel_partition_map_iterate): Likewise.
10128 (GRUB_MOD_INIT): Register new partmaps.
10129 (GRUB_MOD_FINI): Unregister new partmaps.
10130 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10131 (grub_partition_msdos_iterate): ... this. All users updated.
10132 Don't support embedding other than in a minix partition.
10133 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10134 proto.
10135 * include/grub/partition.h (grub_partition): New field msdostype.
10136 * util/grub-install.in: Handle openbsd and netbsd types being in
10137 part_bsd module.
10138
1e8d555b
VS
101392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10142
10143 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10144 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10145 (mdraid09): ... this.
10146 (mdraid1x): New module.
10147 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10148 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10149
899d8af4
VS
101502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10153 vsprintf.
10154
40901acd
CW
101552010-09-20 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * grub-core/commands/efi/lsefimmap.c: Correct header.
10158 * NEWS: Update.
10159
dfe3b247
CW
101602010-09-20 Colin Watson <cjwatson@ubuntu.com>
10161
10162 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10163 as printf format strings; the translations might contain '%' which
10164 could cause a crash.
10165 (main): Likewise.
10166 * util/grub-fstest.c (argp_parser): Likewise.
10167 * util/grub-setup.c (argp_parser): Likewise.
10168 (main): Likewise.
10169
3286a4b4
VS
101702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Use argp in grub-fstest.
10173
10174 * util/grub-fstest.c: Don't include getopt.h.
10175 Include argp.h.
10176 (root): New variable.
10177 (args_count): Likewise.
10178 (nparm): Likewise.
10179 (num_disks): Likewise.
10180 (images): Likewise.
10181 (cmd): Likewise.
10182 (debug_str): Likewise.
10183 (args): Likewise.
10184 (options): Transformed to argp.
10185 (usage): Removed.
10186 (main): Split argument parsing into ...
10187 (argp_parser): ... this. Changed to argp format.
10188 (argp): New variable.
10189 (main): Use argp_parse.
10190
3dccbe4b
TG
101912010-09-20 Tristan Gingold <gingold@free.fr>
101922010-09-20 Robert Millan <rmh.grub@aybabtu.com>
101932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/commands/efi/lsefimmap.c: New file.
10196 * grub-core/Makefile.core.def (lsefimmap): New module.
10197 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10198
38c259a7
VS
101992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 Pause the execution (10s max) if any errors are displayed so the user
10202 has a chance to see them.
10203
10204 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10205 (grub_print_error): Increment grub_err_printed_errors.
10206 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10207 execution if any errors were displayed.
10208 (show_menu): Remove old code for pause.
10209 * grub-core/normal/menu_entry.c (run): Likewise.
10210 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10211 users updated.
10212 (grub_normal_get_char_counter): Likewise.
10213 * include/grub/err.h (grub_err_printed_errors): New external variable.
10214 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10215
f218b09c
VS
102162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 Support multiboot VBE info.
10219
10220 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10221 Take VBE info into account.
10222 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10223 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10224 Call fill_vbe_info when appropriate.
10225 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10226 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10227 as supported.
10228 (grub_multiboot_get_mbi_size): Take new tags into account.
10229 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10230 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10231 Call fill_vbe_tag when appropriate.
10232 (grub_multiboot_make_mbi): Properly align tags.
10233 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10234 function.
10235 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10236 proto.
10237 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10238
a9cc5438
VS
102392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Suport manual terminal geometry specification.
10242
10243 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10244 Save state in grub_ofconsole_terminfo_output.
10245 (grub_ofconsole_term): Use grub_terminfo_getwh.
10246 (grub_ofconsole_getwh): Removed.
10247 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10248 (grub_serial_term): Use grub_terminfo_getwh.
10249 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10250 (options): New struct.
10251 (OPTION_*): New enum.
10252 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10253 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10254 width and height.
10255 (grub_terminfo_getwh): New proto.
10256 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10257
1a8fed20
VS
102582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 Handle legacy "terminal" command.
10261
10262 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10263 and FLAG_TERMINAL.
10264 (legacy_commands): Add terminal and title.
10265 (grub_legacy_parse): Handle terminal. Simplify title handling.
10266
41e9c57d
VS
102672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10270 parameters overflow.
10271
61c874c5
CW
102722010-09-20 Colin Watson <cjwatson@ubuntu.com>
10273
10274 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10275 widthspec.h.
10276
10277 * docs/grub.texi (Shell-like scripting): Document `!'.
10278 (Network): Simplify using new i386-pc-pxe format. Mention
10279 grub-mknetdir.
10280
10281 * NEWS: Update.
10282
943682b4
CW
102832010-09-20 Colin Watson <cjwatson@ubuntu.com>
10284
10285 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10286 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10287 when needed.
10288
6d3d698d
CW
102892010-09-20 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * grub-core/commands/efi/lsefisystab.c: Correct header.
10292 * grub-core/commands/efi/lssal.c: Likewise.
10293 * grub-core/commands/testload.c: Likewise.
10294
c982589f
CW
102952010-09-20 Colin Watson <cjwatson@ubuntu.com>
10296
10297 * util/grub-mkrescue.in: Add explicit root argument to --set to
10298 prevent the UUID being interpreted as an argument to --set (matches
10299 previous change to prepare_grub_to_access_device).
10300
a63c31b6
CW
103012010-09-20 Colin Watson <cjwatson@ubuntu.com>
10302
10303 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10304 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10305 the verbosity of later #ifs.
10306 (find_partition_start): Define this function on FreeBSD too.
10307 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10308 function.
10309 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10310 on FreeBSD.
10311
6439b8ee
YB
103122010-09-20 Yves Blusseau <blusseau@zetam.org>
10313
10314 * util/grub-editenv.c: Use argp instead of getopt.
10315
c5930ec8
YB
103162010-09-20 Yves Blusseau <blusseau@zetam.org>
10317
10318 * util/grub-setup.c: Use argp instead of getopt.
10319
15c69261
YB
103202010-09-20 Yves Blusseau <blusseau@zetam.org>
10321
10322 Use gnulib-tool to create gnulib source files.
10323
10324 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10325 grub-core/gnulib directories
10326 * .bzignore: Add **/.deps and autogenerated gnulib files
10327 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10328 of gnulib macros, add grub-core/gnulib/Makefile
10329 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10330 include m4 directory to aclocal.
10331 * Makefile.util.def: Remove direct compilation of gnulib source files
10332 and use the new grub-core/gnulib/libgnu.a.
10333 * build-aux/config.rpath: move config.rpath from top directory to
10334 build-aux
10335 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10336 in gnulib headers
10337 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10338 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10339 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10340 header.
10341 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10342 string.
10343
e511c9f5
YB
103442010-09-20 Yves Blusseau <blusseau@zetam.org>
10345
10346 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10347 grub-core/genmod.sh and grub-core/gensyminfo.sh
10348
c2dede05
BC
103492010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10350
10351 Add a test for echo command options.
10352
10353 * tests/grub_cmd_echo.in: New test.
10354 * Makefile.util.def: Rules for new test.
10355
c55f5018
SJ
103562010-09-20 Szymon Janc <szymon@janc.net.pl>
10357
10358 Remove crc.mod and move crc command to hashsum.mod.
10359 Remove lib/crc.c - users updated to use gcrypt implementation.
10360
10361 * grub-core/commands/crc.c: Removed.
10362 * grub-core/Makefile.core.def (crc): Module removed.
10363 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10364 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10365 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10366 * grub-core/lib/crc.c: Removed.
10367 * include/grub/lib/crc.h: Removed.
10368 * Makefile.util.def (crc): Remove lib/crc.c
10369 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10370 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10371 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10372 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10373 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10374 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10375
e0337366
VS
103762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10379
742f9232
VS
103802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Split config.h for util and core.
10383
10384 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10385 (ADDR32): Likewise.
10386 (DATA32): Likewise.
10387 (BSS_START_SYMBOL): Likewise.
10388 (END_SYMBOL): Likewise.
10389 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10390 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10391 * config.h.in: New file.
10392 * configure.ac: Use config-util.h as config define file.
10393 Rename MACHINE into GRUB_MACHINE. All users updated.
10394 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10395 updated.
10396 (NESTED_FUNC_ATTR): Likewise.
10397 Substitue new variables.
10398 (COND_HAVE_ASM_USCORE): New conditional.
10399 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10400 (kernel_syms.lst): Use ASM_PREFIX.
10401 * grub-core/kern/emu/console.c: Include config-util.h.
10402 * grub-core/kern/emu/misc.c: Likewise.
10403 * grub-core/kern/emu/mm.c: Likewise.
10404 * include/grub/emu/misc.h: Likewise.
10405 * include/grub/libgcc.h: Likewise.
10406
39feb0e8
VS
104072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10410 constants usage.
10411 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10412 Fix GRUB_TERM_KEY_* constants usage.
10413 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10414
9af6dac3
VS
104152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10418 print pointer.
10419 * grub-core/bus/usb/uhci.c: Remove empty define.
10420 (grub_uhci_check_transfer): Add missing cast.
10421 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10422 print pointer.
10423 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10424 PRIuGRUB_SIZE.
10425 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10426
d6d94820
VS
104272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/Makefile.core.def (legacycfg): Add
10430 lib/i386/pc/vesa_modes_table.c on emu.
10431
3572f2b6
BC
104322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10433
10434 Reduce number of temporary files generated by build system.
10435
10436 * grub-core/gencmdlist.sh: Removed.
10437 * grub-core/genfslist.sh: Removed.
10438 * grub-core/genhandlerlist.sh: Removed.
10439 * grub-core/genmodsrc.sh: Removed.
10440 * grub-core/genpartmaplist.sh: Removed.
10441 * grub-core/genparttoollist.sh: Removed.
10442 * grub-core/gentermiinallist.sh: Removed.
10443 * grub-core/genvideolist.sh: Removed.
10444
10445 * grub-core/genmod.sh.in: New file.
10446 * grub-core/gensyminfo.sh.in: New file.
10447
10448 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10449 * conf/Makefile.extra-dist: Update with new files.
10450 * gentpl.py: Remove rules related to unnecessary temporary files.
10451 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10452 and und-* files.
10453 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10454 genmod.sh scripts.
10455 * grub-core/bus/usb/uhci.c: Remove empty #define.
10456 * grub-core/genmoddep.awk: Updated with new syminfo format.
10457 * util/bash-completion.d/Makefile.am: Add config.log to
10458 CLEANFILES.
10459
c836b030
YB
104602010-09-19 Yves Blusseau <blusseau@zetam.org>
10461
10462 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10463
2f4e8053
BC
104642010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10465
10466 * util/grub-mkconfig.in: Check the config script for syntax errors
10467 before saving.
10468
75831c34
CW
104692010-09-19 Colin Watson <cjwatson@ubuntu.com>
104702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10473 platforms.
10474 * util/grub-install.in: Add EFI and IEEE1275 support.
10475 * util/i386/efi/grub-install.in: Removed.
10476 * util/ieee1275/grub-install.in: Likewise.
10477
eaf41b25
VS
104782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10481 (grub_cmd_cmosclean): Likewise.
10482 (GRUB_MOD_INIT): Register command cmosclean.
10483 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10484 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10485
1a9130dd
CPE
104862010-09-18 Carles Pina i Estany <carles@pina.cat>
104872010-09-18 Aleš Nesrsta <starous@volny.cz>
104882010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 Add keyboard layouts support.
10491
10492 * Makefile.util.def (grub-mklayout): New file.
10493 (grub-kbdcomp): New script.
10494 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10495 Add keyboard_layouts.h.
10496 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10497 commands/boot.c on yeeloong.
10498 (keylayouts): New module.
10499 * grub-core/bus/usb/ohci.c
10500 * grub-core/bus/usb/uhci.c
10501 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10502 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10503 (attach_root_port): Likewise.
10504 (poll_nonroot_hub): Likewise.
10505 (grub_usb_poll_devices): Likewise.
10506 (detach_device): Close transfer.
10507 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10508 function.
10509 (grub_usb_bulk_setup_readwrite): Likewise.
10510 (grub_usb_bulk_finish_readwrite): Likewise.
10511 * grub-core/commands/keylayouts.c: New file.
10512 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10513 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10514 aliases.
10515 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10516 support scancode 2.
10517 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10518 * include/grub/keyboard_layouts.h: New file.
10519 * util/grub-mklayout.c: New file.
10520 * util/grub-kbdcomp.in: Likewise.
10521
a1d84a5e
VS
105222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Unify memory types.
10525
10526 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10527 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10528 types.
10529 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10530 (grub_upper_mem): Likewise.
10531 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10532 * include/grub/memory.h (grub_memory_type_t): New enum.
10533 All users updated.
10534
9696382e
VS
105352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * grub-core/Makefile.core.def (lsapm): New module.
10538 * grub-core/commands/i386/pc/lsapm.c: New file.
10539 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10540 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10541 Likewise.
10542 * include/grub/i386/pc/apm.h: New file.
10543 * include/multiboot.h (multiboot_apm_info): New struct.
10544
105452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 GRUB-legacy configuration file support.
10548
10549 * Makefile.util.def (grub-menulst2cfg): New util.
10550 * docs/man/grub-menulst2cfg.h2m: New file.
10551 * grub-core/Makefile.core.def (legacycfg): New module.
10552 * grub-core/commands/legacycfg.c: New file.
10553 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10554 (grub_normal_add_menu_entry): ... this.
10555 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10556 (grub_normal_set_password): ...this.
10557 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10558 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10559 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10560 * grub-core/lib/legacy_parse.c: New file.
10561 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10562 * include/grub/i386/pc/vesa_modes_table.h: New file.
10563 * include/grub/legacy_parse.h: Likewise.
10564 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10565 * util/grub-menulst2cfg.c: New file.
10566
bf8d1338
CW
105672010-09-17 Colin Watson <cjwatson@ubuntu.com>
10568
10569 * grub-core/kern/emu/hostdisk.c
10570 (convert_system_partition_to_system_disk): Initialise node.
10571
9c0bad2e
CW
105722010-09-17 Colin Watson <cjwatson@ubuntu.com>
10573
10574 * grub-core/kern/emu/hostdisk.c
10575 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10576 leak.
10577 Reported and based on patch by: Modestas Vainius.
10578
a939d135
CW
105792010-09-17 Colin Watson <cjwatson@ubuntu.com>
10580
10581 Fix DM-RAID probing with recent versions of device-mapper udev
10582 rules.
10583
10584 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10585 canonicalise device paths under /dev/mapper/.
10586 (convert_system_partition_to_system_disk): Compare the
10587 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10588 path, since device nodes under /dev/mapper/ are often symlinks.
10589
0f7ee3c9
YB
105902010-09-17 Yves Blusseau <blusseau@zetam.org>
10591
10592 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10593
10854d0d
YB
105942010-09-16 Yves Blusseau <blusseau@zetam.org>
10595
10596 * configure.ac: Avoid some annoying error messages if freetype-config
10597 program is not found.
10598
108538d8
CW
105992010-09-16 Colin Watson <cjwatson@ubuntu.com>
10600
10601 Support RAID on virtio devices, and others.
10602
10603 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10604 Rename to ...
10605 [__MINGW32__] (grub_find_device): ... this.
10606 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10607 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10608 reasonable default if dir is NULL.
10609 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10610 ...
10611 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10612 (grub_guess_root_device): Update callers.
10613 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10614
10615 * util/raid.c (grub_util_getdiskname): Remove.
10616 (grub_util_raid_getmembers): Use grub_find_device rather than
10617 grub_util_getdiskname.
10618
e5bfc130
CW
106192010-09-16 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10622 needing to be compiled with serial support.
10623 (ls): Indicate that multiple files are accepted.
10624 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10625 indicate that multiple files are accepted.
10626
be458ae2
CW
106272010-09-16 Colin Watson <cjwatson@ubuntu.com>
10628
10629 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10630 libgrub_a_init.c, and util/bash-completion.d/grub.
10631
cb731b5e
VS
106322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * util/grub-setup.c (setup): Fix incorrect container semantics.
10635
35139e8a
VS
106362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10639 misusage.
10640 Reported by: J. Nick Terry
10641
e50fca4a
VS
106422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 Move embedding routines to partmap sources files.
10645
10646 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10647 [GRUB_UTIL]: New variable.
10648 (gpt_partition_map_iterate): Set part.parent.
10649 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10650 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10651 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10652 New function.
10653 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10654 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10655 (grub_partition_map) [GRUB_UTIL]: New field embed.
10656 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10657 (setup): Use ->embed.
10658
f00478b7
VS
106592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10662 function.
10663 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10664 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10665
2b94e3ff
YB
106662010-09-15 Yves Blusseau <blusseau@zetam.org>
10667
10668 Add function to get completions from usage.
10669
10670 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10671 completions from usage. Use LC_ALL=C to get options properly.
10672
2e04a006
VS
106732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/gnulib/basename-lgpl.c: Imported.
10676 * grub-core/gnulib/basename.c: Likewise.
10677 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10678 * grub-core/gnulib/dirname.c: Likewise.
10679 * grub-core/gnulib/dirname.h: Likewise.
10680 * grub-core/gnulib/stripslash.c: Likewise.
10681
5dcdf93a
VS
106822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/gnulib/error.c: Resynced.
10685 * grub-core/gnulib/getopt.c: Likewise.
10686 * grub-core/gnulib/getopt_int.h: Likewise.
10687 * grub-core/gnulib/regex.h: Likewise.
10688 * grub-core/gnulib/regex_internal.c: Likewise.
10689 * grub-core/gnulib/regex_internal.h: Likewise.
10690
014f47b7
SJ
106912010-09-15 Szymon Janc <szymon@janc.net.pl>
10692
10693 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10694 CRC calculations and validity checks.
10695 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10696 calculations.
10697
dd521a4a
SJ
106982010-09-15 Szymon Janc <szymon@janc.net.pl>
10699
10700 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10701
79c4eeb9
VS
107022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 Fix incorrect echo options handling.
10705 Reported by: Yves Blusseau.
10706
10707 * include/grub/command.h (grub_command_flags_t): New flags
10708 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10709 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10710 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10711
ed80f7d5
VS
107122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
10715 users updated.
10716 (GRUB_COMMAND_FLAG_MENU): Likewise.
10717 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10718 (GRUB_COMMAND_FLAG_TITLE): Removed.
10719 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10720 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
10721 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
10722 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
10723 (grub_command_flags_t): New enum. All users updated.
10724
5fe7620a
SG
107252010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
10726
10727 Fix solaris compilation.
10728
10729 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
10730 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
10731 (grub-emu-list): Likewise.
10732
545b752f
VS
107332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Remove deprecated root command.
10736
10737 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
10738 updated.
10739
6c1a338c
VS
107402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * util/i386/pc/grub-setup.c: Merge this ...
10743 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
10744 * util/grub-setup.c: ... into this.
10745 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
10746 New struct.
10747
107482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
10751 possible.
10752
d2ea4551
VS
107532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
10756 allocate p.
10757
3c3b5040
VS
107582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10761 explicit root argument to set to prevent UUID to be interpreted as
10762 argument to set.
10763
b71c3fae
VS
107642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
10767
275433e6
VS
107682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 Don't export grub_gate_a20.
10771
10772 * grub-core/kern/i386/pc/init.c: Remove leftovers.
10773 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
10774 to ...
10775 (grub_gate_a20): ... this. All users updated.
10776 * include/grub/i386/pc/init.h: Removed. All users updated.
10777
a5dbb1f1
VS
107782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 Create euro.pf2 which supports most European languages.
10781
10782 * Makefile.am (grubdata_DATA): Add euro.pf2.
10783 (euro.pf2): New target.
10784 (CLEANFILES): Add euro.pf2.
10785
62a747cb
VS
107862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * configure.ac: Disable emu-usb by default to prevent inadvertent
10789 device takeover.
10790
608e43b1
VS
107912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 Disable usbserial on grub-emu since our libusb code isn't good enough
10794 yet.
10795
10796 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
10797 (usbserial_pl2303): Likewise.
10798 (usbserial_ftdi): Likewise.
10799
94564f81
VS
108002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * include/grub/disk.h (grub_disk): Remove has_partitions.
10803 All users updated.
10804 * disk/loopback.c (grub_loopback): Remove has_partitions.
10805 All users updated.
10806 (options): Remove partitions. All users updated.
10807 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
10808 * util/i386/pc/grub-setup.c (setup): copy partition table only when
10809 actual partition table is found.
10810
3352800b
VS
108112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 Remove readability checks (too many false negatives).
10814
10815 * util/grub-install.in: Remove readability checks.
10816 * util/grub-mkconfig.in: Likewise.
10817 * util/grub.d/10_hurd.in: Likewise.
10818 * util/grub.d/10_kfreebsd.in: Likewise.
10819 * util/grub.d/10_linux.in: Likewise.
10820 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
10821 way.
10822
2419f17a
VS
108232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Enable acpi shutdown on all ACPI platforms.
10826
10827 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
10828 on coreboo, multiboot and EFI.
10829 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
10830 (grub_acpi_halt): Likewise.
10831 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
10832 (grub_cmd_halt): Don't call grub_acpi_halt directly.
10833 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
10834 * grub-core/lib/i386/halt.c (grub_halt)
10835 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
10836
0575c7c3
VS
108372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
10840 context.
10841
54ac3cd1
VS
108422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * grub-core/video/efi_gop.c: Fix over-80-chars line.
10845 * grub-core/video/efi_uga.c: Likewise.
10846
b2a30ac5
VS
108472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Filter devaliases and never open same device twice.
10850
10851 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
10852 (last_ihandle): Likewise.
10853 (ofdisk_hash_ent): New member shortest.
10854 (ofdisk_hash_add): Add canonical path too.
10855 (scan): New function.
10856 (grub_ofdisk_iterate): Iterate over hashed entries.
10857 (compute_dev_path): Don't add :0.
10858 (grub_ofdisk_open): Don't really open the disk.
10859 (grub_ofdisk_close): Avoid closing unrelated disk.
10860 (grub_ofdisk_read): Implement reopen logic.
10861 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
10862 New function.
10863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
10864 New proto.
10865
fb53b340
VS
108662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 Fix sparc64.
10869
10870 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
10871 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
10872 right address. Add sparc64_ieee1275_ldflags.
10873 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
10874 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
10875 to grub_host_to_target_addr
10876 (load_image): Likewise.
10877
f452b040
VS
108782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * grub-core/normal/completion.c (complete_file): Handle device
10881 containing slash.
10882 Fix based on patch by Doug Nazar.
10883
9b5b2541
VS
108842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 grub-mknetdir script.
10887
10888 * Makefile.util.def (grub-mknetdir): New module.
10889 * tests/util/grub-shell.in: Support boot=net
10890 * util/grub-mknetdir.in: New file.
10891
9d2be652
VS
108922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 videoinfo on non-vbe.
10895
10896 * grub-core/Makefile.core.def (vbeinfo): Removed.
10897 (vbetest): Removed.
10898 (videoinfo): New module.
10899 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10900 * grub-core/commands/i386/pc/vbetest.c: Removed.
10901 * grub-core/commands/videoinfo.c: New file.
10902 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10903 specification.
10904 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10905 as vbetest.
10906 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10907 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10908 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10909 mode_number. New parameter mode. All users updated.
10910 (grub_video_gop_iterate): New function.
10911 (grub_video_efi_gop): New member iterate.
10912 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10913 (grub_vbe_set_video_mode): Remove setting useless fields.
10914 (vbe2videoinfo): New function.
10915 (grub_video_vbe_iterate): Likewise.
10916 (grub_video_vbe_setup): Use vbe2videoinfo.
10917 (grub_video_vbe_print_adapter_specific_info): New function.
10918 (grub_video_vbe_adapter): New fields iterate and
10919 print_adapter_specific_info.
10920 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10921 All users updated.
10922 (grub_video_mode_info): New field mode_number.
10923 (grub_video_adapter): New fields iterate and
10924 print_adapter_specific_info.
10925
179503f5
TG
109262010-09-13 Tristan Gingold <gingold@free.fr>
109272010-09-13 Robert Millan <rmh.grub@aybabtu.com>
109282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/commands/efi/lsefisystab.c: New file.
10931 * grub-core/commands/efi/lssal.c: Likewise.
10932 * grub-core/Makefile.core.def (lsacpi): New module.
10933 (lsefisystab): Likewise.
10934 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10935 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10936 (grub_efi_sal_system_table): New struct.
10937 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10938 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10939 (grub_efi_sal_system_table_platform_features): Likewise.
10940 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10941 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10942 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10943 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10944
cf9827de
VS
109452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 Support explicit user claim that a device is BIOS-visible.
10948
10949 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10950 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10951 * grub-core/kern/emu/hostdisk.c
10952 (convert_system_partition_to_system_disk): Support mdX.
10953 (find_system_device): New parameter add. All users updated.
10954 (grub_util_biosdisk_is_present): New function.
10955 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10956 proto.
10957
53f0eb1f
VS
109582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 Search hints support.
10961
10962 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10963 All users updated.
10964
b23ffd70
YB
109652010-09-13 Yves Blusseau <blusseau@zetam.org>
10966
10967 Bash completion script for util commands
10968
10969 * Makefile.am: Add util/bash-completion.d directory
10970 * configure.ac: Likewise.
10971 * util/bash-completion.d/Makefile.am: New file.
10972 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10973
d547dc28
VS
109742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10977 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10978 Reported by: Yves Blusseau.
10979
2fc8ccb9
VS
109802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10983 partition size and offset.
10984
d8a84076
VS
109852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10988
84fb3b3d
VS
109892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10992
768ec2e2
VS
109932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10996 (grub_xvasprintf): Likewise.
10997
4870900f
VS
109982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11001
faca6bec
VS
110022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11005 args ending with NULL.
11006
110072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11008
11009 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11010 pointer.
11011
3c70f225
SJ
110122010-09-11 Szymon Janc <szymon@janc.net.pl>
11013
11014 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11015
4df7996d
VS
110162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 Shutdown using ACPI.
11019
11020 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11021 * grub-core/commands/acpihalt.c: New file.
11022 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11023 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11024 (grub_acpi_halt): New proto.
11025 (GRUB_ACPI_SLP_EN): New const.
11026 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11027 (GRUB_ACPI_OPCODE_*): New enum.
11028 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11029
126b4c32
TG
110302010-09-11 Tristan Gingold <gingold@free.fr>
110312010-09-11 Robert Millan <rmh.grub@aybabtu.com>
110322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * commands/lsacpi.c: New file.
11035 * grub-core/Makefile.core.def (lsacpi): New module.
11036 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11037 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11038 (grub_acpi_madt_entry_header): New struct.
11039 (grub_acpi_madt): Likewise.
11040 (grub_acpi_madt_entry_interrupt_override): Likewise.
11041 (grub_acpi_madt_entry_sapic): Likewise.
11042 (grub_acpi_madt_entry_lsapic): Likewise.
11043 (grub_acpi_madt_entry_platform_int_source): Likewise.
11044 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11045 (PRIuGRUB_UINT32_T): Likewise.
11046 (PRIxGRUB_UINT64_T): Likewise.
11047
1aa4fe88
VS
110482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 Implement loading palette on ieee1275_fb.
11051
11052 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11053 (have_setcolors): Likewise.
11054 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11055 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11056 (grub_video_ieee1275_set_palette): Implement.
11057
25761e13
VS
110582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
110592010-09-11 Colin Watson <cjwatson@ubuntu.com>
11060
11061 * util/grub-install.in (grub_partition): New variable.
11062 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11063 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11064 Fixes a bug reported by Yves Blusseau.
11065
050abaea
VS
110662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 Fix emu on mipsel.
11069
11070 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11071 =grub_cpu_flush_cache on all mips and not only yeeloong.
11072 * configure.ac (COND_mips): New conditional.
11073 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11074 platforms.
11075 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11076 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11077 [GRUB_LINKER_HAVE_INIT]: New function.
11078 (grub_emu_post_init): Likewise.
11079 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11080 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11081 * include/grub/cache.h (_mips): Include mips/cache.h.
11082 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11083 LVM and RAID prototypes.
11084 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11085 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11086 function.
11087
5ed7d816
CW
110882010-09-10 Colin Watson <cjwatson@ubuntu.com>
11089
11090 * util/grub-install.in: Don't try to verify core.img until after
11091 running grub-mkimage to create it.
11092
90367e04
RM
110932010-09-10 Robert Millan <rmh@gnu.org>
11094
11095 * util/grub.d/10_hurd.in: Add misc readability checks.
11096 * util/grub.d/10_kfreebsd.in: Likewise.
11097 * util/grub.d/10_linux.in: Likewise.
11098
c452fa66
CW
110992010-09-10 Colin Watson <cjwatson@ubuntu.com>
11100
11101 * util/grub-install.in: ${imgext} won't be defined here until the
11102 install branch is merged. For the meantime, only verify core.img on
11103 i386-pc and sparc64-ieee1275 platforms.
11104
c38fe9f4
RM
111052010-09-10 Robert Millan <rmh@gnu.org>
11106
11107 Solaris support in grub_find_zpool_from_dir(). Thanks
11108 Seth Goldberg for referring to getextmntent() facility.
11109
11110 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11111 `sys/mkdev.h'.
11112 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11113 `<sys/mnttab.h>'.
11114 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11115 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11116 method for finding zpool name.
11117
905f7773
CW
111182010-09-10 Colin Watson <cjwatson@ubuntu.com>
11119
11120 grub-fstest needs the host and hostfs modules while other utilities
11121 actively require those modules to be absent, so grub-fstest needs
11122 its own initialisation and finalisation code.
11123
11124 * Makefile.am (grub_fstest.pp): New target.
11125 (grub_fstest_init.lst): Likewise.
11126 (grub_fstest_init.c): Likewise.
11127 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11128
fb90b546
RM
111292010-09-10 Robert Millan <rmh@gnu.org>
11130
11131 * configure.ac: Check for `struct statfs.f_fstypename' and
11132 `struct statfs.f_mntfromname'.
11133
11134 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11135 kFreeBSD-specific code.
11136
66d4bea5
RM
111372010-09-10 Robert Millan <rmh@gnu.org>
11138
11139 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11140 on ZFS. Now non-main filesystems are supported as / too.
11141
b6a690ee
CW
111422010-09-09 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11145 and grub-core/disk/host.c to ...
11146 (grub-fstest): ... here. Having the host disk implementation
11147 present confuses grub-probe and other utility programs.
11148
11149 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11150 when writing to a file, not when writing to stdout.
11151
8901b00c 111522010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11153
11154 * tests/partmap_test.in: New test for partitions.
11155 * Makefile.util.def: Rules for new test.
11156
7bf45fdd
RM
111572010-09-09 Robert Millan <rmh@gnu.org>
11158
11159 * util/grub-probe.c (probe): Fix a pair of unhandled error
11160 conditions.
11161
4dfbc574
RM
111622010-09-09 Robert Millan <rmh@gnu.org>
11163
11164 Basic Btrfs support (detection and UUID).
11165
11166 * grub-core/fs/btrfs.c: New file.
11167 * Makefile.util.def (library): Register btrfs.c.
11168 * grub-core/Makefile.core.def: Likewise.
11169
6b8e78ae
RM
111702010-09-08 Robert Millan <rmh@gnu.org>
11171
11172 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11173 with (optional) parameters to specify device and relative path.
11174 * util/grub-install.in: Use is_path_readable_by_grub() to
11175 verify readability of a few critical files.
11176 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11177 verify readability of grub.cfg.new.
11178
27f21a8b
VS
111792010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Split minix.mod into minix.mod and minix2.mod.
11182
11183 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11184 * grub-core/Makefile.core.def (minix2): New module.
11185 * grub-core/fs/minix.c: Use definitions instead of runtime version
11186 checking.
11187 * grub-core/fs/minix2.c: New file.
11188
c0e53ea5
YB
111892010-09-08 Yves Blusseau <blusseau@zetam.org>
11190
11191 Add new --boot-directory option to replace --root-directory
11192
11193 * util/grub-install.in: Add new --boot-directory option
11194 * util/grub-reboot.in: Likewise.
11195 * util/grub-set-default.in: Likewise.
11196
b9fe6ea2
YB
111972010-09-08 Yves Blusseau <blusseau@zetam.org>
11198
11199 * util/grub-mkconfig.in: Use new variable.
11200
d87aedff
YB
112012010-09-08 Yves Blusseau <blusseau@zetam.org>
11202
11203 * configure.ac: Define some useful variables.
11204
e55e8495
VS
112052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11208 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11209 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11210 Use terminfo and don't use cursor-on/cursor-off unless it's known
11211 to work.
11212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11213 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11214
6fa6d675
CW
112152010-09-08 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11218 starts with "(,", fill the drive containing the loaded image in
11219 between those two characters, but expect that a full partition
11220 specification including partition map names will follow.
11221
92f2aef0
RM
112222010-09-08 Robert Millan <rmh@gnu.org>
11223
11224 * configure.ac: Remove `--enable-grub-fstest' option.
11225 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11226
11227 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11228 `grub-fstest' instead of `grub-probe' for readability verification.
11229 * util/grub-probe.c (probe): Remove readability verification kludge.
11230
99fd620d
RM
112312010-09-08 Robert Millan <rmh@gnu.org>
11232
11233 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11234 initializing `GRUB_FS'.
11235
058e30ac 112362010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11237
11238 Not command (!) support to GRUB script.
11239
11240 * tests/grub_script_not.in: New test.
11241 * Makefile.util.def: Rules for new test.
11242
11243 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11244 ! command as a special case.
11245 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11246
b61d05ed 112472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11248
058e30ac 11249 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11250 grub_free.
b61d05ed 11251
4d69c786 112522010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11253
11254 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11255
aa3119c4 112562010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11257
11258 * docs/grub.texi (Shell-like scripting): Documentation for break,
11259 continue, shift and return commands.
11260
db0f7e3d
VS
112612010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Rename CD-ROM to cd on BIOS.
11264
11265 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11266 "cd".
11267 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11268
88b87c93
VS
112692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11272 * util/grub-probe.c (main): Likewise.
11273 * util/i386/pc/grub-setup.c (main): Likewise.
11274 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11275 Reported and debugged by: alexxy
11276
294f324d
VS
112772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11280 diagnostic info.
11281
d7ee3441
JS
112822010-09-05 Jo Shields <directhex@apebox.org>
11283
11284 * util/grub.d/30_os-prober.in: Add missing classes.
11285
d7e06c1f
VS
112862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * docs/grub.texi (Theme file format): Document new position format.
11289
fc157e53
VS
112902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11293 a table. Use @code instead of @verbatim.
11294
506e9a1c
CB
112952010-09-05 Colin D Bennett <colin@gibibit.com>
11296
11297 Gfxmenu documentation.
11298
11299 * docs/grub.texi (Theme file format): New chapter.
11300
f0aff67c
SJ
113012010-09-05 Szymon Janc <szymon@janc.net.pl>
11302
11303 * grub-core/Makefile.core.def (xzio): New module.
11304 * grub-core/io/xzio.c: New file.
11305 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11306 * grub-core/lib/xzembed/xz_config.h: Likewise.
11307 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11308 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11309 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11310 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11311 * grub-core/lib/xzembed/xz_private.h: Likewise.
11312 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11313 * include/grub/file.h (grub_file_filter_id): New compression filter
11314 GRUB_FILE_FILTER_XZIO.
11315
82a85062
VS
113162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11319 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11320 size.
11321
3579415d
VS
113222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11325 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11326
5124ae6d
VS
113272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Uncompressed checksum support.
11330
11331 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11332 (check_list): New parameter uncompress.
11333 (grub_cmd_hashsum): Handle --uncompress.
11334
9aadb3d1
VS
113352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Reintroduce testload.
11338
11339 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11340 from here ...
11341 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11342 (GRUB_MOD_INIT): New function.
11343 (GRUB_MOD_FINI): Likewise.
11344 * grub-core/Makefile.core.def (testload): New module.
11345
a17792c3
SJ
113462010-09-05 Szymon Janc <szymon@janc.net.pl>
11347
11348 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11349 (uint8_t): New type.
11350 (uint16_t): Likewise.
11351 (uint32_t): Likewise.
11352 (uint64_t): Likewise.
11353
b81e40a3
SJ
113542010-09-05 Szymon Janc <szymon@janc.net.pl>
11355
11356 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11357
fc2ef117
VS
113582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11361 Made static.
11362 (grub_gzfile_open): Removed. All users updated.
11363 (GRUB_MOD_INIT): New function.
11364 (GRUB_MOD_FINI): Likewise.
11365 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11366 (grub_file_filters_enabled): Likewise.
11367 (grub_file_open): Handle filters.
11368 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11369 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11370 * include/grub/file.h (grub_file_filter_id_t): New type.
11371 (grub_file_filter_t): Likewise.
11372 (grub_file_filters_all): New extern variable.
11373 (grub_file_filters_enabled): Likewise.
11374 (grub_file_filter_register): New inline function.
11375 (grub_file_filter_unregister): Likewise.
11376 (grub_file_filter_disable): Likewise.
11377 (grub_file_filter_disable_compression): Likewise.
11378 * include/grub/gzio.h: Removed.
11379
35ee15e0
BC
113802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11381
11382 Filename expansion support for wildcards in GRUB script.
11383
11384 * tests/grub_script_expansion.in: New test.
11385 * Makefile.util.def: Rule for new test.
11386
11387 * grub-core/commands/wildcard.c: New file, implements filename
11388 expansion support for GRUB script.
11389 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11390 * grub-core/script/argv.c: Cosmetic changes.
11391 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11392 Refactored to perform wildcard expansion on arguments.
11393 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11394 struct.
11395
11396 * tests/util/grub-shell.in: Fix quoting for read input.
11397
5f0c4aca
BC
113982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11399
11400 Support for updating environment variables with matched substrings
11401 of regexp.
11402
11403 * tests/grub_cmd_regexp.in: New test.
11404 * Makefile.util.def: Rule for new test.
11405
11406 * grub-core/commands/regexp.c: New option -s to update environment
11407 variables with regexp matches.
11408
3759a35f
SJ
114092010-09-04 Szymon Janc <szymon@janc.net.pl>
11410
11411 * include/grub/file.h (grub_file): New member not_easly_seekable.
11412 (grub_file_seekable): New inline function.
11413 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11414 easily seekable.
11415 (grub_gzio_open): Set not_easly_seekable.
11416 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11417 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11418
ed8c6dec
BC
114192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11420
11421 Support for options to appear multiple times on cmdline.
11422
11423 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11424 * grub-core/commands/extcmd.c: Support for repeatable option.
11425 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11426 repeatable option support.
11427
11428 Refactor menuentry into a regular command.
11429
11430 * grub-core/commands/menuentry.c: New file, menuentry command
11431 implementation.
11432 * grub-core/Makefile.core.def: Rule update for normal.mod.
11433 * grub-core/normal/main.c: Moved menuentry creation to
11434 grub-core/commands/menuentry.c.
11435 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11436 (grub_menu_execute_entry_real): Removed.
11437 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11438 function.
11439 (grub_script_execute_menuentry): Removed.
11440 * grub-core/script/parser.y (menuentry): Removed.
11441 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11442 * grub-core/script/yylex.l (menuentry): Removed.
11443 * include/grub/menu.h (grub_menu_init): New prototype.
11444 (grub_menu_fini): New prototype.
11445 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11446 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11447 (grub_script_execute_sourcecode): New prototype.
11448
dacd0cf0
BC
114492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11450
11451 "return" command for GRUB script functions.
11452
11453 * tests/grub_script_return.in: New test.
11454 * Makefile.util.def: Rules for new test.
11455
11456 * grub-core/script/execute.c (grub_script_return): New function.
11457 * grub-core/script/main.c: Register/unregister return commaond.
11458 * include/grub/script_sh.h (grub_script_return): New prototype.
11459
52e72f9d
BC
114602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11461
11462 "setparams" command to update positional parameters.
11463
11464 * tests/grub_script_setparams.in: New test.
11465 * Makefile.util.def: Rules for new test.
11466
11467 * grub-core/script/argv.c (grub_script_argv_make): New function.
11468 * grub-core/script/execute.c (replace_scope): New function.
11469 (grub_script_setparams): New function.
11470 * grub-core/script/lexer.c: Remove unused variables.
11471 * grub-core/script/main.c: Register/unregister setparams command.
11472 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11473 (grub_script_setparams): New prototype.
11474
25b60c91
BC
114752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11476
11477 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11478 grub_free order.
11479
37e7bf68
BC
114802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11481
11482 Support for passing block of commands as an argument to extcmds.
11483
11484 * Makefile.util.def: Rules for new test.
11485 * tests/grub_script_blockarg.in: New test.
11486 * grub-core/tests/test_blockarg.c: New file, block argument
11487 command used in the test.
11488
11489 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11490 (grub_register_extcmd_prio): New function prototype.
11491 (grub_extcmd_dispatcher): New function prototype.
11492 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11493 type.
11494 * include/grub/script_sh.h (struct grub_script): New members
11495 `children', `next_siblings' and `refcnt' for block arguments and
11496 reference counting.
11497 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11498 (grub_script_arg): New member `script' for block argument.
11499 (grub_script_argv): New member `script' for block argument.
11500 (grub_parser_param): New member `scripts' for block argument.
11501 (grub_script_mem_free): New extern function prototype.
11502 (grub_script_ref): New function prototype.
11503 (grub_script_unref): New function prototype.
11504
11505 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11506 extcmd form to support block arguments.
11507 * grub-core/script/argv.c: Block arguments support.
11508 * grub-core/script/execute.c: Likewise.
11509 * grub-core/script/lexer.c: Likewise.
11510 * grub-core/script/main.c: Likewise.
11511 * grub-core/script/script.c: Likewise.
11512 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11513 non-terminals.
11514
11515 * grub-core/commands/acpi.c: Update extcmd implementations with
11516 grub_extcmd_context_t.
11517 * grub-core/commands/cat.c: Likewise.
11518 * grub-core/commands/echo.c: Likewise.
11519 * grub-core/commands/extcmd.c: Likewise.
11520 * grub-core/commands/hashsum.c: Likewise.
11521 * grub-core/commands/hdparm.c: Likewise.
11522 * grub-core/commands/help.c: Likewise.
11523 * grub-core/commands/hexdump.c: Likewise.
11524 * grub-core/commands/i386/cpuid.c: Likewise.
11525 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11526 * grub-core/commands/i386/pc/halt.c: Likewise.
11527 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11528 * grub-core/commands/iorw.c: Likewise.
11529 * grub-core/commands/keystatus.c: Likewise.
11530 * grub-core/commands/loadenv.c: Likewise.
11531 * grub-core/commands/ls.c: Likewise.
11532 * grub-core/commands/lspci.c: Likewise.
11533 * grub-core/commands/memrw.c: Likewise.
11534 * grub-core/commands/probe.c: Likewise.
11535 * grub-core/commands/search_wrap.c: Likewise.
11536 * grub-core/commands/setpci.c: Likewise.
11537 * grub-core/commands/sleep.c: Likewise.
11538 * grub-core/disk/loopback.c: Likewise.
11539 * grub-core/hello/hello.c: Likewise.
11540 * grub-core/loader/i386/bsd.c: Likewise.
11541 * grub-core/loader/xnu.c: Likewise.
11542 * grub-core/term/gfxterm.c: Likewise.
11543 * grub-core/term/serial.c: Likewise.
11544 * grub-core/tests/lib/functional_test.c: Likewise.
11545
888d1500
BC
115462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11547
11548 Multi-line quoted strings support.
11549
11550 * grub-core/script/lexer.c (append_newline): Removed.
11551 (grub_script_lexer_yywrap): Refactored.
11552 (grub_script_lexer_init): Refactored.
11553 * grub-core/script/yylex.l (yywrap): New function.
11554 (grub_lexer_resplit): New function.
11555 (grub_lexer_unput): New function.
11556 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11557 and resplit.
11558 * tests/grub_script_echo1.in: Added few more testcases.
11559
dda060dd
VS
115602010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/kern/misc.c: Don't add abort alias in utils.
11563 Reported by: echoline.
11564
6556eba9
BC
115652010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11566
11567 Add missing files into "make dist" tarball for other platforms.
11568
11569 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11570 * conf/Makefile.common (dist_noinst_DATA): New variable.
11571 * conf/Makefile.extra-dist: Added missing make dist files.
11572 * grub-core/Makefile.core.def: Likewise.
11573
c8e7bf5f
VS
115742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 Compress grub_prefix.
11577
11578 * grub-core/boot/i386/pc/lnxboot.S: Use
11579 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11580 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11581 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11582 GRUB_MACHINE_PREFIX_END. All users updated.
11583 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11584 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11585 + 0x40.
11586 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11587 * util/grub-mkimage.c (image_target_desc): Change data_end to
11588 prefix_end. All users updated.
11589
a7c00cdb
VS
115902010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11593 value.
11594 (grub_openbsd_boot): Likewise.
11595 (grub_netbsd_boot): Likewise.
11596 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11597 (grub_xnu_boot): Likewise.
11598
9f915872
VS
115992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * configure.ac: Clean LIBS variable after tests.
11602
efa1bee7
CW
116032010-09-02 Colin Watson <cjwatson@ubuntu.com>
11604
11605 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11606
61d720e5
VS
116072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11610 echo if libdevmapper will be used.
11611
ef8e0ec8
IT
116122010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11613
11614 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11615 constant for the same file.
11616
03e261d8
VS
116172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11620
c2a4eba6
CW
116212010-09-02 Colin Watson <cjwatson@ubuntu.com>
11622
11623 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11624 grub-core/*.pp.
11625
9056cbf3
CW
116262010-09-02 Colin Watson <cjwatson@ubuntu.com>
11627
11628 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11629 required by the boot protocol.
11630
11631 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11632 ebp and edi members.
11633 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11634 state.ebp and state.edi.
11635 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11636 %ebp and %edi according to grub_relocator32_ebp and
11637 grub_relocator32_edi respectively.
11638 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11639 and state.edi.
11640
529cc99a
VS
116412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 Add i386-pc-pxe image target.
11644
11645 * util/grub-mkimage.c (image_target_desc): New enum value
11646 IMAGE_I386_PC_PXE.
11647 (image_targets): New target i386-pc-pxe.
11648 (generate_image): Handle i386-pc-pxe image.
11649
9a093920
VS
116502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 Fix grub_pxe_scan.
11653
11654 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11655 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11656 All users updated.
11657 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11658 (grub_pxe_pxenv): Correct type.
11659
f9cefc4e
CW
116602010-09-01 Colin Watson <cjwatson@ubuntu.com>
11661
11662 * NEWS: Document most of the important changes since 1.98.
11663
4066f57f
CW
116642010-09-01 Colin Watson <cjwatson@ubuntu.com>
11665
11666 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11667 generated manual page) a little.
11668
da2891f9
CW
116692010-09-01 Colin Watson <cjwatson@ubuntu.com>
11670
11671 * docs/grub.texi: Add myself as an author.
11672
ad717fae
VS
116732010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * Makefile.util.def (libgrub.a): Add missing sunpc.
11676 Reported by: Seth Goldberg.
11677
eefe8abd
VS
116782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 Interrupt wrapping and code simplifications.
11681
9494ef9a
VS
11682 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11683 x86_noieee1275 which are functionaly equivalent in this case.
11684 (grub-install): Make source on each platform explicit. Enable on
11685 all noemu.
11686 * gentpl.py (x86_efi_pc): Removed group.
11687 (x86_noefi): Likewise.
11688 (i386_noefi): Likewise.
11689 (x86_noieee1275): Likewise.
11690 (i386_noieee1275): Likewise.
11691 (i386_noefi_noieee1275): Likewise.
11692 (i386_pc_qemu_coreboot): Likewise.
11693 (i386_coreboot_multiboot): Likewise.
11694 (i386_pc_coreboot_multiboot_qemu): Likewise.
11695 (x86_noefi_mips): Likewise.
11696 (noieee1275): Likewise.
11697 (ieee1275_mips): Likewise.
11698 (noemu_noieee1275): Likewise.
11699 (cmos): New group.
11700 (usb): Likewise.
11701 (videoinkernel): Likewise.
11702 (videomodules): Likewise.
eefe8abd 11703 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
11704 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11705 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11706 include/grub/loader.h, include/grub/msdos_partition.h,
11707 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11708 include/grub/machine/console.h, include/grub/machine/vga.h,
11709 include/grub/machine/vbe.h, include/grub/machine/init.h,
11710 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11711 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 11712 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
11713 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
11714 * grub-core/Makefile.core.def (kernel): Explicit the source for
11715 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
11716 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
11717 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
11718 Use videoinkernel tag.
11719 (usb): Enable on all usb.
11720 (usbserial_common): Likewise.
11721 (usbserial_pl2303): Likewise.
11722 (usbserial_ftdi): Likewise.
11723 (uhci): Enable on all x86.
11724 (ohci): Enable on all pci.
11725 (cmostest): Enable on all CMOS.
11726 (acpi): Include commands/acpi.c on all platforms.
11727 (halt): Add relevant lib/*/halt.c.
11728 (hdparm): Enable on all pci.
11729 (lspci): Likewise.
11730 (usbtest): Enable on all usb.
11731 (ata): Enable on all pci.
11732 (ata_pthru): Likewise.
11733 (usbms): Enable on all usb.
11734 (usb_keyboard): Likewise.
11735 (font): Use tag videomodules.
11736 (bufio): Likewise.
11737 (datetime): Use tag cmos. Enable on all noemu.
11738 (mmap): Use tags common and x86.
11739 (gfxterm): Use tag videomodules.
11740 (bitmap): Likewise.
11741 (bitmap_scale): Likewise.
11742 (video_fb): Likewise.
11743 (video): Likewise.
11744 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
11745 adjust padding accordingly. All users updated.
11746 (grub_ohci_transaction): Fix bad format specification.
11747 (GRUB_MOD_INIT): Add asserts for struct size.
11748 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
11749 (grub_alloc_td): Likewise.
11750 (grub_free_queue): Likewise.
11751 (grub_uhci_transfer): Likewise.
11752 (grub_uhci_transaction): Fix bad format specification.
11753 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11754 (grub_usb_bulk_readwrite): Likewise.
11755 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
11756 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
11757 Made static.
11758 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
11759 Made static.
11760 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
11761 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
11762 Transformed into C.
11763 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
11764 Moved from here ...
11765 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
11766 ... here. Transformed into C. Made static.
11767 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
11768 Moved from here ...
11769 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
11770 ... here. Transformed into C. Made static.
11771 * grub-core/kern/i386/pc/startup.S
11772 (grub_biosdisk_check_int13_extensions): Moved from here ...
11773 * grub-core/disk/i386/pc/biosdisk.c
11774 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
11775 Made static.
11776 * grub-core/kern/i386/pc/startup.S
11777 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
11778 * grub-core/disk/i386/pc/biosdisk.c
11779 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
11780 Transformed into C. Made static.
11781 * grub-core/kern/i386/pc/startup.S
11782 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
11783 * grub-core/disk/i386/pc/biosdisk.c
11784 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
11785 Transformed into C. Made static.
11786 * grub-core/kern/i386/pc/startup.S
11787 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
11788 * grub-core/disk/i386/pc/biosdisk.c
11789 (grub_biosdisk_get_diskinfo_standard): ... here.
11790 Transformed into C. Made static.
11791 * grub-core/kern/i386/pc/startup.S
11792 (grub_biosdisk_get_num_floppies): Moved from here ...
11793 * grub-core/disk/i386/pc/biosdisk.c
11794 (grub_biosdisk_get_num_floppies): ... here.
11795 Transformed into C. Made static.
11796 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
11797 New function.
11798 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
11799 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
11800 Transformed into C. Made static.
11801 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
11802 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
11803 Transformed into C. Made static.
11804 * grub-core/kern/i386/ieee1275/init.c: Removed.
11805 * grub-core/kern/i386/misc.S: Likewise.
11806 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
11807 Splitted from here ...
11808 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
11809 Transformed into C. Made static. All users updated.
11810 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
11811 Transformed into C. Made static. All users updated.
11812 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
11813 Moved from here...
11814 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
11815 Transformed into C. Made static. All users updated.
11816 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
11817 Moved from here...
11818 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
11819 Transformed into C. Made static. All users updated.
11820 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
11821 Removed (replaced by C version).
11822 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
11823 Moved from here...
11824 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
11825 Transformed into C. Made static.
11826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
11827 Moved from here...
11828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
11829 ... here. Transformed into C.
11830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
11831 Moved from here...
11832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
11833 ... here. Transformed into C.
11834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
11835 Moved from here...
11836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
11837 ... here. Transformed into C. Made static.
11838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
11839 Moved from here...
11840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
11841 ... here. Transformed into C.
21ed554b
VS
11842 * grub-core/kern/i386/pc/startup.S
11843 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
11844 * grub-core/video/i386/pc/vbe.c
11845 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
11846 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
11847 Moved from here...
11848 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
11849 ... here. Transformed into C.
11850 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
11851 Moved from here...
11852 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
11853 ... here. Transformed into C.
11854 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
11855 Moved from here...
11856 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
11857 ... here. Transformed into C.
11858 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
11859 Moved from here...
11860 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
11861 ... here. Transformed into C.
11862 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
11863 Moved from here...
11864 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
11865 ... here. Transformed into C. Made static.
11866 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
11867 Moved from here...
11868 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
11869 ... here. Transformed into C. Made static.
11870 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
11871 Moved from here...
11872 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
11873 ... here. Transformed into C. Made static.
11874 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
11875 pxe_rm_entry as third argument.
11876 (grub_bios_interrupt): New function.
11877 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11878 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11879 of calling grub_stop.
11880 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11881 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11882 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11883 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11884 * grub-core/lib/i386/halt.c: Moved from here ...
11885 * grub-core/lib/i386/halt.c: ... here.
11886 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11887 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11888 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11889 grub_stop_floppy.
11890 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11891 * include/grub/i386/coreboot/init.h: Removed.
11892 * include/grub/i386/multiboot/init.h: Likewise.
11893 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11894 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11895 * include/grub/i386/pc/int.h: New file.
11896 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11897 (grub_pxe_scan): Removed.
11898 (grub_pxe_call): Update prototype.
11899 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11900 prototypes.
11901 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11902 * include/grub/i386/qemu/init.h: Removed.
11903 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11904 noreturn.
11905 (grub_halt): Likewise.
11906 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11907 (grub_reboot): Likewise.
11908 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11909 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
11910 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11911
215dd471
RM
119122010-08-30 Robert Millan <rmh@gnu.org>
11913
11914 * NEWS: Document addition of ZFS support in `grub-install' and
11915 `grub-mkconfig'.
11916
ebd65b82
BC
119172010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11918
11919 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11920 dprintf output.
11921
11721d19
VS
119222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 Remove leftover embedding of font objects.
11925
11926 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11927 * util/grub-install.in (font): Removed.
11928 * util/grub-mkimage.c (generate_image): Remove font support. All users
11929 updated.
11930
37837d4e
VS
119312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 Remove leftover embedding of font objects.
11934
11935 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11936 * util/grub-install.in (font): Removed.
11937 * util/grub-mkimage.c (generate_image): Remove font support. All users
11938 updated.
11939
b4c1aae0
VS
119402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 11943 Reported by: Ian Turner
b4c1aae0 11944
8920a08d
VS
119452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11948 timeout to avoid indefinite boot stalling.
11949
f21db033
VS
119502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11953 (grub_env_write_color_highlight): Likewise.
11954
9a9de209
VS
119552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/normal/term.c (print_more): Return to normal and not
11958 to standard state after printing "---MORE---".
11959
3dca01d7
VS
119602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11963 Mask out the bit 0x80 since it has other meaning that specifiing color.
11964
0b986c40
VS
119652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 New relocator. Allows for more kernel support and more straightforward
11968 loader writing.
11969
11970 * Makefile.am (BOOTTARGET): New variable.
11971 (QEMU32): Likewise.
11972 (linux.init.x86_64): New target.
11973 (linux.init.i386): Likewise.
11974 (multiboot.elf): Likewise.
11975 (kfreebsd.elf): Likewise.
11976 (kfreebsd.aout): Likewise.
11977 (pc-chainloader.elf): Likewise.
11978 (pc-chainloader.bin): Likewise.
11979 (ntldr.elf): Likewise.
11980 (ntldr.bin): Likewise.
11981 (multiboot2.elf): Likewise.
11982 (kfreebsd.init.x86_64): Likewise.
11983 (kfreebsd.init.i386): Likewise.
11984 (knetbsd.init.i386): Likewise.
11985 (kopenbsd.init.i386): Likewise.
11986 (knetbsd.init.x86_64): Likewise.
11987 (kopenbsd.init.x86_64): Likewise.
11988 (linux-initramfs.i386): Likewise.
11989 (linux-initramfs.x86_64): Likewise.
11990 (kfreebsd-mfsroot.i386.img): Likewise.
11991 (knetbsd.image.i386): Likewise.
11992 (kopenbsd.image.i386): Likewise.
11993 (kopenbsd.image.x86_64): Likewise.
11994 (knetbsd.miniroot-image.i386.img): Likewise.
11995 (kfreebsd-mfsroot.x86_64.img): Likewise.
11996 (knetbsd.image.x86_64): Likewise.
11997 (knetbsd.miniroot-image.x86_64.img): Likewise.
11998 (kfreebsd-mfsroot.i386.gz): Likewise.
11999 (bootcheck-kfreebsd-i386): Likewise.
12000 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12001 (bootcheck-kfreebsd-x86_64): Likewise.
12002 (knetbsd.miniroot-image.i386.gz): Likewise.
12003 (bootcheck-knetbsd-i386): Likewise.
12004 (bootcheck-kopenbsd-i386): Likewise.
12005 (bootcheck-kopenbsd-x86_64): Likewise.
12006 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12007 (bootcheck-knetbsd-x86_64): Likewise.
12008 (bootcheck-linux-i386): Likewise.
12009 (bootcheck-linux-x86_64): Likewise.
12010 (bootcheck-linux16-i386): Likewise.
12011 (bootcheck-linux16-x86_64): Likewise.
12012 (bootcheck-multiboot): Likewise.
12013 (bootcheck-multiboot2): Likewise.
12014 (bootcheck-kfreebsd-aout): Likewise.
12015 (bootcheck-pc-chainloader): Likewise.
12016 (bootcheck-ntldr): Likewise.
12017 (CLEANFILES): Add new targets.
12018 (BOOTCHECKS): New variable.
12019 (.PHONY): Add bootchecks.
12020 (SUCCESSFUL_BOOT_STRING): New variable.
12021 (BOOTCHECK_TIMEOUT): Likewise.
12022 (bootcheck): New target
12023 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12024 * configure.ac: Correct efiemu excuse.
12025 * docs/grub.texi (Supported kernels): New chapter.
12026 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12027 include/grub/mm_private.h. Simplify inclusion of
12028 include/grub/boot.h, include/grub/loader.h
12029 and include/grub/msdos_partition.h
12030 (KERNEL_HEADER_FILES) [i386_coreboot]:
12031 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12032 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12033 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12034 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12035 include/grub/machine/loader.h.
12036 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12037 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12038 extra_dist.
12039 (pci.mod): Enable on i386-multiboot.
12040 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12041 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12042 i386-qemu.
12043 (relocator.mod): Rewritten.
12044 (aout.mod): Enable on all x86.
12045 (bsd.mod): Likewise.
12046 (ntldr.mod): New module.
12047 (linux.mod): Use loader/i386/linux.c on all x86.
12048 (xnu.mod): Enable on all x86.
12049 (vga_text.mod): disable on EFI and QEMU.
12050 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12051 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12052 * grub-core/efiemu/loadcore.c: Likewise.
12053 * grub-core/efiemu/main.c: Likewise.
12054 (grub_efiemu_exit_boot_services): Removed.
12055 (grub_efiemu_finish_boot_services): Likewise.
12056 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12057 function.
12058 * grub-core/efiemu/i386/nocfgtables.c: New file.
12059 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12060 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12061 (grub_efi_finish_boot_services): Moved from here ...
12062 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12063 Fille finish memory map and related data.
12064 (finish_mmap_buf): New variable.
12065 (grub_efi_uintn_t finish_mmap_size): Likewise.
12066 (grub_efi_uintn_t finish_key): Likewise.
12067 (grub_efi_uintn_t finish_desc_size): Likewise.
12068 (grub_efi_uint32_t finish_desc_version): Likewise.
12069 (grub_efi_is_finished): Likewise.
12070 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12071 finished.
12072 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12073 (grub_elf64_phdr_iterate): Likewise.
12074 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12075 (grub_os_area_size): Likewise.
12076 (grub_machine_init): Don't reserve os area.
12077 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12078 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12079 * grub-core/kern/i386/loader.S: Removed.
12080 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12081 (grub_os_area_size): Likewise.
12082 (grub_machine_init): Don't reserve os area.
12083 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12084 Don't call grub_dl_unload_all.
12085 Don't include loader.S.
12086 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12087 Declare the memory after _end as available.
12088 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12089 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12090 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12091 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12092 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12093 * include/grub/mm_private.h (grub_mm_header): ... here.
12094 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12095 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12096 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12097 (grub_mm_region): ..here. Removed addr. Added pre_size.
12098 All users updated.
12099 * grub-core/kern/mm.c (base): Renamed to ...
12100 (grub_mm_base): ... this. Made global.
12101 (grub_real_malloc): Alloc from end of region.
12102 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12103 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12104 * grub-core/kern/powerpc/cache_flush.S: ... here.
12105 * grub-core/lib/efi/relocator.c: New file.
12106 * grub-core/lib/i386/relocator.c: Rewritten.
12107 * grub-core/lib/i386/relocator16.S: New file.
12108 * grub-core/lib/i386/relocator32.S: Likewise.
12109 * grub-core/lib/i386/relocator64.S: Likewise.
12110 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12111 * grub-core/lib/i386/relocator_common.S: New file.
12112 * grub-core/lib/ieee1275/relocator.c: Likewise.
12113 * grub-core/lib/mips/relocator.c: Rewritten.
12114 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12115 stylistic adjustments.
12116 * grub-core/lib/powerpc/relocator.c: New file.
12117 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12118 * grub-core/lib/relocator.c: Rewritten.
12119 * grub-core/lib/x86_64/relocator_asm.S: New file.
12120 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12121 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12122 (bsd_tag): New struct.
12123 (tags): New variable.
12124 (tags_last): Likewise.
12125 (netbsd_module): New struct.
12126 (netbsd_mods): New variable.
12127 (netbsd_mods_last): Likewise.
12128 (openbsd_opts): New parameter "serial".
12129 (OPENBSD_SERIAL_ARG): New definition.
12130 (netbsd_opts): New parameter "serial".
12131 (NETBSD_SERIAL_ARG): New definition.
12132 (grub_freebsd_add_meta): Reorganised into ...
12133 (grub_bsd_add_meta): ...this. All users updated.
12134 (grub_freebsd_add_mmap): Reorganised into ...
12135 (generate_e820_mmap): ...this...
12136 (grub_bsd_add_mmap): ...and this. All users updated.
12137 (grub_freebsd_list_modules): Use tags.
12138 (grub_netbsd_add_meta_module): New function.
12139 (grub_netbsd_list_modules): Likewise.
12140 (grub_freebsd_boot): Use relocator and finish EFI.
12141 (grub_openbsd_boot): Likewise.
12142 (grub_netbsd_setup_video): New function.
12143 (grub_netbsd_add_modules): Likewise.
12144 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12145 and finish EFI.
12146 (grub_bsd_unload): Unload tags.
12147 (grub_bsd_load_aout): Use relocator.
12148 (grub_bsd_elf32_size_hook): New function.
12149 (grub_bsd_elf32_hook): Use relocator.
12150 (grub_bsd_elf64_size_hook): New function.
12151 (grub_bsd_elf64_hook): Use relocator.
12152 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12153 (grub_bsd_load): Zero-out openbsd_ramdisk.
12154 (grub_bsd_load): Use relocator.
12155 (grub_cmd_openbsd): Support serial.
12156 (grub_cmd_netbsd): Support modules.
12157 (grub_cmd_freebsd_module): Use relocator.
12158 (grub_netbsd_module_load): New function.
12159 (grub_cmd_netbsd_module): Likewise.
12160 (grub_cmd_openbsd_ramdisk): Likewise.
12161 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12162 kopenbsd_ramdisk.
12163 (GRUB_MOD_FINI): Unregister new commands.
12164 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12165 (grub_freebsd_load_elfmodule_obj): Use relocator.
12166 (grub_freebsd_load_elfmodule): Likewise.
12167 (grub_freebsd_load_elf_meta): Likewise.
12168 (grub_netbsd_load_elf_meta): New function.
12169 (grub_openbsd_find_ramdisk): Likewise.
12170 * grub-core/loader/i386/bsd_helper.S: Removed.
12171 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12172 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12173 * grub-core/loader/i386/efi/linux.c: Likewise.
12174 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12175 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12176 (DEFAULT_VIDEO_MODE): Likewise.
12177 (real_mode_target): New variable.
12178 (prot_mode_target): Likewise.
12179 (initrd_mem_target): Likewise.
12180 (relocator): Likewise.
12181 (efi_mmap_buf): Likewise.
12182 (efi_mmap_size): Likewise.
12183 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12184 (free_pages): Use relocator.
12185 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12186 (grub_linux_setup_video): Return error.
12187 (grub_linux_trampoline_start): Removed.
12188 (grub_linux_trampoline_end): Likewise.
12189 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12190 andd video parameters depending on firmware.
12191 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12192 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12193 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12194 (grub_cmd_initrd): Use relocator.
12195 * grub-core/loader/i386/linux_trampoline.S: Removed.
12196 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12197 (elf_sec_entsize): Likewise.
12198 (elf_sec_shstrndx): Likewise.
12199 (elf_sections): Likewise.
12200 (grub_multiboot_load): Use relocator.
12201 (grub_multiboot_get_mbi_size): Account for sections.
12202 (grub_multiboot_make_mbi): Use relocator and support sections.
12203 (grub_multiboot_add_elfsyms): New function.
12204 (grub_multiboot_free_mbi): Free sections.
12205 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12206 (grub_linux_real_target): Likewise.
12207 (grub_linux_real_chunk): Likewise.
12208 (grub_linux16_prot_size): Likewise.
12209 (grub_linux16_boot): Use relocator.
12210 (grub_linux_unload): Unload relocator.
12211 (grub_cmd_linux): Use relocator.
12212 (grub_cmd_initrd): Likewise.
12213 * grub-core/loader/i386/pc/ntldr.c: New file.
12214 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12215 Don't try to guess CPU frequency.
12216 (grub_xnu_set_video): Stretch bitmap.
12217 (grub_xnu_boot): Use relocator.
12218 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12219 (grub_linux_unload): Free relocator.
12220 (grub_linux_load32): Use relocator.
12221 (grub_linux_load64): Likewise.
12222 (grub_cmd_initrd): Likewise.
12223 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12224 (grub_multiboot_unload): Unload relocator.
12225 (grub_cmd_multiboot): Use relocator.
12226 (grub_cmd_module): Likewise.
12227 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12228 Use relocator and support sections.
12229 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12230 (elf_sec_entsize): Likewise.
12231 (elf_sec_shstrndx): Likewise.
12232 (elf_sections): Likewise.
12233 (grub_multiboot_load): Use relocator.
12234 (grub_multiboot_get_mbi_size): Account for sections.
12235 (grub_multiboot_make_mbi): Use relocator and support sections.
12236 (grub_multiboot_add_elfsyms): New function.
12237 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12238 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12239 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12240 Prototype changed. All users updated.
12241 (grub_xnu_align_heap): Simplified.
12242 (grub_xnu_writetree_toheap): Likewise.
12243 (grub_xnu_unload): Unload relocator.
12244 (grub_cmd_xnu_kernel): Use relocator.
12245 (grub_cmd_xnu_kernel64): Likewise.
12246 (grub_xnu_register_memory): Simplified.
12247 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12248 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12249 EFI is finished.
12250 (grub_console_checkkey): Likewise.
12251 (grub_console_getkey): Likewise.
12252 (grub_console_getwh): Likewise.
12253 (grub_console_getxy): Likewise.
12254 (grub_console_gotoxy): Likewise.
12255 (grub_console_cls): Likewise.
12256 (grub_console_setcolorstate): Likewise.
12257 (grub_console_setcursor): Likewise.
12258 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12259 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12260 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12261 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12262 * grub-core/tests/boot/kernel-8086.S: Likewise.
12263 * grub-core/tests/boot/kernel-i386.S: Likewise.
12264 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12265 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12266 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12267 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12268 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12269 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12270 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12271 * grub-core/tests/boot/linux.cfg: Likewise.
12272 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12273 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12274 * grub-core/tests/boot/linux16.cfg: Likewise.
12275 * grub-core/tests/boot/multiboot.cfg: Likewise.
12276 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12277 * grub-core/tests/boot/ntldr.cfg: Likewise.
12278 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12279 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12280 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12281 New definition.
12282 * include/grub/dl.h (grub_dl_unload_all): Removed.
12283 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12284 (grub_efi_finish_boot_services): Change prototype.
12285 (grub_efi_is_finished): New variable.
12286 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12287 Changed prototype.
12288 (grub_efiemu_finish_boot_services): Removed.
12289 (grub_machine_efiemu_init_tables): New prototype.
12290 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12291 (grub_elf64_phdr_iterate): Likewise.
12292 * include/grub/i386/bsd.h: Include relocator.h.
12293 (freebsd_tag_header): New struct.
12294 (grub_openbsd_bios_mmap): Removed.
12295 (grub_unix_real_boot): Removed.
12296 (grub_freebsd_load_elfmodule32): Changed prototype.
12297 (grub_freebsd_load_elfmodule_obj64): Likewise.
12298 (grub_freebsd_load_elf_meta32): Likewise.
12299 (grub_freebsd_load_elf_meta64): Likewise.
12300 (grub_freebsd_add_meta): Removed.
12301 (grub_netbsd_load_elf_meta32): New prototype.
12302 (grub_netbsd_load_elf_meta64): Likewise.
12303 (grub_bsd_add_meta): Likewise.
12304 (grub_openbsd_ramdisk_descriptor): New struct.
12305 (grub_openbsd_find_ramdisk32): New prototype.
12306 (grub_openbsd_find_ramdisk64): Likewise.
12307 * include/grub/i386/coreboot/loader.h: Removed.
12308 * include/grub/i386/efi/loader.h: Likewise.
12309 * include/grub/i386/ieee1275/loader.h: Likewise.
12310 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12311 to grub_uint32_t.
12312 * include/grub/i386/loader.h: Removed.
12313 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12314 value.
12315 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12316 (grub_phys_addr_t): New type.
12317 (grub_vtop): New inline function.
12318 (grub_map_memory): Likewise.
12319 (grub_unmap_memory): Likewise.
12320 * include/grub/i386/multiboot/loader.h: Removed.
12321 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12322 (NETBSD_BTINFO_CONSOLE): New definition.
12323 (NETBSD_BTINFO_SYMTAB): Likewise.
12324 (NETBSD_BTINFO_MODULES): Likewise.
12325 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12326 (grub_netbsd_bootinfo): New struct.
12327 (grub_netbsd_btinfo_common): Use explicit bitsize.
12328 (grub_netbsd_btinfo_mmap_entry): Removed.
12329 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12330 (grub_netbsd_btinfo_bootdisk): New struct.
12331 (grub_netbsd_btinfo_symtab): Likewise.
12332 (grub_netbsd_btinfo_serial): Likewise.
12333 (grub_netbsd_btinfo_modules): Likewise.
12334 (grub_netbsd_btinfo_framebuf): Likewise.
12335 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12336 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12337 Likewise.
12338 (grub_openbsd_bootargs): Use explicit bitsize.
12339 (grub_openbsd_bootarg_console): New struct.
12340 (GRUB_OPENBSD_COM_MAJOR): New definition.
12341 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12342 * include/grub/i386/pc/efiemu.h: Removed.
12343 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12344 * include/grub/i386/qemu/loader.h: Removed.
12345 * include/grub/i386/relocator.h: Rewritten.
12346 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12347 * include/grub/mips/memory.h: New file.
12348 * include/grub/mips/multiboot.h: Rewritten.
12349 * include/grub/mips/relocator.h: Rewritten.
12350 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12351 (grub_vtop): New function.
12352 (grub_map_memory): Likewise.
12353 (grub_unmap_memory): Likewise.
12354 * include/grub/misc.h (ALIGN_DOWN): New definition.
12355 * include/grub/mm.h (grub_mm_check_real): New proto.
12356 (GRUB_MM_CHECK): New definition.
12357 * include/grub/mm_private.h: New file.
12358 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12359 (grub_multiboot_get_mbi_size): Removed.
12360 (grub_multiboot_make_mbi): Change prottype.
12361 (grub_multiboot_set_accepts_video): New proto.
12362 (grub_multiboot_add_elfsyms): Likewise.
12363 (grub_multiboot_payload_eip): New variable.
12364 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12365 New prototype.
12366 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12367 New definition.
12368 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12369 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12370 * include/grub/powerpc/ieee1275/loader.h: Removed.
12371 * include/grub/powerpc/memory.h: New file.
12372 * include/grub/powerpc/relocator.h: Likewise.
12373 * include/grub/relocator.h: Likewise.
12374 * include/grub/relocator_private.h: Likewise.
12375 * include/grub/sparc64/ieee1275/loader.h: Removed.
12376 * include/grub/x86_64/memory.h: New file.
12377 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12378 (grub_xnu_heap_malloc): Likewise.
12379 (grub_xnu_heap_real_start): Removed.
12380 (grub_xnu_heap_start): Likewise.
12381 (grub_xnu_relocator): New variable.
12382 (grub_xnu_heap_target_start): Likewise.
12383 * tests/util/grub-shell.in: Support non-pc.
12384 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12385
5303b85d
VS
123862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12389 on malloc error.
12390 (grub_bidi_logical_to_visual): Check that malloc succeded.
12391 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12392 puts.
12393 (grub_xputs_normal): Likewise.
12394
d768d159
VS
123952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12398 extra_dist.
12399
124002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12403
5bf84df4
VS
124042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12407
3626810e
VS
124082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12411 dprintf.
12412
a7363f53
BC
124132010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12414
12415 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12416
902f75f6
VS
124172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * grub-core/normal/term.c (print_more): Fix a memory leak.
12420 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12421 (grub_xputs_normal): Likewise.
12422
3c707967
VS
124232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12426 the begining of the string
12427
2053cc07
VS
124282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/script/script.c (grub_script_parse): Free parsed on
12431 failure.
12432
46422ebf
VS
124332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12436 on failure.
12437
9e0fa3f6
VS
124382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12441 return.
12442
3393cf16
VS
124432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12446 (scroll_up): Fix a memory leak.
12447
b17540cb
VS
124482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12451 errors.
12452
67140446
VS
124532010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 Handle USB pendrives exposed as floppies.
12456
12457 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12458 floppy.
12459 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12460 Check for partitions on all devices.
12461
e35e46fc
VS
124622010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12465 (readkey): Likewise.
12466
d24c6190
BC
124672010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12468
12469 Multiple variable names support to "export" command.
12470
12471 * normal/context.c (grub_cmd_export): "export" command supports
12472 multiple variable names.
12473
04ddcc6a
ST
124742010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12475
12476 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12477 --target=drive output to Mach device name.
12478
0c8b61d8
BC
124792010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12480
12481 New Automake based build system for GRUB.
12482
12483 * ABOUT-NLS: New file.
12484 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12485 in Makefile.util.def file.
12486 * Makefile.util.def: New file. Autogen build definitions file for
12487 GRUB host utils.
12488 * conf/Makefile.common: New file. Common variables for GRUB host
12489 utils and target modules.
12490 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12491 * docs/Makefile.am: New file. Automake file for docs.
12492 * gentpl.py: New file. Python script to generate Autogen
12493 template.
12494 * grub-core/Makefile.am: New file. GRUB target modules' rules
12495 that doesn't fit in Makefile.core.def file.
12496 * grub-core/Makefile.core.def: New file. Autogen build
12497 definitions file for GRUB target modules.
12498 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12499 specific setjmp.S file.
12500 * po/Makefile.am: New file.
12501
12502 * .bzrignore: New ignores.
12503 * INSTALL: New requirements, without Ruby.
12504 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12505 * autogen.sh: Updated to invoke autogen as necessary.
12506 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12507 and defines for Automake conditionals.
12508 * geninit.sh: Refactoring.
12509
12510 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12511 necessary.
12512 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12513 New prototype.
12514
12515 * include/grub/test.h: Fix functional test modules' naming.
12516 * grub-core/tests/example_functional_test.c: Fix test module name.
12517
12518 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12519 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12520 * util/grub-editenv.c: Likewise.
12521 * util/grub-fstest.c: Likewise.
12522 * util/grub-mkdevicemap.c: Likewise.
12523 * util/grub-mkfont.c: Likewise.
12524 * util/grub-mkimage.c: Likewise.
12525 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12526 * util/grub-probe.c: Likewise.
12527 * util/grub-script-check.c: Likewise.
12528 * util/i386/pc/grub-setup.c: Likewise.
12529 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12530
12531 * tests/util/grub-shell.in: Fix override directory path.
12532 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12533 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12534
12535 * util/lvm.c: Update #includes.
12536 * util/raid.c: Likewise.
12537 * util/resolve.c: Likewise.
12538 * grub-core/bus/emu/pci.c: Likewise.
12539 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12540 * grub-core/lib/posix_wrap/string.h: Likewise.
12541 * grub-core/kern/emu/main.c: Likewise.
12542
12543 * grub-core/gensymlist.sh: New file. Script for generating kernel
12544 symbols file.
12545 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12546
12547 * grub-core/gentrigtables.c: Fix unused variable warnings.
12548
12549 * Makefile.in: Removed.
12550 * conf/any-emu.rmk: Removed.
12551 * conf/common.rmk: Removed.
12552 * conf/i386-coreboot.rmk: Removed.
12553 * conf/i386-efi.rmk: Removed.
12554 * conf/i386-ieee1275.rmk: Removed.
12555 * conf/i386-multiboot.rmk: Removed.
12556 * conf/i386-pc.rmk: Removed.
12557 * conf/i386-qemu.rmk: Removed.
12558 * conf/i386.rmk: Removed.
12559 * conf/mips-yeeloong.rmk: Removed.
12560 * conf/mips.rmk: Removed.
12561 * conf/powerpc-ieee1275.rmk: Removed.
12562 * conf/sparc64-ieee1275.rmk: Removed.
12563 * conf/tests.rmk: Removed.
12564 * conf/x86-efi.rmk: Removed.
12565 * conf/x86_64-efi.rmk: Removed.
12566 * gendistlist.sh: Removed.
12567 * geninitheader.sh: Removed.
12568 * genkernsyms.sh.in: Removed.
12569 * genmk.rb: Removed.
12570 * gensymlist.sh.in: Removed.
12571 * mkinstalldirs: Removed.
12572 * boot: Moved ...
12573 * grub-core/boot: ... to here.
12574 * bus: Moved ...
12575 * grub-core/bus: ... to here.
12576 * commands: Moved ...
12577 * grub-core/commands: ... to here.
12578 * disk: Moved ...
12579 * grub-core/disk: ... to here.
12580 * efiemu: Moved ...
12581 * grub-core/efiemu: ... to here.
12582 * font: Moved ...
12583 * grub-core/font: ... to here.
12584 * fs: Moved ...
12585 * grub-core/fs: ... to here.
12586 * gencmdlist.sh: Moved ...
12587 * grub-core/gencmdlist.sh: ... to here.
12588 * genemuinit.sh: Moved ...
12589 * grub-core/genemuinit.sh: ... to here.
12590 * genemuinitheader.sh: Moved ...
12591 * grub-core/genemuinitheader.sh: ... to here.
12592 * genfslist.sh: Moved ...
12593 * grub-core/genfslist.sh: ... to here.
12594 * genhandlerlist.sh: Moved ...
12595 * grub-core/genhandlerlist.sh: ... to here.
12596 * genmoddep.awk: Moved ...
12597 * grub-core/genmoddep.awk: ... to here.
12598 * genmodsrc.sh: Moved ...
12599 * grub-core/genmodsrc.sh: ... to here.
12600 * genpartmaplist.sh: Moved ...
12601 * grub-core/genpartmaplist.sh: ... to here.
12602 * genparttoollist.sh: Moved ...
12603 * grub-core/genparttoollist.sh: ... to here.
12604 * genterminallist.sh: Moved ...
12605 * grub-core/genterminallist.sh: ... to here.
12606 * gentrigtables.c: Moved ...
12607 * grub-core/gentrigtables.c: ... to here.
12608 * genvideolist.sh: Moved ...
12609 * grub-core/genvideolist.sh: ... to here.
12610 * gettext: Moved ...
12611 * grub-core/gettext: ... to here.
12612 * gfxmenu: Moved ...
12613 * grub-core/gfxmenu: ... to here.
12614 * gnulib: Moved ...
12615 * grub-core/gnulib: ... to here.
12616 * hello: Moved ...
12617 * grub-core/hello: ... to here.
12618 * hook: Moved ...
12619 * grub-core/hook: ... to here.
12620 * io: Moved ...
12621 * grub-core/io: ... to here.
12622 * kern: Moved ...
12623 * grub-core/kern: ... to here.
12624 * lib: Moved ...
12625 * grub-core/lib: ... to here.
12626 * loader: Moved ...
12627 * grub-core/loader: ... to here.
12628 * mmap: Moved ...
12629 * grub-core/mmap: ... to here.
12630 * normal: Moved ...
12631 * grub-core/normal: ... to here.
12632 * partmap: Moved ...
12633 * grub-core/partmap: ... to here.
12634 * parttool: Moved ...
12635 * grub-core/parttool: ... to here.
12636 * script: Moved ...
12637 * grub-core/script: ... to here.
12638 * term: Moved ...
12639 * grub-core/term: ... to here
12640 * tests/example_functional_test.c: Moved ...
12641 * grub-core/tests/example_functional_test.c: ... to here.
12642 * tests/lib/functional_test.c: Moved ...
12643 * grub-core/tests/lib/functional_test.c: ... to here.
12644 * tests/lib/test.c: Moved ...
12645 * grub-core/tests/lib/test.c: ... to here.
12646 * video: Moved ...
12647 * grub-core/video: ... to here.
12648
645586e6
BC
126492010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12650
12651 Replace --enable-grub-emu-modules with grub-emu-lite.
12652
12653 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12654 cache.S.
12655
12656 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12657 * kern/emu/full.c: New file. For grub-emu specific initialization.
12658 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12659 * kern/emu/main.c: Call initialization function grub_emu_init.
12660
12661 * Makefile.in: Include grub-emu-lite in install.
12662 * commands/parttool.c: Use grub_no_autoload to differentiate
12663 between grub-emu and grub-emu-lite.
12664 * include/grub/misc.h: New variable grub_no_autoload.
12665
12666 * conf/any-emu.rmk: New rules for grub-emu-lite.
12667 * configure.ac: Remove --enable-grub-emu-modules.
12668 * genmk.rb: Cleanup unnecessary rules.
12669 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12670
12671 * normal/main.c: Don't load list files on grub-emu-lite.
12672 * util/misc.c (grub_arch_sync_caches): Removed.
12673
f86a4030
CW
126742010-08-23 Colin Watson <cjwatson@ubuntu.com>
12675
12676 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12677 grub-mkimage rather than grub-mkelfimage.
12678 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12679
06776944
VS
126802010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12683 a key after CapsLock or NumLock. It's just a qemu bug.
12684
df262419
VS
126852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12688 needed by libusb wrapper.
12689
b40ea81b
ST
126902010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12691
12692 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12693
dee50575
VS
126942010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12697 --nounzip is passed.
12698
fb1d7b79
VS
126992010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 USB hotunplugging and USB serial support.
12702
12703 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12704 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12705 (grub_uhci_transfer): Respect timeout and set *actual.
12706 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12707 non-standard length.
12708 (grub_usb_device_attach): Autoload modules.
12709 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12710 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12711 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
12712 users updated.
12713 (grub_usb_add_hub): Fill nports and children.
12714 (attach_root_port): Receive hub instead of controller.
12715 All users updated. Fill hub->devices.
12716 (grub_usb_root_hub): Allocate hub->devices.
12717 (detach_device): New function.
12718 (poll_nonroot_hub): Fill children and detach devices.
12719 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
12720 actual arguments. All users updated.
12721 (grub_usb_bulk_read_extended): New function.
12722 * bus/usb/serial/common.c: New file.
12723 * bus/usb/serial/ftdi.c: Likewise.
12724 * bus/usb/serial/pl2303.c: Likewise.
12725 * commands/terminal.c (handle_command): Support wildcard.
12726 * commands/usbtest.c: Output "Unknown" instead of empty string.
12727 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
12728 (usbserial_common_mod_SOURCES): New variable.
12729 (usbserial_common_mod_CFLAGS): Likewise.
12730 (usbserial_common_mod_LDFLAGS): Likewise.
12731 (pkglib_MODULES): Add usbserial_pl2303.mod.
12732 (usbserial_pl2303_mod_SOURCES): New variable.
12733 (usbserial_pl2303_mod_CFLAGS): Likewise.
12734 (usbserial_pl2303_mod_LDFLAGS): Likewise.
12735 (pkglib_MODULES): Add usbserial_ftdi.mod.
12736 (usbserial_ftdi_mod_SOURCES): New variable.
12737 (usbserial_ftdi_mod_CFLAGS): Likewise.
12738 (usbserial_ftdi_mod_LDFLAGS): Likewise.
12739 (pkglib_MODULES): Add serial.mod.
12740 (serial_mod_SOURCES): New variable.
12741 (serial_mod_CFLAGS): Likewise.
12742 (serial_mod_LDFLAGS): Likewise.
12743 * conf/i386-pc.rmk: Likewise.
12744 * conf/mips-yeeloong.rmk: Likewise.
12745 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
12746 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12747 * disk/usbms.c (first_available_slot): New variable.
12748 (grub_usbms_attach): Don't reuse free slots due to potential cache
12749 problems.
12750 * include/grub/serial.h: Moved to ..
12751 * include/grub/ns8250.h: ...this.
12752 * include/grub/serial.h: New file.
12753 * include/grub/term.h (grub_term_poll_usb): New variable.
12754 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
12755 readkey. All users updated.
12756 (grub_terminfo_output_state): Pass term to put.
12757 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
12758 (grub_usb_controller_dev): Add timeout and actual arguments to
12759 transfer. All users updated.
12760 (grub_usb_interface): New field detach_data.
12761 (grub_usb_device): New fields children and nports.
12762 (grub_usb_ep_type_t): New type.
12763 (grub_usb_get_ep_type): New function.
12764 (grub_usb_bulk_read_extended): Likewise.
12765 * include/grub/usbdesc.h (grub_usb_desc): New type.
12766 * include/grub/usbserial.h: New file.
12767 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
12768 * kern/term.c (grub_term_poll_usb): New variable.
12769 (grub_getkey): Call grub_term_poll_usb if set.
12770 (grub_checkkey): Likewise.
12771 (grub_getkeystatus): Likewise.
12772 * term/serial.c: Moved controller-specific parts to ...
12773 * term/ns8250.c: ... here.
12774 * term/serial.c: Mostly rewritten.
12775 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
12776 according to spec.
12777
21a313de
RM
127782010-08-20 Robert Millan <rmh@gnu.org>
12779
12780 Make kFreeBSD code more generic to support ext2fs as root, ufs as
12781 a separate module and maybe other interesting combinations.
12782
12783 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
12784 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
12785 (kfreebsd_entry): Add generic filesystem module load routine.
12786 Map GRUB `ext2' to kFreeBSD `ext2fs'.
12787
63c734a6
CW
127882010-08-20 Colin Watson <cjwatson@ubuntu.com>
12789
12790 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
12791 "numcenter" (I misunderstood the purpose of this entry).
12792 * docs/grub.texi (sendkey): Likewise.
12793
c4d16542
CW
127942010-08-20 Colin Watson <cjwatson@ubuntu.com>
12795
12796 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
12797 status flag options; simply omitting the option is equivalent and
12798 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
12799 (keysym_table): Rename "num5numlock" to "numlock".
12800 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
12801 can uniformly say that only the last of multiple `sendkey'
12802 invocations has any effect.
12803 * docs/grub.texi (sendkey): New section.
12804
93541d66
CW
128052010-08-19 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * commands/i386/pc/sendkey.c (options): Fix three typos.
12808
b4ece5e1
VS
128092010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Implement sendkey support.
12812
12813 * commands/i386/pc/sendkey.c: New file.
12814 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
12815 (sendkey_mod_SOURCES): New variable.
12816 (sendkey_mod_CFLAGS): Likewise.
12817 (sendkey_mod_LDFLAGS): Likewise.
12818
51f1f5af
CW
128192010-08-18 Colin Watson <cjwatson@ubuntu.com>
12820
12821 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
12822 fix warnings from Autoconf.
12823
9da94e05
CW
128242010-08-18 Colin Watson <cjwatson@ubuntu.com>
12825
12826 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
12827 to avoid false positives with some assemblers that output things
12828 like "someprefix_func" as part of their output.
12829
729a0f2e
RM
128302010-08-15 Robert Millan <rmh@gnu.org>
12831
12832 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
12833 errors.
12834 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
12835 grub_get_libzfs_handle() errors.
12836
f3710e08
RM
128372010-08-14 Robert Millan <rmh@gnu.org>
12838
12839 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
12840 filesystem is not ZFS.
12841
7a3c13de
BC
128422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12843
12844 Fix for misspelled color names defaulting to black/black (bug
12845 reported by Doug Nazar)
12846
12847 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12848 status to prototype.
12849 * normal/color.c (grub_parse_color_name_pair): Return failure
12850 status.
12851 (grub_env_write_color_normal): Ignore bad color names.
12852 (grub_env_write_color_highlight): Likewise.
12853 * normal/main.c (GRUB_MOD_INIT): Set default color names.
12854
ab8ba50d
BC
128552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12856
12857 "shift" command support to GRUB script.
12858
12859 * include/grub/script_sh.h (grub_script_shift): New prototype.
12860 * script/execute.c (grub_script_shift): New function.
12861 * script/main.c (grub_script_init): Register shift command.
12862 (grub_script_fini): Unregister shift command.
12863 * util/grub-script-check.c (grub_script_cmd_shift): New function.
12864
12865 * tests/grub_script_shift.in: New testcase.
12866 * conf/tests.rmk: Rules for new testcase.
12867
4d61999e
BC
128682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12869
12870 "continue" command support to GRUB script.
12871
12872 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
12873 (grub_script_break): Continue support.
12874 * script/main.c (grub_script_init): Register continue command.
12875 (grub_script_fini): Unregister continue command.
12876
12877 * tests/grub_script_continue.in: New testcase.
12878 * conf/tests.rmk: Rules for new testcase.
12879
4df51e00
BC
128802010-08-12 BVK Chaitanya <bvk@dbook>
12881
12882 "break" command support to GRUB script.
12883
12884 * conf/common.rmk: Rule updates to grub-script-check.
12885 * include/grub/misc.h (grub_min): New function.
12886 * include/grub/script_sh.h (grub_script_init): New prototype.
12887 (grub_script_fini): New prototype.
12888 (grub_script_break): New prototype.
12889 * script/main.c (grub_script_init): New function.
12890 (grub_script_fini): New function.
12891 * script/execute.c (grub_script_break): New function.
12892 * normal/main.c: Calls to grub_script_{init,fini}.
12893 * util/grub-script-check.c (grub_script_break): New function.
12894
12895 * tests/grub_script_break.in: New testcase.
12896 * conf/tests.rmk: Rules for new test case.
12897
f12c8420
BC
128982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12899
12900 Function parameters support to GRUB script.
12901
12902 * script/yylex.l (VARIABLE): Regular expression update.
12903 * script/function.c (grub_script_function_call): Moved ...
12904 * script/execute.c (grub_script_function_call): ... to here.
12905 (grub_script_execute_arglist_to_argv): Removed.
12906 (grub_script_arglist_to_argv): New function.
12907 * script/argv.c: New file.
12908 (grub_script_argv_free): New function.
12909 (grub_script_argv_next): Likewise.
12910 (grub_script_argv_append): Likewise.
12911 (grub_script_argv_split_append): Likewise.
12912 * include/grub/script_sh.h (grub_script_argv): New struct.
12913 (grub_script_argv_free): New function.
12914 (grub_script_argv_next): Likewise.
12915 (grub_script_argv_append): Likewise.
12916 (grub_script_argv_split_append): Likewise.
12917
12918 * conf/common.rmk (normal.mod): New source script/argv.c.
12919
12920 * tests/grub_script_echo1.in: More tests.
12921 * tests/grub_script_vars1.in: Likewise.
12922 * tests/grub_script_functions.in: New test case.
12923 * conf/tests.rmk: Rules for new testcase.
12924
8022b748
BC
129252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12926
12927 Remove grub_script_cmdblock struct.
12928
12929 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12930 * script/parser.y: Likewise.
12931 * script/execute.c: Rename cmdblock suffix to cmdlist.
12932 * script/script.c: Likewise.
12933 * util/grub-script-check.c: Likewise.
12934
79a6ba61
YB
129352010-08-11 Yves Blusseau <blusseau@zetam.org>
12936
12937 * .bzrignore: add grub-macho2img
12938
d04b9414
VS
129392010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12942
f947ab49
VS
129432010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 Remove the dump of sm712 initialisation sequence.
12946
12947 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12948 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12949 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12950 (GRUB_VGA_CR_*): Added many registers.
12951 (GRUB_VGA_SR_*): Likewise.
12952 (GRUB_VGA_GR_*): Likewise.
12953 (grub_vga_write_arx): New function.
12954 (grub_video_hw_config): New struct.
12955 (grub_vga_set_geometry): New function.
12956 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12957 GRUB_PCI_CLASS_SUBCLASS_VGA.
12958 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12959 * video/sm712.c (grub_sm712_write_reg): New function
12960 (grub_sm712_read_reg): Likewise.
12961 (grub_sm712_sr_write): Likewise.
12962 (grub_sm712_gr_write): Likewise.
12963 (grub_sm712_cr_write): Likewise.
12964 (grub_sm712_write_arx): Likewise.
12965 (grub_sm712_cr_shadow_write): Likewise.
12966 (grub_sm712_write_dda_lookup): Likewise.
12967 (grub_video_sm712_setup): Initialise the video rather then
12968 blindly replay the dump.
12969 (main) [TEST]: Add a routine to be able to compile as standalone for
12970 tests.
12971 * video/sm712_init.c (sm712_init): Removed.
12972 (sm712_sr_seq1): New array.
12973 (sm712_sr_seq2): Likewise.
12974
f0206638
VS
129752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * include/grub/vga.h: Add missing grub/pci.h include.
12978
2764da3b
YB
129792010-08-10 Yves Blusseau <blusseau@zetam.org>
12980
12981 * util/grub-macho2img.c (main): fix typo
12982
cf0c775e
VS
129832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12986 (grub_vga_gr_read): Likewise.
12987 (grub_vga_cr_write): Likewise.
12988 (grub_vga_cr_read): Likewise.
12989 (grub_vga_sr_write): Likewise.
12990 (grub_vga_sr_read): Likewise.
12991 (grub_vga_palette_read): Likewise.
12992 (grub_vga_palette_write): Likewise.
12993 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12994 (grub_sm712_sr_read): New function.
12995 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12996 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12997
07f360e9
RM
129982010-08-09 Robert Millan <rmh@gnu.org>
12999
13000 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13001 out unused variables on non-ZFS build.
13002
346c2072
RM
130032010-08-08 Robert Millan <rmh@gnu.org>
13004
13005 Fix path generation for sub-filesystems in ZFS.
13006
13007 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13008 missing slash.
13009
71175420
RM
130102010-08-08 Robert Millan <rmh@gnu.org>
13011
13012 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13013
0d8286f3
RM
130142010-08-08 Robert Millan <rmh@gnu.org>
13015
13016 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13017 exist, issue a proper error message (rely on `ls' for translated
13018 strings).
13019
55dd2924
RM
130202010-08-08 Robert Millan <rmh@gnu.org>
13021
13022 Fix grub-probe invocation.
13023
13024 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13025
d3dd9e80
RM
130262010-08-04 Robert Millan <rmh@gnu.org>
13027
13028 * configure.ac: Remove checks for getfsstat() and getmntany().
13029 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13030 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13031 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13032 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13033 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13034 function.
13035 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13036 via find_mount_point_from_dir() and getfsstat() / getmntany().
13037
0de22aa9
RM
130382010-08-04 Robert Millan <rmh@gnu.org>
13039
13040 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13041 (grub_find_zpool_from_mount_point): Merge into ...
13042 (grub_find_zpool_from_dir): ... this.
13043 * kern/emu/misc.c: Likewise.
13044
13045 * kern/emu/misc.c
13046 (grub_make_system_path_relative_to_its_root): Replace
13047 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13048 with grub_find_zpool_from_dir().
13049 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13050
62858144
RM
130512010-08-04 Robert Millan <rmh@gnu.org>
13052
13053 Support OpenSolaris in ZFS device resolution.
13054
13055 * configure.ac: Check for getmntany().
13056 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13057 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13058 support.
13059
9dd6fd50
RM
130602010-08-03 Robert Millan <rmh@gnu.org>
13061
13062 Fix grub-emu build.
13063
13064 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13065 * include/grub/emu/misc.h: ... here.
13066
13067 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13068 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13069
13070 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13071 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13072 (grub_get_libzfs_handle): Move to ...
13073 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13074 (grub_get_libzfs_handle): ... here.
13075
c9f7ff97
BC
130762010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13077
13078 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13079 as command name case.
13080
a870a783
CW
130812010-08-02 Colin Watson <cjwatson@ubuntu.com>
13082
13083 * disk/raid.c (insert_array): Select unique numbers for named arrays
13084 as well, for use as keys in the disk cache.
13085
c7db243b
RM
130862010-08-01 Robert Millan <rmh@gnu.org>
13087
13088 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13089 kFreeBSD device name, except on ZFS where the filesystem label is
13090 used.
13091 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13092 `/boot/zfs/zpool.cache'.
13093 Set mountfrom kernel variable using ${kfreebsd_device}.
13094
f7abdefb
RM
130952010-08-01 Robert Millan <rmh@gnu.org>
13096
13097 Make it even harder to use uninitialized `libzfs_handle' (and
13098 make the interface a bit simpler).
13099
13100 * include/grub/util/misc.h (grub_util_init_libzfs)
13101 (libzfs_handle): Remove.
13102 (grub_get_libzfs_handle): New prototype.
13103
13104 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13105 attribute.
13106 (grub_util_init_libzfs): Remove.
13107 (grub_get_libzfs_handle): New function.
13108
13109 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13110 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13111 accessing `libzfs_handle' directly.
13112
c882acc0
RM
131132010-08-01 Robert Millan <rmh@gnu.org>
13114
13115 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13116 (grub_find_zpool_from_mount_point): New function prototypes.
13117
13118 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13119 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13120
13121 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13122 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13123 `static' attribute.
13124
13125 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13126 finding zpool from mount point into ...
13127 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13128
13129 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13130 requested path is part of a ZFS pool, use
13131 grub_find_zpool_from_mount_point() to detect its filesystem name,
13132 and generate a path with `/fsname@path' syntax.
13133
8bfe31d8
CW
131342010-08-01 Colin Watson <cjwatson@ubuntu.com>
13135
13136 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13137 (void) rather than () so that this is a proper prototype.
13138
553df63d
VS
131392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13142
8687cf07
VS
131432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13146 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13147
ea9be8ea
CW
131482010-08-01 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13151
6eea041a
CW
131522010-08-01 Colin Watson <cjwatson@ubuntu.com>
13153
13154 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13155
2cfb45df
CW
131562010-08-01 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13159 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13160 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13161 disable gfxpayload.
13162 (Shell-like scripting): Add real content.
13163 (Serial terminal): Suggest `terminal_input serial; terminal_output
13164 serial' rather than putting the two commands on separate lines,
13165 since console input will be inoperative after the first command.
13166 (menuentry): Document --class, --users, and --hotkey options.
13167 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13168 Vladimir Serbinenko).
13169
7decd202
VS
131702010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
131712010-08-01 Colin Watson <cjwatson@ubuntu.com>
13172
13173 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13174
c882acc0
RM
131752010-08-01 Robert Millan <rmh@gnu.org>
13176
13177 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13178 (grub_find_zpool_from_mount_point): New function prototypes.
13179
13180 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13181 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13182
13183 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13184 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13185 `static' attribute.
13186
13187 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13188 finding zpool from mount point into ...
13189 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13190
13191 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13192 requested path is part of a ZFS pool, use
13193 grub_find_zpool_from_mount_point() to detect its filesystem name,
13194 and generate a path with `/fsname@path' syntax.
13195
deb0caa3
RM
131962010-08-01 Robert Millan <rmh@gnu.org>
13197
13198 Prevent accidental use of uninitialized libzfs_handle.
13199
13200 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13201 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13202 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13203
ce04ef47
CW
132042010-08-01 Colin Watson <cjwatson@ubuntu.com>
13205
13206 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13207 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13208
ebf53056
RM
132092010-08-01 Robert Millan <rmh@gnu.org>
13210
13211 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13212
3710bb6b
RM
132132010-07-31 Robert Millan <rmh@gnu.org>
13214
13215 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13216
8072efeb
RM
132172010-07-31 Robert Millan <rmh@gnu.org>
13218
13219 * kern/emu/misc.c: Add missing license header.
13220
3169f4c7
RM
132212010-07-31 Robert Millan <rmh@gnu.org>
13222
13223 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13224
13225 * include/grub/util/libnvpair.h: Include `<config.h>'.
13226 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13227 declaring libnvpair prototypes ourselves.
13228 * include/grub/util/libzfs.h: Include `<config.h>'.
13229 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13230 declaring libzfs prototypes ourselves.
13231
13232 (libzfs_handle): Moved to ...
13233 * include/grub/util/misc.h (libzfs_handle): ... here.
13234 Include `<grub/util/libzfs.h>'.
13235
c9a00aee
RM
132362010-07-30 Robert Millan <rmh@gnu.org>
13237
13238 * include/grub/emu/misc.h: Add missing license header.
13239
a184f9c8
RM
132402010-07-30 Robert Millan <rmh@gnu.org>
13241
13242 Enable `grub-probe -t device' resolution on ZFS.
13243
13244 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13245 * include/grub/util/libnvpair.h: New file.
13246 * include/grub/util/libzfs.h: New file.
13247
13248 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13249 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13250 `<grub/util/libnvpair.h>'.
13251 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13252
13253 (find_mount_point_from_dir): New static function.
13254 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13255 function.
13256 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13257 find_root_device_from_libzfs() before ressorting to find_root_device().
13258
13259 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13260 prototype.
13261 * util/misc.c: Include `<grub/util/libzfs.h>'.
13262 (grub_util_init_libzfs): New function.
13263 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13264 [HAVE_LIBZFS] (fini_libzfs): New static function.
13265 (grub_util_init_libzfs): New function.
13266 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13267
f7790cdd
RM
132682010-07-30 Robert Millan <rmh@gnu.org>
13269
13270 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13271 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13272 `warn_unused_result' attribute.
13273 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13274 (grub_xasprintf, grub_xvasprintf): Likewise.
13275 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13276
0806b63c
RM
132772010-07-29 Robert Millan <rmh@gnu.org>
13278
13279 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13280 (probe): Handle `PRINT_FS_LABEL'.
13281 (main): Handle `-t fs_label'.
13282
9f841f5c
RM
132832010-07-29 Robert Millan <rmh@gnu.org>
13284
13285 * configure.ac: Remove grub-mkisofs checks.
13286
46371121
VS
132872010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13290 Reported by: Lennart Sorensen.
13291
132922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13295 prior to terminal_input/terminal_output separation. It's been over 1.5
13296 years and those versions weren't widely deployed.
13297
a9600892
CW
132982010-07-22 Colin Watson <cjwatson@ubuntu.com>
13299
13300 * disk/raid.c (insert_array): Don't count named arrays when looking
13301 for unused array numbers.
697e053c 13302 Reported and tested by: Michael Guntsche.
a9600892 13303
c03507df
CW
133042010-07-20 Colin Watson <cjwatson@ubuntu.com>
13305
13306 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13307 implementation of this so that grub-emu links again, with a note
13308 that this should support hotplugging in the future.
13309
b26f1c11
CW
133102010-07-20 Colin Watson <cjwatson@ubuntu.com>
13311
13312 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13313
efc9d7f1
CW
133142010-07-20 Colin Watson <cjwatson@ubuntu.com>
13315
13316 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13317 handle on failure.
13318 (grub_loopback_close): Remove empty function.
13319 (grub_loopback_dev): Remove close method.
13320
dd8ff5c9
CW
133212010-07-20 Colin Watson <cjwatson@ubuntu.com>
13322
13323 Disable EFI cursor when the EFI console becomes inactive.
13324
13325 * term/efi/console.c (grub_efi_console_init): New function.
13326 (grub_efi_console_fini): New function.
13327 (grub_console_term_output): Register init and fini methods.
13328
5e3bec67
VS
133292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13332 sh script.
13333
afaec079
VS
133342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * disk/loopback.c (grub_loopback): Replace filename with file.
13337 (delete_loopback): Handle new semantics.
13338 (grub_cmd_loopback): Likewise.
13339 (grub_loopback_iterate): Likewise.
13340 (grub_loopback_close): Likewise.
13341
a6a11f3c
VS
133422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13345 with -p "".
13346 Reported by: Tito Keitel.
13347
64a638b0
VS
133482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * docs/grub.texi (Naming convention): Document new naming convention.
13351
ab8ba957
VS
133522010-07-20 Vadim Solomin <vadic052@gmail.com>
133532010-07-20 Colin Watson <cjwatson@ubuntu.com>
13354
13355 Generate device.map in something closer to the old ordering.
13356
13357 * util/deviceiter.c (struct device): New declaration.
13358 (compare_file_names): Rename to ...
13359 (compare_devices): ... this. Sort by kernel name in preference to
13360 the stable by-id name, but keep the latter as a fallback comparison.
13361 Update header comment.
13362 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13363 of `struct device' rather than of plain file names.
13364
a29d6a4b
TF
133652010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13366
13367 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13368 on i386.
13369
39d824e8
VS
133702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13373 hardcoding size.
13374 (setv1table): Likewise.
13375
f058276b
FZ
133762010-07-20 Colin Watson <cjwatson@ubuntu.com>
13377
13378 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13379 removing the homehost if present.
13380 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13381 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13382 removing the homehost if present.
13383 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13384 if possible.
13385 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13386
13387 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13388 parameter. Set its pointer target to 0.
13389 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13390 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13391 `data_offset' value from the superblock for 1.x metadata.
13392 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13393 data on the device.
13394 (insert_array): Record the start sector of data on the device.
13395 (grub_raid_register): Pass start_sector parameters to
13396 grub_raid_list->detect and insert_array.
13397 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13398 member.
13399 (struct grub_raid): Add start_sector parameter to `detect'.
13400
13401 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13402 __attribute__ ((packed)), leaving a comment.
13403 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13404 (grub_mdraid_detect_09): ... here and ...
13405 (grub_mdraid_detect_1x): ... here.
13406
134072010-07-20 Peter Henn <peter.henn@web.de>
13408
13409 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13410 chunk size and disk size, which are already given as sector counts
13411 as distinct from the 0.90 units. Fetch the correct device number
13412 from the role table instead of using the table index.
13413
134142010-07-20 Felix Zielcke <fzielcke@z-51.de>
13415
13416 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13417 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13418 (WriteMostly1): New macro.
13419 Set array->name to NULL for metadata format 0.90. Add support for
13420 metadata 1.x. Fix some comments.
13421 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13422 few comments.
13423 * util/getroot.c (grub_util_get_grub_dev): Add support for
13424 /dev/md/name style devices.
13425
4b761da9
CW
134262010-07-20 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * .bzrignore: Ignore 20_linux_xen.
13429
5771289a
CW
134302010-07-17 Colin Watson <cjwatson@ubuntu.com>
13431
13432 * util/import_unicode.py: Remove unnecessary imports.
13433
5dab68df
AN
134342010-07-17 Aleš Nesrsta <starous@volny.cz>
13435
13436 Hotplugging and USB hub support.
13437
13438 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13439 (grub_ohci): Likewise.
13440 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13441 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13442 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13443 (GRUB_OHCI_CTRL_EDS): Likewise.
13444 (GRUB_OHCI_BULK_EDS): Likewise.
13445 (GRUB_OHCI_TDS): Likewise.
13446 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13447 (grub_ohci_ed_phys2virt): New function.
13448 (grub_ohci_virt_to_phys): Likewise.
13449 (grub_ohci_td_phys2virt): Likewise.
13450 (grub_ohci_td_virt2phys): Likewise.
13451 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13452 attachment.
13453 (grub_ohci_find_ed): New function.
13454 (grub_ohci_alloc_td): Likewise.
13455 (grub_ohci_free_td): Likewise.
13456 (grub_ohci_free_tds): Likewise.
13457 (grub_ohci_transfer): Use previously allocated memory.
13458 (grub_ohci_portstatus): Reset status changed bit.
13459 (grub_ohci_detect_dev): Supply status changed.
13460 (grub_ohci_fini_hw): Free memory.
13461 (grub_ohci_restore_hw): Reallocate memory.
13462 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13463 Reset status change.
13464 (grub_uhci_detect_dev): Supply status_change.
13465 * bus/usb/usb.c (attach_hooks): New var.
13466 (grub_usb_device_attach): New function.
13467 (grub_usb_register_attach_hook_class): Likewise.
13468 (grub_usb_unregister_attach_hook_class): Likewise.
13469 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13470 (grub_usb_add_hub): Reset connection changed bit.
13471 (attach_root_port): New function.
13472 (grub_usb_root_hub): Likewise.
13473 (poll_nonroot_hub): Likewise.
13474 (grub_usb_poll_devices): Likewise.
13475 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13476 * disk/usbms.c (grub_usbms_open): Use device hooks.
13477 (grub_usbms_iterate) :Poll devices.
13478 (grub_usbms_finddevs): Split into ...
13479 (grub_usbms_attach): ... this ...
13480 (grub_usbms_attach): ... and this.
13481 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13482 in detect_dev.
13483 (grub_usb_interface): New fields attached and detach_hook.
13484 (grub_usb_attach_hook_class): New type.
13485 (grub_usb_attach_desc): New struct.
13486 (grub_usb_register_attach_hook_class): New function.
13487 (grub_usb_unregister_attach_hook_class): Likewise.
13488 (grub_usb_poll_devices): Likewise.
13489 (grub_usb_device_attach): Likewise.
13490 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13491 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13492
3222efaf
VS
134932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13496 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13497 delta determination style. Works with most NetBSD partitions too.
13498
139b714a
VS
134992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13502 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13503
986aad56
VS
135042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13507
99be513c
AB
135082010-07-14 Anton Blanchard <anton@samba.org>
13509
13510 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13511 ET_DYN files.
13512
18075f62
GS
135132010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13514
13515 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13516
8d9a5b15
GS
135172010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13518
13519 * kern/partition.c (grub_partition_check_containment): New function to
13520 check that a partition is physically contained in a parent. Since
13521 offsets are relative (and non-negative), this reduces to checking that
13522 the partition ends before its parent.
13523 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13524 (grub_partition_iterate): Likewise.
13525 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13526 comments.
13527 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13528 partitions that start before their parent, and add debug printfs.
13529
19563c25
CW
135302010-07-13 Colin Watson <cjwatson@ubuntu.com>
13531
13532 * Makefile.in (.SUFFIX): Spell correctly, as ...
13533 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13534 bare module name without `.mod', e.g. `test') tried to invoke a
13535 Modula-2 compiler.
13536
1a1f1e67
CW
135372010-07-13 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * README: Point to the Info manual.
13540
811b0dca
JS
135412010-07-13 Jiro SEKIBA <jir@unicus.jp>
13542
13543 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13544 2nd superblock position from partition size.
13545
e4f4eafc
CW
135462010-07-10 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13549 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13550 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13551 outputs.
13552
4274c30f
VS
135532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 Restructure SCSI .id handling.
13556 Reported and tested by: Aleš Nesrsta.
13557
13558 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13559 (grub_atapi_dev): Changed .name to "ata". New field .id.
13560 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13561 (grub_usbms_dev): New field .id.
13562 * disk/scsi.c (grub_scsi_iterate): Generate name.
13563 (grub_scsi_open): Parse name.
13564 * include/grub/scsi.h (grub_make_scsi_id): New function.
13565 (grub_scsi_dev): Change iterate and open to number instead of naming
13566 busses. All users updated.
13567 (grub_scsi): Remove name. Add .bus.
13568
5bc24388
VS
135692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * commands/help.c (grub_cmd_help): Fix a typo.
13572
249975ba
VS
135732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13576 Reported and tested by: Colin Watson.
13577
3eaac1a1
VS
135782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13581 in this context.
13582
becce1b1
VS
135832010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13586
f7bf0918
CW
135872010-07-07 Colin Watson <cjwatson@ubuntu.com>
13588
13589 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13590 indentation.
13591
0b0f9620
CW
135922010-07-06 Colin Watson <cjwatson@ubuntu.com>
13593
13594 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13595 and disk/raid6_recover.c.
13596 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13597 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13598
1e545469
CW
135992010-07-06 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * term/gfxterm.c (repaint_schedulded): Rename to ...
13602 (repaint_scheduled): ... this. Update all callers.
13603 (repaint_was_schedulded): Rename to ...
13604 (repaint_was_scheduled): ... this. Update all callers.
13605
5357687a
CW
136062010-07-06 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13609 which we expect to be handled by upper layers.
13610
29d7e783
BC
136112010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13612
13613 * bus/usb/usbhub.c: #include time.h header.
13614
37582066
CW
136152010-07-06 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13618 entry_name also for entries without stat blocks (e.g. ".."); fixes
13619 corruption of the first entry in a directory.
13620
c8c06953
CW
136212010-07-06 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13624 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13625 doesn't work otherwise.
13626
e75056f1
CW
136272010-07-05 Colin Watson <cjwatson@ubuntu.com>
13628
13629 * docs/grub.texi (Features): Update list of supported file systems.
13630 (GNU/Linux): Update for GRUB 2.
13631 (Serial terminal): Remove mention of --disable-serial, which was a
13632 GRUB Legacy configure option. Update instructions to use
13633 `terminal_input' and `terminal_output' rather than `terminal'.
13634 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13635 configuration' and `Installing GRUB using grub-install'.
13636 (Menu entry editor): Update for GRUB 2.
13637 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13638 Document new -a, -u, and -v options.
13639 (initrd): New section.
13640 (initrd16): New section.
13641 (linux): New section.
13642 (linux16): New section.
13643 (search): The `var' argument to `--set' is optional.
13644 (GRUB only offers a rescue shell): Go into a little more detail on
13645 drive ordering.
13646
5cf69151
CW
136472010-07-05 Colin Watson <cjwatson@ubuntu.com>
13648
13649 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13650
e3f90044
CW
136512010-07-05 Colin Watson <cjwatson@ubuntu.com>
13652
13653 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13654 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13655
38d8f4f3
CW
136562010-07-05 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13659 install_prefix, in line with install_dos_part and install_bsd_part.
13660 Add new prefix variable, which is copied to install_prefix after
13661 comparing core.img in memory with the one read from disk in the
13662 no-embedding case, and use that rather than overwriting
13663 install_prefix immediately when installing to a partition.
13664 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13665 Bicakci.
13666
57ebd41e
GS
136672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13668
13669 * configure.ac: Avoid == in test command, it's not portable.
13670 * util/grub.d/30_os-prober.in: Likewise.
13671
cb7f64b2
CW
136722010-07-04 Colin Watson <cjwatson@ubuntu.com>
13673
13674 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13675
6b654bb0
GS
136762010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13677
13678 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13679 multiple (top-level) partmaps.
13680
72a2026d
VS
136812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 13684 Reported by: Tino Keitel.
72a2026d 13685
df3eb88f
VS
136862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 Bidi and diacritics support.
13689
13690 * Makefile.in (widthspec.bin): New target.
13691 (widthspec.h): Likewise.
13692 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13693 * autogen.sh: Generate unidata.c.
13694 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13695 * commands/ls.c (grub_ls_list_devices): Likewise.
13696 (grub_ls_list_files): Likewise.
13697 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13698 (grub_mini_cmd_lsmod): Likewise.
13699 * commands/read.c: Likewise.
13700 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13701 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13702 * lib/arg.c (grub_arg_show_help): Likewise.
13703 * lib/crypto.c (grub_password_get): Likewise.
13704 * normal/auth.c (grub_username_get): Likewise.
13705 * normal/misc.c (grub_normal_print_device_info): Likewise.
13706 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13707 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13708 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13709 (normal/charset.c_DEPENDENCIES): New variable.
13710 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13711 (pkglib_MODULES): Remove charset.mod.
13712 (charset_mod_SOURCES): Removed.
13713 (charset_mod_CFLAGS): Likewise.
13714 (charset_mod_LDFLAGS): Likewise.
13715 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
13716 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
13717 and term/tparm.c.
13718 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13719 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13720 (kernel_img_HEADERS): Add terminfo.h.
13721 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
13722 Fill ->font. Reverse ascii bitmaps.
13723 (grub_font_get_xheight): New function.
13724 * font/font.c (grub_font_get_string_width): Moved from here ...
13725 * gfxmenu/font.c (grub_font_get_string_width): ... here.
13726 * font/font.c (grub_font_draw_string): Moved from here ...
13727 * gfxmenu/font.c (grub_font_draw_string): ... here.
13728 * font/font.c (grub_font_dup_glyph): New function.
13729 (grub_font_blit_glyph): Likewise.
13730 (grub_font_blit_glyph_mirror): Likewise.
13731 (blit_comb): Likewise.
13732 (grub_font_construct_dry_run): Likewise.
13733 (grub_font_get_constructed_device_width): Likewise.
13734 (grub_font_construct_glyph): Likewise.
13735 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
13736 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
13737 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
13738 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
13739 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
13740 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
13741 (grub_font_get_xheight): New proto.
13742 (grub_font_get_constructed_device_width): Likewise.
13743 (grub_font_construct_glyph): Likewise.
13744 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
13745 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
13746 * include/grub/font.h (grub_font_draw_string): Moved from here ...
13747 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
13748 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
13749 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
13750 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
13751 (grub_console_getcharwidth): Likewise.
13752 * include/grub/misc.h (grub_xputs): New proto.
13753 (grub_puts): Inlined.
13754 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
13755 (grub_normal_get_line_counter): Removed.
13756 (grub_install_newline_hook): Likewise.
13757 (grub_normal_get_char_counter): New proto.
13758 (grub_normal_reset_more): Likewise.
13759 (grub_xputs_normal): Likewise.
13760 * include/grub/powerpc/ieee1275/console.h: Removed.
13761 * include/grub/sparc64/ieee1275/console.h: Likewise.
13762 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
13763 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
13764 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
13765 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
13766 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
13767 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
13768 (grub_term_input): Pass reference to self. All users updated.
13769 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
13770 Pass reference to self. New fields normal_color, highlight_color and
13771 data. All users updated.
13772 (grub_putchar): Removed.
13773 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
13774 (grub_unicode_estimate_width): New function.
13775 (grub_term_getcharwidth): Add defaults.
13776 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
13777 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
13778 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
13779 (grub_cls): Remove EXPORT_FUNC.
13780 (grub_setcolorstate): Inline.
13781 (grub_newline_hook): Removed.
13782 * include/grub/terminfo.h: Rewritten. All users updated.
13783 * include/grub/unicode.h: New file.
13784 * include/grub/video.h (grub_video_signed_rect): New type.
13785 * kern/emu/console.c (grub_console_highlight_color): Removed.
13786 (grub_console_normal_color): Likewise.
13787 (grub_console_standard_color): Made static.
13788 (grub_ncurses_putchar): Remove mapping.
13789 (grub_ncurses_getcharwidth): Removed.
13790 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13791 (grub_ncurses_setcolor): Removed.
13792 (grub_ncurses_getcolor): Likewise.
13793 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
13794 (grub_console_putchar): ... this.
13795 (grub_console_putchar): Handle argument difference.
13796 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
13797 console_init_early and console_init_lately.
13798 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
13799 * kern/misc.c (grub_puts): Removed.
13800 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
13801 (grub_vsnprintf_real): Remove str = NULL support.
13802 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
13803 * normal/charset.c (grub_utf8_to_ucs4): ... here.
13804 * kern/term.c (grub_putcode): Renamed to ...
13805 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
13806 (grub_putchar): Removed.
13807 (grub_xputs_dumb): New function.
13808 (grub_xputs): New variable.
13809 * lib/charset.c: Move from here ...
13810 * normal/charset.c: ... to here.
13811 (grub_ucs4_to_utf8): New function.
13812 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
13813 (join_types): New variable.
13814 (unpack_join): New function.
13815 (bidi_types): New variable.
13816 (unpack_bidi): New function.
13817 (get_bidi_type): Likewise.
13818 (get_join_type): Likewise.
13819 (is_mirrored): Likewise.
13820 (grub_unicode_get_comb_type): Likewise.
13821 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
13822 (is_type_after): Likewise.
13823 (grub_unicode_aglomerate_comb): Likewise.
13824 (bidi_line_wrap): Likewise.
13825 (grub_bidi_line_logical_to_visual): Likewise.
13826 (grub_bidi_logical_to_visual): Likewise.
13827 (grub_unicode_mirror_code): Likewise.
13828 (grub_unicode_shape_code): Likewise.
13829 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
13830 Don't use grub_putchar.
13831 * normal/main.c (grub_normal_init_page): Use grub_putcode.
13832 (grub_normal_reader_init): Likewise.
13833 (grub_xputs_saved): New variable.
13834 (GRUB_MOD_INIT): Set grub_xputs.
13835 (GRUB_MOD_FINI): Restore grub_xputs.
13836 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
13837 (menu_init): Avoid printing gfxmenu error.
13838 (show_menu): Use grub_normal_get_char_counter.
13839 * normal/menu_entry.c (update_screen): Fix out-of-array.
13840 (complete): Avoid NULL dereferencing.
13841 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
13842 * normal/menu_text.c (print_spaces): Removed.
13843 (grub_print_ucs4): Likewise.
13844 (grub_print_message_indented): Use grub_print_ucs4.
13845 (print_message): Use grub_putcode.
13846 (print_entry): Hanlde diacritics.
13847 * normal/term.c (term_state): New type.
13848 (grub_more_lines): Removed.
13849 (term_states): New variable.
13850 (grub_normal_line_counter): Renamed to ..
13851 (grub_normal_char_counter): ...this. All users updated.
13852 (grub_normal_get_line_counter): Renamed to ...
13853 (grub_normal_get_char_counter): ... this.
13854 (grub_normal_reset_more): New function.
13855 (process_newline): Removed.
13856 (print_more): New function.
13857 (grub_install_newline_hook): Removed.
13858 (map_code): New function.
13859 (grub_puts_terminal): Use grub_print_ucs4.
13860 (putglyph): New function.
13861 (putcode_real): Likewise.
13862 (grub_putcode): Use putcode_real.
13863 (get_maxwidth): New function.
13864 (get_startwidth): Likewise.
13865 (print_ucs4_terminal): Likewise.
13866 (find_term_state): Likewise.
13867 (put_glyphs_terminal): Likewise.
13868 (print_backlog): Likewise.
13869 (print_ucs4_real): Likewise.
13870 (grub_print_ucs4): Likewise.
13871 (grub_xputs_normal): Likewise.
13872 * term/efi/console.c (grub_console_putchar): Output diacritics.
13873 (grub_console_getcharwidth): Removed.
13874 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13875 * term/gfxterm.c (clear_char): Free chars.
13876 (scroll_up): Avoid leaking memory.
13877 (grub_gfxterm_putchar): Support diacritics.
13878 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13879 * term/i386/pc/console.c (grub_console_term_output): Declare as
13880 GRUB_TERM_CODE_TYPE_VGA.
13881 * term/i386/pc/vga.c (grub_vga_term): Declare as
13882 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13883 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13884 GRUB_TERM_CODE_TYPE_VGA.
13885 * term/i386/vga_common.c (map_char): Removed.
13886 (grub_console_putchar): Likewise.
13887 (grub_console_getcharwidth): Likewise.
13888 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13889 (colors): Reordered to match terminfo.
13890 (grub_ofconsole_normal_color): Removed.
13891 (grub_ofconsole_writeesc): Likewise.
13892 (grub_ofconsole_highlight_color): Likewise.
13893 (grub_ofconsole_getcharwidth): Likewise.
13894 (grub_ofconsole_setcolorstate): Likewise.
13895 (grub_ofconsole_setcolor): Likewise.
13896 (grub_ofconsole_getcolor): Likewise.
13897 (grub_ofconsole_readkey): Renamed to ...
13898 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13899 key.
13900 (grub_ofconsole_checkkey): Removed.
13901 (grub_ofconsole_getkey): Likewise.
13902 (grub_ofconsole_getxy): Likewise.
13903 (grub_ofconsole_gotoxy): Likewise.
13904 (grub_ofconsole_cls): Likewise.
13905 (grub_ofconsole_refresh): Likewise.
13906 (grub_ofconsole_terminfo_input): New struct.
13907 (grub_ofconsole_terminfo_output): Likewise.
13908 (grub_ofconsole_term_input): Use terminfo.
13909 (grub_ofconsole_term_output): Likewise.
13910 (grub_console_init): Split into ...
13911 (grub_console_init_early): ...this and ...
13912 (grub_console_init_lately): ...this. Use terminfo.
13913 (grub_ofconsole_putchar): Renamed to ...
13914 (put): ... this. Remove mapping.
13915 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13916 * term/serial.c: Simplify using terminfo.
13917 (xpos): Removed.
13918 (ypos): Likewise.
13919 (keep_track): Likewise.
13920 (registered): Likewise.
13921 (input_buf): Likewise.
13922 (npending): Likewise.
13923 (serial_translate_key_sequence): Likewise.
13924 (fill_input_buf): Likewise.
13925 (grub_serial_checkkey): Likewise.
13926 (grub_serial_getkey): Likewise.
13927 (grub_serial_getxy): Likewise.
13928 (grub_serial_gotoxy): Likewise.
13929 (grub_serial_putchar): Likewise.
13930 (grub_serial_cls): Likewise.
13931 (grub_serial_setcolorstate): Likewise.
13932 (grub_serial_setcursor): Likewise.
13933 (serial_hw_init): Use serial_hw_fetch.
13934 (grub_serial_terminfo_input): New variable.
13935 (grub_serial_terminfo_output): Likewise.
13936 (grub_serial_term_input): Use terminfo.
13937 (grub_serial_term_output): Likewise.
13938 * term/terminfo.c (putstr): Use put.
13939 (grub_terminfo_all_free): New function
13940 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13941 (grub_terminfo_output_register): New function.
13942 (grub_terminfo_output_unregister): Likewise.
13943 (grub_terminfo_getxy): Likewise.
13944 (grub_terminfo_readkey): Likewise.
13945 (grub_terminfo_checkkey): Likewise.
13946 (grub_terminfo_getkey): Likewise.
13947 (grub_terminfo_input_init): Likewise.
13948 (print_terminfo): Likewise.
13949 (grub_cmd_terminfo): Handle encoding.
13950 (grub_terminfo_gotoxy): Track position.
13951 (grub_terminfo_cls): Likewise.
13952 (grub_terminfo_putchar): Likewise.
13953 (grub_terminfo_setcolorstate): Handle colors
13954 (grub_terminfo_cursor_on): This ...
13955 (grub_terminfo_cursor_off): ... and this merged into ...
13956 (grub_terminfo_setcursor): ... this.
13957 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13958 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13959 * unicode/BidiMirroring.txt: Likewise.
13960 * unicode/UnicodeData.txt: Likewise.
13961 * unicode/COPYING: Likewise.
13962 * util/grub-editenv.c (grub_putchar): Removed.
13963 (grub_xputs_real): New function.
13964 (grub_xputs): New variable.
13965 * util/grub-fstest.c (grub_putchar): Removed.
13966 (grub_xputs_real): New function.
13967 (grub_xputs): New variable.
13968 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13969 (grub_xputs_real): New function.
13970 (grub_xputs): New variable.
13971 * util/grub-probe.c (grub_putchar): Removed.
13972 (grub_xputs_real): New function.
13973 (grub_xputs): New variable.
13974 * util/grub-script-check.c (grub_putchar): Removed.
13975 (grub_xputs_real): New function.
13976 (grub_xputs): New variable.
13977 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13978 (grub_xputs_real): New function.
13979 (grub_xputs): New variable.
13980 * util/import_unicode.py: New file.
13981 * util/grub-mkfont.c (ft_errmsgs): New array.
13982 (grub_glyph_info): Make bitmap a pointer.
13983 (file_formats): New type WIDTH_SPEC.
13984 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13985 (options): Add width-spec.
13986 (help): Likewise.
13987 (add_char): Renamed to ...
13988 (add_glyph): ... this.
13989 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13990 (glyph_replace): New type.
13991 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13992 (add_char): New function.
13993 (add_subst): Likewise.
13994 (process_cursive): Likewise.
13995 (add_font): Handle GSUB.
13996 (write_font_width_spec): New function.
13997 (main): Sort glyphs.
13998 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13999 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14000 * kern/term.c (grub_cls): Moved from here...
14001 * normal/term.c (grub_cls): ... here.
14002
50f0bcda
CW
140032010-07-02 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14006 suitable for using within the format argument of printf when
14007 converting grub_size_t.
14008 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14009 "x" to convert grub_size_t arguments.
14010
40372103
VS
140112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14014 too long captions.
14015 (list_get_minimal_size): Take selection box into account.
14016
942a10c7
VS
140172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14020 NULL font.
14021
2bdb2892
CW
140222010-07-02 Colin Watson <cjwatson@ubuntu.com>
14023
14024 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14025 devices when iterating over /dev/disk/by-id; they will be handled
14026 later if appropriate, which they aren't always (e.g. LVM).
14027
e03ed6c1
CW
140282010-07-02 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14031 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14032 fails.
14033 (grub_halt): Likewise.
14034 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14035 reset-all fails.
14036 (grub_halt): Don't return, even if all of shut-down, power-off, and
14037 poweroff fail.
14038
47695765
CW
140392010-07-02 Colin Watson <cjwatson@ubuntu.com>
14040
14041 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14042 arguments, not three.
14043
507736c8
CW
140442010-07-02 Colin Watson <cjwatson@ubuntu.com>
14045
14046 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14047 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14048 LVM-on-RAID is handled correctly.
14049
e3c8cd37
CW
140502010-07-02 Colin Watson <cjwatson@ubuntu.com>
14051
14052 * docs/grub.texi (Changes from GRUB Legacy): New section.
14053 (Future): Fix typo.
14054
8d4a2fec
CW
140552010-07-02 Colin Watson <cjwatson@ubuntu.com>
14056
14057 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14058 grub.d/README accidentally ends up executable for one reason or
14059 another. Ignore it.
14060
1c4827be
VS
140612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14064 (gpt_partition_map_iterate): Support non-512B sectors.
14065
d9a0c941
VS
140662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14069 Tested by: Seth Goldberg.
14070
48f27e87
VS
140712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14074 Properly align mbi.
14075 Reported by: Seth Goldberg.
14076
b0c4f956
VS
140772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * util/grub-mkrescue.in: Avoid module duplication.
14080
105a2e8c
SF
140812010-07-01 Sean Finney <seanius@seanius.net>
14082
14083 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14084
5944958c
SF
140852010-07-01 Sean Finney <seanius@seanius.net>
14086
14087 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14088
140892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * disk/lvm.c (grub_lvm_checkvalue): New function.
14092 (grub_lvm_check_flag): Likewise.
14093
b79889ba
RM
140942010-07-01 Robert Millan <rmh@gnu.org>
14095
14096 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14097 Support 'p' as partition separator on kernel of FreeBSD (used
14098 with GPT labels).
14099 (grub_util_biosdisk_get_grub_dev): Likewise.
14100
ec1d04f1
VS
141012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Yeeloong firmware port.
14104
14105 * boot/mips/yeeloong/fwstart.S: New file.
14106 * bus/cs5536.c (gpiodump): New const.
14107 (set_io_space): New function.
14108 (set_iod): Likewise.
14109 (set_p2d): Likewise.
14110 (grub_cs5536_init_geode): Likewise.
14111 * commands/mips/yeeloong/lsspd.c: New file.
14112 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14113 (serial_mod_SOURCES): New variable.
14114 (serial_mod_CFLAGS): Likewise.
14115 (serial_mod_LDFLAGS): Likewise.
14116 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14117 term/terminfo.c and term/tparm.c.
14118 (pkglib_IMAGES): Add fwstart.img.
14119 (fwstart_img_SOURCES): New variable.
14120 (fwstart_img_CFLAGS): Likewise.
14121 (fwstart_img_ASFLAGS): Likewise.
14122 (fwstart_img_LDFLAGS): Likewise.
14123 (fwstart_img_FORMAT): Likewise.
14124 (pkglib_MODULES): Add lsspd.mod.
14125 (lsspd_mod_SOURCES): New variable.
14126 (lsspd_mod_CFLAGS): Likewise.
14127 (lsspd_mod_LDFLAGS): Likewise.
14128 (pkglib_MODULES): Add halt.mod.
14129 (halt_mod_SOURCES): New variable.
14130 (halt_mod_CFLAGS): Likewise.
14131 (halt_mod_LDFLAGS): Likewise.
14132 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14133 (serial_mod_SOURCES): Removed.
14134 (serial_mod_CFLAGS): Likewise.
14135 (serial_mod_LDFLAGS): Likewise.
14136 * disk/ata.c (check_device): New function.
14137 (grub_ata_device_initialize): Use check_device.
14138 (grub_ata_iterate): Recheck devices.
14139 (grub_ata_open): Likewise.
14140 (grub_atapi_iterate): Likewise.
14141 (grub_atapi_open): Likewise.
14142 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14143 (GRUB_ATA_CH1_PORT1): Likewise.
14144 (GRUB_ATA_CH0_PORT2): Likewise.
14145 (GRUB_ATA_CH1_PORT2): Likewise.
14146 * include/grub/mips/loongson.h: New file.
14147 * include/grub/mips/yeeloong/ec.h: Likewise.
14148 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14149 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14150 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14151 * include/grub/misc.h (grub_halt): Declare as noreturn.
14152 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14153 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14154 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14155 (UART_ENABLE_DTRRTS): Likewise.
14156 (UART_ENABLE_MODEM): Removed.
14157 (UART_ENABLE_OUT2): New const.
14158 * include/grub/term.h (grub_term_register_input_active): New function.
14159 (grub_term_register_output_active): Likewise.
14160 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14161 argument.
14162 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14163 (init_pci): New function.
14164 (grub_machine_init): Execute platform init when firmware. Init serial.
14165 (grub_halt): Implement.
14166 (grub_exit): Likewise.
14167 (grub_reboot): Likewise.
14168 * term/serial.c (serial_hw_init): Update macros.
14169 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14170 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14171 (image_targets): New target mipsel-yeeloong-flash.
14172 (generate_image): Support IMAGE_YEELOONG_FLASH.
14173 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14174 (grub_video_sm712_setup): Init card.
14175 (grub_video_sm712_set_palette): Removed.
14176 * video/sm712_init.c: New file.
14177
ff4a70d2
CW
141782010-06-30 Colin Watson <cjwatson@ubuntu.com>
14179
14180 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14181 PATH when running help2man and then run it on the unadorned
14182 executable names, rather than passing $(builddir)/* paths to
14183 help2man. This avoids the build directory ending up in generated
14184 manual pages.
14185
1246efeb
CW
141862010-06-29 Colin Watson <cjwatson@ubuntu.com>
14187
14188 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14189 to avoid accidents when debugging with 'sh -x'.
14190 * util/grub-mkrescue.in: Likewise.
14191 * util/grub.d/00_header.in: Likewise.
14192 * util/grub.d/10_hurd.in: Likewise.
14193 * util/grub.d/10_kfreebsd.in: Likewise.
14194 * util/grub.d/10_linux.in: Likewise.
14195 * util/grub.d/10_netbsd.in: Likewise.
14196 * util/grub.d/10_windows.in: Likewise.
14197 * util/grub.d/20_linux_xen.in: Likewise.
14198 * util/grub.d/30_os-prober.in: Likewise.
14199 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14200
1ba9b889
CW
142012010-06-29 Colin Watson <cjwatson@ubuntu.com>
14202
14203 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14204 last character in the buffer.
14205 Reported by: Vladimir Serbinenko.
14206
dccaf99d
RM
142072010-06-29 Robert Millan <rmh@gnu.org>
14208
14209 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14210 (Command-line and menu entry commands): Document `badram' command.
14211
d500ed12
RM
142122010-06-28 Robert Millan <rmh@gnu.org>
14213
14214 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14215 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14216 command using ${GRUB_BADRAM} as parameter.
14217
20bc84a6
CW
142182010-06-28 Colin Watson <cjwatson@ubuntu.com>
14219
14220 * docs/grub.texi (Device map): New section.
14221 (Themes): New section (stub).
14222 * Makefile.in (docs/grub.info): The info documentation now builds
14223 without errors. Make sure it stays that way.
14224
4045dee1
VS
142252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 Use normal parser for menu entries.
14228 Reported by: Thomas Frauendorfer
14229
14230 * include/grub/parser.h (grub_parser_execute): Don't export.
14231 * normal/menu.c (grub_menu_execute_entry_real): New function.
14232 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14233
bca58c7b
CW
142342010-06-28 Colin Watson <cjwatson@ubuntu.com>
14235
14236 * docs/grub.texi (Embedded configuration): New section (replacing
14237 old "Preset Menu" stub).
14238 (Images): New section.
14239 (configfile): Note that any menu entries defined in `file' are shown
14240 immediately.
14241
dec53e63
JT
142422010-06-28 Josh Triplett <josh@joshtriplett.org>
14243
14244 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14245
c06e40f7
CW
142462010-06-28 Colin Watson <cjwatson@ubuntu.com>
14247
14248 * util/grub-install.in: Add --debug-image= option.
14249
cb88052b
CW
142502010-06-28 Colin Watson <cjwatson@ubuntu.com>
14251
14252 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14253 possible on Linux.
14254
14255 * util/deviceiter.c (check_device): Rename to ...
14256 (check_device_readable_unique): ... this. Update all callers.
14257 Maintain and check a list of which devices (by canonicalized name)
14258 have already been seen.
14259 (clear_seen_devices): New function.
14260 (compare_file_names) [__linux__]: New function.
14261 (grub_util_iterate_devices): Clear the list of seen devices on exit
14262 and (just in case) on entry.
14263 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14264 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14265 seen-devices list, superseded by general code in check_device.
14266
bbe34652
CW
142672010-06-28 Colin Watson <cjwatson@ubuntu.com>
14268
14269 * commands/cat.c (options): New variable.
14270 (grub_cmd_cat): Parse options. If the --dos option is given, print
14271 DOS-style "\r\n" line endings as simple newlines (Debian bug
14272 #586358).
14273 (GRUB_MOD_INIT): Use extcmd.
14274 (GRUB_MOD_FINI): Likewise.
14275 * docs/grub.texi (cat): Document --dos.
14276
412e09f3
VS
142772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 XEN with Linux grub-mkconfig support.
14280
14281 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14282 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14283 GRUB_CMDLINE_XEN_DEFAULT.
14284 * util/grub.d/20_linux_xen.in: New file.
14285
53f3ef38 142862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14287
14288 Initialise VGA video on qemu ourselves.
14289
14290 * boot/i386/qemu/boot.S: Don't call 0xc000.
14291 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14292 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14293 (kernel_img_HEADERS): Add pci.h.
14294 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14295 * configure.ac: Force unifont on qemu and yeeloong.
14296 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14297 (grub_vga_palette_write): Use correct register.
14298 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14299 Call grub_qemu_init_cirrus.
14300 * kern/i386/qemu/init.c: New file.
14301 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14302
14303 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14304
c75be4fb
PR
143052010-06-26 Pavel Roskin <proski@gnu.org>
14306
14307 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14308 13.
14309
d8034603
CW
143102010-06-26 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * docs/grub.texi (Simple configuration): Explain that
14313 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14314 set to `true' to disable their respective recovery entries, not
14315 merely set.
14316
3fa06487
CW
143172010-06-26 Colin Watson <cjwatson@ubuntu.com>
14318
14319 Make the `source' command slightly faster.
14320
14321 * normal/main.c (grub_normal_execute): Don't re-read list files when
14322 nested.
14323
e9b29642
CW
143242010-06-23 Colin Watson <cjwatson@ubuntu.com>
14325
14326 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14327 field position and mask size to red fields from mode_info, not
14328 green.
14329 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14330 Remove redundant tag->common.framebuffer_type assignment.
14331 Reported by: Seth Goldberg.
14332
e726542f
CW
143332010-06-23 Colin Watson <cjwatson@ubuntu.com>
14334
14335 Sync up other versions of the Linux loader with Robert Millan's
14336 change of 2010-01-09, "Make loader output a bit more user-friendly".
14337
14338 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14339 grub_dprintf().
14340 (grub_cmd_linux): Likewise.
14341 (grub_cmd_initrd): Likewise.
14342 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14343 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14344
d6e98a17
CW
143452010-06-21 Colin Watson <cjwatson@ubuntu.com>
14346
14347 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14348 larger than MEMORY_MAP_SIZE.
14349
14d3f08e
BC
143502010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14351
14352 Fix parallel build.
14353
14354 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14355 dependency.
14356 * script/parser.y: #include grub_script.tab.h header.
14357
4f9613a3
VS
143582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 Support >3GiB and <16MiB RAM in i386-qemu.
14361
14362 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14363 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14364 (grub_lower_mem): Removed.
14365 (grub_upper_mem): Likewise.
14366 (mem_size): Made static.
14367 (above_4g): New variable.
14368 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14369 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14370 support.
14371
05e51879
VS
143722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 Cirrus 5446 and Bochs video cards support.
14375
14376 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14377 video_bochs.mod
14378 (video_cirrus_mod_SOURCES): New variable.
14379 (video_cirrus_mod_CFLAGS): Likewise.
14380 (video_cirrus_mod_LDFLAGS): Likewise.
14381 (video_bochs_mod_SOURCES): Likewise.
14382 (video_bochs_mod_CFLAGS): Likewise.
14383 (video_bochs_mod_LDFLAGS): Likewise.
14384 * include/grub/vga.h: New file.
14385 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14386 (grub_video_fb_set_page_t): New type.
14387 (grub_video_fb_setup): New prototype.
14388 (grub_video_fb_swap_buffers): Likewise.
14389 (grub_video_fb_get_info_and_fini): Likewise.
14390 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14391 (CRTC_DATA_PORT): Likewise.
14392 (CRTC_CURSOR): Likewise.
14393 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14394 (CRTC_CURSOR_ADDR_LOW): Likewise.
14395 (CRTC_CURSOR_DISABLE): Likewise.
14396 (update_cursor): Use grub_vga_cr_write.
14397 (grub_vga_text_setcursor): Likewise.
14398 * video/bochs.c: New file.
14399 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14400 (palette): Likewise.
14401 (palette_size): Likewise.
14402 (framebuffer): New variable.
14403 (grub_video_fb_init): Use 'framebuffer'.
14404 (grub_video_fb_fini): Likewise.
14405 (grub_video_fb_get_info): Likewise.
14406 (grub_video_fb_get_palette): Likewise.
14407 (grub_video_fb_set_palette): Likewise.
14408 (grub_video_fb_set_viewport): Likewise.
14409 (grub_video_fb_get_viewport): Likewise.
14410 (grub_video_fb_map_color): Likewise.
14411 (grub_video_fb_map_rgb): Likewise.
14412 (grub_video_fb_map_rgba): Likewise.
14413 (grub_video_fb_unmap_color): Likewise.
14414 (grub_video_fb_unmap_color_int): Likewise.
14415 (grub_video_fb_fill_rect): Likewise.
14416 (grub_video_fb_blit_bitmap): Likewise.
14417 (grub_video_fb_blit_render_target): Likewise.
14418 (grub_video_fb_scroll): Likewise.
14419 (grub_video_fb_create_render_target): Likewise.
14420 (grub_video_fb_doublebuf_blit_init): Likewise.
14421 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14422 (doublebuf_pageflipping_update_screen): New function.
14423 (doublebuf_pageflipping_init): Likewise.
14424 (grub_video_fb_setup): Likewise.
14425 (grub_video_fb_swap_buffers): Likewise.
14426 (grub_video_fb_get_info_and_fini): Likewise.
14427 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14428 All users updated.
14429 (doublebuf_pageflipping_commit): Restructured into ...
14430 (doublebuf_pageflipping_set_page): ... this.
14431 (doublebuf_pageflipping_update_screen): Removed.
14432 (doublebuf_pageflipping_init): Likewise.
14433 (double_buffering_init): Likewise.
14434 (grub_video_vbe_setup): Use grub_video_fb_setup.
14435 (grub_video_vbe_swap_buffers): Removed.
14436 (grub_video_vbe_set_active_render_target): Likewise.
14437 (grub_video_vbe_get_active_render_target): Likewise.
14438 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14439 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14440 grub_video_fb_set_active_render_target and
14441 grub_video_fb_get_active_render_target.
14442 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14443 (SEQUENCER_DATA_PORT): Likewise.
14444 (MAP_MASK_REGISTER): Likewise.
14445 (CRTC_ADDR_PORT): Likewise.
14446 (CRTC_DATA_PORT): Likewise.
14447 (START_ADDR_HIGH_REGISTER): Likewise.
14448 (START_ADDR_LOW_REGISTER): Likewise.
14449 (GRAPHICS_ADDR_PORT): Likewise.
14450 (GRAPHICS_DATA_PORT): Likewise.
14451 (READ_MAP_REGISTER): Likewise.
14452 (INPUT_STATUS1_REGISTER): Likewise.
14453 (INPUT_STATUS1_VERTR_BIT): Likewise.
14454 (get_map_mask): Use grub_vga_sr_read.
14455 (set_map_mask): Use grub_vga_sr_write.
14456 (set_read_map): Use grub_vga_gr_write.
14457 (set_start_address): Use grub_vga_cr_write.
14458 * video/sm712.c (framebuffer): Remove leftover fields.
14459
4321c64a
CW
144602010-06-20 Colin Watson <cjwatson@ubuntu.com>
14461
14462 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14463 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14464 instead. Replace the gfxterm backend check with a check that
14465 ${GRUB_PREFIX}/video.lst is non-empty.
14466 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14467 again.
14468 (load_video): New generated function. Call it before loading
14469 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14470 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14471 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14472 * docs/grub.texi (Simple configuration): Document
14473 GRUB_VIDEO_BACKEND.
14474
144752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 Use video functions in linux and xnu loaders.
14478
14479 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14480 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14481 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14482 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14483 loader/i386/pc/linux.c.
14484 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14485 (find_line_len): Removed.
14486 (find_framebuf): Likewise.
14487 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14488 * loader/i386/efi/xnu.c: Removed.
14489 * loader/i386/pc/xnu.c: Moved from here...
14490 * loader/i386/xnu.c: ...here.
14491
14492 Enable priorities in video drivers.
14493
14494 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14495 (grub_video_adapter): New field prio.
14496 (grub_video_register): Respect prio when inserting.
14497 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14498 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14499 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14500 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14501 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14502 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14503 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14504
14505 Fix SDL driver ID.
14506
14507 * include/grub/video.h (grub_video_driver_id_t): New value
14508 GRUB_VIDEO_DRIVER_SDL.
14509 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14510
7d24e434
CW
145112010-06-17 Colin Watson <cjwatson@ubuntu.com>
14512
14513 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14514 argument to printf.
14515 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14516
c88a83f6
CW
145172010-06-17 Colin Watson <cjwatson@ubuntu.com>
14518
14519 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14520 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14521
094dfb69
CW
145222010-06-17 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14525 directly, and recommend grub-install instead.
14526 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14527
2164da6b
CW
145282010-06-17 Colin Watson <cjwatson@ubuntu.com>
14529
14530 Fix i386-pc prefix handling with nested partitions (Debian bug
14531 #585068). Note that the case where the core image is booted using
14532 multiboot and relocated from its original location still requires
14533 more work.
14534
14535 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14536 with "(,", fill the boot drive in between those two characters, but
14537 expect that a full partition specification including partition map
14538 names will follow.
14539 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14540 specified, write a prefix without the drive name but including a
14541 full partition specification.
14542
044e2e60
CW
145432010-06-16 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * util/grub-mkconfig.in: Ignore non-option arguments, for
14546 compatibility with older versions (before 2010-06-12) which did the
14547 same. In particular, this makes it easier to ship an update-grub
14548 wrapper which is compatible with that used with GRUB Legacy (Debian
14549 bug #586056).
14550
5591324f
GS
145512010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14552
14553 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14554 for manual page generation.
14555
662e24d5
GS
145562010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14557
14558 * po/POTFILES: Remove leftover commands/handler.c.
14559
8d70754e
CW
145602010-06-14 Colin Watson <cjwatson@ubuntu.com>
14561
14562 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14563 left this script non-functional.
14564
41160e2e
CW
145652010-06-14 Colin Watson <cjwatson@ubuntu.com>
14566
14567 * docs/man/grub-emu.h2m: New file.
14568
b5309cc1
CW
145692010-06-13 Colin Watson <cjwatson@ubuntu.com>
14570
14571 * docs/grub.texi (Commands): Document reduced command set in rescue
14572 mode.
14573 (cpuid): New section.
14574
fcb2d090
GS
145752010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14576
14577 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14578 new partition naming style.
14579 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14580
96e5c556
BC
145812010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14582
14583 Add "-o grub.iso" like cmdline options support.
14584
14585 * util/grub-install.in: Improve cmdline option parsing.
14586 * util/grub-mkconfig.in: Likewise.
14587 * util/grub-mkrescue.in: Likewise.
14588 * util/grub-reboot.in: Likewise.
14589 * util/grub-set-default.in: Likewise.
14590 * util/i386/efi/grub-install.in: Likewise.
14591 * util/ieee1275/grub-install.in: Likewise.
14592 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14593
c16be99b
CW
145942010-06-12 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * .bzrignore: Ignore 41_custom.
14597
ce08a9fb
TS
145982010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14599
14600 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14601
7beac90c
CW
146022010-06-12 Colin Watson <cjwatson@ubuntu.com>
14603
14604 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14605 prototype declarations.
14606
14607 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14608 generating fs, partmap, and video lists.
14609 * include/grub/fs.h (grub_fs_register): Omit prototype if
14610 GRUB_LST_GENERATOR is defined.
14611 * include/grub/partition.h (grub_partition_map_register): Likewise.
14612 * include/grub/video.h (grub_video_register): Likewise.
14613
1c8f0f8d
JM
146142010-06-12 Javier Martín <lordhabbit@gmail.com>
14615
14616 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14617
a6085973
TS
146182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14619
14620 * util/grub-mkrescue.in: Support --xorriso argument.
14621
25c56d29
VS
146222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14625 Suggested by: Thomas Schmitt.
14626
e03e4b24
VS
146272010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14630 Suggested by: Thomas Schmitt.
14631
57711df6
VS
146322010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 custom.cfg support.
14635
14636 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14637 * util/grub.d/41_custom.in: New file.
14638
ee62c427
CW
146392010-06-12 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * util/grub-mkrescue.in (make_image): Remove sh module, which has
14642 been merged back into normal.
14643
283af07a
CW
146442010-06-11 Colin Watson <cjwatson@ubuntu.com>
14645
14646 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14647 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14648
56a0d956
CW
146492010-06-11 Colin Watson <cjwatson@ubuntu.com>
14650
14651 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14652 when generating manual pages.
14653 * docs/man/grub-bin2h.h2m: New file.
14654 * docs/man/grub-editenv.h2m: New file.
14655 * docs/man/grub-fstest.h2m: New file.
14656 * docs/man/grub-install.h2m: New file.
14657 * docs/man/grub-macho2img.h2m: New file.
14658 * docs/man/grub-mkconfig.h2m: New file.
14659 * docs/man/grub-mkdevicemap.h2m: New file.
14660 * docs/man/grub-mkfont.h2m: New file.
14661 * docs/man/grub-mkimage.h2m: New file.
14662 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14663 * docs/man/grub-mkrelpath.h2m: New file.
14664 * docs/man/grub-mkrescue.h2m: New file.
14665 * docs/man/grub-ofpathname.h2m: New file.
14666 * docs/man/grub-pe2elf.h2m: New file.
14667 * docs/man/grub-probe.h2m: New file.
14668 * docs/man/grub-reboot.h2m: New file.
14669 * docs/man/grub-script-check.h2m: New file.
14670 * docs/man/grub-set-default.h2m: New file.
14671 * docs/man/grub-setup.h2m: New file.
14672
3a37e322
VS
146732010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 Use FOR_* macros instead of *_iterate whenever possible.
14676
14677 * commands/handler.c: Removed.
14678 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14679 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14680 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14681 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14682 (grub_probe_SOURCES): Remove kern/parser.c.
14683 (util/grub-script-check.c_DEPENDENCIES): Removed.
14684 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14685 and grub_script_check_init.c.
14686 (grub_script_check_init.lst): Removed.
14687 (grub_script_check_init.h): Likewise.
14688 (grub_script_check_init.c): Likewise.
14689 (pkglib_MODULES): Remove handler.mod and sh.mod.
14690 (handler_mod_SOURCES): Removed.
14691 (handler_mod_CFLAGS): Likewise.
14692 (handler_mod_LDFLAGS): Likewise.
14693 (normal_mod_SOURCES): Remove normal/handler.c.
14694 Add script/main.c, script/script.c, script/execute.c,
14695 script/function.c, script/lexer.c, grub_script.tab.c
14696 and grub_script.yy.c.
14697 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14698 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14699 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14700 (grub_setup_SOURCES): Remove kern/parser.c.
14701 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14702 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14703 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14704 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14705 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14706 (grub_setup_SOURCES): Remove kern/parser.c.
14707 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14708 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14709 * include/grub/command.h (grub_command_iterate): Removed.
14710 (FOR_COMMANDS): New macro.
14711 * include/grub/dl.h (grub_dl): New member next.
14712 (grub_dl_iterate): Removed.
14713 (grub_dl_head): New variable declaration.
14714 (FOR_DL_MODULES): New macro.
14715 * include/grub/fs.h: Include list.h.
14716 (grub_fs): Make next first element.
14717 (grub_fs_list): New variable declaration.
14718 (grub_fs_register): Make inline.
14719 (grub_fs_unregister): Likewise.
14720 (grub_fs_iterate): Removed.
14721 (FOR_FILESYSTEMS): New macro.
14722 * include/grub/handler.h: Removed.
14723 * include/grub/list.h (grub_list_hook_t): Removed.
14724 (grub_list_test_t): Likewise.
14725 (grub_list_pop): Likewise.
14726 (grub_list_iterate): Likewise.
14727 (grub_list_insert): Likewise.
14728 (FOR_LIST_ELEMENTS): New macro.
14729 * include/grub/parser.h (grub_parser_class): Removed.
14730 (grub_parser_register): Likewise.
14731 (grub_parser_unregister): Likewise.
14732 (grub_parser_get_current): Likewise.
14733 (grub_parser_set_current): Likewise.
14734 (grub_register_rescue_parser): Likewise.
14735 (grub_rescue_parse_line): New function.
14736 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
14737 * include/grub/script_sh.h (grub_script_function_list): New variable
14738 declaration.
14739 (FOR_SCRIPT_FUNCTIONS): New macro.
14740 (grub_script_function_iterate): Removed.
14741 (grub_normal_parse_line): New prototype.
14742 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
14743 (FOR_DISABLED_TERM_INPUTS): Likewise.
14744 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14745 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14746 * include/grub/video.h (grub_video_adapter): Move 'next' to first
14747 element.
14748 (grub_video_register): Inline.
14749 (grub_video_unregister): Likewise.
14750 (grub_video_adapter_list): New variable declaration.
14751 (grub_video_iterate): Removed.
14752 (FOR_VIDEO_ADAPTERS): New macro.
14753 * kern/dl.c (grub_dl_list): Removed. All users updated.
14754 (grub_dl_iterate): Removed.
14755 * kern/fs.c (grub_fs_list): Make global.
14756 (grub_fs_register): Removed.
14757 (grub_fs_unregister): Likewise.
14758 (grub_fs_iterate): Likewise.
14759 * kern/handler.c: Removed.
14760 * kern/list.c (grub_list_pop): Removed.
14761 (grub_list_iterate): Likewise.
14762 (grub_list_insert): Likewise.
14763 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
14764 (grub_prio_list_insert): Don't use grub_list_insert.
14765 * kern/main.c (grub_register_rescue_parser): Don't call
14766 grub_register_rescue_parser.
14767 * kern/parser.c (grub_parser_class): Removed.
14768 (grub_parser_execute): Use grub_rescue_parse_line.
14769 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
14770 (grub_rescue_parser): Removed.
14771 (grub_register_rescue_parser): Likewise.
14772 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
14773 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
14774 (grub_auth_check_authentication): Likewise.
14775 * normal/completion.c (iterate_command): Removed.
14776 (grub_normal_do_completion): Use FOR_COMMANDS.
14777 * normal/handler.c: Removed.
14778 * normal/main.c (read_config_file): Remove parser changing.
14779 (grub_normal_execute): Don't call read_handler_list.
14780 (grub_normal_read_line_real): Statically allocate prompt.
14781 (grub_cmdline_run): Use grub_normal_parse_line.
14782 (GRUB_MOD_FINI): Don't call free_handler_list.
14783 * normal/menu_entry.c (run): Likewise.
14784 * script/function.c (grub_script_function_list): Make global.
14785 (grub_script_function_iterate): Removed.
14786 * script/main.c (grub_normal_parse_line): Make global.
14787 (grub_sh_parser): Removed.
14788 (GRUB_MOD_INIT): Likewise.
14789 (GRUB_MOD_FINI): Likewise.
14790 * tests/lib/functional_test.c (grub_functional_test): Use
14791 FOR_LIST_ELEMENTS.
14792 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
14793 (grub_test_run): Use FOR_LIST_ELEMENTS.
14794 * tests/lib/unit_test.c (main): Likewise.
14795 * util/deviceiter.c (grub_util_iterate_devices): Don't use
14796 grub_list_pop.
14797 * util/grub-fstest.c (grub_term_input_class): Removed.
14798 (grub_term_output_class): Likewise.
14799 * util/grub-probe.c: Likewise.
14800 * util/i386/pc/grub-setup.c: Likewise.
14801 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14802 * util/grub-script-check.c (main): Don't call grub_init_all and
14803 grub_fini_all.
14804 * video/video.c (grub_video_adapter_list): Make global.
14805 (grub_video_register): Removed.
14806 (grub_video_unregister): Likewise.
14807 (grub_video_iterate): Likewise.
14808
6289c3a7
VS
148092010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
14812 reported by Henrique Ferreiro.
14813
91460247
RM
148142010-06-09 Robert Millan <rmh@gnu.org>
14815
14816 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
14817 ones, when both are available.
14818
0ea7c4f9
GS
148192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14820
14821 Make --version uniform and avoid hard-coded program name.
14822
14823 * util/grub-mkimage.c (main): Use `program_name' instead of
14824 hard-coded string.
14825 * util/i386/pc/grub-setup.c (main): Likewise.
14826 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
14827 * util/grub-install.in: Save the basename of $0 in $self, and use the
14828 latter in informational messages. Use the same format for --version
14829 as the binary programs.
14830 * util/grub-mkconfig.in: Likewise.
14831 * util/grub-mkrescue.in: Likewise.
14832 * util/grub-reboot.in: Likewise.
14833 * util/grub-set-default.in: Likewise.
14834 * util/i386/efi/grub-install.in: Likewise.
14835 * util/ieee1275/grub-install.in: Likewise.
14836 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14837
e8a6f3b6
GS
148382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14839
14840 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
14841 embedding area. Use <= instead of == when checking for non-emptiness.
14842
f4d095d7
GS
148432010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14844
14845 * configure.ac: Add `.' to the directories searched for unifont.
14846
50e532ca
CW
148472010-06-08 Colin Watson <cjwatson@ubuntu.com>
14848
14849 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
14850 grub_script.yy.h.
14851
d39f3dec
CW
148522010-06-08 Colin Watson <cjwatson@ubuntu.com>
14853
14854 * docs/grub.texi (History): Expand to cover GRUB 2.
14855 (Serial terminal): Refer to `terminal_input' and `terminal_output'
14856 commands, not `terminal'.
14857 (serial): Likewise.
14858 (terminal_input): New section.
14859 (terminal_output): New section.
14860 (uppermem): New section (stub).
14861 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
14862
6ef0ddb4
CW
148632010-06-08 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * docs/grub.texi (Security): Menu entries are unrestricted by
14866 default, not restricted to superusers as I had previously thought.
14867 Reword to account for this.
14868
e0f4c438
CW
148692010-06-07 Colin Watson <cjwatson@ubuntu.com>
14870
14871 * kern/emu/misc.c (device_mapper_null_log): New function.
14872 (grub_device_mapper_supported): New function.
14873 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
14874 prototype.
14875 * kern/emu/hostdisk.c (find_partition_start): Check whether
14876 device-mapper is supported before trying to use it.
14877 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14878
da908200
CW
148792010-06-07 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14882 (File name syntax): Likewise.
14883 (help): --all is no longer supported in GRUB 2. Be more precise
14884 about pattern matching.
14885
fb55c3ac
CW
148862010-06-07 Colin Watson <cjwatson@ubuntu.com>
14887
14888 * normal/completion.c (grub_normal_do_completion): When completing
14889 arguments to "set" and the current word contains an equals sign,
14890 skip to after the equals sign before starting completion.
14891
258c2573
CW
148922010-06-07 Colin Watson <cjwatson@ubuntu.com>
14893
14894 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14895
ee75515e
CW
148962010-06-07 Colin Watson <cjwatson@ubuntu.com>
14897
14898 * docs/grub.texi (Network): New section.
14899 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14900 `(nd)' as in GRUB Legacy.
14901 (pxe_unload): New section.
14902
a6a700aa
CW
149032010-06-07 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14906 in the rescue shell, so recommend using `set' instead. Thanks,
14907 Jordan Uggla.
14908
4003dd38
CW
149092010-06-07 Colin Watson <cjwatson@ubuntu.com>
14910
14911 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14912 (password): New section.
14913 (password_pbkdf2): New section.
14914 (search): New section.
14915 (Security): New section.
14916 (Troubleshooting): New section, currently very incomplete.
14917 (Invoking grub-mkpasswd-pbkdf2): New section.
14918 (Internals): New section, currently very incomplete.
14919
e1cbcc40
CW
149202010-06-07 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * util/grub.d/00_header.in: Add some more quoting (of
14923 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14924 work again.
14925 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14926
db8fa1ad
CW
149272010-06-07 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14930 to `count', fixing variable shadowing that broke the -c option.
14931
149322010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
14933
14934 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14935 in case they contain spaces.
14936
f28a9212
CW
149372010-06-04 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14940 "part_" to partmap module names, in line with grub-install.
14941 Reported by: Jindřich Makovička (Debian bug #584426).
14942
9cdfe32f
CW
149432010-06-04 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * util/grub-mkimage.c: Make target-related error messages slightly
14946 more helpful; -O talks about "format". Explicitly point to the use
14947 of -O if no target is specified.
14948 Reported by: Didier Raboud (Debian bug #584415).
14949
795b593a
CW
149502010-06-03 Colin Watson <cjwatson@ubuntu.com>
14951
14952 * INSTALL: Document several build requirements for optional features
14953 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14954
9d9b5833
GS
149552010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14956
14957 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14958 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14959 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14960
0819fec8
CW
149612010-06-02 Colin Watson <cjwatson@ubuntu.com>
14962
14963 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14964 Thanks to Jordan Uggla for spotting this.
14965
49396b4f
VS
149662010-06-02 Aleš Nesrsta <starous@volny.cz>
14967
14968 Finally make USB usable.
14969
14970 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14971 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14972 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14973 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14974 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14975 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14976 (GRUB_OHCI_FSMPS): Likewise.
14977 (GRUB_OHCI_PERIODIC_START): Likewise.
14978 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14979 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14980 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14981 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14982 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14983 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14984 (grub_ohci_transaction): Likewise.
14985 (grub_ohci_transfer): Improve condition detection algorithms.
14986 Handle toggle property. Program the transactions correctly.
14987 Improve error handling. Various important fixups.
14988 (grub_ohci_portstatus): Put register writes in right order.
14989 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14990 (grub_uhci_transfer): Don't show "failed" message on success.
14991 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14992 array.
14993 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14994 determine its size.
14995 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14996 before initialization is completed. Use IN direction for empty
14997 transfers. Use last_trans and compute toggle.
14998 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14999 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15000 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15001 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15002 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15003 (grub_usb_device): Increase toggle to 256.
15004 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15005 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15006 GRUB_USBMS_SUBCLASS_SFF8070.
15007 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15008 (grub_scsi_inquiry): New member page and alloc_length.
15009 (grub_scsi_request_sense): New structure.
15010 (grub_scsi_request_sense_data): Likewise.
15011 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15012 control.
15013 * disk/scsi.c (grub_scsi_request_sense): New function.
15014 (grub_scsi_test_unit_ready): Likewise.
15015 (grub_scsi_inquiry): Fill new fields.
15016 (grub_scsi_read_capacity): Likewise.
15017 (grub_scsi_read10): Add request sense at the end.
15018 (grub_scsi_read12): Likewise.
15019 (grub_scsi_write10): Likewise.
15020 (grub_scsi_write12): Likewise.
15021 (grub_scsi_open): Add Test Unit Ready.
15022 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15023 Support additional subclasses. Con't clear halt yet. Activate the
15024 proper config. Calculate LUNs correctly.
15025 (grub_usbms_transfer): Various important fixups.
15026
150272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15030 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15031 (grub_ohci_fini_hw): New function.
15032 (grub_ohci_restore_hw): Likewise.
15033 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15034 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15035 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15036
150372010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 Dedicated DMA allocations.
15040
15041 * bus/pci.c (grub_memalign_dma32): New function
15042 (grub_dma_free): Likewise.
15043 (grub_dma_get_virt): Likewise.
15044 (grub_dma_get_phys): Likewise.
15045 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15046 (grub_ohci_pci_iter): Use dma32_alloc.
15047 (grub_ohci_transfer): Likewise.
15048 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15049 (grub_usb_bulk_readwrite): Likewise.
15050 * include/grub/pci.h: Add declarations.
15051
150522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 CS5536 support.
15055
15056 * bus/cs5536.c: New file.
15057 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15058 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15059 (cs5536_mod_SOURCES): New variable.
15060 (cs5536_mod_CFLAGS): Likewise.
15061 (cs5536_mod_LDFLAGS): Likewise.
15062 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15063 machine/pci.h.
15064 (kernel_img_SOURCES): Add bus/cs5536.c.
15065 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15066 usb_keyboard.mod.
15067 (usb_mod_SOURCES): New variable.
15068 (usb_mod_CFLAGS): New variable.
15069 (usb_mod_LDFLAGS): New variable.
15070 (usbtest_mod_SOURCES): New variable.
15071 (usbtest_mod_CFLAGS): New variable.
15072 (usbtest_mod_LDFLAGS): New variable.
15073 (ohci_mod_SOURCES): New variable.
15074 (ohci_mod_CFLAGS): New variable.
15075 (ohci_mod_LDFLAGS): New variable.
15076 (usbms_mod_SOURCES): New variable.
15077 (usbms_mod_CFLAGS): New variable.
15078 (usbms_mod_LDFLAGS): New variable.
15079 (usb_keyboard_mod_SOURCES): New variable.
15080 (usb_keyboard_mod_CFLAGS): New variable.
15081 (usb_keyboard_mod_LDFLAGS): New variable.
15082 * include/grub/smbus.h: New file.
15083 * include/grub/cs5536.h: New file.
15084
0b35b2a9
CW
150852010-06-02 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * util/grub.d/00_header.in: Add safety check to make sure that
15088 ${locale_dir} exists before trying to probe it.
15089
ca0afd5b
CW
150902010-06-02 Colin Watson <cjwatson@ubuntu.com>
15091
15092 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15093 per the GNU Coding Standards; this is now too obscure to be worth
15094 documenting.
15095 (QNX): Likewise.
15096 (chainloader): Remove cross-reference to `SCO UnixWare'.
15097
1c41aa78
CW
150982010-06-02 Colin Watson <cjwatson@ubuntu.com>
15099
15100 * docs/grub.texi (Chain-loading): New section.
15101 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15102 adjusted for GRUB 2.
15103 (SCO UnixWare): Likewise.
15104 (QNX): Likewise.
15105 (chainloader): Add reference to `Block list syntax'.
15106 (drivemap): New section.
15107 (parttool): New section.
15108
bb8ea0f5
CW
151092010-06-02 Colin Watson <cjwatson@ubuntu.com>
15110
15111 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15112 the grub shell'.
15113 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15114 (Installing GRUB using grub-install): Remove reference to the grub
15115 shell; mention `grub-mkimage' and `grub-setup' instead.
15116 (Invoking grub-install): Likewise.
15117 (Interface): Add reference to `Menu entry editor'.
15118 (serial): Remove `--device' option.
15119
288dd6ed
CW
151202010-06-02 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * docs/grub.texi (Configuration): New section, documenting
15123 configuration file generation using grub-mkconfig. I've left a slot
15124 for documenting the full shell scripting format but have not yet
15125 started on writing that up.
15126 (Invoking grub-mkconfig): New section.
15127
34c9f0e9
CW
151282010-06-02 Colin Watson <cjwatson@ubuntu.com>
15129
15130 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15131 (GNU GRUB manual): Likewise.
15132 (General commands): Update description of `terminfo' for GRUB 2.
15133
9121567e
CW
151342010-06-02 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15137 (GRUB_MOD_INIT): Fix capitalisation.
15138 * docs/grub.texi (Command-line and menu entry commands): Document
15139 gettext and gptsync commands.
15140
ab631611
CW
151412010-06-02 Colin Watson <cjwatson@ubuntu.com>
15142
15143 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15144 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15145
bde4a9ac
CW
151462010-06-01 Colin Watson <cjwatson@ubuntu.com>
15147
15148 Add btrfs probing support, currently only in the single-device case.
15149
15150 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15151 function.
15152 (grub_guess_root_device): Call find_root_device_from_mountinfo
15153 before looking in /dev.
15154
b1d17e10
VS
151552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15158 GRUB_DISK_SIZE_UNKNOWN.
15159 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15160
dfbfe004
JS
151612010-05-31 Jiro SEKIBA <jir@unicus.jp>
15162
15163 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15164 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15165 corrupted or not synced properly.
15166
c2ffc8e9
VS
151672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15170 Reported by: Seth Goldberg.
15171
56293166
VS
151722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15175 addition of dest.
15176 Reported by: Seth Goldberg.
15177
7620e7de
VS
151782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15181 Reported by: Seth Goldberg.
15182
c837af3f
VS
151832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15186 64-bit address as signed on MIPS.
15187
c7c75cf4
CW
151882010-05-28 Colin Watson <cjwatson@ubuntu.com>
15189
15190 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15191 to the empty string.
15192
fa4b8490
BC
151932010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15194
15195 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15196
15197 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15198 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15199 * kern/misc.c (__enable_execute_stack): Disable on
15200 GRUB_MACHINE_EMU.
15201
a33075b9
CW
152022010-05-28 Colin Watson <cjwatson@ubuntu.com>
15203
15204 Make grub-probe work with symbolic links under /dev/mapper as well
15205 as with real block devices. The Linux world seems to be (at best)
15206 in transition here, and GRUB shouldn't get caught in the middle.
15207
15208 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15209 /dev/mapper.
15210
d8708134
CW
152112010-05-27 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15214 input files (in which case exit zero).
15215
db2102a0
CW
152162010-05-27 Colin Watson <cjwatson@ubuntu.com>
15217
15218 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15219 return NULL for various reasons even if it has a maximum-length
15220 buffer: for example, there might be a symlink loop, or the path
15221 might exceed PATH_MAX. If this happens, return NULL.
15222
5fdba519
RM
152232010-05-27 Robert Millan <rmh@gnu.org>
15224
15225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15226 partmap module to handle cross-partmap setups.
15227 Reported by Orestes Mas. Gràcies!
15228
d1d368e4
CW
152292010-05-27 Colin Watson <cjwatson@ubuntu.com>
15230
15231 * util/grub-mkrescue.in: Initialise override_dir rather than
15232 assuming that it's unset or empty in the environment.
15233
95ac3c73
GS
152342010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15235
15236 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15237 variable index into p_index to suppress a warning with -Wshadow.
15238
7d8c0213
BC
152392010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15240
15241 * INSTALL: Added flex >= 2.5.35 requirement.
15242
db4d5813
VS
152432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15246
f24f4300
VS
152472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 cmostest support.
15250
15251 * commands/i386/cmostest.c: New file.
15252 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15253 (cmostest_mod_SOURCES): New variable.
15254 (cmostest_mod_CFLAGS): Likewise.
15255 (cmostest_mod_LDFLAGS): Likewise.
15256 * conf/i386-pc.rmk: Likewise.
15257 * docs/grub.texi (Vendor power-on keys): New section.
15258 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15259 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15260 and GRUB_BUTTON_CMOS_ADDRESS.
15261 * util/grub.d/00_header.in: Handle powering-on by separate button.
15262
ad603f61
VS
152632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15266 Removed drawing_scrollbar argument. All users updated
15267 Fixes #29792.
15268 Reported by Jo Shields
15269
3ecb080a
VS
152702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15273 buffer since gfxterm handles double repaint.
15274
5f2316c1
VS
152752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15278 * term/gfxterm.c (real_scroll): Likewise.
15279
9a25f885
VS
152802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15283 before calling BIOS.
15284
39fbb79a
VS
152852010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * include/grub/i18n.h: Always enable grub_gettext.
15288
228cfa97
VS
152892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15292 partition naming style.
15293
21717c8f
CW
152942010-05-21 Colin Watson <cjwatson@ubuntu.com>
15295
15296 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15297 not the first option.
15298
c0f48e65
CW
152992010-05-20 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15302
96779aec
CW
153032010-05-20 Colin Watson <cjwatson@ubuntu.com>
15304
15305 * util/misc.c: Move inclusion of <limits.h> to ...
15306 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15307
fa9d256e
GS
153082010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15309
15310 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15311 Fix merge error in NetBSD code.
15312 (find_partition_start) [__NetBSD__]: Likewise.
15313
123b7a85
BC
153142010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15315
15316 Fix grub-mkrescue usage unit testing.
15317
15318 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15319
74276c0d
CF
153202010-05-18 Christian Franke <franke@computer.org>
15321
15322 * util/grub.d/10_windows.in: Use path names instead of
15323 drive letters to prevent warning from Cygwin 1.7.
15324 Add drivemap command to menuentry if needed.
15325
c4f7b523
ST
153262010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15327
15328 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15329 gnumach and gnumach.gz.
15330
95b97950
VS
153312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * include/grub/i18n.h (gettext): Inline instead of using #define.
15334 (grub_gettext): Likewise.
15335 (_): Likewise.
15336
01b8d2d7
VS
153372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15340 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15341 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15342 (main): Add a slash after pkglibdirroot.
15343
654e1d1e
VS
153442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * util/grub-install.in: Add missing "in" keyword.
15347
26966aeb
VS
153482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15351 Reported by: Seth Goldberg.
15352
75006747
VS
153532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15356
74cbf5bd
CW
153572010-05-18 Colin Watson <cjwatson@ubuntu.com>
15358
15359 * configure.ac: Check for Linux device-mapper support.
15360
15361 * util/hostdisk.c (device_is_mapped): New function.
15362 (find_partition_start): New function, partly broken out from
15363 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15364 device-mapper support added.
15365 (linux_find_partition): Use find_partition_start.
15366 (convert_system_partition_to_system_disk): Add `st' argument.
15367 Support Linux /dev/mapper/* devices if device-mapper support is
15368 available; only DM-RAID devices are understood at present.
15369 (find_system_device): Add `st' argument. Pass it to
15370 convert_system_partition_to_system_disk.
15371 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15372 find_system_device and convert_system_partition_to_system_disk. Use
15373 find_partition_start.
15374
15375 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15376 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15377 * util/deviceiter.c [__linux__]: Define MINOR.
15378 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15379 * util/mkdevicemap.c (grub_putchar): New function.
15380 (grub_getkey): New function.
15381 (grub_refresh): New function.
15382 (main): Set debug=all if -v -v is used.
15383
355b51e9
CW
153842010-05-18 Colin Watson <cjwatson@ubuntu.com>
15385
15386 Fix build with non-GNU libcs.
15387
15388 * util/misc.c (canonicalize_file_name): Move to ...
15389 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15390 grub_make_system_path_relative_to_its_root.
15391
7fb5c25f
CW
153922010-05-18 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15395 we handle finding grub-mkimage. Default to finding grub-mkimage in
15396 ${bindir} with program_transform_name applied, and provide a
15397 --grub-mkimage option to override this.
15398
1d3293d6
VS
153992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 Remove grub-mkisofs.
15402
15403 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15404 (grub_mkisofs_SOURCES): Removed.
15405 (grub_mkisofs_CFLAGS): Removed.
15406 * util/mkisofs/defaults.h: Removed.
15407 * util/mkisofs/eltorito.c: Likewise.
15408 * util/mkisofs/exclude.h: Likewise.
15409 * util/mkisofs/hash.c: Likewise.
15410 * util/mkisofs/include/: Likewise.
15411 * util/mkisofs/include/fctldefs.h: Likewise.
15412 * util/mkisofs/include/mconfig.h: Likewise.
15413 * util/mkisofs/include/prototyp.h: Likewise.
15414 * util/mkisofs/include/statdefs.h: Likewise.
15415 * util/mkisofs/iso9660.h: Likewise.
15416 * util/mkisofs/joliet.c: Likewise.
15417 * util/mkisofs/match.c: Likewise.
15418 * util/mkisofs/match.h: Likewise.
15419 * util/mkisofs/mkisofs.c: Likewise.
15420 * util/mkisofs/mkisofs.h: Likewise.
15421 * util/mkisofs/msdos_partition.h: Likewise.
15422 * util/mkisofs/multi.c: Likewise.
15423 * util/mkisofs/name.c: Likewise.
15424 * util/mkisofs/rock.c: Likewise.
15425 * util/mkisofs/tree.c: Likewise.
15426 * util/mkisofs/write.c: Likewise.
15427
5dde9afe
VS
154282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 Unify grub-mkimage accross platforms.
15431
15432 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15433 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15434 (grub_mkelfimage_SOURCES): Removed.
15435 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15436 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15437 (bin_UTILITIES): Add grub-mkimage.
15438 (grub_mkimage_SOURCES): New variable.
15439 (kernel_img_HEADERS): Remove machine/kernel.h.
15440 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15441 (pkglib_PROGRAMS): Add kernel.img.
15442 (kernel_img_HEADERS): Add machine/kernel.h.
15443 (kernel_img_FORMAT): Removed.
15444 (bin_UTILITIES): Remove grub-mkimage.
15445 (grub_mkimage_SOURCES): Removed.
15446 (grub_mkimage_CFLAGS): Likewise.
15447 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15448 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15449 (pkglib_PROGRAMS): Add kernel.img.
15450 (bin_UTILITIES): Remove grub-mkimage.
15451 (grub_mkimage_SOURCES): Removed.
15452 (grub_mkimage_CFLAGS): Likewise.
15453 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15454 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15455 (pkglib_PROGRAMS): Add kernel.img.
15456 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15457 (pkglib_PROGRAMS): Add kernel.img.
15458 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15459 (grub_mkimage_SOURCES): Removed.
15460 (grub_mkimage_CFLAGS): Likewise.
15461 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15462 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15463 (pkglib_PROGRAMS): Add kernel.img.
15464 (bin_UTILITIES): Remove grub-mkimage.
15465 (grub_mkimage_SOURCES): Removed.
15466 (grub_mkimage_CFLAGS): Likewise.
15467 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15468 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15469 (grub_mkimage_SOURCES): Removed.
15470 (grub_mkimage_CFLAGS): Likewise.
15471 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15472 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15473 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15474 (grub_pe32_optional_header): ... this.
15475 (grub_pe64_optional_header): ... and this. All users updated.
15476 (GRUB_PE32_PE32_MAGIC): Split into ..
15477 (GRUB_PE32_PE32_MAGIC): .. this.
15478 (GRUB_PE32_PE64_MAGIC): .. and this.
15479 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15480 * include/grub/elf.h (PT_GNU_STACK): New definition.
15481 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15482 * include/grub/i386/efi/kernel.h: Likewise.
15483 * include/grub/i386/kernel.h: Likewise.
15484 * include/grub/i386/pc/kernel.h: Likewise.
15485 * include/grub/i386/qemu/boot.h: Likewise.
15486 * include/grub/mips/kernel.h: Likewise.
15487 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15488 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15489 * include/grub/powerpc/kernel.h: Likewise.
15490 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15491 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15492 * include/grub/sparc64/kernel.h: Likewise.
15493 * include/grub/x86_64/efi/kernel.h: Likewise.
15494 * include/grub/x86_64/kernel.h: Likewise.
15495 * include/grub/offsets.h: New file.
15496 * include/grub/kernel.h (grub_module_info): Split into ...
15497 (grub_module_info32): ... this.
15498 (grub_module_info64): ... and this.
15499 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15500 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15501 (grub_boot_blocklist): Moved from here ...
15502 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15503 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15504 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15505 * include/grub/types.h (grub_target_to_host16): Removed.
15506 (grub_target_to_host32): Likewise.
15507 (grub_target_to_host64): Likewise.
15508 (grub_host_to_target16): Likewise.
15509 (grub_host_to_target32): Likewise.
15510 (grub_host_to_target64): Likewise.
15511 (grub_host_to_target_addr): Likewise.
15512
15513 Support grub-mkrescue for efi, coreboot and qemu.
15514
15515 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15516 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15517 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15518 * util/grub-mkrawimage.c: Moved from here ...
15519 * util/grub-mkimage.c: ... here. All users updated.
15520 (ALIGN_ADDR): Use image_target.
15521 (TARGET_NO_FIELD): New const.
15522 (image_target_desc): New type.
15523 (image_targets): New array.
15524 (grub_target_to_host64): Use image_target.
15525 (grub_target_to_host32): Likewise.
15526 (grub_target_to_host16): Likewise.
15527 (grub_host_to_target64): Likewise.
15528 (grub_host_to_target32): Likewise.
15529 (grub_host_to_target16): Likewise.
15530 (grub_host_to_target_addr): Likewise.
15531 (generate_image): Handle multiimage.
15532 (main): Require -O parameter. All users updated.
15533 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15534 util/efi/grub-mkimage.c
15535 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15536 New option --rom-directory.
15537 Use xorriso.
15538 * util/i386/efi/grub-mkimage.c: Removed.
15539 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15540 (grub_target_to_host32): Likewise.
15541 (grub_target_to_host64): Likewise.
15542 (grub_host_to_target16): Likewise.
15543 (grub_host_to_target32): Likewise.
15544 (grub_host_to_target64): Likewise.
15545 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15546 (grub_target_to_host32): Likewise.
15547 (grub_target_to_host64): Likewise.
15548 (grub_host_to_target16): Likewise.
15549 (grub_host_to_target32): Likewise.
15550 (grub_host_to_target64): Likewise.
15551
f4fc97d0
BC
155522010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15553
15554 Source tree is reorganized for emu build.
15555
15556 * include/grub/util/console.h: Move from here...
15557 * include/grub/emu/console.h: ...to here.
15558 * include/grub/util/getroot.h: Move from here...
15559 * include/grub/emu/getroot.h: ...to here.
15560 * include/grub/util/hostdisk.h: Move from here...
15561 * include/grub/emu/hostdisk.h: ...to here.
15562 * util/console.c: Move from here...
15563 * kern/emu/console.c: ...to here.
15564 * util/getroot.c: Move from here...
15565 * kern/emu/getroot.c: ...to here.
15566 * util/grub-emu.c: Move from here...
15567 * kern/emu/main.c: ...to here.
15568 * util/hostdisk.c: Move from here...
15569 * kern/emu/hostdisk.c: ...to here.
15570 * util/hostfs.c: Move from here...
15571 * kern/emu/hostfs.c: ...to here.
15572 * util/mm.c: Move from here...
15573 * kern/emu/mm.c: ...to here.
15574 * util/pci.c: Move from here...
15575 * bus/emu/pci.c: ...to here.
15576 * util/sdl.c: Move from here...
15577 * video/emu/sdl.c: ...to here.
15578 * util/time.c: Move from here...
15579 * kern/emu/time.c: ...to here.
15580 * util/usb.c: Move from here...
15581 * bus/usb/emu/usb.c: ...to here.
15582
15583 * include/grub/emu/misc.h: New header for grub-emu functions.
15584 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15585
15586 * conf/any-emu.rmk: Rule updates for above renames.
15587 * conf/common.rmk: Likewise.
15588 * conf/i386-pc.rmk: Likewise.
15589 * conf/i386-qemu.rmk: Likewise.
15590 * conf/mips.rmk: Likewise.
15591 * conf/sparc64-ieee1275.rmk: Likewise.
15592 * conf/x86-efi.rmk: Likewise.
15593
15594 * disk/lvm.h: #include updates for above renames.
15595 * util/grub-mkrelpath.c: Likewise.
15596 * util/grub-probe.c: Likewise.
15597 * util/i386/pc/grub-setup.c: Likewise.
15598 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15599 * kern/emu/console.c: Likewise.
15600 * kern/emu/getroot.c: Likewise.
15601 * kern/emu/hostdisk.c: Likewise.
15602 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15603
15604 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15605 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15606 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15607 * util/misc.c: Remove grub-emu functions.
15608
cced9145
VS
156092010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Fix gfxmenu crash.
15612 Reported by: Thorsten Grützmacher.
15613
15614 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15615 timeout hook.
15616 (circprog_set_property): Register and unregister timeout hook.
15617 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15618 (label_destroy): Free template. and unregister hook.
15619 (label_set_state): New function.
15620 (label_set_property): Handle templates and hooks.
15621 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15622 timeout hook.
15623 (progress_bar_set_property): Register and unregister timeout hook.
15624 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15625 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15626 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15627 (update_timeout_visit): Removed.
15628 (update_timeouts): New function.
15629 (redraw_timeouts): Likewise.
15630 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15631 (grub_gfxmenu_clear_timeout): Likewise.
15632 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15633 (grub_gfxmenu_timeout_notify): Likewise.
15634 (grub_gfxmenu_timeout_notifications): New external variable.
15635 (grub_gfxmenu_timeout_register): New function.
15636 (grub_gfxmenu_timeout_unregister): Likewise.
15637
c6e5caab
VS
156382010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Transform (broken) vga terminal into (working) vga video driver.
15641
15642 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
15643 video/i386/pc/vga.c.
15644 * include/grub/video.h (grub_video_driver_id):
15645 Add GRUB_VIDEO_DRIVER_VGA.
15646 * term/i386/pc/vga.c: Renamed to ...
15647 * video/i386/pc/vga.c: ...this
15648 (DEBUG_VGA): Removed.
15649 (CHAR_WIDTH): Likewise.
15650 (CHAR_HEIGHT): Likewise.
15651 (TEXT_WIDTH): Likewise.
15652 (TEXT_HEIGHT): Likewise.
15653 (DEFAULT_FG_COLOR): Likewise.
15654 (DEFAULT_BG_COLOR): Likewise.
15655 (colored_char): Likewise.
15656 (xpos): Likewise.
15657 (ypos): Likewise.
15658 (cursor_state): Likewise.
15659 (fg_color): Likewise.
15660 (bg_color): Likewise.
15661 (text_buf): Likewise.
15662 (page): Likewise.
15663 (font): Likewise.
15664 (framebuffer): New variable.
15665 (set_read_map): Disabled.
15666 (setup): New variable.
15667 (is_target): Likewise.
15668 (grub_vga_mod_init): Likewise.
15669 (grub_vga_mod_fini): Likewise.
15670 (check_vga_mem): Likewise.
15671 (write_char): Likewise.
15672 (write_cursor): Likewise.
15673 (scroll_up): Likewise.
15674 (grub_vga_putchar): Likewise.
15675 (grub_vga_getcharwidth): Likewise.
15676 (grub_vga_getwh): Likewise.
15677 (grub_vga_getxy): Likewise.
15678 (grub_vga_gotoxy): Likewise.
15679 (grub_vga_cls): Likewise.
15680 (grub_vga_setcolorstate): Likewise.
15681 (grub_vga_setcursor): Likewise.
15682 (grub_video_vga_init): New function.
15683 (grub_video_vga_setup): Likewise.
15684 (grub_video_vga_fini): Likewise.
15685 (update_target): Likewise.
15686 (grub_video_vga_blit_bitmap): Likewise.
15687 (grub_video_vga_blit_render_target): Likewise.
15688 (grub_video_vga_set_active_render_target): Likewise.
15689 (grub_video_vga_get_active_render_target): Likewise.
15690 (grub_video_vga_swap_buffers): Likewise.
15691 (grub_video_vga_set_palette): Likewise.
15692 (grub_video_vga_get_info_and_fini): Likewise.
15693 (grub_vga_term): Removed.
15694 (grub_video_vga_adapter): New variable.
15695 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15696 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15697
2bf61a98
VS
156982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * video/readers/jpeg.c: Indented.
15701
09ddcd11
VS
157022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Various jpeg cleanups.
15705
15706 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15707 (grub_jpeg_decode_quan_table): Use sizeof.
15708 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15709
e5507505
PH
157102010-05-05 Peter Hurley <No e-mail available> (tiny change)
15711
15712 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
15713 tables. Ignore non-last ac bit.
15714 (grub_jpeg_decode_quan_table): Likewise.
15715
7e720a9b
VS
157162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
15719 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
15720 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15721 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
15722 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
15723 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
15724
a7fc080b
VS
157252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
15728 error.
15729
2bf6012d
VS
157302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
15733
265d68cd
VS
157342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
15737 condition.
15738
157392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
15740
15741 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
15742 part.
15743
265d68cd 157442010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
15745
15746 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
15747 pointers.
15748
265d68cd 157492010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
15750
15751 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
15752
d1b61374
CF
157532010-05-01 Christian Franke <franke@computer.org>
15754
15755 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
15756 Remove broken Cygwin path conversion.
15757 * util/misc.c: [__CYGWIN__] Add include and define.
15758 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
15759 for Cygwin 1.7.
15760 (make_system_path_relative_to_its_root): Simplify loop, replace early
15761 return by break.
15762 [__CYGWIN__] Add conversion to win32 path.
15763 Include "/" case in trailing slash removal.
15764
3558c6e9
VS
157652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * kern/main.c (grub_load_config): Fix copy-pasted comment.
15768 Reported by: Seth Goldberg
15769
f5f3ff93
VS
157702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * commands/help.c (grub_cmd_help): Fix a typo.
15773 Reported by: Seth Goldberg
15774
d8b5cd40
VS
157752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
15778 name and add N_.
15779 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
15780 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
15781 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
15782 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
15783 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
15784 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
15785 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15786 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15787 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15788 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15789 * normal/context.c (GRUB_MOD_INIT): Likewise.
15790 * normal/main.c (GRUB_MOD_INIT): Likewise.
15791 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15792 * term/serial.c (GRUB_MOD_INIT): Likewise.
15793 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15794
88c14915
VS
157952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
15798 extra == 0.
15799
165134bc
VS
158002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * commands/iorw.c: New file.
15803 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
15804 (iorw_mod_SOURCES): New variable.
15805 (iorw_mod_CFLAGS): Likewise.
15806 (iorw_mod_LDFLAGS): Likewise.
15807
c5ac9b32
VS
158082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 Hotkey support
15811
15812 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
15813 * normal/main.c (hotkey_aliases): New variable.
15814 (grub_normal_add_menu_entry): Parse "--hotkey".
15815 * normal/menu_text.c (run_menu): Handle hotkeys.
15816
ce60689c
VS
158172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * kern/i386/coreboot/init.c (grub_machine_init): Call
15820 grub_machine_mmap_init on qemu.
15821
0359d006
VS
158222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * boot/i386/qemu/boot.S: Add a missing .code16.
15825
7819a456
VS
158262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 Use LBIO on coreboot.
15829
15830 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
15831 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
15832 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
15833 New declaration.
15834 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
15835 grub_machine_mmap_init on coreboot.
15836 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
15837 GRUB_LINUXBIOS_MEMBER_LINK.
15838 (grub_machine_mmap_iterate): Fix declaration.
15839 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
15840
7210dca9
VS
158412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Split coreboot and multiboot ports.
15844
15845 * conf/i386-multiboot.rmk: New file.
15846 * configure.ac: Add multiboot port.
15847 * include/grub/i386/multiboot/boot.h: New file.
15848 * include/grub/i386/multiboot/console.h: Likewise.
15849 * include/grub/i386/multiboot/init.h: Likewise.
15850 * include/grub/i386/multiboot/kernel.h: Likewise.
15851 * include/grub/i386/multiboot/loader.h: Likewise.
15852 * include/grub/i386/multiboot/memory.h: Likewise.
15853 * include/grub/i386/multiboot/serial.h: Likewise.
15854 * include/grub/i386/multiboot/time.h: Likewise.
15855 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
15856 * loader/multiboot.c: Likewise.
15857 * loader/multiboot_mbi2.c: Likewise.
15858 * util/grub-mkrescue.in: Generate multiboot rescue.
15859
6f8aaf68
VS
158602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15861
3080f7a7
VS
15862 * kern/parser.c (grub_parser_execute): Cope with read-only config.
15863
158642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
15867
15868 * commands/terminal.c (abstract_terminal): New struct.
15869 (handle_command): New function. Based on grub_cmd_terminal_input.
15870 (grub_cmd_terminal_input): Use handle_command.
15871 (grub_cmd_terminal_output): Use handle_command.
15872
a8ebb841
BC
158732010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
15874
15875 Fix comment handling.
15876
15877 * tests/grub_script_comments.in: New testcase.
15878 * conf/tests.rmk: Rules for new testcase.
15879 * script/yylex.l: Updated flex rules.
15880
bb06ba08
ST
158812010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15882
15883 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
15884 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15885 if argc is 1.
bb06ba08 15886
cc9d2425
VS
158872010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15890 autogen issues.
15891
460d8402
CF
158922010-04-26 Christian Franke <franke@computer.org>
15893
15894 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15895 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15896 (grub_get_prefix): Remove function.
15897 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15898 make_system_path_relative_to_its_root ().
15899 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15900
553c01f9
CF
159012010-04-24 Christian Franke <franke@computer.org>
15902
15903 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15904 (kernel_img_LDFLAGS): Remove -static-libgcc.
15905
2aec1692
CF
159062010-04-24 Christian Franke <franke@computer.org>
15907
15908 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15909 and CHECK_END_SYMBOL if grub-emu is built.
15910 Unset TARGET_OBJ2ELF if grub-emu is built
15911 without module support.
15912
f67dc308
JS
159132010-04-24 Jiro SEKIBA <jir@unicus.jp>
15914
15915 Nilfs2 support.
15916
15917 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15918 (grub_fstest_SOURCES): Likewise.
15919 (pkglib_MODULES): Add nilfs2.mod.
15920 (nilfs2_mod_SOURCES): New variable.
15921 (nilfs2_mod_CFLAGS): Likewise.
15922 (nilfs2_mod_LDFLAGS): Likewise.
15923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15924 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15925 * fs/nilfs2.c: New file.
15926
4ba8d354
VS
159272010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15930 is not supported.
15931
0d2c20c6
GS
159322010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15933
15934 Add grub-mkconfig support for NetBSD.
15935
15936 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15937 * util/grub-mkconfig.in: export new NetBSD specific variables.
15938 * po/POTFILES-shell: added 10_netbsd.in.
15939 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15940
bc4a2d83
BC
159412010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15942
15943 Fix emu build with grub-emu-pci and grub-emu-modules.
15944
15945 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15946 functions.
15947 * include/grub/libpciaccess.h: New file.
15948 * conf/any-emu.rmk: Update kernel headers for emu build.
15949
f48c87aa
VS
159502010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15953
18959385
VS
159542010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15957
0037de3f
VS
159582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15961 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15962 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15963 util/ieee1275/ofpath.c.
15964 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15965 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15966 * include/grub/sparc64/ieee1275/boot.h
15967 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15968 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15969 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15970 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15971 const char *.
15972 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15973 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15974 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15975 install.
15976
38e55e90
GS
159772010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15978
15979 * util/grub-mkconfig.in: Corrected two == equality tests.
15980 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15981 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15982 expect a number appended to it.
15983 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15984 expects a number appended to it.
15985
a9e6ff28
VS
159862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15989
0b830b8f
VS
159902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * util/hostdisk.c (make_device_name): Change to new partition naming.
15993
0973daeb
VS
159942010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15997
460d8402 159982010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
15999
16000 * Makefile.in: Add missing localedir setting.
16001
0b456309
CW
160022010-04-14 Colin Watson <cjwatson@ubuntu.com>
16003
16004 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16005 mistake in r2156. Noticed by Anthony Fok.
16006
16007 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16008 @localedir@.
16009 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16010
08f46d62
BC
160112010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16012
16013 Fix a spurious, uninitialized variable warning.
16014
16015 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16016 Initialize variable, shdr.
16017 (grub_freebsd_load_elfmodule): Likewise.
16018 (grub_freebsd_load_elf_meta): Likewise.
16019
8c4a72d4
BC
160202010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16021
16022 Fix for escaped dollar in double quoted strings.
16023
16024 * script/yylex.l: Updated flex rules.
16025 * conf/tests.rmk: Rule for new testcase.
16026 * tests/grub_script_dollar.in: New testcase.
16027
ce44826e
CPE
160282010-04-13 Carles Pina i Estany <carles@pina.cat>
160292010-04-13 Colin Watson <cjwatson@ubuntu.com>
16030
16031 Enclose all translated strings in grub.cfg in single quotes, and
16032 escape them appropriately (Ubuntu bug #552921).
16033
16034 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16035 * util/grub.d/10_hurd.in: Use it.
16036 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16037 * util/grub.d/10_linux.in (linux_entry): Likewise.
16038
4b0cd8f8
VS
160392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 Fix cygwin compilation.
16042
16043 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16044 * include/grub/misc.h (__register_frame_info)
16045 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16046 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16047 * kern/misc.c (__register_frame_info)
16048 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16049 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16050
01fcf061
VS
160512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16054
5d04b11e
VS
160552010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 Unify libgcc processing.
16058
16059 * Makefile.in (kernel_img_LDFLAGS): New variable.
16060 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16061 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16062 overwriting.
16063 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16064 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16065 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16066 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16067 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16068 overwriting. Remove -lgcc and -static-libgcc
16069 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16070 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16071 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16072 (kernel_img_LDFLAGS): Append instead of overwriting.
16073 Remove -lgcc and -static-libgcc
16074 * conf/sparc64-ieee1275.rmk: Likewise.
16075 * include/grub/powerpc/libgcc.h: Move to ...
16076 * include/grub/libgcc.h: .. this.
16077 * include/grub/libgcc.h: Don't export most of the function on x86.
16078 (__bswapsi2): New export.
16079 (__bswapdi2): Likewise.
16080 * include/grub/mips/libgcc.h: Removed.
16081 * include/grub/sparc64/libgcc.h: Likewise.
16082
b7f3ac29
VS
160832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16086 disk_info_msg (conflicts with gettexting into languages with cases).
16087
2c7031b1
GS
160882010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16089
16090 Add grub-probe support for NetBSD.
16091
16092 * util/getroot.c (find_root_device): Convert block device to
16093 character device on NetBSD.
16094 * util/probe.c (probe): Require character device on NetBSD.
16095 * util/hostdisk.c: NetBSD specific headers.
16096 (configure_device_driver): new function to tune device driver
16097 parameters (currently only for NetBSD floppy driver).
16098 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16099 via disklabel ioctl).
16100 (open_device): call configure_device_driver on NetBSD.
16101 (convert_system_partition_to_system_disk): NetBSD specific code.
16102 (device_is_wholedisk): Likewise.
16103 (grub_util_biosdisk_get_grub_dev): Likewise.
16104 (make_device_name): Fixed a typo in bsd_part_str.
16105 * configure.ac: check for opendisk() and getrawpartition() on
16106 NetBSD and set LIBUTIL.
16107 * Makefile.in: add LIBUTIL to LIBS.
16108
f516290c
BC
161092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16110
16111 Documentation fix.
16112
16113 * util/grub-script-check.c: Better help message.
16114
d8dcc0df
BC
161152010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16116
16117 Fix FreeBSD build.
16118
16119 * configure.ac: Flex version check.
16120 * conf/common.rmk: Add -Wno-error to sh.mod.
16121 * script/yylex.l: Remove all #pragma.
16122
6734334a
VS
161232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16126 prototype.
16127 Reported by: Seth Goldberg.
16128
daea6abd
VS
161292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16132 Rename "module" to "module2".
16133 Reported by: Seth Goldberg.
16134
f2fd9d2b
VS
161352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16138 EXPORT_FUNC.
16139 Reported by: Seth Goldberg.
16140
be124579
VS
161412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * lib/posix_wrap/locale.h: Add missing file.
16144 Reported by: Seth Goldberg.
16145
ef5da797
VS
161462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 grub-emu module load support.
16149
16150 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16151 NO_DYNAMIC_MODULES switched to this.
16152 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16153 (CFLAGS): Likewise.
16154 * conf/any-emu.rmk: Generate symlist.
16155 (kernel_img_HEADERS): Add util/datetime.h.
16156 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16157 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16158 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16159 kern/$(target_cpu)/cache.S.
16160 * configure.ac (grub-emu-modules): New option.
16161 * genmk.rb: Handle multiple source lists.
16162 * include/grub/sdl.h: New file.
16163 * include/grub/libusb.h: Likewise.
16164 * util/grub-emu.c (main): Hanle (host) root.
16165 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16166 GRUB_ERR_UNKNOWN_DEVICE.
16167 * util/misc.c: Move mm functions to ...
16168 * util/mm.c: ... here. All users updated.
16169
47822096
VS
161702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16173 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16174 missing files.
16175 (maintainer-clean): Remove libgcrypt-grub.
16176
5d7e7445
VS
161772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16180
25f4e252
EC
161812010-04-09 EFI Coder <eficoder@hotmail.com>
16182
16183 * normal/menu_text.c (print_message): Clean up the message and show
16184 the Fn information when on EFI
16185 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16186
027de555
VS
161872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16190 All users updated.
16191 * normal/crypto.c (read_crypto_list): Likewise.
16192 * normal/dyncmd.c (read_command_list): Likewise.
16193 * normal/term.c (read_terminal_list): Likewise.
16194 * normal/main.c (read_lists): Use explicit prefix.
16195 (read_lists_hook): Use read_lists.
16196 (grub_normal_execute): Likewise.
16197
47779711
VS
161982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16201 Reported by: Thomas Schmitt.
16202 Add -no-emul-boot to grub-mkisofs parameters.
16203
1118c32e
VS
162042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * font/font.c: Indented.
16207
7d652447
BC
162082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16209
16210 Elif support to GRUB script (by Deepak Vankadaru).
16211
16212 * tests/grub_script_if.in: New testcase.
16213 * conf/tests.rmk: Rule for new testcase.
16214 * script/parser.y: Grammar rules for elif.
16215
34bb22df
BC
162162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16217
16218 While and until loops support to GRUB script.
16219
16220 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16221 (grub_script_create_cmdwhile): New function prototype.
16222 (grub_script_execute_cmdwhile): New function prototype.
16223 * script/execute.c (grub_script_execute_cmdwhile): New function.
16224 * script/parser.y (command): New commands.
16225 (whilecmd): New grammar rule.
16226 (untilcmd): New grammar rule.
16227 * script/script.c (grub_script_create_cmdwhile): New function.
16228 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16229 function.
16230
16231 * tests/grub_script_while1.in: New testcase.
16232 * conf/tests.rmk: Rule for new testcase.
16233
e215d8e0
VS
162342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16237 as *.jpg.
16238
d7c43ba1
MV
162392010-04-09 Mario Vazquez <mariovazq@gmail.com>
16240
16241 GRUB_BACKGROUND support.
16242
16243 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16244 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16245
d64795c0
VS
162462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16249 Idea by: Mario Vazquez
d64795c0
VS
16250
16251 * util/grub.d/00_header.in: Load pf2 and image modules.
16252
f267f83a
VS
162532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 grub-mkconfig multiple terminal support.
16256
16257 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16258 * util/grub.d/00_header.in: Likewise.
16259
b7841ceb
VS
162602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16263 we use cd $(srcdir).
16264
df60998c
CW
162652010-04-08 Colin Watson <cjwatson@ubuntu.com>
16266
16267 * util/grub.d/10_linux.in: Only use the first word of
16268 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16269 spaces in GRUB_DISTRIBUTOR.
16270 * util/grub.d/10_kfreebsd.in: Likewise.
16271 * util/grub.d/10_hurd.in: Likewise.
16272
fa09c82e
BC
162732010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16274
14e18ae3 16275 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16276
16277 * tests/util/grub-shell.in: Remove -serial stdio option.
16278
daf892b3
BC
162792010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 POSIX header file wrappers.
16282
16283 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16284 equivalents.
16285 * lib/posix_wrap/ctype.h: Likewise.
16286 * lib/posix_wrap/errno.h: Likewise.
16287 * lib/posix_wrap/langinfo.h: Likewise.
16288 * lib/posix_wrap/limits.h: Likewise.
16289 * lib/posix_wrap/localcharset.h: Likewise.
16290 * lib/posix_wrap/stdint.h: Likewise.
16291 * lib/posix_wrap/stdio.h: Likewise.
16292 * lib/posix_wrap/stdlib.h: Likewise.
16293 * lib/posix_wrap/string.h: Likewise.
16294 * lib/posix_wrap/sys/types.h: Likewise.
16295 * lib/posix_wrap/unistd.h: Likewise.
16296 * lib/posix_wrap/wchar.h: Likewise.
16297 * lib/posix_wrap/wctype.h: Likewise.
16298 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16299 (grub_script.yy.h): Likewise.
16300 * script/yylex.l: Remove POSIX emulation #defines.
16301 * Makefile.in (POSIX_CFLAGS): New variable.
16302 (GNULIB_UTIL_CFLAGS): Likewise.
16303
16304 Regexp support.
16305
16306 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16307 (regexp_mod_SOURCES): New variable.
16308 (regexp_mod_CFLAGS): Likewise.
16309 (regexp_mod_LDFLAGS): Likewise.
16310 * commands/regexp.c: New file.
16311 * gnulib/regcomp.c: New file. Imported from gnulib.
16312 * gnulib/regex.c: Likewise.
16313 * gnulib/regex_internal.c: Likewise.
16314 * gnulib/regex_internal.h: Likewise.
16315 * gnulib/regexec.c: Likewise.
16316 * gnulib/regex.h: Likewise.
16317
974ac4f7
VS
163182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16321 unsupported video mode types.
16322
2622c3ff
VS
163232010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16326
064cb524
VS
163272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16330 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16331
a8c3b552
VS
163322010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 Remove unused grub_vga_get_font.
16335
16336 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16337 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16338
187bbe3d
GS
163392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16340
16341 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16342 * include/grub/misc.h: Likewise.
16343
b9396631
GS
163442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16345
16346 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16347 for which failure is fatal.
16348
50479feb
GS
163492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16350
16351 * util/grub-install.in: Use mkdir -p to create grub directory.
16352 * util/i386/efi/grub-install.in: Likewise.
16353 * util/ieee1275/grub-install.in: Likewise.
16354
b1654fdf
GS
163552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16356
16357 * Makefile.in (LEX): new variable.
16358
bd5a6415
GS
163592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16360
16361 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16362 `=' and added double quotes on operands of this equality test.
16363
3db3a82b
VS
163642010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * Makefile.in (uninstall): Remove a leftover debug echo.
16367 Reported by: Grégoire Sutre
16368
38023412
VS
163692010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 MIPS multiboot2 support.
16372
16373 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16374 (multiboot2_mod_SOURCES): New variable.
16375 (multiboot2_mod_CFLAGS): Likewise.
16376 (multiboot2_mod_LDFLAGS): Likewise.
16377 (multiboot2_mod_ASFLAGS): Likewise.
16378 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16379 definition.
16380 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16381 (MULTIBOOT_MBI_REGISTER): Likewise.
16382 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16383 (MULTIBOOT_ELF32_MACHINE): Likewise.
16384 (MULTIBOOT_ELF64_MACHINE): Likewise.
16385 * include/grub/mips/multiboot.h: New file.
16386 * include/grub/video.h (grub_video_driver_id): New type
16387 GRUB_VIDEO_DRIVER_SM712.
16388 (grub_video_get_info_and_fini): Export.
16389 (grub_video_get_palette): Likewise.
16390 (grub_video_get_driver_id): Likewise.
16391 * include/multiboot2.h: Resynced with spec.
16392 * loader/i386/multiboot.c: Moved from here ...
16393 * loader/multiboot.c: ... here. All users updated.
16394 (grub_multiboot_boot): Use platform-specific macros.
16395 * loader/i386/multiboot_elfxx.c: Moved from here ...
16396 * loader/multiboot_elfxx.c: ... here. All users updated.
16397 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16398 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16399 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16400
47674667
VS
164012010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 Import gnulib argp module.
16404
16405 * gnulib/argp-ba.c: New file.
16406 * gnulib/argp-eexst.c: Likewise.
16407 * gnulib/argp-fmtstream.c: Likewise.
16408 * gnulib/argp-fmtstream.h: Likewise.
16409 * gnulib/argp-fs-xinl.c: Likewise.
16410 * gnulib/argp-help.c: Likewise.
16411 * gnulib/argp-namefrob.h: Likewise.
16412 * gnulib/argp-parse.c: Likewise.
16413 * gnulib/argp-pin.c: Likewise.
16414 * gnulib/argp-pv.c: Likewise.
16415 * gnulib/argp-pvh.c: Likewise.
16416 * gnulib/argp-version-etc.c: Likewise.
16417 * gnulib/argp-version-etc.h: Likewise.
16418 * gnulib/argp-xinl.c: Likewise.
16419 * gnulib/argp.h: Likewise.
16420
495442ed
VS
164212010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * kern/device.c (grub_device_iterate): Clear errors after failed
16424 opening device.
16425
f9fd65df
VS
164262010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16429 returned by firmware.
16430
af09641e
VS
164312010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16434 compilation on coreboot and qemu
16435
016883a5
VS
164362010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * include/multiboot2.h: Resync with spec.
16439
f97e1f7d
VS
164402010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Multiboot2 tag support
16443
16444 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16445 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16446 Remove loader/multiboot_loader.c.
16447 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16448 (grub_multiboot2_real_boot): Likewise.
16449 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16450 (grub_get_multiboot_mmap_count): New proto.
16451 (grub_fill_multiboot_mmap): Likewise.
16452 (grub_multiboot_set_video_mode): Likewise.
16453 (grub_multiboot_set_console): Likewise.
16454 (grub_multiboot_load): Likewise.
16455 (grub_multiboot_load_elf): Likewise.
16456 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16457 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16458 * include/multiboot.h: Resynced with specification.
16459 * include/multiboot2.h: Resynced with specification.
16460 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16461 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16462 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16463 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16464 users updated.
16465 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16466 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16467 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16468 Removed.
16469 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16470 Moved from here...
16471 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16472 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16473 Moved from here...
16474 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16475 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16476 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16477 All users updated.
16478 * loader/i386/multiboot_mbi2.c: New file.
16479
3506b90b
VS
164802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 Resync with gnulib.
16483
16484 * Makefile.in (GNULIB_CFLAGS): New variable.
16485 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16486 (grub_script_check_CFLAGS): New variable.
16487 * gnulib/alloca.h: Resync with gnulib.
16488 * gnulib/error.c: Likewise.
16489 * gnulib/error.h: Likewise.
16490 * gnulib/fnmatch.c: Likewise.
16491 * gnulib/fnmatch_loop.c: Likewise.
16492 * gnulib/getdelim.c: Likewise.
16493 * gnulib/getline.c: Likewise.
16494 * gnulib/getopt.c: Likewise.
16495 * gnulib/getopt1.c: Likewise.
16496 * gnulib/getopt_int.h: Likewise.
16497 * gnulib/gettext.h: Likewise.
16498 * gnulib/progname.c: Likewise.
16499 * gnulib/progname.h: Likewise.
16500
394a3120
GS
165012010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16502
16503 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16504 which is the case with --disabled-nls.
16505
16506 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16507 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16508 * util/misc.c: Likewise.
16509 * util/mkisofs/mkisofs.c: Likewise.
16510 * util/mkisofs/mkisofs.h: Likewise.
16511
969d1c78
VS
165122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16513
16514 Simplify Apple CC support.
16515
16516 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16517 Add 0 byte at the end not to have a symbol with empty target.
16518 * mmap/i386/pc/mmap_helper.S: Likewise.
16519 * genmk.rb: Ignore errors 2030 and 2050.
16520 * kern/i386/pc/startup.S: Use LOCAL when possible.
16521
8d2977bb
BC
165222010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16523
16524 Testcase and the fix for final semicolon on cmdline.
16525
16526 * tests/grub_script_final_semicolon.in: New testcase.
16527 * conf/tests.rmk: Rules for the new testcase.
16528 * script/parser.y: Grammar fix.
16529
a7bd6915
BC
165302010-03-26 BVK Chaitanya <bvk@localhost>
16531
16532 Blank lines testcase for GRUB script.
16533
16534 * tests/grub_script_blanklines.in: New testcase.
16535 * conf/tests.rmk: Rules for the new testcase.
16536
e4ff6628
VS
165372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Don't use __FILE__.
16540
16541 * genmk.rb: Add -DGRUB_FILE to all C targets.
16542 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16543 * include/grub/list.h: Likewise.
16544 * include/grub/misc.h: Likewise.
16545 * include/grub/mm.h: Likewise.
16546 * include/grub/test.h: Likewise.
16547 * kern/mm.c: Likewise.
16548 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16549
6a5cf6b6
VS
165502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Sunpc partitions support.
16553
16554 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16555 (grub_fstest_SOURCES): Likewise.
16556 (pkglib_MODULES): Add part_sunpc.mod.
16557 (part_sunpc_mod_SOURCES): New variable.
16558 (part_sunpc_mod_CFLAGS): Likewise.
16559 (part_sunpc_mod_LDFLAGS): Likewise.
16560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16561 * partmap/sunpc.c: New file.
16562
746d9045
BC
165632010-03-26 BVK Chaitanya <bvk@localhost>
16564
16565 For loop support to GRUB script.
16566
16567 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16568 (grub_script_create_cmdfor): New function prototype.
16569 (grub_script_execute_cmdfor): New function prototype.
16570 * script/execute.c (grub_script_execute_cmdfor): New function.
16571 * script/parser.y (command): New for command.
16572 (forcmd): New grammar rule.
16573 * script/script.c (grub_script_create_cmdfor): New function.
16574 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16575 function.
16576 * tests/grub_script_for1.in: New testcase.
16577 * conf/tests.rmk: Rules for new testcase.
16578
18486b18
VS
165792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Nested partitions
16582
16583 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16584 'partition' is NULL, grub_partition_get_start already does that.
16585 * commands/loadenv.c (check_blocklists): Likewise.
16586 (write_blocklists): Likewise.
16587 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16588 (grub_fstest_SOURCES): Likewise.
16589 (pkglib_MODULES): Add part_bsd.mod.
16590 (part_bsd_mod_SOURCES): New variable.
16591 (part_bsd_mod_CFLAGS): Likewise.
16592 (part_bsd_mod_LDFLAGS): Likewise.
16593 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16594 (grub_emu_SOURCES): Likewise.
16595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16596 * include/grub/bsdlabel.h: New file.
16597 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16598 'get_name'.
16599 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16600 (grub_partition_map_list): New variable.
16601 (grub_partition_map_register): Inline.
16602 (grub_partition_map_unregister): Likewise.
16603 (FOR_PARTITION_MAPS): New macro.
16604 (grub_partition_map_iterate): Removed.
16605 (grub_partition_get_start): Handle nested partitions.
16606 * include/grub/msdos_partition.h: Remove bsd-related entries.
16607 (grub_pc_partition): Remove.
16608 * kern/disk.c (grub_disk_close): Free partition data.
16609 (grub_disk_adjust_range): Handle nested partitions.
16610 * kern/partition.c (grub_partition_map_probe): New function.
16611 (grub_partition_probe): Parse name to number, handle subpartitions.
16612 (get_partmap): New function.
16613 (grub_partition_iterate): Handle subpartitions.
16614 (grub_partition_get_name): Likewise.
16615 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16616 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16617 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16618 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16619 Set 'number'.
16620 (acorn_partition_map_probe): Remove.
16621 (acorn_partition_map_get_name): Likewise.
16622 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16623 Set 'number'.
16624 Set 'index' to 0 since there can be only one partition entry per sector.
16625 (amiga_partition_map_probe): Remove.
16626 (amiga_partition_map_get_name): Likewise.
16627 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16628 Set 'number'.
16629 Set 'offset' and 'index' to real positions of partitions.
16630 (apple_partition_map_probe): Remove.
16631 (apple_partition_map_get_name): Likewise.
16632 * partmap/bsdlabel.c: New file.
16633 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16634 Set 'number'.
16635 Allocate 'data' so it can be correctly freed.
16636 Set 'index' to offset inside sector.
16637 (gpt_partition_map_probe): Remove.
16638 (gpt_partition_map_get_name): Likewise.
16639 * partmap/msdos.c (grub_partition_parse): Remove.
16640 (pc_partition_map_iterate): Don't force raw access.
16641 Set 'number'.
16642 Make 'ext_offset' a local variable.
16643 (pc_partition_map_probe): Remove.
16644 (pc_partition_map_get_name): Remove.
16645 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16646 Set 'number'.
16647 (sun_partition_map_probe): Remove.
16648 (sun_partition_map_get_name): Likewise.
16649 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16650 (grub_pcpart_type): Likewise.
16651 * util/hostdisk.c (open_device): Handle new numbering scheme.
16652 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16653 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16654 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16655 * util/grub-install.in: Insert all subpartition modules.
16656 * util/ieee1275/grub-install.in: Likewise.
16657
a3940f88
AG
166582010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16659
16660 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16661 grammar.
16662
21b99926 166632010-03-24 Colin Watson <cjwatson@ubuntu.com>
16664
16665 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16666
bed1d352
CW
166672010-03-21 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16670 match where 'make install' puts them.
16671 * util/i386/efi/grub-install.in: Likewise.
16672
c9f58427
CW
166732010-03-19 Colin Watson <cjwatson@ubuntu.com>
16674
16675 * .bzrignore: Add gentrigtables, grub-script-check,
16676 grub_script_check_init.c, grub_script_check_init.h, and
16677 trigtables.c.
16678
f84afb27
VS
166792010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * kern/parser.c: Indented.
16682
ed0e3d30
VS
166832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16686
0ea81d98
VS
166872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16690 alpha_mask_size == 0 case.
16691
0cdc2a09
BC
166922010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16693
16694 GRUB shell lexer and parser improvements.
16695
16696 * conf/any-emu.rmk: Build rule updates.
16697 * conf/common.rmk: Likewise.
16698 * conf/i386-coreboot.rmk: Likewise.
16699 * conf/i386-efi.rmk: Likewise.
16700 * conf/i386-ieee1275.rmk: Likewise.
16701 * conf/i386-pc.rmk: Likewise.
16702 * conf/powerpc-ieee1275.rmk: Likewise.
16703 * conf/x86_64-efi.rmk: Likewise.
16704
16705 * configure.ac: Configure check for flex.
16706
16707 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16708 types.
16709 (grub_lexer_param): Struct member updates.
16710 (grub_parser_param): Likewise.
16711 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
16712 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
16713 (grub_script_lexer_init): Prototype update.
16714 (grub_script_lexer_record_start): Likewise.
16715 (grub_script_lexer_record_stop): Likewise.
16716 (grub_script_lexer_yywrap): New function prototype.
16717 (grub_script_lexer_fini): Likewise.
16718 (grub_script_execute_argument_to_string): Removed by...
16719 (grub_script_execute_argument_to_argv): ...better version.
16720
16721 * script/execute.c (ROUND_UPTO): New macro.
16722 (grub_script_execute_cmdline): Out of memory fixes.
16723 (grub_script_execute_menuentry): Likewise.
16724 (grub_script_execute_argument_to_string): Removed. Update all
16725 users by...
16726 (grub_script_execute_argument_to_argv): ...better version.
16727 * script/function.c (grub_script_function_create): Use
16728 grub_script_execute_argument_to_argv instead of
16729 grub_script_execute_argument_to_string.
16730
16731 * script/lexer.c (check_varstate): Removed.
16732 (check_textstate): Removed.
16733 (grub_script_lexer_record_start): Likewise.
16734 (grub_script_lexer_record_stop): Likewise.
16735 (recordchar): Replaced with...
16736 (grub_script_lexer_record): ...new function.
16737 (nextchar): Removed.
16738 (grub_script_lexer_init): Rewritten.
16739 (grub_script_yylex): Rewritten.
16740 (append_newline): New function.
16741 (grub_script_lexer_yywrap): New function.
16742 (grub_script_lexer_fini): New function.
16743 (grub_script_yyerror): Sets error flag.
16744
16745 * script/yylex.l: New file.
16746 (grub_lexer_yyfree): Wrapper for flex yyffre.
16747 (grub_lexer_yyalloc): Likewise.
16748 (grub_lexer_yyrealloc): Likewise.
16749 * script/parser.y: Refactored.
16750
16751 * script/script.c (grub_script_arg_add): Out of memory fixes.
16752 (grub_script_add_arglist): Likewise.
16753 (grub_script_create_cmdline): Likewise.
16754 (grub_script_create_cmdmenu): Likewise.
16755 (grub_script_add_cmd): Likewise.
16756 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
16757 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
16758 unnecessary code.
16759
16760 * tests/grub_script_echo1.in: New testcase.
16761 * tests/grub_script_vars1.in: New testcase.
16762 * tests/grub_script_echo_keywords.in: New testcase.
16763
1d63a066
VS
167642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Remove some redundancy in build system.
16767
16768 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
16769 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
16770 (TARGET_LDFLAGS): Add -nostdlib.
16771 (TARGET_IMG_LDFLAGS): Likewise.
16772 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
16773 anything since mmap isn't available.
16774 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
16775 Add util/time.c.
16776 (pkglib_MODULES): Remove reboot.mod.
16777 (reboot_mod_SOURCES): Removed.
16778 (reboot_mod_CFLAGS): Likewise.
16779 (reboot_mod_LDFLAGS): Likewise.
16780 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
16781 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
16782 (DEFSYMFILES): Add kernel_syms.lst.
16783 (kernel_img_HEADERS): Add common headers.
16784 (symlist.c): New target.
16785 (kernel_syms.lst): Likewise.
16786 (pkglib_MODULES): Add memdisk.mod.
16787 (memdisk_mod_SOURCES): New variable.
16788 (memdisk_mod_CFLAGS): Likewise.
16789 (memdisk_mod_LDFLAGS): Likewise.
16790 (pkglib_MODULES): Add reboot.mod.
16791 (reboot_mod_SOURCES): New variable.
16792 (reboot_mod_CFLAGS): Likewise.
16793 (reboot_mod_LDFLAGS): Likewise.
16794 (pkglib_MODULES): Add date.mod.
16795 (date_mod_SOURCES): New variable.
16796 (date_mod_CFLAGS): Likewise.
16797 (date_mod_LDFLAGS): Likewise.
16798 (pkglib_MODULES): Add datehook.mod.
16799 (datehook_mod_SOURCES): New variable.
16800 (datehook_mod_CFLAGS): Likewise.
16801 (datehook_mod_LDFLAGS): Likewise.
16802 (pkglib_MODULES): Add lsmmap.mod.
16803 (lsmmap_mod_SOURCES): New variable.
16804 (lsmmap_mod_CFLAGS): Likewise.
16805 (lsmmap_mod_LDFLAGS): Likewise.
16806 (pkglib_MODULES): Add boot.mod.
16807 (boot_mod_SOURCES): New variable.
16808 (boot_mod_CFLAGS): Likewise.
16809 (boot_mod_LDFLAGS): Likewise.
16810 * conf/i386-coreboot.rmk: Removed redundant parts.
16811 * conf/i386-ieee1275.rmk: Likewise.
16812 * conf/i386-pc.rmk: Likewise.
16813 * conf/mips-yeeloong.rmk: Likewise.
16814 * conf/mips.rmk: Likewise.
16815 * conf/powerpc-ieee1275.rmk: Likewise.
16816 * conf/sparc64-ieee1275.rmk: Likewise.
16817 * conf/x86_64-efi.rmk: Likewise.
16818 * conf/i386-coreboot.rmk: Moved qemu parts ..
16819 * conf/i386-qemu.rmk: ... here
16820 * conf/i386-efi.rmk: Moved common parts to...
16821 * conf/x86-efi.rmk: ... here.
16822 * conf/i386.rmk: Added modules common to all x86 variants.
16823 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
16824 * disk/memdisk.c: Remove grub/machine/kernel.h.
16825 * gensymlist.sh.in: Include symbol.h.
16826 * hook/datehook.c: Correct module name.
16827 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
16828 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
16829 * include/grub/i386/efi/serial.h: New file.
16830 * include/grub/x86_64/efi/serial.h: Likewise.
16831 * util/time.c: Likewise.
16832 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
16833
463ac55f
CK
168342010-03-14 Colin King <colin.king@ubuntu.com>
168352010-03-14 Colin Watson <cjwatson@ubuntu.com>
16836
16837 Shrink the pre-partition-table part of boot.img by eight bytes.
16838
16839 * boot/i386/pc/boot.S (ERR): New macro.
16840 (chs_mode): Use ERR.
16841 (geometry_error): Likewise.
16842 (hd_probe_error): Remove. This is only used once, so we wrwite
16843 it inline instead.
16844 (read_error): Instead of printing read_error_string, just set up
16845 %si and fall through to ...
16846 (error_message): ... this new function, also used by ERR.
16847
08e46ede
CW
168482010-03-14 Colin Watson <cjwatson@ubuntu.com>
16849
16850 Speed up consecutive hostdisk operations on the same device.
16851
16852 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
16853 (grub_util_biosdisk_open): Initialise disk->data.
16854 (struct linux_partition_cache): New structure.
16855 (linux_find_partition): Cache partition start positions; these are
16856 expensive to compute on every read and write.
16857 (open_device): Cache open file descriptor in disk->data, so that we
16858 don't have to reopen it and flush the buffer cache for consecutive
16859 operations on the same device.
16860 (grub_util_biosdisk_close): New function.
16861 (grub_util_biosdisk_dev): Set `close' member.
16862
16863 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
16864 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
16865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16866 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16867 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
16868
4a6d2d06
VS
168692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 Compile parts of grub-emu as modules.
16872
16873 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
16874 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
16875 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
16876 (all-local): Add $(GRUB_EMU).
16877 (install-local): Install $(GRUB_EMU).
16878 (uninstall): Uninstall $(GRUB_EMU).
16879 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16880 * kern/dl.c: Likewise.
16881 * commands/sleep.c: Not include machine/time.h.
16882 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16883 (COMMON_CFLAGS): Likewise.
16884 (sbin_UTILITIES): Remove grub-emu.
16885 (grub_emu_SOURCES): Removed.
16886 (kernel_img_RELOCATABLE): New variable.
16887 (pkglib_PROGRAMS): Add kernel.img.
16888 (kernel_img_SOURCES): New variable
16889 (kernel_img_CFLAGS): Likewise.
16890 (kernel_img_LDFLAGS): Likewise.
16891 (TARGET_NO_STRIP): Likewise.
16892 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16893 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16894 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16895 (grub-emu): New target.
16896 (GRUB_EMU): New variable.
16897 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16898 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16899 * loader/xnu.c: Likewise.
16900 * include/grub/pci.h: Likewise.
16901 * genemuinit.sh: New file.
16902 * genemuinitheader.sh: Likewise.
16903 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16904 Support TARGET_NO_DYNAMIC_MODULES.
16905 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16906 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16907 * disk/loopback.c: Likewise.
16908 * font/font_cmd.c: Likewise.
16909 * partmap/acorn.c: Likewise.
16910 * partmap/amiga.c: Likewise.
16911 * partmap/apple.c: Likewise.
16912 * partmap/gpt.c: Likewise.
16913 * partmap/msdos.c: Likewise.
16914 * partmap/sun.c: Likewise.
16915 * parttool/msdospart.c: Likewise.
16916 * term/gfxterm.c: Likewise.
16917 * video/bitmap.c: Likewise.
16918 * video/readers/jpeg.c: Likewise.
16919 * video/readers/png.c: Likewise.
16920 * video/readers/tga.c: Likewise.
16921 * video/video.c: Likewise.
16922 * util/grub-emu.c (read_command_list): Removed.
16923 (main): Don't call util_init_nls.
16924 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16925 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16926
91fdd2ed
VS
169272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16928
16929 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16930 date.mod, datehook.mod.
16931 (datetime_mod_SOURCES): New variable.
16932 (datetime_mod_CFLAGS): Likewise.
16933 (datetime_mod_LDFLAGS): Likewise.
16934 (date_mod_SOURCES): Likewise.
16935 (date_mod_CFLAGS): Likewise.
16936 (date_mod_LDFLAGS): Likewise.
16937 (datehook_mod_SOURCES): Likewise.
16938 (datehook_mod_CFLAGS): Likewise.
16939 (datehook_mod_LDFLAGS): Likewise.
16940 * conf/sparc64-ieee1275.rmk: Likewise.
16941 * lib/ieee1275/datetime.c: New file.
16942
873ccae6
VS
169432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16946 (ieee1275_fb_mod_SOURCES): New variable.
16947 (ieee1275_fb_mod_CFLAGS): Likewise.
16948 (ieee1275_fb_mod_LDFLAGS): Likewise.
16949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16950 New proto.
16951 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16952 (HEAP_MAX_ADDR): Likewise.
16953 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16954 type.
16955 Correct stop condition.
16956 (grub_ieee1275_devices_iterate): New function.
16957 * video/ieee1275.c: New file.
16958
601c97c0
VS
169592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16962
16963 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16964 as scratch.
16965 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16966 SCRATCH_PAD_DISKBOOT as scratch.
16967 (bootit): Pass Openfirmware pointer in %o4.
16968 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16969 of 0x200000.
16970 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16971 with util/grub-mkrawimage.c.
16972 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16973 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16974 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16975 (grub_aout_load) [GRUB_UTIL]: Likewise.
16976 * include/grub/kernel.h (grub_modules_get_end): New proto.
16977 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16978 (SCRATCH_PAD_BOOT): New definition.
16979 (SCRATCH_PAD_DISKBOOT): Likewise.
16980 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16981 * include/grub/sparc64/ieee1275/ieee1275.h
16982 (grub_ieee1275_original_stack): New variable
16983 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16984 New definition
16985 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16986 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16987 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16988 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16989 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16990 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16991 (grub_platform_image_format_t): New type.
16992 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16993 * kern/main.c (grub_modules_get_end)
16994 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16995 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16996 (codestart): Switch stacks.
16997 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16998 variable.
16999 (grub_heap_init): Use grub_modules_get_end.
17000 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17001 stack.
17002 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17003 (main): Likewise.
17004 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17005
d68b491e
TG
170062010-03-14 Thorsten Glaser <tg@mirbsd.org>
17007
17008 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17009
4e02ed50
MK
170102010-03-08 Matt Kraai <kraai@ftbfs.org>
17011
17012 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17013 bug #559005).
17014
1f15fc1e
VS
170152010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * genmoddep.awk: Output all missing symbols and not only first.
17018
fce5d8ff
VS
170192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * NEWS: Put the date of 1.98 release.
17022
d1e8a02f
VS
170232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17026 ft2build.h.
17027
696fd607
VS
170282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17031 completition in the middle of string.
17032
33e2e6f3
VS
170332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * util/grub-mkrescue.in: Use mktemp with explicit template.
17036
b1f6d291
VS
170372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17040
2ac227c7
VS
170412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17044 right pointer.
17045
8f9a632b
VS
170462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Fix FreeBSD compilation.
17049
17050 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17051 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17052
60b03859
VS
170532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17056
48a5a769
VS
170572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17060
3ab4bd77
VS
170612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17064
d116e0d8
RM
170652010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17066
17067 Support relative image path in theme file.
17068
17069 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17070 (image_set_property): Handle theme_dir and relative path.
17071
c7ef54aa
VS
170722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * configure.ac: Alias amd64 to x86_64.
17075
fcee14ed
VS
170762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * NEWS: mention multiboot on EFI.
17079
d0780363
VS
170802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * kern/main.c (grub_load_modules): Handle errors from init functions of
17083 embeded modules.
17084
41168ea4
VS
170852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * normal/autofs.c (autoload_fs_module): Handle errors.
17088
b54d93ac
VS
170892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 Disable linux.mod on qemu-mips since it's not functional and leads
17092 to compilation failure.
17093
17094 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17095 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17096 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17097 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17098 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17099 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17100 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17101 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17102 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17103 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17104 Reported by: BVK Chaitanya
17105
fc8345da
JU
171062010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17107
17108 * INSTALL: Add gettext as a dependency and add qemu to a new section
17109 "Prerequisites for make-check".
17110
4760f979
CF
171112010-03-04 Christian Franke <franke@computer.org>
17112
17113 * util/grub-pe2elf.c: Add missing include "progname.h".
17114
f209b5b2
VS
171152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * normal/crypto.c (read_crypto_list): Fix a typo.
17118 Reported by: Seth Goldberg.
17119
b4b7be98
VS
171202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17123 Reported by: Seth Goldberg.
b4b7be98 17124
c0ee0385
VS
171252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17128 ascii.bitmaps.
17129
a8efbf64
VS
171302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17133 Reported by: Seth Goldberg.
a8efbf64 17134
08dcd913
VS
171352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * util/i386/efi/grub-install.in: Copy gettext files.
17138
c4d0b332
VS
171392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17142
c6f2fe52
VS
171432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Wait for user entry basing on presence of output rather than on errors.
17146
17147 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17148 (grub_install_newline_hook): Likewise.
17149 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17150 * normal/menu.c (show_menu): Check line_counter to determine presence
17151 of output.
17152 * normal/term.c (grub_normal_line_counter): New variable.
17153 (grub_normal_get_line_counter): New function.
17154 (grub_install_newline_hook): Likewise.
17155
5382b1e4
VS
171562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17159
5519963b
VS
171602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * configure.ac: Update version to 1.98.
17163
72b28631
VS
171642010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17165
17166 * util/grub.d/10_linux.in (linux_entry): Don't default to
17167 gfxpayload=keep if Linux doesn't support video handover.
17168
c140a180
VS
171692010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Don't compile video modules on yeeloong since video subsystem is part
17172 of kernel.
17173
17174 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17175 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17176 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17177 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17178 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17179 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17180 * include/grub/bitmap_scale.h: Likewise.
17181 * include/grub/bufio.h: Likewise.
17182 * include/grub/font.h: Likewise.
17183 * include/grub/gfxterm.h: Likewise.
17184 * include/grub/video.h: Likewise.
17185 * include/grub/vbe.h: Don't include video_fb.h.
17186 * video/i386/pc/vbe.c: Include video_fb.h.
17187 * commands/i386/pc/vbetest.c: Include video.h.
17188
a0ca21c2
CW
171892010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17190
17191 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17192 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17193 default entry if GRUB_SAVEDEFAULT=true. This allows using
17194 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17195 saving a new default on every boot.
17196
4a8a763c
VS
171972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17200 * normal/term.c (read_terminal_list): Likewise.
17201 * normal/main.c (grub_normal_init_page): Likewise.
17202 (grub_normal_read_line_real): Likewise.
17203
607ffde2
VS
172042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17207 memory leak.
17208 Reported by: Seth Goldberg.
17209
2b8fa975
CW
172102010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17211
17212 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17213 duplicate declaration of `start'.
17214
618307dd
VS
172152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17218 filename.
17219 Reported by: Georgy Buranov
17220
7dd05b96 172212010-02-20 Carles Pina i Estany <carles@pina.cat>
17222
17223 * util/grub-mkrawimage.c (usage): Change string formatting to
17224 improve gettext.
17225
d1484a42
MRA
172262010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17227
17228 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17229 backspace keys.
17230
42b1d186
VS
172312010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17234 Reported by: Michael Suchanek.
17235
172362010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17237
17238 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17239 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17240
d9f31a41
VS
172412010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 Remove any reference to non-free fonts.
17244
17245 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17246 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17247 uses non-free components.
17248 * font/font.c (grub_font_get_name): Remove example name.
17249 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17250 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17251 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17252 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17253
2793c71e
GB
172542010-02-16 Georgy Buranov <gburanov@gmail.com>
17255
17256 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17257
402e3779
VS
172582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17261 Double divisor.
17262 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17263 features.
17264 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17265
0dd1e0dd
VS
172662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17269
6fa7cfce
ST
172702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17271
17272 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17273 * docs/grub.texi (Command-line and menu entry commands): Document play
17274 command.
17275
37c8483b
ST
172762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17277
17278 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17279 parse arguments as inline tempo and notes. Move code for playing notes
17280 to...
17281 (play): ... new function.
17282
14da0fb7
ST
172832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17284
17285 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17286 grub_uint16_t instead of short.
17287 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17288 disk from little endian to cpu endianness.
17289
04459e70
ST
172902010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17291
17292 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17293 GRUB_TICKS_PER_SECOND instead of 120.
17294
a0876943
VS
172952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17298 escape sequence after \e.
17299
e29f95dc
VS
173002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17303 non-ASCII characters.
17304
d27859b2
VS
173052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17308 set root in single quotes to prevent \, from being unescaped.
17309
bc028f2f
VS
173102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 Prevent unknown commands from stopping menuentry execution.
17313
17314 * script/execute.c (grub_script_execute_cmdline): Print error after
17315 unknown command.
17316
095f5f82
VS
173172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17320 Reported by: Pavel Pisa.
17321
8c717950
VS
173222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17325
904935c3
VS
173262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Merge grub_ieee1275_map_physical into grub_map and rename to
17329 grub_ieee1275_map
17330
17331 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17332 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17333 Remove.
17334 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17335 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17336 necessary.
17337 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17338
5b59a4e3
VS
173392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17342 opening and not after.
17343
69e137e8
VS
173442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17347 constants.
17348
2c0fcc36
VS
173492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17352 (alloc_phys): Use ALIGN_UP instead of align_addr.
17353
8c6052ce
VS
173542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17357
17cec782
VS
173582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17361
e0128bbd
VS
173622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17365 verbose dprintf.
17366
ca62070b
VS
173672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Fix over-4GiB seek on sparc64.
17370
17371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17372 Replace pos_i and pos_lo with pos. All users updated.
17373 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17374 New constant.
17375 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17376 Likewise.
17377 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17378 and pos_lo.
17379
bdca2607
VS
173802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * util/grub-mkrawimage.c (main): Call set_program_name.
17383
da278c4d
VS
173842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Properly align 64-bit targets.
17387
17388 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17389 (generate_image): Use ALIGN_ADDR.
17390
b274d734
VS
173912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 Properly create cross-endian images.
17394
17395 * include/grub/types.h (grub_host_to_target_addr): New macro
17396 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17397
82da2062
VS
173982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17401
7cae4377
VS
174022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17405
17406 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17407 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17408 (grub_linux_boot): Divide by 64K when on VESA.
17409
65a533e7
VS
174102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 Support GRUB_GFXPAYLOAD_LINUX.
17413
17414 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17415 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17416
dd01d397
VS
174172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17420 to show messages instead of discarding them.
17421 Process errors after executing command and not before. Keep old method
17422 too as precaution.
17423
660960d6
VS
174242010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * configure.ac: Check for ft2build.h.
17427
62509f04
VS
174282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17431
473df63d
VS
174322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * genkernsyms.sh.in: Use TARGET_CC.
17435
c98d2a13
CW
174362010-02-07 Colin Watson <cjwatson@ubuntu.com>
17437
17438 * NEWS: Update.
17439
6e14234c
VS
174402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
17443 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17444 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 17445
b255e9cf
YB
174462010-02-07 Yves Blusseau <blusseau@zetam.org>
17447
6e14234c 17448 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 17449
98e6959d
VS
174502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 Fix warnings in grub-emu when compiling with maximum warning options.
17453
17454 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17455 (grub_arch_modules_addr): Return 0 and not NULL.
17456 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 17457 (xstrdup): Use newstr instead of dup.
f88d801b
VS
17458 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17459 of disk to dsk to avoid shadowing.
74e4934e
VS
17460 (find_free_slot): Fix prototype.
17461 * util/getroot.c (grub_util_is_dmraid): Make static.
17462 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17463 Add missing prototype.
17464 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 17465
74e31b5c
VS
174662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17469 appropriately.
17470
6b2ad14b
VS
174712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17474 code out.
17475
8f891adc
VS
174762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17479 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17480 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17481 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17482 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17483 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17484
74b45184
VS
174852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * include/grub/err.h (grub_err_printf): Don't export.
17488
a4bced77
VS
174892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17492
007d0695
VS
174932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17496 * kern/misc.c (grub_gettext_dummy): Make static.
17497
b6c0d9c2
VS
174982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17501 by non-valid ones.
17502 * kern/term.c (grub_putchar): Likewise.
17503
f51a90d0
VS
175042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17507 buggy hook call and memory leak.
17508
6846cec5
VS
175092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17512
468d69fe
VS
175132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17516
51906b8c
VS
175172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17520 modevar.
17521 Return grub_errno on allocation error.
17522
09706ce5
VS
175232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17526
911df80c
YB
175272010-02-06 Yves Blusseau <blusseau@zetam.org>
17528
17529 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17530 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17531
3746a6bc
VS
175322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17535 non-pxe disk.
17536 (grub_pxefs_open): Likewise.
17537
09706ce5
VS
175382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17539
17540 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17541 * util/grub.d/10_kfreebsd.in: Likewise.
17542 * util/grub.d/10_linux.in: Likewise.
17543
7cc192d9
VS
175442010-02-06 Colin D Bennett <colin@gibibit.com>
17545
17546 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17547 (gfxmenu_mod_SOURCES): New variable.
17548 (gfxmenu_mod_CFLAGS): Likewise.
17549 (gfxmenu_mod_LDFLAGS): Likewise.
17550 * include/grub/term.h (grub_term_set_current_output): Declare
17551 argument as const.
17552 * docs/gfxmenu-theme-example.txt: New file.
17553 * gfxmenu/gfxmenu.c: Likewise.
17554 * gfxmenu/gui_box.c: Likewise.
17555 * gfxmenu/gui_canvas.c: Likewise.
17556 * gfxmenu/gui_circular_progress.c: Likewise.
17557 * gfxmenu/gui_image.c: Likewise.
17558 * gfxmenu/gui_label.c: Likewise.
17559 * gfxmenu/gui_list.c: Likewise.
17560 * gfxmenu/gui_progress_bar.c: Likewise.
17561 * gfxmenu/gui_string_util.c: Likewise.
17562 * gfxmenu/gui_util.c: Likewise.
17563 * gfxmenu/icon_manager.c: Likewise.
17564 * gfxmenu/model.c: Likewise.
17565 * gfxmenu/named_colors.c: Likewise.
17566 * gfxmenu/theme_loader.c: Likewise.
17567 * gfxmenu/view.c: Likewise.
17568 * gfxmenu/widget-box.c: Likewise.
17569 * include/grub/gfxmenu_model.h: Likewise.
17570 * include/grub/gfxmenu_view.h: Likewise.
17571 * include/grub/gfxwidgets.h: Likewise.
17572 * include/grub/gui.h: Likewise.
17573 * include/grub/gui_string_util.h: Likewise.
17574 * include/grub/icon_manager.h: Likewise.
17575
175762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 Agglomerate scrolling in gfxterm.
17579
17580 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17581 (grub_virtual_screen_setup): Initialise 'total_screen'.
17582 (write_char): Split to ...
17583 (paint_char): ... this ...
17584 (write_char): ... and this.
17585 (paint_char): Handle delayed scrolling.
17586 (draw_cursor): Likewise.
17587 (scroll_up): Split to ...
17588 (real_scroll): ... this ...
17589 (scroll_up): ... and this.
17590 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17591 characters.
17592 (grub_gfxterm_refresh): Call real_scroll.
17593
175942010-02-06 Colin D Bennett <colin@gibibit.com>
17595
17596 * include/grub/misc.h (grub_iscntrl): New inline function.
17597 (grub_isalnum): Likewise.
17598 (grub_strtol): Likewise.
17599
176002010-02-06 Colin D Bennett <colin@gibibit.com>
17601
17602 * normal/menu_text.c (get_entry_number): Move from here ...
17603 * normal/menu.c (get_entry_number): ... moved here.
17604 * include/grub/menu.h (grub_menu_get_default_entry_index):
17605 New prototype.
17606 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17607 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17608 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17609 (grub_menu_viewer_should_return): Likewise.
17610 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17611 * normal/menu_text.c (run_menu): Enable menu switching.
17612 * normal/menu_viewer.c (should_return): New variable.
17613 (menu_viewer_changed): Likewise.
17614 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17615 (grub_menu_viewer_should_return): New function.
17616 (menuviewer_write_hook): Likewise.
17617 (grub_menu_viewer_init): Likewise.
17618
176192010-02-06 Colin D Bennet <colin@gibibit.com>
176202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 Support for gfxterm in a window.
17623
17624 * include/grub/gfxterm.h: New file.
17625 * include/grub/video.h (struct grub_video_rect): New declaration.
17626 (grub_video_rect_t): Likewise.
17627 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17628 (refcount): New variable.
17629 (render_target): Likewise.
17630 (window): Likewise.
17631 (repaint_callback): Likewise.
17632 (grub_virtual_screen_setup): Use 'render_target'.
17633 (init_window): New function.
17634 (grub_gfxterm_init_window): Likewise.
17635 (grub_gfxterm_init): Check reference counter.
17636 Use init_window.
17637 (destroy_window): New function.
17638 (grub_gfxterm_destroy_window): Likewise.
17639 (grub_gfxterm_fini): Check reference counter.
17640 Use destroy_window.
17641 (redraw_screen_rect): Restore viewport.
17642 Use 'render_target' and 'window'.
17643 Call 'repaint_callback'.
17644 (write_char): Use 'render_target'.
17645 (draw_cursor): Likewise.
17646 (scroll_up): Restore viewport.
17647 Use 'render_target' and 'window'.
17648 Call 'repaint_callback'.
17649 (grub_gfxterm_cls): Likewise.
17650 (grub_gfxterm_refresh): Use 'window'.
17651 (grub_gfxterm_set_repaint_callback): New function.
17652 (grub_gfxterm_background_image_cmd): Use 'window'.
17653 (grub_gfxterm_get_term): New function.
17654 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17655
176562010-02-06 Colin D Bennett <colin@gibibit.com>
17657
17658 Bitmap scaling support.
17659
17660 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17661 (bitmap_scale_mod_SOURCES): New variable.
17662 (bitmap_scale_mod_CFLAGS): Likewise.
17663 (bitmap_scale_mod_LDFLAGS): Likewise.
17664 * include/grub/bitmap_scale.h: New file.
17665 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17666 (background_image_cmd_options): New variable.
17667 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17668 (cmd): Rename and change type to ...
17669 (background_image_cmd_handle): ... this. All users updated.
17670 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17671 * video/bitmap_scale.c: New file.
17672
176732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17674
17675 SDL support.
17676
17677 * Makefile.in (LIBSDL): New variable.
17678 (enable_grub_emu_sdl): Likewise.
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17680 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17681 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17682 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17683 * util/sdl.c: New file.
17684
176852010-02-06 Colin D Bennett <colin@gibibit.com>
176862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 Double buffering support.
17689
17690 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17691 * include/grub/video.h: Update comment.
17692 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17693 New type.
17694 (grub_video_fb_doublebuf_blit_init): New prototype.
17695 * term/gfxterm.c (scroll_up): Support double buffering.
17696 (grub_gfxterm_refresh): Likewise.
17697 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17698 (grub_video_fb_doublebuf_blit_init): Likewise.
17699 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17700 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17701 'displayed_page', 'render_page' and 'update_screen'.
17702 (grub_video_vbe_fini): Free offscreen buffer.
17703 (doublebuf_pageflipping_commit): New function.
17704 (doublebuf_pageflipping_update_screen): Likewise.
17705 (doublebuf_pageflipping_init): Likewise.
17706 (double_buffering_init): Likewise.
17707 (grub_video_vbe_setup): Enable doublebuffering.
17708 (grub_video_vbe_swap_buffers): Implement.
17709 (grub_video_vbe_set_active_render_target): Handle double buffering.
17710 (grub_video_vbe_get_active_render_target): Likewise.
17711 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
17712 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
17713 (grub_video_vbe_enable_double_buffering): Likewise.
17714 (grub_video_vbe_swap_buffers): Use update_screen.
17715 (grub_video_set_mode): Use double buffering.
17716
177172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17718
17719 * maintainance/gentrigtables.py: Remove.
17720 * lib/trig.c: Likewise.
17721
17722 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
17723
17724 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
17725 `trigtables.c'.
17726 (trigtables.c): New rule.
17727 (gentrigtables): Likewise.
17728 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
17729
177302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17731
17732 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
17733 integer constants.
17734
177352010-02-06 Colin D Bennet <colin@gibibit.com>
17736
17737 Trigonometry support.
17738
17739 * include/grub/trig.h: New file.
17740 * lib/trig.c: Likewise.
17741 * maintainance/gentrigtables.py: Likewise.
17742 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
17743 (trig_mod_SOURCES): New variable.
17744 (trig_mod_CFLAGS): Likewise.
17745 (trig_mod_LDFLAGS): Likewise.
17746
5562834e
VS
177472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
17750 disk devices.
17751
4f8528fc
VS
177522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
17755 error.
17756
2b4068e9
VS
177572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * util/hostdisk.c (open_device): Don't use partition device when reading
17760 before the partition.
17761 (grub_util_biosdisk_read): Don't read from partition and before the
17762 partition in single operation.
17763 (grub_util_biosdisk_write): Don't write to partition and before the
17764 partition in single operation.
17765
399f6e4d
TL
177662010-02-03 Torsten Landschoff <torsten@debian.org>
17767
17768 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17769 last sectors.
17770
996649b0
VS
177712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
17774 CDROM reads.
17775 (grub_biosdisk_write): Refuse to write to CDROM.
17776
3b205d4d
VS
177772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
17780
61e89d9d
VS
177812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * font/font.c (find_glyph): Check that bmp_idx is available before
17784 using it.
17785 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
17786 with (font == NULL).
17787
bf7fcba2
CS
177882010-01-28 Christian Schmitt <chris@ilovelinux.de>
17789
17790 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
17791
f45d2663
BC
177922010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
17793
17794 * include/grub/script_sh.h (sourcecode): Add const qualifier.
17795 * util/grub-script-check.c (getline): Fix empty lines case.
17796
ec1444e6
RM
177972010-01-28 Robert Millan <rmh.grub@aybabtu.com>
17798
17799 * Makefile.in (check): Exit with fail status when one of the tests
17800 fails.
17801 * tests/example_functional_test.c (example_test): Fix reversed assert.
17802 * tests/example_unit_test.c (example_test): Likewise.
17803
2e1cb9bb
CW
178042010-01-28 Colin Watson <cjwatson@ubuntu.com>
17805
17806 * util/grub.d/10_linux.in: This script does not use any of the
17807 contents of gettext.sh, only the external command `gettext', so stop
17808 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
17809 the same prefix as GRUB.)
17810 * util/grub.d/10_kfreebsd.in: Likewise.
17811
63533ab0
VS
178122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
17815 of the line.
17816
989e1f93
VS
178172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17820 last sectors.
17821
e709ebe2
VS
178222010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
17825 having a 4KiB and not 32KiB buffer size.
17826
27dea7ed
RM
178272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 * util/hostfs.c: Include `<errno.h>'.
17830 (grub_hostfs_read): Handle errors from fseeko() and fread().
17831
67667b9c
RM
178322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17833
17834 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
17835 loop when using read hooks on files whose size isn't sector-aligned.
17836
c294d9d8
RM
178372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 Remove unused parameter.
17840
17841 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
17842 (grub_iso9660_open): Remove initialization of `data->length'.
17843
af75a9f1
RM
178442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17845
17846 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
17847 memleak conditions.
17848
254e2ce5 178492010-01-27 Carles Pina i Estany <carles@pina.cat>
17850
17851 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
17852 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
17853
b510928c 178542010-01-26 Carles Pina i Estany <carles@pina.cat>
17855
17856 * util/bin2h.c (usage): Fix warning (space after backslash).
17857
aa2f9dd2 178582010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 17859
17860 * font/font.c: Include `grub/fontformat.h.
17861 Remove font file format constants.
17862 (grub_font_load): Use the new macros.
17863 * include/grub/fontformat.h: New file.
17864 * util/grub-mkfont.c: Include `grub/fontformat.c'.
17865 (write_font_pf2): Use the new macros.
17866
94e7e712
RM
178672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17868
17869 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
17870 does.
17871
3973a59a
RM
178722010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
17875
17876 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
17877 (_start): Macroify `0x7F'.
17878
17879 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17880 (make_install_device): Use "(pxe)" as fallback prefix when booting
17881 via PXE.
17882
42e0cba3
GS
178832010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * configure.ac: Reset LIBS after check for libgcc symbols.
17886
847effd8
CW
178872010-01-25 Colin Watson <cjwatson@ubuntu.com>
17888
17889 * util/hostdisk.c (open_device): Add trailing newline to debug
17890 message.
17891
ea4a7e35
GS
178922010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17893
17894 * configure.ac: Check for `limits.h'.
17895 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17896
67951a53
RM
178972010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17898
17899 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17900 capitalize error strings.
17901
c273d4ce
ST
179022010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17903
17904 * util/grub.d/10_hurd.in: Add a recovery mode.
17905
69be5b74
VS
179062010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * configure.ac: Check for libgcc symbols with -nostdlib.
17909
fc9e5810
BC
179102010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17911
17912 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17913
4b358c0a
VS
179142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17917 stack since heap may be unavailable at that point.
17918 (grub_ofconsole_gotoxy): Likewise.
17919
454fcd1c
VS
179202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * configure.ac: Check for _restgpr_14_x.
17923 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17924 and _savegpr_* prototypes.
17925
566863ca
RM
179262010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17927
17928 Use generic grub_reboot() for i386-efi.
17929
17930 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17931 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17932 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17933
bf86e59a
VS
179342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17937 presence of "prefix" variable as it breaks when normal.mod is
17938 embedded.
17939
d645e0f8
VS
179402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17943 stack since heap is unavailable at that point.
17944
f9ab2e25
VS
179452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17948 (grub_freebsd_bootinfo): Rewritten.
17949 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17950
01fc7054
VS
179512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17954
caab4fd6
RM
179552010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17956
17957 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17958 domain now.
17959
67eb1427
FZ
179602010-01-20 Felix Zielcke <fzielcke@z-51.de>
17961
17962 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17963 around for handling "/" to the correct fix. Fix a memory leak. Use
17964 xstrdup instead of strdup.
17965
a9ed4ff3
VS
179662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17969
179702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
17971
17972 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17973
17974 * font/font.c (struct grub_font): New member 'bmp_idx'.
17975 (font_init): Initialise 'bmp_idx'.
17976 (load_font_index): Fill 'bmp_idx'.
17977 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17978
48209f4f
VS
179792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17982 unnecessary calls.
17983
9f0a4bb7
VS
179842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 Move context handling out of the kernel.
17987
17988 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17989 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17990 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17991 * conf/i386-efi.rmk: Likewise.
17992 * conf/i386-ieee1275.rmk: Likewise.
17993 * conf/i386-pc.rmk: Likewise.
17994 * conf/powerpc-ieee1275.rmk: Likewise.
17995 * conf/sparc64-ieee1275.rmk: Likewise.
17996 * conf/x86_64-efi.rmk: Likewise.
17997 * include/grub/env.h: Include grub/menu.h.
17998 (grub_env_var_type): Removed.
17999 (grub_env_var): Replaced field 'type' with 'global'.
18000 (grub_env_find): New prototype.
18001 (grub_env_context_open): Remove EXPORT_FUNC.
18002 (grub_env_context_close): Likewise.
18003 (grub_env_export): Likewise.
18004 (grub_env_set_data_slot): Removed.
18005 (grub_env_get_data_slot): Likewise.
18006 (grub_env_unset_data_slot): Likewise.
18007 (grub_env_unset_menu): New prototype.
18008 (grub_env_set_menu): Likewise.
18009 (grub_env_get_menu): Likewise.
18010 * include/grub/env_private.h: New file.
18011 * include/grub/normal.h (grub_context_init): New prototype.
18012 (grub_context_fini): Likewise.
18013 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18014 * normal/context.c (grub_cmd_export): ... to here.
18015 * kern/env.c: Include env_private.h.
18016 (HASHSZ): Moved to include/grub/env_private.h.
18017 (grub_env_context): Likewise.
18018 (grub_env_sorted_var): Likewise.
18019 (current_context): Renamed from this ...
18020 (grub_current_context): ...to this. 'static' removed. All users updated.
18021 (grub_env_find): Removed 'static'.
18022 (grub_env_context_open): Moved to normal/context.c.
18023 (grub_env_context_close): Likewise.
18024 (grub_env_export): Likewise.
18025 (mangle_data_slot_name): Removed.
18026 (grub_env_set_data_slot): Likewise.
18027 (grub_env_get_data_slot): Likewise.
18028 (grub_env_unset_data_slot): Likewise.
18029 * kern/main.c (grub_set_root_dev): Don't export root.
18030 It will be done later.
18031 (grub_main): Don't export prefix.
18032 It will be done later.
18033 * normal/context.c: New file.
18034 * normal/main.c (free_menu): Use grub_env_unset_menu.
18035 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18036 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18037 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18038 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18039
8dd35b8c
VS
180402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 setpci support.
18043
18044 * commands/setpci.c: New file.
18045 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18046 (setpci_mod_SOURCES): New variable.
18047 (setpci_mod_CFLAGS): Likewise.
18048 (setpci_mod_LDFLAGS): Likewise.
18049
449193d5
VS
180502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 Byte-addressable PCI configuration space.
18053
18054 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18055 dword address.
18056 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18057 GRUB_PCI_REG_CACHELINE.
18058 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18059 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18060 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18061 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18062 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18063 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18064 grub_pci_make_address.
18065 (lock_rom_area): Likewise.
18066 * commands/lspci.c (grub_lspci_iter): Use macroses
18067 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18068 of grub_pci_make_address.
18069 * disk/ata.c (grub_ata_pciinit): Likewise.
18070 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18071 (GRUB_PCI_REG_VENDOR): Likewise.
18072 (GRUB_PCI_REG_DEVICE): Likewise.
18073 (GRUB_PCI_REG_COMMAND): Likewise.
18074 (GRUB_PCI_REG_STATUS): Likewise.
18075 (GRUB_PCI_REG_REVISION): Likewise.
18076 (GRUB_PCI_REG_CLASS): Likewise.
18077 (GRUB_PCI_REG_CACHELINE): Likewise.
18078 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18079 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18080 (GRUB_PCI_REG_BIST): Likewise.
18081 (GRUB_PCI_REG_ADDRESSES): Likewise.
18082 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18083 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18084 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18085 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18086 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18087 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18088 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18089 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18090 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18091 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18092 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18093 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18094 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18095 (GRUB_PCI_REG_MIN_GNT): Likewise.
18096 (GRUB_PCI_REG_MAX_LAT): Likewise.
18097 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18098 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18099 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18100 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18101 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18102 space.
18103
96d73208
RM
181042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18105
18106 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18107 can be reliably determined to be supported.
18108
d4484482
RM
181092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18110
18111 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18112 that VESA is supported.
18113 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18114 supported.
18115
00308ecf
VS
181162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18119
f66924a4
RM
181202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18121
18122 * util/misc.c (make_system_path_relative_to_its_root): Work around
18123 special-casing of "/", as previous incarnation of this routine did.
18124
cbca0ada
VS
181252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 Fix any-emu compilation.
18128
18129 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18130 * grub_bin2h_SOURCES: New variable.
18131
34a66d99
RM
181322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18133
18134 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18135
94fabf58
RM
181362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18137
18138 * util/grub.d/00_header.in: Fix handling of locale_dir.
18139
02cf98ca
VS
181402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18143 as possible unifont location (Gentoo).
18144 Reported by: Alexander Brüning
18145
327dbcd7
VS
181462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18147
18148 Don't try to generate lists for kernel.img.
18149
18150 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18151 (pkglib_MODULES): Remove kernel.img.
18152 (kernel_img_EXPORTS): Removed.
18153 (kernel_img_RELOCATABLE): New variable.
18154 * conf/x86_64-efi.rmk: Likewise.
18155 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18156
ca467290
VS
181572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18160 grub_xasprintf or grub_snprintf.
18161 (grub_vsprintf): Likewise.
18162 (grub_snprintf): New proto.
18163 (grub_vsnprintf): Likewise.
18164 (grub_xasprintf): Likewise.
18165 (grub_xvasprintf): Likewise.
18166 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18167 (grub_sprintf): Removed.
18168 (grub_vsnprintf): New function.
18169 (grub_snprintf): Likewise.
18170 (grub_xvasprintf): Likewise.
18171 (grub_xasprintf): Likewise.
18172 (grub_vsprintf): Renamed to ...
18173 (grub_vsnprintf_real): ...this. New argument max_len.
18174
aca655fd
BC
181752010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18176
18177 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18178 fix grub-script-check warning.
18179
7ee92c32
VS
181802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 * include/grub/font.h (grub_font_load): Fix prototype.
18183
f80927ca
VS
181842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18187
119c50ea
VS
181882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * include/grub/x86_64/at_keyboard.h: New file.
18191
47d5f3c1
VS
181922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * loader/mips/linux.c: Include missing grub/i18n.h.
18195
55ff5266
RM
181962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 * normal/menu.c (notify_execution_failure): Clarify error message.
18199
c893cc87
RM
182002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18201
18202 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18203 return value (and revert all return statements). Update users.
18204
917dd370
CW
182052010-01-20 Dan Merillat <debian@dan.merillat.org>
18206
18207 * kern/device.c (grub_device_iterate): Allocate new part_ent
18208 structure based on sizeof (*p) rather than sizeof (p->next), to
18209 account for structure padding.
18210
18211 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18212 disk is NULL, which might happen for LVM physical volumes with no
18213 LVM signature.
18214
d4a4ee57
RM
182152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18216
18217 * loader/mips/linux.c (grub_cmd_initrd)
18218 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18219
182202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18221
18222 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18223 (grub_video_video_init, grub_video_bitmap_init)
18224 (grub_font_manager_init, grub_term_gfxterm_init)
18225 (grub_at_keyboard_init): New extern declarations.
18226 (grub_machine_init): Initialize gfxterm and at_keyboard.
18227
18228 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18229
18230 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18231 `gfxterm.mod' into core image.
18232
18233 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18234 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18235 (kernel_img_FORMAT): Copy to ...
18236
18237 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18238 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18239 (kernel_img_FORMAT): ... here, and ...
18240
18241 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18242 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18243 (kernel_img_FORMAT): ... here.
18244
18245 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18246 and input (at_keyboard) terminals in kernel.
18247 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18248
18249 (pkglib_MODULES): Remove `pci.mod'.
18250 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18251 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18252 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18253 (at_keyboard_mod_LDFLAGS): Remove variables.
18254
182552010-01-11 Felix Zielcke <fzielcke@z-51.de>
18256
18257 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18258
182592009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18260
18261 * include/grub/mips/libgcc.h: Only export symbols for functions
18262 that libgcc provides.
18263
182642009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 MIPS support.
18267
18268 * bus/bonito.c: New file.
18269 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18270 GRUB_PCI_NUM_DEVICES.
18271 * term/i386/pc/serial.c: Move to ...
18272 * term/serial.c: ... here. All users updated.
18273 * util/i386/pc/grub-mkimage.c: Move to ...
18274 * util/grub-mkrawimage.c: ... here. All users updated.
18275 * term/i386/pc/at_keyboard.c: Move to ...
18276 * term/at_keyboard.c: ... here. All users updated.
18277 * conf/mips-qemu-mips.rmk: New file.
18278 * conf/mips-yeeloong.rmk: Likewise.
18279 * conf/mips.rmk: Likewise.
18280 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18281 mipsel-qemu-mips.
18282 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18283 to port addresses.
18284 (grub_ata_pciinit): Support CS5536.
18285 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18286 * font/font_cmd.c (loadfont_command): Open file before passing it to
18287 grub_font_load.
18288 (pseudo_file_read): New function.
18289 (pseudo_file_close): Likewise.
18290 (pseudo_fs): New structure.
18291 (load_font_module): New function.
18292 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18293 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18294 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18295 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18296 * include/grub/i386/at_keyboard.h: Split into ...
18297 * include/grub/at_keyboard.h: ... this ...
18298 * include/grub/i386/at_keyboard.h: ... and this.
18299 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18300 New prototype.
18301 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18302 updated.
18303 (grub_elf64_size): Likewise.
18304 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18305 filename.
18306 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18307 * include/grub/i386/coreboot/serial.h: Rewritten.
18308 * include/grub/i386/ieee1275/serial.h: Include
18309 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18310 * include/grub/i386/pc/serial.h: Moved from here ...
18311 * include/grub/serial.h: ... to here. All users updated.
18312 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18313 (GRUB_PCI_NUM_BUS): Likewise.
18314 (GRUB_PCI_NUM_DEVICES): Likewise.
18315 (grub_pci_device_map_range): Add missing volatile keyword.
18316 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18317 * include/grub/mips/at_keyboard.h: New file.
18318 * include/grub/mips/cache.h: Likewise.
18319 * include/grub/mips/io.h: Likewise.
18320 * include/grub/mips/kernel.h: Likewise.
18321 * include/grub/mips/libgcc.h: Likewise.
18322 * include/grub/mips/pci.h: Likewise.
18323 * include/grub/mips/qemu-mips/boot.h: Likewise.
18324 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18325 * include/grub/mips/qemu-mips/loader.h: Likewise.
18326 * include/grub/mips/qemu-mips/memory.h: Likewise.
18327 * include/grub/mips/qemu-mips/serial.h: Likewise.
18328 * include/grub/mips/qemu-mips/time.h: Likewise.
18329 * include/grub/mips/relocator.h: Likewise.
18330 * include/grub/mips/time.h: Likewise.
18331 * include/grub/mips/types.h: Likewise.
18332 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18333 * include/grub/mips/yeeloong/boot.h: Likewise.
18334 * include/grub/mips/yeeloong/kernel.h: Likewise.
18335 * include/grub/mips/yeeloong/loader.h: Likewise.
18336 * include/grub/mips/yeeloong/memory.h: Likewise.
18337 * include/grub/mips/yeeloong/pci.h: Likewise.
18338 * include/grub/mips/yeeloong/serial.h: Likewise.
18339 * include/grub/mips/yeeloong/time.h: Likewise.
18340 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18341 * kern/elf.c (grub_elf32_size): New parameter. All users
18342 updated.
18343 (grub_elf64_size): Likewise.
18344 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18345 Load modules before saying "Welcome to GRUB!".
18346 Call grub_refresh after saying "Welcome to GRUB!".
18347 * kern/mips/cache.S: New file.
18348 * kern/mips/cache_flush.S: Likewise.
18349 * kern/mips/dl.c: Likewise.
18350 * kern/mips/init.c: Likewise.
18351 * kern/mips/qemu-mips/init.c: Likewise.
18352 * kern/mips/startup.S: Likewise.
18353 * kern/mips/yeeloong/init.c: Likewise.
18354 * kern/term.c (grub_putcode): Handle NULL terminal.
18355 (grub_getcharwidth): Likewise.
18356 (grub_getkey): Likewise.
18357 (grub_checkkey): Likewise.
18358 (grub_getkeystatus): Likewise.
18359 (grub_getxy): Likewise.
18360 (grub_getwh): Likewise.
18361 (grub_gotoxy): Likewise.
18362 (grub_cls): Likewise.
18363 (grub_setcolorstate): Likewise.
18364 (grub_setcolor): Likewise.
18365 (grub_getcolor): Likewise.
18366 (grub_refresh): Likewise.
18367 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18368 (write_jump): Add hatch nop.
18369 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18370 * lib/mips/setjmp.S: New file.
18371 * loader/mips/linux.c: Likewise.
18372 * term/i386/pc/at_keyboard.c: Move from here ...
18373 * term/at_keyboard.c: ... to here.
18374 * term/i386/pc/serial.c: Moved from here ...
18375 * term/serial.c: ... to here. All users updated.
18376 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18377 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18378 (serial_translate_key_sequence): Avoid deadlock.
18379 (grub_serial_getkey): Handle backspace.
18380 (grub_serial_putchar): Fix newline handling.
18381 * util/i386/pc/grub-mkimage.c: Move from here ...
18382 * util/grub-mkrawimage.c: ... to here. All users updated.
18383 (generate_image): New parameters 'font_path' and 'format'.
18384 Support embedding font.
18385 Use grub_host_to_target* instead of grub_cpu_to_le*.
18386 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18387 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18388 (options): New option "--font".
18389 (usage): Likewise.
18390 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18391 (main): Handle "--font".
18392 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18393 (grub_virtual_screen_setup): Set bg_color_display.
18394 (redraw_screen_rect): Use bg_color_display instead of incorrect
18395 bg_color.
18396 (grub_gfxterm_cls): Likewise.
18397 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18398 Support embedding config file.
18399 (add_segments): Likewise.
18400 (options): New option "--config".
18401 (main): Handle "--config".
18402 * video/sm712.c: New file.
18403
25c2b5b3
RM
184042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18405
18406 Fix parallel builds.
18407
18408 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18409 font.c depend on ascii.h).
18410
184112010-01-12 Carles Pina i Estany <carles@pina.cat>
18412
18413 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18414
184152010-01-11 Carles Pina i Estany <carles@pina.cat>
18416
18417 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18418 By default: disabled.
18419 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18420 parameter.
18421
184222010-01-10 Carles Pina i Estany <carles@pina.cat>
18423
18424 * font/font.c: Update copyright years.
18425 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18426
184272010-01-10 Carles Pina i Estany <carles@pina.cat>
18428
18429 * font/font.c: Include `ascii.h'.
18430 (ASCII_BITMAP_SIZE): New macro.
18431 (ascii_font_glyph): Define.
18432 (ascii_glyph_lookup): New function.
18433 (grub_font_get_string_width): Change comment. If glyph not found, use
18434 ascii_glyph_lookup.
18435 (grub_font_get_glyph_with_fallback): If glyph not available returns
18436 ascii_glyph_lookup.
18437 * util/grub-mkfont.c (file_formats): New enum.
18438 (options): Add `ascii-bitmaps' new option.
18439 (usage): Add `asii-bitmaps' new option.
18440 (write_font_ascii_bitmap): New function.
18441 (write_font): Rename to ...
18442 (write_font_p2): ... this. Remove print_glyphs call.
18443 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18444 used. Call print_glyphs.
18445 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18446
184472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18448
18449 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18450 (grub_bin2h_SOURCES): New variable.
18451 * util/bin2h.c: New file.
18452
915fc1b8
VS
184532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 * include/multiboot.h: Resynced with spec.
18456 * include/multiboot2.h: Likewise.
18457 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18458 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18459
9444b678
RM
184602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18461
18462 * include/grub/term.h (grub_term_register_input,
18463 grub_term_register_output): Check return of terminal init()
18464 routines, and abort if errors are raised.
18465
18466 * commands/terminal.c: Update copyright year.
18467
cba98e8d
RM
184682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * commands/terminal.c (grub_cmd_terminal_input)
18471 (grub_cmd_terminal_output): Check return of terminal init()
18472 routines, and abort if errors are raised.
18473
6f7db5d6
VS
184742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * include/grub/i386/bsd.h: Fix include pathes.
18477
262bff8d
VS
184782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 Add missing *BSD copyright headers.
18481
18482 * include/grub/aout.h: Add BSD licence.
18483 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18484 * include/grub/i386/freebsd_linker.h: ... here,
18485 * include/grub/i386/freebsd_reboot.h: ... here,
18486 * include/grub/i386/netbsd_bootinfo.h: ... here,
18487 * include/grub/i386/netbsd_reboot.h: ... here,
18488 * include/grub/i386/openbsd_bootarg.h: ... here,
18489 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18490 licence to each file.
18491
b2cab848
RM
184922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18493
18494 * acinclude.m4: Remove `nop' assembly instruction; it's not
18495 implemented by all architectures.
18496
2cb6be4b
RM
184972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18500 ELILO. This is no longer necessary.
18501
a2eaee15
BC
185022010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18503
18504 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18505
18506 * util/grub-script-check.c: grub-script-check tool.
18507 * conf/common.rmk: Make rules for grub-script-check.
18508
88d17012
RM
185092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18510
18511 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18512 spotting it back in 2008. Shame on me for forgetting he did.
18513
18514 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18515
8040619d
RM
185162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18517
18518 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18519 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18520 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18521 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18522 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18523 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18524
a0c2a0f6
RM
185252010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18526
18527 * include/grub/test.h: Add license header.
18528 * tests/example_functional_test.c: Likewise.
18529 * tests/example_unit_test.c: Likewise.
18530 * tests/lib/functional_test.c: Likewise.
18531 * tests/lib/test.c: Likewise.
18532 * tests/lib/unit_test.c: Likewise.
18533
b0b13907
VS
185342010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 Use flag-based instead of hook-based video mode selection and "auto"
18537 keyword.
18538
18539 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18540 (grub_video_set_mode): Changed prototype. All users updated.
18541 (grub_video_check_mode_flag): New inline function.
18542 * video/video.c (parse_modespec): New function.
18543 (grub_video_set_mode): Parse flags and keywords.
18544
ea379330 185452010-01-17 Carles Pina i Estany <carles@pina.cat>
18546
18547 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18548 fprintf call.
18549
e15c215e
FZ
185502010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18551
18552 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18553
409ae1c9 185542010-01-16 Carles Pina i Estany <carles@pina.cat>
18555
18556 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18557 string.
18558 * util/grub-emu.c (usage): Likewise.
18559 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18560 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18561 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18562 * util/i386/pc/grub-setup.c (usage): Likewise.
18563
70a14d3d 185642010-01-16 Carles Pina i Estany <carles@pina.cat>
18565
18566 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18567 the message.
18568 (grub_util_info): Likewise.
18569 (grub_util_error): Likewise.
18570 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18571 and/or new lines in `grub_util_warna', `grub_util_info',
18572 `grub_util_error' calls.
18573 * util/getroot.c: Likewise.
18574 * util/grub-editenv.c: Likewise.
18575 * util/grub-emu.c: Likewise.
18576 * util/grub-fstest.c: Likewise.
18577 * util/grub-mkdevicemap.c: Likewise.
18578 * util/grub-mkfont.c: Likewise.
18579 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18580 * util/grub-mkrelpath.c: Likewise.
18581 * util/grub-pe2elf.c: Likewise.
18582 * util/grub-probe.c: Likewise.
18583 * util/hostdisk.c: Likewise.
18584 * util/i386/efi/grub-mkimage.c: Likewise.
18585 * util/i386/pc/grub-mkimage.c: Likewise.
18586 * util/i386/pc/grub-setup.c: Likewise.
18587 * util/ieee1275/ofpath.c: Likewise.
18588 * util/mkisofs/eltorito.c: Likewise.
18589 * util/mkisofs/rock.c: Likewise.
18590 * util/mkisofs/write.c: Likewise.
18591 * util/raid.c: Likewise.
18592 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18593 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18594
a0b766fc
VS
185952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 Enable multiboot on non-pc.
18598
18599 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18600 multiboot.mod and multiboot2.mod to ...
18601 * conf/i386.rmk (pkglib_MODULES): ... here.
18602 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18603 Moved to ...
18604 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18605 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18606 Moved to ...
18607 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18608 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18609 Moved to ...
18610 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18611 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18612 Moved to ...
18613 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18614 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18615 relocator.mod.
18616 (ata_mod_SOURCES): Removed.
18617 (ata_mod_CFLAGS): Likewise.
18618 (ata_mod_LDFLAGS): Likewise.
18619 (relocator_mod_SOURCES): Removed.
18620 (relocator_mod_CFLAGS): Likewise.
18621 (relocator_mod_ASFLAGS): Likewise.
18622 (relocator_mod_LDFLAGS): Likewise.
18623 Include i386.mk.
18624 * include/grub/x86_64/multiboot.h: New file.
18625 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18626 Terminate EFI.
18627
884ade56
VS
186282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 Video multiboot support.
18631
18632 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18633 New prototype.
18634 * include/multiboot.h: Resynced with multiboot specification.
18635 * include/multiboot2.h: Likewise.
18636 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18637 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18638 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18639 (HAS_VGA_TEXT): Likewise.
18640 (accepts_video): New variable.
18641 (grub_multiboot_set_accepts_video): New function.
18642 (grub_multiboot_get_mbi_size): Account for video structures.
18643 (set_video_mode): New function.
18644 (retrieve_video_parameters): Likewise.
18645 (grub_multiboot_make_mbi): Fill video fields.
18646
0d90e8a6
VS
186472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 Video driver ids.
18650
18651 * include/grub/video.h (grub_video_driver_id): New type.
18652 (grub_video_adapter): New member 'id'. All users updated.
18653 (grub_video_get_driver_id): New proto.
18654 * video/video.c (grub_video_get_driver_id): New function.
18655
5c71db1b 186562010-01-14 Carles Pina i Estany <carles@pina.cat>
18657
18658 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18659 `var=val'.
18660
cca15b52 186612010-01-14 Carles Pina i Estany <carles@pina.cat>
18662
18663 * normal/cmdline.c (print_completion): Gettextizze.
18664
c586fbb2 186652001-01-14 Carles Pina i Estany <carles@pina.cat>
18666
18667 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18668
ba2f6848 186692010-01-14 Carles Pina i Estany <carles@pina.cat>
18670
18671 * gettext/gettext.c (grub_gettext_translate): Push and pop
18672 grub_errno.
18673 (grub_gettext_delete_list): Change comment style.
18674 * kern/err.c (grub_error): Gettextizze.
18675 (grub_fatal): Gettextizze.
18676
0a46429a
RM
186772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18678
18679 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18680 (grub_linux16_real_boot): ... this.
18681 * kern/i386/loader.S: Likewise.
18682 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18683 (grub_linux16_boot): New function. Switches to text mode and calls
18684 grub_linux16_real_boot().
18685
18686 * loader/i386/bsd.c: Include `<grub/video.h>'.
18687 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18688 text mode before calling grub_unix_real_boot().
18689
18690 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18691 (grub_multiboot_boot): Switch to text mode before calling
18692 grub_relocator32_boot().
18693
18694 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18695 (grub_chainloader_boot): Switch to text mode before calling
18696 grub_chainloader_real_boot().
18697
d6f93a66
RM
186982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
186992010-01-05 Colin Watson <cjwatson@ubuntu.com>
18700
18701 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18702 non-empty value.
18703
187042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
187052010-01-05 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * util/grub.d/00_header.in: Define a "savedefault" function for use
18708 in menu entries.
18709 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18710
187112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
187122010-01-05 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * util/grub-mkconfig_lib.in (save_default_entry): Only set
18715 saved_entry if boot_once is unset.
18716 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
18717 previous saved entry (i.e. grub-reboot).
18718
187192009-12-08 Colin Watson <cjwatson@ubuntu.com>
18720
18721 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
18722
187232009-12-08 Colin Watson <cjwatson@ubuntu.com>
18724
18725 * util/grub.d/00_header.in: Use `set var=val' rather than plain
18726 `var=val'.
18727 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
18728
187292009-12-08 Colin Watson <cjwatson@ubuntu.com>
18730
18731 * util/grub-reboot.in: Fix --version output.
18732 * util/grub-set-default.in: Likewise.
18733
187342009-12-08 Colin Watson <cjwatson@ubuntu.com>
18735
18736 * util/grub.d/00_header.in: Silently ignore zero-sized environment
18737 blocks.
18738
187392009-12-08 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * util/grub.d/00_header.in: Quote the value assigned to `default',
18742 in case it contains spaces.
18743
187442009-12-08 Colin Watson <cjwatson@ubuntu.com>
18745
18746 * util/grub.d/30_os-prober.in: Fix merge error that moved a
18747 `save_default_entry' call from the macosx case to the linux case.
18748
187492009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
187502009-10-25 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
18753 in `chosen' environment variable.
18754 * normal/menu_text.c (get_entry_number): Check if the variable
18755 matches the title of a menu entry.
18756 (run_menu): Pass menu to get_entry_number.
18757
18758 * util/grub-reboot.in: New file.
18759 * util/grub-set-default.in: New file.
18760 * conf/common.rmk (grub-reboot): New utility.
18761 (grub-set-default): New utility.
18762
18763 * util/grub-mkconfig_lib.in (save_default_entry): New function.
18764 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
18765 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
18766 move it to `saved_entry' for the next boot. Load environment on
18767 initialisation.
18768 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
18769 * util/grub.d/10_hurd.in: Likewise.
18770 * util/grub.d/10_linux.in (linux_entry): Likewise.
18771 * util/grub.d/10_windows.in: Likewise.
18772 * util/grub.d/30_os-prober.in: Likewise.
18773
18774 * util/grub-install.in: Create environment block.
18775 * util/i386/efi/grub-install.in: Likewise.
18776 * util/ieee1275/grub-install.in: Likewise.
18777 * util/sparc64/ieee1275/grub-install.in: Likewise.
18778
0934d184
BC
187792010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
18780
18781 Unit testing framework for GRUB.
18782
18783 * Makefile.in: Test framework build rules for 'make check'.
18784 * conf/tests.rmk: Build rules for individual tests and framework.
18785
18786 * include/grub/test.h: Header file for whitebox tests.
18787 * tests/lib/functional_test.c: Framework support for whitebox
18788 functional tests.
18789 * tests/lib/test.c: Common whitebox testing code for unit and
18790 functional tests.
18791 * tests/lib/unit_test.c: Framework support for whitebox unit
18792 tests.
18793
18794 * tests/util/grub-shell-tester.in: Support utility for grub-script
18795 tests.
18796 * tests/util/grub-shell.in: Utility to execute grub-script
18797 commands in a Qemu instance.
18798
18799 * tests/example_functional_test.c: Example whitebox functional
18800 test.
18801 * tests/example_grub_script_test.in: Example grub-script test.
18802 * tests/example_scripted_test.in: Example scripted test.
18803 * tests/example_unit_test.c: Example whitebox unit test.
18804
9c4ffeeb
VS
188052010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
18808 Add loader/i386/multiboot_mbi.c.
18809 (multiboot2_mod_SOURCES): Likewise.
18810 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
18811 (multiboot2_mod_SOURCES): Likewise.
18812 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
18813 (grub_multiboot_make_mbi): Likewise.
18814 (grub_multiboot_free_mbi): Likewise.
18815 (grub_multiboot_init_mbi): Likewise.
18816 (grub_multiboot_add_module): Likewise.
18817 (grub_multiboot_set_bootdev): Likewise.
18818 * loader/i386/multiboot.c (mbi): Removed.
18819 (mbi_dest): Likewise.
18820 (alloc_mbi): New variable.
18821 (grub_multiboot_payload_size): Removed. All users updated.
18822 (grub_multiboot_pure_size): New variable.
18823 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
18824 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
18825 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
18826 (grub_fill_multiboot_mmap): Likewise.
18827 (grub_multiboot_get_bootdev): Likewise.
18828 (grub_multiboot): Use multiboot_mbi functions.
18829 * loader/i386/multiboot_mbi.c: New file.
18830
17383dfe
VS
188312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
18834 it would result in module crash.
18835
c1f28820
VS
188362010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
18839 (grub_ofconsole_getwh): Split to ...
18840 (grub_ofconsole_getwh): ... this.
18841 (grub_ofconsole_dimensions): ...and this.
18842 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
18843
58655a16
RM
188442010-01-13 Robert Millan <rmh.grub@aybabtu.com>
18845
18846 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
18847
10891398
VS
188482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * loader/i386/pc/multiboot2.c: Removed stalled file.
18851
0b8a223c
VS
188522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
18855 Reported by: Grégoire Sutre
18856
92ab12b0
RM
188572010-01-11 Robert Millan <rmh.grub@aybabtu.com>
18858
18859 * util/misc.c (canonicalize_file_name): New function.
18860 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
18861 instead of realpath().
18862
a788afb6
CW
188632010-01-11 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * util/grub-install.in (usage): Clarify meaning of --root-directory,
18866 and make it clearer that it's optional. Based on confusion
18867 witnessed on IRC.
18868
ffa8e3d2
VS
188692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
18872 in premature implicit newline.
18873
e9060a9d
VS
188742010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
18877 which resulted in garbled command line at the end of screen.
18878
f0d0c0b7
RM
188792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18880
18881 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18882 initialization with similar approach as with other Linux loaders.
18883
0e60bae7
RM
188842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 Fix i386-ieee1275 build.
18887
18888 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18889 and grub_term_height() for video_{width,height} initialization.
18890
188912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
18892
18893 Fix grub-emu build.
18894
18895 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18896
cdb3f378
RM
188972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
188982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18899
18900 Support for multiple terminals.
18901
18902 * Makefile.in (pkglib_DATA): terminal.lst.
18903 (terminal.lst): New target.
18904 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18905 (GRUB_MOD_INIT(handler)): Likewise.
18906 (GRUB_MOD_FINI(handler)): Likewise.
18907 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18908 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18909 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18910 (grub_cmd_sleep): Use grub_term_save_pos.
18911 * commands/terminal.c: New file.
18912 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18913 commands/terminal.c and lib/charset.c.
18914 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18915 (pkglib_MODULES): Add terminal.mod.
18916 (terminal_mod_SOURCES): New variable.
18917 (terminal_mod_CFLAGS): Likewise.
18918 (terminal_mod_LDFLAGS): Likewise.
18919 * genhandlerlist.sh: Don't handle terminals.
18920 * genmk.rb: Generate terminal-*.lst.
18921 * genterminallist.sh: New file.
18922 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18923 (grub_is_valid_utf8): Likewise.
18924 (grub_utf8_to_ucs4_alloc): Likewise.
18925 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18926 (grub_menu_register_viewer): Changed argument.
18927 (grub_menu_try_text): New proto.
18928 (grub_gfxmenu_try_hook): New declaration.
18929 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18930 (grub_menu_init_page): Additional argument term.
18931 (grub_normal_init_page): Likewise.
18932 (grub_cmdline_get): Arguments simplified.
18933 (grub_utf8_to_ucs4_alloc): Removed.
18934 (grub_print_ucs4): Additional argument term.
18935 (grub_getstringwidth): Likewise.
18936 (grub_print_message_indented): Likewise.
18937 (grub_menu_text_register_instances): New proto.
18938 (grub_show_menu): Likewise.
18939 (read_terminal_list): Likewise.
18940 (grub_set_more): Likewise.
18941 * include/grub/parser.h: Include handler.h.
18942 * include/grub/reader.h: Rewritten.
18943 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18944 (GRUB_TERM_WIDTH): Changed to function.
18945 (GRUB_TERM_HEIGHT): Likewise.
18946 (GRUB_TERM_BORDER_WIDTH): Likewise.
18947 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18948 (GRUB_TERM_NUM_ENTRIES): Likewise.
18949 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18950 (GRUB_TERM_CURSOR_X): Likewise.
18951 (grub_term_input_class): Likewise.
18952 (grub_term_output_class): Likewise.
18953 (grub_term_outputs_disabled): New declaration.
18954 (grub_term_inputs_disabled): Likewise.
18955 (grub_term_outputs): Likewise.
18956 (grub_term_inputs): Likewise.
18957 (grub_term_register_input): Rewritten.
18958 (grub_term_register_output): Likewise.
18959 (grub_term_unregister_input): Likewise.
18960 (grub_term_unregister_output): Likewise.
18961 (FOR_ACTIVE_TERM_INPUTS): New macro.
18962 (FOR_DISABLED_TERM_INPUTS): Likewise.
18963 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18964 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18965 * include/grub/terminfo.h: Add oterm argument to all protypes.
18966 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18967 Use grub_rescue_run.
18968 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18969 All users updated.
18970 * kern/reader.c: Removed. All users updated.
18971 * kern/rescue_reader.c (grub_rescue_init): Removed.
18972 (grub_rescue_reader): Likewise.
18973 (grub_register_rescue_reader): Likewise.
18974 (grub_rescue_run): New function based on kern/reader.c.
18975 * kern/term.c: Adapted for multiterm.
18976 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18977 (grub_is_valid_utf8): Likewise.
18978 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18979 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18980 right terminal.
18981 * loader/i386/linux.c (grub_linux_boot): Likewise.
18982 * normal/auth.c (grub_username_get): New function.
18983 (grub_auth_check_authentication): Use grub_username_get.
18984 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18985 * normal/color.c: Adapt for multiterm.
18986 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18987 (grub_normal_init_page): Additional argument term.
18988 (read_lists): Call read_terminal_lists.
18989 (grub_enter_normal_mode): Call grub_cmdline_run.
18990 Handle grub_normal_exit_level.
18991 (grub_cmd_normal): Make reentrant.
18992 (grub_cmd_normal_exit): New function.
18993 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18994 * normal/menu.c: Adapt for multiterm.
18995 * normal/menu_entry.c: Likewise.
18996 * normal/menu_text.c: Likewise.
18997 * normal/menu_viewer.c: Removed. All users updated.
18998 * normal/term.c: New file.
18999 * util/console.c: Change order of includes to workaround a bug in
19000 ncurses headers.
19001 * term/terminfo.c: New argument oterm on all exported functions.
19002 All users updated.
19003 * util/grub-editenv.c (grub_term_input_class): Removed.
19004 (grub_term_output_class): Likewise.
19005
1a064917
RM
190062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19007
19008 Make loader output a bit more user-friendly.
19009
19010 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19011 is being loaded. Likewise for the Hurd.
19012
19013 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19014 that kernel of FreeBSD ${version} is being loaded.
19015
19016 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19017 grub_dprintf().
19018 (grub_cmd_initrd): Likewise.
19019 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19020 that Linux ${version} is being loaded. Likewise for initrd.
19021
5ce0a83a 190222010-01-09 Carles Pina i Estany <carles@pina.cat>
19023
19024 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19025
809bbfeb 190262010-01-08 Carles Pina i Estany <carles@pina.cat>
19027
19028 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19029 (GRUB_MOD_INIT): Gettextizze.
19030 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19031 (GRUB_MOD_INIT): Gettextizze.
19032 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19033 (grub_cmd_linux): Capitalise Linux.
19034 (GRUB_MOD_INIT): Gettextizze.
19035 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19036 (grub_cmd_linux): Capitalise Linux.
19037 (GRUB_MOD_INIT): Gettextizze.
19038 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19039 (grub_cmd_linux): Capitalise Linux.
19040 (GRUB_MOD_INIT): Gettextizze.
19041 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19042 (GRUB_MOD_INIT): Gettextizze.
19043 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19044 (grub_cmd_linux): Capitalise Linux.
19045 (GRUB_MOD_INIT): Gettextizze.
19046 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19047 (grub_cpu_xnu_init): Gettextizze.
19048 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19049 (GRUB_MOD_INIT): Gettextizze.
19050 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19051 (GRUB_MOD_INIT): Gettextizze.
19052 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19053 (grub_linux_load64): Capitalise Linux.
19054 (GRUB_MOD_INIT): Gettextizze.
19055 * loader/xnu.c: Include `<grub/i18n.h>'.
19056 (GRUB_MOD_INIT): Gettextizze.
19057 * po/POTFILES: Add `loader/efi/appleloader.c',
19058 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19059 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19060 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19061 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19062 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19063 and `loader/xnu.c'.
19064
b394b2ca
RM
190652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19066
19067 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19068
190692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19070
19071 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19072 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19073 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19074
bc8b32b3
RM
190752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19076
19077 Reset Multiboot 2 support. New loader implements the draft in
19078 /branches/multiboot2 and shares as much code as possible with the
19079 production Multiboot 1 implementation.
19080
19081 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19082 * loader/multiboot2.c: Likewise.
19083 * loader/i386/multiboot_helper.S: Likewise.
19084 * include/multiboot2.h: Replace with latest version from the draft
19085 in /branches/multiboot2.
19086
19087 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19088 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19089 and `loader/multiboot2.c'.
19090 (pkglib_MODULES): Add `multiboot2.mod'.
19091 (multiboot2_mod_SOURCES): New variable.
19092 (multiboot2_mod_LDFLAGS): Likewise.
19093 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19094
19095 * conf/i386-pc.rmk: Likewise.
19096
19097 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19098 (multiboot_mod_SOURCES): Remove variable.
19099 (multiboot_mod_LDFLAGS): Likewise.
19100 (multiboot_mod_CFLAGS): Likewise.
19101
19102 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19103 `<multiboot2.h>' instead of `<multiboot.h>'.
19104 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19105 (MULTIBOOT_HEADER_MAGIC): New macros.
19106
19107 * loader/multiboot_loader.c (module_version_status): Remove variable.
19108 (find_multi_boot2_header): Remove function.
19109 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19110 logic. Always check for the Multiboot version we're compiling for.
19111 (grub_cmd_module_loader): Likewise.
19112 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19113 command instead of `multiboot'.
19114
5d2c52b8
RM
191152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19116
19117 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19118 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19119 all users.
19120
53108d92
RM
191212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
191222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 Fix breakage introduced with previous commit.
19125
19126 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19127 commands.
19128 * normal/handler.c (read_handler_list): Revert part of previous commit
19129 affecting this file.
19130 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19131 (grub_normal_execute): ... here.
19132
e2e936b2
RM
191332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19134
19135 Merge prefix-redefinition-fix branch.
19136
19137 * normal/autofs.c (read_fs_list): Make function capable of being
19138 run multiple times, gracefuly replacing the previous data
19139 structures.
19140 * normal/dyncmd.c (read_command_list): Likewise.
19141 * normal/handler.c (read_handler_list): Likewise.
19142 * normal/main.c (read_lists): New function. Calls all the
19143 list reading functions.
19144 (grub_normal_execute): Use read_lists() instead of calling all
19145 list reading functions explicitly. Register read_lists() as a
19146 variable hook attached to ${prefix}.
19147
607a3701
VS
191482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 Merge crypto branch.
19151
19152 * Makefile.in (pkglib_DATA): Add crypto.lst.
19153 (crypto.lst): New target.
19154 * commands/hashsum.c: New file.
19155 * commands/password.c (check_password): Use grub_crypto_memcmp.
19156 * commands/password_pbkdf2.c: New file.
19157 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19158 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19159 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19160 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19161 -I$(srcdir)/lib/libgcrypt_wrap.
19162 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19163 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19164 password_pbkdf2.mod.
19165 (crypto_mod_SOURCES): New variable.
19166 (crypto_mod_CFLAGS): Likewise.
19167 (crypto_mod_LDFLAGS): Likewise.
19168 (hashsum_mod_SOURCES): New variable.
19169 (hashsum_mod_CFLAGS): Likewise.
19170 (hashsum_mod_LDFLAGS): Likewise.
19171 (pbkdf2_mod_SOURCES): New variable.
19172 (pbkdf2_mod_CFLAGS): Likewise.
19173 (pbkdf2_mod_LDFLAGS): Likewise.
19174 (password_pbkdf2_mod_SOURCES): New variable.
19175 (password_pbkdf2_mod_CFLAGS): Likewise.
19176 (password_pbkdf2_mod_LDFLAGS): Likewise.
19177 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19178 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19179 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19180 Include conf/gcry.rmk.
19181 * include/grub/auth.h: Rewritten.
19182 * include/grub/crypto.h: New file.
19183 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19184 * include/grub/normal.h (read_crypto_list): New prototype.
19185 * lib/crypto.c: New file.
19186 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19187 * lib/pbkdf2.c: Likewise.
19188 * normal/auth.c (grub_auth_strcmp): Removed.
19189 (grub_iswordseparator): Likewise.
19190 (grub_auth_strword): Likewise.
19191 (is_authenticated): Use grub_strword.
19192 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19193 and grub_strword. Pass entered password to authentication callback.
19194 * normal/crypto.c: New file.
19195 * normal/main.c: Call read_crypto_list.
19196 * util/grub-mkpasswd-pbkdf2.c: New file.
19197 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19198
42841caa
VS
191992010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 Fix descent and ascent calculation.
19202
19203 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19204 (options): New option "asce".
19205 (usage): Likewise.
19206 (add_char): Ignore invalid glyphs for descent calculation.
19207 Calculate ascent from actual content.
19208 (print_glyphs): Use 'asce'.
19209 (write_font): Likewise. Allow ascent override.
19210 (main): Handle "asce" option.
19211
e7730de7 192122010-01-06 Carles Pina i Estany <carles@pina.cat>
19213
19214 * kern/err.c: Include `<grub/i18n.h>'.
19215 (grub_print_error): Add full stop. Gettextizze.
19216 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19217 (grub_bsd_load_elf): Capitalise ELF.
19218 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19219 (grub_cmd_freebsd_module): Likewise.
19220 (grub_cmd_freebsd_module_elf): Likewise.
19221 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19222
40e3a41f 192232010-01-06 Carles Pina i Estany <carles@pina.cat>
19224
19225 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19226 * commands/search_file.c (HELP_MESSAGE): New macro.
19227 * commands/search_label.c (HELP_MESSAGE): Likewise.
19228 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19229 * po/POTFILES: Add `commands/search_file.c',
19230 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19231 `commands/search.c'.
19232
83507e68
RM
192332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19234
19235 * config.rpath: Update from Gnulib.
19236
465c787b
YB
192372010-01-05 Yves Blusseau <blusseau@zetam.org>
19238
19239 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19240
6581dd3a
YB
192412010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19242
19243 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19244
3bff18c5
CW
192452010-01-05 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19248 arguments to fread so that we get a return value in bytes, rather
19249 than something that will normally be rounded down to 0.
19250 Adjust error handling to avoid producing garbage when size_t is not
19251 the same size as long long.
19252
a1368118
CW
192532010-01-05 Colin Watson <cjwatson@ubuntu.com>
19254
19255 * util/mkisofs/write.c (padblock_write): Check return value of
19256 fread.
19257
7c302978
RM
192582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19259
19260 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19261 floppy images now.
19262
19263 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19264
e33ace06
RM
192652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19266
19267 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19268 instead of manual alignment.
19269 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19270 verbose). Avoid attempts to read past end of the device
19271 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19272 but GRUB_DISK_CACHE_SIZE may exceed that).
19273
4b856776
RM
192742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19275
19276 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19277 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19278 it to upper layer.
19279
52c2d97f
VS
192802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19283 New constant.
19284 (grub_efi_piwg_device_path): New structure
19285 (grub_efi_piwg_device_path_t): New type.
19286 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19287 (devpath_1): Transform to a structure. All users updated.
19288 (devpath_2): Likewise.
19289 (devpath_3): Likewise.
19290 (devpath_4): Likewise.
19291 (devpath_5): Likewise.
19292
98ff6a54
VS
192932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * loader/efi/appleloader.c: Restored. Update all users.
19296
3a73dcb6
RM
192972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19298
19299 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19300
19301 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19302 (struct boot_blocklist): Move from here ...
19303 * include/grub/i386/pc/boot.h [ASM_FILE]
19304 (struct grub_boot_blocklist): ... to here. Update all users.
19305 (setup): Only initialize `start' member of `first_block'
19306 structure. Add assert() calls to verify the other members.
19307
19308 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19309 (generate_image): Fix broken blocklist length initialization.
19310 Add assert() call to verify blocklist `segment' field.
19311
ab0eeb0c
RM
193122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19313
19314 * loader/efi/appleloader.c: Remove. Update all users.
19315
58bc8bd5
RM
193162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19317
19318 * boot/i386/pc/boot.S: Update copyright year.
19319 * boot/i386/pc/cdboot.S: Likewise.
19320 * boot/i386/pc/diskboot.S: Likewise.
19321 * boot/i386/pc/lnxboot.S: Likewise.
19322 * boot/i386/pc/pxeboot.S: Likewise.
19323 * bus/pci.c: Likewise.
19324 * commands/cmp.c: Likewise.
19325 * commands/help.c: Likewise.
19326 * commands/hexdump.c: Likewise.
19327 * commands/i386/pc/halt.c: Likewise.
19328 * commands/i386/pc/play.c: Likewise.
19329 * commands/i386/pc/vbeinfo.c: Likewise.
19330 * commands/ls.c: Likewise.
19331 * commands/test.c: Likewise.
19332 * disk/dmraid_nvidia.c: Likewise.
19333 * disk/i386/pc/biosdisk.c: Likewise.
19334 * disk/ieee1275/nand.c: Likewise.
19335 * disk/ieee1275/ofdisk.c: Likewise.
19336 * disk/lvm.c: Likewise.
19337 * disk/raid.c: Likewise.
19338 * disk/raid6_recover.c: Likewise.
19339 * disk/scsi.c: Likewise.
19340 * fs/affs.c: Likewise.
19341 * fs/cpio.c: Likewise.
19342 * fs/ext2.c: Likewise.
19343 * fs/hfs.c: Likewise.
19344 * fs/iso9660.c: Likewise.
19345 * fs/ntfs.c: Likewise.
19346 * fs/sfs.c: Likewise.
19347 * fs/udf.c: Likewise.
19348 * fs/ufs.c: Likewise.
19349 * fs/xfs.c: Likewise.
19350 * gencmdlist.sh: Likewise.
19351 * genmk.rb: Likewise.
19352 * include/grub/disk.h: Likewise.
19353 * include/grub/efi/api.h: Likewise.
19354 * include/grub/efi/efi.h: Likewise.
19355 * include/grub/efi/pe32.h: Likewise.
19356 * include/grub/elf.h: Likewise.
19357 * include/grub/fs.h: Likewise.
19358 * include/grub/i386/at_keyboard.h: Likewise.
19359 * include/grub/i386/pc/memory.h: Likewise.
19360 * include/grub/i386/pc/vbe.h: Likewise.
19361 * include/grub/i386/pci.h: Likewise.
19362 * include/grub/i386/tsc.h: Likewise.
19363 * include/grub/ieee1275/ieee1275.h: Likewise.
19364 * include/grub/ntfs.h: Likewise.
19365 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19366 * include/grub/sparc64/libgcc.h: Likewise.
19367 * include/grub/symbol.h: Likewise.
19368 * include/grub/types.h: Likewise.
19369 * include/multiboot2.h: Likewise.
19370 * io/gzio.c: Likewise.
19371 * kern/device.c: Likewise.
19372 * kern/disk.c: Likewise.
19373 * kern/efi/efi.c: Likewise.
19374 * kern/efi/mm.c: Likewise.
19375 * kern/elf.c: Likewise.
19376 * kern/file.c: Likewise.
19377 * kern/i386/dl.c: Likewise.
19378 * kern/i386/pc/init.c: Likewise.
19379 * kern/i386/pc/startup.S: Likewise.
19380 * kern/ieee1275/ieee1275.c: Likewise.
19381 * kern/ieee1275/init.c: Likewise.
19382 * kern/main.c: Likewise.
19383 * kern/mm.c: Likewise.
19384 * kern/powerpc/dl.c: Likewise.
19385 * kern/sparc64/dl.c: Likewise.
19386 * kern/x86_64/dl.c: Likewise.
19387 * lib/hexdump.c: Likewise.
19388 * loader/efi/appleloader.c: Likewise.
19389 * loader/i386/ieee1275/linux.c: Likewise.
19390 * loader/i386/pc/chainloader.c: Likewise.
19391 * loader/i386/pc/linux.c: Likewise.
19392 * loader/i386/pc/multiboot2.c: Likewise.
19393 * loader/ieee1275/multiboot2.c: Likewise.
19394 * loader/multiboot2.c: Likewise.
19395 * loader/multiboot_loader.c: Likewise.
19396 * loader/powerpc/ieee1275/linux.c: Likewise.
19397 * normal/completion.c: Likewise.
19398 * normal/menu_entry.c: Likewise.
19399 * partmap/apple.c: Likewise.
19400 * util/grub.d/10_hurd.in: Likewise.
19401 * util/hostfs.c: Likewise.
19402 * video/readers/png.c: Likewise.
19403
e2d70b5c
CW
194042010-01-03 Colin Watson <cjwatson@ubuntu.com>
19405
19406 * include/grub/misc.h (GNUC_PREREQ): New macro.
19407 (ATTRIBUTE_ERROR): New macro.
19408 * include/grub/list.h (grub_bad_type_cast_real): Use
19409 ATTRIBUTE_ERROR.
19410
a173283f 194112010-01-03 Carles Pina i Estany <carles@pina.cat>
19412
19413 * normal/menu_text.c (print_message): Change messages.
19414
7fa7ff74 194152010-01-03 Carles Pina i Estany <carles@pina.cat>
19416
19417 * normal/menu_entry.c (store_completion): Gettextizze.
19418
136d24f6 194192010-01-03 Carles Pina i Estany <carles@pina.cat>
19420
19421 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19422
f936862e 194232010-01-03 Carles Pina i Estany <carles@pina.cat>
19424
19425 * po/POTFILES: Sort correctly.
19426
29c44ad1 194272010-01-03 Carles Pina i Estany <carles@pina.cat>
19428
19429 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19430 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19431 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19432 full stop.
19433 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19434 summary. Gettextizze the strings.
19435 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19436 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19437 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19438 full stop.
19439 (GRUB_MOD_INIT): Remove command name from summary.
19440 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19441 summary.
19442 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19443 * term/i386/pc/serial.c (options): Add full stops.
19444 (GRUB_MOD_INIT): Remove command name from the summary.
19445
77a79592 194462010-01-03 Carles Pina i Estany <carles@pina.cat>
19447
19448 * commands/acpi.c: Gettextizze help strings and/or options. Include
19449 `grub/i18n.h' if needed.
19450 * commands/blocklist.c: Likewise.
19451 * commands/boot.c: Likewise.
19452 * commands/cat.c: Likewise.
19453 * commands/cmp.c: Likewise.
19454 * commands/configfile.c: Likewise.
19455 * commands/crc.c: Likewise.
19456 * commands/date.c: Likewise.
19457 * commands/echo.c: Likewise.
19458 * commands/efi/fixvideo.c: Likewise.
19459 * commands/efi/loadbios.c: Likewise.
19460 * commands/gptsync.c: Likewise.
19461 * commands/halt.c: Likewise.
19462 * commands/handler.c: Likewise.
19463 * commands/hdparm.c: Likewise.
19464 * commands/hexdump.c: Likewise.
19465 * commands/i386/cpuid.c: Likewise.
19466 * commands/i386/pc/drivemap.c: Likewise.
19467 * commands/i386/pc/halt.c: Likewise.
19468 * commands/i386/pc/pxecmd.c: Likewise.
19469 * commands/i386/pc/vbeinfo.c: Likewise.
19470 * commands/i386/pc/vbetest.c: Likewise.
19471 * commands/ieee1275/suspend.c: Likewise.
19472 * commands/keystatus.c: Likewise.
19473 * commands/loadenv.c: Likewise.
19474 * commands/ls.c: Likewise.
19475 * commands/lsmmap.c: Likewise.
19476 * commands/lspci.c: Likewise.
19477 * commands/memrw.c: Likewise.
19478 * commands/minicmd.c: Likewise.
19479 * commands/parttool.c: Likewise.
19480 * commands/password.c: Likewise.
19481 * commands/probe.c: Likewise.
19482 * commands/read.c: Likewise.
19483 * commands/reboot.c: Likewise.
19484 * commands/search.c: Likewise.
19485 * commands/sleep.c: Likewise.
19486 * commands/test.c: Likewise.
19487 * commands/true.c: Likewise.
19488 * commands/usbtest.c: Likewise.
19489 * commands/videotest.c: Likewise.
19490 * commands/xnu_uuid.c: Likewise.
19491 * disk/loopback.c: Likewise.
19492 * hello/hello.c: Likewise.
19493 * loader/i386/bsd.c: Likewise.
19494 * term/i386/pc/serial.c: Likewise.
19495 * po/POTFILES: Add new files.
19496
da8d5c53
CW
194972010-01-02 Colin Watson <cjwatson@ubuntu.com>
19498
19499 * term/i386/pc/at_keyboard.c
19500 (keyboard_controller_wait_untill_ready): Rename to ...
19501 (keyboard_controller_wait_until_ready): ... this. Update all users.
19502
33937904 195032010-01-01 Carles Pina i Estany <carles@pina.cat>
19504
19505 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19506 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19507 string using string width.
19508 * normal/menu_text.c (grub_print_message_indented): Use
19509 grub_print_spaces and not print_spaces.
19510 (print_timeout): Likewise.
19511 (print_spaces): Move to...
19512 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19513
3fd3b8d8
RM
195142010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19515
19516 Import from Gnulib.
19517
19518 * gnulib/getdelim.c: New file.
19519 * gnulib/getline.c: Likewise.
19520
33433555
VS
195212009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19522
19523 * include/grub/list.h (grub_assert_fail): Removed.
19524 (grub_bad_type_cast_real): New function.
19525 (grub_bad_type_cast): New macro.
19526 (GRUB_AS_LIST): Use grub_bad_type_cast.
19527 (GRUB_AS_LIST_P): Likewise.
e44721e8 19528 (GRUB_AS_NAMED_LIST): Likewise.
33433555 19529 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 19530 (GRUB_AS_PRIO_LIST): Likewise.
33433555 19531 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 19532 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 19533
f5a51306
VS
195342009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19537 Fix syntax error.
19538
90d1e879
RM
195392009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19540
19541 * configure.ac: Check for TARGET_CFLAGS initialization before we
19542 initialize it ourselves (sigh).
19543 Move a few modifications to TARGET_CFLAGS to be unconditional
19544 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19545 eh_frame)
19546
19547 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19548 * term/i386/pc/at_keyboard.c
19549 (keyboard_controller_wait_untill_ready): Likewise.
19550 (keyboard_controller_led): Rename `led_status' paramter to avoid
19551 name conflict.
19552
465b5a81 195532009-12-28 Carles Pina i Estany <carles@pina.cat>
19554
19555 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19556 quotes.
19557
c181849b
VS
195582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19561
9c8739a4
VS
195622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * normal/menu_text.c (grub_print_message_indented): Prevent
19565 past-the-end-of-array dereference.
19566
3e74249c
VS
195672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19570 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19571
64fd18ed 195722009-12-27 Carles Pina i Estany <carles@pina.cat>
19573
19574 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19575 * normal/main.c (grub_normal_read_line): Remove a space from the
19576 default prompt.
19577
714af9b9 195782009-12-27 Carles Pina i Estany <carles@pina.cat>
19579
19580 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19581 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19582 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19583 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19584 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19585 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19586 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19587
82f3e412 195882009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 19589
19590 * video/readers/jpeg.c (cmd): Declare.
19591 (grub_cmd_jpegtest): Use `grub_command_t' type.
19592 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19593 Assign to `cmd'.
19594 (GRUB_MOD_FINI): Use `cmd' to unregister.
19595 * video/readers/png.c (cmd): Declare.
19596 (grub_cmd_pngtest): Use `grub_command_t' type.
19597 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19598 Assign to `cmd'.
19599 (GRUB_MOD_FINI): Use `cmd' to unregister.
19600 * video/readers/tga.c (cmd): Declare.
19601 (grub_cmd_tgatest): Use `grub_command_t' type.
19602 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19603 Assign to `cmd'.
19604 (GRUB_MOD_FINI): Use `cmd' to unregister.
19605
82f3e412 196062009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 19607
19608 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19609 stops.
19610 * kern/corecmd.c (grub_register_core_commands): Likewise.
19611 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19612 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19613 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19614 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19615 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19616 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19617 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19618 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19619 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19620 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19621 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19622 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19623 * normal/handler.c (insert_handler): Likewise.
19624 * normal/main.c (GRUB_MOD_INIT): Likewise.
19625 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19626
fdcdbb66 196272009-12-26 Carles Pina i Estany <carles@pina.cat>
19628
19629 * commands/help.c (grub_cmd_help): Print the command name before the
19630 summary.
19631 (GRUB_MOD_INIT): Remove command name from the summary.
19632 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 19633 string as summary.
fdcdbb66 19634 * lib/arg.c (find_long): Print the command name before the summary.
19635 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19636 summary.
19637 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19638 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19639 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19640 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19641 * commands/crc.c (GRUB_MOD_INIT): Likewise.
19642 * commands/date.c (GRUB_MOD_INIT): Likewise.
19643 * commands/echo.c (GRUB_MOD_INIT): Likewise.
19644 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
19645 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19646 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19647 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19648 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19649 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19650 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19651 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19652 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19653 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19654 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19655 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19656 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19657 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19658 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19659 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19660 * commands/password.c (GRUB_MOD_INIT): Likewise.
19661 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19662 * commands/read.c (GRUB_MOD_INIT): Likewise.
19663 * commands/search.c (GRUB_MOD_INIT): Likewise.
19664 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19665 * commands/test.c (GRUB_MOD_INIT): Likewise.
19666 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19667 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19668 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19669 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19670 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19671 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19672 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19673 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19674 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19675 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19676 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19677 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19678 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19679 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19680
9c288be2
VS
196812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 Use search command for preliminar UUID search.
19684
19685 * commands/search.c: Split into ...
19686 * commands/search_wrap.c: ...this
19687 * commands/search.c: ...and this.
19688 * commands/search_file.c: New file.
19689 * commands/search_label.c: New file.
19690 * commands/search_uuid.c: New file.
19691 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19692 Add commands/search_wrap.c, commands/search_file.c,
19693 commands/search_label.c and commands/search_uuid.c.
19694 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19695 (search_mod_SOURCES): Set to commands/search_wrap.c.
19696 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19697 search_label.mod.
19698 (search_fs_file_mod_SOURCES): New variable.
19699 (search_fs_file_mod_CFLAGS): Likewise.
19700 (search_fs_file_mod_LDFLAGS): Likewise.
19701 (search_label_mod_SOURCES): Likewise.
19702 (search_label_mod_CFLAGS): Likewise.
19703 (search_label_mod_LDFLAGS): Likewise.
19704 (search_fs_uuid_mod_SOURCES): New variable.
19705 (search_fs_uuid_mod_CFLAGS): Likewise.
19706 (search_fs_uuid_mod_LDFLAGS): Likewise.
19707 (fs_file_mod_SOURCES): Removed.
19708 (fs_file_mod_CFLAGS): Likewise.
19709 (fs_file_mod_LDFLAGS): Likewise.
19710 (fs_uuid_mod_SOURCES): Removed.
19711 (fs_uuid_mod_CFLAGS): Likewise.
19712 (fs_uuid_mod_LDFLAGS): Likewise.
19713 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
19714 Set to util/grub-install.in.
19715 * disk/fs_file.c: Removed.
19716 * disk/fs_uuid.c: Likewise.
19717 * include/grub/search.h: New file.
19718 * util/grub-install.in: Handle sparc64.
19719 Create and use load.cfg.
19720 * util/sparc64/ieee1275/grub-install.in: Removed.
19721
db943399
VS
197222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
19725 Ignore return status if CF is cleared.
19726 (grub_biosdisk_get_diskinfo_standard): Likewise.
19727
3fdae612
RM
197282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19729
19730 * term/i386/pc/at_keyboard.c
19731 (keyboard_controller_wait_untill_ready): New function.
19732 (grub_keyboard_controller_write, grub_keyboard_controller_read)
19733 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
19734 for keyboard polling, rather than duplicate the same loop. This
19735 saves a few bytes in code size.
19736
7ebaa2b4
VS
197372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 Support for (pxe[:server[:gateway]]) syntax and
19740 use environment variable for PXE.
19741
19742 * commands/i386/pc/pxecmd.c (options): Removed.
19743 (print_ip): Removed.
19744 (grub_cmd_pxe): Removed
19745 (grub_cmd_pxe_unload): New function.
19746 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
19747 (grub_pxe_your_ip): Made static.
19748 (grub_pxe_default_server_ip): Likewise.
19749 (grub_pxe_default_gateway_ip): Likewise.
19750 (grub_pxe_blksize): Likewise.
19751 (parse_ip): New function.
19752 (grub_pxe_open): Support server and gateway specification.
19753 (grub_pxe_close): Free disk->data.
19754 (grub_pxefs_open): Use disk->data.
19755 (grub_pxefs_read): Likewise.
19756 (grub_env_write_readonly): New function.
19757 (set_mac_env): Likewise.
19758 (set_env_limn_ro): Likewise.
19759 (parse_dhcp_vendor): Likewise.
19760 (grub_pxe_detect): Set the environment variables.
19761 (set_ip_env): New function.
19762 (write_ip_env): Likewise.
19763 (grub_env_write_pxe_default_server): Likewise.
19764 (grub_env_write_pxe_default_gateway): Likewise.
19765 (grub_env_write_pxe_blocksize): Likewise.
19766 (GRUB_MOD_INIT(pxe)): Set environment variables.
19767 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
19768 (grub_pxe_mac_addr_t): ... this. All users updated.
19769 (grub_pxe_your_ip): Removed.
19770 (grub_pxe_server_ip): Likewise.
19771 (grub_pxe_gateway_ip): Likewise.
19772 (grub_pxe_blksize): Likewise.
19773
ec5f98ab 197742009-12-25 Carles Pina i Estany <carles@pina.cat>
19775
19776 * commands/help.c: Include `<grub/i18n.h>'.
19777 (grub_cmd_help): Gettextizze.
19778 (GRUB_MOD_INIT): Likewise.
19779 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
19780 (GRUB_MOD_INIT): Gettextizze.
19781 * commands/search.c: Include `<grub/i18n.h>'.
19782 (options): Gettextizze.
19783 (GRUB_MOD_INIT): Gettextizze.
19784 * lib/arg.c: Include `<grub/i18n.h>'.
19785 (help_options): Gettextizze.
19786 (find_long): Likewise.
19787 (grub_arg_show_help): Likewise.
19788 * normal/dyncmd.c: Include `<grub/i18n.h>'.
19789 (read_command_list): Gettextizze.
19790 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 19791 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 19792
22815526
RM
197932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19794
19795 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
19796 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
19797 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
19798 (led_status): New variable.
19799 (keyboard_controller_led): New function.
19800 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
19801 update led status for caps lock, num lock and scroll lock.
19802
0ad46fd7
FZ
198032009-12-25 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * util/hostdisk.c (open_device): Fix a comment.
19806
d0e158c2
RM
198072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19808
19809 * util/grub-install.in (host_os): New variable.
19810 * util/i386/efi/grub-install.in (host_os): Likewise.
19811
401c0ad6
RM
198122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19813
19814 * util/mkisofs/write.c (padblock_write): Abort when given an
19815 excedingly large embed image, instead of silently truncating it.
19816
d14d3370
RM
198172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19818
19819 * include/multiboot.h: Indentation fixes.
19820
eeed10b4
RM
198212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * include/multiboot.h (struct multiboot_aout_symbol_table)
19824 (struct multiboot_elf_section_header_table): New structure
19825 declarations (stolen from GRUB Legacy).
19826 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
19827 table information.
19828
19829 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
19830 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
19831 type aliases.
19832
681c70ab
RM
198332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19834
19835 * include/multiboot.h: Make comments src2texi-friendly.
19836
e4d47d8d
RM
198372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19838
19839 For consistency with [multiboot]/docs/boot.S.
19840
19841 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
19842 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
19843 (MULTIBOOT_MAGIC2): Rename from this ...
19844 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
19845
a0b70bda
RM
198462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19847
19848 * include/multiboot.h: Remove `<grub/types.h>'.
19849 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
19850 types. Update all users.
19851
61ba42be 198522009-12-25 Carles Pina i Estany <carles@pina.cat>
19853
19854 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
19855 `couldn't' and `can not' by `cannot'.
19856 * commands/i386/pc/drivemap.c: Likewise.
19857 * disk/ata.c: Likewise.
19858 * disk/ieee1275/nand.c: Likewise.
19859 * fs/affs.c: Likewise.
19860 * fs/fat.c: Likewise.
19861 * fs/hfs.c: Likewise.
19862 * fs/hfsplus.c: Likewise.
19863 * fs/iso9660.c: Likewise.
19864 * fs/jfs.c: Likewise.
19865 * fs/minix.c: Likewise.
19866 * fs/reiserfs.c: Likewise.
19867 * fs/sfs.c: Likewise.
19868 * fs/udf.c: Likewise.
19869 * fs/ufs.c: Likewise.
19870 * fs/xfs.c: Likewise.
19871 * loader/powerpc/ieee1275/linux.c: Likewise.
19872 * loader/sparc64/ieee1275/linux.c: Likewise.
19873 * util/grub-probe.c: Likewise.
19874 * util/misc.c: Likewise.
19875
7fd0baee 198762009-12-24 Carles Pina i Estany <carles@pina.cat>
19877
19878 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19879 grub_errno calls.
19880 * commands/acpi.c: Likewise.
19881 * commands/blocklist.c: Likewise.
19882 * commands/efi/loadbios.c: Likewise.
19883 * commands/i386/pc/drivemap.c: Likewise.
19884 * commands/loadenv.c: Likewise.
19885 * commands/memrw.c: Likewise.
19886 * commands/password.c: Likewise.
19887 * commands/videotest.c: Likewise.
19888 * disk/ata.c: Likewise.
19889 * disk/ata_pthru.c: Likewise.
19890 * disk/dmraid_nvidia.c: Likewise.
19891 * disk/ieee1275/nand.c: Likewise.
19892 * disk/ieee1275/ofdisk.c: Likewise.
19893 * disk/loopback.c: Likewise.
19894 * disk/lvm.c: Likewise.
19895 * disk/mdraid_linux.c: Likewise.
19896 * disk/raid.c: Likewise.
19897 * disk/raid6_recover.c: Likewise.
19898 * disk/scsi.c: Likewise.
19899 * efiemu/main.c: Likewise.
19900 * efiemu/mm.c: Likewise.
19901 * efiemu/pnvram.c: Likewise.
19902 * efiemu/symbols.c: Likewise.
19903 * font/font.c: Likewise.
19904 * fs/cpio.c: Likewise.
19905 * fs/hfsplus.c: Likewise.
19906 * fs/iso9660.c: Likewise.
19907 * fs/jfs.c: Likewise.
19908 * fs/minix.c: Likewise.
19909 * fs/ntfs.c: Likewise.
19910 * fs/ntfscomp.c: Likewise.
19911 * fs/reiserfs.c: Likewise.
19912 * fs/ufs.c: Likewise.
19913 * fs/xfs.c: Likewise.
19914 * gettext/gettext.c: Likewise.
19915 * include/grub/auth.h: Likewise.
19916 * kern/elf.c: Likewise.
19917 * kern/file.c: Likewise.
19918 * kern/ieee1275/init.c: Likewise.
19919 * kern/ieee1275/mmap.c: Likewise.
19920 * kern/ieee1275/openfw.c: Likewise.
19921 * kern/powerpc/dl.c: Likewise.
19922 * kern/sparc64/dl.c: Likewise.
19923 * lib/arg.c: Likewise.
19924 * loader/i386/bsd.c: Likewise.
19925 * loader/i386/bsdXX.c: Likewise.
19926 * loader/i386/efi/linux.c: Likewise.
19927 * loader/i386/efi/xnu.c: Likewise.
19928 * loader/i386/ieee1275/linux.c: Likewise.
19929 * loader/i386/linux.c: Likewise.
19930 * loader/i386/multiboot.c: Likewise.
19931 * loader/i386/pc/linux.c: Likewise.
19932 * loader/i386/pc/multiboot2.c: Likewise.
19933 * loader/i386/xnu.c: Likewise.
19934 * loader/ieee1275/multiboot2.c: Likewise.
19935 * loader/macho.c: Likewise.
19936 * loader/machoXX.c: Likewise.
19937 * loader/multiboot2.c: Likewise.
19938 * loader/multiboot_loader.c: Likewise.
19939 * loader/powerpc/ieee1275/linux.c: Likewise.
19940 * loader/sparc64/ieee1275/linux.c: Likewise.
19941 * loader/xnu.c: Likewise.
19942 * loader/xnu_resume.c: Likewise.
19943 * mmap/i386/pc/mmap.c: Likewise.
19944 * normal/menu_viewer.c: Likewise.
19945 * partmap/acorn.c: Likewise.
19946 * partmap/amiga.c: Likewise.
19947 * partmap/apple.c: Likewise.
19948 * script/lexer.c: Likewise.
19949 * term/gfxterm.c: Likewise.
19950 * term/i386/pc/serial.c: Likewise.
19951 * term/i386/pc/vga.c: Likewise.
19952 * term/ieee1275/ofconsole.c: Likewise.
19953 * term/terminfo.c: Likewise.
19954 * video/bitmap.c: Likewise.
19955 * video/efi_gop.c: Likewise.
19956 * video/efi_uga.c: Likewise.
19957 * video/fb/video_fb.c: Likewise.
19958 * video/i386/pc/vbe.c: Likewise.
19959 * video/readers/tga.c: Likewise.
19960 * video/video.c: Likewise.
19961
0ad46fd7 199622009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
19963
19964 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19965 * commands/lspci.c: Likewise.
19966 * commands/probe.c: Likewise.
19967 * commands/xnu_uuid.c: Likewise.
19968 * conf/i386-coreboot.rmk: Likewise.
19969 * conf/i386-efi.rmk: Likewise.
19970 * conf/i386-ieee1275.rmk: Likewise.
19971 * conf/i386-pc.rmk: Likewise.
19972 * conf/powerpc-ieee1275.rmk: Likewise.
19973 * conf/sparc64-ieee1275.rmk: Likewise.
19974 * conf/x86_64-efi.rmk: Likewise.
19975 * fs/i386/pc/pxe.c: Likewise.
19976 * gettext/gettext.c: Likewise.
19977 * include/grub/efi/graphics_output.h: Likewise.
19978 * include/grub/i386/pc/memory.h: Likewise.
19979 * kern/env.c: Likewise.
19980 * kern/i386/qemu/startup.S: Likewise.
19981 * lib/i386/pc/biosnum.c: Likewise.
19982 * lib/i386/relocator.c: Likewise.
19983 * lib/i386/relocator_asm.S: Likewise.
19984 * lib/relocator.c: Likewise.
19985 * loader/i386/bsd.c: Likewise.
19986 * loader/i386/multiboot.c: Likewise.
19987 * loader/i386/pc/chainloader.c: Likewise.
19988 * loader/i386/xnu.c: Likewise.
19989 * loader/xnu.c: Likewise.
19990 * normal/main.c: Likewise.
19991 * normal/menu_text.c: Likewise.
19992 * util/getroot.c: Likewise.
19993 * util/grub-mkconfig_lib.in: Likewise.
19994 * util/grub.d/00_header.in: Likewise.
19995 * util/i386/pc/grub-mkimage.c: Likewise.
19996 * util/mkisofs/eltorito.c: Likewise.
19997 * util/mkisofs/exclude.h: Likewise.
19998 * util/mkisofs/hash.c: Likewise.
19999 * util/mkisofs/iso9660.h: Likewise.
20000 * util/mkisofs/joliet.c: Likewise.
20001 * util/mkisofs/mkisofs.c: Likewise.
20002 * util/mkisofs/mkisofs.h: Likewise.
20003 * util/mkisofs/multi.c: Likewise.
20004 * util/mkisofs/name.c: Likewise.
20005 * util/mkisofs/rock.c: Likewise.
20006 * util/mkisofs/tree.c: Likewise.
20007 * util/mkisofs/write.c: Likewise.
20008 * video/efi_gop.c: Likewise.
20009
009ec743
VS
200102009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20013 size counting.
20014
0ad46fd7 200152009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20016
20017 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20018 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20019
d3d30ea0
VS
200202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20023 (GRUB_MOD_INIT(memrw)): Update help line.
20024
a34f5c70
VS
200252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20028 Use grub_extcmd_t. All users updated.
20029 (options): New variable.
20030 (grub_cmd_read): Restructure for readability. Support "-v" option.
20031 (grub_cmd_write): Restructure for readability.
20032
0ad46fd7 200332009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20034
20035 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20036
0ad46fd7 200372009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20038
20039 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20040 with the actual contents of the correspondending make variable.
20041 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20042 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20043 specifying `*.lst' and `efiemu??.o'
20044
0ad46fd7 200452009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20046
20047 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20048 after function name.
20049 Noticed by Rene Engelhard <rene@debian.org>.
20050
dc77a799
VS
200512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20054 (options): New variable.
20055 (iospace): Likewise.
20056 (grub_lspci_iter): List IO spaces if "-i" was given.
20057 (grub_cmd_lspci): Parse options.
20058 (GRUB_MOD_INIT(lspci)): Use extcmd.
20059 (GRUB_MOD_FINI(lspci)): Likewise.
20060
0ad46fd7 200612009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20062
20063 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20064 `function' keyword.
20065 Patch by Tony Mancill <tmancill@debian.org>.
20066
b5d5993b
VS
200672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20070 (grub_uhci_portstatus): Likewise.
20071 (grub_uhci_portstatus): Add necessary delay.
11d18281 20072 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20073
941903f2 200742009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20075
941903f2 20076 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20077 (GRUB_MOD_INIT): Likewise.
20078 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20079 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20080 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20081 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20082 (enable_rom_area): Likewise.
20083 (GRUB_MOD_INIT): Likewise.
20084 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20085 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20086 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20087 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20088 * commands/hexdump.c (options): Likewise.
20089 * commands/i386/cpuid.c (options): Likewise.
20090 (GRUB_MOD_INIT): Likewise.
20091 * commands/i386/pc/drivemap.c (options): Likewise.
20092 (GRUB_MOD_INIT): Likewise.
20093 * commands/i386/pc/halt (options): Likewise.
20094 (GRUB_MOD_INIT): Likewise.
20095 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20096 * commands/i386/pc/pxecmd.c (options): Likewise.
20097 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20098 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20099 * commands/keystatus.c (options): Likewise.
20100 (GRUB_MOD_INIT): Likewise.
20101 * commands/loadenv.c (options): Likewise.
20102 * commands/ls.c (options): Likewise.
20103 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20104 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20105 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20106 * commands/parttool.c (helpmsg): Likewise.
20107 * commands/probe.c (options): Likewise.
20108 * commands/read.c (GRUB_MOD_INIT): Likewise.
20109 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20110 * commands/search.c (options): Likewise.
20111 * commands/sleep.c (options): Likewise.
20112 * commands/test.c (GRUB_MOD_INIT): Likewise.
20113 * commands/true.c (GRUB_MOD_INIT): Likewise.
20114 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20115 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20116 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20117 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20118 `$(XGETTEXT)'.
98a50553 20119 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20120
0ad46fd7 201212009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20122
ef3c2c3a 20123 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20124 instead of specifying them explicit.
20125
7922f68b
RM
201262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20127
20128 * NEWS: Add grub-probe support for GNU/Hurd.
20129
537ce47f
RM
201302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * NEWS: gettext was added after 1.97.
20133
9b214e3a
RM
201342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20135
20136 * util/mkisofs/msdos_partition.h: New file (based on
20137 include/grub/msdos_partition.h).
20138 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20139 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20140 (ld_options, main): Recognize --protective-msdos-label.
20141 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20142 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20143 (padblock_write): If `use_protective_msdos_label' is set, patch a
20144 protective DOS-style label in the output image.
20145
20146 * util/grub-mkrescue.in: Use --protective-msdos-label.
20147
e9309813
RM
201482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20149
20150 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20151 boot.
20152
0ae56929
RM
201532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20154
20155 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20156 variables.
20157 (ld_options, main): Recognize `--embedded-boot'.
20158 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20159 declarations.
20160 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20161 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20162 (padblock_write): Likewise. Rewrite to support embedded boot image.
20163
20164 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20165 for BIOS-based disk boot instead of only ElTorito.
20166
b15937b1
RM
201672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20168
20169 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20170 build (not needed for bootstrap).
20171
52cc3ce0
RM
201722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20173
20174 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20175 from i386-pc build (not needed for bootstrap).
20176 Rewrite a pair of strings.
20177
36f5ff04
RM
201782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20179
20180 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20181
973c6c85 201822009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20183
20184 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20185
05d21547
AB
201862009-12-21 Andreas Born <futur.andy@googlemail.com>
20187
20188 * kern/env.c (grub_env_context_open): Mark exported variable for
20189 reexport.
20190
0175d51f
AB
201912009-12-21 Andreas Born <futur.andy@googlemail.com>
20192
20193 * kern/env.c (grub_env_export): Create nonexistent variables before
20194 exporting.
20195
7f39d92f 201962009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20197
7f39d92f 20198 * include/grub/auth.h: Include `<grub/i18n.h>'.
20199 (GRUB_GET_PASSWORD): Gettextizze string.
20200 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20201 menu_text.c.
20202 (grub_utf8_to_ucs4_alloc): Fix indentation.
20203 (grub_print_ucs4): Likewise.
20204 (grub_getstringwidth): Likewise.
20205 (print_message_indented): New declaration.
20206 * normal/auth.c: Include `<grub/i18n.h>'.
20207 (grub_auth_check_authentication): Gettexttize string.
20208 * normal/cmdline.c: Include `<grub/i18n.h>'.
20209 (grub_cmdline_get): Gettextizze.
20210 * normal/color.c: Include `<grub/i18n.h>'.
20211 (grub_parse_color_name_pair): Gettexttize strings.
20212 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20213 string (use `print_message_indented').
20214 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20215 `include/grub/normal.h'.
20216 (print_message_indented): Renamed to ...
20217 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20218 used in normal/main.c).
20219 (print_message): Use `grub_print_message_indented' instead of
20220 `print_message_indented'.
20221 (print_timeout): Likewise.
20222 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20223 (grub_normal_print_device_info): Gettexttize strings.
20224 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20225
3041d898
VS
202262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20229 of arguments. Return number of tokens and not arguments. All users
20230 updated.
20231
de15bf8e
VS
202322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20235 non-MSDOS paritions.
20236
e0a6ca52
VS
202372009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * include/grub/types.h (UNUSED): Removed since it conflicts with
20240 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20241 Reported by Grégoire Sutre.
20242
b99518d1 202432009-12-19 Carles Pina i Estany <carles@pina.cat>
20244
20245 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20246 (grub_print_ucs4_alloc): Likewise.
20247 (grub_getstringwidth): Likewise.
20248 * normal/main.c (grub_normal_init_page): Gettextize version string.
20249 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20250 (getstringwidth): Renamed to ...
20251 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20252 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20253 (grub_print_ucs4): Remove `static' qualifer (now used in
20254 normal/main.c).
20255 * po/POTFILES: Add normal/main.c.
20256
bfd5e52b 202572009-12-19 Carles Pina i Estany <carles@pina.cat>
20258
20259 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20260 (print_message_indented): Add `margin_left' and `margin_right'
20261 parameters.
20262 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20263 strings.
20264 (print_timeout): Use `print_message_indented' to print the message.
20265 Deletes `second_stage' parameter.
20266 (run_menu): Update `print_timeout' calls.
20267
5a1ad2b9
VS
202682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 Fix console palette on OpenFirmware.
20271
20272 * term/ieee1275/ofconsole.c (MAX): Removed.
20273 (colors): Redone based on VGA palette.
20274 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20275 colors are supported.
20276 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20277
b045f00a
VS
202782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Fix potential EfiEmu double prepare.
20281
20282 * efiemu/main.c (prepared): New variable
20283 (grub_efiemu_unload): Set prepare to '0'.
20284 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20285
20286 set_virtual_address_map support.
20287
20288 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20289 prototype.
20290 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20291 prototype.
20292 (grub_efiemu_crc32): Likewise.
20293 (grub_efiemu_crc64): Likewise.
20294 (grub_efiemu_set_virtual_address_map): Likewise.
20295 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20296 New definition.
20297 (grub_autoefi_set_virtual_address_map): Likewise.
20298 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20299 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20300 Restructure flow to accomodate it.
20301 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20302 (grub_efiemu_crc): Recompute CRC32.
20303 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20304 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20305 * efiemu/symbols.c (relocated_handle): New variable.
20306 (grub_efiemu_free_syms): Free relocated_handle.
20307 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20308 (grub_efiemu_write_sym_markers): New function.
20309 (grub_efiemu_set_virtual_address_map): Likewise.
20310
20311 Newer XNU parameters.
20312
20313 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20314 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20315 (grub_xnu_fill_devicetree): New prototype.
20316 (grub_xnu_heap_real_start): New variable.
20317 * loader/xnu.c (get_name_ptr): New function.
20318 (grub_xnu_load_driver): Fill namelen and name.
20319
20320 64-bit xnu support.
20321
20322 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20323 and 'loader/macho64.c'.
20324 * conf/i386-pc.rmk: Likewise.
20325 * conf/x86_64-efi.rmk: Likewise.
20326 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20327 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20328 * include/grub/macho.h (grub_macho_segment64): New structure.
20329 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20330 (grub_macho_size32): ... to this.
20331 (grub_macho32_get_entry_point): Renamed from ...
20332 (grub_macho_get_entry_point32): ... to this.
20333 (grub_macho_contains_macho64): New prototype.
20334 (grub_macho_size64): Likewise.
20335 (grub_macho_get_entry_point64): Likewise.
20336 (grub_macho32_load): Renamed from ...
20337 (grub_macho_load32): ... to this.
20338 (grub_macho32_filesize): Renamed from ...
20339 (grub_macho_filesize32): ... to this.
20340 (grub_macho32_readfile): Renamed from ...
20341 (grub_macho_readfile32): ... to this.
20342 (grub_macho_filesize64): New prototype.
20343 (grub_macho_readfile64): Likewise.
20344 (grub_macho_parse32): Likewise.
20345 (grub_macho_parse64): Likewise.
20346 * loader/macho.c: Split into ...
20347 * loader/machoXX.c: ... and this. Replace 32 with XX.
20348 * loader/macho32.c: New file.
20349 * loader/macho64.c: Likewise.
20350 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20351 (grub_cmd_xnu_kernel): Make 32-bit only.
20352 (grub_cmd_xnu_kernel64): New function.
20353 (grub_xnu_load_driver): Support Mach-O 64.
20354 (grub_cmd_xnu_mkext): Likewise.
20355 * util/grub.d/30_os-prober.in (osx_entry): New function.
20356 Generate entries for 64-bit boot too.
20357
20358 Eliminate ad-hoc tree format in XNU and EfiEmu.
20359
20360 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20361 * efiemu/pnvram.c: Rewritten to use environment variables.
20362 All users updated.
20363
20364 Inline utf16_to_utf8.
20365
20366 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20367 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20368 All users updated.
20369 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20370
20371 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20372 * commands/usbtest.c (grub_usb_get_string): ... move here.
20373 (usb_print_str): Fix error handling.
20374 * include/grub/usb.h (grub_usb_get_string): Remove.
20375
20376 UTF-8 to UTF-16 transformation.
20377
20378 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20379 (charset_mod_SOURCES): New variable.
20380 (charset_mod_CFLAGS): Likewise.
20381 (charset_mod_LDFLAGS): Likewise.
20382 * include/grub/utf.h: New file.
20383 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20384
20385 Support for device properties.
20386
20387 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20388 (grub_xnu_devprop_device_header): Likewise.
20389 (grub_xnu_devprop_device_descriptor): Likewise.
20390 (grub_xnu_devprop_add_device): New prototype.
20391 (grub_xnu_devprop_remove_device): Likewise.
20392 (grub_xnu_devprop_remove_property): Likewise.
20393 (grub_xnu_devprop_add_property_utf8): Likewise.
20394 (grub_xnu_devprop_add_property_utf16): Likewise.
20395 (grub_cpu_xnu_init): Likewise.
20396 (grub_cpu_xnu_fini): Likewise.
20397 (grub_cpu_xnu_unload): Likewise.
20398 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20399 (property_descriptor): Likewise.
20400 (devices): New variable.
20401 (grub_xnu_devprop_remove_property): New function.
20402 (grub_xnu_devprop_add_device): Likewise.
20403 (grub_xnu_devprop_remove_device): Likewise.
20404 (grub_xnu_devprop_add_property): Likewise.
20405 (grub_xnu_devprop_add_property_utf8): Likewise.
20406 (grub_xnu_devprop_add_property_utf16): Likewise.
20407 (hextoval): Likewise.
20408 (grub_cpu_xnu_fill_devprop): Likewise.
20409 (grub_cmd_devprop_load): Likewise.
20410 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20411 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20412 (cmd_devprop_load): New variable.
20413 (grub_cpu_xnu_init): New function.
20414 (grub_cpu_xnu_fini): Likewise.
20415 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20416 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20417 (grub_cmd_xnu_devtree): Likewise.
20418 (hextoval): New function.
20419 (unescape): Likewise.
20420 (grub_xnu_fill_devicetree): Likewise.
20421
20422 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20423 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20424
0945f181
VS
204252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 Workaround for broken ATI VBE.
20428
20429 * video/i386/pc/vbe.c (last_set_mode): New variable.
20430 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20431 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20432 (grub_video_vbe_setup): Don't check for reserved flag.
20433
0ad46fd7 204342009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
20435
20436 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20437 the `find' command.
20438
c179ebe4
VS
204392009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 UUID support for HFS.
20442
20443 * fs/hfs.c (grub_hfs_uuid): New function.
20444 (grub_hfs_fs): New value .uuid.
20445 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20446
0ad46fd7 204472009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
20448
20449 Fix a segfault with parsing unknown long options.
20450
20451 * util/grub-mkrelpath.c (options): Zero terminate it.
20452
c4a3e41a
CPE
204532009-12-13 Carles Pina i Estany <carles@pina.cat>
20454
20455 * include/grub/misc.h (grub_puts): New declaration.
20456 (grub_puts_): Likewise.
a22008a6 20457 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
20458 (grub_puts_): Likewise.
20459
2e8a7602
RM
204602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 * util/grub-probe.c (probe): Improve error message.
20463
b50b77b9
RM
204642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20465
20466 * loader/i386/multiboot_elfxx.c
20467 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20468 initialization.
20469
204702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 Relocator framework
20473
20474 * loader/i386/xnu_helper.S: Removed. All users updated.
20475 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20476 (relocator_mod_SOURCES): New variable.
20477 (relocator_mod_CFLAGS): Likewise.
20478 (relocator_mod_LDFLAGS): Likewise.
20479 (relocator_mod_ASFLAGS): Likewise.
20480 * conf/x86_64.rmk: Likewise.
20481 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20482 (grub_multiboot_payload_entry_offset): Likewise.
20483 (grub_multiboot_forward_relocator): Likewise.
20484 (grub_multiboot_forward_relocator_end): Likewise.
20485 (grub_multiboot_backward_relocator): Likewise.
20486 (grub_multiboot_backward_relocator_end): Likewise.
20487 (grub_multiboot_payload_eip): New variable.
20488 (grub_multiboot_payload_orig): Likewise.
20489 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20490 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20491 * include/grub/i386/memory.h
20492 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20493 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20494 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20495 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20496 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20497 * include/grub/i386/relocator.h: New file.
20498 * include/grub/x86_64/relocator.h: Likewise.
20499 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20500 (XNU_RELOCATOR): New macro.
20501 (grub_xnu_launcher_start): Remove.
20502 (grub_xnu_launcher_end): Likewise.
20503 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20504 (grub_xnu_heap_real_start): Remove.
20505 (grub_xnu_heap_start): Change to void *. All users updated.
20506 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20507 * lib/i386/relocator.c: New file.
20508 * lib/i386/relocator_asm.S: Likewise.
20509 * lib/i386/relocator_backward.S: Likewise.
20510 * lib/mips/relocator.c: Likewise.
20511 * lib/mips/relocator_asm.S: Likewise.
20512 * lib/relocator.c: Likewise.
20513 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20514 (entry): Removed.
20515 (playground): Likewise.
20516 (grub_multiboot_payload_orig): New variable.
20517 (grub_multiboot_payload_dest): Likewise.
20518 (grub_multiboot_payload_size): Likewise.
20519 (grub_multiboot_payload_eip): Likewise.
20520 (grub_multiboot_payload_esp): Likewise.
20521 (grub_multiboot_boot): Use grub_relocator32_boot.
20522 (grub_multiboot_unload): Free relocators.
20523 (grub_multiboot): Setup stack. Use relocators.
20524 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20525 (grub_multiboot_load_elfXX): Use relocators.
20526 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20527 (grub_multiboot_payload_size): Likewise.
20528 (grub_multiboot_payload_dest): Likewise.
20529 (grub_multiboot_payload_entry_offset): Likewise.
20530 (grub_multiboot_forward_relocator): Likewise.
20531 (grub_multiboot_backward_relocator): Likewise.
20532 (grub_multiboot_real_boot): Likewise.
20533 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20534 (grub_xnu_entry_point): Likewise.
20535 (grub_xnu_arg1): Likewise.
20536 (grub_xnu_stack): Likewise.
20537 (grub_xnu_launch): Removed.
20538 (grub_xnu_boot_resume): New function.
20539 (grub_xnu_boot): Use relocators.
20540 * loader/i386/xnu_helper.S: Removed.
20541 * loader/xnu.c (grub_xnu_heap_start): New variable.
20542 (grub_xnu_heap_size): Likewise.
20543 (grub_xnu_heap_malloc): Use relocators.
20544 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20545
29eb90c6
VS
205462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20549 anything.
20550
31027430
CPE
205512009-12-13 Carles Pina i Estany <carles@pina.cat>
20552
20553 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20554 GRUB_ERR_NONE before calling grub_env_set.
20555
dc0c71d9
RM
205562009-12-12 Robert Millan <rmh@aybabtu.com>
20557
20558 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20559 * genmk.rb (video): New variable.
20560 (CLEANFILES, VIDEOFILES): Add #{video}.
20561 (#{video}): New target rule.
20562 * genvideolist.sh: New file.
20563 * Makefile.in (pkglib_DATA): Add video.lst.
20564 (video.lst): New target rule.
20565 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20566 `video.lst'.
20567 * util/grub.d/30_os-prober.in: Replace `vbe' with
20568 ${GRUB_VIDEO_BACKEND}.
20569
2a4bfcf0
RM
205702009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20571
20572 * THANKS: Add David Miller.
20573
2a3aa4d5
RM
205742009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 libpciaccess support.
20577
20578 * Makefile.in (LIBPCIACCESS): New variable.
20579 (enable_grub_emu_pci): Likewise.
20580 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20581 util/pci.c and commands/lspci.c.
20582 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20583 * configure.ac (grub-emu-pci): New option.
20584 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20585 (grub_pci_device_unmap_range): Likewise.
20586 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20587 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20588 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20589 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20590 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20591 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20592 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20593 * include/grub/pciutils.h: New file.
20594 * util/pci.c: Likewise.
20595
0ad46fd7 205962009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
20597
20598 * util/misc.c: Don't include <errno.h> twice.
20599
0ad46fd7 206002009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
20601
20602 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20603 name in an error message.
20604 (grub_biosdisk_rw): Likewise.
20605
2e59983c
VS
206062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 Eliminate NTFS 4Gib barrier.
20609
20610 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20611 (read_run_data): Likewise.
20612 (grub_ntfs_read_run_list): Likewise.
20613 (grub_ntfs_read_block): Likewise.
20614 (grub_ntfs_iterate_dir): Likewise.
20615 (read_mft): Likewise.
20616 (read_data): Likewise.
20617 Use COM_LOG_LEN.
20618 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20619 to avoid 64-bit division
20620 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20621 (grub_ntfs_rlst): Use grub_disk_addr_t.
20622
71ee178a
VS
206232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 Eliminate grub-fstest 4Gib barrier.
20626
20627 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20628 (read_file): Fix error reporting.
20629
2520d4b8
VS
206302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Eliminate hexdump 4Gib barrier.
20633
20634 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20635 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20636
e1f27065
VS
206372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20640 Fixes amarsh bug.
20641
1a0f7f45
RM
206422009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
20643
20644 Remove miscellaneous files in distclean target.
20645
20646 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20647
c631d9fb
CW
206482009-12-09 Colin Watson <cjwatson@ubuntu.com>
20649
20650 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20651 if they're already set. This resolves the conflict between my
20652 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20653 fixing the --grub-probe option again.
20654 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20655 change on 2009-10-06, so that we now once again source
20656 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20657
7c7b6106
RM
206582009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20659
20660 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20661 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20662 `util/devicemap.c'.
20663
e3069ec1
CPE
206642009-12-08 Carles Pina i Estany <carles@pina.cat>
20665
20666 * include/grub/misc.h (grub_printf_): New declaration.
20667 * kern/misc.c (grub_printf_): New definition.
20668 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20669 instead of `grub_printf' and `_'.
20670 * normal/menu_entry.c (store_completion): Likewise.
20671 (run): Likewise.
20672 (grub_menu_entry_run): Likewise.
20673 * normal/menu_text.c (grub_wait_after_message): Likewise.
20674 (notify_booting): Likewise.
20675 (notify_fallback): Likewise.
20676 (notify_execution_failure): Likewise.
20677
d6ceebf1
CW
206782009-12-07 Colin Watson <cjwatson@ubuntu.com>
20679
20680 * configure.ac: Check for vasprintf.
20681 * util/misc.c (asprintf): Move allocation from here ...
20682 (vasprintf): ... to here. New function.
20683 (xasprintf): New function.
20684 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20685 prototypes.
20686 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20687 * util/grub-mkfont.c (write_font): Likewise.
20688 * util/grub-probe.c (probe): Likewise.
20689 * util/hostdisk.c (make_device_name): Likewise.
20690
de6daa8b
DM
206912009-12-06 David S. Miller <davem@sunset.davemloft.net>
20692
20693 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20694 anything even prefixed with 'cdrom' as a cdrom.
20695
0ad46fd7 206962009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
20697
20698 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20699 mount points.
20700
98d3dc02
CPE
207012009-12-05 Carles Pina i Estany <carles@pina.cat>
20702
20703 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20704 grub_gettext_msg_list.
20705 (grub_gettext_gettranslation_from_position): Return const char *
20706 and not char *.
a2c1332b 20707 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
20708 returns from the list if existing there.
20709 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20710 (grub_gettext_delete_list): Delete the list.
20711 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
20712 lang environment variable is changed.
20713 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
20714
b283f108
VS
207152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 Rename kernel.mod to kernel.img.
20718
20719 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
20720 (kernel_mod_EXPORTS): Rename to ...
20721 (kernel_img_EXPORTS): ... this.
20722 (kernel_mod_SOURCES): Rename to ...
20723 (kernel_img_SOURCES): ... this.
20724 (kernel_mod_HEADERS): Rename to ...
20725 (kernel_img_HEADERS): ... this. All users updated.
20726 (kernel_mod_CFLAGS): Rename to ...
20727 (kernel_img_CFLAGS): ... this.
20728 (kernel_mod_ASFLAGS): Rename to ...
20729 (kernel_img_ASFLAGS): ... this.
20730 (kernel_mod_LDFLAGS): Rename to ...
20731 (kernel_img_LDFLAGS): ... this.
20732 * conf/x86_64-efi.rmk: Likewise.
20733 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
20734 (read_kernel_image): ... this. All users updated.
20735 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
20736
69055f8a
CPE
207372009-12-05 Carles Pina i Estany <carles@pina.cat>
20738
20739 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
20740 (print_spaces): New function.
20741 (grub_print_ucs4): New function.
20742 (getstringwidth): New function.
20743 (print_message_indented): New function.
20744 (print_message): Gettexttize strings using print_message_indented.
20745 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
20746 width.
20747 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 20748 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
20749 Gettextize.
20750 * normal/menu_entry.c (store_completion): Cleanup the gettextized
20751 string.
20752 (run): Likewise.
20753 (grub_menu_entry_run): Likewise.
20754 * PO/POTFILES: Add normal/menu_entry.c.
20755
f616f51c
VS
207562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
20759
57bbe3be
CPE
207602009-12-05 Carles Pina i Estany <carles@pina.cat>
20761
20762 * util/grub-install.in: Install gettext .mo files.
20763 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
20764
013d67a1
CPE
207652009-12-05 Carles Pina i Estany <carles@pina.cat>
20766
20767 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
20768 grub_dprintf.
20769
fb954db0
RM
207702009-12-05 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
20773 non-firmware-dependant one in realmode.S takes precedence.
20774
6b8474f8
RM
207752009-12-04 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * commands/halt.c: Replace misc arch-specific headers with
20778 `<grub/misc.h>'.
20779 * commands/reboot.c: Likewise.
20780 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
20781 `<grub/misc.h>'.
20782 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
20783 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
20784 (kernel_img_SOURCES): ... to here.
20785
20786 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
20787 * include/grub/i386/pc/init.h: Likewise.
20788 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20789 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20790
20791 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
20792
20793 * include/grub/i386/halt.h: Remove.
20794 * include/grub/i386/reboot.h: Likewise.
20795
20796 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
20797
4b2e6ca2
DM
207982009-12-03 David S. Miller <davem@sunset.davemloft.net>
20799
20800 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
20801 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
20802 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
20803 "progname.h"
20804 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20805 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20806 (usage): Add missing comma in printf.
20807
5239348f
RM
208082009-12-02 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 Use the same reboot approach on i386 coreboot and qemu as we do on
20811 BIOS.
20812
20813 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
20814 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
20815 * kern/i386/reboot.c: Remove.
20816 * include/grub/i386/reboot.h (grub_reboot): Export function.
20817 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
20818 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
20819 0xf000:0xfff0 instead of 0xffff:0x0000.
20820 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
20821 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
20822
ef34cbd4
RM
208232009-11-30 Robert Millan <rmh.grub@aybabtu.com>
20824
20825 Fix $srcdir != $objdir build.
20826
20827 * Makefile.in (po/%.po): Rewrite as ...
20828 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
20829
dc9837ea
ST
208302009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
20831
20832 Fix GNU/Hurd grub-install crash.
20833 * util/grub-probe.c (probe): Try to access `path' only when it is not
20834 NULL.
20835
2f857f98
VS
208362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 Correct module naming.
20839
20840 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20841 (GRUB_MOD_INIT(efi_uga)): ... to this
20842 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20843 (GRUB_MOD_FINI(efi_uga)): ... to this
20844 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20845 (GRUB_MOD_INIT(efi_gop)): ... to this
20846 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20847 (GRUB_MOD_FINI(efi_gop)): ... to this
20848
c5448046
RM
208492009-11-28 Robert Millan <rmh.grub@aybabtu.com>
20850
20851 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
20852 translatable.
20853 (usage): Translate `arg' strings using gettext().
20854 Thanks to Jordi Mallach for the suggestion.
20855
c85184ad
VS
208562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20857
20858 GOP support. Based on patch from Bean
20859 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20860
20861 * video/efi_gop.c: New file.
20862 * include/grub/efi/graphics_output.h: Likewise.
20863 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
20864 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20865 variables.
20866 * conf/x86_64-efi.rmk: Likewise.
20867
8a4c48d8
VS
208682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 Rename efi_fb to efi_uga.
20871
20872 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20873 'efi_uga.mod'.
20874 (efi_fb_mod_SOURCES): Rename this ...
20875 (efi_uga_mod_SOURCES): ... to this.
20876 (efi_fb_mod_CFLAGS): Rename this ...
20877 (efi_uga_mod_CFLAGS): ... to this.
20878 (efi_fb_mod_LDFLAGS): Rename this ...
20879 (efi_uga_mod_LDFLAGS): ... to this.
20880 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20881 'efi_uga.mod'.
20882 (efi_fb_mod_SOURCES): Rename this ...
20883 (efi_uga_mod_SOURCES): ... to this.
20884 (efi_fb_mod_CFLAGS): Rename this ...
20885 (efi_uga_mod_CFLAGS): ... to this.
20886 (efi_fb_mod_LDFLAGS): Rename this ...
20887 (efi_uga_mod_LDFLAGS): ... to this.
20888 * video/efi_fb.c: Move this ...
20889 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20890
fb6c1a7b
RM
208912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 * po/README: New file. Explain our PO file workflow.
20894
3bc7896c
RM
208952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20896
20897 * po/ChangeLog: Remove. Move relevant entries back to ...
20898 * ChangeLog: ... here.
20899 * po/ca.po: Remove (now handled by TLP).
20900 * po/id.po: Likewise.
20901 * po/zh_CN.po: Likewise.
20902 * Makefile.in (LINGUAS): Initialize in a way that supports
20903 empty set.
20904
9ed4841d
RM
209052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20906
20907 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20908 reliing on po/LINGUAS.
20909 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20910 (po/%.po): ... this.
20911
0ad46fd7 209122009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
20913
20914 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20915 (main): Use `program_name' instead of nonexistent `progname'.
20916
e30dd392
FZ
209172009-11-26 Felix Zielcke <fzielcke@z-51.de>
20918
20919 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20920 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20921
7656de4f
RM
209222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20923
20924 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20925 commit.
20926 * conf/i386-efi.rmk: Likewise.
20927 * conf/i386-ieee1275.rmk: Likewise.
20928 * conf/powerpc-ieee1275.rmk: Likewise.
20929 * conf/sparc64-ieee1275.rmk: Likewise.
20930 * conf/x86_64-efi.rmk: Likewise.
20931
db77c4d4
FZ
209322009-11-26 Felix Zielcke <fzielcke@z-51.de>
20933
20934 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20935
a755bb04
FZ
209362009-11-26 Felix Zielcke <fzielcke@z-51.de>
20937
20938 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20939
8a4c07fd
RM
209402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20941
20942 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20943 (grub_mkdevicemap_SOURCES): New variable.
20944 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20945 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20946 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20947 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20948 (grub_mkdevicemap_SOURCES): Remove.
20949 * conf/i386-efi.rmk: Likewise.
20950 * conf/i386-ieee1275.rmk: Likewise.
20951 * conf/i386-pc.rmk: Likewise.
20952 * conf/powerpc-ieee1275.rmk: Likewise.
20953 * conf/sparc64-ieee1275.rmk: Likewise.
20954 * conf/x86_64-efi.rmk: Likewise.
20955 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20956 (usage): Fix strings to use `program_name'.
20957 (main): Initialize gettext.
20958 * util/grub-editenv.c: Likewise.
20959 * util/grub-emu.c: Likewise.
20960 * util/grub-fstest.c: Likewise.
20961 * util/grub-mkdevicemap.c: Likewise.
20962 * util/grub-mkfont.c: Likewise.
20963 * util/grub-mkrelpath.c: Likewise.
20964 * util/grub-pe2elf.c: Likewise.
20965 * util/grub-probe.c: Likewise.
20966 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20967 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20968 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20969
20970 * util/misc.c: Include `"progname.h"'.
20971 (progname): Remove variable.
20972 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20973
6f61ed55
FZ
209742009-11-25 Felix Zielcke <fzielcke@z-51.de>
20975
20976 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20977 printf and print a newline after the menuentry header line.
20978 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20979
f022876b
FZ
209802009-11-25 Felix Zielcke <fzielcke@z-51.de>
20981
20982 autoconf >= 2.60 support $(localedir).
20983
20984 * INSTALL: Note that autoconf 2.60 is required.
20985 * configure.ac (AC_PREREQ): Bump to 2.60.
20986 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20987 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20988
6717926e
YB
209892009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20990
20991 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20992 aclocal is run.
20993
08806a54
RM
209942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20995
20996 * normal/main.c (grub_normal_read_line): Fix off-by-one
20997 buffer overflow.
20998
13b33fba
RM
209992009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21000
21001 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21002 "parser.grub" in grub_command_execute() call.
21003
4a8572e9
CPE
210042009-11-24 Carles Pina i Estany <carles@pina.cat>
21005
21006 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21007 * conf/i386-efi.rmk: Likewise.
21008 * conf/i386-ieee1275.rmk: Likewise.
21009 * conf/i386-pc.rmk: Likewise.
21010 * conf/powerpc-ieee1275.rmk: Likewise.
21011 * conf/sparc64-ieee1275.rmk: Likewise.
21012 * conf/x86_64-efi.rmk: Likewise.
21013 * gettext/gettex.c: Include <grub/i18n.h>.
21014 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21015 here ...
21016 * include/grub/i18n.h: ... to here
21017 * include/grub/i18n.h: ... to here.
21018 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21019 (grub_gettext_dummy): Move above user.
4a8572e9 21020
bee48093
FZ
210212009-11-24 Felix Zielcke <fzielcke@z-51.de>
21022
21023 * util/Makefile.in (install-local): Convert a `for' into a normal
21024 shell expansion.
21025
a031e91c
RM
210262009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21027
21028 * autogen.sh: Add automake call.
21029 * config.guess: Remove.
21030 * config.sub: Likewise.
21031 * install-sh: Likewise.
21032
26bec39d
FZ
210332009-11-24 Felix Zielcke <fzielcke@z-51.de>
21034
21035 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21036
8e2532fd
FZ
210372009-11-24 Felix Zielcke <fzielcke@z-51.de>
21038
21039 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21040 function to a normal shell `for'.
21041
fefa1b7d
FZ
210422009-11-24 Felix Zielcke <fzielcke@z-51.de>
21043
21044 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21045
4501250b
FZ
210462009-11-24 Felix Zielcke <fzielcke@z-51.de>
21047
21048 * util/grub-mkrelpath.c: New file.
21049 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21050 (grub_mkrelpath_SOURCES): New variable.
21051 * include/grub/util/misc.h: New function prototype.
21052 * util/misc.c (make_system_path_relative_to_its_root): New function.
21053
21054 * util/grub-mkconfig_lib.in (bindir): New variable.
21055 (grub_mkrelpath): Likewise.
21056 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21057
21058 * util/probe.c (probe): Make the file path relative to its root.
21059 Change a info message to use the GRUB path. Enable again the
21060 check if we can read the file with GRUB facilities.
21061
21062 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21063 to its root.
21064
11d9778b
FZ
210652009-11-24 Felix Zielcke <fzielcke@z-51.de>
21066
21067 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21068 platform.
21069
4465287d
FZ
210702009-11-24 Felix Zielcke <fzielcke@z-51.de>
21071
21072 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21073 strncmp().
21074
62b47f22
FZ
210752009-11-24 Felix Zielcke <fzielcke@z-51.de>
21076
21077 * util/getroot.c (grub_util_is_dmraid): New function.
21078 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21079 devices as normal ones, not as LVM.
21080
1eafb9b9 210812009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21082
21083 * conf/common.rmk: Add grub-gettext_lib target and updates
21084 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21085 LDFLAGS.
21086 * gettext/gettext.c: New file. (Reads mo files).
21087 * include/grub/file.h (grub_file_pread): New prototype.
21088 * include/grub/i18n.h (_): New prototype.
21089 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21090 prototypes.
21091 * kern/misc.c (grub_gettext_dummy): New function.
21092 * normal/menu_text.c: Include <grub/i18n.h>.
21093 * normal/menu_text.c (print_timeout): Gettexttize string.
21094 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21095 * po/POTFILES: Add `normal/menu_text.c'.
21096 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21097 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21098 gettext module and defines locale_dir and lang in grub.cfg.
21099 * NEWS: Add gettext support.
21100
0fdb2568
RM
211012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21102
21103 * util/hostdisk.c: Include `<grub/i18n.h>'.
21104 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21105 (make_device_name): Rewrite using asprintf.
21106 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21107 (find_system_device): If a device is not found, generate one just
21108 by reusing the OS path name.
21109 (read_device_map): Make it permissible for device.map not to exist.
21110
f515aa62
RM
211112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21112
21113 * script/sh/execute.c: Move from here ...
21114 * script/execute.c: ... to here. Update all users.
21115 * script/sh/function.c: Move from here ...
21116 * script/function.c: ... to here. Update all users.
21117 * script/sh/lexer.c: Move from here ...
21118 * script/lexer.c: ... to here. Update all users.
21119 * script/sh/main.c: Move from here ...
21120 * script/main.c: ... to here. Update all users.
21121 * script/sh/parser.y: Move from here ...
21122 * script/parser.y: ... to here. Update all users.
21123 * script/sh/script.c: Move from here ...
21124 * script/script.c: ... to here. Update all users.
21125
f84b481b
RM
211262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21127
21128 * configure.ac: Detect all `emu' platforms. Define
21129 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21130 --enable-grub-emu logic. Disable include/grub/machine
21131 symlink on `emu' platforms.
21132
21133 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21134 * gensymlist.sh.in: Likewise.
21135
21136 * include/grub/i386/coreboot/machine.h: Remove file.
21137 * include/grub/i386/efi/machine.h: Likewise.
21138 * include/grub/i386/ieee1275/machine.h: Likewise.
21139 * include/grub/i386/pc/machine.h: Likewise.
21140 * include/grub/i386/qemu/machine.h: Likewise.
21141 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21142 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21143 * include/grub/x86_64/efi/machine.h: Likewise.
21144
21145 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21146 * commands/halt.c: Likewise.
21147 * commands/reboot.c: Likewise.
21148 * include/grub/autoefi.h: Likewise.
21149 * include/grub/i386/at_keyboard.h: Likewise.
21150 * include/grub/i386/kernel.h: Likewise.
21151 * include/grub/i386/loader.h: Likewise.
21152 * include/grub/i386/pc/memory.h: Likewise.
21153 * kern/dl.c: Likewise.
21154 * kern/i386/coreboot/init.c: Likewise.
21155 * loader/i386/bsd.c: Likewise.
21156 * loader/i386/linux.c: Likewise.
21157 * loader/multiboot_loader.c: Likewise.
21158 * term/i386/pc/serial.c: Likewise.
21159 * term/usb_keyboard.c: Likewise.
21160
21161 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21162 `<grub/machine/machine.h>'
21163 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21164 * util/misc.c: Remove `<grub/machine/machine.h>' and
21165 `<grub/machine/time.h>'.
21166
21167 * Makefile.in (enable_grub_emu): Remove variable.
21168 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21169
21170 * conf/any-emu.rmk: New file.
21171 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21172 (grub_emu_init.c): Move from here ...
21173 * conf/any-emu.rmk: ... to here.
21174
21175 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21176 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21177 * conf/any-emu.rmk: ... to here.
21178
4efeab03
RM
211792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 * include/grub/parser.h (grub_parser_register): Document need
21182 of `name' parameter.
21183 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21184 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21185 "sh" to "grub".
21186
ea1dd8bf
RM
211872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21190 `$(XGETTEXT)'.
21191 * include/grub/i18n.h (N_): New macro.
21192 * util/mkisofs/mkisofs.h: Likewise.
21193 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21194 around N_().
21195 (usage): Use gettext() to translate help strings when printing them.
21196
0c140626
RM
211972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21198
21199 Based on patch from Bean
21200 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21201
21202 * video/efi_fb.c: New file.
21203 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21204 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21205 variables.
21206 * conf/x86_64-efi.rmk: Likewise.
21207
87d58298
RM
212082009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21209
21210 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21211 * util/i386/pc/grub-setup.c: Likewise.
21212
994cc3a3
ST
212132009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21214
21215 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21216 <hurd/fs.h>
21217 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21218 file_get_storage_info to implement grub_guess_root_device.
21219
26a61d6a
FZ
212202009-11-21 Felix Zielcke <fzielcke@z-51.de>
21221
21222 * Makefile.in (target): Use make's builtin $(shell) function
21223 instead of calling directly $(SHELL) to create the locale directories,
21224 inside the $(foreach) function.
21225
74ff1dd5
FZ
212262009-11-21 Felix Zielcke <fzielcke@z-51.de>
21227
21228 * util/grub-mkrescue.in: Print an error and usage if output option
21229 has not been given.
21230
0b787d0e
FZ
212312009-11-21 Felix Zielcke <fzielcke@z-51.de>
21232
21233 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21234 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21235 root and /boot are on different devices.
21236
1164b270
RM
212372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21238
21239 Fix build for srcdir != objdir.
21240
21241 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21242 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21243 $(srcdir).
21244 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21245 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21246 reference for input.
21247
13774a2f
RM
212482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21251 or hardlinking it). Remove -J option, Joliet is not compatible with
21252 multiple source directories.
21253
efda854e
RM
212542009-11-21 Carles Pina i Estany <carles@pina.cat>
212552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21256
21257 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21258 (process_input_dir): New function. Process an arbitrary input
21259 directory.
21260 Misc adjustments to support both "override mode" and system-wide mode.
21261
6c09890c
FZ
212622009-11-20 Felix Zielcke <fzielcke@z-51.de>
21263
21264 * configure.ac (UNIFONT_BDF): Rename to ...
21265 (FONT_SOURCE): ... this. Update all users.
21266
a797824f
FZ
212672009-11-20 Felix Zielcke <fzielcke@z-51.de>
21268
21269 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21270 to the list of unifont files to look for.
21271
cd4f42b0
RM
212722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21273
21274 Patch from Joe Auricchio <jauricchio@gmail.com>
21275 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21276 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21277 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21278
393c783d
FZ
212792009-11-19 Felix Zielcke <fzielcke@z-51.de>
21280
21281 * Makefile.in (install-local): Add a missing backslash.
21282
b2f1e327
FZ
212832009-11-19 Felix Zielcke <fzielcke@z-51.de>
21284
21285 * include/grub/x86_64/io.h: New file.
21286
f577f7a0
RM
212872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21288
21289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21290 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21291 Include `"progname.h"'.
21292 (main): Initialize gettext.
21293 * util/i386/pc/grub-setup.c: Gettexttize.
21294 * util/i386/pc/grub-mkimage.c: Likewise.
21295
21296 * Makefile.in (po/*.po): Redefine as ...
21297 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21298
3bc7896c
RM
21299 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21300
c37943b6
RM
213012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21302
21303 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21304 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21305 (program_name): Remove.
21306 (main): Initialize gettext support.
6323f705
RM
21307 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21308 Include `<libintl.h>'.
21309 (_): New macro.
c37943b6
RM
21310
21311 * util/mkisofs/eltorito.c: Gettexttize.
21312 * util/mkisofs/joliet.c: Likewise.
21313 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21314 * util/mkisofs/multi.c: Likewise.
21315 * util/mkisofs/rock.c: Likewise.
21316 * util/mkisofs/tree.c: Likewise.
21317 * util/mkisofs/write.c: Likewise.
21318
3bc7896c
RM
21319 * po/POTFILES: Update with new files.
21320
5ce77c6e
RM
213212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21322
21323 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21324 * util/mkisofs/iso9660.h: Likewise.
21325 * util/mkisofs/joliet.c: Likewise.
21326 * util/mkisofs/mkisofs.c: Likewise.
21327 * util/mkisofs/mkisofs.h: Likewise.
21328 * util/mkisofs/rock.c: Likewise.
21329 * util/mkisofs/tree.c: Likewise.
21330 * util/mkisofs/write.c: Likewise.
21331
21332 * util/mkisofs/eltorito.c (rcsid): Remove.
21333 * util/mkisofs/hash.c: Likewise.
21334 * util/mkisofs/joliet.c: Likewise.
21335 * util/mkisofs/name.c: Likewise.
21336 * util/mkisofs/rock.c: Likewise.
21337 * util/mkisofs/tree.c: Likewise.
21338 * util/mkisofs/write.c: Likewise.
21339
1dabbc77
RM
213402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21341
21342 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21343 instead of static allocation.
21344 * util/mkisofs/match.h: Likewise.
21345
633877cb
RM
213462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21347
3bc7896c
RM
21348 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21349 and `util/grub.d/10_linux.in'.
633877cb
RM
21350 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21351 translatable Shell files.
21352
af1c0c85
RM
213532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21354
21355 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21356
769ae37b
RM
213572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21358
21359 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21360 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21361 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21362 Add gettext initialization.
21363 (kfreebsd_entry): Make menuentry output translatable.
21364
213652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21366
21367 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21368 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21369 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21370 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21371 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21372 * po/LINGUAS: New file.
769ae37b
RM
21373
213742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21375
21376 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21377 other things).
21378 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21379 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21380 bindtextdomain() calls for gettext initialization.
21381
213822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21383
21384 * gnulib/progname.c: New file (imported from Gnulib).
21385 * gnulib/progname.h: Likewise.
21386 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21387 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21388 (usage): Replace `progname' with `program_name'.
21389 (main): Use set_program_name() for program name initialization.
21390
213912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21392
21393 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21394 from here ...
21395 * Makefile.in (CPPFLAGS): ... to here.
21396
213972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21398
21399 * aclocal.m4: Move from here ...
21400 * acinclude.m4: ... to here.
21401 * autogen.sh: Add call to `aclocal'.
21402 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21403
214042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21407 (LINGUAS): New variable.
21408 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21409 (install-local): Install MO files.
21410 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21411 * include/grub/i18n.h: New file.
3bc7896c
RM
21412 * po/POTFILES: New file.
21413 * po/ca.po: New file.
769ae37b
RM
21414 * util/grub.d/10_linux.in (bindir): New variable.
21415 Add gettext initialization.
21416 (linux_entry): Make menuentry output translatable.
21417 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21418 (usage): Make --help output translatable.
21419 (main): Initialize gettext.
21420
02c0a6ad
RM
214212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21422
21423 * import_gcry.py: New file (written by Vladimir with minor
21424 adjustments).
21425 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21426 ciphers.
21427 * INSTALL: Document that Python is required for bootstrap.
21428
214292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 Import ciphers from libgcrypt 1.4.4.
21432
21433 * lib/libgcrypt/cipher/ChangeLog
21434 * lib/libgcrypt/cipher/ac.c
21435 * lib/libgcrypt/cipher/arcfour.c
21436 * lib/libgcrypt/cipher/bithelp.h
21437 * lib/libgcrypt/cipher/blowfish.c
21438 * lib/libgcrypt/cipher/camellia-glue.c
21439 * lib/libgcrypt/cipher/camellia.c
21440 * lib/libgcrypt/cipher/camellia.h
21441 * lib/libgcrypt/cipher/cast5.c
21442 * lib/libgcrypt/cipher/cipher.c
21443 * lib/libgcrypt/cipher/crc.c
21444 * lib/libgcrypt/cipher/des.c
21445 * lib/libgcrypt/cipher/dsa.c
21446 * lib/libgcrypt/cipher/ecc.c
21447 * lib/libgcrypt/cipher/elgamal.c
21448 * lib/libgcrypt/cipher/hash-common.c
21449 * lib/libgcrypt/cipher/hash-common.h
21450 * lib/libgcrypt/cipher/hmac-tests.c
21451 * lib/libgcrypt/cipher/md.c
21452 * lib/libgcrypt/cipher/md4.c
21453 * lib/libgcrypt/cipher/md5.c
21454 * lib/libgcrypt/cipher/primegen.c
21455 * lib/libgcrypt/cipher/pubkey.c
21456 * lib/libgcrypt/cipher/rfc2268.c
21457 * lib/libgcrypt/cipher/rijndael-tables.h
21458 * lib/libgcrypt/cipher/rijndael.c
21459 * lib/libgcrypt/cipher/rmd.h
21460 * lib/libgcrypt/cipher/rmd160.c
21461 * lib/libgcrypt/cipher/rsa.c
21462 * lib/libgcrypt/cipher/seed.c
21463 * lib/libgcrypt/cipher/serpent.c
21464 * lib/libgcrypt/cipher/sha1.c
21465 * lib/libgcrypt/cipher/sha256.c
21466 * lib/libgcrypt/cipher/sha512.c
21467 * lib/libgcrypt/cipher/tiger.c
21468 * lib/libgcrypt/cipher/twofish.c
21469 * lib/libgcrypt/cipher/whirlpool.c
21470
af2f93ac
RM
214712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21472
21473 Fix build for systems without error().
21474
21475 * gnulib/error.c: New file (imported from Gnulib).
21476 * gnulib/error.h: Likewise.
21477 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21478 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21479 (this variable is now used by error()).
21480
73fb3dd5
FZ
214812009-11-16 Felix Zielcke <fzielcke@z-51.de>
21482
814f5e96
FZ
21483 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21484 instead of relying that char is signed.
73fb3dd5 21485
a691ca33
VS
214862009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21489 blocksize different from specified.
21490 (grub_pxefs_read): Likewise.
21491
2af8f0f4
FZ
214922009-11-16 Felix Zielcke <fzielcke@z-51.de>
21493
21494 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21495
21496 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21497 (grub_ata_readwrite): Likewise. Update 2 format strings.
21498 (grub_atapi_read): Likewise.
21499
21500 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21501 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21502 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21503 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21504 (ata_mod_LDFLAGS): Move from here ...
21505 * conf/i386.rmk: ... to here ...
21506 * conf/x86_64-efi.rmk: ... and here.
21507 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21508 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21509
83bdecaf
RM
215102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21511
21512 Relicense multiboot.h, with RMS' blessing.
21513
21514 * include/multiboot.h: Change to X11 license.
21515
fd6fd3d7
RM
215162009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21517
21518 Support --version in grub-mkisofs.
21519
21520 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21521 (OPTION_VERSION): New macro.
21522 (ld_options): Recognize --version.
21523 (usage): Move `program_name' from here ...
21524 (program_name): ... to here. Add `static' qualifier.
21525 (main): Recognize `OPTION_VERSION'.
21526
16a88c49
FZ
215272009-11-15 Felix Zielcke <fzielcke@z-51.de>
21528
21529 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21530 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21531
a4158476
RM
215322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21533
21534 Fix help2man generation for mkisofs.
21535
21536 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21537 (usage): Send output to stdout (rather than stderr).
21538
fc2208b0
RM
215392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21540
21541 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21542 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21543 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21544 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21545 (bin_SCRIPTS): Add `grub-mkfloppy'.
21546 (grub_mkfloppy_SOURCES): New variable.
21547
21548 * util/grub-mkrescue.in: New file.
21549 * util/i386/pc/grub-mkfloppy.in: New file.
21550
21551 * util/i386/coreboot/grub-mkrescue.in: Remove.
21552 * util/i386/pc/grub-mkrescue.in: Remove.
21553
8d0edf4a
RM
215542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21555
21556 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21557 from here ...
21558 * include/multiboot.h (struct multiboot_header): ... to here. Update
21559 all users.
21560 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21561 from here ...
21562 * include/multiboot.h (struct multiboot_info): ... to here. Update
21563 all users.
21564 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21565 from here ...
21566 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21567 Update all users.
21568 * include/grub/multiboot.h (struct grub_mod_list): Move
21569 from here ...
21570 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21571 Update all users.
21572
a73f5969
RM
215732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21574
21575 * include/multiboot2.h (multiboot_word): Rename from this ...
21576 (multiboot2_word): ... to this. Update all users.
21577 (multiboot_header): Rename from this ...
21578 (multiboot2_header): ... to this. Update all users.
21579 (multiboot_tag_header): Rename from this ...
21580 (multiboot2_tag_header): ... to this. Update all users.
21581 (multiboot_tag_start): Rename from this ...
21582 (multiboot2_tag_start): ... to this. Update all users.
21583 (multiboot_tag_name): Rename from this ...
21584 (multiboot2_tag_name): ... to this. Update all users.
21585 (multiboot_tag_module): Rename from this ...
21586 (multiboot2_tag_module): ... to this. Update all users.
21587 (multiboot_tag_memory): Rename from this ...
21588 (multiboot2_tag_memory): ... to this. Update all users.
21589 (multiboot_tag_unused): Rename from this ...
21590 (multiboot2_tag_unused): ... to this. Update all users.
21591 (multiboot_tag_end): Rename from this ...
21592 (multiboot2_tag_end): ... to this. Update all users.
21593
1c8927f0
RM
215942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21595
21596 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21597 this platform we should support Multiboot1 first.
21598
21599 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21600 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21601 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21602
6e1e0d89
RM
216032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21604
21605 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21606 of write calls (converting them to fwrite() if they aren't already).
21607 (get_torito_desc): Likewise.
21608 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21609
7f2b34d8
RM
216102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21611
21612 * util/i386/pc/grub-install.in: Move from here ...
21613 * util/grub-install.in: ... to here. Update all users.
21614
c0ef3311
CW
216152009-11-11 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21618
e1f240ff
RM
216192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21620
21621 Support for El Torito without floppy emulation.
21622
21623 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21624 (init_boot_catalog): Improve error handling.
21625 (get_torito_desc): Don't use floppy emulation unless requested by
21626 user. Patch boot information table when requested via
21627 `-boot-info-table'.
21628 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21629 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21630 (use_boot_info_table): New variables.
21631 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21632 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21633 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21634 `--eltorito-emul-floppy'.
21635 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21636 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21637 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21638 (use_boot_info_table, get_731): New prototypes.
21639 * util/mkisofs/write.c (get_731): New function.
21640
af7d4de5
FZ
216412009-11-11 Felix Zielcke <fzielcke@z-51.de>
21642
21643 Fix the generation of the man page.
21644
21645 * util/pc/i386/grub-install.in: Source
21646 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21647
2c55dbc0
RM
216482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21649
21650 Large file support for grub-mkisofs.
21651
21652 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21653 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21654 (session_start): Upgrade type to `uint64_t'. Update all users.
21655 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21656 (struct directory_entry): Upgrade type of `starting_block' and
21657 `size' to `uint64_t'. Update all users.
21658 (struct deferred): Remove unused structure.
21659 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21660 Update all users.
21661 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21662 file is larger than `UINT32_MAX'.
21663 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21664 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21665 return value.
21666 (struct deferred_write): Upgrade type of `extent' and `size' to
21667 `uint64_t'. Update all users.
21668 (last_extent_written): Upgrade type to `uint64_t'. Update all
21669 users.
21670 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21671 Update all users. Upgrade type of `remain' to `int64_t' and
21672 `use' to `size_t'. Use error() to handle fread() errors.
21673 (write_files): Rely on write_one_file() rather than calling
21674 xfwrite() directly.
21675
6a9cead5
FZ
216762009-11-09 Felix Zielcke <fzielcke@z-51.de>
21677
21678 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21679
4825d790
RM
216802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * util/mkisofs/fnmatch.c: Remove.
21683 * util/mkisofs/getopt1.c: Likewise.
21684 * util/mkisofs/getopt.c: Likewise.
21685 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21686 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21687 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21688 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21689 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21690
21691 * configure.ac: Detect `mingw32msvc' host_os.
21692 Check for lstat(), getuid() and getgid().
21693
21694 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21695 instances of `u_char' with `uint8_t'.
21696
21697 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21698 [!HAVE_GETUID] (getuid): New function (stub).
21699 [!HAVE_GETGID] (getgid): Likewise.
21700 [!HAVE_LSTAT] (lstat): Likewise.
21701 [!S_IROTH] (S_IROTH): New macro (dummy).
21702 [!S_IRGRP] (S_IRGRP): Likewise.
21703
84b860d8
RM
217042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21705
21706 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21707 conditional expression).
21708
66e9b712
RM
217092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21710
21711 Import from Gnulib.
21712
21713 * gnulib/fnmatch.c: New file.
21714 * gnulib/fnmatch.h: Likewise.
21715 * gnulib/fnmatch_loop.c: Likewise.
21716 * gnulib/getopt.c: Likewise.
21717 * gnulib/getopt.h: Likewise.
21718 * gnulib/getopt1.c: Likewise.
21719 * gnulib/getopt_int.h: Likewise.
21720 * gnulib/gettext.h: Likewise.
21721
34f4a5b0
RM
217222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21723
21724 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
21725 * normal/handler.c (read_handler_list): Likewise.
21726
ac451143
RM
217272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21728
21729 Misc cleanup.
21730
21731 * kern/command.c (grub_register_command_prio): Use
21732 grub_zalloc() instead of explicitly zeroing data.
21733 * kern/list.c: Include `<grub/mm.h>'.
21734 (grub_named_list_find): Replace `0' with `NULL'.
21735 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
21736 (fs_module_list): Change type to `grub_named_list_t'. Update all
21737 users.
21738 * normal/dyncmd.c (read_command_list): Add space between function
21739 call and parenthesis.
21740 * normal/handler.c (read_handler_list): Likewise.
21741
4089b167
RM
217422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 * normal/auth.c (punishment_delay): Moved from here ...
21745 (grub_auth_strcmp): ... to here (inside function).
21746
325f5037
RM
217472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21748
21749 * include/grub/list.h (struct grub_named_list): Remove `const'
21750 qualifier from `name'.
21751 (struct grub_prio_list): Likewise.
21752
7aea29a3
RM
217532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21754
21755 * normal/auth.c: Include `<grub/time.h>'.
21756 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
21757
3fd6f044
RM
217582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21759
21760 * normal/auth.c (punishment_delay): New variable.
21761 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
21762 (grub_auth_check_authentication): Punish failed login attempts with
21763 an incremental (2^N) delay.
21764
a4cd68e4
RM
217652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
21768 path with $(srcdir).
21769
7ad12f43
VS
217702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
21773
c1129f03
RM
217742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21775
21776 * util/i386/coreboot/grub-mkrescue.in: New file.
21777 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
21778 variables.
21779
21780 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
21781 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
21782 * configure.ac: Add header and function checks to satisfy grub-mkisofs
21783 requirements.
21784 * util/mkisofs/defaults.h: New file.
21785 * util/mkisofs/eltorito.c: Likewise.
21786 * util/mkisofs/exclude.h: Likewise.
21787 * util/mkisofs/fnmatch.c: Likewise.
21788 * util/mkisofs/getopt.c: Likewise.
21789 * util/mkisofs/getopt1.c: Likewise.
21790 * util/mkisofs/hash.c: Likewise.
21791 * util/mkisofs/include/fctldefs.h: Likewise.
21792 * util/mkisofs/include/mconfig.h: Likewise.
21793 * util/mkisofs/include/prototyp.h: Likewise.
21794 * util/mkisofs/include/statdefs.h: Likewise.
21795 * util/mkisofs/iso9660.h: Likewise.
21796 * util/mkisofs/joliet.c: Likewise.
21797 * util/mkisofs/match.c: Likewise.
21798 * util/mkisofs/match.h: Likewise.
21799 * util/mkisofs/mkisofs.c: Likewise.
21800 * util/mkisofs/mkisofs.h: Likewise.
21801 * util/mkisofs/multi.c: Likewise.
21802 * util/mkisofs/name.c: Likewise.
21803 * util/mkisofs/rock.c: Likewise.
21804 * util/mkisofs/tree.c: Likewise.
21805 * util/mkisofs/write.c: Likewise.
21806
ec8bb77d
VS
218072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
21810 being insecure.
21811
3716b12c
RM
218122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21813
21814 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
21815 `grub-mkimage' (and use $0 when possible).
21816
b97b7b91
RM
218172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21818
21819 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
21820 error message for excessively large memory map.
21821
04114812
RM
218222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21823
21824 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
21825 executable bit.
21826
e4eb2373
RM
218272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
21830 message for coreboot users.
21831
c926e1d5 218322009-11-07 Robert Millan <rmh.grub@aybabtu.com>
21833
21834 Fix build with GNU gold.
21835
21836 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
21837 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
21838 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
21839 link addresses.
21840 * aclocal.m4: Likewise.
21841
86e5b1db 218422009-11-04 Felix Zielcke <fzielcke@z-51.de>
21843
21844 * configure.ac (AC_PREREQ): Bump to 2.59d.
21845 * INSTALL: Make it more clear when Autoconf and Ruby are
21846 needed and when to run `./autogen.sh'.
21847
246cd78f 218482009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
21849
21850 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
21851 OSes.
21852
4f9dfb37 218532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21854
21855 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
21856
b82bd5e1 218572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21858
21859 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
21860 giving it to GNU Mach.
21861
ff1a9bca 218622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21863
21864 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
21865 GNU partition number to get internal GRUB partition number.
21866
61697d9c 218672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21868
21869 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
21870 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
21871
a50569e1 218722009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21873
21874 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
21875 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
21876 case.
21877
5b153867 218782009-11-01 Felix Zielcke <fzielcke@z-51.de>
21879
21880 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21881
d9e2cd70 218822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21883
21884 Fix build problem.
21885
21886 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21887 `-isystem=$(srcdir)/include'.
21888
805111a4 218892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21892 checked (grub-install doesn't currently rely on it).
21893
fa6e945f 218942009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21895
21896 Revert SVN r2660.
21897
21898 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21899 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21900 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21901 * conf/i386-ieee1275.rmk: Likewise.
21902 * conf/i386-pc.rmk: Likewise.
21903 * conf/powerpc-ieee1275.rmk: Likewise.
21904 * conf/sparc64-ieee1275.rmk: Likewise.
21905 * conf/x86_64-efi.rmk: Likewise.
21906
cee15086 219072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21910
95b9239e 219112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21912
21913 * include/grub/misc.h: Stop checking for APPLE_CC.
21914
2ed19dfd 219152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21916
21917 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21918 doesn't cause an infinite call loop.
21919
fdcdde19 219202009-10-28 Felix Zielcke <fzielcke@z-51.de>
21921
21922 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21923 strings.
21924
cefabfe1 219252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21926
21927 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21928 variable.
21929 * Makefile.in: Likewise.
21930
ed96ab6d 219312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21934
0579b753 219352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21936
21937 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21938
478df409 219392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21940
21941 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21942
083d1679 219432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21944
21945 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21946 from here ...
21947 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21948
5947ae32 219492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21950
21951 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21952 in $(MAKEINFO) invocation. This makes it clear in output that
21953 errors are being ignored.
21954
94180ff6 219552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21956
21957 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21958 from here ...
21959 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21960 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21961 * conf/i386-ieee1275.rmk: Likewise.
21962 * conf/i386-pc.rmk: Likewise.
21963 * conf/powerpc-ieee1275.rmk: Likewise.
21964 * conf/sparc64-ieee1275.rmk: Likewise.
21965 * conf/x86_64-efi.rmk: Likewise.
21966
9031b03a 219672009-10-26 Colin Watson <cjwatson@ubuntu.com>
21968
21969 * util/grub-editenv.c (main): If only a command is given, use
21970 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21971 (usage): FILENAME is now optional and has a default.
21972
e4f6809b 219732009-10-26 Colin Watson <cjwatson@ubuntu.com>
21974
21975 Improve grub-mkconfig performance when there are several menu
21976 entries on a single filesystem.
21977
21978 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21979 prepare_grub_to_access_device.
21980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21981 * util/grub.d/30_os-prober.in: Likewise.
21982
67937d4d 219832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21984
21985 * util/grub.d/10_freebsd.in: Remove.
21986 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21987 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21988
ee3756cc 219892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21990
5c35048e 21991 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 21992
4dea1c6f 219932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21994
21995 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21996 grub_util_error() call.
21997
042484d7 219982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21999
22000 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22001 `reserved_first_sector' member.
22002 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22003 `reserved_first_sector' to 1.
22004 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22005 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22006 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22007 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22008 filesystems which begin at first sector.
22009 (options): New option --skip-fs-probe.
22010 (main): Handle --skip-fs-probe and pass it to setup().
22011
d64448a7 220122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22015 (memset): Fix function prototype.
22016
508d42ec 220172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
220182009-10-25 Vasily Averin <vvs@parallels.com>
22019
22020 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22021 `dirent.direntlen == 0'.
22022
b240e30c 220232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22024
22025 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22026 `cpio'.
22027 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22028
346e7fbe 220292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22030
22031 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22032 `__trampoline_setup' and `__ucmpdi2'.
22033 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22034 that libgcc provides.
22035
cdb308b0 220362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22037
22038 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22039 * include/grub/sparc64/libgcc.h (memset): Likewise.
22040 * include/grub/misc.h (memset, memcmp): New function prototypes.
22041
fb26abc2 220422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22043
22044 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22045 `cpio'.
22046 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22047
f6693890 220482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22049
22050 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22051 * docs/grub.cfg: Compensate for recent change in multiboot
22052 loader (since 2009-08-14 it won't pass filename to payload).
22053 * util/grub.d/10_hurd.in: Likewise.
22054
0933cdc0 220552009-10-21 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * config.guess: Update to latest version from config git
22058 repository.
22059 * config.sub: Likewise.
22060
3b2fe8c2 220612009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22062
22063 Fix build on sparc64.
22064
22065 * configure.ac: Perform checks for libgcc symbols before
22066 adding `-nostdlib' to LDFLAGS.
22067
46695a62 220682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Let user specify OpenBSD root device.
22071
22072 * loader/i386/bsd.c (openbsd_root): New variable.
22073 (openbsd_opts): New option 'root'.
22074 (OPENBSD_ROOT_ARG): New macro.
22075 (grub_openbsd_boot): Use 'openbsd_root'.
22076 (grub_cmd_openbsd): Fill 'openbsd_root'.
22077
d2b6b7fc 220782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * NEWS: Misc adjustments.
22081
421bd7ac 220822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22085
f1d29d87 220862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22087
22088 * configure.ac: Bump version to 1.97.
22089
6f3cd880 220902009-10-16 Colin Watson <cjwatson@ubuntu.com>
22091
22092 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22093 -mno-3dnow on x86 architectures. Some toolchains enable these
22094 features by default, but they rely on registers that aren't enabled
22095 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22096
035f7122 220972009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22098
22099 Make entry text a bit more readable.
22100
22101 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22102
44998e58 221032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22106
cd2851b3 221072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22110 operations.
22111
c6f3b249 221122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * configure.ac: Add missing dollar.
22115
6b5886ba 221162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22119
22120 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22121 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22122 exports.
22123 * include/grub/sparc64/libgcc.h: Likewise. Use
22124 preprocessor conditionals.
22125
e9d66f6d 221262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22127
22128 * conf/common.rmk (grub-dumpbios): Remove rule.
22129 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22130 * util/grub-dumpbios.in: Remove file.
22131
9155bc17 221322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22133
22134 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22135 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22136
22137 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22138 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22139 users.
22140
22141 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22142 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22143 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22144 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22145 users.
22146
bf7f7a18 221472009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22148
22149 * term/tparm.c: Switch to GPLv3.
22150
86564c26 221512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22152
22153 * include/grub/i386/cpuid.h: Add header protection.
22154
5c936493 221552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22156
22157 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22158
22159 * include/grub/i386/cpuid.h: New file.
22160 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22161 (has_longmode): Rename to ...
22162 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22163 `static' attribute.
22164 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22165 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22166 on a CPU that doesn't implement AMD64 instruction set.
22167
186e7cf2 221682009-10-06 Colin Watson <cjwatson@ubuntu.com>
22169
22170 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22171 that version.texi is rebuilt on version number changes.
22172
83b65c4a 221732009-10-06 Colin Watson <cjwatson@ubuntu.com>
22174
22175 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22176 Fixes bug #27602.
22177
d244281c 221782009-10-06 Colin Watson <cjwatson@ubuntu.com>
22179
22180 * util/i386/pc/grub-install.in: Source
22181 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22182 that the --grub-probe option will work.
22183 * util/sparc64/ieee1275/grub-install.in: Likewise.
22184
da25306d 221852009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22186
22187 * configure.ac: Bump version to 1.97~beta4.
22188
e8ee83c0 221892009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22190
22191 Resync grub-mkdevicemap in x86_64-efi.
22192
22193 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22194 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22195 `util/devicemap.c'.
22196
50dcabcf 221972009-10-01 Colin Watson <cjwatson@ubuntu.com>
22198
22199 * util/grub-editenv.c (create_envblk_file): Write new block with a
22200 .new suffix and then rename it into place, to ensure atomic
22201 creation.
22202
0e51c3a7 222032009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 Do not automatically install headers.
22206
22207 * Makefile.in (include_DATA): Remove. Update all users.
22208
31299a95 222092009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22210
22211 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22212 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22213
22214 * util/osdetect.lua: Remove.
22215 * script/lua/lauxlib.c: Likewise.
22216 * script/lua/ldebug.c: Likewise.
22217 * script/lua/grub_main.c: Likewise.
22218 * script/lua/lauxlib.h: Likewise.
22219 * script/lua/ldebug.h: Likewise.
22220 * script/lua/ltablib.c: Likewise.
22221 * script/lua/liolib.c: Likewise.
22222 * script/lua/lstrlib.c: Likewise.
22223 * script/lua/lualib.h: Likewise.
22224 * script/lua/ldo.c: Likewise.
22225 * script/lua/ldump.c: Likewise.
22226 * script/lua/ldo.h: Likewise.
22227 * script/lua/loslib.c: Likewise.
22228 * script/lua/lundump.c: Likewise.
22229 * script/lua/grub_lib.c: Likewise.
22230 * script/lua/ldblib.c: Likewise.
22231 * script/lua/lundump.h: Likewise.
22232 * script/lua/lmem.c: Likewise.
22233 * script/lua/grub_lib.h: Likewise.
22234 * script/lua/lmathlib.c: Likewise.
22235 * script/lua/lstate.c: Likewise.
22236 * script/lua/ltm.c: Likewise.
22237 * script/lua/lvm.c: Likewise.
22238 * script/lua/lmem.h: Likewise.
22239 * script/lua/lstate.h: Likewise.
22240 * script/lua/ltm.h: Likewise.
22241 * script/lua/ltable.c: Likewise.
22242 * script/lua/lvm.h: Likewise.
22243 * script/lua/llex.c: Likewise.
22244 * script/lua/lgc.c: Likewise.
22245 * script/lua/grub_lua.h: Likewise.
22246 * script/lua/loadlib.c: Likewise.
22247 * script/lua/lfunc.c: Likewise.
22248 * script/lua/lopcodes.c: Likewise.
22249 * script/lua/lparser.c: Likewise.
22250 * script/lua/ltable.h: Likewise.
22251 * script/lua/llex.h: Likewise.
22252 * script/lua/lgc.h: Likewise.
22253 * script/lua/lfunc.h: Likewise.
22254 * script/lua/lbaselib.c: Likewise.
22255 * script/lua/lopcodes.h: Likewise.
22256 * script/lua/lparser.h: Likewise.
22257 * script/lua/lzio.c: Likewise.
22258 * script/lua/linit.c: Likewise.
22259 * script/lua/lobject.c: Likewise.
22260 * script/lua/llimits.h: Likewise.
22261 * script/lua/lstring.c: Likewise.
22262 * script/lua/lzio.h: Likewise.
22263 * script/lua/lapi.c: Likewise.
22264 * script/lua/lcode.c: Likewise.
22265 * script/lua/lua.h: Likewise.
22266 * script/lua/lobject.h: Likewise.
22267 * script/lua/lstring.h: Likewise.
22268 * script/lua/lapi.h: Likewise.
22269 * script/lua/lcode.h: Likewise.
22270 * script/lua/luaconf.h: Likewise.
22271
cb8a2c38 222722009-09-26 Colin Watson <cjwatson@ubuntu.com>
22273
22274 * docs/grub.texi (Command-line and menu entry commands): Document
22275 date and echo commands.
22276
6b9b6276 222772009-09-24 Pavel Roskin <proski@gnu.org>
22278
22279 * include/grub/kernel.h (struct grub_module_header): Remove
22280 `grub_module_header_types'. Make `type' unsigned. Make `size'
22281 32-bit on all platforms.
22282 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22283 8-bit field. Use grub_host_to_target32() for `size'.
22284 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22285 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22286 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22287
4e5a02a7 222882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 Fix "lost keypress" bug in at_keyboard.
22291
22292 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22293 Checks for readyness of input buffer (without flushing it).
22294 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22295 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22296
c6dcedf6 222972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22298
22299 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22300 size check within GRUB_MACHINE_PCBIOS section.
22301
74c958b1 223022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22303
22304 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22305 return value.
22306 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22307 KEYBOARD_ISREADY check.
22308 (grub_at_keyboard_checkkey): Rename to ...
22309 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22310 Remove gratuitous cast.
22311
ff420223 223122009-09-23 Colin Watson <cjwatson@ubuntu.com>
22313
22314 * configure.ac: Call AC_PROG_MKDIR_P.
22315 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22316 version.texi in $(builddir) rather than $(srcdir).
22317 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22318 to makeinfo's @include search path.
22319
d96875df 223202009-09-23 Felix Zielcke <fzielcke@z-51.de>
22321
22322 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22323
9b3f8365 223242009-09-23 Felix Zielcke <fzielcke@z-51.de>
22325
22326 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22327 for `*.dpkg-new'.
22328
c44c90db 223292009-09-21 Colin Watson <cjwatson@ubuntu.com>
22330
22331 Build info documentation. Some code borrowed from Automake.
22332
22333 * configure.ac: Check for makeinfo.
22334 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22335 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22336 docs/version.texi.
22337 (MOSTLYCLEANFILES): Add vti.tmp.
22338 (docs/version.texi, docs/stamp-vti): Update automatically.
22339 (docs/grub.info): Build info documentation. Use --force and ignore
22340 errors for now.
22341 (all-local): Add $(INFOS).
22342 (install-local): Install info files.
22343 (uninstall): Uninstall info files.
22344 * docs/version.texi: Remove from revision control. This file is
22345 automatically generated on build now.
22346 * gendistlist.sh: Add `*.info'.
22347
e0b37bb5 223482009-09-21 Felix Zielcke <fzielcke@z-51.de>
22349
22350 * kern/term.c: Fix indentation.
22351
5a78865b 223522009-09-21 Felix Zielcke <fzielcke@z-51.de>
22353
22354 * util/hostdisk.c: Fix a comment.
22355
dace7e8a 223562009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 Fix regression introduced in r2539.
22359
22360 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22361 to 0xA1.
22362
a83d079b 223632009-09-19 Colin Watson <cjwatson@ubuntu.com>
22364
22365 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22366 os-prober. Under normal operation, it does not print anything to
22367 stderr; if it does, we need to debug it, and throwing away stderr
22368 makes that excessively difficult.
a83d079b 22369
be94a509 223702009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22373
63f745e8 223742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22375
22376 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22377 AC_LANG_PROGRAM from autoconf.
22378 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22379 prototypes (fixes warning).
22380
22381 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22382 `--disable-werror' was used.
22383
bbb2a70f 223842009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22385
22386 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22387 uninitialized `lastaddr'.
22388
77c24f1d 223892009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22390
0f0b8c87 22391 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 22392
07197f23 223932009-09-14 Colin Watson <cjwatson@ubuntu.com>
22394
22395 * commands/test.c (get_fileinfo): Return immediately if
22396 grub_fs_probe fails.
22397
dabf1798 223982009-09-14 José Martínez <xosemp@gmail.com>
22399
22400 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22401
d52109a7 224022009-09-14 Colin Watson <cjwatson@ubuntu.com>
22403
22404 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22405 output.
22406
56532179 224072009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 * configure.ac: Remove --enable-grub-pe2elf. Only build
22410 grub-pe2elf when needed by the build system itself.
22411 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22412
8ef070f5 224132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * configure.ac: Bump version to 1.97~beta3.
22416 * docs/version.texi: Likewise.
22417
61229557 224182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22419
22420 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22421 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22422 from here ...
22423 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22424 (grub_linux_setup_video): ... to here (with some adjustments).
22425
5c9f8d84 224262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22427
22428 Fix memory corruption issue (spotted by Colin Watson).
22429
22430 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22431 causing returned size to be stored in an incorrect memory location.
22432 Fix use of uninitialized value when storing the returned size.
22433
e8f5d6e9 224342009-09-12 Yves Blusseau <blusseau@zetam.org>
22435
22436 Change clean rules to properly remove files
22437
22438 * genmk.rb: add new clean rules
22439 * Makefile.in (clean): add the new targets
22440 (mostlyclean): likewise
22441
cda2a409 224422009-09-11 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22445 to grub_uint64_t.
22446 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22447 non-resident files.
22448
86695375 224492009-09-11 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22452 part of bug #27349.
22453
8aa1541a 224542009-09-10 Felix Zielcke <fzielcke@z-51.de>
22455
22456 * util/grub-mkconfig.in: Make the created config mode 400 and
22457 print a warning if it fails.
22458
48d9bb0a 224592009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22460
22461 * util/grub.d/40_custom.in: Ask user to type custom entries below
22462 comment, rather than below 'exec tail' line.
22463
3b0521be 224642009-09-10 Colin Watson <cjwatson@ubuntu.com>
22465
22466 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22467 visible in grub.cfg.
22468
50051d55 224692009-09-10 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22472 file.
22473
c0d34387 224742009-09-10 Felix Zielcke <fzielcke@z-51.de>
22475
22476 * docs/grub.cfg: Add an example menu entry for memtest86+.
22477
80a608f3 224782009-09-09 Felix Zielcke <fzielcke@z-51.de>
22479
a2094832 22480 * config.guess: Update to latest version from config git.
80a608f3 22481 * config.sub: Likewise.
22482
99423078 224832009-09-08 Colin Watson <cjwatson@ubuntu.com>
22484
22485 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22486 unknown-command case. Fixes bug #27320.
22487
44454e4c 224882009-09-08 Felix Zielcke <fzielcke@z-51.de>
22489
22490 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22491 `help' if the command exists.
22492
e30d87ad 224932009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22494
22495 * INSTALL: Require GCC 4.1.3 or later.
22496
9a86f1ec 224972009-09-06 Yves Blusseau <blusseau@zetam.org>
22498
22499 * Makefile.in (RMKFILES): add i386-qemu.rmk
22500 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22501 $(srcdir)/stamp-h.in
22502
7f26d466 225032009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * util/grub-probe.c (probe): Comment out buggy codepath, which
22506 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22507 should be re-enabled after 1.97.
22508
3a613259 225092009-09-05 Felix Zielcke <fzielcke@z-51.de>
22510
22511 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22512 find searches for.
22513
197f76c7 225142009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22515
22516 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22517 unnecessary calls to grub_error.
22518
70ba68ce 225192009-09-04 Colin Watson <cjwatson@ubuntu.com>
22520
22521 * NEWS: Mention `keystatus' and Unicode fonts.
22522
4ff0d7a4 225232009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * configure.ac: Bump version to 1.97~beta2.
22526 * docs/version.texi: Likewise.
22527
77c55a87 225282009-09-03 Colin Watson <cjwatson@ubuntu.com>
22529
22530 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22531 containing unwind information in some cases where it previously did
22532 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22533 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22534 discussion.
22535
f79572cd 225362009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22537
22538 Embedding loadenv module into grub-emu
22539
22540 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22541 commands/loadenv.c
22542 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22543 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22546 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22547 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22548
93a81088 225492009-09-03 Magnus Granberg <zorry@ume.nu>
22550
22551 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22552 include -fPIE in the default specs.
22553 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22554 to TARGET_CFLAGS.
22555
160034b2 225562009-09-03 Felix Zielcke <fzielcke@z-51.de>
22557
22558 * INSTALL: Note that GNU Bison 2.3 or later is required.
22559
087c07c4 225602009-09-03 Colin Watson <cjwatson@ubuntu.com>
22561
22562 * kern/i386/pc/startup.S: Fix typo.
22563
cbf978c0 225642009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22567 according to GCS.
22568
225692009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 22570
22571 * docs/grub.texi (Naming convention): Describe one-based partition
22572 numbering.
22573 (Device syntax): Likewise.
22574 (File name syntax): Likewise.
22575 (Block list syntax): Likewise.
22576 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22577 menu.lst.
22578 (File name syntax): Likewise.
22579 (Command-line and menu entry commands): Document acpi, blocklist,
22580 crc, export, insmod, keystatus, ls, set, and unset commands.
22581
f3e8cdfd 225822009-09-02 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22585 to avoid implying that only one of --shift, --ctrl, or --alt may be
22586 used.
22587
c0bc232b 225882009-09-02 Colin Watson <cjwatson@ubuntu.com>
22589
22590 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22591 rather than comparing against S_IFREG, which will almost never work.
22592
aa0f752d 225932009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22596 (write_blocklists): Likewise.
22597
ecb3166a 225982009-09-01 Colin Watson <cjwatson@ubuntu.com>
22599
22600 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22601 argument to grub_printf.
22602
c403a125 226032009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 22604
22605 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 22606 non GNU test.
31aba781 22607
b5e7312c 226082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 * kern/file.c (grub_file_read): Spelling fix
22611
fe00f472 226122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22615 loading of headers in some cases.
22616
cc55302e 226172009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22618
22619 * configure.ac: Bump version to 1.97~beta1.
22620 * docs/version.texi: Likewise.
22621
5c90cdd2 226222009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 22623
22624 * include/grub/i386/xnu.h: Add license header.
22625 include grub/err.h explicitly.
22626
c90edae4 226272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22628
22629 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22630 to `ufs' in the vfs.root.mountfrom kernel parameter.
22631
d8888b5c 226322009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22633
22634 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22635
22636 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22637 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22638
22639 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22640 `ARRAY_SIZE' macro.
22641
6f07b921 226422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 * kern/file.c (grub_file_read): Check offset.
22645 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22646 * fs/jfs.c (grub_jfs_read_file): Likewise.
22647 * fs/ntfs.c (grub_ntfs_read): Likewise.
22648 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22649 * fs/minix.c (grub_minix_read_file): Correct offset check.
22650 * fs/ufs.c (grub_ufs_read_file): Likewise.
22651
b4f34077 226522009-08-28 Colin Watson <cjwatson@ubuntu.com>
22653
22654 * term/i386/pc/console.c (bios_data_area): Cast
22655 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22656
e7c69859 226572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 1-bit optimised blitters.
22660
22661 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22662 prototype.
22663 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22664 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22665 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22666 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22667 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22668 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22669 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22670 function.
22671 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22672 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22673 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22674 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22675 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22676 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22677 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
22678 when possible.
22679 * video/video.c (grub_video_get_blit_format): Return
22680 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22681
a57da43f 226822009-08-28 Colin Watson <cjwatson@ubuntu.com>
22683
22684 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22685 the first argument to grub_printf.
22686
4cbe67e5 226872009-08-28 Colin Watson <cjwatson@ubuntu.com>
226882009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22689
22690 Add `getkeystatus' terminal method. Add a new `keystatus' command
22691 to query it.
22692
22693 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22694 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22695 modifier key bitmasks.
22696 (struct grub_term_input): Add `getkeystatus' member.
22697 (grub_getkeystatus): Add prototype.
22698 * kern/term.c (grub_getkeystatus): New function.
22699
22700 * include/grub/i386/pc/memory.h
22701 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22702 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22703 Data Area layout.
22704 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22705 (grub_console_term_input): Set `getkeystatus' member.
22706 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22707 constants.
22708 (grub_usb_keyboard_getreport): Likewise.
22709 (grub_usb_keyboard_checkkey): Likewise.
22710 (grub_usb_keyboard_getkeystatus): New function.
22711 (grub_usb_keyboard_term): Set `getkeystatus' member.
22712
22713 * commands/keystatus.c: New file.
22714 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
22715 (keystatus_mod_SOURCES): New variable.
22716 (keystatus_mod_CFLAGS): Likewise.
22717 (keystatus_mod_LDFLAGS): Likewise.
22718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
22719 commands/keystatus.c.
22720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22722 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 22726
6e2a9085 227272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 Split befs.mod and afs.mod into *_be.mod and *.mod
22730
22731 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
22732 (grub_fstest_SOURCES): Likewise.
22733 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
22734 (afs_be_mod_SOURCES): New variable.
22735 (afs_be_mod_CFLAGS): Likewise.
22736 (afs_be_mod_LDFLAGS): Likewise.
22737 (befs_be_mod_SOURCES): Likewise.
22738 (befs_be_mod_CFLAGS): Likewise.
22739 (befs_be_mod_LDFLAGS): Likewise.
22740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
22741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22743 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22744 (grub_emu_SOURCES): Likewise.
22745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22748 * fs/afs_be.c: New file.
22749 * fs/befs_be.c: New file.
22750 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
22751 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
22752 (U16): Replaced with ...
22753 (grub_afs_to_cpu16): ...this. All users updated.
22754 (U32): Replaced with ...
22755 (grub_afs_to_cpu32): ...this. All users updated.
22756 (U64): Replaced with ...
22757 (grub_afs_to_cpu64): ...this. All users updated.
22758 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
22759 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 22760 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 22761 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22762 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22763 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22764 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22765 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22766 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22767 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22768 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22769
32a71655 227702009-08-26 Bean <bean123ch@gmail.com>
22771
22772 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
22773 64-bit number.
22774 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
22775 (grub_xfs_inode_block): Change return type to grub_uint64_t.
22776 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
22777
552bf6c5 227782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 NetBSD memory map support.
22781
22782 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
22783 (grub_netbsd_btinfo_mmap_header): New structure.
22784 (grub_netbsd_btinfo_mmap_entry): Likewise.
22785 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
22786
1ae2078c 227872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22788
22789 Enable bsd.mod on coreboot.
22790
22791 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
22792 (bsd_mod_SOURCES): New variable.
22793 (bsd_mod_CFLAGS): Likewise.
22794 (bsd_mod_LDFLAGS): Likewise.
22795 (bsd_mod_ASFLAGS): Likewise.
22796 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
22797 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
22798
beefc598 227992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 Cleanup NetBSD root support.
22802
22803 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
22804 grub_bsd_get_device.
22805 Fix typo.
22806
3b76e68b 228072009-08-25 Felix Zielcke <fzielcke@z-51.de>
22808
22809 * util/grub.d/00_header.in: Move check for the video backend of
22810 gfxterm from here ...
22811 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
22812 a suitable video backend.
22813
aea664ea 228142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 Fix breakage in grub-setup.
22817
22818 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
22819 "msdos_partition_map".
22820
ff747d50 228212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22822
22823 Fix breakage in normal/auth.c.
22824
22825 * normal/auth.c (grub_iswordseparator): New function.
22826
e7e1f93f 228272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 Authentication support.
22830
22831 * commands/password.c: New file.
22832 * conf/common.rmk (pkglib_MODULES): Add password.mod.
22833 (password_mod_SOURCES): New variable.
22834 (password_mod_CFLAGS): Likewise.
22835 (password_mod_LDFLAGS): Likewise.
22836 (normal_mod_SOURCES): Add normal/auth.c.
22837 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
22838 normal/auth.c.
22839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22841 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22843 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22845 * include/grub/auth.h: New file.
22846 * include/grub/err.h (grub_err_t): New enum value
22847 GRUB_ERR_ACCESS_DENIED.
22848 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
22849 'users'.
22850 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
22851 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
22852 users updated.
22853 * normal/auth.c: New file.
22854 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
22855 (grub_cmdline_run): Don't allow to go to command line without
22856 authentication.
22857 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
22858 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
22859 menuentry without superuser rights.
22860 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
22861 user isn't a superuser.
22862
70f1161d 228632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 Save space by inlining misc.c functions.
22866
22867 * kern/misc.c (grub_iswordseparator): Made static.
22868 * kern/misc.c (grub_strcat): Moved from here ...
22869 * include/grub/misc.h (grub_strcat): ... here. Inlined.
22870 * kern/misc.c (grub_strncat): Moved from here ...
22871 * include/grub/misc.h (grub_strncat): ... here. Inlined.
22872 * kern/misc.c (grub_strcasecmp): Moved from here ...
22873 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
22874 * kern/misc.c (grub_strncasecmp): Moved from here ...
22875 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
22876 * kern/misc.c (grub_isalpha): Moved from here ...
22877 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22878 * kern/misc.c (grub_isdigit): Moved from here ...
22879 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22880 * kern/misc.c (grub_isgraph): Moved from here ...
22881 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22882 * kern/misc.c (grub_tolower): Moved from here ...
22883 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22884
48e40bff 228852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22886
22887 * script/sh/function.c (grub_script_function_find): Cut error message
22888 not to flood terminal.
22889 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22890 limit.
22891 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22892
c385bfc3 228932009-08-24 Colin Watson <cjwatson@ubuntu.com>
22894
22895 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22896 `report' grub_uint8_t *.
22897 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22898 Use a 50-millisecond timeout rather than just repeating
22899 grub_usb_keyboard_getreport 50 times.
22900 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22901
2d21e3e8 229022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 Rename *_partition_map to part_*
22905
22906 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22907 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22908 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22909 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22910 All users updated.
22911 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22912 All users updated.
22913 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22914 * util/grub-probe.c (probe_partmap): Don't transform partition name
22915 to get module name.
22916
dd103c4e 229172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 Fix OpenBSD and NetBSD support.
22920
22921 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22922 memory address conflict.
22923 (OPENBSD_MMAP_ACPI): New definition.
22924 (OPENBSD_MMAP_NVS): Likewise.
22925 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22926 and OPENBSD_MMAP_NVS.
22927 Add memory map terminator
22928 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 22929 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 22930
16c84d74 229312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 Let user specify NetBSD root device.
22934
22935 * loader/i386/bsd.c (netbsd_root): New variable.
22936 (netbsd_opts): New option 'root'.
22937 (NETBSD_ROOT_ARG): New macro.
22938 (grub_netbsd_boot): Use 'netbsd_root'.
22939 (grub_bsd_unload): Free 'netbsd_root'.
22940 (grub_cmd_netbsd): Fill 'netbsd_root'.
22941
adb29902 229422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22943
22944 Support for 64-bit NetBSD.
22945
22946 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22947 point when booting non-FreeBSD.
22948
f5ae9f74 229492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22950
22951 Support --no-smp and --no-acpi for NetBSD.
22952
22953 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22954 (NETBSD_AB_NOACPI): Likewise.
22955 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22956 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22957
de74f136 229582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22959
22960 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22961 errors.
22962 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22963 errors. Call grub_error when needed.
22964
e9a925da 229652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 * commands/search.c (search_fs): Try searching without autoload first.
22968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22969 filesystem module explicitly for faster booting.
22970
5174302b 229712009-08-23 Colin Watson <cjwatson@ubuntu.com>
22972
22973 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22974
c8c80635 229752009-08-23 Colin Watson <cjwatson@ubuntu.com>
22976
22977 * util/grub.d/30_os-prober.in: Disable os-prober if
22978 `GRUB_DISABLE_OS_PROBER' was set to true.
22979
71acf5e5 229802009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22981
22982 * partmap/pc.c: Rename to ...
22983 * partmap/msdos.c: ... this. Update all users.
22984 (grub_pc_partition_map): Rename to ...
22985 (grub_msdos_partition_map): ... this. Update all users.
22986
22987 * parttool/pcpart.c: Rename to ...
22988 * parttool/msdospart.c: ... this. Update all users.
22989
22990 * include/grub/pc_partition.h: Rename to ...
22991 * include/grub/msdos_partition.h: ... this. Update all users.
22992 (grub_pc_partition_bsd_entry): Rename to ...
22993 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22994 (grub_pc_partition_disk_label): Rename to ...
22995 (grub_msdos_partition_disk_label): ... this. Update all users.
22996 (grub_pc_partition_entry): Rename to ...
22997 (grub_msdos_partition_entry): ... this. Update all users.
22998 (grub_pc_partition_mbr): Rename to ...
22999 (grub_msdos_partition_mbr): ... this. Update all users.
23000 (grub_pc_partition): Rename to ...
23001 (grub_msdos_partition): ... this. Update all users.
23002 (grub_pc_partition_is_empty): Rename to ...
23003 (grub_msdos_partition_is_empty): ... this. Update all users.
23004 (grub_pc_partition_is_extended): Rename to ...
23005 (grub_msdos_partition_is_extended): ... this. Update all users.
23006 (grub_pc_partition_is_bsd): Rename to ...
23007 (grub_msdos_partition_is_bsd): ... this. Update all users.
23008
23009 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23010 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23011 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23012 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23013 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23014 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23015 (gpt_mod_LDFLAGS): Rename to ...
23016 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23017 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23018 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23019 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23020 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23021 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23022 (part_gpt_mod_LDFLAGS): ... this.
23023 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23024 `pcpart.mod' to `msdospart.mod'.
23025 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23026 to ...
23027 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23028 (msdospart_mod_LDFLAGS): ... this.
23029
c11fded5 230302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23033 (openbsd_opts): Likewise.
23034 (netbsd_opts): Likewise.
23035 (freebsd_flags): Added 0 terminator.
23036 (openbsd_flags): Likewise.
23037 (netbsd_flags): Likewise.
23038 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23039 (grub_cmd_freebsd): Transformed into extended command.
23040 (grub_cmd_openbsd): Likewise.
23041 (grub_cmd_netbsd): Likewise.
23042 (cmd_freebsd): Changed type to grub_extcmd_t.
23043 (cmd_openbsd): Likewise.
23044 (cmd_netbsd): Likewise.
23045 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23046 grub_cmd_openbsd as extended commands.
23047 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23048 cmd_netbsd and cmd_openbsd
23049
11d1c769 230502009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23051
23052 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23053
7a9094e5 230542009-08-21 Pavel Roskin <proski@gnu.org>
23055
5496c37e 23056 * Makefile.in (install-local): When checking if a file is in the
23057 build directory, use "test -e" to detect symlinks.
23058
7a9094e5 23059 * Makefile.in (install-local): Remove all files in
23060 $(DESTDIR)$(pkglibdir) before installing new files there.
23061
e53cea11 230622009-08-18 Felix Zielcke <fzielcke@z-51.de>
23063
23064 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23065 grub-mkelfimage.
23066
9aced544 230672009-08-18 Felix Zielcke <fzielcke@z-51.de>
23068
23069 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23070 explicitly specified by the user.
23071
b7da6bab 230722009-08-18 Pavel Roskin <proski@gnu.org>
23073
23074 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23075 grub_uint8_t pointer for data.
23076 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23077 Likewise.
23078 * video/fb/fbutil.c: Remove unnecessary casts.
23079
19f1b335 230802009-08-17 Michal Suchanek <hramrach@centrum.cz>
23081
23082 VBE cleanup.
23083
23084 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23085 (grub_vbe_set_video_mode): Save active mode info
23086 only after setting the mode.
23087 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23088 second argument.
23089
2f467aa9 230902009-08-17 Michal Suchanek <hramrach@centrum.cz>
23091
23092 Rename variables for clarity.
23093
23094 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23095 (active_vbe_mode_info): ... this. All users updated.
23096 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23097 All users updated.
23098 (initial_mode): Rename to ...
23099 (initial_vbe_mode): ... this. All users updated.
23100 (mode_in_use): Rename to ..
23101 (vbe_mode_in_use): ... this. All users updated.
23102 (mode_list): Rename to ..
23103 (vbe_mode_list): ... this. All users updated.
23104 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23105 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23106 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23107 'mode_list_size' to 'vbe_mode_list_size'.
23108 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23109 'best_mode_info' to 'best_vbe_mode_info' and
23110 'best_mode' to 'best_vbe_mode'
23111
6025fcd7 231122009-08-17 Michal Suchanek <hramrach@centrum.cz>
23113
23114 Remove duplicate grub_video_fb_get_video_ptr.
23115
23116 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23117 (grub_video_fb_get_video_ptr): ... this.
23118 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23119 * video/fb/fbutil.c: Add comment about addressing.
23120 (get_data_ptr): Rename to ...
23121 (grub_video_fb_get_video_ptr): ... this. All users updated.
23122 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23123
cc8c6faf 231242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23125
23126 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23127 grub_dprintf() that was just added.
23128
08aa61f0 231292009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23130
23131 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23132 (DEFAULT_VIDEO_MODE): Remove macros.
23133 (grub_linux_boot): Remove assumption that Linux has FB support,
23134 and use "text" as default video mode.
23135
7cef4f75 231362009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23139 grub_dprintf.
23140 * fs/fat.c (grub_fat_read_data): Likewise.
23141
e1f39873 231422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23145 payload.
23146 (grub_module): Likewise.
23147
c166d79e 231482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23149
23150 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23151 mbi->cmdline but free playground.
23152
c60cee8e 231532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23154
23155 Handle group offset on UFS1.
23156
23157 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23158 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23159
c0d8b5d4 231602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 Split ufs.mod into ufs1.mod and ufs2.mod.
23163
23164 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23165 (grub_fstest_SOURCES): Likewise.
23166 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23167 (ufs_mod_SOURCES): Remove.
23168 (ufs_mod_CFLAGS): Likewise.
23169 (ufs_mod_LDFLAGS): Likewise.
23170 (ufs1_mod_SOURCES): New variable.
23171 (ufs1_mod_CFLAGS): Likewise.
23172 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23173 (ufs2_mod_SOURCES): New variable.
23174 (ufs2_mod_CFLAGS): Likewise.
23175 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23176 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23177 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23178 Likewise.
23179 (grub_emu_SOURCES): Likewise.
23180 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23181 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23182 (grub_setup_SOURCES): Likewise.
23183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23184 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23185 (grub_setup_SOURCES): Likewise.
23186 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23187 Likewise.
23188 * fs/ufs2.c: New file.
23189 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23190
d3539132 231912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 Framebuffer split.
23194
23195 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23196 subsystem at the end.
23197 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23198 (video_fb_mod_SOURCES): New variable.
23199 (video_fb_mod_CFLAGS): Likewise.
23200 (video_fb_mod_LDFLAGS): Likewise.
23201 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23202 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23203 * video/i386/pc/vbeblit.c: Moved from here ...
23204 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23205 * video/i386/pc/vbefill.c: Moved from here ...
23206 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23207 * video/i386/pc/vbeutil.c: Moved from here ...
23208 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23209 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23210 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23211 * include/grub/i386/pc/vbefill.h: Moved from here ...
23212 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23213 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23214 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23215 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23216 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23217 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23218 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23219 (grub_video_adapter): Added 'get_info_and_fini'.
23220 (grub_video_get_info_and_fini): New prototype.
23221 (grub_video_set_mode): make modestring const char *.
23222 * loader/i386/linux.c (grub_linux_setup_video): Use
23223 grub_video_get_info_and_fini.
23224 (grub_linux_boot): Move modesetting just before booting.
23225 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23226 grub_video_get_info_and_fini.
23227 * video/i386/pc/vbe.c: Moved framebuffer part ...
23228 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23229 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23230 grub_video_fbstd_colors and grub_video_fb_set_palette.
23231 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23232 grub_video_fb_init.
23233 (grub_video_vbe_fini): Use grub_video_fb_fini.
23234 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23235 render_target and use grub_video_fb_set_active_render_target and
23236 grub_video_fb_set_palette.
23237 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23238 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23239 (grub_video_vbe_adapter): Use framebuffer.
23240 * video/video.c (grub_video_get_info_and_fini): New function.
23241 (grub_video_set_mode): Make modestring const char *.
23242 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23243 values are already initialised.
23244
d404ee56 232452009-08-14 Pavel Roskin <proski@gnu.org>
23246
23247 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23248 ABS and APPLE_CC.
23249 * boot/i386/pc/diskboot.S: Likewise.
23250 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23251 sectors allow compilation on MacOSX.
23252 * conf/i386-pc.rmk: Enable unconditional compilation of
23253 lnxboot.img.
23254
9a10df16 232552009-08-13 Colin Watson <cjwatson@ubuntu.com>
23256
23257 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23258 * util/grub.d/00_header.in: Enter interruptible sleep if
23259 GRUB_HIDDEN_TIMEOUT is set.
23260
be3c9ca7 232612009-08-13 Yves Blusseau <blusseau@zetam.org>
23262
23263 * include/grub/symbol.h: Add the LOCAL macro.
23264 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23265 starting with "L_".
23266
1f9e557e 232672009-08-13 Pavel Roskin <proski@gnu.org>
23268
9ca62843 23269 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23270 any modern compilers we support.
23271
1f9e557e 23272 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23273 Use local labels starting with "L_" so that Apple assembler
23274 knows they are local.
23275
81623db6 232762009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23277
23278 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23279 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23280 (bsd_kernel_types): ... this enum.
23281
23282 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23283 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23284 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23285
23286 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23287 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23288 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23289 messages.
23290
f5d35e7a 232912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 * util/grub-dumpdevtree: Moved from here ...
23294 * util/i386/efi/grub-dumpdevtree: ... to here.
23295 (hexify): New function. Converts a string to its hex version.
23296 Generate hex versions of "efi" and "device-properties" by calling
23297 hexify() on the ASCII strings rather than by hardcoding numbers.
23298
d1e1d527 232992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23300
23301 * fs/jfs.c: Update copyright year.
23302
1ebbe064 233032009-08-08 Felix Zielcke <fzielcke@z-51.de>
23304
23305 * util/grub.d/00_header.in: Fix a comment.
23306 * util/grub.d/10_linux.in: Likewise.
23307 * util/grub.d/10_windows.in: Likewise.
23308 * util/grub.d/10_hurd.in: Likewise.
23309
a78c8d24 233102009-08-08 Felix Zielcke <fzielcke@z-51.de>
23311
23312 * util/grub-mkconfig.in: Allow the user to specify the used font
23313 with GRUB_FONT.
23314
29a6b9e8 233152009-08-08 Pavel Roskin <proski@gnu.org>
23316
b5f16cc4 23317 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23318 available, xfs.mod needs it now.
23319
2f5cb827 23320 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23321 the "g" modifier in sed when the intention is to strip something
23322 once. This fixes comparison of kernels with multiple dashes.
23323
29a6b9e8 23324 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23325 on it. Add missing space before closing bracket. Fix
23326 misleading formatting.
23327
892a3d98 233282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23329
23330 * docs/grub.texi: Major overhaul. Remove all sections that are
23331 specific to GRUB Legacy, or mostly composed of Legacy-specific
23332 information.
23333
ed94253f 233342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23335
23336 * docs/version.texi: New file. Provides version information for
23337 grub.texi.
23338
126d6628 233392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 * docs/grub.texi: Update CVS information to SVN.
23342 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23343
998b5aa9 233442009-08-07 Felix Zielcke <fzielcke@z-51.de>
23345
23346 * util/grub-mkconfig.in: Remove a wrong `fi'.
23347
818e094a 233482009-08-07 Felix Zielcke <fzielcke@z-51.de>
23349
23350 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23351 (grub_jfs_uuid): New function.
23352 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23353
b969c52f 233542009-08-07 Felix Zielcke <fzielcke@z-51.de>
23355
23356 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23357 of it to ...
23358 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23359 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23360
7a4894cc 233612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23364 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23365 Update all users.
23366
23367 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23368 not just "vmlinu[zx]".
23369 Moved from here ...
23370 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23371 all users.
23372
23373 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23374 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23375 all users.
23376
4e2171f8 233772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23378
23379 * util/grub.d/10_freebsd.in: Use an absolute device path for
23380 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23381
6dcfcb32 233822009-08-06 Felix Zielcke <fzielcke@z-51.de>
23383
23384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23385 handling of multiple abstraction modules.
23386
f56a8756 233872009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23388
23389 Fix a bug resulting in black screen when loading Linux using a
23390 packed video mode.
23391
23392 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23393 function.
23394
23395 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23396 (grub_vbe_bios_getset_dac_palette_width): New function.
23397 (grub_vbe_bios_get_dac_palette_width)
23398 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23399 grub_vbe_bios_getset_dac_palette_width()).
23400
23401 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23402 check for return status.
23403 (grub_vbe_get_video_mode_info): When getting information for a packed
23404 mode (<= 8 bpp), obtain DAC palette width using
23405 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23406 {red,green,blue}_mark_size.
23407
222671b2 234082009-08-04 Felix Zielcke <fzielcke@z-51.de>
23409
ecb1a6d9 23410 * commands/search.c (options): Fix help output to match actual code.
222671b2 23411
f84114f5 234122009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23415 of homegrown code.
23416
bd288a20 234172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 23418
23419 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23420 on XFS or ReiserFS.
23421
8aab5e25 234222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 Support Apple partition map with sector size different from 512 bytes.
23425
23426 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23427 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23428 and 'apart.partmap_size'.
23429
6ad6258a 234302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
234312009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23432
23433 Fix cpuid command.
23434
23435 * commands/i386/cpuid.c (options): New variable.
23436 (grub_cmd_cpuid): Return real error.
23437 (GRUB_MOD_INIT(cpuid)): Declare options.
23438
67459bc6 234392009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23442 valid.
23443
fbc6ab54 234442009-07-31 Bean <bean123ch@gmail.com>
23445
23446 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23447 log2_inode.
23448 (grub_fshelp_node): Move inode field to the end.
23449 (grub_xfs_data): Remove inode field.
23450 (grub_xfs_inode_block): Calculate inode size using sblock.
23451 (grub_xfs_inode_offset): Likewise.
23452 (grub_xfs_read_inode): Calculate inode size using sblock.
23453 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23454 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23455 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23456 to match inode size.
23457 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23458 not accessible when data is null.
23459 (grub_xfs_open): Likewise.
23460
f45d6cfc 234612009-07-31 Bean <bean123ch@gmail.com>
23462
23463 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23464 Don't change pv->disk if it's already set.
23465
23466 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23467 (grub_raid_register): ... here.
23468 (grub_raid_rescan): Removed.
23469
23470 * include/grub/raid.h (grub_raid_rescan): Removed.
23471
23472 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23473 (fstest): Replace grub_raid_rescan with module fini function followed
23474 by init function.
23475
23476 * util/grub-probe.c: Add include file <grub/raid.h>.
23477 (probe_raid_level): New function.
23478 (probe): Detect abstraction by walking the disk device, support two
23479 level of abstraction (LVM on RAID) when detecting partition map.
23480
24443b5a 234812009-07-31 Pavel Roskin <proski@gnu.org>
23482
23483 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23484 to grub_zalloc(), it was erroneous.
23485 Reported by Bean <bean123ch@gmail.com>
23486
a275d9e7 234872009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 23490 embedding zone, not only the first one.
a275d9e7 23491
56c5a47f 234922009-07-29 Joe Auricchio <jauricchio@gmail.com>
23493
23494 * term/gfxterm.c (clear_char): New function.
23495 (grub_virtual_screen_setup): Use clear_char.
23496 (scroll_up): Likewise.
23497 (grub_virtual_screen_cls): Likewise.
23498
67bb323a 234992009-07-29 Felix Zielcke <fzielcke@z-51.de>
23500
23501 * util/deviceiter.c (get_acceleraid_disk_name): New static
23502 function.
23503 (grub_util_iterate_devices): Handle Accelraid devices.
23504 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23505
388a7c75 235062009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23509 separator for the suggested gfxpayload string (';' collides with the
23510 parser and needs escaping).
23511
3bb7abcf 235122009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23515 Clear direction flag before jumping to OS.
23516 (grub_multiboot2_real_boot): Likewise.
23517
2ddd36d7 235182009-07-28 Felix Zielcke <fzielcke@z-51.de>
23519
23520 * util/i386/pc/grub-install: Fix parsing of --disk-module
23521 option.
23522
c521b62b 235232009-07-28 Felix Zielcke <fzielcke@z-51.de>
23524
23525 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23526 when embedding.
23527
880e0a0c 235282009-07-26 Felix Zielcke <fzielcke@z-51.de>
23529
23530 * util/grub-mkconfig.in (package_version): New variable.
23531 Use it do display the version.
23532
2366e356 235332009-07-25 Felix Zielcke <fzielcke@z-51.de>
23534
23535 * kern/file.c (grub_file_open): Revert to previous check with
23536 grub_errno.
23537
7ad8c80e 235382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23539
23540 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23541 from help line. It's out of sync with code.
23542
72b9658b 235432009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23544
23545 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23546 entries on failed boot.
23547
77435277 235482009-07-25 Felix Zielcke <fzielcke@z-51.de>
23549
23550 * kern/file.c (grub_file_open): Fix an error check.
23551
fcaa8b21 235522009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23553
35d16c74 23554 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23555 partition map couldn't be identified.
fcaa8b21 23556
48904cd1 235572009-07-23 Pavel Roskin <proski@gnu.org>
23558
ef3c317f 23559 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23560 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23561 case of little endian words becomes just an optimization.
23562 Respect const modifier.
ad8ea1f4 23563 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 23564
48904cd1 23565 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23566 to avoid loss of upper bits if align is unsigned and shorter
23567 than addr.
23568
260c9a89 235692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 UUID support for UFS
23572
23573 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23574 (grub_ufs_uuid): New function.
23575 (grub_ufs_fs): add .uuid
23576
f76ce889 235772009-07-21 Pavel Roskin <proski@gnu.org>
23578
23579 * kern/dl.c (grub_dl_check_header): Make static.
23580
6a6cbcaf 235812009-07-21 Felix Zielcke <fzielcke@z-51.de>
23582
23583 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23584 add drivemap for Vista. It breaks Windows 7.
23585
cffcddb2 235862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23589 128 bytes
23590
1ef44b80 235912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 Add BFS support
23594
23595 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23596 (grub_fstest_SOURCES): Likewise.
23597 (pkglib_MODULES): Add befs.mod.
23598 (befs_mod_SOURCES): New variable.
23599 (befs_mod_CFLAGS): Likewise.
23600 (befs_mod_LDFLAGS): Likewise.
23601 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23602 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23603 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23604 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23605 (grub_setup_SOURCES): Likewise.
23606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23607 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23608 (grub_setup_SOURCES): Likewise.
23609 * fs/befs.c: New file.
23610 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23611 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23612 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23613 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23614 (B_KEY_INDEX_ALIGN): New declaration.
23615 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23616 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23617 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23618 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23619 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23620 (grub_afs_mount) [MODE_BFS]: Likewise.
23621 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23622 (grub_afs_fs): Use GRUB_AFS_FSNAME
23623 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23624 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23625 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23626 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23627
4f253044 236282009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23629
23630 * util/getroot.c (find_root_device): Add support for MacOSX.
23631 * util/hostdisk.c: Likewise.
23632
57a55913 236332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 * font/font.c (find_glyph): Check whether a font is present to avoid
23636 segmentation fault.
75421ca9 23637
236382009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 23639
23640 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
23641
e98cd0c2 236422009-07-20 Pavel Roskin <proski@gnu.org>
23643
23644 * configure.ac: Trim excessively wordy excuses.
23645
1d2d169a 236462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 Add symlink, mtime and label support to AtheFS.
23649
23650 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23651 (grub_afs_iterate_dir): Handle symlinks.
23652 (grub_afs_open): Use grub_afs_read_symlink.
23653 (grub_afs_dir): Likewise.
23654 Pass mtime.
23655 (grub_afs_label): New function.
23656 (grub_afs_fs): Add grub_afs_label.
23657 (grub_afs_read_symlink): New function.
23658
186f3189 236592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 Fix AtheFS support.
23662
23663 * fs/afs.c: Fix comments style.
23664 (grub_afs_blockrun): Declare as packed.
23665 (grub_afs_datastream): Likewise.
23666 (grub_afs_bnode): Likewise.
23667 (grub_afs_btree): Likewise.
23668 (grub_afs_sblock): Likewise.
23669 Declare `name' as char.
23670 (grub_afs_inode): Declare as packed.
23671 Change void *vnode to grub_uint32_t unused.
23672 (grub_afs_iterate_dir): Check that key_size is positive.
23673 (grub_afs_mount): Don't read superblock twice.
75421ca9 23674 (grub_afs_dir): Don't free node in case of error,
186f3189 23675 grub_fshelp_find_file already handles this.
23676 (grub_afs_open): Likewise.
23677
5680109e 236782009-07-19 Pavel Roskin <proski@gnu.org>
23679
23680 * Makefile.in: Remove LIBLZO and enable_lzo.
23681 * conf/i386-pc.rmk: Remove lzo support.
23682 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23683 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23684 support.
23685 * kern/i386/pc/lzo1x.S: Remove.
23686 * kern/i386/pc/startup.S: Remove lzo support.
23687 * util/i386/pc/grub-mkimage.c: Likewise.
23688
ac70fa32 236892009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23692 * fs/xfs.c (grub_xfs_dir): Likewise.
23693 * fs/afs.c (grub_afs_dir): Likewise.
23694 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23695 (grub_iso9660_open): Likewise.
23696 * fs/jfs.c (grub_jfs_open): Likewise.
23697 * fs/ext2.c (grub_ext2_dir): Likewise.
23698 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23699 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 23700
eab58da2 237012009-07-16 Pavel Roskin <proski@gnu.org>
23702
d2838156 23703 * configure.ac: Never add "-c" to CFLAGS.
23704
55c70904 23705 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23706
43e6200c 23707 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23708 grub_cv_cc_efiemu should be used.
23709
ce7a733d 23710 * configure.ac: Typo fixes.
23711
eab58da2 23712 * kern/mm.c (grub_zalloc): New function.
23713 (grub_debug_zalloc): Likewise.
23714 * include/grub/mm.h: Declare grub_zalloc() and
23715 grub_debug_zalloc().
23716 * util/misc.c (grub_zalloc): New function.
23717 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
23718 instead of grub_malloc(), remove unneeded initializations.
23719 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
23720 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
23721 * commands/parttool.c (grub_cmd_parttool): Likewise.
23722 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23723 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
23724 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
23725 * disk/usbms.c (grub_usbms_finddevs): Likewise.
23726 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
23727 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
23728 (grub_cmd_efiemu_pnvram): Likewise.
23729 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
23730 * fs/iso9660.c (grub_iso9660_mount): Likewise.
23731 (grub_iso9660_iterate_dir): Likewise.
23732 * fs/jfs.c (grub_jfs_opendir): Likewise.
23733 * fs/ntfs.c (list_file): Likewise.
23734 (grub_ntfs_mount): Likewise.
23735 * kern/disk.c (grub_disk_open): Likewise.
23736 * kern/dl.c (grub_dl_load_core): Likewise.
23737 * kern/elf.c (grub_elf_file): Likewise.
23738 * kern/env.c (grub_env_context_open): Likewise.
23739 (grub_env_set): Likewise.
23740 (grub_env_set_data_slot): Likewise.
23741 * kern/file.c (grub_file_open): Likewise.
23742 * kern/fs.c (grub_fs_blocklist_open): Likewise.
23743 * loader/i386/multiboot.c (grub_module): Likewise.
23744 * loader/xnu.c (grub_xnu_create_key): Likewise.
23745 (grub_xnu_create_value): Likewise.
23746 * normal/main.c (grub_normal_add_menu_entry): Likewise.
23747 (read_config_file): Likewise.
23748 * normal/menu_entry.c (make_screen): Likewise.
23749 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23750 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
23751 * script/sh/script.c (grub_script_parse): Likewise.
23752 * video/bitmap.c (grub_video_bitmap_create): Likewise.
23753 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
23754 * video/readers/png.c (grub_png_output_byte): Likewise.
23755 (grub_video_reader_png): Likewise.
23756
830afef7 237572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 23758
23759 Enable all targets that can be built by default
23760
830afef7 23761 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 23762 grub-mkfont and grub-fstest if they can be built
23763
ee293aee 237642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 Fix hang and segmentation fault in grub-emu-usb
23767
23768 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
23769 * util/usb.c (grub_libusb_devices): likewise
23770 (grub_libusb_init): rename to ...
23771 (GRUB_MOD_INIT (libusb)):...this
23772 (grub_libusb_fini): rename to ..
23773 (GRUB_MOD_FINI (libusb)):...this
23774 * disk/usbms.c (grub_usbms_transfer): fix retry logic
23775 * include/grub/disk.h (grub_raid_init): removed, it's useless
23776 (grub_raid_fini): likewise
23777 (grub_lvm_init): likewise
23778 (grub_lvm_fini): likewise
23779 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
23780 by grub_init_all
23781
94414221 237822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23783
23784 Fix libusb
23785
23786 * Makefile.in (LIBUSB): new macro
23787 * genmk.rb (Utility/print_tail): new method
23788 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
23789 (top level): call util.print_tail at the end.
23790
59ade63d 237912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Make FreeBSD accept zpool.cache
23794
23795 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
23796 type is /boot/zfs/zpool.cache
23797
a58da8c7 237982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 Fix 64-bit efiemu
23801
23802 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
23803 correct wrong typedef
23804 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
23805
20591577 238062009-07-15 Pavel Roskin <proski@gnu.org>
23807
560ca572 23808 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
23809 * kern/disk.c (struct grub_disk_cache): Likewise.
23810
e8e8e4fd 23811 * commands/probe.c (options): Typo fix.
23812
fde24e10 23813 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
23814 Increase to 0x5a to accommodate FAT32. Adjust other offsets
23815 accordingly.
23816 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
23817
379c54c1 23818 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
23819 the end of "Error" to make the message more readable.
23820
7bd8f5bf 23821 * boot/i386/pc/boot.S (kernel_segment): Remove.
23822 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
23823 for destination.
23824
40b132c5 23825 * boot/i386/pc/boot.S (boot_version): Remove.
23826 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
23827 Remove.
23828
20591577 23829 * include/grub/i386/pc/boot.h: Sort all offsets.
23830 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
23831 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
23832 * boot/i386/pc/boot.S: Assert location of every offset listed in
23833 include/grub/i386/pc/boot.h.
23834
2df32b2c 238352009-07-13 Pavel Roskin <proski@gnu.org>
23836
44b5d879 23837 * include/grub/i386/coreboot/machine.h: Rename
23838 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
23839 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
23840 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
23841
17dc3751 23842 * kern/dl.c: Force native word size to suppress warnings when
23843 compiling grub-emu.
23844
2df32b2c 23845 * kern/device.c (grub_device_iterate): Change struct part_ent to
23846 hold the name, not a pointer to it. Use one grub_malloc() per
23847 partition, not two. Free partition_name if grub_malloc() fails.
23848 Set ents to NULL only before grub_partition_iterate() is called.
23849
75c59f59 238502009-07-11 Bean <bean123ch@gmail.com>
23851
23852 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
23853 childname.
23854
0ae1bf88 238552009-07-10 Bean <bean123ch@gmail.com>
238562009-07-10 Robert Millan <rmh.grub@aybabtu.com>
23857
23858 * kern/ieee1275/openfw.c (grub_children_iterate)
23859 (grub_devalias_iterate): Fix size evaluation for property or path
23860 strings, which was broken since r2132.
23861
8279cade 238622009-07-07 Pavel Roskin <proski@gnu.org>
23863
7d8a52d3 23864 * commands/search.c (search_file): Merge into ...
23865 (search_fs): ... this. Accept search type as argument.
23866 (grub_cmd_search): Pass search type to search_fs().
23867
25f9a05a 23868 * include/grub/util/console.h: New file.
23869 * util/console.c: Use it instead of grub/machine/console.h.
23870 * util/grub-emu.c: Likewise.
23871
8279cade 23872 * lib/arg.c (find_long_option): Remove.
23873 (find_long): Add `len' argument, make `s' const char *.
23874 (grub_arg_parse): Parse long options in place, not in a
23875 temporary buffer.
23876
4a11b60f 238772009-07-06 Pavel Roskin <proski@gnu.org>
23878
99f68041 23879 * commands/search.c (search_fs): Fix potential NULL pointer
23880 dereference.
23881
4a11b60f 23882 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23883 function pointer.
23884
e110f4de 238852009-07-06 Daniel Mierswa <impulze@impulze.org>
23886
23887 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23888 comparison.
23889
46eeb6a2 238902009-07-05 Pavel Roskin <proski@gnu.org>
23891
bab74958 23892 * include/grub/i386/linux.h (struct linux_kernel_params):
23893 Restore padding3, it's still needed.
23894
46eeb6a2 23895 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23896 FreeBSD.
23897 * util/osdetect.lua: Likewise.
23898
b4a1dc79 238992009-07-05 Bean <bean123ch@gmail.com>
23900
23901 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23902
23903 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23904 (grub_lua_getenv): Likewise.
23905 (grub_lua_setenv): Likewise.
23906 (save_errno): New function.
23907 (push_result): Likewise.
23908 (grub_lua_enum_device): Likewise.
23909 (grub_lua_enum_file): Likewise.
23910 (grub_lua_file_open): Likewise.
23911 (grub_lua_file_close): Likewise.
23912 (grub_lua_file_seek): Likewise.
23913 (grub_lua_file_read): Likewise.
23914 (grub_lua_file_getline): Likewise.
23915 (grub_lua_file_getsize): Likewise.
23916 (grub_lua_file_getpos): Likewise.
23917 (grub_lua_file_eof): Likewise.
23918 (grub_lua_file_exist): Likewise.
23919 (grub_lua_add_menu): Likewise.
23920
23921 * script/lua/grub_lua.h (isupper): New inline function.
23922 (islower): Likewise.
23923 (ispunct): Likewise.
23924 (isxdigit): Likewise.
23925 (strcspn): Change to normal function.
23926 (strpbkr): New function declaration.
23927 (memchr): Likewise.
23928
23929 * script/lua/grub_main.c (scan_str): New function.
23930 (strcspn): Likewise.
23931 (strpbrk): Likewise.
23932 (memchr): Likewise.
23933
23934 * script/lua/linit.c (lualibs): Enable the string library.
23935
23936 * util/osdetect.lua: New file.
23937
2da92295 239382009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23939
23940 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23941 `capabilities' member.
23942
b2582ec9 239432009-07-02 Pavel Roskin <proski@gnu.org>
23944
23945 * genparttoollist.sh: Add missing newline at the end.
23946
32622956 239472009-07-01 Pavel Roskin <proski@gnu.org>
23948
87a7339e 23949 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23950
d23af54e 23951 * util/hostdisk.c (open_device): Remove `const' from
23952 `sysctl_size', as sysctlbyname() can change it (in this case it
23953 doesn't actually happen).
23954
c94b18a9 23955 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23956 using signed long int constants.
23957
c6cd3ef0 23958 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23959 constant to avoid a warning on FreeBSD.
23960
0df63420 23961 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23962 where it's needed.
23963
999577f1 23964 * Makefile.in: Install include/grub/machine symlink.
23965
6f41557f 23966 * Makefile.in: When installing symlinks, use "cp -fR", which
23967 works on FreeBSD and MacOSX.
23968 From Yves Blusseau <cl7m42e02@sneakemail.com>
23969
c8d22988 23970 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23971 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23972
1b96e952 23973 * util/misc.c: Move grub_reboot() and grub_halt() ...
23974 * util/grub-emu.c: ... here. Make main_env static.
23975 * include/grub/util/misc.h: Remove main_env.
23976
2ef0084d 23977 * kern/mm.c: Use correct format to print size_t.
23978
32622956 23979 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23980 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23981 * kern/powerpc/dl.c: Likewise.
23982 * kern/sparc64/dl.c: Likewise.
23983 * kern/x86_64/dl.c: Likewise.
23984
3f7f0cd0 239852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23986
23987 Fix grub-emu build on sparc64-ieee1275.
23988
75421ca9 23989 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 23990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23991
211d06b5 239922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23995 (grub_reboot, grub_halt): New functions.
23996
23997 * util/i386/pc/misc.c: Delete. Update all users.
23998 * util/sparc64/ieee1275/misc.c: Likewise.
23999 * util/powerpc/ieee1275/misc.c: Likewise.
24000
aaf53e3c 240012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24002
24003 * conf/i386.rmk (setjmp_mod_SOURCES)
24004 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24005 * conf/common.rmk (setjmp_mod_SOURCES)
24006 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24007 to use $(target_cpu).
24008 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24009 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24010 * conf/powerpc-ieee1275.rmk: Likewise.
24011 * conf/sparc64-ieee1275.rmk: Likewise.
24012
24013 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24014 $(target_cpu) for kern/$(target_cpu)/dl.c.
24015 * conf/i386-efi.rmk: Likewise.
24016 * conf/i386-ieee1275.rmk: Likewise.
24017 * conf/x86_64-efi.rmk: Likewise.
24018 * conf/i386-coreboot.rmk: Likewise.
24019 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24020 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24021 kern/$(target_cpu)/cache.S.
24022 * conf/sparc64-ieee1275.rmk: Likewise.
24023
a337130b 240242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24025
24026 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24027 type to `grub_uint8_t', and adjust `padding9' accordingly.
24028
c6fe4d53 240292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24030
b09db61d 24031 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24032
c6fe4d53 24033 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24034 assembly in final jump, using register constraints.
24035
b09db61d 24036 (grub_linux_boot): For text mode, initialize `have_vga' using
24037 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24038
24039 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24040 right before the final jump.
24041
24042 Set `video_mode' to 0x3.
24043
24044 Document initialization of `video_page', `video_mode' and
24045 `video_ega_bx'.
24046
28333ad0 240472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24050 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24051 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24052
02164e1b 240532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 Fix build on Debian / sparc.
24056
24057 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24058
18b6c557 240592009-06-28 Pavel Roskin <proski@gnu.org>
24060
85f2aab6 24061 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24062 fix a warning.
24063
18b6c557 24064 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24065
ad760f81 240662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24067
24068 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24069 `err'.
24070
87a4623b 240712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24072
24073 Revert r2338.
24074
24075 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24076 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24077 grub_errno / grub_errmsg appropriately.
87a4623b 24078 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24079
8231fb77 240802009-06-27 Pavel Roskin <proski@gnu.org>
240812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * include/grub/dl.h: Include grub/elf.h.
24084 (struct grub_dl): Add symtab field.
24085 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24086 GRUB_MODULES_MACHINE_READONLY.
24087 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24088 of the header for read-only modules.
24089 (grub_dl_unload): Free mod->symtab for read-only modules.
24090 * kern/i386/dl.c: Use mod->symtab.
24091 * kern/powerpc/dl.c: Likewise.
24092 * kern/sparc64/dl.c: Likewise.
24093 * kern/x86_64/dl.c: Likewise.
24094
24095 * conf/i386-qemu.rmk: New file.
24096 * kern/i386/qemu/startup.S: Likewise.
24097 * kern/i386/qemu/mmap.c: Likewise.
24098 * boot/i386/qemu/boot.S: Likewise.
24099 * include/grub/i386/qemu/time.h: Likewise.
24100 * include/grub/i386/qemu/serial.h: Likewise.
24101 * include/grub/i386/qemu/kernel.h: Likewise.
24102 * include/grub/i386/qemu/console.h: Likewise.
24103 * include/grub/i386/qemu/boot.h: Likewise.
24104 * include/grub/i386/qemu/init.h: Likewise.
24105 * include/grub/i386/qemu/machine.h: Likewise.
24106 * include/grub/i386/qemu/loader.h: Likewise.
24107 * include/grub/i386/qemu/memory.h: Likewise.
24108
24109 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24110 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24111 [qemu] (pkglib_IMAGES): Add `boot.img'.
24112 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24113 [qemu] (boot_img_FORMAT): New variables.
24114 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24115 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24116 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24117 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24118 [qemu] (kernel_img_FORMAT): New variables.
24119
24120 * configure.ac: Recognise `i386-qemu'.
24121
24122 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24123 (for no compression).
24124 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24125 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24126 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24127 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24128 ifdefs).
24129
97fe384e 241302009-06-27 Pavel Roskin <proski@gnu.org>
24131
24132 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24133 read.
24134 * efiemu/prepare32.c: Likewise.
24135 * efiemu/prepare64.c: Likewise.
24136
c402ab17 241372009-06-26 Pavel Roskin <proski@gnu.org>
24138
24139 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24140 * include/grub/elf.h: Define symbols without "32" or "64" based
24141 on GRUB_TARGET_WORDSIZE.
24142 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24143 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24144 ELF definitions.
24145 * efiemu/loadcore64.c: Likewise.
24146 * loader/i386/bsd32.c: Likewise.
24147 * loader/i386/bsd64.c: Likewise.
24148 * kern/dl.c: Remove own ELF definitions.
24149 * util/i386/efi/grub-mkimage.c: Likewise.
24150
9bbdfd4d 241512009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24152
24153 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24154 segment 0x0 unconditionally, because the reference generated by
24155 GAS is an absolute address.
24156
a42ce6e9 241572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24158
24159 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24160 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24161
c952cf92 241622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24163
24164 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24165 indexes. Check for -f explicitly.
cc3752ad 24166 (search_file): Improve error message.
24167 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24168
132a0a59 241692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24172 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24173
387a140c 241742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24175
24176 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24177 * conf/i386-ieee1275.rmk: Likewise.
24178 * conf/i386-coreboot.rmk: Likewise.
24179
24180 * kern/i386/pc/startup.S (grub_stop): Remove function.
24181 * kern/i386/ieee1275/startup.S: Likewise.
24182 * kern/i386/coreboot/startup.S: Likewise.
24183 * kern/i386/misc.S (grub_stop): New function.
24184
41da9665 241852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24188 * kern/i386/realmode.S (real_to_prot): ... to here.
24189
bf337234 241902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24191
24192 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24193 with `kernel.img'.
24194 (kernel_elf_SOURCES): Rename to ...
24195 (kernel_img_SOURCES): ... this.
24196 (kernel_elf_HEADERS): Rename to ...
24197 (kernel_img_HEADERS): ... this. Update all users.
24198 (kernel_elf_ASFLAGS): Rename to ...
24199 (kernel_img_ASFLAGS): ... this.
24200 (kernel_elf_CFLAGS): Rename to ...
24201 (kernel_img_CFLAGS): ... this.
24202 (kernel_elf_LDFLAGS): Rename to ...
24203 (kernel_img_LDFLAGS): ... this.
24204 * conf/i386-coreboot.rmk: Likewise.
24205 * conf/powerpc-ieee1275.rmk: Likewise.
24206
24207 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24208 with "kernel.img".
24209
f52196ff 242102009-06-21 Pavel Roskin <proski@gnu.org>
24211
c3cee413 24212 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24213 to match nested functions.
24214 * loader/sparc64/ieee1275/linux.c: Likewise.
24215
f52196ff 24216 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24217
58750afc 242182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24219
24220 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24221 all i386 platforms.
24222
15355c7d 242232009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24224
24225 Fix asm file handling on ELF, and remove workarounds.
24226
24227 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24228 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24229 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24230 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24231
3f3ec72b 242322009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24233
24234 Load BSD ELF modules
24235
24236 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24237 and loader/i386/bsd64.c
24238 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24239 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24240 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24241 (grub_freebsd_load_elfmodule32): New declaration
24242 (grub_freebsd_load_elfmoduleobj64): Likewise
24243 (grub_freebsd_load_elf_meta32): Likewise
24244 (grub_freebsd_load_elf_meta64): Likewise
24245 (grub_freebsd_add_meta): Likewise
24246 (grub_freebsd_add_meta_module): Likewise
24247 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24248 (grub_freebsd_add_meta_module): Likewise and move module-specific
24249 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24250 (grub_cmd_freebsd): Add elf-kernel specific parts
24251 based on grub_freebsd_add_meta_module
24252 (grub_cmd_freebsd_module): Add type parsing moved from
24253 grub_freebsd_add_meta_module
24254 (grub_cmd_freebsd_module_elf): New function
24255 (cmd_freebsd_module_elf): New variable
24256 (GRUB_MOD_INIT): Register freebsd_module_elf
24257 * loader/i386/bsd32.c: New file
24258 * loader/i386/bsd64.c: Likewise
24259 * loader/i386/bsdXX.c: Likewise
24260 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24261 (grub_elf64_load): Likewise
24262 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24263 All users updated
24264 (grub_elf64_load_hook_t): Likewise
24265
0db15301 242662009-06-21 Colin Watson <cjwatson@ubuntu.com>
24267
24268 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24269 variable.
24270 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24271 don't write a menu entry for recovery mode.
24272
546796c1 242732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24276 after it's no longer needed.
24277
cd7310d5 242782009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24279
24280 * include/grub/i386/loader.h (grub_linux_prot_size)
24281 (grub_linux_tmp_addr, grub_linux_real_addr)
24282 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24283 GRUB_MACHINE_PCBIOS.
24284 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24285 common grub_util_info() call to ...
24286 (generate_image): ... here.
24287 Fix use of uninitialized memory, comparison of signed with
24288 unsigned integers and memory leak.
24289 Remove bogus module address message.
24290
ab32d3b5 242912009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24292
24293 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24294 grub_raid_register
24295 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24296
024ef597 242972009-06-19 Pavel Roskin <proski@gnu.org>
24298
24299 * configure.ac: Remove stray AC_MSG_CHECKING.
24300
3ac72b51 243012009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24304
e14cd814 243052009-06-18 Pavel Roskin <proski@gnu.org>
24306
24307 * conf/common.rmk: Add fs_file.mod.
24308 * disk/fs_file.c: New file.
24309 * include/grub/disk.h (enum grub_disk_dev_id): Add
24310 GRUB_DISK_DEVICE_FILE_ID.
24311
26586d98 243122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 Fix build with Apple's toolchain. Part 2
24315
24316 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24317 a fake start
24318
26de2bcd 243192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24320
24321 Fix build with Apple's toolchain. Part 1
24322
24323 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24324 for long calls
24325 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24326 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24327 Apple's toolchain
24328
09b3490b 243292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 Fix warnings
24332
24333 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24334 (decomp_block): initialize ch
24335 use grub_memcpy instead of memcpy
24336
c22a006a 243372009-06-17 Pavel Roskin <proski@gnu.org>
24338
d3638678 24339 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24340 version, use declarations needed to use vga_text as the startup
24341 console.
24342
c22a006a 24343 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24344 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24345 the kernel.
24346 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24347 and grub_at_keyboard_fini(), it's done on module load and
24348 unload.
24349
05b129e0 243502009-06-17 Felix Zielcke <fzielcke@z-51.de>
24351
24352 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24353 file can't be found.
24354 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24355
cf24ed9e 243562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24357
24358 Fix newline handling
24359
24360 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24361 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24362 (grub_script_yylex): don't segfault on unterminated script
24363 newline terminates command and variable
24364
74aa8e4b 243652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 avoid double grub_adjust_range call. Bug reported by David Simner
24368
24369 * kern/disk.c (grub_disk_write): change to raw disk access before
24370 calling disk_read
24371
1bd265f3 243722009-06-17 Colin Watson <cjwatson@ubuntu.com>
24373
24374 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24375 spaces, for the benefit of help2man.
24376 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24377
a2d08c06 243782009-06-16 Pavel Roskin <proski@gnu.org>
24379
24380 * kern/i386/halt.c: Include grub/machine/init.h.
24381 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24382
b97bcb19 243832009-06-16 Felix Zielcke <fzielcke@z-51.de>
24384
24385 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24386 drivemap menuentry.
24387
0644f96c 243882009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24389
24390 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24391 `echo' command.
24392
3ef17a2e 243932009-06-16 Pavel Roskin <proski@gnu.org>
24394
24395 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24396 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24397 save %dx, we only need %dl and we never change it.
24398 * boot/i386/pc/cdboot.S: Don't set the root drive.
24399 * boot/i386/pc/pxeboot.S: Likewise.
24400 * include/grub/i386/pc/boot.h: Remove
24401 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24402 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24403 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24404 * kern/i386/pc/init.c (make_install_device): Remove references
24405 to grub_root_drive.
24406 * kern/i386/pc/startup.S: Likewise.
24407 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24408
693fe637 244092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 xnu_uuid command
24412
24413 * commands/xnu_uuid.c: new file
24414 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24415 (xnu_uuid_mod_SOURCES): new variable
24416 (xnu_uuid_mod_CFLAGS): likewise
24417 (xnu_uuid_mod_LDFLAGS): likewise
24418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24419 * conf/i386-ieee1275.rmk: likewise
24420 * conf/i386-pc.rmk: likewise
24421 * conf/powerpc-ieee1275.rmk: likewise
24422 * conf/sparc64-ieee1275.rmk: likewise
24423 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24424
c9da87d0 244252009-06-16 Pavel Roskin <proski@gnu.org>
24426
24427 * configure.ac: Avoid '==' in test command, it's not portable.
24428
9c6f4596 244292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 Probe command
24432
24433 * commands/probe.c: new file
24434 * conf/common.rmk (pkglib_MODULES): add probe.mod
24435 (probe_mod_SOURCES): new variable
24436 (probe_mod_CFLAGS): likewise
24437 (probe_mod_LDFLAGS): likewise
24438 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24439 * conf/i386-ieee1275.rmk: likewise
24440 * conf/i386-pc.rmk: likewise
24441 * conf/powerpc-ieee1275.rmk: likewise
24442 * conf/sparc64-ieee1275.rmk: likewise
24443
70b7f9fd 244442009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24445
24446 Fix handling of string like \"hello\" and "a
24447 b"
24448
24449 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24450 (grub_script_yylex): fix parsing of quoting, escaping and newline
24451
71c79a6b 244522009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24453
dd74360c 24454 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 24455 handling
dd74360c 24456
0644f96c 244572009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 24458
24459 * util/grub-mkconfig.in: Fix parsing of --output option.
24460
e40893c3 244612009-06-12 Pavel Roskin <proski@gnu.org>
24462
24463 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24464 genmk.rb don't need to be generated or installed.
24465
3a1acfe2 244662009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 * commands/i386/pc/drivemap_int13h.S: add more comments
24469
3a4575d4 244702009-06-11 Pavel Roskin <proski@gnu.org>
24471
0658e928 24472 * Makefile.in (uninstall): Uninstall manuals.
24473
ca0388f0 24474 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24475 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24476 and update-grub_lib in two places.
24477 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24478
e3b27c39 24479 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24480 a compiler warning.
24481
3a4575d4 24482 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24483 `entry_lo' to fix variable shadowing.
24484
af1f4f55 244852009-06-11 Christian Franke <franke@computer.org>
24486
24487 * kern/misc.c (__enable_execute_stack): Add missing return type
24488 to prevent gcc warning.
24489
5225e649 244902009-06-11 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24493
7d83bd47 244942009-06-11 Pavel Roskin <proski@gnu.org>
24495
c1cb63ba 24496 * Makefile.in: Don't rely on any scripts being executable.
24497 Always use $(SHELL) to run shell scripts.
24498
7d83bd47 24499 * configure.ac: Always define ___main if using -nostdlib. This
24500 fixes tests on Cygwin.
24501
948f48e7 245022009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24503
24504 UDF fix
24505
7d83bd47 24506 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 24507 is in bytes and not in blocks
7d83bd47 24508
8ada9bc1 245092009-06-11 Pavel Roskin <proski@gnu.org>
24510
24511 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24512 warning.
24513
25ad2323 245142009-06-11 Felix Zielcke <fzielcke@z-51.de>
24515
24516 * util/grub.d/30_os-prober.in: Fix a comment. Source
24517 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24518 to set the root device. Place drivemap command in the generated
24519 chain entry.
24520
e65acb0c 245212009-06-11 Pavel Roskin <proski@gnu.org>
24522
24523 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24524 have long been resolved.
24525
f285fe2d 245262009-06-11 Colin Watson <cjwatson@ubuntu.com>
24527
bd47b0b5 24528 * util/grub.d/10_linux.in: Capitalise "Linux".
24529
f285fe2d 24530 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24531
a0c62e4e 245322009-06-11 Pavel Roskin <proski@gnu.org>
24533
b6783cb2 24534 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24535 fix a gcc warning and ensure that the function won't ever exit.
24536
dde032e8 24537 * kern/i386/ieee1275/init.c: Add missing prototype for
24538 grub_stop_floppy().
24539
22cd079d 24540 * loader/ieee1275/multiboot2.c [__i386__]: Include
24541 grub/cpu/multiboot.h.
24542
a0c62e4e 24543 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24544 casts to short - they are not portable and cause warnings. Fix
24545 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24546
63963d17 245472009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 Drivemap fixes
24550
24551 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24552 new function
24553 (grub_get_root_biosnumber_saved): new variable
24554 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24555 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 24556 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 24557 %dx after the call if necessary
24558 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24559 (boot_mod_SOURCES): remove
24560 (boot_mod_CFLAGS): remove
24561 (boot_mod_LDFLAGS): remove
24562 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24563 (boot_mod_SOURCES): new variable
24564 (boot_mod_CFLAGS): likewise
24565 (boot_mod_LDFLAGS): likewise
24566 * conf/i386-efi.rmk: likewise
24567 * conf/i386-ieee1275.rmk: likewise
24568 * conf/i386-pc.rmk: likewise
24569 * conf/powerpc-ieee1275.rmk: likewise
24570 * conf/sparc64-ieee1275.rmk: likewise
24571 * conf/x86_64-efi.rmk: likewise
24572 * include/grub/i386/pc/biosnum.h: new file
24573 * lib/i386/pc/biosnum.c: likewise
24574 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24575 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24576 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 24577
33abf7ae 245782009-06-10 Pavel Roskin <proski@gnu.org>
24579
5ac35b35 24580 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24581 Use separate variables. Read only the file size at the end, but
24582 not the checksum that we don't use.
24583
5c5215d5 24584 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24585 Adjust all callers.
24586
27d5fef7 24587 * kern/ieee1275/openfw.c: Remove libc includes.
24588 * kern/ieee1275/cmain.c: Likewise.
24589 * include/grub/ieee1275/ieee1275.h: Likewise.
24590
33abf7ae 24591 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24592 compiler warnings.
24593
19d50c2b 245942009-06-10 Felix Zielcke <fzielcke@z-51.de>
24595
24596 * Makefile.in: Remove all trailing whitespace.
24597 * conf/i386-pc.rmk: Likewise.
24598 * conf/powerpc-ieee1275.rmk: Likewise.
24599 * conf/sparc64-ieee1275.rmk: Likewise.
24600 * docs/grub.texi: Likewise.
24601 * docs/texinfo.tex: Likewise.
24602 * disk/fs_uuid.c: Likewise.
24603 * disk/lvm.c: Likewise.
24604 * disk/scsi.c: Likewise.
24605 * disk/ata.c: Likewise.
24606 * disk/ieee1275/ofdisk.c: Likewise.
24607 * disk/i386/pc/biosdisk.c: Likewise.
24608 * disk/host.c: Likewise.
24609 * disk/raid.c: Likewise.
24610 * disk/efi/efidisk.c: Likewise.
24611 * disk/usbms.c: Likewise.
24612 * disk/memdisk.c: Likewise.
24613 * disk/loopback.c: Likewise.
24614 * kern/powerpc/dl.c: Likewise.
24615 * kern/device.c: Likewise.
24616 * kern/dl.c: Likewise.
24617 * kern/sparc64/dl.c: Likewise.
24618 * kern/ieee1275/ieee1275.c: Likewise.
24619 * kern/term.c: Likewise.
24620 * kern/fs.c: Likewise.
24621 * kern/i386/dl.c: Likewise.
24622 * kern/i386/pc/startup.S: Likewise.
24623 * kern/i386/pc/init.c: Likewise.
24624 * kern/i386/pc/mmap.c: Likewise.
24625 * kern/i386/pc/lzo1x.S: Likewise.
24626 * kern/i386/ieee1275/init.c: Likewise.
24627 * kern/i386/realmode.S: Likewise.
24628 * kern/i386/tsc.c: Likewise.
24629 * kern/partition.c: Likewise.
24630 * kern/corecmd.c: Likewise.
24631 * kern/file.c: Likewise.
24632 * kern/efi/efi.c: Likewise.
24633 * kern/efi/init.c: Likewise.
24634 * kern/efi/mm.c: Likewise.
24635 * kern/main.c: Likewise.
24636 * kern/err.c: Likewise.
24637 * kern/env.c: Likewise.
24638 * kern/disk.c: Likewise.
24639 * kern/generic/millisleep.c: Likewise.
24640 * kern/generic/rtc_get_time_ms.c: Likewise.
24641 * kern/misc.c: Likewise.
24642 * kern/parser.c: Likewise.
24643 * genmk.rb: Likewise.
24644 * configure.ac: Likewise.
24645 * boot/i386/pc/diskboot.S: Likewise.
24646 * boot/i386/pc/pxeboot.S: Likewise.
24647 * boot/i386/pc/boot.S: Likewise.
24648 * boot/i386/pc/lnxboot.S: Likewise.
24649 * boot/i386/pc/cdboot.S: Likewise.
24650 * parttool/pcpart.c: Likewise.
24651 * video/readers/tga.c: Likewise.
24652 * video/video.c: Likewise.
24653 * video/bitmap.c: Likewise.
24654 * lib/envblk.c: Likewise.
24655 * lib/i386/setjmp.S: Likewise.
24656 * fs/xfs.c: Likewise.
24657 * fs/afs.c: Likewise.
24658 * fs/fat.c: Likewise.
24659 * fs/ntfs.c: Likewise.
24660 * fs/udf.c: Likewise.
24661 * fs/affs.c: Likewise.
24662 * fs/iso9660.c: Likewise.
24663 * fs/hfs.c: Likewise.
24664 * fs/fshelp.c: Likewise.
24665 * fs/ext2.c: Likewise.
24666 * fs/jfs.c: Likewise.
24667 * fs/reiserfs.c: Likewise.
24668 * fs/hfsplus.c: Likewise.
24669 * fs/minix.c: Likewise.
24670 * fs/cpio.c: Likewise.
24671 * fs/sfs.c: Likewise.
24672 * fs/ufs.c: Likewise.
24673 * efiemu/prepare.c: Likewise.
24674 * efiemu/loadcore_common.c: Likewise.
24675 * efiemu/runtime/efiemu.sh: Likewise.
24676 * efiemu/runtime/efiemu.S: Likewise.
24677 * efiemu/runtime/efiemu.c: Likewise.
24678 * efiemu/pnvram.c: Likewise.
24679 * efiemu/main.c: Likewise.
24680 * efiemu/i386/pc/cfgtables.c: Likewise.
24681 * efiemu/i386/loadcore64.c: Likewise.
24682 * efiemu/i386/loadcore32.c: Likewise.
24683 * efiemu/loadcore.c: Likewise.
24684 * efiemu/symbols.c: Likewise.
24685 * efiemu/mm.c: Likewise.
24686 * include/grub/autoefi.h: Likewise.
24687 * include/grub/datetime.h: Likewise.
24688 * include/grub/term.h: Likewise.
24689 * include/grub/hfs.h: Likewise.
24690 * include/grub/lvm.h: Likewise.
24691 * include/grub/i386/tsc.h: Likewise.
24692 * include/grub/i386/linux.h: Likewise.
24693 * include/grub/i386/xnu.h: Likewise.
24694 * include/grub/i386/efiemu.h: Likewise.
24695 * include/grub/i386/pc/biosdisk.h: Likewise.
24696 * include/grub/i386/pc/memory.h: Likewise.
24697 * include/grub/i386/pc/vbe.h: Likewise.
24698 * include/grub/parttool.h: Likewise.
24699 * include/grub/video.h: Likewise.
24700 * include/grub/memory.h: Likewise.
24701 * include/grub/fs.h: Likewise.
24702 * include/grub/partition.h: Likewise.
24703 * include/grub/xnu.h: Likewise.
24704 * include/grub/efi/api.h: Likewise.
24705 * include/grub/efi/pe32.h: Likewise.
24706 * include/grub/efi/memory.h: Likewise.
24707 * include/grub/multiboot.h: Likewise.
24708 * include/grub/usbdesc.h: Likewise.
24709 * include/grub/multiboot2.h: Likewise.
24710 * include/grub/acpi.h: Likewise.
24711 * include/grub/efiemu/efiemu.h: Likewise.
24712 * include/grub/disk.h: Likewise.
24713 * include/grub/ieee1275/ieee1275.h: Likewise.
24714 * include/grub/net.h: Likewise.
24715 * include/grub/machoload.h: Likewise.
24716 * include/grub/macho.h: Likewise.
24717 * include/multiboot.h: Likewise.
24718 * genmoddep.awk: Likewise.
24719 * normal/main.c: Likewise.
24720 * normal/menu_entry.c: Likewise.
24721 * normal/menu_viewer.c: Likewise.
24722 * normal/completion.c: Likewise.
24723 * normal/cmdline.c: Likewise.
24724 * normal/misc.c: Likewise.
24725 * normal/datetime.c: Likewise.
24726 * bus/usb/usbtrans.c: Likewise.
24727 * bus/usb/ohci.c: Likewise.
24728 * bus/usb/uhci.c: Likewise.
24729 * bus/usb/usb.c: Likewise.
24730 * mmap/efi/mmap.c: Likewise.
24731 * mmap/i386/pc/mmap_helper.S: Likewise.
24732 * mmap/i386/pc/mmap.c: Likewise.
24733 * mmap/i386/mmap.c: Likewise.
24734 * mmap/i386/uppermem.c: Likewise.
24735 * mmap/mmap.c: Likewise.
24736 * commands/acpi.c: Likewise.
24737 * commands/echo.c: Likewise.
24738 * commands/blocklist.c: Likewise.
24739 * commands/loadenv.c: Likewise.
24740 * commands/usbtest.c: Likewise.
24741 * commands/boot.c: Likewise.
24742 * commands/parttool.c: Likewise.
24743 * commands/search.c: Likewise.
24744 * commands/cat.c: Likewise.
24745 * commands/i386/pc/play.c: Likewise.
24746 * commands/i386/pc/drivemap.c: Likewise.
24747 * commands/i386/pc/vbeinfo.c: Likewise.
24748 * commands/i386/pc/acpi.c: Likewise.
24749 * commands/i386/pc/vbetest.c: Likewise.
24750 * commands/ls.c: Likewise.
24751 * commands/cmp.c: Likewise.
24752 * commands/test.c: Likewise.
24753 * commands/efi/acpi.c: Likewise.
24754 * commands/gptsync.c: Likewise.
24755 * commands/help.c: Likewise.
24756 * partmap/amiga.c: Likewise.
24757 * partmap/apple.c: Likewise.
24758 * partmap/acorn.c: Likewise.
24759 * partmap/pc.c: Likewise.
24760 * partmap/sun.c: Likewise.
24761 * partmap/gpt.c: Likewise.
24762 * script/sh/lexer.c: Likewise.
24763 * script/sh/function.c: Likewise.
24764 * font/font.c: Likewise.
24765 * font/font_cmd.c: Likewise.
24766 * loader/powerpc/ieee1275/linux.c: Likewise.
24767 * loader/efi/chainloader.c: Likewise.
24768 * loader/multiboot_loader.c: Likewise.
24769 * loader/macho.c: Likewise.
24770 * loader/i386/multiboot.c: Likewise.
24771 * loader/i386/linux.c: Likewise.
24772 * loader/i386/pc/linux.c: Likewise.
24773 * loader/i386/pc/multiboot2.c: Likewise.
24774 * loader/i386/pc/chainloader.c: Likewise.
24775 * loader/i386/pc/xnu.c: Likewise.
24776 * loader/i386/bsd_trampoline.S: Likewise.
24777 * loader/i386/efi/linux.c: Likewise.
24778 * loader/i386/multiboot_elfxx.c: Likewise.
24779 * loader/i386/bsd_helper.S: Likewise.
24780 * loader/i386/bsd.c: Likewise.
24781 * loader/i386/linux_trampoline.S: Likewise.
24782 * loader/i386/xnu_helper.S: Likewise.
24783 * loader/i386/xnu.c: Likewise.
24784 * loader/i386/bsd_pagetable.c: Likewise.
24785 * loader/i386/multiboot_helper.S: Likewise.
24786 * loader/xnu.c: Likewise.
24787 * loader/xnu_resume.c: Likewise.
24788 * io/gzio.c: Likewise.
24789 * term/efi/console.c: Likewise.
24790 * term/terminfo.c: Likewise.
24791 * term/ieee1275/ofconsole.c: Likewise.
24792 * term/i386/pc/serial.c: Likewise.
24793 * term/i386/pc/vesafb.c: Likewise.
24794 * term/i386/pc/vga.c: Likewise.
24795 * term/usb_keyboard.c: Likewise.
24796 * term/gfxterm.c: Likewise.
24797 * aclocal.m4: Likewise.
24798 * util/lvm.c: Likewise.
24799 * util/grub.d/30_os-prober.in: Likewise.
24800 * util/grub.d/10_hurd.in: Likewise.
24801 * util/console.c: Likewise.
24802 * util/grub-macho2img.c: Likewise.
24803 * util/grub-probe.c: Likewise.
24804 * util/hostfs.c: Likewise.
24805 * util/i386/pc/grub-mkimage.c: Likewise.
24806 * util/i386/pc/grub-setup.c: Likewise.
24807 * util/i386/efi/grub-mkimage.c: Likewise.
24808 * util/grub-mkconfig.in: Likewise.
24809 * util/raid.c: Likewise.
24810 * util/resolve.c: Likewise.
24811 * util/grub-mkdevicemap.c: Likewise.
24812 * util/grub-emu.c: Likewise.
24813 * util/getroot.c: Likewise.
24814 * util/hostdisk.c: Likewise.
24815 * util/usb.c: Likewise.
24816 * util/grub-editenv.c: Likewise.
24817 * util/misc.c: Likewise.
24818
d2d49665 248192009-06-10 Felix Zielcke <fzielcke@z-51.de>
24820
24821 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
24822 `genparttoollist.sh'.
24823 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
24824 Add `*.sh' to the list find searches for and change `mdate.sh'
24825 to `mdate-sh'.
24826
fe052e37 248272009-06-10 Pavel Roskin <proski@gnu.org>
24828
2763ac18 24829 * include/grub/multiboot2.h: Provide compatibility defines for
24830 multiboot2.h.
24831 * include/multiboot2.h: Include stdint.h only if needed, using
24832 angle brackets.
24833 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
24834 grub/multiboot2.h.
24835 * loader/ieee1275/multiboot2.c: Likewise.
24836 * loader/multiboot2.c: Likewise.
24837 * loader/multiboot_loader.c: Likewise.
24838
437e6adc 24839 * configure.ac: Use -nostdlib when probing for the target. It
24840 should not be required to have libc for the target.
24841
06a6836c 24842 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
24843 they fail without libc headers for the target.
24844 * include/grub/powerpc/libgcc.h: Use weak attribute for all
24845 exports.
24846 * include/grub/sparc64/libgcc.h: Likewise. Don't use
24847 preprocessor conditionals.
24848
fe052e37 24849 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
24850 build system doesn't need to be aware of the tar.c internals.
24851
afd22553 248522009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 24853
afd22553 24854 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 24855
6b787c4f 248562009-06-09 Robert Millan <rmh.grub@aybabtu.com>
24857
24858 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
24859 disk limit to 26 for IDE, Virtio, Xen and SCSI.
24860
248612009-06-09 Felix Zielcke <fzielcke@z-51.de>
24862
24863 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 24864 aren't available if ata.mod gets used.
6b787c4f 24865
473d1e45 248662009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 24867
473d1e45 24868 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 24869 initialising controller.
473d1e45 24870 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 24871
255a27d4 248722009-06-08 Felix Zielcke <fzielcke@z-51.de>
24873
24874 * util/i386/pc/grub-install.in: Add a parameter --disk-module
24875 to choose between ata and biosdisk module on i386-pc.
24876
473d1e45 248772009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 24878
d55842d8 24879 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24880 Subclass and Programming Interface fields in terms of the 3 byte
24881 Class Code register.
24882 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24883
fa5db0b1 24884 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24885 interface is OHCI. Add grub_dprintf for symmetry with
24886 bus/usb/uhci.c.
24887 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24888 interface is UHCI. Add interf variable for programming
24889 interface. Print interface with class/subclass.
24890
c0947beb 24891 * bus/usb/ohci.c: Set interf with correct field.
24892
69da8877 24893 * bus/usb/uhci.c: Remove unneeded doubled lines.
24894 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24895 Remove whitespace inside comment.
24896
9e172e30 248972009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24898
24899 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24900 as fallback an equivalent option without depth.
24901
de65ee2b 249022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 Not fail if unable to retrieve C/H/S on LBA disks
24905
473d1e45 24906 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 24907 if unable to retrieve C/H/S on LBA disks
24908
b57ea2c9 249092009-06-08 Pavel Roskin <proski@gnu.org>
24910
24911 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24912 about aliasing.
24913
af361263 249142009-06-08 Felix Zielcke <fzielcke@z-51.de>
24915
24916 * Makefile.in (uninstall): Remove all $lib_DATA files.
24917
4c9ec6b3 249182009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24919
24920 Bugfix: install on partitionless device
24921
24922 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24923 is a whole disk
24924
e76fc924 249252009-06-08 Felix Zielcke <fzielcke@z-51.de>
24926
24927 * Makefile.in (uninstall): Remove all $include_DATA files.
24928
ba5a0d05 249292009-06-08 Felix Zielcke <fzielcke@z-51.de>
24930
24931 * commands/true.c: New file. Implement the true and false commands.
24932 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24933 (true_mod_SOURCES): New variable.
24934 (true_mod_CFLAGS): Likewise.
24935 (true_mod_LDFLAGS): Likewise.
24936
c8048e32 249372009-06-05 Colin D Bennett <colin@gibibit.com>
24938
24939 Optimized font character lookup using binary search instead of linear
24940 search. Fonts now are required to have the character index ordered by
24941 code point.
24942
24943 * font/font.c (load_font_index): Verify that fonts have ordered
24944 character indices.
24945 (find_glyph): Use binary search instead of linear search to find a
24946 character in a font.
24947
408305be 249482009-06-05 Michael Scherer <misc@mandriva.org>
24949
24950 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24951 uses case sensitive btree.
24952 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24953 only for case insensitive filesystems.
24954
8ee1e0d9 249552009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24958 * conf/common.rmk (search_mod_CFLAGS): likewise
24959
a9966eb1 249602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24961
473d1e45 24962 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 24963 compensate a compiler bug
24964
9e7100fb 249652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24966
473d1e45 24967 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 24968 instead of '\b'
473d1e45 24969
ede21d71 249702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 Definitions for creating asm symbols with Apple's CC
24973
24974 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24975 [APPLE_CC] (VARIABLE): likewise
24976
9dbf7653 249772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 Disable lnxboot.img when compiled
24980 with Apple's CC
24981
24982 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24983 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24984 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24985 [! APPLE_CC] (CODE_LENG): skip
24986 [! APPLE_CC] (setup_sects): likewise
24987 [! APPLE_CC]: skip filling
473d1e45 24988
e93cdc3d 249892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Address in trampolines based on 32-bit registers when compiled
24992 with Apple's CC
24993
473d1e45 24994 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 24995 for addresses
24996 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24997
6c688477 249982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25001
25002 * kern/misc.c [APPLE_CC] (memcpy): new function
25003 [APPLE_CC] (memmove): likewise
25004 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25005 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25006 (memset): likewise
25007 (abort): likewise
25008 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25009 APPLE_CC are defined
25010 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25011 (grub_assert_fail): make prototype conditional
25012
e37ffc5c 250132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25014
25015 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25016
473d1e45 25017 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25018 grub-macho2img
e37ffc5c 25019 (CLEANFILES): add grub-macho2img
25020 (grub_macho2img_SOURCES): new variable
25021 * kern/i386/pc/startup.S (bss_start): new variable
25022 (bss_end): likewise
25023 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25024 * util/grub-macho2img.c: new file
25025
cf00df31 250262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25027
25028 Use objconv when compiling with Apple's CC
25029
25030 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25031 (efiemu64.o): likewise
25032 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25033 when compiling with Apple's CC
25034 (efiemu64_s.o): likewise
25035 * configure.ac: check for objconv when compiling with Apple's CC
25036 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25037
d119a20c 250382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25039
25040 Define segment as well as section when compiling with
25041 Apple's CC
25042
25043 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25044 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25045 (efiemu_convert_pointer): likewise
25046 (efiemu_set_virtual_address_map): likewise
25047 (efiemu_convert_pointer): likewise
25048 (efiemu_getcrc32): likewise
25049 (init_crc32_table): likewise
25050 (reflect): likewise
25051 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25052 (GRUB_MOD_DEP): likewise
473d1e45 25053
c8600122 250542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 Allow a compilation without -mcmodel=large
25057
25058 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25059 when compiled without -mcmodel=large
473d1e45 25060 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25061 without -mcmodel=large
473d1e45 25062 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25063 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25064
e8df1d4e 250652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 Remove nested functions in efiemu core
25068
25069 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25070
cc6c3ac1 250712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25074
25075 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25076 temporary storage
473d1e45 25077 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25078 using Apple's CC
cc6c3ac1 25079 (grub_cpu_is_tsc_supported): likewise
25080 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25081
3e325901 250822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 Absolute addressing through constant with Apple's cc
25085
25086 * kern/i386/pc/startup.S: Define necessary constants
25087 and address through it when using ABS with Apple's CC
25088 * boot/i386/pc/diskboot.S: likewise
25089 * boot/i386/pc/boot.S: likewise
25090 * boot/i386/pc/lnxboot.S: likewise
25091 * boot/i386/pc/cdboot.S: likewise
25092 * mmap/i386/pc/mmap_helper.S: likewise
25093 * commands/i386/pc/drivemap_int13h.S: likewise
25094
2b167a72 250952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 Check if compiler is apple cc
25098
25099 * Makefile.in (ASFLAGS): new variable
25100 (TARGET_ASFLAGS): likewise
25101 (TARGET_MODULE_FORMAT): likewise
25102 (TARGET_APPLE_CC): likewise
25103 (OBJCONV): likewise
25104 (TARGET_IMG_CFLAGS): likewise
25105 (TARGET_CPPFLAGS): add includedir
25106 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25107 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25108 Check for linker script only if compiler isn't Apple's CC
25109 (TARGET_MODULE_FORMAT): set
25110 (TARGET_APPLE_CC): likewise
25111 (TARGET_ASFLAGS): likewise
25112 (ASFLAGS): likewise
25113 Check for objcopy only if compiler isn't Apple's CC
25114 Check for BSS symbol only if compiler isn't Apple's CC
25115 * genmk.rb: adapt nm options if we use Apple's utils
25116 * aclocal.m4 (grub_apple_cc): new test
25117 (grub_apple_target_cc): likewise
473d1e45 25118
fb14123e 251192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 Simplify sed expressions and improve awk
25122
25123 * Makefile.in (install-local): simplify sed expression
25124 * gencmdlist.sh: likewise
25125 * genmoddep.awk: avoid adding module as a dependency of itself
25126
5b889789 251272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25128
25129 Add missing start symbols
25130
25131 * boot/i386/pc/boot.S: add start
fb14123e 25132 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25133
fd2bf2e3 251342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25137
25138 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25139 (relocate_addresses): consider both r_addend and value at offset
25140 (make_mods_section): zerofill modinfo and header
25141 (convert_elf): write prefix here
473d1e45 25142
5389763d 251432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25144
25145 Use .asciz instead of .string
25146
25147 * i386/pc/diskboot.S: use .asciz instead of .string
25148 * i386/pc/boot.S: likewise
25149 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25150 (GRUB_MOD_NAME): likewise
473d1e45 25151
3eb5ed4e 251522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 gfxpayload support
25155
25156 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25157 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25158 (grub_video_setup): remove
25159 (grub_video_set_mode): new prototype
25160 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25161 (vid_mode): remove
25162 (linux_vesafb_res): compile only on PCBIOS
25163 (grub_linux_boot): support gfxpayload
25164 * loader/i386/pc/xnu.c (video_hook): new function
25165 (grub_xnu_set_video): support gfxpayload
25166 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25167 (DEFAULT_VIDEO_HEIGHT): likewise
25168 (DEFAULT_VIDEO_FLAGS): likewise
25169 (DEFAULT_VIDEO_MODE): new definition
25170 (video_hook): new function
25171 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25172 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25173 loading xnu
25174 * video/video.c (grub_video_setup): removed
473d1e45 25175 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25176 grub_video_setup
25177
4b0e1143 251782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25179
25180 Avoid calling biosdisk in drivemap
25181
25182 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25183 (revparse_biosdisk): likewise
25184 (list_mappings): derive name from id directly
25185 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25186
fda6cb98 251872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25188
25189 Script fixes
25190
25191 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25192 (grub_lexer_param): add tokenonhold
25193 (grub_script_create_cmdline): remove cmdline. All callers updated
25194 (grub_script_function_create): make functionname
25195 grub_script_arg. All callers updated
25196 (grub_script_execute_argument_to_string): new prototype
25197 * kern/parser.c (state_transitions): reorder
25198 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25199 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25200 make global
25201 (grub_script_execute_cmdline): use new format
25202 * script/sh/function.c (grub_script_function_create): make functionname
25203 grub_script_arg. All callers updated
473d1e45 25204 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25205 (grub_script_yylex): remove
25206 (grub_script_yylex2): renamed to ...
25207 (grub_script_yylex): ...renamed
25208 parse the expressions like a${b}c
25209 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25210 (GRUB_PARSER_TOKEN_VAR): remove
25211 (GRUB_PARSER_TOKEN_NAME): likewise
25212 ("if"): declare as typeless
25213 ("while"): likewise
25214 ("function"): likewise
25215 ("else"): likewise
25216 ("then"): likewise
25217 ("fi"): likewise
25218 (text): remove
25219 (argument): likewise
25220 (script): accept empty scripts and make exit on error
25221 (arguments): use GRUB_PARSER_TOKEN_ARG
25222 (function): likewise
25223 (command): move error handling to script
25224 (menuentry): move grub_script_lexer_ref before
473d1e45 25225 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25226 argument. All callers updated
25227
f4448a07 252282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25229
25230 Prevent GRUB from probing floppies during boot.
25231
25232 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25233 * commands/search.c (options): Add --no-floppy.
25234 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25235 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25236 --no-floppy when searching for UUIDs.
25237
2bf5885a 252382009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25239
25240 Simplify the code duplication in commands/search.c.
25241
25242 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25243 (search_fs): ... this. Update all users.
25244
f6fd460a 252452009-06-03 Felix Zielcke <fzielcke@z-51.de>
25246
25247 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25248
cbb3c83e 252492009-05-28 Pavel Roskin <proski@gnu.org>
25250
57788cfd 25251 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25252 Remove the original symlink explicitly.
25253
cbb3c83e 25254 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25255 just one slash. That's how grub_fshelp_find_file() does it.
25256
cd0d5e30 252572009-05-26 Pavel Roskin <proski@gnu.org>
25258
f0f8bbe2 25259 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25260 to `str'.
25261
cd0d5e30 25262 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25263 possibly unused.
25264
8c2cab51 252652009-05-25 Christian Franke <franke@computer.org>
25266
25267 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25268 register.
25269 (grub_atapi_identify): Add wait after drive select.
25270 (grub_ata_identify): Do more strict status register check before
25271 calling grub_atapi_identify (). Suppress error message if status
25272 register is 0x00 after command failure. Add status register
25273 check after PIO read to avoid bogus identify due to stuck DRQ.
25274 Thanks to Pavel Roskin for testing.
25275 (grub_device_initialize): Remove unsafe status register check.
25276 Thanks to 'phcoder' for problem report and patch.
25277 Prevent sign extension in debug message.
25278
230c0ad6 252792009-05-23 Colin D Bennett <colin@gibibit.com>
25280
25281 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25282 definition file, and functions defined in `normal/menu.c' have had
25283 their prototypes moved to `include/grub/menu.h' for consistency.
25284
25285 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25286 from normal.h.
25287 (grub_menu_get_entry): Likewise.
25288 (grub_menu_get_timeout): Likewise.
25289 (grub_menu_set_timeout): Likewise.
25290 (grub_menu_execute_entry): Likewise.
25291 (grub_menu_execute_with_fallback): Likewise.
25292 (grub_menu_entry_run): Likewise.
25293
25294 * include/grub/normal.h: Re-ordered and grouped function
25295 prototypes by file that the function is defined in.
25296 (grub_menu_execute_callback): Removed; moved to menu.h.
25297 (grub_menu_get_entry): Likewise.
25298 (grub_menu_get_timeout): Likewise.
25299 (grub_menu_set_timeout): Likewise.
25300 (grub_menu_execute_entry): Likewise.
25301 (grub_menu_execute_with_fallback): Likewise.
25302 (grub_menu_entry_run): Likewise.
25303 (grub_menu_addentry): Renamed from this ...
25304 (grub_normal_add_menu_entry): ... to this.
25305
25306 * normal/main.c (grub_menu_addentry): Renamed from this ...
25307 (grub_normal_add_menu_entry): ... to this.
25308
25309 * script/sh/execute.c (grub_script_execute_menuentry): Update
25310 reference to renamed grub_menu_addentry function.
25311
861f03a5 253122009-05-23 Felix Zielcke <fzielcke@z-51.de>
25313
25314 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25315
96b1619a 253162009-05-22 Pavel Roskin <proski@gnu.org>
25317
bf6a5fb2 25318 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25319 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25320 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25321 compiling for the i386 targets, but not for the utilities.
25322
96b1619a 25323 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25324 to grub_uint8_t.
25325 (grub_root_drive): Likewise.
25326 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25327 remove alignment.
25328 (grub_root_drive): Change size to byte.
25329 (grub_start_addr): Remove.
25330 (grub_end_addr): Likewise.
25331 (grub_apm_bios_info): Likewise.
25332
b729776b 253332009-05-21 Felix Zielcke <fzielcke@z-51.de>
25334
25335 * normal/i386: Remove.
25336 * normal/powerpc: Likewise.
25337 * normal/sparc64: Likewise.
25338 * normal/x86_64: Likewise.
25339
0a15ce80 253402009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25343 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25344 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25345
33db9015 253462009-05-18 Colin D Bennett <colin@gibibit.com>
25347
d6da58e6 25348 Display error messages when parsing a Lua statement fails.
25349 Previously, executing a syntactically invalid statement like
25350 ")foo" or "bar;" would silently fail.
33db9015 25351
25352 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25353 (grub_lua_parse_line): Improved reporting of Lua parser and
25354 execution errors.
33db9015 25355
46422c89 253562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 Remove -Werror which causes build to fail on some systems
25359
25360 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25361 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25362 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25363
22f53a96 253642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25365
25366 trampoline for linux on 64-bit platform
25367
18f547ad 25368 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25369 loader/i386/efi/linux_trampoline.S
25370 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25371 declaration
d6da58e6 25372 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25373 here
22f53a96 25374 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25375 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25376 trampoline
22f53a96 25377 (jumpvector): removed
25378 (grub_linux_trampoline_start): new declaration
25379 (grub_linux_trampoline_end): likewise
25380 (grub_linux_boot): use trampoline when on 64-bit platform
25381 * loader/i386/linux.c: likewise
25382
cb5a0f40 253832009-05-16 Pavel Roskin <proski@gnu.org>
25384
25385 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25386 const to avoid a warning.
25387 (grub_lua_setenv): Likewise.
25388 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25389 lmsg to fix a warning.
25390
334f2c28 253912009-05-16 Felix Zielcke <fzielcke@z-51.de>
25392
25393 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 25394 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25395 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25396 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25397 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25398 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25399 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25400 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 25401
59e5d3ec 254022009-05-16 Felix Zielcke <fzielcke@z-51.de>
25403
25404 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25405
9d87a1ba 254062009-05-16 Bean <bean123ch@gmail.com>
25407
25408 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25409 (lua_mod_SOURCES): New variable.
25410 (lua_mod_CFLAGS): Likewise.
25411 (lua_mod_LDFLAGS): Likewise.
25412
25413 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25414 (setjmp_mod_SOURCES): New variable.
25415 (setjmp_mod_CFLAGS): Likewise.
25416 (setjmp_LDFLAGS): Likewise.
25417
25418 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25419 (setjmp_mod_SOURCES): New variable.
25420 (setjmp_mod_CFLAGS): Likewise.
25421 (setjmp_LDFLAGS): Likewise.
25422
25423 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25424 (setjmp_mod_SOURCES): New variable.
25425 (setjmp_mod_CFLAGS): Likewise.
25426 (setjmp_LDFLAGS): Likewise.
25427
25428 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25429 (setjmp_mod_SOURCES): New variable.
25430 (setjmp_mod_CFLAGS): Likewise.
25431 (setjmp_LDFLAGS): Likewise.
25432
25433 * normal/i386/setjmp.S: Moved from here ...
25434 * lib/i386/setjmp.S: ... Moved here
25435 * normal/x86_64/setjmp.S: Moved from here ...
25436 * lib/x86_64/setjmp.S: ... Moved here
25437 * normal/powerpc/setjmp.S: Moved from here ...
25438 * lib/powerpc/setjmp.S: ... Moved here
25439 * normal/sparc64/setjmp.S: Moved from here ...
25440 * lib/sparc64/setjmp.S: ... Moved here
25441
25442 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25443 returns_twice in mingw.
25444
25445 * script/lua/grub_lib.c: New file.
25446 * script/lua/grub_lib.h: Likewise.
25447 * script/lua/grub_lua.h: Likewise.
25448 * script/lua/grub_main.c: Likewise.
25449 * script/lua/lapi.c: Likewise.
25450 * script/lua/lapi.h: Likewise.
25451 * script/lua/lauxlib.c: Likewise.
25452 * script/lua/lauxlib.h: Likewise.
25453 * script/lua/lbaselib.c: Likewise.
25454 * script/lua/lcode.c: Likewise.
25455 * script/lua/lcode.h: Likewise.
25456 * script/lua/ldblib.c: Likewise.
25457 * script/lua/ldebug.c: Likewise.
25458 * script/lua/ldebug.h: Likewise.
25459 * script/lua/ldo.c: Likewise.
25460 * script/lua/ldo.h: Likewise.
25461 * script/lua/ldump.c: Likewise.
25462 * script/lua/lfunc.c: Likewise.
25463 * script/lua/lfunc.h: Likewise.
25464 * script/lua/lgc.c: Likewise.
25465 * script/lua/lgc.h: Likewise.
25466 * script/lua/linit.c: Likewise.
25467 * script/lua/liolib.c: Likewise.
25468 * script/lua/llex.c: Likewise.
25469 * script/lua/llex.h: Likewise.
25470 * script/lua/llimits.h: Likewise.
25471 * script/lua/lmathlib.c: Likewise.
25472 * script/lua/lmem.c: Likewise.
25473 * script/lua/lmem.h: Likewise.
25474 * script/lua/loadlib.c: Likewise.
25475 * script/lua/lobject.c: Likewise.
25476 * script/lua/lobject.h: Likewise.
25477 * script/lua/lopcodes.c: Likewise.
25478 * script/lua/lopcodes.h: Likewise.
25479 * script/lua/loslib.c: Likewise.
25480 * script/lua/lparser.c: Likewise.
25481 * script/lua/lparser.h: Likewise.
25482 * script/lua/lstate.c: Likewise.
25483 * script/lua/lstate.h: Likewise.
25484 * script/lua/lstring.c: Likewise.
25485 * script/lua/lstring.h: Likewise.
25486 * script/lua/lstrlib.c: Likewise.
25487 * script/lua/ltable.c: Likewise.
25488 * script/lua/ltable.h: Likewise.
25489 * script/lua/ltablib.c: Likewise.
25490 * script/lua/ltm.c: Likewise.
25491 * script/lua/ltm.h: Likewise.
25492 * script/lua/lua.h: Likewise.
25493 * script/lua/luaconf.h: Likewise.
25494 * script/lua/lualib.h: Likewise.
25495 * script/lua/lundump.c: Likewise.
25496 * script/lua/lundump.h: Likewise.
25497 * script/lua/lvm.c: Likewise.
25498 * script/lua/lvm.h: Likewise.
25499 * script/lua/lzio.c: Likewise.
25500 * script/lua/lzio.h: Likewise.
25501
5e898c9d 255022009-05-16 Bean <bean123ch@gmail.com>
25503
25504 * include/grub/kernel.h (grub_module_header_types): Add type
25505 OBJ_TYPE_CONFIG.
25506
25507 * kern/main.c (grub_load_config): New function.
25508 (grub_main): Call grub_load_config to read boot config.
25509
25510 * grub-mkimage (generate_image): New parameter config_path.
25511 (options): New option --config.
25512 (main): Parse --config option, and pass it to generate_image.
25513
cf353a47 255142009-05-14 Christian Franke <franke@computer.org>
25515
25516 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25517 This fixes build on Cygwin.
25518
3834887f 255192009-05-14 Pavel Roskin <proski@gnu.org>
25520
25521 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25522 jump. This saves two bytes, so the typical case of 2 swapped
25523 drives would fit 32 bytes.
25524
8090fc01 255252009-05-13 Pavel Roskin <proski@gnu.org>
25526
ac963883 25527 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25528 grub_uint32_t to avoid a warning.
25529
8090fc01 25530 * loader/i386/linux.c (allocate_pages): When assigning
25531 real_mode_mem, cast through grub_size_t to fix a warning. The
25532 code already makes sure that the value would fit a pointer.
25533 (grub_linux_setup_video): Cast render_target->data to
25534 grub_size_t to fix a warning.
25535
18f547ad 255362009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 25537
25538 * commands/i386/pc/drivemap.c: New file - implement drivemap
25539 command.
25540 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25541 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25542
6f6a8b28 255432009-05-13 Pavel Roskin <proski@gnu.org>
25544
25545 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25546 embedding_area_exists.
25547
15fbf4c4 255482009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25549
25550 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25551 it easier to understand / work with.
59978c8a 25552 Improve warning messages for cases where there's no embedding area,
25553 or when it is too small (or core.img too large).
15fbf4c4 25554
238e871f 255552009-05-13 Pavel Roskin <proski@gnu.org>
25556
0ab3a9a4 25557 * loader/i386/pc/multiboot2.c: Add necessary includes for
25558 grub_multiboot2_real_boot().
25559
a2c8c5f8 25560 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25561 PX record is always little-endian. We only need the lower 2
25562 bytes of the mode.
25563
faec96af 25564 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25565 facilitate code reuse.
25566 (grub_cpio_mount): Use "struct head", not a char buffer. This
25567 fixes a warning reported by gcc 4.4.
25568
238e871f 25569 * kernel/disk.c (grub_disk_read): Use void pointer for the
25570 buffer.
25571 (grub_disk_write): Use const void pointer for the buffer.
25572 Adjust all callers. Remove unnecessary casts.
25573
901d2f0c 255742009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25575
25576 * util/i386/pc/grub-install.in: Update copyright year.
25577
18f547ad 255782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 25579
25580 gptsync
25581
25582 * commands/gptsync.c: new file
25583 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25584 (gptsync_mod_SOURCES): new variable
25585 (gptsync_mod_CFLAGS): likewise
25586 (gptsync_mod_LDFLAGS): likewise
18f547ad 25587 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 25588 new definition
25589 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25591 * conf/i386-ieee1275.rmk: likewise
25592 * conf/i386-pc.rmk: likewise
25593 * conf/powerpc-ieee1275.rmk: likewise
25594
b4ba690a 255952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25596
25597 Fixed grub-emu
25598
25599 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25600 (grub_dl_ref): likewise
25601
317e1a44 256022009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25603
25604 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25605 split in two functions (one for msdos and one for gpt).
25606
041b8094 256072009-05-08 Pavel Roskin <proski@gnu.org>
25608
752473c2 25609 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25610 not modified.
25611
041b8094 25612 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25613 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25614 Initialize them with -1. Add sanity check for bad1. Eliminate
25615 nerr variable.
25616
172800ce 256172009-05-08 David S. Miller <davem@davemloft.net>
25618
25619 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25620
29aa5e81 256212009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25622
25623 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 25624 existence.
29aa5e81 25625
96613b62 256262009-05-05 Felix Zielcke <fzielcke@z-51.de>
25627
25628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 25629 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 25630
eef73c8a 256312009-05-05 David S. Miller <davem@davemloft.net>
25632
25633 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25634
119494b5 256352009-05-05 Pavel Roskin <proski@gnu.org>
25636
25637 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25638 of grub_dl_ref() and grub_dl_unref().
25639 * commands/parttool.c: Remove preprocessor conditionals around
25640 grub_dl_ref() and grub_dl_unref().
25641 * fs/affs.c: Likewise.
25642 * fs/afs.c: Likewise.
25643 * fs/cpio.c: Likewise.
25644 * fs/ext2.c: Likewise.
25645 * fs/fat.c: Likewise.
25646 * fs/hfs.c: Likewise.
25647 * fs/hfsplus.c: Likewise.
25648 * fs/iso9660.c: Likewise.
25649 * fs/jfs.c: Likewise.
25650 * fs/minix.c: Likewise.
25651 * fs/ntfs.c: Likewise.
25652 * fs/reiserfs.c: Likewise.
25653 * fs/sfs.c: Likewise.
25654 * fs/udf.c: Likewise.
25655 * fs/ufs.c: Likewise.
25656 * fs/xfs.c: Likewise.
25657 * include/grub/dl.h: Likewise.
25658 * loader/xnu.c: Likewise.
25659
de5fd76e 256602009-05-04 Pavel Roskin <proski@gnu.org>
25661
25662 * commands/acpi.c: Remove unused variable my_mod.
25663 * partmap/amiga.c: Likewise.
25664 * partmap/apple.c: Likewise.
25665 * partmap/gpt.c: Likewise.
25666 * partmap/pc.c: Likewise.
25667 * partmap/sun.c: Likewise.
25668 * term/gfxterm.c: Likewise.
25669 * term/i386/pc/vesafb.c: Likewise.
25670 * term/i386/pc/vga.c: Likewise.
25671
983598ad 256722009-05-04 David S. Miller <davem@davemloft.net>
25673
25674 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25675 pointer args to grub_ieee1275_get_property().
25676
8aadec43 25677 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25678
9554b15e 25679 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25680 devices, and do not traverse down under controller nodes.
25681
67e23c90 25682 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25683 (grub_ofdisk_open): Use it to un-escape "," characters.
25684 * kern/disk.c (find_part_sep): New.
25685 (grub_disk_open): Use it to find the first non-escaped ','
25686 character in the disk name.
25687 * util/ieee1275/devicemap.c (escape_of_path): New.
25688 (grub_util_emit_devicemap_entry): Use it.
25689 * util/sparc64/ieee1275/grub-install.in: Update script to
25690 strip partition specifiers properly by not triggering on
25691 '\' escaped ',' characters.
25692
74bfdd2f 256932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25696 to 0x300.
25697 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25698 resolutions.
25699 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25700 on documentation from Wikipedia).
25701
4241d2b1 257022009-05-04 Pavel Roskin <proski@gnu.org>
25703
25704 * disk/ata.c: Spelling fixes.
25705 * disk/raid.c: Likewise.
25706 * disk/usbms.c: Likewise.
25707 * disk/dmraid_nvidia.c: Likewise.
25708 * kern/ieee1275/openfw.c: Likewise.
25709 * kern/ieee1275/init.c: Likewise.
25710 * kern/ieee1275/cmain.c: Likewise.
25711 * boot/i386/pc/cdboot.S: Likewise.
25712 * video/readers/png.c: Likewise.
25713 * video/i386/pc/vbe.c: Likewise.
25714 * fs/udf.c: Likewise.
25715 * fs/hfs.c: Likewise.
25716 * fs/reiserfs.c: Likewise.
25717 * efiemu/runtime/efiemu.c: Likewise.
25718 * efiemu/main.c: Likewise.
25719 * efiemu/mm.c: Likewise.
25720 * include/grub/elf.h: Likewise.
25721 * include/grub/xnu.h: Likewise.
25722 * include/grub/usbdesc.h: Likewise.
25723 * include/grub/usb.h: Likewise.
25724 * include/grub/script_sh.h: Likewise.
25725 * include/grub/lib/LzmaEnc.h: Likewise.
25726 * include/grub/efiemu/efiemu.h: Likewise.
25727 * include/grub/command.h: Likewise.
25728 * normal/menu.c: Likewise.
25729 * normal/main.c: Likewise.
25730 * normal/datetime.c: Likewise.
25731 * bus/usb/uhci.c: Likewise.
25732 * mmap/i386/uppermem.c: Likewise.
25733 * mmap/mmap.c: Likewise.
25734 * commands/acpi.c: Likewise.
25735 * commands/test.c: Likewise.
25736 * partmap/apple.c: Likewise.
25737 * font/font.c: Likewise.
25738 * loader/sparc64/ieee1275/linux.c: Likewise.
25739 * loader/macho.c: Likewise.
25740 * loader/i386/bsd_trampoline.S: Likewise.
25741 * loader/i386/bsd.c: Likewise.
25742 * loader/xnu.c: Likewise.
25743 * term/i386/pc/vesafb.c: Likewise.
25744 * term/usb_keyboard.c: Likewise.
25745 * util/resolve.c: Likewise.
25746 * util/getroot.c: Likewise.
25747
0cfc0083 257482009-05-04 Felix Zielcke <fzielcke@z-51.de>
25749
25750 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
25751
7c1d00cd 257522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25753
25754 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
25755 build error.
25756
b01f0548 257572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25758
25759 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
25760 parameter only available on BIOS.
25761
ecc3eb22 257622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25763
25764 Removed wrong semicolon in declaration
25765
25766 * grub/misc.h (grub_dprintf): remove semicolon
25767
112972a9 257682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25769
25770 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
25771 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
25772 is done by grub_cmd_linux() now).
25773 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
25774 restore video to text mode.
25775 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
25776 indicates lack of "vga=" parameter. "vga=0" is mapped to
25777 `GRUB_LINUX_VID_MODE_NORMAL'.
25778
afd5c115 257792009-05-04 Felix Zielcke <fzielcke@z-51.de>
25780
25781 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
25782 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
25783 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 25784 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 25785 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
25786 `grub_script.tab.c'.
25787
25788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25793
faa517ce 25794 * Makefile.in: Remove duplicated 2008 in Copyright line.
25795
ae0c0bdc 257962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25797
473d1e45 25798 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 25799 unconditionally.
25800 * include/grub/util/misc.h (grub_util_warn): New declaration.
25801
25802 * util/i386/pc/grub-install.in: Understand --force and pass it down
25803 to grub-setup.
25804
25805 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
25806 down to setup().
25807 (setup): Improve error messages and add warnings when requested to
25808 install in odd layouts. Refuse to install using blocklists unless
25809 --force was set.
25810
18f547ad 258112009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 25812
25813 * disk/raid.c (grub_raid_scan_device): Improve debug message.
25814
6d260daa 258152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 Updated copyright year
25818
25819 * fs/hfsplus.c: updated copyright year
18f547ad 25820
69f853f8 258212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 HFS+ UUID
25824
18f547ad 25825 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 25826 in the space previously used by unused3
25827 (grub_hfsplus_uuid): new function
25828 (grub_hfsplus_fs): added uuid field
25829
4c402e73 258302009-05-03 Pavel Roskin <proski@gnu.org>
25831
25832 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
25833 suppress warnings. It's no longer needed.
25834 * disk/host.c: Likewise.
25835 * disk/ata_pthru.c: Likewise.
25836 * disk/loopback.c: Likewise.
25837 * hook/datehook.c: Likewise.
25838 * parttool/pcpart.c: Likewise.
25839 * fs/i386/pc/pxe.c: Likewise.
25840 * fs/ntfscomp.c: Likewise.
25841 * efiemu/main.c: Likewise.
25842 * mmap/mmap.c: Likewise.
25843 * commands/crc.c: Likewise.
25844 * commands/hexdump.c: Likewise.
25845 * commands/hdparm.c: Likewise.
25846 * commands/acpi.c: Likewise.
25847 * commands/echo.c: Likewise.
25848 * commands/minicmd.c: Likewise.
25849 * commands/blocklist.c: Likewise.
25850 * commands/memrw.c: Likewise.
25851 * commands/loadenv.c: Likewise.
25852 * commands/usbtest.c: Likewise.
25853 * commands/lsmmap.c: Likewise.
25854 * commands/boot.c: Likewise.
25855 * commands/parttool.c: Likewise.
25856 * commands/configfile.c: Likewise.
25857 * commands/search.c: Likewise.
25858 * commands/ieee1275/suspend.c: Likewise.
25859 * commands/cat.c: Likewise.
25860 * commands/i386/pc/pxecmd.c: Likewise.
25861 * commands/i386/pc/play.c: Likewise.
25862 * commands/i386/pc/halt.c: Likewise.
25863 * commands/i386/pc/vbeinfo.c: Likewise.
25864 * commands/i386/pc/vbetest.c: Likewise.
25865 * commands/lspci.c: Likewise.
25866 * commands/date.c: Likewise.
25867 * commands/handler.c: Likewise.
25868 * commands/ls.c: Likewise.
25869 * commands/test.c: Likewise.
25870 * commands/cmp.c: Likewise.
25871 * commands/efi/loadbios.c: Likewise.
25872 * commands/efi/fixvideo.c: Likewise.
25873 * commands/halt.c: Likewise.
25874 * commands/help.c: Likewise.
25875 * commands/reboot.c: Likewise.
25876 * hello/hello.c: Likewise.
25877 * script/sh/main.c: Likewise.
25878 * loader/xnu.c: Likewise.
25879 * term/terminfo.c: Likewise.
25880 * term/i386/pc/serial.c: Likewise.
25881 * term/usb_keyboard.c: Likewise.
25882
515b5079 258832009-05-03 David S. Miller <davem@davemloft.net>
25884
25885 * normal/menu.c: Include grub/parser.h
25886
dfc31a22 258872009-05-03 Pavel Roskin <proski@gnu.org>
25888
2fee74f1 25889 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25890 not char*.
25891 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25892 Suggested by Javier Martín <lordhabbit@gmail.com>
25893
dfc31a22 25894 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25895 efiemu??.o doesn't exist.
25896 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25897 copying.
25898
18f547ad 258992009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 25900
25901 FreeBSD 64-bit support
25902
18f547ad 25903 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 25904 and loader/i386/bsd_trampoline.S
25905 (bsd_mod_ASFLAGS): new variable
25906 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25907 (FREEBSD_MODTYPE_KERNEL64): likewise
25908 (grub_bsd64_trampoline_start): likewise
25909 (grub_bsd64_trampoline_end): likewise
25910 (grub_bsd64_trampoline_selfjump): likewise
25911 (grub_bsd64_trampoline_gdt): likewise
25912 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25913 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25914 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25915 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 25916 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 25917 of "attrib" member
25918 * loader/i386/bsd_pagetable.c: new file
25919 * loader/i386/bsd_trampoline.S: likewise
25920 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25921 (ALIGN_VAR): likewise
25922 (entry_hi): new variable
25923 (kern_end_mdofs): likewise
25924 (is_64bit): likewise
25925 (grub_freebsd_add_meta): use ALIGN_VAR
25926 (grub_e820_mmap): new declaration
25927 (grub_freebsd_add_mmap): new function
25928 (grub_freebsd_add_meta_module): support 64 bit kernels
25929 (grub_freebsd_list_modules): use ALIGN_VAR
25930 (gdt_descriptor): new declaration
25931 (grub_freebsd_boot): support 64 bit kernels
25932 (grub_bsd_elf64_hook): new function
25933 (grub_bsd_load_elf): support elf64
25934
038c5720 259352009-05-03 Bean <bean123ch@gmail.com>
25936
25937 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25938 after we get the result of if statement.
25939
fc45fb58 259402009-05-03 Bean <bean123ch@gmail.com>
25941
25942 * Makefile.in (enable_efiemu): New variable.
25943
25944 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25945 set.
25946 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25947 path.
25948 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25949 path, add -mno-red-zone option.
25950 (efiemu64_s.o): Likewise.
25951 (efiemu64.o): Use macro $^ for source file.
25952
25953 * configure.ac (--enable-efiemu): New option.
25954
bbee0f2b 259552009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 xnu support
25958
25959 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25960 (pkglib_MODULES): add xnu.mod
25961 (xnu_mod_SOURCES): new variable
25962 (xnu_mod_CFLAGS): likewise
25963 (xnu_mod_LDFLAGS): likewise
25964 (xnu_mod_ASFLAGS): likewise
25965 * conf/i386-pc.rmk: likewise
25966 * conf/x86_64-efi.rmk: likewise
7dd4a573 25967 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 25968 new declaration
25969 * include/grub/i386/macho.h: new file
25970 * include/grub/i386/xnu.h: likewise
25971 * include/grub/macho.h: likewise
25972 * include/grub/machoload.h: likewise
25973 * include/grub/x86_64/macho.h: likewise
25974 * include/grub/x86_64/xnu.h: likewise
25975 * include/grub/xnu.h: likewise
25976 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25977 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25978 * loader/i386/efi/xnu.c: new file
25979 * loader/i386/pc/xnu.c: likewise
25980 * loader/i386/xnu.c: likewise
25981 * loader/i386/xnu_helper.S: likewise
25982 * loader/macho.c: likewise
25983 * loader/xnu.c: likewise
25984 * loader/xnu_resume.c: likewise
25985 * util/grub-dumpdevtree: likewise
25986 * include/grub/i386/pit.h: include grub/err.h
25987 (grub_pit_wait): export
25988 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 25989
5caf964d 259902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 Efiemu
7dd4a573 25993
5caf964d 25994 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 25995 _linux_efi, linux_efi.
25996 new files in grub-emu
5caf964d 25997 new targets efiemu32.o and efiemu64.o
25998 * loader/linux_normal_efiemu.c: likewise
25999 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26000 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26001 files to copy
26002 * include/grub/autoefi.h: new file
7dd4a573 26003 * include/grub/i386/efiemu.h: likewise
5caf964d 26004 * include/grub/i386/pc/efiemu.h: likewise
26005 * include/grub/efi/api.h: add LL suffix when necessary
26006 new definitions relating to tables
26007 * include/grub/efiemu/efiemu.h: new file
26008 * include/grub/efiemu/runtime.h: likewise
26009 * efiemu/prepare.c: likewise
26010 * efiemu/loadcore_common.c: likewise
26011 * efiemu/loadcore64.c: likewise
26012 * efiemu/runtime/efiemu.sh: likewise
26013 * efiemu/runtime/efiemu.S: likewise
26014 * efiemu/runtime/efiemu.c: likewise
26015 * efiemu/runtime/config.h: likewise
26016 * efiemu/prepare32.c: likewise
26017 * efiemu/main.c: likewise
26018 * efiemu/modules/pnvram.c: likewise
26019 * efiemu/modules/i386: likewise
26020 * efiemu/modules/i386/pc: likewise
26021 * efiemu/modules/acpi.c: likewise
26022 * efiemu/i386/pc/cfgtables.c: likewise
26023 * efiemu/i386/loadcore64.c: likewise
26024 * efiemu/i386/loadcore32.c: likewise
26025 * efiemu/prepare64.c: likewise
26026 * efiemu/loadcore.c: likewise
26027 * efiemu/symbols.c: likewise
26028 * efiemu/mm.c: likewise
26029 * efiemu/loadcore32.c: likewise
7dd4a573 26030
260312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26032
26033 ACPI spoofing
26034
26035 * commands/acpi.c: new file
26036 * commands/i386/pc/acpi.c: likewise
26037 * commands/efi/acpi.c: likewise
26038 * include/grub/acpi.h: likewise
26039 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26040 (acpi_mod_SOURCES): new variable
26041 (acpi_mod_CFLAGS): likewise
26042 (acpi_mod_LDFLAGS): likewise
26043 * conf/i386-efi.rmk: likewise
26044 * conf/x86_64-efi.rmk: likewise
26045
7dd4a573 260462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26047
26048 Missing part from mmap patch
26049
26050 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26051 (grub_mmap_unregister)
26052 (grub_mmap_free_and_unregister): use grub_mmap_register
26053
7dd4a573 260542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26055
26056 Mmap services
26057
26058 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26059 * loader/i386/linux.c (find_mmap_size): likewise
26060 (allocate_pages): likewise
26061 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26062 (grub_fill_multiboot_mmap): likewise
26063 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26064 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26065 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26066 (OPENBSD_MMAP_RESERVED): likewise
26067 * include/grub/i386/pc/memory.h: include grub/memory.h
26068 (grub_lower_mem): removed
26069 (grub_upper_mem): likewise
26070 (GRUB_MACHINE_MEMORY_ACPI): new definition
26071 (GRUB_MACHINE_MEMORY_NVS): likewise
26072 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26073 (GRUB_MACHINE_MEMORY_HOLE): likewise
26074 (grub_machine_mmap_register): likewise
26075 (grub_machine_mmap_unregister): likewise
26076 (grub_machine_get_upper): likewise
26077 (grub_machine_get_lower): likewise
26078 (grub_machine_get_post64): likewise
26079 * include/grub/i386/efi/memory.h: new file
26080 * include/grub/x86_64/efi/memory.h: likewise
26081 * include/grub/efi/memory.h: likewise
26082 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26083 (mmap_mod_SOURCES): new variable
26084 (mmap_mod_LDFLAGS): likewise
26085 (mmap_mod_ASFLAGS): likewise
26086 * conf/i386-coreboot.rmk: likewise
26087 * conf/i386-ieee1275.rmk: likewise
26088 * conf/i386-efi.rmk: likewise
26089 * conf/x86_64-efi.rmk: likewise
26090 * include/grub/types.h (UINT_TO_PTR): new macro
26091 (PTR_TO_UINT32): likewise
26092 (PTR_TO_UINT64): likewise
26093 * include/grub/memory.h: new file
26094 * mmap/i386/pc/mmap.c: likewise
26095 * mmap/i386/pc/mmap_helper.S: likewise
26096 * mmap/i386/uppermem.c: likewise
26097 * mmap/mmap.c: likewise
26098 * mmap/efi/mmap.c: likewise
7dd4a573 26099 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26100 grub_upper_mem
26101 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26102 (grub_upper_mem): likewise
26103 (grub_machine_init): don't use grub_upper_mem,
26104 make grub_lower_mem local
26105 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26106 grub_mmap_iterate and grub_mmap_get_upper
26107 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26108
d558e6b5 261092009-05-02 Bean <bean123ch@gmail.com>
26110
26111 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26112 script/sh/parser.y.
26113 (pkglib_MODULES): Add normal.mod and sh.mod.
26114 (normal_SOURCES): New variable.
26115 (normal_mod_CFLAGS): Likewise.
26116 (normal_mod_LDFLAGS): Likewise.
26117 (sh_mod_SOURCES): Likewise.
26118 (sh_mod_CFLAGS): Likewise.
26119 (sh_mod_LDFLAGS): Likewise.
26120
26121 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26122 script/sh/lexer.c_DEPENDENCIES.
26123 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26124 kern/rescue_reader.c and kern/rescue_parser.c.
26125 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26126 (grub_emu_SOURCES): Change source files.
26127 (pkglib_MODULES): Remove normal.mod.
26128 (normal_SOURCES): Removed.
26129 (normal_mod_CFLAGS): Likewise.
26130 (normal_mod_LDFLAGS): Likewise.
26131 * conf/i386-coreboot.rmk: Likewise.
26132 * conf/i386-efi.rmk: Likewise.
26133 * conf/i386-ieee1276.rmk: Likewise.
26134 * conf/powerpc-ieee1275.rmk: Likewise.
26135 * conf/sparc64-ieee1275.rmk: Likewise.
26136 * conf/x86_64-efi.rmk: Likewise.
26137
26138 * include/grub/command.h (grub_command_execute): New inline function.
26139
26140 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26141
26142 * include/grub/normal.h: Remove <grub/setjmp.h>.
26143 (grub_fs_module_list): Moved to normal/autofs.c.
26144 (grub_exit_env): Removed.
26145 (grub_command_execute): Likewise.
26146 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26147 parameter script.
26148 (read_command_list): New function declaration.
26149 (read_fs_list): Likewise.
26150
26151 * include/parser.h: Include <grub/reader.h>.
26152 (grub_parser_split_cmdline): Change type of getline parameter.
26153 (grub_parser): New structure.
26154 (grub_parser_class): New variable.
26155 (grub_parser_execute): New function declaration.
26156 (grub_register_rescue_parser): Likewise.
26157 (grub_parser_register): New inline function.
26158 (grub_parser_unregister): Likewise.
26159 (grub_parser_get_current): Likewise.
26160 (grub_parser_set_current): Likewise.
26161
26162 * include/grub/reader.h: New file.
26163 * kern/reader.c: Likewise.
26164 * kern/rescue_parser.c: Likewise.
26165 * kern/rescue_reader.c: Likewise.
26166 * normal/autofs.c: Likewise.
26167 * normal/dyncmd.c: Likewise.
26168
26169 * include/grub/rescue.h: Removed.
26170 * normal/command.h: Likewise.
26171
26172 * include/grub/script.h: Moved to ...
26173 * include/grub/script_sh.h: ... Moved here.
26174 * normal/execute.c: Moved to ...
26175 * script/sh/execute.c: ... Moved here.
26176 * normal/function.c: Moved to ...
26177 * script/sh/function.c: ... Moved here.
26178 * normal/lexer.c: Moved to ...
26179 * script/sh/lexer.c: ... Moved here.
26180 * normal/parser.y: Moved to ...
26181 * script/sh/parser.y: ... Moved here.
26182 * normal/script.c: Moved to ...
26183 * script/sh/script.c: ... Moved here.
26184
26185 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26186 <grub/reader.h>.
26187 (grub_exit_env): Removed.
26188 (fs_module_list): Moved to normal/autofs.c.
26189 (grub_file_getline): Don't handle comment here.
26190 (free_menu): Skip removed field entry->commands.
26191 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26192 script parameter.
26193 (read_config_file): Removed nested parameter, change getline function.
26194 (grub_enter_normal_mode): Removed.
26195 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26196 (read_command_list): Likewise.
26197 (autoload_fs_module): Moved to normal/autofs.c.
26198 (read_fs_list): Likewise.
26199 (reader_nested): New variable.
26200 (grub_normal_execute): Run parser.sh to switch to sh parser.
26201 (grub_cmd_rescue): Removed.
26202 (cmd_normal): Removed.
26203 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26204 rescue command.
26205 (grub_cmdline_run): New function.
26206 (grub_normal_reader_init): Likewise.
26207 (grub_normal_read_line): Likewise.
26208 (grub_env_write_pager): Likewise.
26209 (cmdline): New variable.
26210 (grub_normal_reader): Likewise.
26211 (GRUB_MOD_INIT): Register normal reader and set as current, register
26212 pager hook, register normal command with grub_register_command_prio,
26213 so that it won't show up in command.lst.
26214 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26215 grub_fs_autoload_hook.
26216
26217 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26218 (grub_menu_execute_entry): Replace grub_script_execute with
26219 grub_parser_execute, change parameter to grub_command_execute.
26220
26221 * normal/menu_text.c: Remove <grub/script.h>.
26222
26223 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26224 and <grub/parser.h>.
26225 (run): Change editor_getline to use new parser interface. Change
26226 parameter to grub_command_execute.
26227
26228 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26229 <grub/reader.h> and <grub/parser.h>.
26230 (grub_load_normal_mode): Execute normal command.
26231 (grub_main): Call grub_register_core_commands,
26232 grub_register_rescue_parser and grub_register_rescue_reader, use
26233 grub_reader_loop to enter input loop.
26234
7dd4a573 26235 * kern/parser.c (grub_parser_split_cmdline): Change type of
26236 getline parameter.
d558e6b5 26237 (grub_parser_class): New variable.
26238 (grub_parser_execute): New function.
26239
26240 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26241 * loader/multiboot2.c: Likewise.
26242 * loader/sparc64/ieee1275/linux.c: Likewise.
26243
26244 * util/grub-emu.c (read_command_list): New dummy function.
26245
18db813d 262462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26247
26248 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26249 count to 16 for CCISS and IDA.
26250
6c67de15 262512009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * normal/menu_text.c (grub_wait_after_message): Print a newline
26254 after waiting for user input.
26255
26256 * loader/i386/linux.c: Include `<grub/normal.h>'.
26257 (grub_cmd_linux): Improve the error message about `ask' mode, by
26258 waiting for user input so it's not missed (we can do this, since
26259 user requested interaction).
26260
d9dc87b0 262612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 Added missing lst to grub-mkrescue
26264
26265 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26266 and ${input_dir}/parttool.lst
26267
ac8a2baa 262682009-04-30 David S. Miller <davem@davemloft.net>
26269
ad22a610 26270 * util/hostdisk.c (device_is_wholedisk): New function.
26271 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26272 zero only if device_is_wholedisk() returns true.
26273
6966215d 26274 * util/hostdisk.c (convert_system_partition_to_system_disk):
26275 Handle virtual disk devices named /dev/vdiskX as found on sparc
26276 and powerpc.
26277
ac8a2baa 26278 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26279 lettered partition specifier is found, convert to numbered.
26280
979b4fb4 262812009-04-29 David S. Miller <davem@davemloft.net>
26282
e2bf39b2 26283 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26284 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26285
3c64e104 26286 * normal/command.c: Add missing newline at end of file.
26287
979b4fb4 26288 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26289 warnings.
26290 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26291 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26292 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26293 ihandles have a 32-bit type but need to be stored in a "void *".
26294
136d9f82 262952009-04-28 Pavel Roskin <proski@gnu.org>
26296
9459c306 26297 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26298 not disk. Adjust all dependencies.
2e08a26a 26299 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26300 grub_disk_close().
26301
136d9f82 26302 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26303 parent's partition, don't copy it by reference, as it gets freed
26304 on close.
26305
7dd4a573 263062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26307
26308 Preboot hooks support
26309
26310 * commands/boot.c (struct grub_preboot_t): new declaration
26311 (preboots_head): new variable
26312 (preboots_tail): likewise
26313 (grub_loader_register_preboot_hook): new function
26314 (grub_loader_unregister_preboot_hook): likewise
26315 (grub_loader_set): launch preboot hooks
26316 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26317 (grub_loader_register_preboot_hook): new declaration
26318 (grub_loader_unregister_preboot_hook): likewise
26319
5af922b5 263202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26321
26322 Warning fix
26323
7dd4a573 26324 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26325 calling grub_dprintf
26326
a5562c30 263272009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 Bug and warning fixes
26330
7dd4a573 26331 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26332 declaration
26333 * commands/test.c (test_parse): fixed bug with file tests and corrected
26334 declaration of find_file
26335
4006f85c 263362009-04-26 Pavel Roskin <proski@gnu.org>
26337
26338 * Makefile.in: Don't install empty manual pages if help2man is
26339 missing. Use help2man option for output, not shell redirection.
26340
5c77c3de 263412009-04-26 David S. Miller <davem@davemloft.net>
26342
26343 * util/grub-mkdevicemap.c (make_device_map): Add missing
26344 NESTED_FUNC_ATTR to process_device().
26345
033b10a8 263462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26347
26348 Test command
26349
26350 * commands/test.c: rewritten to use bash-like test
26351
e4343593 263522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 Parttool autoloading and improvements
26355
7dd4a573 26356 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26357 (parttool.lst): new target
26358 * genmk.rb: generate parttool-*
26359 (CLEANFILES): add #{parttool}
26360 (PARTTOOLFILES): new variable
26361 * genparttoollist.sh: new file
7dd4a573 26362 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26363 (grub_pcpart_type): likewise
26364 * commands/parttool.c (helpmsg): new variable
26365 (grub_cmd_parttool): output help if not enough arguments are supplied
26366 autoload modules
26367 (GRUB_MOD_INIT(parttool)): use helpmsg
26368
0d312500 263692009-04-24 David S. Miller <davem@davemloft.net>
26370
7dd4a573 26371 Avoiding opening same device multiple times in device iterator.
0d312500 26372
26373 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26374 and use it to build a list of partitions in iterate_disk() and
0d312500 26375 iterate_partition().
26376
ac20caff 26377 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26378 on disk->data.
26379
0dcf7495 26380 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26381 grub_devalias_iterate() result instead of unconditional 0.
26382 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26383 Also, capture hook return value, either directly or via
26384 grub_children_iterate(), and propagate to caller.
26385 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26386 grub_children_iterate): Return value is now 'int' instead of
26387 'grub_err_t'.
26388 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26389 like a proper iterator, stopping when hooks return non-zero.
26390 (grub_devalias_iterate): Likewise.
26391
c8c08833 263922009-04-23 David S. Miller <davem@davemloft.net>
26393
26394 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26395
f01005a8 263962009-04-22 David S. Miller <davem@davemloft.net>
26397
26398 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26399 is larger than address_cells, use that value for address_cells too.
26400
4e8269da 26401 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26402 IEEE1275_MAX_PATH_LEN): Define.
26403 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26404 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26405 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26406 'devtype'. Explicitly NULL terminate devalias expansion.
26407
a1447506 26408 * util/sparc64/ieee1275/misc.c: New file.
26409 * util/sparc64/ieee1275/grub-setup.c: New file.
26410 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26411 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26412 * util/sparc64/ieee1275/grub-install.in: New file.
26413 * util/ieee1275/ofpath.c: New file.
26414 * util/ieee1275/devicemap.c: New file.
26415 * util/devicemap.c: New file.
26416 * util/deviceiter.c: New file.
26417 * kern/sparc64/ieee1275/init.c: New file.
26418 * include/grub/util/ofpath.h: New file.
26419 * include/grub/util/deviceiter.h: New file.
26420 * util/grub-mkdevicemap.c: Include deviceiter.h.
26421 Implement using grub_util_emit_devicemap_entry and
26422 grub_util_iterate_devices.
26423 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26424 util/devicemap.c into grub-mkdevicemap
26425 * conf/i386-efi.rmk: Likewise.
26426 * conf/i386-ieee1275.rmk: Likewise.
26427 * conf/i386-pc.rmk: Likewise.
26428 * conf/powerpc-ieee1275.rmk: Likewise.
26429 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26430 images and installation utilities. Build kernel as image
26431 instead of as elf binary. Use common rules as much as possible.
26432
7dd4a573 264332009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 26434
26435 Correct GPT definition
26436
7dd4a573 26437 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 26438 of "attrib" member
26439
c6c5219f 264402009-04-19 Felix Zielcke <fzielcke@z-51.de>
26441
26442 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26443
0552ff9f 264442009-04-19 David S. Miller <davem@davemloft.net>
26445
26446 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26447 (grub_rescue_cmd_linux): Rename to...
26448 (grub_cmd_linux): and fix prototype.
26449 (grub_rescue_cmd_initrd): Rename to...
26450 (grub_cmd_initrd): and fix prototype.
26451 (cmd_linux, cmd_initrd): New.
26452 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26453 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26454
d1a282fc 264552009-04-17 Pavel Roskin <proski@gnu.org>
26456
07c5039f 26457 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26458 format.
26459 (grub_ohci_transfer): Likewise.
26460
b012002d 26461 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26462
1bc09c35 26463 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26464 return without a value. Fix inconsistent indentation.
26465
e0ff9126 26466 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26467 match struct grub_fs.
26468
d1a282fc 26469 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26470 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26471 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26472 * commands/lspci.c (grub_lspci_iter): Likewise.
26473
a96df3f2 264742009-04-16 Bean <bean123ch@gmail.com>
26475
26476 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26477 value.
26478
41bb0fe9 264792009-04-15 Pavel Roskin <proski@gnu.org>
26480
26481 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26482 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26483 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26484 definitions.
26485
596c6970 264862009-04-15 Felix Zielcke <fzielcke@z-51.de>
26487
26488 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 26489 that no multiple data or metadata areas are supported and `Unknown
596c6970 26490 metadata header'.
26491
7dd4a573 264922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 26493
26494 Move loader out of the kernel
26495
26496 * kern/loader.c: moved to ...
26497 * commands/boot.c: ... moved here
26498 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26499 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26500 * include/grub/kernel.h (grub_machine_fini): export
26501 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26502 (grub_loader_set): likewise
26503 (grub_loader_unset): likewise
26504 (grub_loader_boot): likewise
26505 * conf/common.rmk: new module boot.mod
26506 (pkglib_MODULES): add boot.mod
26507 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26508 (grub_emu_SOURCES): likewise
26509 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26510 (grub_emu_SOURCES): likewise
26511 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26512 (grub_emu_SOURCES): likewise
26513 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26514 (grub_emu_SOURCES): likewise
26515 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26516 (grub_emu_SOURCES): likewise
7dd4a573 26517 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26518 (grub_emu_SOURCES): likewise
0d5d5653 26519 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 26520 (grub_emu_SOURCES): likewise
0d5d5653 26521
7dd4a573 265222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 26523
26524 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 26525
5999d619 26526 * kern/misc.c (grub_itoa): Removed function
26527 (grub_ltoa): likewise
26528 (grub_vsprintf): use grub_lltoa
26529
7dd4a573 265302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 26531
26532 Restore grub-emu
26533
26534 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26535 * conf/i386-coreboot.rmk: likewise
26536 * conf/i386-ieee1275.rmk: likewise
26537 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26538
20318222 265392009-04-15 Felix Zielcke <fzielcke@z-51.de>
26540
26541 * INSTALL: Add that `./autogen.sh' needs to be run before
26542 `./configure.'.
26543
d05f0df3 265442009-04-14 Bean <bean123ch@gmail.com>
26545
26546 * Makefile.in (pkglib_DATA): Add handler.lst.
26547 (handler.lst): New rule.
26548
26549 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26550 * conf/i386-coreboot.rmk: Likewise.
26551 * conf/i386-ieee1275.rmk: Likewise.
26552 * conf/i386-efi.rmk: Likewise.
26553 * conf/x86_64-efi.rmk: Likewise.
26554 * conf/powerpc-ieee1275.rmk: Likewise.
26555 * conf/sparc64-ieee1275.rmk: Likewise.
26556
26557 * genhandlerlist.sh: New file.
26558
26559 * genmk.rb: Add rules to generate handler.lst.
26560
26561 * include/grub/normal.h (grub_file_getline): New function definition.
26562 (read_handler_list): Likewise.
26563 (free_handler_list): Likewise.
26564
26565 * include/grub/term.h (grub_term_register_input): Add name parameter
26566 for auto generation of handler.lst.
26567 (grub_term_register_output): Likewise.
26568
26569 * normal/handler.c: New file.
26570
26571 * normal/main.c (get_line): Renamed to grub_file_getline.
26572 (read_config_file): Use the newly renamed grub_file_getline.
26573 (read_command_list): Likewise.
26574 (read_fs_list): Likewise.
26575 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26576 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26577
26578 * term/efi/console.c (grub_console_init): Add name parameter for auto
26579 generation of handler.lst.
26580 * term/gfxterm.c: Likewise.
26581 * term/i386/pc/at_keyboard.c: Likewise.
26582 * term/i386/pc/console.c: Likewise.
26583 * term/i386/pc/serial.c: Likewise.
26584 * term/i386/pc/vesafb.c: Likewise.
26585 * term/i386/pc/vga.c: Likewise.
26586 * term/i386/pc/vga_text.c: Likewise.
26587 * term/ieee1275/ofconsole.c: Likewise.
26588 * term/usb_keyboard.c: Likewise.
26589
33c846be 265902009-04-14 Bean <bean123ch@gmail.com>
26591
26592 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26593 properly with null character.
26594
4484e01e 265952009-04-14 Felix Zielcke <fzielcke@z-51.de>
26596
26597 * configure: Remove.
26598 * config.h.in: Likewise.
f93d668e 26599 * stamp-h.in: Likewise.
4484e01e 26600 * DISTLIST: Likewise.
26601 * conf/common.mk: Likewise.
26602 * conf/i386-coreboot.mk: Likewise.
26603 * conf/i386-efi.mk: Likewise.
26604 * conf/i386-ieee1275.mk: Likewise.
26605 * conf/i386.mk: Likewise.
26606 * conf/i386-pc.mk: Likewise.
26607 * conf/powerpc-ieee1275.mk: Likewise.
26608 * conf/sparc64-ieee1275.mk: Likewise.
26609 * conf/x86_64-efi.mk: Likewise.
26610
26611 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26612 develop on GRUB.
26613
7dd4a573 266142009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 26615 David S. Miller <davem@davemloft.net>
26616
26617 * util/hostdisk.c (make_device_name): Fix buffer length
26618 calculations.
26619
e25b5a8c 266202009-04-14 Felix Zielcke <fzielcke@z-51.de>
26621
26622 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26623 <sys/param.h> and <sys/sysctl.h>.
26624 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26625 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26626 opening the device and reset them afterwards.
26627
1f1f580c 266282009-04-13 Pavel Roskin <proski@gnu.org>
26629
26630 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26631 Reported by John Stanley <jpsinthemix@verizon.net>
26632
7ebc2d6b 266332009-04-13 Robert Millan <rmh@aybabtu.com>
26634
26635 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 26636 that name for menuentries when appropriate.
7ebc2d6b 26637
d8ba3667 266382009-04-13 Felix Zielcke <fzielcke@z-51.de>
26639
26640 * util/grub.d/10_freebsd.in: Add a missing `fi'.
26641
cba416eb 266422009-04-13 Robert Millan <rmh@aybabtu.com>
26643
26644 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
26645 to Linux, simply abort telling the user it's no longer supported.
26646
a547a745 266472009-04-13 Felix Zielcke <fzielcke@z-51.de>
26648
26649 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 26650 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 26651 `freebsd_loadenv' only when devices.hints exist.
26652
232a769c 266532009-04-13 Pavel Roskin <proski@gnu.org>
26654
26655 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26656
c3012039 266572009-04-13 Felix Zielcke <fzielcke@z-51.de>
26658
26659 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26660 partition number.
26661 (grub_drive): Likewise.
26662
234022fe 266632009-04-13 David S. Miller <davem@davemloft.net>
26664
26665 * kern/sparc64/ieee1275/ieee1275.c: New file.
26666 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26667 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26668 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26669 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26670 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26671 grub_ieee1275_alloc_physmem): Declare new exported functions.
26672
d8e1836c 26673 * include/grub/sparc64/ieee1275/loader.h: New file.
26674 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26675 * include/grub/sparc64/kernel.h: Likewise.
26676 * loader/sparc64/ieee1275/linux.c: Likewise.
26677
96bd81ec 26678 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26679 (grub_fstest_SOURCES): Likewise.
26680
6a4737e5 26681 * util/hostdisk.c (make_device_name): Do not make any assumptions
26682 about the length of drive names.
26683
1d7a72fd 26684 * kern/dl.c (grub_dl_load_file): Close file immediately when
26685 we are done using it.
26686
56bc2471 266872009-04-12 David S. Miller <davem@davemloft.net>
26688
26689 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26690 values. Noticed by Pavel Roskin.
26691
df38d0bb 26692 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26693 target compiler.
7dd4a573 26694
e382e93a 26695 * genmk.rb: Add more flexible image type specification, also
26696 pass --strip-unneeded to objcopy.
26697 * conf/i386-pc.rmk: Use *_FORMAT.
26698 * conf/i386-pc.mk: Rebuilt.
26699
f5dbbca9 26700 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26701 (OFDISK_HASH_SZ): Define.
26702 (ofdisk_hash): New hash table.
26703 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26704 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26705 instead of device phandle which is not unique.
26706
91c88b12 26707 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26708 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26709 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26710 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26711 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
26712 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
26713 GRUB_KERNEL_MACHINE_DATA_END): Define.
26714 (grub_kernel_image_size, grub_total_module_size): Declare.
26715
5b5d4aa5 267162009-04-12 Pavel Roskin <proski@gnu.org>
26717
7dd4a573 26718 * configure.ac: Change the logic when we check for target tools.
26719 Do it when the target is specified and it's different from the
26720 specified value of the host.
5b5d4aa5 26721
c91e1793 267222009-04-11 Felix Zielcke <fzielcke@z-51.de>
26723
26724 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
26725 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
26726 GNU/kFreeBSD. Check if a device is a character device. Use
26727 DIOCGMEDIASIZE to get the size.
26728 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
26729 support for GNU/kFreeBSD.
26730 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
26731 is a character device instead of a block device. Add support for
26732 FreeBSD device names.
26733
26734 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
26735 is a character device instead of a block device.
26736
26737 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
26738 is a character device instead of a block device.
26739
b1ac8644 267402009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
26741
26742 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
26743 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
26744 FreeBSD. Check if a device is a character device. Use
26745 DIOCGMEDIASIZE to get the size.
26746 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
26747 support for FreeBSD.
26748 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
26749 is a character device instead of a block device. Add support for
26750 FreeBSD device names.
26751
26752 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
26753 a character device instead of a block device.
26754 (grub_util_check_char_device): New function.
26755
26756 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
26757 a character device instead of a block device.
26758
26759 * include/grub/util/getroot.h (grub_util_check_char_device): New
26760 prototype.
26761
a3f7515a 267622009-04-11 David S. Miller <davem@davemloft.net>
26763
26764 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
26765 static libgcc.
26766 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
26767 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
26768 function, if present.
26769 (__bswapdi2): Likewise.
26770
0d44993d 26771 * include/grub/sparc64/ieee1275/boot.h: New file.
26772 * boot/sparc64/ieee1275/boot.S: Likewise.
26773 * boot/sparc64/ieee1275/diskboot.S: Likewise.
26774
ed3d2bc2 26775 * kern/misc.c (grub_ltoa): New function.
26776 (grub_vsprintf): Use it to format 'long' integers.
26777
d3bfb59c 267782009-04-10 David S. Miller <davem@davemloft.net>
26779
26780 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
26781 slots are of type grub_ieee1275_cell_t.
26782 (grub_nand_read): Likewise.
26783 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
26784 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
26785 macros are used to compare values in arg/ret block of the call.
26786 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26787 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
26788 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
26789 grub_ieee1275_instance_to_path, grub_ieee1275_write,
26790 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
26791 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
26792 grub_ieee1275_close, grub_ieee1275_set_property,
26793 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
26794 grub_ieee1275_cell_t.
26795 * kern/ieee1275/openfw.c (grub_map): Likewise.
26796 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
26797 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
26798
450e2238 26799 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
26800 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
26801 (grub_devalias_iterate): Likewise.
26802
7dd4a573 268032009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 26804
26805 UFS improvements
26806
26807 * fs/ufs.c (INODE_NBLOCKS): new definition
26808 (struct grub_ufs_dirent): added fields for non-BSD dirents
26809 (grub_ufs_get_file_block): fixed double indirect handling
26810 (grub_ufs_lookup_symlink): use more robust way to determine whether
26811 symlink is inline
26812 (grub_ufs_find_file): support for non-BSD dirents
26813 (grub_ufs_dir): support for non-BSD dirents
26814
e7e6862a 268152009-04-10 Bean <bean123ch@gnail.com>
26816
26817 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
26818 attribute, otherwise the size would be wrong for i386 platform.
26819
26820 * include/grub/pci.h (grub_pci_read_word): New inline function.
26821 (grub_pci_read_byte): Likewise.
26822 (grub_pci_write): Likewise.
26823 (grub_pci_write_word): Likewise.
26824 (grub_pci_write_byte): Likewise.
26825
26826 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
26827
26828 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
26829 (find_framebuf): Scan pci to locate the frame buffer address.
26830
26831 * commands/efi/fixvideo.c: New file.
26832
26833 * commands/efi/loadbios.c: Likewise.
26834
26835 * commands/memrw.c: Likewise.
26836
26837 * util/grub-dumpbios.in: Likewise.
26838
26839 * conf/common.rmk (grub-dumpbios): New utility.
26840 (pkglib_MODULES): New module memrw.mod.
26841 (memrw_mod_SOURCE): New macro.
26842 (memrw_mod_CFLAGS): Likewise.
26843 (memrw_mod_LDFLAGS): Likewise.
26844
7dd4a573 26845 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26846 fixvideo.mod.
26847 (loadbios_mod_SOURCE): New macro.
26848 (loadbios_mod_CFLAGS): Likewise.
26849 (loadbios_mod_LDFLAGS): Likewise.
26850 (fixvideo_mod_SOURCE): Likewise.
26851 (fixvideo_mod_CFLAGS): Likewise.
26852 (fixvideo_mod_LDFLAGS): Likewise.
26853
7dd4a573 26854 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26855 fixvideo.mod.
26856 (loadbios_mod_SOURCE): New macro.
26857 (loadbios_mod_CFLAGS): Likewise.
26858 (loadbios_mod_LDFLAGS): Likewise.
26859 (fixvideo_mod_SOURCE): Likewise.
26860 (fixvideo_mod_CFLAGS): Likewise.
26861 (fixvideo_mod_LDFLAGS): Likewise.
26862
af63ada2 268632009-04-08 Felix Zielcke <fzielcke@z-51.de>
26864
26865 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
26866
c2cdde70 268672009-04-07 David S. Miller <davem@davemloft.net>
26868
26869 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
26870 support for R_SPARC_OLO10 relocations. Fix compile warning for
26871 R_SPARC_WDISP30 case.
ea3f72cf 26872 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 26873
761319cf 268742009-04-06 Pavel Roskin <proski@gnu.org>
26875
1007d1f5 26876 * include/grub/misc.h (ARRAY_SIZE): New macro.
26877 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26878 New macro.
26879 * loader/i386/linux.c (allocate_pages): Use free_pages().
26880 (grub_linux_unload): Don't use free_pages().
26881 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26882 wrong index. Treat all other modes as text modes.
26883 (grub_cmd_linux): Initialize vid_mode unconditionally to
26884 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26885
761319cf 26886 * commands/help.c (print_command_help): Use cmd->prio, not
26887 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26888
ea761d40 268892009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 26890
ea761d40 26891 Parttool
26892
26893 * parttool/pcpart.c: new file
26894 * commands/parttool.c: likewise
26895 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26896 (parttool_mod_SOURCES): new variable
26897 (parttool_mod_CFLAGS): likewise
26898 (parttool_mod_LDFLAGS): likewise
26899 (pcpart_mod_SOURCES): likewise
26900 (pcpart_mod_CFLAGS): likewise
26901 (pcpart_mod_LDFLAGS): likewise
7dd4a573 26902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 26903 and parttool/pcpart.c
26904 * conf/i386-efi.rmk: likewise
26905 * conf/i386-ieee1275.rmk: likewise
26906 * conf/i386-pc.rmk: likewise
26907 * conf/powerpc-ieee1275.rmk: likewise
26908 * conf/sparc64-ieee1275.rmk: likewise
26909 * conf/x86_64-ieee1275.rmk: likewise
26910
05aaebfb 269112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Support for mtime and further expandability of dir command
26914
26915 * include/grub/lib/datetime.h: moved to ...
7dd4a573 26916 * include/grub/datetime.h: ... moved here and added
05aaebfb 26917 declaration of grub_unixtime2datetime. All users updated
7dd4a573 26918 * include/grub/fs.h: new syntax for dir and mtime functions in
26919 struct grub_fs
05aaebfb 26920 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26921 and GRUB_FSHELP_FLAGS_MASK
26922 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26923 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26924 (grub_ext2_mtime): new function
26925 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26926 (grub_hfsplus_mtime): new function
26927 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26928 (GRUB_UFS_ATTR_FILE): likewise
26929 (GRUB_UFS_ATTR_LNK): likewise
26930 (struct grub_ufs_sblock): new fields mtime
26931 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26932 all users updated
26933 (grub_ufs_dir): mtime support
26934 (grub_ufs_mtime): new function
26935 * fs/affs.c (grub_affs_dir): use new dir syntax
26936 * fs/afs.c (grub_afs_dir): likewise
26937 * fs/cpio.c (grub_cpio_dir): likewise
26938 * fs/fat.c (grub_fat_find_dir): likewise
26939 * fs/hfs.c (grub_hfs_dir): likewise
26940 * fs/iso9660.c (grub_iso9660_dir): likewise
26941 * fs/jfs.c (grub_jfs_dir): likewise
26942 * fs/minix.c (grub_minix_dir): likewise
26943 * fs/ntfs.c (grub_ntfs_dir): likewise
26944 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26945 * fs/sfs.c (grub_sfs_dir): likewise
26946 * fs/xfs.c (grub_xfs_dir): likewise
26947 * util/hostfs.c (grub_hostfs_dir): likewise
26948 * lib/datetime.c: moved to ...
26949 * normal/datetime.c: ... moved here
26950 (grub_unixtime2datetime): new function
26951 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 26952 * normal/completion.c (iterate_dir): use new dir syntax
26953 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 26954 last modification time of a volume
7dd4a573 26955 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 26956 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 26957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 26958 (normal_mod_SOURCES): likewise
26959 (datetime_mod_SOURCES): Removed lib/datetime.c
26960 * conf/i386-efi.rmk: likewise
7dd4a573 26961 * conf/i386-ieee1275.rmk: likewise
05aaebfb 26962 * conf/i386-pc.rmk: likewise
26963 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26964 * conf/sparc64-ieee1275.rmk: likewise
26965 * conf/x86_64-efi.rmk: likewise
05aaebfb 26966
8a7e1a14 269672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 26970
26971 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 26972 on grub_fat_find_dir
26973 (grub_fat_find_dir): use grub_fat_iterate_dir
26974 (grub_fat_label): likewise
26975
04186a9c 269762009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26977
7dd4a573 26978 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 26979 and command.h
26980 remove extraneous kernel_elf_HEADERS
26981
da4c0bb6 269822009-04-04 Bean <bean123ch@gnail.com>
26983
26984 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26985
26986 * util/misc.c: Likewise.
26987
54ad9555 269882009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26989
26990 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26991 instead of grub_printf.
26992
7a6bf9f2 269932009-04-03 Robert Millan <rmh@aybabtu.com>
26994
26995 * loader/i386/linux.c (grub_linux_setup_video): Fill
26996 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26997 values from `mode info' structure instead of hardcoded
26998 values.
26999
3fcc2083 270002009-04-01 Pavel Roskin <proski@gnu.org>
27001
27002 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27003 unused now.
27004 * genmk.rb: Likewise.
27005 * configure.ac: Likewise.
27006
5ec9740b 270072009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27008
27009 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27010 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27011
5270cec8 270122009-04-01 David S. Miller <davem@davemloft.net>
27013
27014 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27015 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27016 (grub_setjmp): Mark with 'returns_twice' attribute.
27017 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27018 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27019 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27020
9c3dd854 270212009-04-01 Robert Millan <rmh@aybabtu.com>
27022
27023 Reapply fix from 2008-07-28 which was accidentally reverted; also
27024 perform the same fix to a similar check in same function.
27025
27026 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27027 with the same number are found, just use issue a warning with
27028 grub_dprintf(), as this error has been reported to be non-fatal.
27029
0d818b7e 270302009-03-31 Pavel Roskin <proski@gnu.org>
27031
27032 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27033 for cross-compilation.
27034
95646d92 270352009-03-30 Robert Millan <rmh@aybabtu.com>
27036
27037 Fix i386-ieee1275 build.
27038
27039 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27040 Remove declaration.
27041
6a003ed1 270422009-03-30 Pavel Roskin <proski@gnu.org>
27043
27044 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27045 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27046 zero-terminated, rely only on the strlen value. Fix comparison
27047 of strings differing in length.
27048
92f33540 270492009-03-30 Robert Millan <rmh@aybabtu.com>
27050
27051 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27052 checking for abi version. Improve error messages on BIOS to notify
27053 user about `linux16' command.
27054
a8c48fd5 270552009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27056
f968172e 27057 Leak fixes
a8c48fd5 27058
f968172e 27059 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27060 in case of collision
27061 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27062
9c323f09 270632009-03-29 Robert Millan <rmh@aybabtu.com>
27064
27065 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27066 set `vid_mode' accordingly.
27067 (grub_linux_boot): Process `vid_mode' and set video mode.
27068
ae68f423 270692009-03-29 Robert Millan <rmh@aybabtu.com>
27070
27071 * util/grub.d/10_linux.in (linux_entry): New function.
27072 Factorize generation of Linux boot entries.
27073
5709cfc4 270742009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27075
27076 Make the format of Environment Block plain text. The boot loader
27077 part is not tested well yet.
7dd4a573 27078
5709cfc4 27079 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27080 (buffer): Removed.
27081 (envblk): Likewise.
27082 (usage): Remove "info" and "clear". Add "unset". Update the
27083 description of "set", as this does not delete variables any
27084 longer.
27085 (create_envblk_file): Complete rewrite.
27086 (open_envblk_file): Likewise.
27087 (cmd_info): Removed.
27088 (cmd_list): Likewise.
27089 (cmd_set): Likewise.
27090 (cmd_clear): Likewise.
27091 (list_variables): New function.
27092 (write_envblk): Likewise.
27093 (set_variables): Likewise.
27094 (unset_variables): Likewise.
27095 (main): Complete rewrite.
27096
27097 * commands/loadenv.c (buffer): Removed.
27098 (envblk): Likewise.
27099 (open_envblk_file): New function.
27100 (read_envblk_file): Complete rewrite.
27101 (grub_cmd_load_env): Likewise.
27102 (grub_cmd_list_env): Likewise.
27103 (struct blocklist): New struct.
27104 (free_blocklists): New function.
27105 (check_blocklists): Likewise.
27106 (write_blocklists): Likewise.
27107 (grub_cmd_save_env): Complete rewrite.
27108
27109 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27110 a plain text signature.
27111 (GRUB_ENVBLK_MAXLEN): Removed.
27112 (struct grub_envblk): Complete rewrite.
27113 (grub_envblk_find): Removed.
27114 (grub_envblk_insert): Likewise.
27115 (grub_envblk_open): New prototype.
27116 (grub_envblk_set): Likewise.
27117 (grub_envblk_delete): Put const to VALUE.
27118 (grub_envblk_iterate): Put const to NAME and VALUE.
27119 (grub_envblk_close): New prototype.
27120 (grub_envblk_buffer): New inline function.
27121 (grub_envblk_size): Likewise.
27122
27123 * lib/envblk.c: Include grub/mm.h.
27124 (grub_env_find): Removed.
27125 (grub_envblk_open): New function.
27126 (grub_envblk_close): Likewise.
27127 (escaped_value_len): Likewise.
27128 (find_next_line): Likewise.
27129 (grub_envblk_insert): Removed.
27130 (grub_envblk_set): New function.
27131 (grub_envblk_delete): Complete rewrite.
27132 (grub_envblk_iterate): Likewise.
27133
a9368fd3 271342009-03-28 Robert Millan <rmh@aybabtu.com>
27135
27136 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27137 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27138 variables. Use 16-bit loader.
27139 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27140 loader.
27141 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27142 (grub_linux16_boot): ... this. Update all users.
27143 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27144 (grub_linux_boot): ... this. Update all users.
27145
27146 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27147 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27148 commands to `linux16' and `initrd16'.
27149 (GRUB_MOD_FINI(linux)): Rename to ...
27150 (GRUB_MOD_FINI(linux16)): ... this.
27151
e4dd5a7e 271522009-03-24 Pavel Roskin <proski@gnu.org>
27153
27154 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27155 not just for compilation.
27156
c04d6e05 271572009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 Move multiboot helper out of kernel
27160
27161 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27162 `loader/i386/multiboot_helper.S'.
27163 * conf/i386-coreboot.rmk: Likewise
27164 * conf/i386-ieee1275.rmk: Likewise
27165
27166 * kern/i386/loader.S: Move multiboot helpers from here...
27167 * loader/i386/multiboot_helper.S: ...moved here
27168 * include/grub/i386/loader.h: Move declarations of multiboot
27169 helpers from here...
27170 * include/grub/i386/multiboot.h: ...moved here
27171 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27172
42a5b3fc 271732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27174
27175 * kern/env.c (grub_env_context_open): Added an argument to specify
27176 whether a new context inherits exported variables from current
27177 one. This is useful when making a sandbox to interpret a config
27178 file.
27179 All callers updated.
27180
27181 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27182
b28bbc4e 271832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27184
27185 * kern/env.c (grub_env_context_close): Fix memory leaks.
27186
f04f02e4 271872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27188
27189 * normal/main.c (grub_normal_execute): Added an argument
27190 BATCH to specify if an interactive interface should be provided
27191 after reading a config file.
27192 All callers updated.
27193 (read_command_list): Prevent being executed twice.
27194 (read_fs_list): Likewise.
27195
42a5b3fc 27196 * include/grub/normal.h (grub_normal_execute): Updated the
27197 prototype.
f04f02e4 27198
41473ac2 271992009-03-22 Pavel Roskin <proski@gno.org>
27200
fbc00b0c 27201 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27202 _start.
27203 * kern/i386/pc/startup.S: Likewise.
27204 * kern/i386/efi/startup.S: Likewise.
27205 * kern/i386/ieee1275/startup.S: Likewise.
27206 * kern/i386/coreboot/startup.S: Likewise.
27207 * kern/x86_64/efi/startup.S: Likewise.
27208
41473ac2 27209 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27210 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27211 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27212
2274cc8f 272132009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27216
27217 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27218 limit detection.
27219 Use vaddr of correct segment for entry_point.
27220
b1b797cb 272212009-03-21 Bean <bean123ch@gmail.com>
27222
27223 * commands/blocklist.c: Add include file <grub/command.h>, remove
27224 <grub/normal.h> and <grub/arg.h>.
27225 (grub_cmd_blocklist): Use the new command interface.
27226 (GRUB_MOD_INIT): Likewise.
27227 (GRUB_MOD_FINI): Likewise.
27228 * commands/boot.c: Likewise.
27229 * commands/cat.c: Likewise.
27230 * commands/cmp.c: Likewise.
27231 * commands/configfile.c: Likewise.
27232 * commands/crc.c: Likewise.
27233 * commands/echo.c: Likewise.
27234 * commands/halt.c: Likewise.
27235 * commands/handler.c: Likewise.
27236 * commands/hdparm.c: Likewise.
27237 * commands/help.c: Likewise.
27238 * commands/hexdump.c: Likewise.
27239 * commands/loadenv.c: Likewise.
27240 * commands/ls.c: Likewise.
27241 * commands/lsmmap.c: Likewise.
27242 * commands/lspci.c: Likewise.
27243 * commands/loadenv.c: Likewise.
27244 * commands/read.c: Likewise.
27245 * commands/reboot.c: Likewise.
27246 * commands/search.c: Likewise.
27247 * commands/sleep.c: Likewise.
27248 * commands/test.c: Likewise.
27249 * commands/usbtest.c: Likewise.
27250 * commands/videotest.c: Likewise.
27251 * commands/i386/cpuid.c: Likewise.
27252 * commands/i386/pc/halt.c: Likewise.
27253 * commands/i386/pc/play.c: Likewise.
27254 * commands/i386/pc/pxecmd.c: Likewise.
27255 * commands/i386/pc/vbeinfo.c: Likewise.
27256 * commands/i386/pc/vbetest.c: Likewise.
27257 * commands/ieee1275/suspend.c: Likewise.
27258 * disk/loopback.c: Likewise.
27259 * font/font_cmd.c: Likewise.
27260 * hello/hello.c: Likewise.
27261 * loader/efi/appleloader.c: Likewise.
27262 * loader/efi/chainloader.c: Likewise.
27263 * loader/i386/bsd.c: Likewise.
27264 * loader/i386/efi/linux.c: Likewise.
27265 * loader/i386/ieee1275/linux.c: Likewise.
27266 * loader/i386/linux.c: Likewise.
27267 * loader/i386/pc/chainloader.c: Likewise.
27268 * loader/i386/pc/linux.c: Likewise.
27269 * loader/powerpc/ieee1275/linux.c: Likewise.
27270 * loader/multiboot_loader.c: Likewise.
27271 * term/gfxterm.c: Likewise.
27272 * term/i386/pc/serial.c: Likewise.
27273 * term/terminfo.c: Likewise.
27274
27275 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27276 * term/i386/pc/vga.c: Likewise.
27277 * video/readers/jpeg.c: Likewise.
27278 * video/readers/png.c: Likewise.
27279 * video/readers/tga.c: Likewise.
27280
27281 * util/grub-fstest (cmd_loopback): Removed.
27282 (cmd_blocklist): Likewise.
27283 (cmd_ls): Likewise.
27284 (grub_register_command): Likewise.
27285 (grub_unregister_command): Likewise.
27286 (execute_command): Use grub_command_find to locate command and execute
27287 it.
27288
27289 * include/grub/efi/chainloader.h: Removed.
27290 * loader/efi/chainloader_normal.c: Likewise.
27291 * loader/i386/bsd_normal.c: Likewise.
27292 * loader/i386/pc/chainloader_normal.c: Likewise.
27293 * loader/i386/pc/multiboot_normal.c: Likewise.
27294 * loader/linux_normal.c: Likewise.
27295 * loader/multiboot_loader_normal.c: Likewise.
27296 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27297
27298 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27299 and grub_register_command_p1.
27300
27301 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27302 kern/command.c, lib/arg.c and commands/extcmd.c.
27303 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27304 (minicmd_mod_SOURCES): New variable.
27305 (minicmd_mod_CFLAGS): Likewise.
27306 (minicmd_mod_LDFLAGS): Likewise.
27307 (extcmd_mod_SOURCES): Likewise.
27308 (extcmd_mod_CFLAGS): Likewise.
27309 (extcmd_mod_LDFLAGS): Likewise.
27310 (boot_mod_SOURCES): Removed.
27311 (boot_mod_CFLAGS): Likewise.
27312 (boot_mod_LDFLAGS): Likewise.
27313
27314 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27315 kern/corecmd.c.
27316 (kernel_img_HEADERS): Add command.h.
27317 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27318 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27319 and lib/arg.c.
27320 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27321 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27322 remove the corresponding normal mode command.
27323 (normal_mod_SOURCES): Remove normal/arg.c.
27324 * conf/i386-coreboot.rmk: Likewise.
27325 * conf/i386-efi.rmk: Likewise.
27326 * conf/i386-ieee1275.rmk: Likewise.
27327 * conf/powerpc-ieee1275.rmk: Likewise.
27328 * conf/x86_64-efi.rmk: Likewise.
27329
27330 * include/grub/arg.h: Move from here ...
27331 * include/grub/lib/arg.h: ... to here.
27332
27333 * normal/arg.c: Move from here ...
27334 * lib/arg.c: ... to here.
27335
27336 * commands/extcmd.c: New file.
27337 * commands/minicmd.c: Likewise.
27338 * include/grub/command.h: Likewise.
27339 * include/grub/extcmd.h: Likewise.
27340 * kern/command.c: Likewise.
27341 * kern/corecmd.c: Likewise.
27342
27343 * kern/list.c (grub_list_iterate): Return int instead of void.
27344 (grub_list_insert): New function.
27345 (grub_prio_list_insert): Likewise.
27346
27347 * kern/rescue.c (grub_rescue_command): Removed.
27348 (grub_rescue_command_list): Likewise.
27349 (grub_rescue_register_command): Likewise.
27350 (grub_rescue_unregister_command): Likewise.
27351 (grub_rescue_cmd_boot): Move to minicmd.c
27352 (grub_rescue_cmd_help): Likewise.
27353 (grub_rescue_cmd_info): Likewise.
27354 (grub_rescue_cmd_boot): Likewise.
27355 (grub_rescue_cmd_testload): Likewise.
27356 (grub_rescue_cmd_dump): Likewise.
27357 (grub_rescue_cmd_rmmod): Likewise.
27358 (grub_rescue_cmd_lsmod): Likewise.
27359 (grub_rescue_cmd_exit): Likewise.
27360 (grub_rescue_print_devices): Moved to corecmd.c.
27361 (grub_rescue_print_files): Likewise.
27362 (grub_rescue_cmd_ls): Likewise.
27363 (grub_rescue_cmd_insmod): Likewise.
27364 (grub_rescue_cmd_set): Likewise.
27365 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27366 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27367 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27368 commands, remove grub_rescue_register_command calls.
b1b797cb 27369
7d074e3c 27370 * normal/command.c (grub_register_command): Removed.
b1b797cb 27371 (grub_unregister_command): Likewise.
27372 (grub_command_find): Likewise.
27373 (grub_iterate_commands): Likewise.
27374 (rescue_command): Likewise.
27375 (export_command): Moved to corecmd.c.
27376 (set_command): Removed.
27377 (unset_command): Likewise.
27378 (insmod_command): Likewise.
27379 (rmmod_command): Likewise.
27380 (lsmod_command): Likewise.
27381 (grub_command_init): Likewise.
27382
27383 * normal/completion.c (iterate_command): Use cmd->prio to check for
27384 active command.
27385 (complete_arguments): Use grub_extcmd_t structure to find options.
27386 (grub_normal_do_completion): Change function grub_iterate_commands to
27387 grub_command_iterate.
27388
27389 * normal/execute.c (grub_script_execute_cmd): No need to parse
27390 argument here.
27391
27392 * normal/main.c (grub_dyncmd_dispatcher): New function.
27393 (read_command_list): Register unload commands as dyncmd.
27394 (grub_cmd_normal): Use new command interface, register rescue,
27395 unregister normal at entry, register normal, unregister rescue at exit.
27396
27397 * include/grub/list.h (grub_list_test_t): New type.
27398 (grub_list_iterate): Return int instead of void.
27399 (grub_list_insert): New function.
27400 (GRUB_AS_NAMED_LIST_P): New macro.
27401 (GRUB_AS_PRIO_LIST): Likewise.
27402 (GRUB_AS_PRIO_LIST_P): Likewise.
27403 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27404 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27405 (grub_prio_list): New structure.
27406 (grub_prio_list_insert): New function.
27407 (grub_prio_list_remove): New inline function.
27408
27409 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27410 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27411 (GRUB_COMMAND_FLAG_MENU): Likewise.
27412 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27413 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27414 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27415 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27416 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27417 (grub_command): Likewise.
27418 (grub_register_command): Likewise.
27419 (grub_command_find): Likewise.
27420 (grub_iterate_commands): Likewise.
27421 (grub_command_init): Likewise.
27422 (grub_arg_parse): Likewise.
27423 (grub_arg_show_help): Likewise.
27424
27425 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27426 (grub_rescue_unregister_command): Likewise.
27427
27428 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27429 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27430 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27431
27432 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27433 grub_rescue_cmd_initrd.
27434 * include/grub/i386/loader.h: Likewise.
27435 * include/grub/x86_64/loader.h: Likewise.
27436
27437 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27438
1f4147aa 274392009-03-21 Bean <bean123ch@gmail.com>
27440
27441 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27442 instead of stat in mingw environment.
27443
27444 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27445
27446 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27447
27448 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27449 AC_CONFIG_LINKS.
27450
2156d5ba 274512009-03-21 Bean <bean123ch@gmail.com>
27452
27453 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27454 out of range error.
27455
177b82ca 274562009-03-18 Michel Dänzer <michel@daenzer.net>
27457
27458 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27459 checking inode flags for EXT4_EXTENTS_FLAG.
27460
14aad807 274612009-03-18 Robert Millan <rmh@aybabtu.com>
27462
27463 * loader/i386/linux.c: Include `<grub/video.h>' and
27464 `<grub/i386/pc/vbe.h>'..
27465 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27466 (grub_linux32_boot): Attempt to configure video settings with
27467 grub_linux_setup_video().
27468 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27469 to avoid grub_console_fini() which would step out of graphical mode
27470 unconditionally.
27471
8cf83a27 274722009-03-14 Robert Millan <rmh@aybabtu.com>
27473
27474 Fix build on powerpc.
27475 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27476
40164e75 274772009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27480 background image command.
27481
c58bc32a 274822009-03-12 Colin D Bennett <colin@gibibit.com>
27483
27484 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27485 (grub_gfxterm_putchar): Extract pairs of identical calls to
27486 draw_cursor out of conditional blocks.
27487
5415144a 274882009-03-11 Pavel Roskin <proski@gnu.org>
27489
27490 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27491 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27492
6394042e 274932009-03-11 Robert Millan <rmh@aybabtu.com>
27494
27495 * loader/i386/multiboot_elfxx.c
27496 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27497
b7b50e5f 274982009-03-11 Felix Zielcke <fzielcke@z-51.de>
27499
27500 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27501 `kern/handler.c'.
27502
1ca7fc96 275032009-03-11 Robert Millan <rmh@aybabtu.com>
27504
27505 * loader/i386/multiboot.c (code_size): New variable.
27506 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 27507 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 27508 4-byte alignment to MBI and others by increasing
7d074e3c 27509 `boot_loader_name_length' appropriately.
1ca7fc96 27510
27511 * loader/i386/multiboot_elfxx.c
27512 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27513
a83ea1d2 275142009-03-09 Felix Zielcke <fzielcke@z-51.de>
27515
27516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27517 `fs/ext2.c'.
27518
aa9f3bff 275192009-03-08 Robert Millan <rmh@aybabtu.com>
27520
27521 Make loader/i386/linux.c usable on i386-pc again.
27522
27523 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27524 memory to heap.
27525 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27526 `#error' stanza.
27527
d8b3b60e 275282009-03-07 Bean <bean123ch@gmail.com>
27529
27530 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27531 allocation.
27532
b362c9e9 275332009-03-06 Robert Millan <rmh@aybabtu.com>
27534
27535 Fix display issue on terminals with screen size other than 80x25
27536 (e.g. gfxterm with resolution higher than 640x480).
27537
27538 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 27539 position relative to the center of the terminal instead of relying
b362c9e9 27540 on a hardcoded offset.
27541
9304eef1 275422009-03-04 Robert Millan <rmh@aybabtu.com>
27543
27544 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27545 installed.
27546
27547 * Makefile.in (host_kernel): New variable.
27548 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27549 scripts instead of just the windows one.
27550 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27551
eabc95fb 275522009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 27553
27554 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27555 `kern/handler.c'.
27556 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27557 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27560 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27561 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27562
ceb1223c 275632009-03-04 Felix Zielcke <fzielcke@z-51.de>
27564
27565 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27566 or if there's no space for the disk label and print the partition number on a
27567 invalid magic.
27568
4910684a 275692009-03-04 Felix Zielcke <fzielcke@z-51.de>
27570
27571 * util/misc.c: Include <time.h>.
27572 (grub_millisleep): New function.
27573
7e9ca17a 275742009-03-04 Bean <bean123ch@gmail.com>
27575
27576 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27577 another option -mno-red-zone.
27578
27579 * commands/handler.c: Change module description.
27580
27581 * kern/handler.c: Add missing space at the end of description line.
27582
27583 * kern/list.c: Likewise.
27584
f501677c 275852009-03-03 Robert Millan <rmh@aybabtu.com>
27586
27587 Move more components to the relocation area, and fix mbi pointer
27588 handling to use the destination rather than the origin (thanks to
27589 Vladimir Serbinenko for spotting).
27590
27591 * loader/i386/multiboot.c (mbi_dest): New variable.
27592 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27593 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27594 relocation area.
27595
9902d047 275962009-03-01 Bean <bean123ch@gmail.com>
27597
50fb7002 27598 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 27599 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27600 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27601 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27602
27603 * loader/i386/efi/linux.c (acpi_guid): New variable.
27604 (acpi_guid): Likewise.
27605 (EBDA_SEG_ADDR): New constant.
27606 (LOW_MEM_ADDR): Likewise.
27607 (FAKE_EBDA_SEG): Likewise.
27608 (fake_bios_data): New function.
27609 (grub_linux_boot): Call fake_bios_data.
27610
71b9f361 276112009-03-01 Bean <bean123ch@gmail.com>
27612
27613 * commands/terminal.c: Removed.
27614
27615 * commands/handler.c: New file.
27616
27617 * include/grub/list.h: Likewise.
27618
27619 * include/grub/handler.h: Likewise.
27620
27621 * kern/list.c: Likewise.
27622
27623 * kern/handler.c: Likewise.
27624
27625 * kern/term.h: Include header file <grub/handler.h>.
27626 (grub_term_input): Move next field to the beginning.
27627 (grub_term_output): Likewise.
27628 (grub_term_input_class): New variable.
27629 (grub_term_output_class): Likewise.
27630 (grub_term_register_input): Changed to inline function.
27631 (grub_term_register_output): Likewise.
27632 (grub_term_unregister_input): Likewise.
27633 (grub_term_unregister_output): Likewise.
27634 (grub_term_set_current_input): Likewise.
27635 (grub_term_set_current_output): Likewise.
27636 (grub_term_get_current_input): Likewise.
27637 (grub_term_get_current_output): Likewise.
27638 (grub_term_iterate_input): Removed.
27639 (grub_term_iterate_output): Likewise.
27640
27641 * kern/term.c (grub_term_list_input): Removed.
27642 (grub_term_list_output): Likewise.
27643 (grub_term_input_class): New variable.
27644 (grub_term_output_class): Likewise.
50fb7002 27645 (grub_cur_term_input): Change variable as macro.
71b9f361 27646 (grub_cur_term_output): Likewise.
27647 (grub_term_register_input): Removed.
27648 (grub_term_register_output): Likewise.
27649 (grub_term_unregister_input): Likewise.
27650 (grub_term_unregister_output): Likewise.
27651 (grub_term_set_current_input): Likewise.
27652 (grub_term_set_current_output): Likewise.
27653 (grub_term_iterate_input): Likewise.
27654 (grub_term_iterate_output): Likewise.
27655 (grub_term_get_current_input): Likewise.
27656 (grub_term_get_current_output): Likewise.
27657
27658 * util/grub-editenv.c: Include header file <grub/handler.h>.
27659 (grub_term_get_current_input): Removed.
27660 (grub_term_get_current_output): Likewise.
27661 (grub_term_input_class): New variable.
50fb7002 27662 (grub_term_output_class): Likewise.
71b9f361 27663
27664 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27665 (grub_term_get_current_output): Likewise.
27666 (grub_term_input_class): New variable.
50fb7002 27667 (grub_term_output_class): Likewise.
71b9f361 27668
27669 * util/grub-probe.c (grub_term_get_current_input): Removed.
27670 (grub_term_get_current_output): Likewise.
27671 (grub_term_input_class): New variable.
50fb7002 27672 (grub_term_output_class): Likewise.
71b9f361 27673
27674 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27675 (grub_term_get_current_output): Likewise.
27676 (grub_term_input_class): New variable.
50fb7002 27677 (grub_term_output_class): Likewise.
71b9f361 27678
27679 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27680 (terminal_mod_SOURCES): Likewise.
27681 (terminal_mod_CFLAGS): Likewise.
27682 (terminal_mod_LDFLAGS): Likewise.
27683
27684 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27685 handler.c.
27686 (kernel_img_SOURCES): Add list.c and handler.c.
27687 (kernel_img_HEADERS): Add list.h and handler.h.
27688
27689 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27690 handler.c.
27691 (kernel_mod_SOURCES): Add list.c and handler.c.
27692 (kernel_mod_HEADERS): Add list.h and handler.h.
27693
27694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27695 handler.c.
27696 (kernel_elf_SOURCES): Add list.c and handler.c.
27697 (kernel_elf_HEADERS): Add list.h and handler.h.
27698
27699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27700 handler.c.
27701 (kernel_elf_SOURCES): Add list.c and handler.c.
27702 (kernel_elf_HEADERS): Add list.h and handler.h.
27703
27704 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27705 handler.c.
27706 (kernel_mod_SOURCES): Add list.c and handler.c.
27707 (kernel_mod_HEADERS): Add list.h and handler.h.
27708
27709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27710 handler.c.
27711 (kernel_elf_SOURCES): Add list.c and handler.c.
27712 (kernel_elf_HEADERS): Add list.h and handler.h.
27713
8a31787f 277142009-02-27 Robert Millan <rmh@aybabtu.com>
27715
27716 Factorize elf32 / elf64 code in Multiboot loader. This will
27717 prevent it from getting out of sync again.
27718
27719 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
27720 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
27721 grub_multiboot_load_elf64): Move from here ...
27722 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
27723 grub_multiboot_load_elf): ... to here (new file).
27724
51cd3dfc 277252009-02-27 Robert Millan <rmh@aybabtu.com>
27726
27727 * util/grub.d/10_linux.in: Rename "single-user mode" to
27728 "recovery mode".
27729
6e8c9c3a 277302009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 Don't leak in SCSI code.
27733 * disk/scsi.c (grub_scsi_close): free `scsi'.
27734
4b6bf4f9 277352009-02-27 Robert Millan <rmh@aybabtu.com>
27736
27737 * loader/i386/pc/multiboot.c: Move from here ...
27738 * loader/i386/multiboot.c: ... to here. Update all users.
27739
b9413424 277402009-02-27 Robert Millan <rmh@aybabtu.com>
27741
27742 Patch from Alexandre Bique <bique.alexandre@gmail.com>
27743 * util/i386/pc/grub-setup.c (setup): Fix directory path.
27744
50fb7002 277452009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 27746
27747 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
27748 b-tree.
27749
8cc50345 277502009-02-27 Robert Millan <rmh@aybabtu.com>
27751
27752 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
27753 `0x' qualifier as 0 when base is specified as parameter).
27754
6e09b8b7 277552009-02-24 Bean <bean123ch@gmail.com>
27756
27757 * configure.ac: Check for -mcmodel=large in x86_64 target.
27758
27759 * include/grub/efi/api.h (efi_call_10): New macro.
27760 (efi_wrap_10): New function.
27761
27762 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
27763 (GRUB_PE32_REL_BASED_HIGH): Likewise.
27764 (GRUB_PE32_REL_BASED_LOW): Likewise.
27765 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
27766 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
27767 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
27768 (GRUB_PE32_REL_BASED_SECTION): Likewise.
27769 (GRUB_PE32_REL_BASED_REL): Likewise.
27770 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
27771 (GRUB_PE32_REL_BASED_DIR64): Likewise.
27772 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
27773
27774 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
27775 issue.
27776
27777 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
27778 (efi_wrap_10): New function.
27779
27780 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
27781
27782 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
27783 MB/MBP model (NV chipset).
27784 (devdata_devs): Add devpath_5 to the list.
27785
27786 * load/i386/efi/linux.c (video_base): Remove variable.
27787 (RGB_MASK): New macro.
27788 (RGB_MAGIC): Likewise.
27789 (LINE_MIN): Likewise.
27790 (LINE_MAX): Likewise.
27791 (FBTEST_STEP): Likewise.
27792 (FBTEST_COUNT): Likewise.
27793 (fb_list): New variable.
27794 (grub_find_video_card): Remove function.
27795 (find_framebuf): New function.
27796 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
27797 line length.
27798
27799 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
27800 problem for x86_64.
27801
74b21bee 278022009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
27803
27804 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
27805
27806 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
27807 coding tool name.
27808
a455f472 278092009-02-22 Robert Millan <rmh@aybabtu.com>
27810
27811 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
27812 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
27813 in our relocation, instead of using it directly from heap. Also
27814 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
27815
6374daf3 278162009-02-21 Robert Millan <rmh@aybabtu.com>
27817
27818 Implement USB keyboard support (based on patch by Marco Gerards)
27819
27820 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
27821 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
27822 (usb_keyboard_mod_LDFLAGS): New variables.
27823
27824 * term/usb_keyboard.c: New file.
27825
8fa4ea70 278262009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 Corrected wrong declaration
27829
27830 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
27831
353976ac 278322009-02-14 Christian Franke <franke@computer.org>
27833
27834 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
27835 (grub_lspci_iter): Print class code and programming interface byte.
27836
6aa1169b 278372009-02-14 Christian Franke <franke@computer.org>
27838
27839 * gendistlist.sh: Ignore `.svn' directories.
27840
265372ca 278412009-02-14 Felix Zielcke <fzielcke@z-51.de>
27842
27843 * fs/fat.c: Add 2009 to Copyright line.
27844
9ff516f3 278452009-02-14 Christian Franke <franke@computer.org>
27846
27847 * commands/hdparm.c: New file. Provides `hdparm' command
27848 which sends ATA commands via grub_disk_ata_pass_through ().
27849
27850 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
27851
27852 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
27853 and <grub/cpu/io.h> to include/grub/ata.h.
27854 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
27855 (GRUB_CDROM_SECTOR_SIZE): Remove.
27856 (GRUB_ATA_*): Move to include/grub/ata.h.
27857 (GRUB_ATAPI_*): Likewise.
27858 (enum grub_ata_commands): Likewise.
27859 (enum grub_ata_timeout_milliseconds): Likewise.
27860 (struct grub_ata_device): Likewise.
27861 (grub_ata_regset): Likewise.
27862 (grub_ata_regget): Likewise.
27863 (grub_ata_regset2): Likewise.
27864 (grub_ata_regget2): Likewise.
27865 (grub_ata_check_ready): Likewise.
27866 (grub_ata_wait_not_busy): Remove static, exported in
27867 include/grub/ata.h.
27868 (grub_ata_wait_drq): Likewise.
27869 (grub_ata_pio_read): Likewise.
27870
27871 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
27872 function for hdparm.mod.
27873
27874 * include/grub/ata.h: New file, contains declarations from
27875 disk/ata.c.
27876 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
27877
27878 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27879 (grub_disk_ata_pass_through): New exported variable.
27880
27881 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27882
772e23da 278832009-02-13 Colin D Bennett <colin@gibibit.com>
27884
27885 Support multiple fallback entries, and provide an API to support
27886 executing default+fallback menu entries. Renamed the `terminal' menu
27887 viewer to `text'.
27888
27889 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27890 variable declaration.
27891 (grub_menu_execute_callback): New structure declaration.
27892 (grub_menu_execute_callback_t): New typedef.
27893 (grub_menu_execute_with_fallback): New function declaration.
27894 (grub_menu_get_entry): Likewise.
27895 (grub_menu_get_timeout): Likewise.
27896 (grub_menu_set_timeout): Likewise.
27897
27898 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27899
27900 * normal/menu.c (grub_wait_after_message): Moved to
27901 `normal/menu_text.c'.
27902 (draw_border): Likewise.
27903 (print_message): Likewise.
27904 (print_entry): Likewise.
27905 (print_entries): Likewise.
27906 (grub_menu_init_page): Likewise.
27907 (get_entry_number): Likewise.
27908 (print_timeout): Likewise.
27909 (run_menu): Likewise.
27910 (grub_menu_execute_entry): Likewise.
27911 (show_text_menu): Likewise.
27912 (get_and_remove_first_entry_number): New function.
27913 (grub_menu_execute_with_fallback): Likewise.
27914 (get_entry): Renamed to ...
27915 (grub_menu_get_entry): .. this and made it global.
27916 (get_timeout): Renamed to ...
27917 (grub_menu_get_timeout): ... this and made it global.
27918 (set_timeout): Renamed to ...
27919 (grub_menu_set_timeout): ... this and made it global.
27920 (grub_normal_terminal_menu_viewer): Renamed to ...
27921 (grub_normal_text_menu_viewer): ... this.
27922
27923 * normal/menu_text.c: New file. Extracted text-menu-specific code
27924 from normal/menu.c.
27925
27926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27927 (normal_mod_SOURCES): Likewise.
27928
27929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27930 (normal_mod_SOURCES): Likewise.
27931
27932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27933 (normal_mod_SOURCES): Likewise.
27934
27935 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27936 (normal_mod_SOURCES): Likewise.
27937
27938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27939 (normal_mod_SOURCES): Likewise.
27940
27941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27942 (normal_mod_SOURCES): Likewise.
27943
27944 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27945 (normal_mod_SOURCES): Likewise.
27946
16ac430e 279472009-02-11 Robert Millan <rmh@aybabtu.com>
27948
27949 * util/grub.d/00_header.in: Update old reference to `font' command.
27950
06ff20fc 279512009-02-10 Felix Zielcke <fzielcke@z-51.de>
27952
27953 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27954
27955 Based on patch from Javier Martín.
27956
96da9407 279572009-02-09 Felix Zielcke <fzielcke@z-51.de>
27958
27959 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 27960 to avoid false positives with FAT.
96da9407 27961 (grub_fstest_SOURCES): Likewise.
27962 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27963 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27968
6dca6fe4 279692009-02-09 Felix Zielcke <fzielcke@z-51.de>
27970
06ff20fc 27971 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 27972 bpb.version_specific.fat12_or_fat16.fstype and
27973 bpb.version_specific.fat32.fstype.
27974
2550c62f 279752009-02-08 Robert Millan <rmh@aybabtu.com>
27976
be110b30 27977 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 27978
56978920 279792009-02-08 Robert Millan <rmh@aybabtu.com>
27980
27981 * Makefile.in (host_os, host_cpu): New variables.
27982 (target_os): Remove. Update all users.
27983
d64399b5 279842009-02-08 Marco Gerards <marco@gnu.org>
27985
27986 * Makefile.in (enable_grub_emu_usb): New variable.
27987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27988 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27989 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27990 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27991 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27992 `usbtest.mod' and `usbms.mod'.
27993 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27994 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27995 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27996 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27997 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27998 variables.
27999
28000 * disk/usbms.c: New file.
28001
28002 * include/grub/usb.h: Likewise.
28003
28004 * include/grub/usbtrans.h: Likewise.
28005
28006 * include/grub/usbdesc.h: Likewise.
28007
28008 * bus/usb/usbtrans.c: Likewise.
28009
28010 * bus/usb/ohci.c: Likewise.
28011
28012 * bus/usb/uhci.c: Likewise.
28013
28014 * bus/usb/usbhub.c: Likewise.
28015
28016 * bus/usb/usb.c: Likewise.
28017
28018 * commands/usbtest.c: Likewise.
28019
28020 * util/usb.c: Likewise.
50fb7002 28021
d64399b5 28022 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28023
28024 * configure.ac: Test for libusb presence.
50fb7002 28025
d64399b5 28026 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28027
2b40d6bb 280282009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28029
28030 * kern/mm.c: Add more comments.
28031
73a4ce81 280322009-02-08 Robert Millan <rmh@aybabtu.com>
28033
28034 Patch from Javier Martín.
28035 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28036 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28037
f821ce59 280382009-02-08 Robert Millan <rmh@aybabtu.com>
28039
28040 * fs/cpio.c: Split tar functionality to ...
28041 * fs/tar.c: ... here (new file). Update all users.
28042
aebfc4b0 280432009-02-07 Robert Millan <rmh@aybabtu.com>
28044
28045 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28046 backward-incompatible features.
28047
28048 Based on patch from Javier Martín, with some adjustments.
28049
50fb7002 280502009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28051
28052 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28053
0bb5115e 280542009-02-07 Robert Millan <rmh@aybabtu.com>
28055
28056 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28057 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28058 after the RAID stuff.
28059
38a0f8e7 280602009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28061
50fb7002 28062 Fixes problem when running vbetest command as reported by
38a0f8e7 28063 Vladimir Serbinenko <phcoder@gmail.com>.
28064
28065 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28066
3143cc1c 280672009-02-04 Felix Zielcke <fzielcke@z-51.de>
28068
28069 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28070 /dev/md/NpN style mdraid devices.
28071
9cba6fce 280722009-02-03 Felix Zielcke <fzielcke@z-51.de>
28073
28074 * util/unifont2pff.rb: Remove.
28075
e507a2c1 280762009-02-03 Felix Zielcke <fzielcke@z-51.de>
28077
28078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28079 `#'.
28080
d2c2b4cd 280812009-02-03 Felix Zielcke <fzielcke@z-51.de>
28082
28083 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28085 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28086 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28088 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28089 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28090
b4315fb0 280912009-02-02 Christian Franke <franke@computer.org>
28092
28093 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28094
de3aa260 280952009-02-01 Felix Zielcke <fzielcke@z-51.de>
28096
7c3ff286 28097 * INSTALL: Note that we now require at least autoconf 2.59 and
28098 that LZO is optional.
de3aa260 28099
825a182b 281002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28101
28102 Base on patch on bug #24154 created by Tomas Tintera
28103 <trosos@seznam.cz>.
28104
28105 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28106
a69ef770 281072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28108
7c3ff286 28109 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28110 <bero@arklinux.org>.
28111
28112 * normal/parser.y (script_init): Add missing semicolon.
28113
6fa42fa6 281142009-01-31 Colin D Bennett <colin@gibibit.com>
28115
7c3ff286 28116 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28117 (free_menu_entry_classes): Added.
28118 (grub_normal_menu_addentry): Added class property handling.
28119 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28120 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28121
28122 * normal/menu_viewer.c: New file.
28123
28124 * normal/menu.c (run_menu_entry): Renamed to ...
28125 (grub_menu_execute_entry): ... this and made it as global.
28126 (grub_menu_run): Renamed to ...
28127 (show_text_menu): ... this and made it local.
28128 (show_text_menu): Adapt to new function names.
28129 (grub_normal_terminal_menu_viewer): New global variable.
28130
28131 * include/grub/menu.h: New file.
28132
28133 * include/grub/menu_viewer.h: New file.
28134
28135 * include/grub/normal.h: Added include to grub/menu.h.
28136 (grub_menu_entry): Moved to include/grub/menu.h.
28137 (grub_menu_entry_t): Likewise.
28138 (grub_menu): Likewise.
28139 (grub_menu_t): Likewise.
28140 (grub_normal_terminal_menu_viewer): Added.
28141 (grub_menu_execute_entry): Likewise.
28142 (grub_menu_run): Removed.
28143
28144 * DISTLIST: Added include/grub/menu.h.
28145 Added include/grub/menu_viewer.h.
28146 Added normal/menu_viewer.c.
28147
281482009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28149
28150 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28151 arglist for menutitle arguments.
28152
28153 * normal/main.c (grub_normal_menu_addentry): Likewise.
28154
28155 * normal/parser.y (menuentry): Likewise.
28156
28157 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28158
28159 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28160 (grub_script_create_cmdmenu): Likewise.
28161
28162 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28163
28164 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28165 changes.
28166
28167 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28168
28169 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28170
28171 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28172
28173 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28174
28175 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28176
28177 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28178
56192c23 281792009-01-30 Christian Franke <franke@computer.org>
28180
28181 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28182 in option help text.
28183
d72521b3 281842009-01-27 Pavel Roskin <proski@gnu.org>
28185
28186 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28187
994b5e84 281882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28189
28190 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28191
28192 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28193
28194 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28195 unregister function.
28196
6a7eab2c 281972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28198
28199 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28200
28201 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28202
28203 * util/grub-mkfont.c (usage): Fix typo.
28204
28205 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28206
1806b56e 282072009-01-26 Daniel Mierswa <impulze@impulze.org>
28208
3fb18f09 28209 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28210
336e1fb9 28211 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28212
1806b56e 28213 * kern/misc.c (grub_strcasecmp): New function.
28214 (grub_strcasecmp): Use grub_size_t instead of int for length.
28215 Fix return value.
28216 * include/grub/misc.h: Update function prototypes.
28217
580b2a0f 282182009-01-26 Robert Millan <rmh@aybabtu.com>
28219
28220 * configure.ac: Fix cross-compilation check.
ef257b36 28221
d31c24f1 282222009-01-22 Christian Franke <franke@computer.org>
28223
28224 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28225 (precision) digit string. Allow `.format2' without `format1' (width).
28226 Limit input chars for `%s' output to `format2' if specified. This is
28227 compatible with standard printf ().
28228
3138b44c 282292009-01-22 Christian Franke <franke@computer.org>
28230
28231 * disk/ata.c (grub_ata_wait_status): Replace by ...
28232 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28233 other status bits may be invalid while BSY is asserted.
28234 (grub_ata_check_ready): New function.
28235 (grub_ata_cmd): Removed.
28236 (grub_ata_wait_drq): New function.
28237 (grub_ata_strncpy): Remove inline.
28238 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28239 and error check now done by grub_ata_wait_drq ().
28240 (grub_ata_pio_write): Likewise.
28241 (grub_atapi_identify): Set DEV before check for !BSY. Use
28242 grub_ata_wait_drq () to wait for data.
28243 (grub_ata_device_initialize): Add status register check to
28244 detect missing SATA slave devices. Add debug messages.
28245 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28246 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28247 transfer loop by grub_ata_pio_write ().
28248 (grub_ata_identify): Set DEV before check for !BSY. Use
28249 grub_ata_wait_drq () to wait for data.
ef257b36 28250 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28251 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28252 read/write in one loop. Fix invalid command on write. Fix incomplete
28253 command on (size % batch) == 0. Add missing error check after write of
28254 last block. Add debug messages.
28255 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28256
59a64ef6 282572009-01-19 Christian Franke <franke@computer.org>
28258
28259 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28260 (GRUB_ATAPI_IREASON_*): Likewise.
28261 (grub_ata_pio_write): Fix timeout error return.
28262 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28263 (grub_atapi_wait_drq): New function.
28264 (grub_atapi_packet): New parameter `size'.
28265 Use grub_atapi_wait_drq () and direct write instead of
28266 grub_ata_pio_write ().
28267 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28268 reads the number of bytes requested by the device for each DRQ
28269 assertion.
28270 (grub_atapi_write): Remove old implementation, return not
28271 implemented instead.
28272
1cfe20b3 282732009-01-19 Christian Franke <franke@computer.org>
28274
28275 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28276 of 512 to calculate data size.
28277 (grub_scsi_read12): Likewise.
28278 (grub_scsi_write10): Likewise.
28279 (grub_scsi_write12): Likewise.
28280 (grub_scsi_read): Adjust size according to blocksize.
28281 Add checks for invalid blocksize and unaligned transfer.
28282
bee5fe5d 282832009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28284
28285 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28286
ef257b36 28287 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28288 width glyphs.
28289
3e643f8c 282902009-01-19 Robert Millan <rmh@aybabtu.com>
28291
28292 * config.guess: Update to latest version from config git.
28293 * config.sub: Likewise.
28294
4fa80998 282952009-01-17 Felix Zielcke <fzielcke@z-51.de>
28296
28297 * Makefile.in: Change font compilation to use new grub-mkfont instead
28298 of java version.
28299
28300 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28301 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28302 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28303 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28304 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28305 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28306 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28307 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28308 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28309
7086085b 283102009-01-16 Christian Franke <franke@computer.org>
28311
28312 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28313 (enum grub_ata_timeout_milliseconds): New enum.
28314 (grub_ata_wait_status): Add parameter milliseconds.
28315 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28316 recovery from timed-out commands.
28317 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28318 return grub_errno instead of REG_ERROR.
28319 (grub_ata_pio_write): Add parameter milliseconds.
28320 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28321 Pass milliseconds to grub_ata_wait_status () and
28322 grub_ata_pio_read ().
28323 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28324 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28325 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28326 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28327 It is not suitable for device detection, because DEV bit is ignored,
28328 the command may run too long, and not all devices set the signature
28329 properly.
28330 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28331 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28332 Fix device selection, DEV bit must be set first to address the registers
28333 of the correct device.
28334 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28335 grub_ata_pio_read/write ().
28336 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28337 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28338
4a412913 283392009-01-13 Carles Pina i Estany <carles@pina.cat>
28340
28341 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28342
7795c55e 283432009-01-13 Bean <bean123ch@gmail.com>
d913988c 28344
28345 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28346
7795c55e 283472009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28348
28349 * Makefile.in: (enable_grub_mkfont): New variable.
28350 (freetype_cflags): Likewise.
28351 (freetype_libs): Likewise.
28352
28353 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28354 (grub_mkfont_SOURCES): New variable.
28355 (grub_mkfont_CFLAGS): Likewise.
28356 (grub_mkfont_LDFLAGS): Likewise.
28357
28358 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28359 library if `--enable-grub-mkfont' is requested.
28360 (enable_grub_mkfont): New variable.
28361 (freetype_cflags): Likewise.
28362 (freetype_libs): Likewise.
28363
28364 * util/grub-mkfont.c: New file.
28365
093af1fe 283662009-01-12 Christian Franke <franke@computer.org>
28367
28368 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28369 mode check. Fix setting of compat_use[].
28370
f36cc108 283712009-01-10 Robert Millan <rmh@aybabtu.com>
28372
28373 Update a few copyright years which we forgot to do in 2008 (only for
28374 files whose changes made in 2008 were copyright-significant)
28375
28376 * Makefile.in: Add 2008 to Copyright line.
28377 * disk/ieee1275/ofdisk.c: Likewise.
28378 * disk/efi/efidisk.c: Likewise.
28379 * kern/dl.c: Likewise.
28380 * kern/sparc64/ieee1275/init.c: Likewise.
28381 * kern/mm.c: Likewise.
28382 * kern/efi/mm.c: Likewise.
28383 * boot/i386/pc/boot.S: Likewise.
28384 * genfslist.sh: Likewise.
28385 * fs/iso9660.c: Likewise.
28386 * fs/hfs.c: Likewise.
28387 * fs/jfs.c: Likewise.
28388 * fs/minix.c: Likewise.
28389 * fs/ufs.c: Likewise.
28390 * gensymlist.sh.in: Likewise.
28391 * genkernsyms.sh.in: Likewise.
28392 * include/grub/misc.h: Likewise.
28393 * include/grub/types.h: Likewise.
28394 * include/grub/symbol.h: Likewise.
28395 * include/grub/elf.h: Likewise.
28396 * include/grub/kernel.h: Likewise.
28397 * include/grub/disk.h: Likewise.
28398 * include/grub/dl.h: Likewise.
28399 * include/grub/i386/linux.h: Likewise.
28400 * include/grub/i386/pc/biosdisk.h: Likewise.
28401 * include/grub/efi/api.h: Likewise.
28402 * include/grub/efi/pe32.h: Likewise.
28403 * include/grub/util/misc.h: Likewise.
28404 * normal/execute.c: Likewise.
28405 * normal/arg.c: Likewise.
28406 * normal/completion.c: Likewise.
28407 * normal/lexer.c: Likewise.
28408 * normal/parser.y: Likewise.
28409 * normal/misc.c: Likewise.
28410 * commands/i386/pc/vbeinfo.c: Likewise.
28411 * commands/hexdump.c: Likewise.
28412 * commands/terminal.c: Likewise.
28413 * commands/ls.c: Likewise.
28414 * commands/help.c: Likewise.
28415 * partmap/pc.c: Likewise.
28416 * loader/efi/chainloader.c: Likewise.
28417 * loader/multiboot_loader.c: Likewise.
28418 * loader/i386/pc/multiboot2.c: Likewise.
28419 * term/efi/console.c: Likewise.
28420 * term/i386/pc/serial.c: Likewise.
28421 * util/lvm.c: Likewise.
28422 * util/console.c: Likewise.
28423 * util/i386/efi/grub-mkimage.c: Likewise.
28424 * util/raid.c: Likewise.
28425
7f02114b 284262009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28427
28428 * commands/videotest.c: Removed include to grub/machine/memory.h.
28429
28430 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28431 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28432 (video_mod_SOURCES): Removed.
28433 (video_mod_CFLAGS): Likewise.
28434 (video_mod_LDFLAGS): Likewise.
28435 (gfxterm_mod_SOURCES): Likewise.
28436 (gfxterm_mod_CFLAGS): Likewise.
28437 (gfxterm_mod_LDFLAGS): Likewise.
28438 (videotest_mod_SOURCES): Likewise.
28439 (videotest_mod_CFLAGS): Likewise.
28440 (videotest_mod_LDFLAGS): Likewise.
28441 (bitmap_mod_SOURCES): Likewise.
28442 (bitmap_mod_CFLAGS): Likewise.
28443 (bitmap_mod_LDFLAGS): Likewise.
28444 (tga_mod_SOURCES): Likewise.
28445 (tga_mod_CFLAGS): Likewise.
28446 (tga_mod_LDFLAGS): Likewise.
28447 (jpeg_mod_SOURCES): Likewise.
28448 (jpeg_mod_CFLAGS): Likewise.
28449 (jpeg_mod_LDFLAGS): Likewise.
28450 (png_mod_SOURCES): Likewise.
28451 (png_mod_CFLAGS): Likewise.
28452 (png_mod_LDFLAGS): Likewise.
28453
28454 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28455 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28456 (video_mod_SOURCES): Added.
28457 (video_mod_CFLAGS): Likewise.
28458 (video_mod_LDFLAGS): Likewise.
28459 (videotest_mod_SOURCES): Likewise.
28460 (videotest_mod_CFLAGS): Likewise.
28461 (videotest_mod_LDFLAGS): Likewise.
28462 (bitmap_mod_SOURCES): Likewise.
28463 (bitmap_mod_CFLAGS): Likewise.
28464 (bitmap_mod_LDFLAGS): Likewise.
28465 (tga_mod_SOURCES): Likewise.
28466 (tga_mod_CFLAGS): Likewise.
28467 (tga_mod_LDFLAGS): Likewise.
28468 (jpeg_mod_SOURCES): Likewise.
28469 (jpeg_mod_CFLAGS): Likewise.
28470 (jpeg_mod_LDFLAGS): Likewise.
28471 (png_mod_SOURCES): Likewise.
28472 (png_mod_CFLAGS): Likewise.
28473 (png_mod_LDFLAGS): Likewise.
28474 (gfxterm_mod_SOURCES): Likewise.
28475 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 28476 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 28477
28478 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28479 grub/machine/console.h.
28480
644fff97 284812009-01-04 Jerone Young <jerone@gmail.com>
28482
28483 Make on screen instructions clearer
28484
28485 Based on patch created by Jidanni <jidanni@jidanni.org>
28486
28487 * normal/menu.c: print clearer instructions on the screen
28488
1e901a75 284892009-01-02 Colin D Bennett <colin@gibibit.com>
28490
28491 New font engine.
34c44600 28492
1e901a75 28493 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28494 build system and fixed gfxterm.c to work with different sized fonts.
28495
28496 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 28497
1e901a75 28498 * configure: Re-generated.
34c44600 28499
1e901a75 28500 * DISTLIST: Removed font/manager.c.
28501 Added font/font.c.
28502 Added font/font_cmd.c.
34c44600 28503
1e901a75 28504 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28505 compilation.
34c44600 28506
1e901a75 28507 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 28508
28509 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 28510
28511 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 28512
1e901a75 28513 * normal/menu.c: Likewise.
34c44600 28514
1e901a75 28515 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28516 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 28517
1e901a75 28518 * include/grub/font.h: Replaced with new file.
34c44600 28519
1e901a75 28520 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28521 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28522 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28523 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28524 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 28525 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 28526 fg_red, fg_green, fg_blue, fg_alpha.
28527 (grub_video_adapter): Removed blit_glyph.
34c44600 28528 (grub_video_blit_glyph): Removed.
28529
1e901a75 28530 * font/manager.c: Removed file.
34c44600 28531
28532 * font/font.c: New file.
28533
1e901a75 28534 * font/font_cmd.c: Likewise.
34c44600 28535
1e901a75 28536 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 28537
1e901a75 28538 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28539 (grub_video_vbe_map_rgba): Likewise.
28540 (grub_video_vbe_unmap_color_int): Likewise.
28541 (grub_video_vbe_blit_glyph): Removed.
28542 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 28543
1e901a75 28544 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28545 (get_pixel): Likewise.
34c44600 28546 (set_pixel): Likewise.
28547
1e901a75 28548 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 28549
1e901a75 28550 * term/gfxterm.c: Adapted to new font engine.
34c44600 28551
1e901a75 28552 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 28553
1e901a75 28554 * term/i386/pc/vga.c: Likewise.
34c44600 28555
1e901a75 28556 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 28557
1e901a75 28558 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 28559
1e901a75 28560 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28561
1e901a75 28562 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28563
1e901a75 28564 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 28565
1e901a75 28566 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 28567
1e901a75 28568 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 28569
1e901a75 28570 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 28571
1e901a75 28572 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28573
28574 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 28575
1e901a75 28576 * util/grub-mkconfig_lib.in: Changed font extension.
28577
278922e8 285782008-12-28 Felix Zielcke <fzielcke@z-51.de>
28579
28580 * util/getroot.c (grub_util_get_grub_dev): Add support for
28581 /dev/md/dNNpNN style partitionable mdraid devices.
28582
3ced05cf 285832008-12-12 Alex Smith <alex@alex-smith.me.uk>
28584
28585 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28586 at a time limit of the PXE TFTP API correctly.
28587 (grub_pxefs_close): Likewise.
28588
7fd0ee30 285892008-11-29 Robert Millan <rmh@aybabtu.com>
28590
34c44600 28591 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 28592 grub_ata_device_initialize() calls.
28593
34c44600 285942008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 28595
28596 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28597 iteration failed.
28598 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28599
89313780 286002008-11-28 Robert Millan <rmh@aybabtu.com>
28601
28602 Fix build on powerpc-ieee1275. Based on patch created by
28603 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28604 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28605 `kern/ieee1275/mmap.c'.
28606 * include/grub/powerpc/ieee1275/memory.h: New file.
28607
15257703 28608 Provide grub-install on coreboot.
28609 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28610 (grub_install_SOURCES): New variable.
28611 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28612 usable on coreboot.
28613
9fc5388a 286142008-11-25 Felix Zielcke <fzielcke@z-51.de>
28615
28616 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28617 to `grub_term_input_t'.
28618 (grub_term_get_current_output): Change return type to
28619 `grub_term_output_t'.
28620
bc3a2f31 286212008-11-22 Robert Millan <rmh@aybabtu.com>
28622
34c44600 28623 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 28624 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28625 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28626 grub_vga_text_cls().
28627
80fc88f2 28628 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 28629 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 28630
cbf36fd3 28631 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28632 to 0x200000 (avoids trouble with some OFW implementations, and matches
28633 with the one in Yaboot).
28634 Reported by Manoel Abranches
28635
73e8e268 286362008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 28637
28638 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28639 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28640
73e8e268 28641 * util/grub-mkconfig_lib.in (grub_warn): New function.
28642 (convert_system_path_to_grub_path): Use grub_warn() when issuing
28643 warnings, to obtain consistent formatting.
28644 * util/grub.d/00_header.in: Likewise.
28645 * util/update-grub_lib.in: Likewise.
28646
e94045a1 28647 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 28648 Move comment text to `#error' stanza.
e94045a1 28649
79d29fd7 28650 Harmonize ieee1275's grub_available_iterate() with the generic
28651 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28652 build problem on i386-ieee1275):
28653 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28654 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28655 parameter `type'. Update all users of this function.
28656 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28657 `kern/ieee1275/mmap.c'.
28658 * kern/ieee1275/init.c
28659 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28660 with ...
28661 (grub_machine_mmap_iterate): ... this.
28662 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28663 return type to `grub_err_t'. Update all implementations of this
28664 function prototype.
28665 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28666 Likewise.
28667
60d6b16e 28668 Add `lsmmap' command (lists firmware-provided memory map):
28669 * commands/lsmmap.c: New file.
28670 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28671 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28672 variables.
28673 * conf/powerpc-ieee1275.rmk: Likewise.
28674 * conf/i386-coreboot.rmk: Likewise.
28675 * conf/i386-ieee1275.rmk: Likewise.
28676
ebaaf49b 286772008-11-19 Robert Millan <rmh@aybabtu.com>
28678
28679 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 28680 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28681 constraints to initrd allocation (based on code from
28682 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28683 for Linux to find it.
ebaaf49b 28684
dfab719f 286852008-11-14 Robert Millan <rmh@aybabtu.com>
28686
28687 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28688 order to cope with duplicate slashes.
28689
10fc3eb9 286902008-11-14 Robert Millan <rmh@aybabtu.com>
28691
28692 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28693 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28694 don't want to mess with lower memory, because it is used in the Linux
28695 loader.
28696
28697 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 28698 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 28699 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28700 is in our heap (probably as a result of it being corrupted during
2f2a3442 28701 decompression). Add #error instance with comment to explain why this
28702 loader isn't currently usable on PC/BIOS.
10fc3eb9 28703
e2e07847 287042008-11-14 Robert Millan <rmh@aybabtu.com>
28705
28706 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 28707 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 28708
fe8e8d69 287092008-11-12 Robert Millan <rmh@aybabtu.com>
28710
28711 Make loader/i386/linux.c buildable on i386-pc (although disabled).
28712
28713 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
28714 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
28715 from here ...
28716 * include/grub/i386/pc/memory.h: ... to here.
28717
976b07d0 287182008-11-12 Robert Millan <rmh@aybabtu.com>
28719
28720 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
28721 split).
28722
28723 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
28724 (grub_console_cur_color, grub_console_real_putchar)
28725 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28726 (grub_console_setcolorstate, grub_console_setcolor)
28727 (grub_console_getcolor): Move from here ...
28728 * include/grub/i386/vga_common.h: ... to here (new file).
28729
28730 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
28731 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
28732 `<grub/i386/io.h>'.
28733 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
28734 `<grub/i386/vga_common.h>'.
28735
76679cd3 287362008-11-12 Robert Millan <rmh@aybabtu.com>
28737
28738 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
28739 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
28740 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
28741 variables.
28742 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28743 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
28744
28745 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
28746 grub_console_init() with call to grub_vga_text_init().
28747 (grub_machine_fini): Replace call to
28748 grub_console_fini() with call to grub_vga_text_fini() and
28749 grub_at_keyboard_fini().
28750
28751 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
28752 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28753 (grub_console_setcolorstate, grub_console_setcolor)
28754 (grub_console_getcolor): New function prototypes.
28755
28756 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
28757 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
28758 (grub_vga_text_setcursor): Static-ize.
28759 (grub_vga_text_term): New structure.
28760 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
28761
28762 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
28763 (grub_console_cur_color, grub_console_standard_color)
28764 (grub_console_normal_color, grub_console_highlight_color)
28765 (map_char, grub_console_putchar, grub_console_getcharwidth)
28766 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
28767 (grub_console_getcolor): Move from here ...
28768 * term/i386/vga_common.c: ... to here (same function names).
28769
95b841d3 287702008-11-12 Robert Millan <rmh@aybabtu.com>
28771
28772 Use newly-added Multiboot support in coreboot.
28773
28774 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28775 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
28776
28777 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
28778 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
28779 (codestart): Store the MBI in `startup_multiboot_info' when we're
28780 being loaded using Multiboot.
28781
28782 * kern/i386/coreboot/init.c (grub_machine_init): Move
28783 grub_at_keyboard_init() call to beginning of function (useful for
28784 debugging). Call grub_machine_mmap_init() before attempting to use
28785 grub_machine_mmap_iterate().
28786 (grub_lower_mem, grub_upper_mem): Move from here ...
28787 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
28788 here (new file).
28789
28790 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
28791 function prototype.
28792
761ca975 287932008-11-12 Robert Millan <rmh@aybabtu.com>
28794
28795 Fix a regression introduced by the at_keyboard.mod split. Because
28796 some terminals are default on some platforms and non-default on
28797 others, the first terminal being registered determines which is
28798 going to be default.
28799
28800 * kern/term.c (grub_term_register_input): If this is the first
28801 terminal being registered, set it as the current one.
28802 (grub_term_register_output): Likewise.
28803
28804 * term/efi/console.c (grub_console_init): Do not call
28805 grub_term_set_current_output() or grub_term_set_current_input().
28806 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
28807 * term/i386/pc/console.c (grub_console_init): Likewise.
28808 (grub_console_fini): Do not call grub_term_set_current_input()
28809 (but leave grub_term_set_current_output() to restore text mode).
28810
6c529df7 288112008-11-10 Robert Millan <rmh@aybabtu.com>
28812
28813 * util/grub.d/00_header.in: Add backward compatibility check for
28814 versions of terminal.mod that don't understand `terminal_input' or
28815 `terminal_output'.
28816
132e4113 288172008-11-09 Robert Millan <rmh@aybabtu.com>
28818
28819 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
28820 `terminal_input' / `terminal_output', not `terminal'.
28821
ac293d50 288222008-11-08 Robert Millan <rmh@aybabtu.com>
28823
28824 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 28825 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 28826
0025933a 288272008-11-08 Robert Millan <rmh@aybabtu.com>
28828
28829 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 28830 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 28831 members. Update all users.
28832 * util/console.c (grub_ncurses_term): Split in ...
28833 (grub_ncurses_term_input): ... this, and ...
28834 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 28835 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 28836
37c86336 288372008-11-08 Robert Millan <rmh@aybabtu.com>
28838
28839 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
28840 (PKGDATA): Add $(pkgdata_SRCDIR).
28841 (pkglib_BUILDDIR): New variable.
28842 (pkgdata_SRCDIR): New variable.
28843 (build_env.mk): New target.
28844 (include_DATA): New variable.
28845 (install-local): Install $(include_DATA) files in $(includedir).
28846
b6c15a2d 288472008-11-07 Pavel Roskin <proski@gnu.org>
28848
d99d46f1 28849 * gendistlist.sh: Use C locale for sorting to ensure consistent
28850 output on all systems.
28851
b6c15a2d 28852 * util/grub.d/00_header.in: Remove incorrect space before
28853 "serial".
28854
c32ee8c9 288552008-11-07 Robert Millan <rmh@aybabtu.com>
28856
28857 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
28858 per specification.
28859 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
28860 * loader/multiboot_loader.c (find_multi_boot2_header): New function
28861 (based on find_multi_boot1_header).
28862 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
28863 using find_multi_boot2_header(), and abort if neither Multiboot or
28864 Multiboot headers were found.
28865
651c29b7 288662008-11-07 Robert Millan <rmh@aybabtu.com>
28867
28868 Modularize at_keyboard.mod:
28869
28870 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
28871 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28872 (at_keyboard_mod_LDFLAGS): New variables.
28873
28874 Actual terminal split:
28875
28876 * include/grub/term.h (struct grub_term): Split in ...
28877 (struct grub_term_input): ... this, and ...
28878 (struct grub_term_output): ... this. Update all users.
28879 (grub_term_set_current): Split in ...
28880 (grub_term_set_current_input): ... this, and ...
28881 (grub_term_set_current_output): ... this.
28882 (grub_term_get_current): Split in ...
28883 (grub_term_get_current_input): ... this, and ...
28884 (grub_term_get_current_output): ... this.
28885 (grub_term_register): Split in ...
28886 (grub_term_register_input): ... this, and ...
28887 (grub_term_register_output): ... this.
28888 (grub_term_unregister): Split in ...
28889 (grub_term_unregister_input): ... this, and ...
28890 (grub_term_unregister_output): ... this.
28891 (grub_term_iterate): Split in ...
28892 (grub_term_iterate_input): ... this, and ...
28893 (grub_term_iterate_output): ... this.
28894
28895 * kern/term.c (grub_term_list): Split in ...
28896 (grub_term_list_input): ... this, and ...
28897 (grub_term_list_output): ... this. Update all users.
28898 (grub_cur_term): Split in ...
28899 (grub_cur_term_input): ... this, and ...
28900 (grub_cur_term_output): ... this. Update all users.
28901 (grub_term_set_current): Split in ...
28902 (grub_term_set_current_input): ... this, and ...
28903 (grub_term_set_current_output): ... this.
28904 (grub_term_get_current): Split in ...
28905 (grub_term_get_current_input): ... this, and ...
28906 (grub_term_get_current_output): ... this.
28907 (grub_term_register): Split in ...
28908 (grub_term_register_input): ... this, and ...
28909 (grub_term_register_output): ... this.
28910 (grub_term_unregister): Split in ...
28911 (grub_term_unregister_input): ... this, and ...
28912 (grub_term_unregister_output): ... this.
28913 (grub_term_iterate): Split in ...
28914 (grub_term_iterate_input): ... this, and ...
28915 (grub_term_iterate_output): ... this.
28916
28917 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28918 a check for input and one for output (and only attempt to get keys
28919 from user when input works).
28920
28921 * util/grub-probe.c (grub_term_get_current): Split in ...
28922 (grub_term_get_current_input): ... this, and ...
28923 (grub_term_get_current_output): ... this.
28924 * util/grub-fstest.c: Likewise.
28925 * util/i386/pc/grub-setup.c: Likewise.
28926 * util/grub-editenv.c: Likewise.
28927
28928 Portability adjustments:
28929
28930 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28931 `term/i386/pc/at_keyboard.c'.
28932 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28933 grub_keyboard_controller_init() (now handled by terminal .init).
28934 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28935 grub_at_keyboard_init().
28936 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28937 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28938 at_keyboard.mod via input terminal interface).
28939 * include/grub/i386/coreboot/console.h: Convert into a stub for
28940 `<grub/i386/pc/console.h>'.
28941
28942 Migrate full terminals to new API:
28943
28944 * term/efi/console.c (grub_console_term): Split into ...
28945 (grub_console_term_input): ... this, and ...
28946 (grub_console_term_output): ... this. Update all users.
28947 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28948 (grub_ofconsole_init): Split into ...
28949 (grub_ofconsole_init_input): ... this, and ...
28950 (grub_ofconsole_init_output): ... this.
28951 (grub_ofconsole_term): Split into ...
28952 (grub_ofconsole_term_input): ... this, and ...
28953 (grub_ofconsole_term_output): ... this. Update all users.
28954 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28955 (grub_serial_term_input): ... this, and ...
28956 (grub_serial_term_output): ... this. Update all users.
28957 * term/i386/pc/console.c (grub_console_term): Split into ...
28958 (grub_console_term_input): ... this, and ...
28959 (grub_console_term_output): ... this. Update all users.
28960 (grub_console_term_input): Only enable it on PC/BIOS platform.
28961 (grub_console_init): Remove grub_keyboard_controller_init() call.
28962
28963 Migrate input terminals to new API:
28964
28965 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28966 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28967 i386-specific anyway).
28968 (grub_console_checkkey): Rename to ...
28969 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28970 users.
28971 (grub_keyboard_controller_orig): New variable.
28972 (grub_console_getkey): Rename to ...
28973 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28974 users.
28975 (grub_keyboard_controller_init): Static-ize. Save original
28976 controller value so that it can be restored ...
28977 (grub_keyboard_controller_fini): ... here (new function).
28978 (grub_at_keyboard_term): New structure.
28979 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28980 functions.
28981
28982 Migrate output terminals to new API:
28983
28984 * term/i386/pc/vga.c (grub_vga_term): Change type to
28985 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28986 members. Update all users.
28987 * term/gfxterm.c (grub_video_term): Change type to
28988 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28989 members. Update all users.
28990 * include/grub/i386/pc/console.h (grub_console_checkkey)
28991 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28992 etc).
28993
28994 Migrate `terminal' command and userland tools to new API:
28995
28996 * commands/terminal.c (grub_cmd_terminal): Split into ...
28997 (grub_cmd_terminal_input): ... this, and ...
28998 (grub_cmd_terminal_output): ... this.
28999 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29000 `terminal_input' and `terminal_output'.
29001 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29002 `terminal_input' / `terminal_output' API.
29003 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29004 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29005 provided ${GRUB_TERMINAL}, convert it).
29006
96e5d876 290072008-11-04 Robert Millan <rmh@aybabtu.com>
29008
29009 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29010 for FreeBSD.
29011 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29012
556f3775 290132008-11-03 Bean <bean123ch@gmail.com>
29014
29015 * kern/elf.c (grub_elf32_load): Revert to previous code.
29016 (grub_elf64_load): Likewise.
29017
29018 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29019
926b9823 290202008-11-01 Robert Millan <rmh@aybabtu.com>
29021
29022 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29023 (TARGET_CPPFLAGS): Likewise.
29024 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29025
1432e958 290262008-11-01 Carles Pina i Estany <carles@pina.cat>
29027
29028 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29029
dba3f844 290302008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29031
29032 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29033 addition of objects until the code is not going to be able to fail.
29034
dba3f844 290352008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29036
29037 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29038 (add a missing NULL check, and correct them by moving the pointer
29039 operations after the actual check).
29040
7ab28c21 290412008-10-29 Robert Millan <rmh@aybabtu.com>
29042
29043 * util/i386/pc/grub-install.in: Handle empty string as output from
29044 make_system_path_relative_to_its_root().
29045
1b7748eb 290462008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29047
29048 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29049 circular metadata worst case scenario. If the metadata is circular
29050 then copy the wrap in place.
29051 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29052 project lib/format_text/layout.h
29053 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29054
c9618ab2 290552008-10-03 Felix Zielcke <fzielcke@z-51.de>
29056
7a36edca 29057 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29058
bf981c62 290592008-10-03 Felix Zielcke <fzielcke@z-51.de>
29060
29061 * util/update-grub_lib.in: Mention filename in warning message.
29062
6d994591 290632008-09-29 Felix Zielcke <fzielcke@z-51.de>
29064
29065 * NEWS: Update for rename of update-grub to grub-mkconfig.
29066
18ade780 290672008-09-29 Felix Zielcke <fzielcke@z-51.de>
29068
29069 * util/update-grub_lib.in: Copy to ...
29070 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29071 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29072 * util/update-grub.in: Rename to ...
29073 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29074 option. Add `--output' option to allow users to specify the generated
29075 configuration file. Default to stdout.
29076 (update_grub_dir): Rename to ...
29077 (grub_mkconfig_dir): ... this.
29078 (grub_cfg): Default to an empty string.
29079 * conf/common.rmk (update-grub): Rename to ...
29080 (grub-mkconfig): ... this.
29081 (update-grub_lib): Copy to ...
29082 (grub-mkconfig_lib): ... this.
29083 (update-grub_SCRIPTS): Copy to ...
29084 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29085 (update-grub_DATA): Rename to ...
29086 (grub-mkconfig_DATA): ... this.
29087
556ce6ac 290882008-09-28 Robert Millan <rmh@aybabtu.com>
29089
29090 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29091 to `modified'. Add the real `created' field.
29092 (grub_iso9660_uuid): Use `modified' rather than `created' for
29093 constructing the UUID.
29094
290952008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29096
29097 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29098 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29099
92274e85 291002008-09-28 Bean <bean123ch@gmail.com>
29101
29102 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29103 Thanks to Christian Franke for finding this bug.
29104
add6f17a 291052008-09-25 Robert Millan <rmh@aybabtu.com>
29106
29107 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29108 instances of grub_util_get_disk_name() (see previous commit).
29109
d2a367b8 291102008-09-25 Robert Millan <rmh@aybabtu.com>
29111
29112 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29113 `util/i386/get_disk_name.c'.
29114 * conf/i386-efi.rmk: Likewise.
29115 * conf/x86_64-efi.rmk: Likewise.
29116 * conf/i386-coreboot.rmk: Likewise.
29117 * conf/i386-ieee1275.rmk: Likewise.
29118 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29119 `util/ieee1275/get_disk_name.c'.
29120 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29121 * util/ieee1275/get_disk_name.c: Remove file.
29122 * util/i386/get_disk_name.c: Remove file.
29123 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29124 "hd%d" for device.map entries, rather than using
29125 grub_util_get_disk_name().
29126
81a06771 291272008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29128
29129 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29130 warning.
29131 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29132
5a004279 291332008-09-24 Carles Pina i Estany <carles@pina.cat>
29134
29135 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29136 Changed to 0x5100.
29137 (GRUB_TERM_PPAGE): Changed to 0x4900.
29138
397093d3 291392008-09-24 Robert Millan <rmh@aybabtu.com>
29140
29141 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29142 macros (they were i386-pc specific).
29143 * include/grub/sparc64/ieee1275/console.h: Likewise.
29144 * include/grub/efi/console.h: Likewise.
29145
a91b6c7c 291462008-09-22 Bean <bean123ch@gmail.com>
29147
29148 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29149 resident and in attribute list.
29150
29151 * include/grub/ntfs.h (BMP_LEN): Removed.
29152
c40fd116 291532008-09-22 Bean <bean123ch@gmail.com>
29154
81a06771 29155 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29156 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29157
29158 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29159 error occurs, as grub_disk_open will call grub_disk_close, which will
29160 call p->close (scsi).
29161
81a06771 291622008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29163
29164 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29165 (AC_PREREQ): Bumped to 2.59.
29166 (AC_TRY_COMPILE): Replace obsolete macro with ...
29167 (AC_COMPILE_IFELSE): ... this.
29168 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29169 (AC_LINK_IFELSE): ... this.
29170
5dc43410 291712008-09-21 Felix Zielcke <fzielcke@z-51.de>
29172
29173 * autogen.sh: Add a call to `gendistlist.sh'.
29174
9035dce4 291752008-09-19 Christian Franke <franke@computer.org>
29176
29177 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29178 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29179 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29180 Export __enable_execute_stack() to modules.
29181 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29182 New function.
29183
7fd75377 291842008-09-09 Felix Zielcke <fzielcke@z-51.de>
29185
040030b3 29186 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29187 Sort the list.
29188
291892008-09-09 Felix Zielcke <fzielcke@z-51.de>
29190
29191 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29192 #include <grub/util/hostdisk.h>.
29193
89d5ffcf 291942008-09-08 Robert Millan <rmh@aybabtu.com>
29195
29196 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29197 segments when their filesz is zero (grub_file_read() interprets
81a06771 29198 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29199 Use `lowest_segment' rather than 0 for calculating the current
29200 segment load address.
29201
40da438f 292022008-09-08 Robert Millan <rmh@aybabtu.com>
29203
29204 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29205 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29206 clobbered useful information.
29207
ddbf5556 292082008-09-08 Robert Millan <rmh@aybabtu.com>
29209
29210 * include/grub/util/biosdisk.h: Move to ...
29211 * include/grub/util/hostdisk.h: ... here. Update all users.
29212 * util/biosdisk.c: Move to ...
29213 * util/hostdisk.c: ... here. Update all users.
29214
783d0f48 292152008-09-07 Robert Millan <rmh@aybabtu.com>
29216
29217 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29218 variables.
29219 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29220 and length can be stored directly in the `mbi->mmap_addr' and
29221 `mbi->mmap_length' struct fields.
29222
548e2ea5 292232008-09-07 Robert Millan <rmh@aybabtu.com>
29224
29225 * conf/i386.rmk: New file. Provides declaration for building
29226 `cpuid.mod'.
29227 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29228 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29229 variables.
29230 Include `conf/i386.mk'.
29231 * conf/i386-efi.rmk: Likewise.
29232 * conf/x86_64-efi.rmk: Likewise.
29233 * conf/i386-coreboot.rmk: Likewise.
29234 * conf/i386-ieee1275.rmk: Likewise.
29235
0ea85a37 292362008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29237
29238 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29239 Adds optimization support for BGR based modes.
29240
29241 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29242 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29243 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29244 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29245 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29246 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29247 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29248 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29249 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29250 (grub_video_i386_vbeblit_index_index): Likewise.
29251 (grub_video_i386_vbeblit_replace_directN): Added.
29252 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29253 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29254 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29255 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29256 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29257 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29258 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29259 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29260 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29261 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29262 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29263 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29264 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29265
29266 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29267 (grub_video_i386_vbefill_R8G8B8): Likewise.
29268 (grub_video_i386_vbefill_index): Likewise.
29269 (grub_video_i386_vbefill_direct32): Added.
29270 (grub_video_i386_vbefill_direct24): Likewise.
29271 (grub_video_i386_vbefill_direct16): Likewise.
29272 (grub_video_i386_vbefill_direct8): Likewise.
29273
81a06771 29274 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29275 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29276 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29277 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29278 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29279 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29280
0ea85a37 29281 * video/video.c (grub_video_get_blit_format): Updated to use new
29282 blit formats. Added handling for 16 bit color modes.
81a06771 29283
29284 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29285 fillers.
29286 (common_blitter): Updated to use new blitters.
29287
29288 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29289 Removed.
29290 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29292 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29293 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29294 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29295 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29296 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29297 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29298 (grub_video_i386_vbeblit_index_index): Likewise.
29299 (grub_video_i386_vbeblit_replace_directN): Added.
29300 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29301 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29302 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29303 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29304 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29305 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29306 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29307 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29308 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29309 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29310 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29311 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29312 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29313
0ea85a37 29314 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29315 (grub_video_i386_vbefill_R8G8B8): Likewise.
29316 (grub_video_i386_vbefill_index): Likewise.
29317 (grub_video_i386_vbefill_direct32): Added.
29318 (grub_video_i386_vbefill_direct24): Likewise.
29319 (grub_video_i386_vbefill_direct16): Likewise.
29320 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29321
0ea85a37 29322 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29323 types.
81a06771 29324
0ea85a37 29325 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29326 types.
81a06771 29327
0ea85a37 29328 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29329 blitter types.
81a06771 29330
0ea85a37 29331 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29332 types.
29333
e8a83df6 293342008-09-06 Felix Zielcke <fzielcke@z-51.de>
29335
29336 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29337 RAID level 1.
29338
6bcd8ee5 293392008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29340
6bcd8ee5 29341 * fs/iso9660.c (grub_iso9660_date): New structure.
29342 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29343 (grub_iso9660_uuid): New function.
c375ae58 29344
59261157 293452008-09-05 Bean <bean123ch@gmail.com>
29346
29347 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29348
29349 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29350 insensitive bit for names in Win32 and Win32 & DOS namespace.
29351
29352 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29353
29354 * include/grub/types.h (LONG_MAX): Likewise.
29355
58b6645a 293562008-09-04 Felix Zielcke <fzielcke@z-51.de>
29357
4ee55921 29358 * util/getroot.c: Include <config.h>.
29359 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29360 add support for /dev/md/N devices and handle LVM double dash escaping.
29361
293622008-09-04 Felix Zielcke <fzielcke@z-51.de>
29363
29364 * config.guess: Update to latest version from config git.
29365 * config.sub: Likewise.
58b6645a 29366
9124f65d 293672008-09-03 Robert Millan <rmh@aybabtu.com>
29368
29369 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29370 `disk->total_sectors'.
29371
81a06771 293722008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29373
29374 * include/grub/normal.h: Fixed incorrect comment for
29375 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29376
81a06771 293772008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29378
29379 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29380 values with defines.
29381
29382 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29383 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29384 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29385 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29386 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29387 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29388 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29389 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29390 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29391 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29392 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29393 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29394 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29395 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29396 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29397 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29398 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29399 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29400 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29401
93d5cbf8 294022008-08-31 Robert Millan <rmh@aybabtu.com>
29403
29404 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29405 declaration.
29406 (grub_multiboot): Fix a few warnings.
29407
21751d50 294082008-08-31 Robert Millan <rmh@aybabtu.com>
29409
29410 * loader/i386/pc/multiboot.c: Update comment not to say that
29411 boot_device support is unimplemented.
29412
e27a75c5 294132008-08-31 Robert Millan <rmh@aybabtu.com>
29414
29415 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29416 or memory map support are unimplemented.
29417
81a06771 294182008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 29419
29420 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29421
81a06771 294222008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 29423
29424 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29425 total video memory in 'vbeinfo' output; show color format details for
29426 each video mode.
29427
7c5d8d95 294282008-08-30 Pavel Roskin <proski@gnu.org>
29429
29430 * util/genmoddep.c: Remove for real this time.
29431 * DISTLIST: Remove util/genmoddep.c.
29432
4cebd25a 294332008-08-30 Robert Millan <rmh@aybabtu.com>
29434
29435 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29436 as required by Multiboot spec (it was already 4-byte aligned, but
29437 only by chance).
29438
b497a269 294392008-08-29 Pavel Roskin <proski@gnu.org>
29440
e3925185 29441 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29442 * kern/powerpc/ieee1275/startup.S: ... this.
29443 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29444 * DISTLIST: Likewise.
29445
b497a269 29446 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29447 grub/cpu/kernel.h. Add start label for consistency with other
29448 platforms. Add grub_prefix immediately after start. Add jump
29449 to the code after grub_prefix.
29450 * include/grub/powerpc/kernel.h: Provide valid values for
29451 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29452
6e5a42fe 294532008-08-29 Bean <bean123ch@gmail.com>
29454
29455 * configure.ac: Change host_os to cygwin for mingw.
29456 (asprintf): New check for function.
29457
29458 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29459 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29460
29461 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 29462 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 29463 sync, sleep and grub_util_get_disk_size for mingw.
29464
29465 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29466 to get size in mingw.
29467 (open_device): Use flag O_BINARY if it's defined.
29468 (find_root_device): Add dummy code for mingw.
29469
29470 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29471 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29472 (get_scsi_disk_name): Return 0 for mingw.
29473
29474 * util/hostfs.c: #include <grub/util/misc.h>.
29475 (grub_hostfs_open): Use "rb" flag to open file, use
29476 grub_util_get_disk_size to get disk size for mingw.
29477
29478 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29479 (asprintf): New function if HAVE_ASPRINTF is not set.
29480 (sync): New function for mingw.
29481 (sleep): Likewise.
29482 (grub_util_get_disk_size): Likewise.
29483
ab3f2673 294842008-08-28 Pavel Roskin <proski@gnu.org>
29485
29486 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29487 kern/time.c.
29488
1c282483 294892008-08-28 Robert Millan <rmh@aybabtu.com>
29490
29491 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29492
678e849c 294932008-08-28 Robert Millan <rmh@aybabtu.com>
29494
29495 Change find_grub_drive() syntax so it doesn't prevent it from
29496 detecting NULL names as errors.
29497
29498 * util/biosdisk.c (find_grub_drive): Move free slot search code
29499 from here ...
29500 (find_free_slot): ... to here.
29501 (read_device_map): Use find_free_slot() to search for free slots.
29502
965c75ca 295032008-08-27 Marco Gerards <marco@gnu.org>
29504
29505 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29506 (scsi_mod_SOURCES): New variable.
29507 (scsi_mod_CFLAGS): Likewise
29508 (scsi_mod_LDFLAGS): Likewise.
29509
29510 * disk/scsi.c: New file.
29511
29512 * include/grub/scsi.h: Likewise.
29513
29514 * include/grub/scsicmd.h: Likewise.
29515
29516 * disk/ata.c: Include <grub/scsi.h>.
29517 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29518 instead.
29519 (grub_ata_iterate): Skip ATAPI devices.
29520 (grub_ata_open): Only handle ATAPI devices.
29521 (struct grub_atapi_read): Removed.
29522 (grub_atapi_readsector): Likewise.
29523 (grub_ata_read): No longer handle ATAPI devices.
29524 (grub_ata_write): Likewise.
29525 (grub_atapi_iterate): New function.
29526 (grub_atapi_read): Likewise.
29527 (grub_atapi_write): Likewise.
29528 (grub_atapi_open): Likewise.
29529 (grub_atapi_close): Likewise.
29530 (grub_atapi_dev): New variable.
29531 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29532 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29533
29534 * include/grub/disk.h (enum grub_disk_dev_id): Add
29535 `GRUB_DISK_DEVICE_SCSI_ID'.
29536
c07ae501 295372008-08-26 Robert Millan <rmh@aybabtu.com>
29538
29539 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29540 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29541 descriptive.
29542
5ed20adc 295432008-08-23 Bean <bean123ch@gmail.com>
29544
29545 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29546 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29547 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29548 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29549 dm_nv.mod.
29550 (raid5rec_mod_SOURCES): New macro.
29551 (raid5rec_mod_CFLAGS): Likewise.
29552 (raid5rec_mod_LDFLAGS): Likewise.
29553 (raid6rec_mod_SOURCES): Likewise.
29554 (raid6rec_mod_CFLAGS): Likewise.
29555 (raid6rec_mod_LDFLAGS): Likewise.
29556 (mdraid_mod_SOURCES): Likewise.
29557 (mdraid_mod_CFLAGS): Likewise.
29558 (mdraid_mod_LDFLAGS): Likewise.
29559 (dm_nv_mod_SOURCES): Likewise.
29560 (dm_nv_mod_CFLAGS): Likewise.
29561 (dm_nv_mod_LDFLAGS): Likewise.
29562
29563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29564 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29565 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29566
29567 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29568 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29569
29570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29571
29572 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29573
29574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29575
29576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29577
29578 * disk/raid5_recover.c: New file.
29579
29580 * disk/raid6_recover.c: Likewise.
29581
29582 * disk/mdraid_linux.c: Likewise.
29583
29584 * disk/dmraid_nvidia.c: Likewise.
29585
29586 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29587 ULONG_MAX.
29588
29589 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29590 calculate the size of raid device.
29591 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29592 different layout of raid5.
29593 (grub_raid_scan_device): Remove code specific to mdraid.
29594 (grub_raid_list): New variable.
29595 (free_array): New function.
29596 (grub_raid_register): Likewise.
29597 (grub_raid_unregister): Likewise.
29598 (grub_raid_rescan): Likewise.
29599 (GRUB_MOD_INIT): Don't iterate device here.
29600 (GRUB_MOD_FINI): Use free_array to release resource.
29601
29602 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29603 (grub_raid5_recover_func_t): New function variable type.
29604 (grub_raid6_recover_func_t): Likewise.
29605 (grub_raid5_recover_func): New variable.
29606 (grub_raid6_recover_func): Likewise.
29607 (grub_raid_register): New function.
29608 (grub_raid_unregister): Likewise.
29609 (grub_raid_rescan): Likewise.
29610 (grub_raid_block_xor): Likewise.
29611
29612 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29613 (CMD_CRC): New macro.
29614 (part): Removed.
29615 (read_file): Handle device as well as file.
29616 (cmd_crc): New function.
29617 (fstest): Handle multiple disks.
29618 (options): Remove part, raw and long, add root and diskcount.
29619 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 29620 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 29621 add handling for the new options, support multiple disks.
29622
29623 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29624
29c18915 296252008-08-23 Bean <bean123ch@gmail.com>
29626
29627 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29628
29629 * genfslist.sh: Ignore kernel.mod.
29630
29631 * genpartmaplist.sh: Likewise.
29632
8415f261 296332008-08-23 Robert Millan <rmh@aybabtu.com>
29634
29635 * util/getroot.c (find_root_device): Skip anything that starts with
29636 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29637
d5a7dc5b 296382008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 29639
d5a7dc5b 29640 * util/update-grub.in (GRUB_GFXMODE): Export variable.
29641 * util/grub.d/00_header.in: Allow the administrator to change default
29642 gfxmode via ${GRUB_GFXMODE}.
29643
380cfbb4 296442008-08-21 Felix Zielcke <fzielcke@z-51.de>
29645
29646 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29647
c9baafe7 296482008-08-21 Robert Millan <rmh@aybabtu.com>
29649
29650 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29651 loader.
29652 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29653 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29654
e290bef2 296552008-08-20 Carles Pina i Estany <carles@pina.cat>
29656
29657 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29658 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29659
f9dbfc96 296602008-08-19 Robert Millan <rmh@aybabtu.com>
29661
29662 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29663 (struct grub_virtual_screen): Remove `cursor_color'.
29664 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29665 initialization.
29666 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29667
dd6bd6ab 296682008-08-18 Robert Millan <rmh@aybabtu.com>
29669
29670 Unify (identical) linux_normal.c files.
29671 * loader/i386/efi/linux_normal.c: Move from here ...
29672 * loader/linux_normal.c: ... to here. Update all users.
29673 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29674 * loader/i386/ieee1275/linux_normal.c: Likewise.
29675
7f42f83e 296762008-08-18 Robert Millan <rmh@aybabtu.com>
29677
29678 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29679 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29680 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29681 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29682 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29683 New macros.
29684 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29685 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29686 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29687 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29688 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29689 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29690 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29691 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29692 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29693 portably using grub_getxy().
29694 Replace `-EFI' with `-bzImage' in boot message.
29695
38487ddb 296962008-08-17 Robert Millan <rmh@aybabtu.com>
29697
29698 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29699
deceb3ec 297002008-08-17 Robert Millan <rmh@aybabtu.com>
29701
29702 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29703
29704 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29705 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29706 (grub_machine_mmap_iterate): New function declaration.
29707 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29708 structure.
29709 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29710 macros.
29711
29712 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
29713 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
29714 Move e820 parsing from here ...
29715 * kern/i386/pc/mmap.c: New file.
29716 (grub_machine_mmap_iterate): ... to here.
29717
29718 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
29719 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
29720 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
29721 (grub_available_iterate): Redeclare to return `void', and redeclare
29722 its hook to use grub_uint64_t as addr and size parameters, and rename
29723 to ...
29724 (grub_machine_mmap_iterate): ... this. Update all users.
29725
29726 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
29727 to make it more readable. Rename to ...
29728 (grub_machine_mmap_iterate): ... this.
29729
29730 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
29731 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
29732 (grub_multiboot): Allocate an extra region after the payload, and fill
29733 it with a Multiboot memory map. Adjust a.out loader to calculate size
29734 with the extra space.
29735 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
29736 with the extra space.
29737
f8aa0f43 297382008-08-17 Carles Pina i Estany <carles@pina.cat>
29739
9807deb9 29740 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 29741
605f5bb6 297422008-08-17 Felix Zielcke <fzielcke@z-51.de>
29743
29744 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
29745 mdate-sh to the list `find' searches for.
29746 * DISTLIST: Regenerated.
29747
210db6c6 297482008-08-16 Felix Zielcke <fzielcke@z-51.de>
29749
29750 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
29751 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 29752 genmoddep.awk, gensymlist.sh.in.
29753 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 29754 * DISTLIST: Regenerated.
48cdbfd4 29755 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 29756
1082b929 297572008-08-16 Robert Millan <rmh@aybabtu.com>
29758
29759 * disk/raid.c (grub_raid_init): Handle/report errors set by
29760 grub_device_iterate().
29761 * disk/lvm.c (grub_lvm_init): Likewise.
29762
42ce5170 297632008-08-15 Bean <bean123ch@gmail.com>
29764
29765 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29766 and datehook.mod.
29767 (datetime_mod_SOURCES): New macro.
29768 (datetime_mod_CFLAGS): Likewise.
29769 (datetime_mod_LDFLAGS): Likewise.
29770 (date_mod_SOURCES): Likewise.
29771 (date_mod_CFLAGS): Likewise.
29772 (date_mod_LDFLAGS): Likewise.
29773 (datehook_mod_SOURCES): Likewise.
29774 (datehook_mod_CFLAGS): Likewise.
29775 (datehook_mod_LDFLAGS): Likewise.
29776
29777 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29778 and datehook.mod.
29779 (datetime_mod_SOURCES): New macro.
29780 (datetime_mod_CFLAGS): Likewise.
29781 (datetime_mod_LDFLAGS): Likewise.
29782 (date_mod_SOURCES): Likewise.
29783 (date_mod_CFLAGS): Likewise.
29784 (date_mod_LDFLAGS): Likewise.
29785 (datehook_mod_SOURCES): Likewise.
29786 (datehook_mod_CFLAGS): Likewise.
29787 (datehook_mod_LDFLAGS): Likewise.
29788
29789 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29790 and datehook.mod.
29791 (datetime_mod_SOURCES): New macro.
29792 (datetime_mod_CFLAGS): Likewise.
29793 (datetime_mod_LDFLAGS): Likewise.
29794 (date_mod_SOURCES): Likewise.
29795 (date_mod_CFLAGS): Likewise.
29796 (date_mod_LDFLAGS): Likewise.
29797 (datehook_mod_SOURCES): Likewise.
29798 (datehook_mod_CFLAGS): Likewise.
29799 (datehook_mod_LDFLAGS): Likewise.
29800
29801 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29802 and datehook.mod.
29803 (datetime_mod_SOURCES): New macro.
29804 (datetime_mod_CFLAGS): Likewise.
29805 (datetime_mod_LDFLAGS): Likewise.
29806 (date_mod_SOURCES): Likewise.
29807 (date_mod_CFLAGS): Likewise.
29808 (date_mod_LDFLAGS): Likewise.
29809 (datehook_mod_SOURCES): Likewise.
29810 (datehook_mod_CFLAGS): Likewise.
29811 (datehook_mod_LDFLAGS): Likewise.
29812
29813 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29814 and datehook.mod.
29815 (datetime_mod_SOURCES): New macro.
29816 (datetime_mod_CFLAGS): Likewise.
29817 (datetime_mod_LDFLAGS): Likewise.
29818 (date_mod_SOURCES): Likewise.
29819 (date_mod_CFLAGS): Likewise.
29820 (date_mod_LDFLAGS): Likewise.
29821 (datehook_mod_SOURCES): Likewise.
29822 (datehook_mod_CFLAGS): Likewise.
29823 (datehook_mod_LDFLAGS): Likewise.
29824
29825 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
29826
29827 * commands/date.c: New file.
29828
29829 * hook/datehook.c: Likewise.
29830
29831 * include/grub/lib/datetime.h: Likewise.
29832
29833 * include/grub/i386/cmos.h: Likewise.
29834
29835 * lib/datetime.c: Likewise.
29836
29837 * lib/i386/datetime.c: Likewise.
29838
29839 * lib/efi/datetime.c: Likewise.
29840
0e9242da 298412008-08-14 Robert Millan <rmh@aybabtu.com>
29842
29843 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
29844 (grub_mkelfimage_SOURCES): New variable.
29845 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
29846
29847 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
29848 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
29849 * conf/powerpc-ieee1275.rmk: Likewise.
29850 * conf/i386-ieee1275.rmk: Likewise.
29851
29852 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
29853 * kern/i386/coreboot/init.c: Likewise.
29854
29855 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
29856 with `<grub/cpu/kernel.h>'.
29857 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
29858 to ...
29859 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
29860 * kern/i386/coreboot/startup.S: Likewise.
29861
29862 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
29863 (GRUB_MOD_GAP): Remove.
29864 * include/grub/powerpc/kernel.h: New file.
29865 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
29866 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29867 * include/grub/i386/kernel.h: New file.
29868 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
29869 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
29870 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29871
29872 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
29873 `grub-mkelfimage'.
29874 Use --directory when invoking grub_mkimage.
29875
29876 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
29877 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29878 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29879 and GRUB_KERNEL_CPU_PREFIX.
29880
b86408f8 298812008-08-14 Felix Zielcke <fzielcke@z-51.de>
29882
d5e619ca 29883 * include/grub/err.h (grub_err_printf): New function prototype.
29884 * util/misc.c (grub_err_printf): New function.
29885 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29886 grub_printf.
29887 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 29888
7161f0e0 298892008-08-13 Robert Millan <rmh@aybabtu.com>
29890
29891 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29892
a1967522 298932008-08-13 Robert Millan <rmh@aybabtu.com>
29894
29895 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29896 boot entry.
29897
371458b5 298982008-08-12 Robert Millan <rmh@aybabtu.com>
29899
29900 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29901 of the relocation code from here ...
29902 (grub_multiboot): ... to here.
29903 (forward_relocator, backward_relocator): Move from here ...
29904 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29905 (grub_multiboot_backward_relocator): ... to here.
29906 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29907 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29908 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29909 (grub_multiboot_forward_relocator_end)
29910 (grub_multiboot_backward_relocator)
29911 (grub_multiboot_backward_relocator_end): New variables.
29912
05f9452b 299132008-08-12 Bean <bean123ch@gmail.com>
29914
29915 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29916
20024ab0 299172008-08-11 Robert Millan <rmh@aybabtu.com>
29918
29919 * kern/i386/linuxbios/startup.S: Move from here ...
29920 * kern/i386/coreboot/startup.S: ... to here.
29921
29922 * kern/i386/linuxbios/init.c: Move from here ...
29923 * kern/i386/coreboot/init.c: ... to here.
29924
29925 * kern/i386/linuxbios/table.c: Move from here ...
29926 * kern/i386/coreboot/mmap.c: ... to here.
29927
29928 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29929
e352e9cd 299302008-08-11 Robert Millan <rmh@aybabtu.com>
29931
29932 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29933 errors. Leave it to the upper layer to handle them.
29934
2d05bc6a 299352008-08-09 Christian Franke <franke@computer.org>
29936
29937 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29938 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29939 Install `grub.d/10_windows' only on Cygwin.
29940 * configure.ac: Add subst of `target_os'.
29941 Check `target_os' also before setting TARGET_OBJ2ELF.
29942 Add `--enable-grub-pe2elf'.
29943
042bd419 299442008-08-08 Robert Millan <rmh@aybabtu.com>
29945
29946 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29947 (grub_last_time): Change type to grub_uint64_t.
29948 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29949 (grub_disk_close): Likewise.
29950
29951 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29952 (run_menu): Migrate code from to using grub_get_time_ms().
29953
29954 * util/misc.c (grub_get_time_ms): New function.
29955
7f280db5 299562008-08-08 Marco Gerards <marco@gnu.org>
29957
29958 * disk/ata.c (grub_ata_regget): Change return type to
29959 `grub_uint8_t'.
29960 (grub_ata_regget2): Likewise.
29961 (grub_ata_wait_status): New function.
29962 (grub_ata_wait_busy): Removed function, updated all users to use
29963 `grub_ata_wait_status'.
29964 (grub_ata_wait_drq): Likewise.
29965 (grub_ata_cmd): New function.
29966 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29967 error handling.
29968 (grub_ata_pio_write): Add error handling.
29969 (grub_atapi_identify): Likewise.
29970 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29971 handling.
29972 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29973 handling. Actually use the detected registers. Reorder the
29974 detection logic such that it is easier to read.
29975 (grub_ata_pciinit): Do not assign the same ID to each controller.
29976 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29977 handling.
29978 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29979
29980 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29981
1fbc5e66 299822008-08-08 Marco Gerards <marco@gnu.org>
29983
29984 * NEWS: Update.
29985
819ce6c0 299862008-08-07 Bean <bean123ch@gmail.com>
29987
29988 * include/grub/x86_64/pci.h: New file.
29989
5c41d44d 299902008-08-07 Christian Franke <franke@computer.org>
29991
29992 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29993 (TIMER2_GATE): Likewise.
29994 (grub_pit_wait): Add enable/disable of the timer2 gate
29995 bit of port 0x61. This fixes a possible infinite loop.
29996
5ebc275d 299972008-08-07 Bean <bean123ch@gmail.com>
29998
29999 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30000 kern/i386/tsc.c and kern/i386/pit.c.
30001
30002 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30003 x86_64 platform.
30004
30005 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30006 <grub/i386/tsc.h>.
30007
30008 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30009
e383b3d0 300102008-08-07 Bean <bean123ch@gmail.com>
30011
30012 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30013
30014 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30015
30016 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30017 multiple inclusion. Add #include <grub/types.h>.
30018
1cbb58ac 300192008-08-06 Christian Franke <franke@computer.org>
30020
30021 * conf/common.rmk: Build and install `10_windows'.
30022 * util/grub.d/10_windows.in: New script.
30023
337f5a1e 300242008-08-06 Pavel Roskin <proski@gnu.org>
30025
30026 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30027
057bc4ac 300282008-08-06 Robert Millan <rmh@aybabtu.com>
30029
30030 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30031 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30032
2b99f123 300332008-08-06 Bean <bean123ch@gmail.com>
30034
30035 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30036 (grub_pxefs_fs_int): Remove dummy definition.
30037 (grub_pxefs_open): Use data->block_size to store the current block
30038 size setting.
30039 (grub_pxefs_read): Use block size stored in data->block_size. As the
30040 value of grub_pxe_blksize can be changed after the file is opened.
30041
9f0234cb 300422008-08-06 Bean <bean123ch@gmail.com>
30043
30044 * fs/i386/pc/pxe.c (curr_file): new variable.
30045 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30046 require the dummy internal file system anymore.
30047 (grub_pxefs_read): Removed.
30048 (grub_pxefs_close): Likewise.
30049 (grub_pxefs_fs_int): Likewise.
30050 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30051 connection when we switch file.
30052 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30053
a55d42e0 300542008-08-06 Robert Millan <rmh@aybabtu.com>
30055
30056 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30057 `halt.mod'.
30058 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30059 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30060
30061 * kern/i386/halt.c: New file.
30062 * kern/i386/reboot.c: Likewise.
30063 * include/grub/i386/reboot.h: Likewise.
30064 * include/grub/i386/halt.h: Likewise.
30065
30066 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30067 Include `<grub/cpu/halt.h>'.
30068 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30069 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30070
30071 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30072 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30073 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30074 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30075 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30076 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30077 from here ...
30078 * include/grub/i386/at_keyboard.h: ... to here.
30079
24371d26 300802008-08-05 Robert Millan <rmh@aybabtu.com>
30081
30082 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30083 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30084 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30085 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30086 `kern/generic/millisleep.c'.
30087
30088 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30089 instead of grub_get_rtc().
30090 (grub_tsc_init): Initialize `tsc_boot_time'.
30091
30092 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30093 (grub_machine_init): Use grub_tsc_init() rather than
30094 installing an RTC-based handler via grub_install_get_time_ms().
30095
30096 * kern/i386/pit.c: New file.
30097 * include/grub/i386/pit.h: Likewise.
30098
9e7007b3 300992008-08-05 Bean <bean123ch@gmail.com>
30100
30101 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30102
30103 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30104 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30105 (pxe_mod_SOURCES): New macro.
30106 (pxe_mod_CFLAGS): Likewise.
30107 (pxe_mod_LDFLAGS): Likewise.
30108 (pxecmd_mod_SOURCES): Likewise.
30109 (pxecmd_mod_CFLAGS): Likewise.
30110 (pxecmd_mod_LDFLAGS): Likewise.
30111
30112 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30113 (grub_pxe_call): Likewise.
30114
30115 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30116
30117 * commands/i386/pc/pxecmd.c: New file.
30118
9f0234cb 30119 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30120
30121 * include/grub/i386/pc/pxe.h: Likewise.
30122
6977d49f 301232008-08-05 Bean <bean123ch@gmail.com>
30124
30125 * util/console.c (grub_console_cur_color): New variable.
30126 (grub_console_standard_color): Likewise.
30127 (grub_console_normal_color): Likewise.
30128 (grub_console_highlight_color): Likewise.
30129 (color_map): Likewise.
30130 (use_color): Likewise.
30131 (NUM_COLORS): New macro.
30132 (grub_ncurses_setcolorstate): Handle color properly.
30133 (grub_ncurses_setcolor): Don't change color here, just remember the
30134 settings, color will be set in grub_ncurses_setcolorstate.
30135 (grub_ncurses_getcolor): New function.
30136 (grub_ncurses_init): Initialize color pairs.
30137 (grub_ncurses_term): New member grub_ncurses_getcolor.
30138
9c2ff3ee 301392008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30140
9c2ff3ee 30141 High resolution timer support. Implemented for x86 CPUs using TSC.
30142 Extracted generic grub_millisleep() so it's linked in only as needed.
30143 This requires a Pentium compatible CPU; if the RDTSC instruction is
30144 not supported, then it falls back on the generic grub_get_time_ms()
30145 implementation that uses the machine's RTC.
30146
30147 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30148 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30149 `kern/generic/millisleep.c'.
30150
30151 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30152 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30153
30154 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30155 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30156
30157 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30158
30159 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30160 `kern/generic/millisleep.c'.
30161
30162 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30163
30164 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30165
30166 * kern/generic/rtc_get_time_ms.c: New file.
30167
30168 * kern/generic/millisleep.c: New file.
337f5a1e 30169
9c2ff3ee 30170 * kern/misc.c: Don't include
30171 <kern/time.h> anymore.
30172 (grub_millisleep_generic): Removed.
30173
30174 * commands/sleep.c (grub_interruptible_millisleep): Uses
30175 grub_get_time_ms() instead of grub_get_rtc().
30176
30177 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30178 function.
30179 (grub_cpu_is_cpuid_supported): New inline function.
30180 (grub_cpu_is_tsc_supported): New inline function.
30181 (grub_tsc_init): New function prototype.
30182 (grub_tsc_get_time_ms): New function prototype.
30183
30184 * kern/i386/tsc.c (grub_get_time_ms): New file.
30185
30186 * include/grub/time.h: Include <grub/types.h.
30187 (grub_millisleep_generic): Removed.
30188 (grub_get_time_ms): New prototype.
30189 (grub_install_get_time_ms): New prototype.
30190 (grub_rtc_get_time_ms): New prototype.
30191
30192 * kern/time.c (grub_get_time_ms): New function.
30193 (grub_install_get_time_ms): New function.
30194
30195 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30196 <grub/time.h> anymore.
30197 (grub_millisleep): Removed.
30198 (grub_machine_init): Call grub_tsc_init.
30199
30200 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30201 get_time_ms() implementation.
30202
30203 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30204 (ieee1275_get_time_ms): New function.
30205 (grub_machine_init): Install get_time_ms() implementation.
30206
30207 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30208 (grub_machine_init): Call grub_tsc_init().
30209 (grub_millisleep): Removed.
bf06a93f 30210
9c2ff3ee 30211 * kern/ieee1275/init.c (grub_millisleep): Removed.
30212 (grub_machine_init): Install ieee1275_get_time_ms()
30213 implementation.
30214 (ieee1275_get_time_ms): New function.
30215 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30216 real work.
30217
9ec92aaf 302182008-08-05 Marco Gerards <marco@gnu.org>
30219
30220 * disk/ata.c: Include <grub/pci.h>.
30221 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30222 (grub_ata_initialize): Rewritten.
30223 (grub_ata_device_initialize): New function.
30224
8d23f507 302252008-08-04 Pavel Roskin <proski@gnu.org>
30226
30227 * kern/main.c: Include grub/mm.h.
30228
5e15ee3d 302292008-08-04 Robert Millan <rmh@aybabtu.com>
30230
30231 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30232 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30233 corruption problem).
30234
a9053f8f 302352008-08-04 Robert Millan <rmh@aybabtu.com>
30236
30237 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30238 warnings introduced in my last commit.
30239
dd19c7d7 302402008-08-03 Robert Millan <rmh@aybabtu.com>
30241
30242 Make PCI available on all i386 architectures.
30243
30244 * include/grub/i386/pc/pci.h: Move from here ...
30245 * include/grub/i386/pci.h: ... to here.
30246
30247 * include/grub/i386/pc/pci.h: Remove.
30248 * include/grub/i386/efi/pci.h: Remove.
30249 * include/grub/x86_64/efi/pci.h: Remove.
30250
30251 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30252 `<grub/cpu/pci.h>'.
30253
30254 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30255 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30256 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30257
30258 * conf/i386-ieee1275.rmk: Likewise.
30259
e14a6184 302602008-08-03 Robert Millan <rmh@aybabtu.com>
30261
30262 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30263 (grub_console_setcursor): Make it possible to set cursor off.
30264
52768e37 302652008-08-03 Robert Millan <rmh@aybabtu.com>
30266
30267 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30268 of modules instead of assuming which platform provides what.
30269 * util/update-grub.in: Likewise.
30270
2d52f57f 302712008-08-03 Robert Millan <rmh@aybabtu.com>
30272
30273 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30274 instead of `grub_install_dos_part' to determine whether a drive needs
30275 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30276 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30277
2a5cd121 302782008-08-02 Robert Millan <rmh@aybabtu.com>
30279
30280 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30281
93808428 302822008-08-02 Robert Millan <rmh@aybabtu.com>
30283
30284 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30285 of informational grub_dprintf() calls.
30286
3bd0a12a 302872008-08-02 Robert Millan <rmh@aybabtu.com>
30288
30289 * disk/memdisk.c (memdisk_size): Don't initialize.
30290 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30291
30292 * include/grub/i386/pc/kernel.h
30293 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30294 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30295 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30296 (grub_arch_memdisk_size): Remove.
30297
30298 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30299 field (was only used to transfer a constant). Add `type' field to
30300 support multiple module types.
30301 (grub_module_iterate): New function.
30302
30303 * kern/device.c (grub_device_open): Do not hide error messages
30304 when grub_disk_open() fails. Use grub_print_error() instead.
30305
30306 * kern/i386/pc/init.c (grub_arch_modules_addr)
30307 (grub_arch_memdisk_size): Remove functions.
30308 (grub_arch_modules_addr): Return the module address in high memory
30309 (now that it isn't copied anymore).
30310
30311 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30312 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30313 decompression routine (grub_total_module_size already includes that
30314 now). Don't copy modules back to low memory.
30315
30316 * kern/main.c: Include `<grub/mm.h>'.
30317 (grub_load_modules): Split out (and use) ...
30318 (grub_module_iterate): ... this function, which iterates through
30319 module objects and runs a hook.
30320 Comment out grub_mm_init_region() call, as it would cause non-ELF
30321 modules to be overwritten.
30322
30323 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30324 the memdisk image in its own region, make it part of the module list.
30325 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30326 (main): Parse --memdisk|-m option, and pass user-provided path as
30327 parameter to generate_image().
30328 (add_segments): Pass `memdisk_path' down to load_modules().
30329 (load_modules): Embed memdisk image in module section when requested.
30330 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30331 `header.type' instead of `header.offset'.
30332
30333 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30334 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30335 (memdisk_mod_LDFLAGS): New variables.
30336 * conf/i386-coreboot.rmk: Likewise.
30337 * conf/i386-ieee1275.rmk: Likewise.
30338
a927cc73 303392008-08-02 Robert Millan <rmh@aybabtu.com>
30340
30341 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30342 (backward_relocator): New variables. Used to allocate and relocate
30343 the payload, respectively.
30344 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30345 address, install the appropriate relocator code in each bound of
a927cc73 30346 the payload, and set the entry point such that
30347 grub_multiboot_real_boot() will jump to one of them.
30348
30349 * kern/i386/loader.S (grub_multiboot_payload_size)
30350 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30351 (grub_multiboot_payload_entry_offset): New variables.
30352 (grub_multiboot_real_boot): Set cpu context to what the relocator
30353 expects, and jump to the relocator instead of the payload.
30354
30355 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30356 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30357 (grub_multiboot_payload_entry_offset): Export.
30358
b15d8a0c 303592008-08-01 Bean <bean123ch@gmail.com>
30360
30361 * normal/menu_entry.c (editor_getline): Don't return the original
30362 string as result, as it will be released by lexer once it has done
30363 using it.
30364
cdfb3d22 303652008-08-01 Robert Millan <rmh@aybabtu.com>
30366
30367 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30368 within menuentries, not before them.
30369 util/grub.d/10_hurd.in: Likewise.
30370
9175e93d 303712008-08-01 Bean <bean123ch@gmail.com>
30372
30373 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30374 (bufio_mod_SOURCES): New macro.
30375 (bufio_mod_CFLAGS): Likewise.
30376 (bufio_mod_LDFLAGS): Likewise.
30377
30378 * include/grub/bufio.h: New file.
30379
30380 * io/bufio.c: Likewise.
30381
30382 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30383 (grub_video_reader_png): Use grub_buffile_open to open file.
30384
30385 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30386 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30387
30388 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30389 (grub_video_reader_tga): Use grub_buffile_open to open file.
30390
30391 * font/manager.c: Include <grub/bufio.h>.
30392 (add_font): Use grub_buffile_open to open file.
30393
3d8383e7 303942008-07-31 Robert Millan <rmh@aybabtu.com>
30395
30396 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30397 ELF segments, use a macro for arbitrarily accessing any of them instead
30398 of preparing a pointer that allows access to one at a time.
30399 (grub_multiboot_load_elf64): Likewise.
30400
16e641b6 304012008-07-31 Bean <bean123ch@gmail.com>
30402
30403 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30404 GRUB_KERNEL_MACHINE_DATA_END.
30405
59198b72 304062008-07-30 Robert Millan <rmh@aybabtu.com>
30407
30408 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30409 Increase from 0x50 to 0x60.
30410 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30411 use UUIDs to identify the root drive for them. If that's not
30412 possible, abort.
30413 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30414 check, for cross-disk installs.
30415
ae88bca3 304162008-07-30 Robert Millan <rmh@aybabtu.com>
30417
30418 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30419 is non-empty, use it to set the `prefix' environment variable instead
30420 of the usual approach.
30421 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30422 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30423 environment variable instead of dummy make_install_device().
30424
30425 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30426 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 30427 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 30428
30429 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30430 New variable reference.
30431 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30432 New macro. Defines offset of `grub_prefix' within startup.S (relative
30433 to `start').
30434 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30435 section within startup.S (relative to `start').
30436 * include/grub/i386/coreboot/kernel.h: Likewise.
30437
30438 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30439 Overwrite grub_prefix with its contents, at the beginning of the
30440 first segment.
30441 (main): Understand -p|--prefix.
30442
14f41dd1 304432008-07-30 Robert Millan <rmh@aybabtu.com>
30444
30445 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30446
4ca049a3 304472008-07-30 Robert Millan <rmh@aybabtu.com>
30448
30449 * term/i386/pc/vga_text.c (grub_console_cls): Use
30450 grub_console_gotoxy() to go back to beginning of the screen.
30451 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30452
2921d337 304532008-07-29 Christian Franke <franke@computer.org>
30454
30455 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30456 Add conversion of emulated mount points on Cygwin.
30457
b609876d 304582008-07-29 Christian Franke <franke@computer.org>
30459
30460 * util/update-grub.in: Add a check for admin
30461 group on Cygwin.
30462 Remove old `grub.cfg.new' before creation.
30463 Add `-f' to `mv' to handle the different filesystem
30464 semantics of Windows.
30465
e93e4679 304662008-07-29 Bean <bean123ch@gmail.com>
30467
30468 * normal/main.c (get_line): Fix buffer overflow bug.
30469
41694fd0 304702008-07-28 Robert Millan <rmh@aybabtu.com>
30471
30472 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30473 (struct grub_apple_header): New struct. Describes the layout of
30474 the partmap header.
30475 (apple_partition_map_iterate): Check the header magic as well as the
30476 partition magic (which was already being checked).
30477
cfd0b4e6 304782008-07-28 Pavel Roskin <proski@gnu.org>
30479
30480 * genmk.rb: Add a warning to the beginning of the output that
30481 it's a generated file and should not be edited.
30482
93cce016 304832008-07-28 Robert Millan <rmh@aybabtu.com>
30484
30485 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30486 with the same number are found, just use issue a warning with
30487 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 30488
cd1df915 304892008-07-27 Robert Millan <rmh@aybabtu.com>
30490
30491 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30492 information.
30493
b70a8427 304942008-07-27 Bean <bean123ch@gmail.com>
30495
30496 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30497 (grub_fat_find_dir): Ignore case when comparing filename.
30498
8f5e379f 304992008-07-27 Bean <bean123ch@gmail.com>
30500
30501 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30502 smallino, as it's more descriptive, and i8count can be confused with
30503 the other field count.
30504 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30505 inode type.
30506
a85cd5a0 305072008-07-27 Bean <bean123ch@gmail.com>
30508
30509 * commands/crc.c: New file.
30510
30511 * lib/crc.c: Likewise.
30512
30513 * include/grub/lib/crc.h: Likewise.
30514
30515 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30516
30517 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30518 (hexdump): Move this function to ...
30519
30520 * lib/hexdump.c: ... here.
30521
30522 * include/grub/hexdump.h: Renamed to ...
30523
30524 * include/grub/lib/hexdump.h: ... this.
30525
30526 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30527
30528 * util/grub-editenv.c: Likewise.
30529
30530 * include/envblk.h: Renamed to ...
30531
30532 * include/lib/envblk.h: ... this.
30533
30534 * util/envblk.c: Renamed to ...
30535
30536 * lib/envblk.c: ... this.
30537
30538 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30539 lib/hexdump.c.
30540 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30541 (pkglib_MODULES): Add crc.mod.
30542 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30543 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30544 (crc_mod_SOURCES): New macro.
30545 (crc_mod_CFLAGS): Likewise.
30546 (crc_mod_LDFLAGS): Likewise.
30547
30548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30549
30550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30551
30552 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30553
30554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30555
30556 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30557
c298def0 305582008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 30559
30560 * commands/help.c: Include <grub/term.h>.
30561 (TERM_WIDTH): Removed. Updated all users.
30562
cc349fb3 305632008-07-27 Pavel Roskin <proski@gnu.org>
30564
30565 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30566 spurious warnings about a comment within a comment.
30567
9051607e 305682008-07-25 Robert Millan <rmh@aybabtu.com>
30569
30570 * util/getroot.c (find_root_device): Skip devices that match
30571 /dev/dm-[0-9]. This lets the real device be found for any type of
30572 abstraction (LVM, EVMS, RAID..).
30573 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30574 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30575 device is found first, find_root_device() will now skip it.
30576
01453bfc 305772008-07-24 Pavel Roskin <proski@gnu.org>
30578
30579 * include/grub/types.h: Use __builtin_bswap32() and
30580 __builtin_bswap64() with gcc 4.3 and newer.
30581
6af9849f 305822008-07-24 Christian Franke <franke@computer.org>
30583
3a0fa256 30584 * util/i386/pc/grub-install.in: If `--debug' is specified,
30585 pass `--verbose' to grub-setup.
30586 Abort script if make_system_path_relative_to_its_root() fails.
30587
7810e747 305882008-07-24 Bean <bean123ch@gmail.com>
30589
30590 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30591 variable `target_platform' should be `platform'.
30592
42290e17 305932008-07-24 Bean <bean123ch@gmail.com>
30594
51cc5193 30595 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 30596 (grub_png_init_fixed_block): New function.
30597 (grub_png_decode_image_data): Handle fixed huffman code compression.
30598
2a8a80e4 305992008-07-24 Bean <bean123ch@gmail.com>
30600
30601 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30602 (grub_pe2elf_SOURCES): New macro.
30603 (CLEANFILES): Add grub-pe2elf.
30604
30605 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30606 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30607 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30608 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30609 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30610 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30611 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30612 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30613 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30614 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30615 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30616 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30617 (GRUB_PE32_DT_FUNCTION): Likewise.
30618 (GRUB_PE32_REL_I386_DIR32): Likewise.
30619 (GRUB_PE32_REL_I386_REL32): Likewise.
30620 (grub_pe32_symbol): New structure.
30621 (grub_pe32_reloc): Likewise.
30622
30623 * util/grub-pe2elf.c: New file.
30624
30625 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30626 start symbol in non pc platform.
30627
30628 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30629
30630 The following patches are from Christian Franke.
30631
30632 * include/grub/dl.h: Remove .previous, gas supports this only
30633 for ELF format.
30634
30635 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30636 Remove .type, gas supports this only for ELF format.
30637
30638 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30639 nullbytes in symbol table. This fixes an infinite loop if table is
30640 zero filled.
30641
30642 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
30643 TARGET_IMG_LDFLAGS and EXEEXT.
30644
30645 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30646 TARGET_IMG_LDFLAGS_AC.
30647 (grub_CHECK_STACK_ARG_PROBE): New function.
30648
30649 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30650
30651 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30652
30653 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30654 to set TARGET_IMG_LD* accordingly.
30655 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30656 Add call to grub_CHECK_STACK_ARG_PROBE.
30657 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30658
30659 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30660
30661 * genmk.rb: Add EXEEXT to CLEANFILES.
30662
12ccdb75 306632008-07-23 Robert Millan <rmh@aybabtu.com>
30664
30665 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30666 define the codes for arrows and lines used for the menu).
30667 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30668 as well.
30669
30670 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30671 fonts, because the latter are too slow.
30672
18eeaf04 306732008-07-21 Bean <bean123ch@gmail.com>
30674
30675 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30676 a20. Run keyboard test last, as it will cause macbook to halt.
30677
b095e2ad 306782008-07-18 Pavel Roskin <proski@gnu.org>
30679
30680 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30681 load foreign architecture modules correctly anyway. Keep
30682 support for loading host architecture modules, whether we
30683 compile them or not.
30684
737feb35 306852008-07-17 Pavel Roskin <proski@gnu.org>
30686
3f4ce737 30687 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30688 change target_cpu. The compiler default can mismatch target_cpu
30689 in any case.
30690
4ad2d049 30691 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30692 * kern/efi/efi.c: Likewise.
30693
f6130a12 30694 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30695 target compiler is functional.
30696 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30697 are set up.
30698
58393a2d 30699 * configure.ac: Default to efi platform for x86_64-apple. Allow
30700 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30701 adjustments from the rest, only do them if target is not
30702 explicitly given. Merge other adjustments with the final sanity
30703 check. Remove an extraneous check for supported CPU. Be
30704 specific which CPU and which platform is not supported.
30705
737feb35 30706 * configure.ac: Default to pc platform for x86_64.
30707
546f966a 307082008-07-17 Robert Millan <rmh@aybabtu.com>
30709
30710 Partial LinuxBIOS -> Coreboot rename.
30711
30712 * conf/i386-linuxbios.rmk: Renamed to ...
30713 * conf/i386-coreboot.rmk: ... this.
30714 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
30715 * configure.ac: Accept "coreboot" as input platform (but maintain
30716 compatibility with "linuxbios").
30717 * include/grub/i386/linuxbios: Renamed to ...
30718 * include/grub/i386/coreboot: ... this.
30719
20011694 307202008-07-17 Bean <bean123ch@gmail.com>
30721
30722 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 30723 (appleldr_mod_SOURCE): New variable.
20011694 30724 (appleldr_mod_CFLAGS): Likewise.
30725 (appleldr_mod_LDFLAGS): Likewise.
30726 (pci_mod_SOURCES): Likewise.
30727 (pci_mod_CFLAGS): Likewise.
30728 (pci_mod_LDFLAGS): Likewise.
30729 (lspci_mod_SOURCES): Likewise.
30730 (lspci_mod_CFLAGS): Likewise.
30731 (lspci_mod_LDFLAGS): Likewise.
30732
30733 * conf/x86_64-efi.rmk: New file.
30734
30735 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
30736 macro.
30737 (grub_efidisk_write): Likewise.
30738
30739 * include/efi/api.h (efi_call_0): New macro.
30740 (efi_call_1): Likewise.
30741 (efi_call_2): Likewise.
30742 (efi_call_3): Likewise.
30743 (efi_call_4): Likewise.
30744 (efi_call_5): Likewise.
30745 (efi_call_6): Likewise.
30746
30747 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
30748 grub_rescue_cmd_chainloader.
30749
30750 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
30751 (grub_pe32_optional_header): Change some fields based on i386 or
30752 x86_64 platform.
30753 (GRUB_PE32_PE32_MAGIC): Likewise.
30754
30755 * include/grub/efi/uga_draw.h: New file.
30756
30757 * include/grub/elf.h (STN_ABS): New constant.
30758 (R_X86_64_NONE): Relocation constant for x86_64.
30759 (R_X86_64_64): Likewise.
30760 (R_X86_64_PC32): Likewise.
30761 (R_X86_64_GOT32): Likewise.
30762 (R_X86_64_PLT32): Likewise.
30763 (R_X86_64_COPY): Likewise.
30764 (R_X86_64_GLOB_DAT): Likewise.
30765 (R_X86_64_JUMP_SLOT): Likewise.
30766 (R_X86_64_RELATIVE): Likewise.
30767 (R_X86_64_GOTPCREL): Likewise.
30768 (R_X86_64_32): Likewise.
30769 (R_X86_64_32S): Likewise.
30770 (R_X86_64_16): Likewise.
30771 (R_X86_64_PC16): Likewise.
30772 (R_X86_64_8): Likewise.
30773 (R_X86_64_PC8): Likewise.
30774
30775 * include/grub/i386/efi/pci.h: New file.
30776
30777 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
30778 Change it value based on platform.
30779 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
30780 (GRUB_E820_RAM): Likewise.
30781 (GRUB_E820_RESERVED): Likewise.
30782 (GRUB_E820_ACPI): Likewise.
30783 (GRUB_E820_NVS): Likewise.
30784 (GRUB_E820_EXEC_CODE): Likewise.
30785 (GRUB_E820_MAX_ENTRY): Likewise.
30786 (grub_e820_mmap): New structure.
30787 (linux_kernel_header): Change the efi field according to different
30788 kernel version, also field from linux_kernel_header.
30789
30790 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
30791
30792 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
30793 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
30794 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
30795 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
30796 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
30797 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
30798 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
30799 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
30800 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
30801 (GRUB_PCI_ADDR_IO_MASK): Likewise.
30802
30803 * include/grub/x86_64/efi/kernel.h: New file.
30804
30805 * include/grub/x86_64/efi/loader.h: Likewise.
30806
30807 * include/grub/x86_64/efi/machine.h: Likewise.
30808
30809 * include/grub/x86_64/efi/pci.h: Likewise.
30810
30811 * include/grub/x86_64/efi/time.h: Likewise.
30812
30813 * include/grub/x86_64/linux.h: Likewise.
30814
30815 * include/grub/x86_64/setjmp.h: Likewise.
30816
30817 * include/grub/x86_64/time.h: Likewise.
30818
30819 * include/grub/x86_64/types.h: Likewise.
30820
30821 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
30822 GRUB_TARGET_SIZEOF_VOID_P.
30823
30824 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
30825 (grub_efi_locate_handle): Likewise.
30826 (grub_efi_open_protocol): Likewise.
30827 (grub_efi_set_text_mode): Likewise.
30828 (grub_efi_stall): Likewise.
30829 (grub_exit): Likewise.
30830 (grub_reboot): Likewise.
30831 (grub_halt): Likewise.
30832 (grub_efi_exit_boot_services): Likewise.
30833 (grub_get_rtc): Likewise.
30834
30835 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
30836 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
30837 (grub_efi_allocate_pages): Wrap efi calls.
30838 (grub_efi_free_pages): Wrap efi calls.
30839 (grub_efi_get_memory_map): Wrap efi calls.
30840
30841 * kern/x86_64/dl.c: New file.
30842
30843 * kern/x86_64/efi/callwrap.S: Likewise.
30844
30845 * kern/x86_64/efi/startup.S: Likewise.
30846
30847 * loader/efi/appleloader.c: Likewise.
30848
30849 * loader/efi/chainloader.c (cmdline): New variable.
30850 (grub_chainloader_unload): Wrap efi calls.
30851 (grub_chainloader_boot): Likewise.
30852 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
30853 command line.
30854
30855 * loader/efi/chainloader_normal.c (chainloader_command):
30856 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
30857 command line.
30858
30859 * loader/i386/efi/linux.c (allocate_pages): Change allocation
30860 method.
30861 (grub_e820_add_region): New function.
30862 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
30863 booting.
30864 (grub_find_video_card): New function.
30865 (grub_linux_setup_video): New function.
30866 (grub_rescue_cmd_linux): Probe for video information.
30867
30868 * normal/x86_64/setjmp.S: New file.
30869
30870 * term/efi/console.c (map_char): New function.
30871 (grub_console_putchar): Map unicode char.
30872 (grub_console_checkkey): Wrap efi calls.
30873 (grub_console_getkey): Likewise.
30874 (grub_console_getwh): Likewise.
30875 (grub_console_gotoxy): Likewise.
30876 (grub_console_cls): Likewise.
30877 (grub_console_setcolorstate): Likewise.
30878 (grub_console_setcursor): Likewise.
30879
30880 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30881
59652a20 308822008-07-16 Pavel Roskin <proski@gnu.org>
30883
ef294055 30884 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30885 format strings.
30886
59652a20 30887 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30888 pointer, not an integer. This fixes a warning and prevents
30889 precision loss on 64-bit systems.
30890 (relocate_addresses): Remove unneeded cast.
30891
afc3b5d7 308922008-07-15 Pavel Roskin <proski@gnu.org>
30893
506b2b3e 30894 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30895
62ead89c 30896 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30897
c4cd51d7 30898 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30899 Fix comparison between signed and unsigned.
30900
0d3d8f28 30901 * include/grub/i386/ieee1275/console.h: Declare
30902 grub_console_init() and grub_console_fini().
30903
8804b286 30904 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30905 It's empty and unused.
30906
ee01cf35 30907 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30908 beginning to avoid warnings with some compilers.
30909
afc3b5d7 30910 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30911 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30912
e4e8eaa5 309132008-07-14 Pavel Roskin <proski@gnu.org>
30914
407aceb4 30915 * kern/env.c (grub_register_variable_hook): Don't copy empty
30916 string, it leaks memory. Pass "" to grub_env_set(), it should
30917 handle constant strings.
30918
e4e8eaa5 30919 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30920 * commands/cmp.c (grub_cmd_cmp): Likewise.
30921 * kern/dl.c (grub_dl_flush_cache): Likewise.
30922 (grub_dl_load_core): Likewise.
30923 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30924 (grub_elf64_load_phdrs): Likewise.
30925
d4e2dad3 309262008-07-13 Pavel Roskin <proski@gnu.org>
30927
30928 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30929 between signed and unsigned.
30930 (LzmaEnc_Finish): Fix warning about an unused parameter.
30931
aa24b516 309322008-07-13 Bean <bean123ch@gmail.com>
30933
30934 * Makefile.in (enable_lzo): New rule.
30935
30936 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30937
30938 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30939
30940 * boot/i386/pc/lnxboot.S: #include <config.h>.
30941
30942 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 30943 its value according to the compression algorithm used, lzo or lzma.
aa24b516 30944
30945 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30946 compression algorithm according to configure macro.
30947
30948 * kern/i386/pc/startup.S (codestart): Likewise.
30949
30950 * kern/i386/pc/lzma_decode.S: New file.
30951
30952 * include/grub/lib/LzFind.h: Likewise.
30953
30954 * include/grub/lib/LzHash.h: Likewise.
30955
30956 * include/grub/lib/LzmaDec.h: Likewise.
30957
30958 * include/grub/lib/LzmaEnc.h: Likewise.
30959
30960 * include/grub/lib/LzmaTypes.h: Likewise.
30961
30962 * lib/LzFind.c: Likewise.
30963
30964 * lib/LzmaDec.c: Likewise.
30965
30966 * lib/LzmaEnc.c: Likewise.
30967
4ae821ac 309682008-07-13 Bean <bean123ch@gmail.com>
30969
30970 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30971 (grub_ext4_extent_header): New structure.
30972 (grub_ext4_extent): Likewise.
30973 (grub_ext4_extent_idx): Likewise.
30974 (grub_ext4_find_leaf): New function.
30975 (grub_ext2_read_block): Handle extents.
30976
9a745147 309772008-07-12 Robert Millan <rmh@aybabtu.com>
30978
30979 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30980
d49a4cf6 309812008-07-11 Robert Millan <rmh@aybabtu.com>
30982
30983 * util/grub.d/40_custom.in: New file. Example on how to add custom
30984 entries to /etc/grub.d.
30985 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30986 40_custom (implicitly, by merging all the grub.d rules).
30987
947414b4 309882008-07-11 Pavel Roskin <proski@gnu.org>
30989
0059cf6f 30990 * commands/read.c (grub_getline): Fix invalid memory access.
30991 Don't add newline to the variable value.
30992
947414b4 30993 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30994 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30995 (serial_hw_get_port): Check validity of the port number.
30996 (grub_cmd_serial): Check return value of serial_hw_get_port().
30997
62a02d00 309982008-07-07 Pavel Roskin <proski@gnu.org>
30999
31000 * boot/i386/pc/diskboot.S (notification_string): Replace
31001 "Loading kernel" with just "loading". This is shorter, less
31002 confusing and saves a few bytes for possible future changes.
31003
3e5581b0 310042008-07-05 Pavel Roskin <proski@gnu.org>
31005
ea387a48 31006 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31007 size for ATAPI devices, they are undefined. Output sector
31008 number in decimal form.
31009
3e5581b0 31010 * disk/ata.c: Use named constants for status bits.
31011
fdecb8fd 310122008-07-04 Pavel Roskin <proski@gnu.org>
31013
bcd35b90 31014 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31015 grub_addr_t before casting it to the void pointer to fix a
31016 warning. Non-addressable regions are discarded earlier.
31017 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31018 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31019 (check_signature): Don't shadow table_header.
31020 (grub_linuxbios_table_iterate): Cast numeric constants to
31021 grub_linuxbios_table_header_t.
31022 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31023 grub_stop().
31024
af58ab3d 31025 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31026 prevent warnings.
31027
1759aa57 31028 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31029 pointer, which can cause warnings. Support 64-bit addresses.
31030
fdecb8fd 31031 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31032 of sizeof(long). This fixes PowerPC image generation on x86_64.
31033
8516d2a8 310342008-07-04 Robert Millan <rmh@aybabtu.com>
31035
31036 This fixes a performance issue when pc & gpt partmap iterators
31037 didn't abort iteration even after our hook found what it was
fe987087 31038 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31039
31040 Some callers relied on previous buggy behaviour, since they would
34c44600 31041 raise an error when their own hooks caused early abortion of its
8516d2a8 31042 iteration.
31043
31044 * kern/device.c (grub_device_open): Improve error message.
31045 * disk/lvm.c (grub_lvm_open): Likewise.
31046 * disk/raid.c (grub_raid_open): Likewise.
31047
31048 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31049 when hook requests it, independently of grub_errno.
31050 (pc_partition_map_probe): Do not fail when find_func() caused
31051 early abortion of pc_partition_map_iterate().
31052
31053 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31054 when hook requests it, independently of grub_errno.
31055 (gpt_partition_map_probe): Do not fail when find_func() caused
31056 early abortion of gpt_partition_map_iterate().
31057
31058 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31059 when hook requests it, independently of grub_errno. Do not fail when
31060 part_map_iterate_hook() caused early abortion of p->iterate().
31061
31062 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31063 when grub_partition_iterate() returned with non-zero.
31064
277d0de9 310652008-07-03 Pavel Roskin <proski@gnu.org>
31066
31067 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31068 like we do in grub_ata_pio_read().
31069 (grub_ata_readwrite): Always write individual sectors. Fix the
31070 sector count for the remainder.
31071 (grub_ata_write): Enable writing to ATA devices. Correctly
31072 report error for ATAPI devices.
31073
d4c9b428 310742008-07-02 Pavel Roskin <proski@gnu.org>
31075
e43fc690 31076 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31077 warning.
31078
f707af42 31079 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31080 for every read sector, we already increment it for the whole
31081 batch. This fixes reading more than 256 sectors at once.
31082
11e16b15 31083 * util/grub-editenv.c (cmd_info): Cast argument to long
31084 explicitly. ptrdiff_t reduces to int on i386.
31085
cbabfdd4 31086 * util/grub-editenv.c (main): Be specific which parameter is
31087 missing.
31088
b8fbce0a 31089 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31090 (memdisk): Make memdisk_orig_addr a pointer.
31091
c9c8e606 31092 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31093 for file offsets, use grub_off_t instead. Fix printf format
31094 warnings.
31095
ca62e598 31096 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31097 there. Real unexpected warnings should not drown in the noise
31098 about known problems.
31099
ce8d1766 31100 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31101 grub_disk_addr_t for memory addresses.
31102
00c7a56a 31103 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31104 explicitly to fix a warning.
31105
08d3ef09 31106 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31107
cb71ba20 31108 * Makefile.in (MODULE_LDFLAGS): New variable.
31109 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31110 the linker accepts --build-id=none.
31111 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31112 MODULE_LDFLAGS.
31113 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31114
d4c9b428 31115 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31116 those in Linux XFS code. Provide a way to access 64-bit parent
31117 inode.
31118 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31119 the end of struct grub_xfs_dir_header.
31120
d4156eee 311212008-07-02 Bean <bean123ch@gmail.com>
31122
31123 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31124 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31125 and GRUB_IEEE1275_FLAG_NO_ANSI.
31126
31127 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31128 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31129 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31130
31131 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31132 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31133
31134 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31135 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31136
31137 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31138 esc sequence on non ANSI terminal.
31139 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31140
31141 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31142 beginning of file.
31143
2270f77b 311442008-07-02 Bean <bean123ch@gmail.com>
31145
31146 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31147 (grub_editenv_SOURCES): New variable.
31148 (pkglib_MODULES): Add loadenv.mod.
31149 (loadenv_mod_SOURCES): New variable.
31150 (loadenv_mod_CFLAGS): Likewise.
31151 (loadenv_mod_LDFLAGS): Likewise.
31152
31153 * include/grub/envblk.h: New file.
31154
31155 * util/envblk.c: New file.
31156
31157 * util/grub-editenv.c: New file.
31158
31159 * commands/loadenv.c: New file.
31160
0e9e51ec 311612008-07-01 Pavel Roskin <proski@gnu.org>
31162
d89b7634 31163 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31164 not unsigned char. This fixes warnings and is consistent with
31165 other tags.
31166
bf1835b1 31167 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31168
8222a04b 31169 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31170
6a42d99d 31171 * term/tparm.c (analyze): Always set *popcount.
31172
10b159d1 31173 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31174 cast to fix a warning.
31175
b8789f6c 31176 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31177 cast to suppress a warning.
31178
29d7e38a 31179 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31180 grub_fshelp_read_file() expects.
31181
f341f669 31182 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31183 write uuid as a 32-bit value in CPU byte order, so declare and
31184 use it as such.
31185
0e9e51ec 31186 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31187 long if the format specifier expects it.
31188 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31189 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31190 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31191 long to fix a warning.
31192 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31193 grub_dprintf() arguments to fix warnings.
31194
3aefa857 311952008-06-30 Pavel Roskin <proski@gnu.org>
31196
56c7668b 31197 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31198 install_bsd_part immediately before core.img is embedded or
31199 modified on disk. This fixes core.img verification if core.img
31200 cannot be embedded.
31201
3aefa857 31202 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31203 core_path to calculate the blocklist.
31204 Patch from Javier Martín <lordhabbit@gmail.com>
31205
5444088d 312062008-06-29 Robert Millan <rmh@aybabtu.com>
31207
31208 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31209 block to disk block.
31210 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31211 Patch from Niels Böhm <bitbucket@arcor.de>
31212
674835c8 312132008-06-29 Robert Millan <rmh@aybabtu.com>
31214
31215 * util/update-grub_lib.in (font_path): Search for fonts in
31216 /boot/grub first, which is more likely to be readable (we aren't
31217 deciding where fonts live, just looking for them).
31218
f527dbc8 312192008-06-26 Pavel Roskin <proski@gnu.org>
31220
6c2d8df6 31221 * util/biosdisk.c (read_device_map): Don't leave dead map
31222 entries for devices failing stat() check.
31223
f527dbc8 31224 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31225 core_path_dev for the core.img path on the target device.
31226
aebe3d13 312272008-06-26 Robert Millan <rmh@aybabtu.com>
31228
31229 * disk/fs_uuid.c: New file.
31230 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31231 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31232 (fs_uuid_mod_LDFLAGS): New variables.
31233 * include/grub/disk.h (grub_disk_dev_id): Add
31234 `GRUB_DISK_DEVICE_UUID_ID'.
31235 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31236 implement iterate().
31237
37aaf354 312382008-06-26 Robert Millan <rmh@aybabtu.com>
31239
31240 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31241 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31242 Linux image includes no initrd.
31243
25ff262a 312442008-06-21 Javier Martín <lordhabbit@gmail.com>
31245
31246 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31247 call to resolve the core image location that effectively appended the
31248 name twice.
31249
76a2bd44 312502008-06-21 Robert Millan <rmh@aybabtu.com>
31251
31252 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31253 call from here ...
31254
31255 * util/grub.d/10_hurd.in: ... to here ...
31256 * util/grub.d/10_linux.in: ... and here.
31257
650e1c79 312582008-06-19 Robert Millan <rmh@aybabtu.com>
31259
fe987087 31260 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31261 after it has been set by grub_machine_set_prefix().
31262
6ce63911 312632008-06-19 Robert Millan <rmh@aybabtu.com>
31264
31265 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31266 search result when not saving to variable, not the other way around.
31267 When saving to variable, abort iteration as soon as a match is found.
31268
73940cec 312692008-06-19 Robert Millan <rmh@aybabtu.com>
31270
31271 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31272 check for partition that provides /boot/grub. Its logic is flawed,
31273 as it prevents prepare_grub_to_access_device() from being called
31274 multiple times.
31275
3c62a39d 312762008-06-19 Robert Millan <rmh@aybabtu.com>
31277
31278 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31279 "insmod" command directly when abstraction modules are needed,
fe987087 31280 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31281 since it had already been processed).
31282
47395a42 312832008-06-19 Pavel Roskin <proski@gnu.org>
31284
31285 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31286 changed. This is needed in case GRUB_LIBDIR changes.
31287 * conf/i386-ieee1275.rmk: Likewise.
31288 * conf/i386-linuxbios.rmk: Likewise.
31289 * conf/i386-pc.rmk: Likewise.
31290 * conf/powerpc-ieee1275.rmk: Likewise.
31291
a145ac2d 312922008-06-18 Pavel Roskin <proski@gnu.org>
31293
31294 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31295 kernel_elf_symlist.c to symlist.c for consistency with other
31296 architectures. Update all users.
31297 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31298
7847c51e 312992008-06-18 Robert Millan <rmh@aybabtu.com>
31300
31301 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31302 it in prefix.
31303
31304 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31305 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31306 a RAID device, run setup() for all members independently on whether
31307 LVM abstraction is being used.
31308 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31309 If grub-mkimage has set `*install_dos_part == -2', don't override this
31310 value.
31311 Perform *install_dos_part adjustments independently on whether
31312 we're embedding or not.
31313 Clarify error message when image is too big for embedding.
31314 Remove duplicate *install_dos_part stanza.
31315
b23e5644 313162008-06-17 Robert Millan <rmh@aybabtu.com>
31317
31318 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31319 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31320 variables.
31321 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31322 values in grub_ofconsole_normal_color and
31323 grub_ofconsole_highlight_color (they're not directly related to
31324 background and foreground).
31325 (grub_ofconsole_setcolorstate): Extract background and foreground
31326 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31327
0aac2f79 313282008-06-17 Robert Millan <rmh@aybabtu.com>
31329
31330 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31331 /boot/grub for the check in last commit, not /boot (they could be
31332 different partitions).
31333
3cca7ef3 313342008-06-16 Robert Millan <rmh@aybabtu.com>
31335
31336 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31337 asked to setup access for the same partition that provides /boot,
31338 don't bother using UUIDs since our root already has the value we
31339 want.
31340
347396d8 313412008-06-16 Robert Millan <rmh@aybabtu.com>
31342
31343 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31344 I2O devices.
31345 Patch from Sven Mueller <sven@debian.org>.
31346
991477f8 313472008-06-16 Robert Millan <rmh@aybabtu.com>
31348
31349 * util/update-grub.in: Check for $EUID instead of $UID.
31350 Reported by Vincent Zweije.
31351
d31a32a1 313522008-06-16 Bean <bean123ch@gmail.com>
31353
fe987087 31354 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31355 (grub_ext2_read_block): Likewise.
31356 (grub_ext2_read_inode): Likewise.
31357 (grub_ext2_mount): Likewise.
31358 (grub_ext2_close): Likewise.
31359 (grub_ext3_get_journal): Removed.
31360
fe987087 31361 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31362 (grub_reiserfs_read_symlink): Likewise.
31363 (grub_reiserfs_mount): Likewise.
31364 (grub_reiserfs_open): Likewise.
31365 (grub_reiserfs_read): Likewise.
31366 (grub_reiserfs_close): Likewise.
31367 (grub_reiserfs_get_journal): Removed.
31368
31369 * fs/fshelp.c (grub_fshelp_read): Removed.
31370 (grub_fshelp_map_block): Likewise.
31371
31372 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31373 (grub_fshelp_journal): Likewise.
31374 (grub_fshelp_read): Likewise.
31375 (grub_fshelp_map_block): Likewise.
31376
3540a760 313772008-06-16 Pavel Roskin <proski@gnu.org>
31378
31379 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31380 floating point anymore.
31381 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31382
95614c84 313832008-06-15 Pavel Roskin <proski@gnu.org>
31384
31385 * commands/ls.c (grub_ls_list_files): Use integer calculations
31386 for human readable format, avoid floating point use.
31387 * kern/misc.c (grub_ftoa): Remove.
31388 (grub_vsprintf): Remove floating point support.
31389
50465dd6 313902008-06-15 Robert Millan <rmh@aybabtu.com>
31391
fe6b695a 31392 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 31393 devices.
31394 Reported by Max Vozeler.
31395
a9207284 313962008-06-15 Robert Millan <rmh@aybabtu.com>
31397
31398 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31399 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31400 skipped later.
31401 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31402 the beginning of the prefix.
31403
31404 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31405 It is assumed that if we have a memdisk, grub-mkimage has set
31406 grub_prefix to include the "(memdisk)" drive in it.
31407
a7cbd45a 314082008-06-15 Robert Millan <rmh@aybabtu.com>
31409
31410 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31411 Initialize keyboard controller after registering the terminal, so that
31412 grub_printf() can be called from grub_keyboard_controller_init().
31413
21cf716a 314142008-06-15 Robert Millan <rmh@aybabtu.com>
31415
31416 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31417 extent-btree which is written as big endian on disk.
31418 Reported by Alain Greppin <al@chilibi.org>.
31419
23a64d8e 314202008-06-14 Robert Millan <rmh@aybabtu.com>
31421
31422 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31423 * util/i386/pc/grub-install.in (modules): Likewise.
31424
d687651c 314252008-06-13 Pavel Roskin <proski@gnu.org>
31426
31427 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31428
dfe9ddd4 314292008-06-13 Bean <bean123ch@gmail.com>
31430
31431 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31432
31433 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31434
31435 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31436 to indicate sparse block.
31437
16ae7781 314382008-06-12 Pavel Roskin <proski@gnu.org>
31439
e6d1a308 31440 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31441 number, grub_fshelp_read() does it for us.
31442
16ae7781 31443 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31444 linear disk read with journal translation.
31445 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31446 * include/grub/fshelp.h: Declare grub_fshelp_read().
31447
40fd3a2b 314482008-06-09 Pavel Roskin <proski@gnu.org>
31449
31450 * fs/minix.c (grub_minix_mount): Handle error reading
31451 superblock.
31452
f5679726 314532008-06-08 Robert Millan <rmh@aybabtu.com>
31454
31455 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31456 don't append the RAID prefix afterwards.
31457 Reported by Clint Adams.
31458
ce525529 314592008-06-08 Robert Millan <rmh@aybabtu.com>
31460
31461 Based on description from Pavel:
31462 * kern/disk.c (grub_disk_check_range): Rename to ...
31463 (grub_disk_adjust_range): ... this. Add a comment explaining the
31464 tasks performed by this function.
31465
ad4936a0 314662008-06-08 Robert Millan <rmh@aybabtu.com>
31467
31468 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31469 `num_serial' (for consistency with other variables).
31470 (struct grub_ntfs_data): Add `uuid' member.
31471 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31472 (grub_ntfs_uuid): New function.
31473 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31474
dc20b0f9 314752008-06-07 Pavel Roskin <proski@gnu.org>
31476
31477 * util/biosdisk.c (open_device): Revert last change to the
31478 function, it broke installation. The sector needs to be
31479 different dependent on which device is opened.
31480
c5e3cfba 314812008-06-06 Robert Millan <rmh@aybabtu.com>
31482
31483 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31484 rest of GRUB, and breakage doesn't happen if its value were modified.
31485
31486 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31487 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31488 a constant (same value).
31489 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31490 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31491
26a1f8c4 314922008-06-06 Robert Millan <rmh@aybabtu.com>
31493
31494 * util/biosdisk.c (open_device): Do not modify sector offset when
31495 accessing a partition. kern/disk.c already handles this for us.
31496
25d6b327 314972008-06-06 Robert Millan <rmh@aybabtu.com>
31498
31499 * util/grub-emu.c (grub_machine_init): Move code in this function from
31500 here ...
31501 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31502 segfault in case grub_printf() is called).
31503
31504 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31505 grub_probe. Update all users not to explicitly add it again.
31506 (grub_device): New variable; contains corresponding device for grubdir.
31507 (fs_module, partmap_module, devabstraction_module): Pass
31508 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31509 every time.
31510
9ece62fb 315112008-06-05 Robert Millan <rmh@aybabtu.com>
31512
31513 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31514 is found, print it (same layout as with labels).
31515
1ad36d37 315162008-06-04 Robert Millan <rmh@aybabtu.com>
31517
31518 * util/biosdisk.c (get_drive): Rename to ...
31519 (find_grub_drive): ... this. Update all users.
31520
31521 (get_os_disk): Rename to ...
31522 (convert_system_partition_to_system_disk): ... this. Update all users.
31523
31524 (find_drive): Rename to ...
31525 (find_system_device): ... this. Update all users.
31526
e6a30859 315272008-06-04 Robert Millan <rmh@aybabtu.com>
31528
31529 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31530 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31531 (make_device_map): Likewise.
31532
00c108a4 315332008-06-01 Robert Millan <rmh@aybabtu.com>
31534
31535 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31536 before dereferencing it.
31537
31538 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31539 union with fat12/fat16-specific ones. Add some new fields, including
31540 `num_serial' for both versions.
31541 (struct grub_fat_data): Add `uuid' member.
31542 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31543 names. Initialize `data->uuid' using `num_serial'.
31544 (grub_fat_uuid): New function.
31545 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31546
31547 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31548 (grub_reiserfs_uuid): New function.
31549 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31550 member.
31551
31552 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31553 (grub_xfs_uuid): New function.
31554 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31555
1385c5bb 315562008-06-01 Robert Millan <rmh@aybabtu.com>
31557
31558 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31559 code that is backward compatible with pre-uuid search command.
31560
c682dfd7 315612008-05-31 Robert Millan <rmh@aybabtu.com>
31562
31563 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31564 floppies after everything else, to ensure floppy drive isn't accessed
31565 unnecessarily (patch from Bean).
31566
b7db5d47 315672008-05-31 Robert Millan <rmh@aybabtu.com>
31568
31569 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31570 not print device names when we were asked to set a variable.
31571
6e037aa9 315722008-05-31 Robert Millan <rmh@aybabtu.com>
31573
31574 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31575 using "cursor-on" and "cursor-off" commands (understood at least by
31576 the Open Firmware flavour on OLPC).
31577
41305bc8 315782008-05-31 Michael Gorven <michael@gorven.za.net>
31579
31580 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31581 on and off sequences.
31582
69ba137e 315832008-05-31 Robert Millan <rmh@aybabtu.com>
31584
31585 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31586 * util/update-grub.in: Likewise.
31587
520ae21b 315882008-05-30 Pavel Roskin <proski@gnu.org>
31589
31590 * util/biosdisk.c (linux_find_partition): Simplify logic and
31591 make the code more universal. Keep special processing for
31592 devfs, but use a simple rule for all other devices. If the
31593 device ends with a number, append 'p' and the partition number.
31594 Otherwise, append only the partition number.
31595
5786569b 315962008-05-30 Robert Millan <rmh@aybabtu.com>
31597
31598 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31599 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31600 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31601 the `root' parameter to Linux.
31602
51500452 316032008-05-30 Robert Millan <rmh@aybabtu.com>
31604
31605 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31606 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31607 --fs_uuid with --fs-uuid.
31608 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31609 all filesystems support them).
31610
811d3878 316112008-05-30 Robert Millan <rmh@aybabtu.com>
31612
31613 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 31614 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 31615
cab63c95 316162008-05-30 Robert Millan <rmh@aybabtu.com>
31617
31618 * util/grub.d/00_header.in: Remove obsolete comment referencing
31619 convert_system_path_to_grub_path().
31620 * util/update-grub.in: Likewise.
31621 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31622 (convert_system_path_to_grub_path): Add a warning message explaining
31623 that this function is deprecated. Rely on is_path_readable_by_grub()
31624 for the readability checks.
31625 (font_path): Use is_path_readable_by_grub() for the readability
31626 check rather than convert_system_path_to_grub_path().
31627
972e2f7a 316282008-05-30 Robert Millan <rmh@aybabtu.com>
31629
31630 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31631 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31632 converting it first.
31633 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31634 grub.cfg for access to font file, and afterwards call it again to set
31635 the root device.
31636
62191274 316372008-05-30 Robert Millan <rmh@aybabtu.com>
31638
31639 * commands/search.c (options): Add --fs_uuid option.
31640 (search_fs_uuid): New function.
31641 (grub_cmd_search): Fix --set argument passing.
31642 Use search_fs_uuid() when requested via --fs_uuid.
31643 (grub_search_init): Update help message.
31644 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
31645 and redeclare it as an array of 16-bit words.
31646 (grub_ext2_uuid): New function.
31647 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31648 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31649 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31650 (GRUB_DEVICE_BOOT_UUID): New variables.
31651 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31652 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31653 whenever possible.
31654 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31655 just assume `root' variable has the right value.
31656 * util/grub.d/10_linux.in: Likewise.
31657 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31658 via PRINT_FS_UUID.
31659 (main): Recognise `-t fs_uuid' argument.
31660
01b73ec8 316612008-05-30 Robert Millan <rmh@aybabtu.com>
31662
31663 * util/biosdisk.c (map): Redefine structure to hold information
31664 about GRUB drive name.
fe6b695a 31665 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 31666 drive names.
31667 (call_hook): Remove.
31668 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31669 member. Assume drive has partitions.
31670 (grub_util_biosdisk_open): Access device names via `.device' struct
31671 member.
31672 (open_device): Likewise.
31673 (find_drive): Likewise.
31674 (read_device_map): Adjust map[] usage to match the new struct
31675 definition. Don't check for duplicates (still possible, but not cheap
31676 anymore).
31677 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31678 (make_device_name): Remove assumption of BIOS-like drive names.
31679
22f16596 316802008-05-30 Pavel Roskin <proski@gnu.org>
31681
31682 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31683 compiling execute.c doesn't need grub_script.tab.h anymore.
31684 (normal/command.c_DEPENDENCIES): Likewise.
31685 (normal/function.c_DEPENDENCIES): Likewise.
31686 * conf/i386-ieee1275.rmk: Likewise.
31687 * conf/i386-linuxbios.rmk: Likewise.
31688 * conf/i386-pc.rmk: Likewise.
31689 * conf/powerpc-ieee1275.rmk: Likewise.
31690 * conf/sparc64-ieee1275.rmk: Likewise.
31691
528ad8f2 316922008-05-29 Pavel Roskin <proski@gnu.org>
31693
d1dff95d 31694 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31695 when scanning metadata for volume group name.
31696
528ad8f2 31697 * include/grub/script.h: Don't include grub_script.tab.h. It's
31698 a generated file, which may only be included from the files with
31699 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31700 use union YYSTYPE, as the later allows forward declaration.
31701 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31702
47248e08 317032008-05-29 Robert Millan <rmh@aybabtu.com>
31704
31705 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31706 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31707 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31708 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31709 scan codes.
31710
ee632529 317112008-05-29 Robert Millan <rmh@aybabtu.com>
31712
31713 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
31714 control key combinations.
31715
eee96e08 317162008-05-29 Robert Millan <rmh@aybabtu.com>
31717
31718 * util/powerpc/ieee1275/grub-install.in: Move from here ...
31719 * util/ieee1275/grub-install.in: ... to here.
31720 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
31721 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
31722 (grub_install_SOURCES): Likewise.
31723
da9a6a94 317242008-05-29 Robert Millan <rmh@aybabtu.com>
31725
31726 * fs/affs.c: Update copyright year.
31727 * fs/ext2.c: Likewise.
31728 * fs/fshelp.c: Likewise.
31729 * fs/hfsplus.c: Likewise.
31730 * fs/ntfs.c: Likewise.
31731 * fs/xfs.c: Likewise.
31732 * include/grub/fshelp.h: Likewise.
31733 * util/grub-mkdevicemap.c: Likewise.
31734
12e65f3a 317352008-05-28 Robert Millan <rmh@aybabtu.com>
31736
31737 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
31738 might need to be fatfs to support some firmware implementations
31739 (e.g. OFW or EFI).
31740
23023641 317412008-05-28 Robert Millan <rmh@aybabtu.com>
31742
31743 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
31744 devices.
31745 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31746 (make_device_map): Likewise.
31747
887d2619 317482008-05-20 Bean <bean123ch@gmail.com>
31749
31750 * fs/fshelp.c (grub_fshelp_map_block): New function.
31751 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
31752 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
31753
31754 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
31755 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
31756 (grub_fshelp_journal): New structure.
31757 (grub_fshelp_map_block): New function prototype.
31758 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
31759 (grub_fshelp_map_block): Likewise.
31760
31761 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
31762 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
31763 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
31764 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
31765 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
31766 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
31767 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
31768 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
31769 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
31770 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
31771 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
31772 (grub_ext2_sblock): New members for journal support.
31773 (grub_ext3_journal_header): New structure.
31774 (grub_ext3_journal_revoke_header): Likewise.
31775 (grub_ext3_journal_block_tag): Likewise.
31776 (grub_ext3_journal_sblock): Likewise.
31777 (grub_fshelp_node): New members logfile and journal.
31778 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
31779 grub_fshelp_map_block to get real block number.
31780 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
31781 number.
31782 (grub_ext2_read_inode): Likewise.
31783 (grub_ext3_get_journal): New function.
31784 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
31785 (grub_ext2_close): Release memory used by journal.
31786
31787 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
31788 (REISERFS_MAGIC_DESC_BLOCK): New macro.
31789 (grub_reiserfs_transaction_header): Renamed to
31790 grub_reiserfs_description_block, replace field data with real_blocks.
31791 (grub_reiserfs_commit_block): New structure.
31792 (grub_reiserfs_data): New member journal.
31793 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
31794 number.
31795 (grub_reiserfs_read_symlink): Likewise.
31796 (grub_reiserfs_iterate_dir): Likewise.
31797 (grub_reiserfs_open): Likewise.
31798 (grub_reiserfs_read): Likewise.
31799 (grub_reiserfs_get_journal): New function.
31800 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
31801 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
31802 using grub_reiserfs_get_journal.
31803 (grub_reiserfs_close): Release memory used by journal.
31804
31805 * fs/affs.c (grub_affs_read_block): Change block type to
31806 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
31807
31808 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
31809
31810 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
31811
31812 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
31813
31814 * fs/udf.c (grub_udf_read_block): Change block type to
31815 grub_disk_addr_t. Use type cast to avoid warning.
31816
31817 * fs/xfs.c (grub_xfs_read_block): Likewise.
31818
b7c6bed5 318192008-05-16 Christian Franke <franke@computer.org>
31820
31821 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
31822 to ensure that break with ESC will always work.
31823 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
31824 Remove ESC from keyboard queue.
31825
eedf167f 318262008-05-16 Christian Franke <franke@computer.org>
31827
31828 * util/biosdisk.c: [__CYGWIN__] Add includes.
31829 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
31830 (get_os_disk): Move variable declarations to OS specific
31831 parts to avoid warning.
31832 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
31833 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
31834 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
31835 Cygwin.
31836 * util/getroot.c: [__CYGWIN__] Add includes.
31837 (strip_extra_slashes): Fix "/" case.
31838 [__CYGWIN__] (get_win32_path): New function.
31839 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
31840 [__CYGWIN__] (find_root_device): Disable.
31841 [__CYGWIN__] (get_bootsec_serial): New function.
31842 [__CYGWIN__] (find_cygwin_root_device): Likewise.
31843 [__linux__] (grub_guess_root_device): Add early returns to simplify
31844 structure.
31845 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
31846 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
31847 check for Linux only.
31848
a079699e 318492008-05-15 Bean <bean123ch@gmail.com>
31850
31851 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
31852 keyboard hang problem in apple's intel mac.
31853
1cf4059a 318542008-05-09 Robert Millan <rmh@aybabtu.com>
31855
31856 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
31857 devices.
31858 * util/grub-mkdevicemap.c (get_virtio_disk_name)
31859 (make_device_map): Likewise.
31860 Reported by Aurelien Jarno <aurel32@debian.org>
31861
ed759390 318622008-05-07 Ian Campbell <ijc@hellion.org.uk>
31863
31864 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
31865 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
31866 (make_device_map): Output entries for xvd type disks.
31867
b56c4eaa 318682008-05-07 Robert Millan <rmh@aybabtu.com>
31869
31870 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
31871 devices.
31872 * util/grub-mkdevicemap.c (get_cciss_disk_name)
31873 (make_device_map): Likewise.
31874 Reported by Roland Dreier <rdreier@cisco.com>
31875
7f8866ed 318762008-05-07 Robert Millan <rmh@aybabtu.com>
31877
31878 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31879 grub_strstr() call. Correct a few mistakes in failure path handling.
31880
b0346e0f 318812008-05-06 Robert Millan <rmh@aybabtu.com>
31882
31883 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31884 Do not print a trailing slash (therefore, the root directory is an
31885 empty string).
31886 (convert_system_path_to_grub_path): Do not remove trailing slash
31887 from make_system_path_relative_to_its_root() output.
31888
31889 * util/i386/pc/grub-install.in: Add trailing slash to output from
31890 make_system_path_relative_to_its_root().
31891
6cf12cbd 318922008-05-06 Robert Millan <rmh@aybabtu.com>
31893
31894 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31895 ensures that output lines aren't intermangled with those sent to
31896 stderr (via grub_util_info()).
31897 * util/grub-probe.c (grub_refresh): Likewise.
31898 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31899
0fbb3117 319002008-05-05 Christian Franke <franke@computer.org>
31901
31902 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31903 Add Cygwin device names.
31904 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31905 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31906 (check_device): Return error instead of success on empty name.
31907 (make_device_map): Move label inside linux specific code to
31908 prevent compiler warning.
31909
8124cdb7 319102008-04-30 Robert Millan <rmh@aybabtu.com>
31911
31912 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31913 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31914 first boot option.
31915 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31916
094c01d0 319172008-04-29 Robert Millan <rmh@aybabtu.com>
31918
31919 * docs/grub.cfg: New file (example GRUB configuration).
31920
f4b1fc02 319212008-04-26 Robert Millan <rmh@aybabtu.com>
31922
329ce2a5 31923 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31924 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31925 and `disk/ieee1275/nand.c'.
f4b1fc02 31926
25f16ec1 319272008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 31928
25f16ec1 31929 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31930 i386-linuxbios.
31931
31932 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31933 change the buffer size to 4096 for cdrom device.
31934
31935 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31936 and nand.mod.
31937 (_linux_mod_SOURCES): New variable.
31938 (_linux_mod_CFLAGS): Likewise.
31939 (_linux_mod_LDFLAGS): Likewise.
31940 (linux_mod_SOURCES): Likewise.
31941 (linux_mod_CFLAGS): Likewise.
31942 (linux_mod_LDFLAGS): Likewise.
31943 (nand_mod_SOURCES): Likewise.
31944 (nand_mod_CFLAGS): Likewise.
31945 (nand_mod_LDFLAGS): Likewise.
31946
31947 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31948 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31949 type property. (nand device in olpc don't have this property)
31950
31951 * include/grub/disk.h (grub_disk_dev_id): New macro
31952 GRUB_DISK_DEVICE_NAND_ID.
31953
31954 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31955 function prototype.
31956 (grub_rescue_cmd_initrd): Likewise.
31957
31958 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31959 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31960 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 31961
25f16ec1 31962 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31963 GRUB_MACHINE_IEEE1275 is defined.
31964
31965 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31966 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31967
31968 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31969 on nested function heap_init.
31970 (grub_upper_mem): New variable for i386-ieee1275.
31971 (grub_get_extended_memory): New function for i386-ieee1275.
31972 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31973
31974 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31975 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31976 property.
f19dbdb7 31977
25f16ec1 31978 * loader/i386/ieee1275/linux.c: New file.
31979
31980 * loader/i386/ieee1275/linux_normal.c: New file.
31981
31982 * disk/ieee1275/nand.c: New file.
31983
e89d61e9 319842008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31985
31986 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31987 value.
31988 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31989
602566f6 319902008-04-18 Robert Millan <rmh@aybabtu.com>
31991
31992 Restructures early code path on ieee1275 to unify grub_main() as
31993 the first C function that is executed in every platform.
31994
31995 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31996 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31997 cmain().
31998 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31999 * kern/ieee1275/cmain.c (cmain): Rename to ...
32000 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32001 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32002 at the beginning.
32003
57490c2b 320042008-04-18 Robert Millan <rmh@aybabtu.com>
32005
32006 * util/update-grub.in: Fix syntax error when setting
32007 `GRUB_PRELOAD_MODULES'.
32008 Reported by Stephane Chazelas <stephane@artesyncp.com>
32009
1977517d 320102008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32011
32012 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32013 section into account, newer toolchains generate unique build ids
32014 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32015 we want build ids to be preserved
1977517d 32016 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32017 far from other sections don't cause the raw binary images grow
32018 size
32019
bfb1f1a2 320202008-04-15 Robert Millan <rmh@aybabtu.com>
32021
32022 * disk/lvm.c: Update copyright year.
32023 * kern/misc.c: Likewise.
32024
01979850 320252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32026
32027 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32028 there is no memory left for physical volume name.
01979850 32029
0a1150e2 320302008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32031
32032 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32033 volume name mapping to support bigger than 9 character names properly.
32034
82ead3fe 320352008-04-13 Robert Millan <rmh@aybabtu.com>
32036
32037 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32038 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32039
e54a72f5 320402008-04-13 Christian Franke <franke@computer.org>
32041
32042 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32043 to create a floppy emulation boot CD when non emulation mode
32044 does not work.
32045 Enable Joliet CD filesystem extension.
32046
9fe86034 320472008-04-13 Robert Millan <rmh@aybabtu.com>
32048
32049 * kern/misc.c (grub_strncat): Fix off-by-one error.
32050 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32051
32052 * kern/env.c (grub_env_context_close): Clear current context, not
32053 previous one.
32054 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32055
32056 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32057
7ceeee39 320582008-04-13 Robert Millan <rmh@aybabtu.com>
32059
32060 Improve robustness when handling LVM.
32061
32062 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32063 (and leave `*p' unmodified).
7ceeee39 32064 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32065 through it.
32066 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32067 iterating through it.
32068 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32069 through it.
fe6b695a 32070 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32071 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32072 Don't assume `vg->pvs != NULL' when iterating through it.
32073
58cd3d85 320742008-04-13 Robert Millan <rmh@aybabtu.com>
32075
32076 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32077 * genmk.rb (partmap): New variable.
32078 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32079 (#{partmap}): New target rule.
32080 * genpartmaplist.sh: New file.
32081 * Makefile.in (pkglib_DATA): Add partmap.lst.
32082 (partmap.lst): New target rule.
32083 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32084 modules (including all partition maps), instead of preloading them.
32085
78b51059 320862007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32087
32088 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32089 `linux-boot-prober' (if installed) to detect other operating
32090 systems which are installed on the computer and add them to
32091 the boot menu.
32092 * conf/common.rmk: Build and install 30_os-prober.
32093
a91627b4 320942008-04-12 Robert Millan <rmh@aybabtu.com>
32095
32096 * kern/powerpc/ieee1275/init.c: Move from here ...
32097 * kern/ieee1275/init.c: ... to here. Update all users.
32098
32099 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32100 * kern/ieee1275/cmain.c: ... to here. Update all users.
32101
32102 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32103 * kern/ieee1275/openfw.c: ... to here. Update all users.
32104
32105 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32106 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32107
322562ea 321082008-04-10 Pavel Roskin <proski@gnu.org>
32109
32110 * configure.ac: Always use "_cv_" in cache variables for
32111 compatibility with Autoconf 2.62.
32112
a02a73c5 321132008-04-07 Robert Millan <rmh@aybabtu.com>
32114
32115 Revert grub/machine/init.h addition by Pavel (since it breaks on
32116 i386-ieee1275 and others):
32117 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32118 * util/powerpc/ieee1275/misc.c: Likewise.
32119
25c024b1 321202008-04-07 Robert Millan <rmh@aybabtu.com>
32121
32122 * util/grub-probe.c (probe): Improve error message.
32123
3cbd2f98 321242008-04-07 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32127 (this prevents the presence of a bogus entry from ruining the whole
32128 thing).
32129
87a297bf 321302008-04-06 Pavel Roskin <proski@gnu.org>
32131
36747a62 32132 * util/biosdisk.c: Include grub/util/biosdisk.h.
32133 * util/grub-fstest.c (execute_command): Make static.
32134 * util/grub-mkdevicemap.c (check_device): Likewise.
32135 * util/i386/pc/misc.c: Include grub/machine/init.h.
32136 * util/powerpc/ieee1275/misc.c: Likewise.
32137 * util/lvm.c: Include grub/util/lvm.h.
32138 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32139 grub/cache.h.
32140 * util/raid.c: Include grub/util/raid.h.
32141 (grub_util_getdiskname): Make static.
32142
87a297bf 32143 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32144 grub_hostfs_fini(), as they are called from grub_init_all() and
32145 grub_fini_all() respectively. This fixes an infinite loop in
32146 grub-fstest due to double registration of hostfs.
32147 Reported by Christian Franke <Christian.Franke@t-online.de>
32148
f6ce7629 321492008-04-05 Pavel Roskin <proski@gnu.org>
32150
32151 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32152 all 8 functions. Otherwise, probe function 0 only.
32153
070e49e4 321542008-04-04 Pavel Roskin <proski@gnu.org>
32155
8b088a4c 32156 * commands/lspci.c (grub_lspci_iter): Print the bus number
32157 correctly.
32158
4f657021 32159 * commands/lspci.c (grub_pci_classes): Fix typos.
32160 (grub_lspci_iter): Don't print func twice. Print vendor ID
32161 before device ID, as it's normally done.
32162
070e49e4 32163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32164 Fix signedness warnings.
32165 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32166 Likewise.
32167 * util/ieee1275/get_disk_name.c: Include config.h so that
32168 _GNU_SOURCE is defined and getline() is declared. Mark an
32169 unused argument as such. Fix a signedness warning.
32170
ba7328dc 321712008-04-02 Pavel Roskin <proski@gnu.org>
32172
26887f22 32173 * genkernsyms.sh.in: Use more robust assignments for CC and
32174 srcdir. Quote srcdir.
32175 * gensymlist.sh.in: Likewise. Assert at the compile time that
32176 the symbol table is not empty.
32177
ba7328dc 32178 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32179 * fs/cpio.c (grub_cpio_read): Likewise.
32180
0f582c6b 321812008-04-01 Pavel Roskin <proski@gnu.org>
32182
4b6e1995 32183 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32184 * disk/host.c (grub_host_open): Likewise.
32185 * disk/loopback.c (grub_loopback_open): Likewise.
32186 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32187 disk->id as in disk/host.c, not a multi-character constant.
32188
828a2768 32189 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32190 later is obsolete, potentially dangerous and sets a bad example.
32191 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32192 * util/misc.c (grub_util_get_image_size): Likewise.
32193
2bb4fb47 32194 * disk/loopback.c (options): Improve help for "--partitions".
32195
0f582c6b 32196 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32197 options to align them with the short options, e.g. "echo -e".
32198
a33224e0 321992008-03-31 Bean <bean123ch@gmail.com>
32200
32201 * video/reader/png.c (grub_png_data): New member is_16bit and
32202 image_data.
32203 (grub_png_decode_image_header): Detect 16 bit png image.
32204 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32205 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32206 (grub_video_reader_png): Release memory occupied by image_data.
32207
32208 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32209 4096 bytes.
32210 (grub_nfs_mount): Skip the test for sector per cluster.
32211
32212 * include/grub/ntfs.h (MAX_SPC): Removed.
32213
86cb4f54 322142008-03-31 Bean <bean123ch@gmail.com>
32215
32216 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32217 (grub_probe_SOURCES): Add fs/afs.c.
32218 (grub_fstest_SOURCES): Likewise.
32219 (afs_mod_SOURCES): New variable.
32220 (afs_mod_CFLAGS): Likewise.
32221 (afs_mod_LDFLAGS): Likewise.
32222
32223 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32224 (grub_emu_SOURCES): Likewise.
32225
32226 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32227
32228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32229
32230 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32231
32232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32233
32234 * fs/afs.c: New file.
32235
17c74c21 322362008-03-30 Pavel Roskin <proski@gnu.org>
32237
4cb68e89 32238 * disk/host.c: Include grub/misc.h to fix a warning.
32239 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32240 warnings about implicit declarations.
32241
8790bb04 32242 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32243 variable.
32244 * include/grub/i386/loader.h: Change declaration of
32245 grub_linux_boot() to match what grub_loader_set() expects.
32246 * util/getroot.c (grub_guess_root_device): Return const char* to
32247 fix a warning.
32248 * util/grub-probe.c (probe): Fix a warning about uninitialized
32249 abstraction_name variable.
32250 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32251 second argument as unused to fix a warning.
32252
9a3f3296 32253 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32254 missing grub_error() call.
32255
0ecef90d 32256 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32257 2.60 and newer uses it to define datadir.
32258
0bf6d401 32259 * commands/sleep.c: Fix warning about implicit declaration.
32260 * disk/memdisk.c: Likewise.
32261 * loader/aout.c: Likewise.
32262 * loader/i386/bsd_normal.c: Likewise.
32263 * util/grub-probe.c: Likewise.
32264
7cdacf97 32265 * commands/i386/cpuid.c (has_longmode): Make static.
32266 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32267 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32268
17c74c21 32269 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32270 GDT. This is more robust, as %ds can change.
32271 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32272 calling real_to_prot().
32273 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32274
80a3e68b 322752008-03-28 Pavel Roskin <proski@gnu.org>
32276
32277 * kern/i386/pc/startup.S: Assert that uncompressed functions
32278 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32279 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32280 code, as they push parts of the code (error handlers) beyond
32281 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32282 code as correctness and size.
32283
77bcd272 322842008-03-28 Pavel Roskin <proski@gnu.org>
32285
32286 * kern/i386/pc/startup.S
32287 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32288 data block address to the real mode, keep offset minimal. This
32289 works around a bug in AWARD BIOS on old Athlon systems, which
32290 makes CD detection hang.
32291
c5dfd43b 322922008-03-26 Pavel Roskin <proski@gnu.org>
32293
32294 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32295 const.
32296 * include/grub/normal.h: Add grub_parse_color_name_pair()
32297 declaration.
32298
bf962df2 322992008-03-24 Bean <bean123ch@gmail.com>
32300
32301 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32302 (cd_count): Removed.
32303 (cd_drive): New variable.
32304 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32305 (grub_biosdisk_call_hook): Likewise.
32306 (grub_biosdisk_iterate): Change cdrom detection method.
32307 (grub_biosdisk_open): Replace cd_start with cd_drive.
32308 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32309 detect cdrom device.
32310
32311 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32312 Removed.
32313 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32314 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32315 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32316 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32317 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32318 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32319 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32320 (grub_biosdisk_cdrp): New structure.
32321 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32322
32323 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32324
32325 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32326 device.
32327
32328 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32329 New function.
32330
68e7fc7a 323312008-03-20 Robert Millan <rmh@aybabtu.com>
32332
32333 Remove 2 TiB limit in ata.mod.
32334 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32335 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32336 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32337 grub_uint64_t instead of grub_uint32_t.
32338
38ad2cf5 323392008-03-05 Bean <bean123ch@gmail.com>
32340
32341 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32342 (grub_multiboot): Set boot device.
32343
32344 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32345
2b89344e 323462008-03-02 Bean <bean123ch@gmail.com>
32347
32348 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32349 symlink_buffer.
32350
87a95d1f 323512008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32352
32353 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32354 texinfo.tex.
32355
32356 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32357 modified.
32358
32359 * docs/fdl.texi: New file.
f19dbdb7 32360
87a95d1f 32361 * docs/mdate-sh: New file. Copied from gnulib.
32362 * docs/texinfo.tex: Likewise.
32363
32364 * config.guess: Updated from gnulib.
32365 * install-sh: Likewise.
32366
7dc15d8e 323672008-02-28 Robert Millan <rmh@aybabtu.com>
32368
32369 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32370 (aout_mod_SOURCES): New variable.
32371 (aout_mod_CFLAGS): Likewise.
32372 (aout_mod_LDFLAGS): Likewise.
32373
32374 * conf/i386-ieee1275.rmk: Likewise.
32375
b00ab696 323762008-02-28 Robert Millan <rmh@aybabtu.com>
32377
32378 * util/update-grub.in: Reorganise terminal validity check. Accept
32379 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32380 Based on suggestion by Franklin PIAT.
32381
79ca2d78 323822008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32383
32384 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32385 function.
32386 * util/getroot.c (grub_util_check_block_device): New function that
32387 returns the given argument if it is a block device and returns NULL else.
32388 * util/grub-probe.c (argument_is_device): New variable.
32389 (probe): Promote device_name from a variable to an argument. Receive
32390 device_name from grub_util_check_block_device() if path is NULL and from
32391 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 32392 (options): Introduce new parameter '-d, --device'.
79ca2d78 32393 (main): Add description of the new parameter to the help screen.
32394 Rename path variable to argument. Set argument_is_device if the '-d'
32395 option is given. Pass argument to probe() depending on
32396 argument_is_device.
32397
0d16e571 323982008-02-24 Bean <bean123ch@gmail.com>
32399
32400 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32401 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32402 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32403 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32404 (GRUB_ISO9660_VOLDESC_END): Likewise.
32405 (grub_iso9660_primary_voldesc): New member escape.
32406 (grub_iso9660_data): New member joliet.
32407 (grub_iso9660_convert_string): New function.
32408 (grub_iso9660_mount): Detect joliet extension.
32409 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32410 (grub_iso9660_iso9660_label): Likewise.
32411
32412 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32413 (grub_setup_SOURCES): Add fs/udf.c.
32414 (grub_fstest_SOURCES): Likewise.
32415 (udf_mod_SOURCES): New variable.
32416 (udf_mod_CFLAGS): Likewise.
32417 (udf_mod_LDFLAGS): Likewise.
32418
32419 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32420 (grub_emu_SOURCES): Likewise.
32421
32422 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32423
32424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32425
32426 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32427
32428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32429
32430 * fs/udf.c: New file.
32431
8a594a17 324322008-02-24 Robert Millan <rmh@aybabtu.com>
32433
32434 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32435 (normal/lexer.c_DEPENDENCIES): New variables.
32436 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32437 (normal/lexer.c_DEPENDENCIES): Likewise.
32438 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32439 (normal/lexer.c_DEPENDENCIES): Likewise.
32440 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32441 (normal/lexer.c_DEPENDENCIES): Likewise.
32442 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32443 (normal/lexer.c_DEPENDENCIES): Likewise.
32444 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32445 (normal/lexer.c_DEPENDENCIES): Likewise.
32446
2dc33c03 324472008-02-23 Robert Millan <rmh@aybabtu.com>
32448
32449 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32450 since they were intended to be in hex. This didn't break previously
32451 because of a bug in gpt_partition_map_iterate() (see below).
32452
32453 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32454 when checking the validity of GPT header.
32455 Remove `partno', since it always provides the same information as `i'.
32456
f6f4cfb0 324572008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32458
32459 * include/grub/efi/time.h: Fix a wrong comment.
32460
79ff665f 324612008-02-19 Pavel Roskin <proski@gnu.org>
32462
32463 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32464 message.
32465
d38e24c2 324662008-02-19 Bean <bean123ch@gmail.com>
32467
32468 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32469 (aout_mod_SOURCES): New variable.
32470 (aout_mod_CFLAGS): Likewise.
32471 (aout_mod_LDFLAGS): Likewise.
32472 (_bsd_mod_SOURCES): New variable.
32473 (_bsd_mod_CFLAGS): Likewise.
32474 (_bsd_mod_LDFLAGS): Likewise.
32475 (bsd_mod_SOURCES): New variable.
32476 (bsd_mod_CFLAGS): Likewise.
32477 (bsd_mod_LDFLAGS): Likewise.
32478
32479 * include/grub/aout.h: New file.
32480
32481 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32482
32483 * include/grub/i386/bsd.h: New file.
32484
32485 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32486 to make it public.
32487
32488 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32489 function is called, so that it's possible to change it inside the hook.
32490 (grub_elf64_load): Likewise.
32491 (grub_elf_file): Don't close the file if elf header is not found.
32492 (grub_elf_close): Close the file if grub_elf_file fails (The new
32493 grub_elf_file won't close it).
32494 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32495 (grub_elf64_size): Likewise.
32496
32497 * kern/i386/loader.S (grub_unix_real_boot): New function.
32498
32499 * loader/aout.c: New file.
32500
32501 * loader/i386/bsd.c: New file.
32502
32503 * loader/i386/bsd_normal.c: New file.
32504
32505 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32506
32507 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 32508 can test other formats.
d38e24c2 32509
b93bdb0f 325102008-02-19 Robert Millan <rmh@aybabtu.com>
32511
32512 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32513 (grub_gpt_partition_type_empty): Redefine with macro from
32514 `<grub/gpt_partition.h>'.
32515 (gpt_partition_map_iterate): Adjust partition type comparison.
32516
32517 Export `entry' as partmap-specific `part.data' struct.
32518 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32519
32520 * include/grub/gpt_partition.h (grub_gpt_header)
32521 (grub_gpt_partentry): ... to here (new file).
32522
32523 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32524
32525 (grub_gpt_partition_type_bios_boot): New const variable, defined
32526 with macro from `<grub/gpt_partition.h>'.
32527
32528 (setup): Replace `first_start' with `embed_region', which keeps
32529 track of the embed region (and is partmap-agnostic).
32530
32531 Replace find_first_partition_start() with find_usable_region(),
32532 which finds a usable region for embedding using partmap-specific
32533 knowledge (supports PC/MSDOS and GPT).
32534
32535 Fix all assumptions that the embed region start at sector 1, using
32536 `embed_region.start' from now on. Similarly, use `embed_region.end'
32537 rather than `first_start' to calculate available size.
32538
32539 In grub_util_info() message, replace "into after the MBR" with an
32540 indication of the specific sector our embed region starts at.
32541
66cb40f6 325422008-02-19 Robert Millan <rmh@aybabtu.com>
32543
32544 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32545 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32546 `commands/reboot.c'.
32547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32548 (halt_mod_SOURCES): Likewise.
32549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32550 (halt_mod_SOURCES): Likewise.
32551
b7202015 325522008-02-17 Christian Franke <franke@computer.org>
32553
32554 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32555
32b0fc49 325562008-02-17 Robert Millan <rmh@aybabtu.com>
32557
32558 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32559 set `first_start' to 0 for non-PC/MSDOS partition maps.
32560
aca63502 325612008-02-16 Robert Millan <rmh@aybabtu.com>
32562
32563 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32564 do not assume partition map is PC/MSDOS before performing checks that
32565 are specific to that layout.
32566
0de8be86 325672008-02-13 Robert Millan <rmh@aybabtu.com>
32568
32569 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32570 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32571 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32572
c3db8364 325732008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32574
32575 * configure.ac: Only a cosmetic change on the handling of
32576 -fno-stack-protector.
32577
f714229e 325782008-02-12 Alexandre Boeglin <alex@boeglin.org>
32579
c3db8364 32580 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32581 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32582 reboot.c.
f714229e 32583 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32584 (halt_mod_SOURCES): New variable.
32585 (halt_mod_CFLAGS): Likewise.
32586 (halt_mod_LDFLAGS): Likewise.
32587 (reboot_mod_SOURCES): Likewise.
32588 (reboot_mod_CFLAGS): Likewise.
32589 (reboot_mod_LDFLAGS): Likewise.
32590
c3db8364 32591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32592 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32593 reboot.c.
f714229e 32594 (halt_mod_SOURCES): Likewise.
32595 (reboot_mod_SOURCES): Likewise.
32596
c3db8364 32597 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32598 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 32599 (reboot_mod_SOURCES): Likewise.
32600
32601 * commands/i386/pc/reboot.c: merge this file ...
32602
32603 * commands/ieee1275/reboot.c: ... and this file ...
32604
32605 * commands/reboot.c: ... to this file.
c3db8364 32606 Add some precompiler directive to include the correct header for
32607 each machine.
f714229e 32608
32609 * commands/ieee1275/halt.c: move this file ...
32610
32611 * commands/halt.c: ... to here.
c3db8364 32612 Add some precompiler directive to include the correct header for
32613 each machine.
f714229e 32614
32615 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32616 (grub_halt): Likewise.
32617
32618 * kern/efi/efi.c (grub_reboot): New function.
32619 (grub_halt): Likewise.
32620
c74493e0 326212008-02-12 Robert Millan <rmh@aybabtu.com>
32622
32623 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32624 /dev (like it is done for /dev/mapper). This doesn't provide support
32625 for EVMS, but at least it is now easy to identify the problem when it
32626 arises.
32627
d0db4b04 326282008-02-11 Robert Millan <rmh@aybabtu.com>
32629
32630 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32631 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32632 comparing it with -1, not 0.
32633
bf748642 326342008-02-10 Robert Millan <rmh@aybabtu.com>
32635
32636 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32637 `disk/lvm.c'.
32638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32639 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32640
32641 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
32642 `disk/lvm.c' to the end of the list.
32643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32644 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32645
b5db202a 326462008-02-10 Robert Millan <rmh@aybabtu.com>
32647
32648 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32649 grub_print_error() instead. This will let user know why we're entering
32650 rescue mode.
32651 Based on suggestions from Sam Morris.
32652
83abee31 326532008-02-10 Alexandre Boeglin <alex@boeglin.org>
32654
32655 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32656 on remaining N args, instead of "--" arg N times.
32657
78d5a08b 326582008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32659
32660 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32661 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32662 pattern for unknown glyphs.
32663
68807e5f 326642008-02-09 Robert Millan <rmh@aybabtu.com>
32665
32666 * configure.ac: Probe for `help2man'.
32667 * Makefile.in (builddir): New variable.
32668 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32669 or otherwise add a few flags/options to it.
32670 (install-local): For every executable utility or script that is
32671 installed, invoke $(HELP2MAN) to install a manpage based on --help
32672 output.
32673
32674 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32675 that it doesn't prevent --help from working in build tree.
32676
32677 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32678 with `bug-grub@gnu.org'.
32679 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32680 * util/update-grub.in (usage): New function.
32681 Implement proper argument check, with support for --help and --version
32682 (as well as existing -y).
32683
326842008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 32685
32686 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32687 avoid overwriting previous output.
32688 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32689
c1962162 326902008-02-09 Robert Millan <rmh@aybabtu.com>
32691
32692 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32693 drawing the menu.
32694
3dac2e3f 326952008-02-09 Robert Millan <rmh@aybabtu.com>
32696
32697 * commands/sleep.c: New file.
32698 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32699 (sleep_mod_SOURCES): New variable.
32700 (sleep_mod_CFLAGS): Likewise.
32701 (sleep_mod_LDFLAGS): Likewise.
32702
7a634e08 327032008-02-09 Robert Millan <rmh@aybabtu.com>
32704
32705 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32706 situations in which we can deduce the RAID size and the superblock
32707 doesn't match it.
32708
b92f0c18 327092008-02-09 Robert Millan <rmh@aybabtu.com>
32710
32711 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
32712 and return a grub_diskmemberlist_t composed of LVM physical volumes.
32713 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
32714
32715 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
32716 and return a grub_diskmemberlist_t composed of physical array members.
32717 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
32718
32719 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
32720 prototype.
32721 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
32722 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
32723 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
32724
32725 * util/grub-probe.c (probe): Move partmap probing code from here ...
32726 (probe_partmap): ... to here.
32727 (probe): Use probe_partmap() once for the disk we're probing, and
32728 additionally, when such disk contains a memberlist() struct member,
32729 once for each disk that is contained in the structure returned by
32730 memberlist().
32731
91a4bf68 327322008-02-09 Robert Millan <rmh@aybabtu.com>
32733
32734 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
32735 environment variable to 'all' in order to obtain debug output from
32736 non-util/ code.
32737 * util/i386/pc/grub-setup.c (main): Likewise.
32738
a96f9caa 327392008-02-08 Robert Millan <rmh@aybabtu.com>
32740
32741 * disk/raid.c (grub_raid_scan_device): Check for
32742 `array->device[sb.this_disk.number]' rather than for
32743 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 32744 guaranteed to be accessible.
a96f9caa 32745
b37a9222 327462008-02-08 Robert Millan <rmh@aybabtu.com>
32747
32748 * disk/raid.c: Update copyright.
32749 * fs/cpio.c: Likewise.
32750 * include/grub/raid.h: Likewise.
32751 * loader/i386/pc/multiboot.c: Likewise.
32752 * util/hostfs.c: Likewise.
32753
5626aee1 327542008-02-08 Robert Millan <rmh@aybabtu.com>
32755
32756 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
32757 to a grub_disk_t array.
32758 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
32759 `device[x]'.
32760 (grub_raid_scan_device): Replace `device[x].name' accesses with
32761 `device[x]->name'. Simplify initialization of `array->device[x]'.
32762
554f0187 327632008-02-08 Robert Millan <rmh@aybabtu.com>
32764
32765 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
32766 grub_dprintf() calls.
32767 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
32768 error message.
32769
1ec8425d 327702008-02-07 Christian Franke <franke@computer.org>
32771
32772 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
32773 instead of fseek and ftell to support large files.
32774 (grub_hostfs_read): Likewise.
32775
f2156fda 327762008-02-07 Robert Millan <rmh@aybabtu.com>
32777
32778 Patch from Jeroen Dekkers.
32779 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 32780 failure, since successfully reading all array members might not be
f2156fda 32781 required.
32782
9216e0e7 327832008-02-06 Robert Millan <rmh@aybabtu.com>
32784
32785 * util/grub-probe.c (probe): Simplify partmap probing (with the
32786 assumption that the first word up to the underscore equals to
32787 the module name).
32788
b0dfd29a 327892008-02-06 Christian Franke <franke@computer.org>
32790
32791 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
32792 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
32793 last block of a cpio or tar stream.
32794 Check for "TRAILER!!!" instead of any empty data
32795 block to detect last block of a cpio stream.
32796 (grub_cpio_dir): Fix constness of variable np.
32797 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
32798 cpio or tar trailer is detected. This fixes a crash
32799 on open of a non existing file.
32800
c32865bf 328012008-02-05 Bean <bean123ch@gmail.com>
32802
32803 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
32804 address of entry.
32805 (grub_multiboot_load_elf64): Likewise.
32806 (grub_multiboot): Initialize mbi structure.
32807
32808 * util/grub-fstest.c: Don't include unused header file script.h.
32809
fe6b695a 32810 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 32811 of file.
32812 (grub_fstest_SOURCES): Likewise.
32813
409480b7 328142008-02-05 Robert Millan <rmh@aybabtu.com>
32815
32816 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
32817 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
32818 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
32819 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
32820
32821 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
32822 (translation_table): Replace hardcoded values with macros
32823 provided by `<grub/term.h>'.
32824
32825 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
32826 (keyboard_map): Correct/add a few values, with macros provided
32827 by `<grub/term.h>'.
32828 (keyboard_map_shift): Zero values that don't differ from their
32829 `keyboard_map' equivalents.
32830 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
32831 Discard the second scan code that is always sent by Caps lock.
32832 Only use `keyboard_map_shift' when it provides a non-zero value,
32833 otherwise fallback to `keyboard_map'.
32834
99fadbaa 328352008-02-04 Bean <bean123ch@gmail.com>
32836
32837 * Makefile.in (enable_grub_fstest): New variable.
32838
32839 * conf/common.rmk (grub_fstest_init.lst): New rule.
32840 (grub_fstest_init.h): Likewise.
32841 (grub_fstest_init.c): Likewise.
32842 (util/grub-fstest.c_DEPENDENCIES): New variable.
32843 (grub_fstest_SOURCES): Likewise.
32844
32845 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
32846
32847 * util/grub-fstest.c: New file.
32848
bf567c50 328492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32850
32851 Make grub-setup handle a separate root device.
f19dbdb7 32852
bf567c50 32853 * util/i386/pc/grub-setup.c (setup): Always open the root device,
32854 so that the root device can be compared with the destination
32855 device.
32856 When embedding the core image, if the root and destination devices
32857 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
32858 0xFF.
32859 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 32860
9be6b98b 328612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32862
32863 Add support for having a grub directory in a different drive. This
32864 is still only the data handling part.
f19dbdb7 32865
9be6b98b 32866 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
32867 (codestart): Save %dh in GRUB_ROOT_DRIVE.
32868 (grub_root_drive): New variable.
32869
32870 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
32871 instead of GRUB_BOOT_DRIVE to construct a device name. Set
32872 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
32873 as it was.
32874
32875 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
32876
32877 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32878 macro.
32879 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32880
32881 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32882 is bogus, because PXE booting does not specify any drive
32883 correctly.
32884
32885 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32886 am not sure if this is really correct.
32887
32888 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32889 is always identical to the boot drive when booting from a CD.
32890
32891 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32892 longer.
32893 (root_drive): New variable.
32894 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32895 (setup_sectors): Push %dx right after popping it, because %dh will
32896 be modified later.
32897 (copy_buffer): Restore %dx.
32898
e0ca0677 328992008-02-03 Robert Millan <rmh@aybabtu.com>
32900
32901 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32902 use `cdboot.img' for cdrom images.
32903
3b3f6629 329042008-02-03 Robert Millan <rmh@aybabtu.com>
32905
32906 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32907 only setup gfxterm when `font' command has succeeded.
32908
d42b3672 329092008-02-03 Robert Millan <rmh@aybabtu.com>
32910
32911 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32912 (grub_rescue_cmd_multiboot_loader)
32913 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32914
fa370ea6 329152008-02-03 Pavel Roskin <proski@gnu.org>
32916
e0c5dacb 32917 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 32918 %edx and %esi from stack only after grub_gate_a20() is called.
32919 grub_gate_a20() clobbers %edx.
32920
f2a76e1d 329212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32922
32923 * configure.ac (AC_INIT): Bumped to 1.96.
32924
32925 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32926 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32927 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32928 video/readers/png.c.
32929
90fd32d1 329302008-02-03 Bean <bean123ch@gmail.com>
9be665dd 32931
32932 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32933 (cdboot_img_SOURCES): New variable.
32934 (cdboot_img_ASFLAGS): New variable.
32935 (cdboot_img_LDFLAGS): New variable.
32936
32937 * boot/i386/pc/cdboot.S: New file.
32938
32939 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32940 (cd_count): Likewise.
32941 (grub_biosdisk_get_drive): Add support for cd device.
32942 (grub_biosdisk_call_hook): Likewise.
32943 (grub_biosdisk_iterate): Likewise.
32944 (grub_biosdisk_open): Likewise.
32945 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32946 (grub_biosdisk_rw): Support reading from cd device.
32947 (GRUB_MOD_INIT): Iterate cd devices.
32948
32949 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32950 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32951 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32952
32953 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32954
4020aa53 329552008-02-02 Robert Millan <rmh@aybabtu.com>
32956
32957 * commands/read.c: New file.
32958 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32959 (read_mod_SOURCES): New variable.
32960 (read_mod_CFLAGS): Likewise.
32961 (read_mod_LDFLAGS): Likewise.
32962
e03a1132 329632008-02-02 Robert Millan <rmh@aybabtu.com>
32964
32965 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32966 determining whether menu has to be displayed.
32967
58c69220 329682008-02-02 Marco Gerards <marco@gnu.org>
32969
32970 * bus/pci.c: New file.
32971
32972 * include/grub/pci.h: Likewise.
32973
32974 * include/grub/i386/pc/pci.h: Likewise.
32975
32976 * commands/lspci.c: Likewise.
32977
32978 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32979 `lspci.mod'.
32980 (pci_mod_SOURCES): New variable.
32981 (pci_mod_CFLAGS): Likewise.
32982 (pci_mod_LDFLAGS): Likewise.
32983 (lspci_mod_SOURCES): Likewise.
32984 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 32985 (lspci_mod_LDFLAGS): Likewise.
58c69220 32986
c004e1b4 329872008-02-02 Bean <bean123ch@gmail.com>
32988
32989 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32990 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32991
32992 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32993 (grub_xfs_btree_node): New structure.
32994 (grub_xfs_btree_root): New structure.
32995 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32996 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32997 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32998 (GRUB_XFS_EXTENT_SIZE): Likewise.
32999 (grub_xfs_read_block): Support btree format type.
33000 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33001 Use directory block as basic unit.
33002
33003 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33004
33005 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33006 __attribute__ ((__regparm__ (1))).
33007
f95562bf 330082008-02-01 Robert Millan <rmh@aybabtu.com>
33009
33010 Correct a mistake in previous commit.
33011
33012 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33013 top.
33014 (normal/command.c_DEPENDENCIES): New variable.
33015
7d31f41f 330162008-02-01 Robert Millan <rmh@aybabtu.com>
33017
33018 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33019 top.
33020 (normal/command.c_DEPENDENCIES): New variable.
33021 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33022 * conf/i386-ieee1275.rmk: Likewise.
33023 * conf/i386-linuxbios.rmk: Likewise.
33024 * conf/i386-pc.rmk: Likewise.
33025 * conf/sparc64-ieee1275.rmk: Likewise.
33026 * conf/powerpc-ieee1275.rmk: Likewise.
33027 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33028
33029 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33030
60b6be74 330312008-02-01 Robert Millan <rmh@aybabtu.com>
33032
33033 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33034 call at beginning of function.
33035
078522ab 330362008-01-31 Pavel Roskin <proski@gnu.org>
33037
33038 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33039 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33040 (grub_mkrescue_SOURCES): Likewise.
078522ab 33041 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33042
ccaa8a5f 330432008-01-30 Robert Millan <rmh@aybabtu.com>
33044
33045 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33046 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33047 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33048 (grub_probe_SOURCES): ... to here.
33049
33050 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33051 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33052 * conf/i386-ieee1275.rmk: Likewise.
33053 * conf/i386-linuxbios.rmk: Likewise.
33054 * conf/powerpc-ieee1275.rmk: Likewise.
33055
ae5a9cd7 330562008-01-30 Tristan Gingold <gingold@free.fr>
33057
33058 * kern/rescue.c: Silently accept empty lines.
33059
70bc2ef2 330602008-01-29 Bean <bean123ch@gmail.com>
33061
33062 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33063 (real_code_2): Code cleanup and change comment style.
33064 (move_memory): Avoid using 32-bit address mode.
33065
6a4d50ea 330662008-01-29 Bean <bean123ch@gmail.com>
33067
33068 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33069 (png_mod_SOURCES): New variable.
33070 (png_mod_CFLAGS): Likewise.
33071 (png_mod_LDFLAGS): Likewise.
33072
33073 * video/readers/png.c: New file.
33074
11cc30ac 330752008-01-28 Robert Millan <rmh@aybabtu.com>
33076
33077 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33078 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33079 `ifndef GRUB_MOD_GAP' hack.
33080 * util/elf/grub-mkimage.c (add_segments): Likewise.
33081
3abc589f 330822008-01-27 Robert Millan <rmh@aybabtu.com>
33083
33084 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33085 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33086 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33087
e1907778 330882008-01-27 Robert Millan <rmh@aybabtu.com>
33089
33090 Get grub-emu to build again (including parallel builds).
33091
33092 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33093 Split into ...
33094 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33095 (normal/execute.c_DEPENDENCIES): ... this, ...
33096 (grub-emu_DEPENDENCIES): ... and this.
33097
33098 * conf/i386-efi.rmk: Likewise.
33099 * conf/i386-linuxbios.rmk: Likewise.
33100 * conf/i386-ieee1275.rmk: Likewise.
33101 * conf/powerpc-ieee1275.rmk: Likewise.
33102 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33103
2216b101 331042008-01-27 Robert Millan <rmh@aybabtu.com>
33105
33106 * NEWS: Add a few items.
33107
f75172d9 331082008-01-27 Robert Millan <rmh@aybabtu.com>
33109
33110 Fix parallel builds with grub-emu. Based on earlier commit for
33111 grub-probe and grub-setup.
33112
33113 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33114 (util/grub-emu.c_DEPENDENCIES): ... this.
33115 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33116 (util/grub-emu.c_DEPENDENCIES): ... this.
33117 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33118 (util/grub-emu.c_DEPENDENCIES): ... this.
33119 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33120 (util/grub-emu.c_DEPENDENCIES): ... this.
33121 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33122 (util/grub-emu.c_DEPENDENCIES): ... this.
33123
3f51de77 331242008-01-27 Pavel Roskin <proski@gnu.org>
33125
33126 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33127 to create a gap between _end and the modules added to the image
33128 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33129 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33130 * util/elf/grub-mkimage.c (add_segments): Likewise.
33131
2033f53e 331322008-01-26 Pavel Roskin <proski@gnu.org>
33133
33134 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33135 just return an error.
33136
22da1f6f 331372008-01-26 Bean <bean123ch@gmail.com>
33138
33139 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33140 (grub_reiserfs_get_item): Save offset of the next item.
33141 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33142
2a9525e6 331432008-01-25 Robert Millan <rmh@aybabtu.com>
33144
33145 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33146 make all filesystem sources appear together (possibly fixing omissions
33147 while at it).
33148 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33150 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33152
33153 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33154 add `kern/file.c'.
33155 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33156 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33157 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33158 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33159
33160 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33161 (probe): Add a sanity check to make sure of our ability to read
33162 requested files when probing for filesystem type.
33163
33164 * genmk.rb: Update copyright year (2007).
33165
33166 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33167 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33168 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33169 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33170 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33171 : Remove function prototypes.
33172
b95f71b5 331732008-01-25 Robert Millan <rmh@aybabtu.com>
33174
33175 Revert my previous commits (based on wrong assumption of how grub_errno
33176 works).
33177
fe6b695a 33178 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33179 * kern/file.c (grub_file_open): Likewise.
33180
d08bbb49 331812008-01-24 Pavel Roskin <proski@gnu.org>
33182
33183 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33184 that hang if GRUB tries to setup colors.
33185 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33186 colors for firmwares that don't support it.
33187 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33188 Recognize Open Hack'Ware, set flags to work around its
33189 limitations.
33190
605e36ed 331912008-01-24 Robert Millan <rmh@aybabtu.com>
33192
33193 * kern/file.c (grub_file_open): Do not account previous failures of
33194 unrelated functions when grub_errno is checked for.
33195 Reported by Oleg Strikov.
33196
bac332a1 331972008-01-24 Bean <bean123ch@gmail.com>
33198
33199 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33200 (grub_ufs_sblock): New member volume name.
33201 (grub_ufs_find_file): Fix string copy bug.
33202 (grub_ufs_label): Implement this function properly.
33203
33204 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33205 (grub_hfs_iterate_records): Use the correct file number for extents
33206 and catalog file. Fix problem in next index calculation.
33207 (grub_hfs_find_node): Replace recursive function call with loop.
33208 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33209
15c80c09 332102008-01-23 Robert Millan <rmh@aybabtu.com>
33211
33212 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33213 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33214 (grub_multiboot2_real_boot): New function prototype.
33215
33216 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33217 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33218
33219 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33220 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33221
305338fd 332222008-01-23 Robert Millan <rmh@aybabtu.com>
33223
33224 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33225 #ifdef'ed out grub_printf().
33226
3ea52685 332272008-01-23 Robert Millan <rmh@aybabtu.com>
33228
33229 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33230 grub_dprintf calls, since they make "debug=all" mode unusable.
33231 (grub_console_checkkey): Likewise.
33232
5882ae4b 332332008-01-23 Robert Millan <rmh@aybabtu.com>
33234
33235 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33236 `term/i386/pc/at_keyboard.c'.
33237 (pkglib_MODULES): Add `serial.mod'.
33238 (serial_mod_SOURCES): New variable.
33239 (serial_mod_CFLAGS): Likewise.
33240 (serial_mod_LDFLAGS): Likewise.
33241
33242 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33243 `<grub/powerpc/ieee1275/console.h>'.
33244 (grub_keyboard_controller_init): New function prototype.
33245 (grub_console_checkkey): Likewise.
33246 (grub_console_getkey): Likewise.
33247
33248 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33249 keyboard on i386.
33250
33251 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33252 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33253
06ab5303 332542008-01-23 Robert Millan <rmh@aybabtu.com>
33255
33256 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33257 present, "(memdisk)/boot/grub" becomes the default prefix.
33258
33259 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33260 a memdisk tarball with all the modules. Add --overlay=DIR option that
33261 allows users to overlay additional files into the image.
33262
dbb475a4 332632008-01-23 Robert Millan <rmh@aybabtu.com>
33264
33265 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33266 and `machine/memory.h'.
33267 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33268 (_multiboot_mod_SOURCES): New variable.
33269 (_multiboot_mod_CFLAGS): Likewise.
33270 (_multiboot_mod_LDFLAGS): Likewise.
33271 (multiboot_mod_SOURCES): Likewise.
33272 (multiboot_mod_CFLAGS): Likewise.
33273 (multiboot_mod_LDFLAGS): Likewise.
33274
33275 * include/grub/i386/ieee1275/loader.h: New file.
33276
33277 * include/grub/i386/ieee1275/machine.h: Likewise.
33278
33279 * include/grub/i386/ieee1275/memory.h: Likewise.
33280
33281 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33282 variable declaration.
33283 (grub_os_area_size): Likewise.
33284
33285 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33286 (grub_lower_mem, grub_upper_mem): New variables.
33287 (grub_stop_floppy): New function (just to make
33288 grub_multiboot2_real_boot() happy).
33289
33290 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33291 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33292 (grub_stop): New function.
33293 Include `"../realmode.S"' and `"../loader.S"'.
33294
33295 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33296 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33297
33298 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33299 rely on grub_multiboot2_real_boot() for final boot.
33300
25638629 333012008-01-22 Robert Millan <rmh@aybabtu.com>
33302
33303 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33304 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33305 device that doesn't look like an SD card.
33306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33307 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33308 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33309 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33310 found.
33311
9dad816d 333122008-01-22 Robert Millan <rmh@aybabtu.com>
33313
33314 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33315 avoid claiming over our own code.
33316
34842f2d 333172008-01-22 Bean <bean123ch@gmail.com>
33318
33319 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33320 (jpeg_mod_SOURCES): New variable.
33321 (jpeg_mod_CFLAGS): Likewise.
33322 (jpeg_mod_LDFLAGS): Likewise.
33323
33324 * video/readers/jpeg.c : New file.
33325
44023a28 333262008-01-22 Bean <bean123ch@gmail.com>
33327
33328 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33329 there are no more items.
33330
bc2d8ac6 333312008-01-21 Robert Millan <rmh@aybabtu.com>
33332
33333 * kern/mm.c (grub_mm_init_region): Improve debug message.
33334
261bd4bc 333352008-01-21 Robert Millan <rmh@aybabtu.com>
33336
33337 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33338 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33339 address.
33340 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33341 a C macro.
33342 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33343 Indicates start of upper memory.
33344 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33345 (generate_image): Abort when image size is big enough to corrupt
33346 upper memory.
33347
33348 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33349 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33350 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33351 instead of hardcoding 0xA0000.
33352 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33353 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33354 instead of hardcoding 0xA0000.
33355
f970b55e 333562008-01-21 Robert Millan <rmh@aybabtu.com>
33357
33358 * disk/memdisk.c (memdisk_size): New variable.
33359 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33360 `memdisk_size'.
33361 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33362 image to dynamic memory.
33363 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33364 `memdisk_size'. Free memdisk block.
33365
1a8b0526 333662008-01-21 Robert Millan <rmh@aybabtu.com>
33367
33368 Fix detection of very small filesystems (like tar).
33369
33370 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33371 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33372 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33373 a problem with this disk).
33374
6e9b4aab 333752008-01-21 Robert Millan <rmh@aybabtu.com>
33376
33377 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33378 on grub_biosdisk_rw_standard() error.
33379
0d8837b2 333802008-01-21 Robert Millan <rmh@aybabtu.com>
33381
33382 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33383 recent changes.
33384 * kern/elf.c: Likewise.
33385 * kern/ieee1275/ieee1275.c: Likewise.
33386 * kern/powerpc/ieee1275/openfw.c: Likewise.
33387 * term/ieee1275/ofconsole.c: Likewise.
33388
ffd36e34 333892008-01-21 Robert Millan <rmh@aybabtu.com>
33390
33391 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33392
3f0093d0 33393 * include/grub/kernel.h (grub_arch_memdisk_addr)
33394 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 33395
3f0093d0 33396 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33397 (grub_arch_memdisk_size): ... to here.
ffd36e34 33398
6c391b21 333992008-01-21 Robert Millan <rmh@aybabtu.com>
33400
33401 Mostly based on bugfix from Bean.
33402
33403 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33404 attribute with hook() parameter.
33405 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33406 declaration.
33407 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33408 attribute with hook() parameter.
33409 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33410 declaration.
33411
55a581dc 334122008-01-21 Robert Millan <rmh@aybabtu.com>
33413
33414 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33415 (pkglib_MODULES): Add `memdisk.mod'.
33416 (memdisk_mod_SOURCES): New variable.
33417 (memdisk_mod_CFLAGS): Likewise.
33418 (memdisk_mod_LDFLAGS): Likewise.
33419
33420 * disk/memdisk.c: New file.
33421
33422 * include/grub/disk.h (grub_disk_dev_id): Add
33423 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33424
33425 * include/grub/i386/pc/kernel.h
33426 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33427 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33428 (grub_kernel_image_size): New variable declaration.
33429 (grub_total_module_size): Likewise.
33430 (grub_memdisk_image_size): Likewise.
33431
33432 * include/grub/i386/pc/memory.h
33433 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33434
33435 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33436 (grub_arch_memdisk_addr): New variable declaration.
33437 (grub_arch_memdisk_size): Likewise.
33438
33439 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33440 (grub_arch_memdisk_size): Likewise.
33441
33442 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33443 (codestart): Replace hardcoded `0x100000' with
33444 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33445
33446 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33447 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33448 not NULL, append the contents of the file it refers to, at the end of
33449 the compressed kernel image. Initialize `grub_memdisk_image_size'
33450 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33451 (options): Add "memdisk"|'m' option.
33452 (main): Parse --memdisk|-m option, and pass user-provided path as
33453 parameter to generate_image().
33454
3d7f54c9 334552008-01-20 Robert Millan <rmh@aybabtu.com>
33456
33457 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33458 grub_dprintf() calls from here ...
33459 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33460
0bf74728 334612008-01-20 Robert Millan <rmh@aybabtu.com>
33462
33463 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33464
33465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33466 declaration.
33467 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33468 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33469 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 33470 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 33471 property).
33472 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33473 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33474
33bf70a7 334752008-01-19 Robert Millan <rmh@aybabtu.com>
33476
fe6b695a 33477 Get rid of confusing function (superseded by
33bf70a7 33478 `grub_ieee1275_get_integer_property')
33479 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33480 prototype.
33481 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33482 function.
33483 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33484 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 33485 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 33486
e2da7d26 334872008-01-19 Robert Millan <rmh@aybabtu.com>
33488
33489 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33490 command after "shut-down", since implementations differ on which
33491 the command for halt is.
33492
59f1fd8d 334932008-01-19 Robert Millan <rmh@aybabtu.com>
33494
33495 * include/grub/i386/linuxbios/console.h: Add header protection.
33496 (grub_keyboard_controller_init): New function prototype.
33497 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33498 (KEYBOARD_COMMAND_READ): Likewise.
33499 (KEYBOARD_COMMAND_WRITE): Likewise.
33500 (KEYBOARD_SCANCODE_SET1): Likewise.
33501 (grub_keyboard_controller_write): New function.
33502 (grub_keyboard_controller_read): Likewise.
33503 (grub_keyboard_controller_init): Likewise.
33504
33505 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33506 (grub_console_init): On coreboot/LinuxBIOS, call
33507 grub_keyboard_controller_init().
33508
5f5a7c15 335092008-01-19 Robert Millan <rmh@aybabtu.com>
33510
33511 PowerPC changes provided by Pavel Roskin.
33512
33513 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33514 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33515 don't rely on cmain() doing it.
33516 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33517 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33518
1210e168 335192008-01-16 Robert Millan <rmh@aybabtu.com>
33520
33521 * include/grub/i386/linuxbios/memory.h
33522 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33523 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33524 receive `table_header' as argument. Instead, probe for it in the
33525 known memory ranges where it can be present.
33526 (grub_available_iterate): Do not pass a fixed `table_header' address
33527 to grub_linuxbios_table_iterate().
33528
3d04eab8 335292008-01-15 Robert Millan <rmh@aybabtu.com>
33530
33531 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33532 * conf/i386-ieee1275.rmk: New file.
33533 * include/grub/i386/ieee1275/console.h: Likewise.
33534 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33535 * include/grub/i386/ieee1275/kernel.h: Likewise.
33536 * include/grub/i386/ieee1275/time.h: Likewise.
33537 * kern/i386/ieee1275/init.c: Likewise.
33538 * kern/i386/ieee1275/startup.S: Likewise.
33539
d1bc1b73 335402008-01-15 Robert Millan <rmh@aybabtu.com>
33541
33542 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33543 when pointers are 32-bit (but still do set it to one when they are
33544 64-bit).
33545
66a65807 335462008-01-15 Robert Millan <rmh@aybabtu.com>
33547
33548 * include/grub/ieee1275/ieee1275.h
33549 (grub_ieee1275_get_integer_property): New function prototype.
33550
33551 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33552 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 33553 grub_ieee1275_get_property() to handle endianness.
66a65807 33554
33555 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33556 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 33557 where appropriate.
66a65807 33558 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33559 (grub_map): Likewise.
33560 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33561
a83ccafd 335622008-01-15 Bean <bean123ch@gmail.com>
33563
33564 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33565 (grub_script_execute_cmdline): Reset grub_errno.
33566
33567 * normal/main.c (read_config_file): Reset grub_errno.
33568
33569 * normal/parse.y (script_init): New.
33570 (script): Move function and menuentry here.
33571 (delimiter): New.
33572 (command): Add delimiter at the end of command.
33573 (commands): Adjust to match the new command.
33574 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 33575 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 33576 (if): Use the new commands.
33577
33578 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33579
df6ecfc6 335802008-01-15 Robert Millan <rmh@aybabtu.com>
33581
33582 * normal/menu.c (run_menu): Move timeout message from here ...
33583 (print_timeout): ... to here.
33584 (run_menu): Use print_timeout() once during initial draw to print
33585 the whole message, and again in every clock tick to update only
33586 the number of seconds.
33587
87ae25eb 335882008-01-15 Robert Millan <rmh@aybabtu.com>
33589
33590 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33591 actual size of `available' from grub_ieee1275_get_property(), and
33592 restrict parsing to that bound.
33593
47bf09a4 335942008-01-15 Christian Franke <franke@computer.org>
33595
33596 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33597 (argp_program_version): Remove variable.
33598 (argp_program_bug_address): Likewise.
33599 (options): Convert from struct argp_option to struct option.
33600 (struct arguments): Remove.
33601 (parse_opt): Remove.
33602 (usage): New function.
33603 (main): Replace struct args members by simple variables.
33604 Replace argp_parse() by getopt_long().
33605 Add switch to evaluate options.
33606 Add missing "(...)" around root_dev in prefix string.
33607
c86f1469 336082008-01-14 Robert Millan <rmh@aybabtu.com>
33609
33610 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33611 for grub_ieee1275_exit(), in order to improve portability.
33612
e622c559 336132008-01-14 Robert Millan <rmh@aybabtu.com>
33614
33615 * util/grub.d/10_linux.in (prefix): Define.
33616 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33617
44cb1ec8 336182008-01-13 Pavel Roskin <proski@gnu.org>
33619
33620 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33621 grub_errno if no errors have been detected.
33622
1eb8c802 336232008-01-12 Robert Millan <rmh@aybabtu.com>
33624
33625 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33626 (grub_util_get_dev_abstraction): New function prototype.
33627
33628 * util/getroot.c: Include `<grub/util/getroot.h>'
33629 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33630 (grub_util_get_dev_abstraction): ... here (new function).
33631
33632 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33633 `PRINT_ABSTRACTION'.
33634 (probe): Probe for abstraction type when requested.
33635 (main): Understand `--target=abstraction'.
33636
33637 * util/i386/efi/grub-install.in: Add abstraction module to core
33638 image when it is found to be necessary.
33639 * util/i386/pc/grub-install.in: Likewise.
33640 * util/powerpc/ieee1275/grub-install.in: Likewise.
33641
33642 * util/update-grub_lib.in (font_path): Return system path without
33643 converting to GRUB path.
33644 * util/update-grub.in: Convert system path returned by font_path()
33645 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33646 abstraction module is needed for loading fonts (if any). Export
33647 that as `GRUB_PRELOAD_MODULES'.
33648 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33649 insmod commands).
33650
52bd3de9 336512008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33652
33653 Remove some unused code from reiserfs.
f19dbdb7 33654
52bd3de9 33655 * fs/reiserfs.c (struct grub_reiserfs_key)
33656 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33657 (struct grub_reiserfs_node_body): Removed.
33658 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33659 Likewise.
33660 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33661 Likewise.
33662 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33663 Likewise.
33664 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33665 Likewise.
33666 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33667 Likewise.
33668 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33669 Likewise.
33670 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33671 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33672 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33673
2f80039d 336742008-01-10 Robert Millan <rmh@aybabtu.com>
33675
33676 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33677 Determines if a file is garbage left by packaging systems, etc.
33678 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33679 for processing /etc/grub.d scripts.
33680 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33681 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33682 as a condition for processing Linux images.
33683
87888032 336842008-01-10 Pavel Roskin <proski@gnu.org>
33685
33686 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33687 to compile reiserfs.c on PowerPC.
33688
7e54fced 336892008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 33690
33691 * kern/device.c (grub_device_iterate): Do not abort device iteration
33692 when one of the devices cannot be opened.
33693 * kern/disk.c (grub_disk_open): Do not account previous failures of
33694 unrelated functions when grub_errno is checked for.
33695
5aa541e6 336962008-01-08 Robert Millan <rmh@aybabtu.com>
33697
33698 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33699 `! grub_linux_is_bzimage', change order of address comparison to make
33700 it more intuitive, and improve "too big zImage" error message.
33701
7076340d 337022008-01-08 Robert Millan <rmh@aybabtu.com>
33703
33704 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33705 `$(update-grub_DATA)'.
33706 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33707 targets.
33708
9ca70333 337092008-01-07 Robert Millan <rmh@aybabtu.com>
33710
33711 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
33712 which instruction is modified by grub-setup during installation
33713 (since it wasn't obvious by only looking at this file).
33714
38ccf575 337152008-01-07 Robert Millan <rmh@aybabtu.com>
33716
33717 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
33718 listing actual TODO items.
33719
f5db4291 337202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33721
868967cf 33722 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
33723 correctly.
33724 (grub_reiserfs_get_key_offset): Likewise.
33725 (grub_reiserfs_set_key_offset): Likewise.
33726 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 33727 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 33728
33729 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
33730 better to remove the bitfield version completely.
f19dbdb7 33731
868967cf 337322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33733
f5db4291 33734 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
33735 allocated from the heap, due to the fshelp implementation.
33736 (grub_reiserfs_dir): Free NODE, due to the same reason.
33737
492e6d9d 337382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33739
33740 Mostly from Vincent Pelletier:
f19dbdb7 33741
492e6d9d 33742 * fs/reiserfs.c: New file.
f19dbdb7 33743
492e6d9d 33744 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
33745 (reiserfs_mod_SOURCES): New variable.
33746 (reiserfs_mod_CFLAGS): Likewise.
33747 (reiserfs_mod_LDFLAGS): Likewise.
33748
33749 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
33750 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
33751 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
33752 normal/color.c.
33753
9ce3e7c1 337542008-01-06 Robert Millan <rmh@aybabtu.com>
33755
33756 * normal/color.c: Remove `<grub/env.h>'.
33757
f3b58148 337582008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
33759
33760 * include/grub/normal.h: Include <grub/env.h>.
33761
7ac3bcfa 337622008-01-05 Robert Millan <rmh@aybabtu.com>
33763
33764 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
33765 usage example with `(hd0,1)'.
fb358190 33766 Reported by Samuel Thibault.
7ac3bcfa 33767
c8ee99d7 337682008-01-05 Robert Millan <rmh@aybabtu.com>
33769
33770 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
33771 (grub_linux_boot_zimage): Rename to ...
33772 (grub_linux_boot): ... this.
33773 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
33774 (grub_linux_boot_zimage): Conditionalize zImage copy.
33775
33776 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
33777 (grub_linux_boot_bzimage): Remove prototype.
33778 (grub_linux_boot_zimage): Rename to ...
33779 (grub_linux_boot): ... this.
33780
33781 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
33782 (grub_linux_boot): Remove function.
33783
0ece25b1 337842008-01-05 Robert Millan <rmh@aybabtu.com>
33785
33786 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
33787 (grub_env_write_color_highlight): Likewise.
33788 (grub_wait_after_message): Likewise.
33789
33790 * normal/color.c: New file.
33791
33792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33793 (normal_mod_DEPENDENCIES): Likewise.
33794
33795 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33796 (normal_mod_DEPENDENCIES): Likewise.
33797
33798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33799 (normal_mod_DEPENDENCIES): Likewise.
33800
33801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33802 (normal_mod_DEPENDENCIES): Likewise.
33803
33804 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
33805 for waiting after a message is printed.
33806 * normal/main.c (read_config_file): Likewise.
33807 (grub_normal_init): Register grub_env_write_color_normal() and
33808 grub_env_write_color_highlight() hooks. Mark `color_normal' and
33809 `color_highlight' variables as global.
33810
33811 * normal/menu.c (grub_wait_after_message): New function.
33812 (grub_color_menu_normal): New variable. Replaces ...
33813 (GRUB_COLOR_MENU_NORMAL): ... this macro.
33814 (grub_color_menu_highlight): New variable. Replaces ...
33815 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
33816 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
33817 `GRUB_TERM_COLOR_STANDARD'.
33818 (print_message): Use `grub_setcolorstate' to reload colors. Rename
33819 `normal_code' and `highlight_code' to `old_color_normal' and
33820 `old_color_highlight', respectively.
33821 (grub_menu_init_page): Update colors when drawing the menu, based on
33822 `menu_color_normal' and `menu_color_highlight' variables.
33823 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
33824 a message is printed.
33825
182dd4e5 338262008-01-05 Robert Millan <rmh@aybabtu.com>
33827
33828 * kern/env.c (grub_env_context_open): Propagate hooks for global
33829 variables to new context.
33830
33831 * kern/main.c (grub_set_root_dev): Export `root' variable.
33832
ddf8f6ad 338332008-01-05 Robert Millan <rmh@aybabtu.com>
33834
33835 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 33836 discs unconditionally, since udev and others have options to provide
ddf8f6ad 33837 them.
33838
d8b43d9b 338392008-01-05 Robert Millan <rmh@aybabtu.com>
33840
33841 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
33842
2bff2de3 338432008-01-04 Christian Franke <franke@computer.org>
33844
33845 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
33846 of eisa_mmap.
33847
97eab917 338482008-01-03 Pavel Roskin <proski@gnu.org>
33849
33850 * kern/i386/linuxbios/init.c: Put "void" to all function
33851 declarations with no arguments.
33852 * kern/powerpc/ieee1275/init.c: Likewise.
33853 * term/i386/pc/at_keyboard.c: Likewise.
33854 * term/i386/pc/vga_text.c: Likewise.
33855 * util/grub-mkdevicemap.c: Likewise.
33856
b9416d00 338572008-01-02 Robert Millan <rmh@aybabtu.com>
33858
33859 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
33860 message when loaded image is out of bounds.
33861 (grub_multiboot_load_elf64): Likewise.
33862
92695df9 338632008-01-02 Pavel Roskin <proski@gnu.org>
33864
33865 * util/grub.d/10_linux.in: Try version without ".old" when
33866 looking for initrd. It's better to use initrd from the newer
33867 kernel of the same version than no initrd at all.
33868
d98d9cad 338692008-01-01 Robert Millan <rmh@aybabtu.com>
33870
33871 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
33872
dbfdce36 338732008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
33874
f19dbdb7 33875 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 33876 grub_video_get_active_render_target.
33877 (grub_video_adapter): Added unmap_color and get_active_render_target.
33878
f19dbdb7 33879 * video/video.c: Added grub_video_unmap_color and
dbfdce36 33880 grub_video_get_active_render_target.
33881 (grub_video_get_info): Changed method to accept NULL pointer as an
33882 argument to allow detection of active video adapter.
33883
33884 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33885 grub_video_vbe_unmap_color_int.
33886 Added grub_video_vbe_unmap_color and
33887 grub_video_vbe_get_active_render_target.
33888 (grub_video_vbe_adapter): Added unmap_color and
33889 get_active_render_target.
33890
f19dbdb7 33891 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 33892 with grub_video_vbe_unmap_color_int.
33893
33894 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33895 (DEFAULT_NORMAL_COLOR): Likewise.
33896 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33897 (DEFAULT_FG_COLOR): Removed.
33898 (DEFAULT_BG_COLOR): Likewise.
33899 (DEFAULT_CURSOR_COLOR): Changed value.
33900 (grub_virtual_screen): Added standard_color_setting,
33901 normal_color_setting, highlight_color_setting and term_color.
33902 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33903 (bitmap_width): Added.
33904 (bitmap_height): Likewise.
33905 (bitmap): Likewise.
33906 (set_term_color): Likewise.
33907 (grub_virtual_screen_setup): Changed to use new terminal coloring
33908 settings.
33909 (grub_gfxterm_init): Added init for bitmap.
33910 (grub_gfxterm_fini): Added destroy for bitmap.
33911 (redraw_screen_rect): Updated to use background bitmap and new
33912 terminal coloring.
33913 (scroll_up): Added optimization for case when there is no bitmap.
33914 (grub_gfxterm_cls): Fixed to use correct background color.
33915 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33916 coloring.
33917 (grub_virtual_screen_setcolor): Likewise.
33918 (grub_virtual_screen_getcolor): Added.
33919 (grub_gfxterm_background_image_cmd): Likewise.
33920 (grub_video_term): Added setcolor and getcolor.
33921 (MOD_INIT): Added registration of background_image command.
33922 (MOD_TERM): Added unregistration for background_image command.
33923
c3c20931 339242007-12-30 Pavel Roskin <proski@gnu.org>
33925
33926 * loader/multiboot_loader.c: Fix multiboot command
33927 unregistration. Fix all typos in the word "multiboot".
33928
df266716 339292007-12-29 Pavel Roskin <proski@gnu.org>
94239199 33930
33931 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33932 support for initrd names used in Fedora.
33933
fc6e896c 339342007-12-26 Bean <bean123ch@gmail.com>
33935
33936 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33937 (cpio_mod_SOURCES): New variable.
33938 (cpio_mod_CFLAGS): Likewise.
33939 (cpio_mod_LDFLAGS): Likewise.
33940
33941 * fs/cpio.c: New file.
33942
33943 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33944
33945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33946
33947 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33948
33949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33950
533110ad 339512007-12-25 Robert Millan <rmh@aybabtu.com>
33952
33953 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33954 (grub_getcolor): New function.
33955
33956 * kern/term.c (grub_getcolor): New function.
33957 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33958 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33959 (print_entry): Set normal and highlight colors to
33960 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33961 respectively, before printing and restore them to old
33962 values afterwards.
33963 (grub_menu_init_page): Likewise. Fill an additional colored space
33964 that would otherwise be left blank.
33965
33966 * term/efi/console.c (grub_console_getcolor): New function.
33967 (struct grub_console_term.getcolor): New variable.
33968 * term/i386/pc/console.c (grub_console_getcolor): New function.
33969 (struct grub_console_term.getcolor): New variable.
33970 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33971 (struct grub_console_term.getcolor): New variable.
33972
33973 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33974 (struct grub_console_term.setcolor): Remove variable.
33975 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33976 (struct grub_console_term.setcolor): Remove variable.
33977 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33978 (struct grub_console_term.setcolor): Remove variable.
33979 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33980 (struct grub_console_term.setcolor): Remove variable.
33981
4931827f 339822007-12-25 Robert Millan <rmh@aybabtu.com>
33983
33984 * configure.ac: Search for possible unifont.hex locations, and
33985 define UNIFONT_HEX if found.
33986
33987 * Makefile.in (UNIFONT_HEX): Define variable.
33988 (DATA): Rename to ...
33989 (PKGLIB): ... this. Update all users.
33990 (PKGDATA): New variable.
33991 (pkgdata_IMAGES): Rename to ...
33992 (pkglib_IMAGES): ... this. Update all users.
33993 (pkgdata_MODULES): Rename to ...
33994 (pkglib_MODULES): ... this. Update all users.
33995 (pkgdata_PROGRAMS): Rename to ...
33996 (pkglib_PROGRAMS): ... this. Update all users.
33997 (pkgdata_DATA): Rename to ...
33998 (pkglib_DATA): ... this. Update all users.
33999 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34000 (unicode.pff, ascii.pff): New rules.
34001 (all-local): Add `$(PKGDATA)' dependency.
34002 (install-local): Process `$(PKGDATA)'.
34003
34004 * util/update-grub_lib.in (font_path): Search for *.pff files in
34005 a few more locations, including `${pkgdata}'.
34006
57e57e31 340072007-12-23 Robert Millan <rmh@aybabtu.com>
34008
34009 Patch from Bean <bean123ch@gmail.com>:
34010 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34011 `size'.
34012
4bc72aa9 340132007-12-21 Bean <bean123ch@gmail.com>
34014
34015 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34016 (ntfscomp_mod_SOURCES): New variable.
34017 (ntfscomp_mod_CFLAGS): Likewise.
34018 (ntfscomp_mod_LDFLAGS): Likewise.
34019
34020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34021 (grub_probe_SOURCES): Likewise.
34022 (grub_emu_SOURCES): Likewise.
34023
34024 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34025 (grub_emu_SOURCES): Likewise.
34026
34027 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34028 (grub_emu_SOURCES): Likewise.
34029
34030 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34031 (grub_emu_SOURCES): Likewise.
34032
34033 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34034 (read_run_list): Renamed to grub_ntfs_read_run_list.
34035 (decomp_nextvcn): Moved to ntfscomp.c.
34036 (decomp_getch): Likewise.
34037 (decomp_get16): Likewise.
34038 (decomp_block): Likewise.
34039 (read_block): Likewise.
34040 (read_data): Partially moved to ntfscomp.c.
34041 (fixup): Change unsigned to grub_uint16_t.
34042 (read_mft): Change unsigned long to grub_uint32_t.
34043 (read_attr): Likewise.
34044 (read_data): Likewise.
34045 (read_run_data): Likewise.
34046 (read_run_list): Likewise.
34047 (read_mft): Likewise.
34048
34049 * fs/ntfscomp.c: New file.
34050
34051 * include/grub/ntfs.h: New file.
34052
af680a87 340532007-12-16 Robert Millan <rmh@aybabtu.com>
34054
34055 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34056 IDE disk check, since Linux is known to support 20 IDE disks.
34057 Reported by Colin Watson.
34058
84be7599 340592007-12-15 Bean <bean123ch@gmail.com>
34060
34061 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34062 (lnxboot_img_SOURCES): New variable.
34063 (lnxboot_img_ASFLAGS): Likewise.
34064 (lnxboot_img_LDFLAGS): Likewise.
34065
34066 * boot/i386/pc/lnxboot.S: New file.
34067
6af9db01 340682007-11-24 Pavel Roskin <proski@gnu.org>
34069
34070 * configure.ac: Test if '--build-id=none' is supported by the
34071 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34072 objcopy to generate incorrect binary files (binutils
34073 2.17.50.0.18-1 as shipped by Fedora 8).
34074 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34075 linking, so that build ID doesn't break the test.
34076
7361cfe6 340772007-11-24 Pavel Roskin <proski@gnu.org>
34078
34079 * include/grub/i386/time.h: use "void" in the argument list
34080 of grub_cpu_idle().
34081 * include/grub/powerpc/time.h: Likewise.
34082 * include/grub/sparc64/time.h: Likewise.
34083
1593e10c 340842007-11-18 Christian Franke <franke@computer.org>
34085
34086 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34087 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34088 This fixes the problem that function keys did not work in grub-emu.
34089
3b8db1a8 340902007-11-18 Christian Franke <franke@computer.org>
34091
34092 * disk/host.c (grub_host_open): Remove attribute unused from
34093 name parameter. Add check for "host". This fixes the problem
34094 that grub-emu does not find partitions.
34095
2e29408d 340962007-11-18 Christian Franke <franke@computer.org>
34097
34098 * util/hostfs.c (is_dir): New function.
34099 (grub_hostfs_dir): Handle missing dirent.d_type case.
34100 (grub_hostfs_read): Add missing fseek().
34101 (grub_hostfs_label): Clear label pointer. This fixes a crash
34102 of grub-emu on "ls (host)".
34103
398cd047 341042007-11-18 Christian Franke <franke@computer.org>
34105
34106 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34107 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34108 to 64 bit boundary by default.
34109
c405c391 341102007-11-18 Bean <bean123ch@gmail.com>
34111
34112 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34113 (hexdump_mod_SOURCES): New variable.
34114 (hexdump_mod_CFLAGS): Likewise.
34115 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34116
c405c391 34117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34118
34119 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34120
34121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34122
34123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34124
34125 * include/grub/hexdump.h: New file.
34126
34127 * commands/hexdump.c: New file.
34128
5cced7fd 341292007-11-10 Robert Millan <rmh@aybabtu.com>
34130
34131 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34132 in grub_outb() calls.
34133 (beep_on): Likewise.
34134
8b714eb0 341352007-11-10 Christian Franke <franke@computer.org>
34136
34137 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34138 (grub_menu_run): Likewise.
34139
ce0f1839 341402007-11-10 Robert Millan <rmh@aybabtu.com>
34141
34142 * include/grub/i386/efi/machine.h: New file.
34143 * include/grub/i386/linuxbios/machine.h: Likewise.
34144 * include/grub/i386/pc/machine.h: Likewise.
34145 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34146 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34147
34148 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34149 (serial_hw_io_addr): New variable.
34150 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34151 instead of `(unsigned short *) 0x400'.
34152
270c237d 341532007-11-10 Bean <bean123ch@gmail.com>
34154
34155 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34156
a87783bf 341572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34158
34159 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34160 (vga_mod_SOURCES): Added.
34161 (vga_mod_CFLAGS): Likewise.
34162 (vga_mod_LDFLAGS): Likewise.
34163
34164 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34165 grub_outb() calls.
34166 (set_map_mask): Likewise.
34167 (set_read_map): Likewise.
34168 (set_read_address): Likewise.
34169 (vga_font): Removed variable.
34170 (get_vga_glyph): Removed function.
34171 (invalidate_char): Likewise.
34172 (write_char): Changed to use grub_font_get_glyph() for font
34173 information.
34174 (grub_vga_putchar): Likewise.
34175 (grub_vga_getcharwidth): Likewise.
34176
6433b448 341772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34178
34179 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34180 flags.
34181 (pxeboot_img_LDFLAGS): Likewise.
34182 (diskboot_img_LDFLAGS): Likewise.
34183 (kernel_img_LDFLAGS): Likewise.
34184
49178511 341852007-11-06 Robert Millan <rmh@aybabtu.com>
34186
34187 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34188 in grub_outb() calls.
34189 (serial_hw_init): Likewise.
34190
53b052de 341912007-11-05 Robert Millan <rmh@aybabtu.com>
34192
34193 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34194 spaces. Skip non-regular files.
34195
5ab33bba 341962007-11-05 Robert Millan <rmh@aybabtu.com>
34197
34198 * kern/disk.c (grub_disk_firmware_fini)
34199 (grub_disk_firmware_is_tainted): New variables.
34200
34201 * include/grub/disk.h (grub_disk_firmware_fini)
34202 (grub_disk_firmware_is_tainted): Likewise.
34203
34204 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34205 (grub_disk_biosdisk_fini): ... to here.
34206 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34207 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34208 is set. Register grub_disk_biosdisk_fini() in
34209 `grub_disk_firmware_fini'.
34210
34211 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34212 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34213 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34214 to finish existing firmware disk interface.
34215
34216 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34217 (ata_mod_SOURCES): New variable.
34218 (ata_mod_CFLAGS): Likewise.
34219 (ata_mod_LDFLAGS): Likewise.
34220
0149ab7c 342212007-11-05 Robert Millan <rmh@aybabtu.com>
34222
34223 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34224 (grub_ata_wait): Reimplement using grub_millisleep().
34225
34226 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34227 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34228
be7ac41e 342292007-11-03 Marco Gerards <marco@gnu.org>
34230
34231 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34232 (CRTC_ADDR_PORT): New macro.
34233 (CRTC_DATA_PORT): Likewise.
34234 (CRTC_CURSOR): Likewise.
34235 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34236 (CRTC_CURSOR_ADDR_LOW): Likewise.
34237 (update_cursor): New function.
34238 (grub_console_real_putchar): Call `update_cursor'.
34239 (grub_console_gotoxy): Likewise.
34240 (grub_console_cls): Set the default color when clearing the
34241 screen.
34242 (grub_console_setcursor): Implemented.
34243
bb06ab2e 342442007-11-03 Marco Gerards <marco@gnu.org>
34245
34246 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34247 become activate.
34248 (grub_ata_pio_write): Likewise.
34249
34250 (grub_atapi_identify): Wait after issuing an ATA command.
34251 (grub_atapi_packet): Likewise.
34252 (grub_ata_identify): Likewise.
34253 (grub_ata_readwrite): Likewise.
34254
cf8f780b 342552007-11-03 Marco Gerards <marco@gnu.org>
34256
34257 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34258 (grub_ata_pio_write): Likewise.
34259 (grub_ata_readwrite): Use `grub_error', instead of
34260 returning `grub_errno'.
34261
ed649e54 342622007-11-03 Marco Gerards <marco@gnu.org>
34263
34264 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34265 grub_ata_pio_write once for every single sector, instead of for
34266 multiple sectors.
34267
ca25d8f0 342682007-10-31 Robert Millan <rmh@aybabtu.com>
34269
34270 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34271
34272 * conf/i386-linuxbios.rmk: New file.
34273
34274 * kern/i386/pc/hardware.c: Likewise.
34275 * term/i386/pc/at_keyboard.c: Likewise.
34276 * term/i386/pc/vga_text.c: Likewise.
34277
34278 * include/grub/i386/linuxbios/boot.h: Likewise.
34279 * include/grub/i386/linuxbios/console.h: Likewise.
34280 * include/grub/i386/linuxbios/init.h: Likewise.
34281 * include/grub/i386/linuxbios/kernel.h: Likewise.
34282 * include/grub/i386/linuxbios/loader.h: Likewise.
34283 * include/grub/i386/linuxbios/memory.h: Likewise.
34284 * include/grub/i386/linuxbios/serial.h: Likewise.
34285 * include/grub/i386/linuxbios/time.h: Likewise.
34286
34287 * kern/i386/linuxbios/init.c: Likewise.
34288 * kern/i386/linuxbios/startup.S: Likewise.
34289 * kern/i386/linuxbios/table.c: Likewise.
34290
e911ecc1 342912007-10-31 Marco Gerards <marco@gnu.org>
34292
34293 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34294 (ata_mod_SOURCES): New variable.
34295 (ata_mod_CFLAGS): Likewise.
34296 (ata_mod_LDFLAGS): Likewise.
34297
34298 * disk/ata.c: New file.
34299
34300 * include/grub/disk.h (grub_disk_dev_id): Add
34301 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34302
7f66d0e0 343032007-10-31 Robert Millan <rmh@aybabtu.com>
34304
34305 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34306 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34307
34308 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34309 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34310
34311 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34312 `<grub/types.h>'.
34313
34314 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34315
5cd7dd46 343162007-10-27 Robert Millan <rmh@aybabtu.com>
34317
3236ca65 34318 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34319
2ebfc90f 343202007-10-22 Robert Millan <rmh@aybabtu.com>
34321
34322 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34323 `"../realmode.S"'.
34324 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34325
73fcb0f3 343262007-10-22 Robert Millan <rmh@aybabtu.com>
34327
34328 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34329 (pkgdata_MODULES): Add `biosdisk.mod'.
34330 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34331 variables.
34332
34333 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34334 (grub_biosdisk_init): Replace with ...
34335 (GRUB_MOD_INIT(biosdisk)): ... this.
34336 (grub_biosdisk_fini): Replace with ...
34337 (GRUB_MOD_FINI(biosdisk)): ... this.
34338
34339 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34340 (grub_machine_init): Remove call to grub_biosdisk_init().
34341 (grub_machine_fini): Remove call to grub_machine_fini().
34342
34343 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34344
3381d274 343452007-10-22 Robert Millan <rmh@aybabtu.com>
34346
34347 * include/grub/time.h: New file.
34348 * include/grub/i386/time.h: Likewise.
34349 * include/grub/powerpc/time.h: Likewise.
34350 * include/grub/sparc64/time.h: Likewise.
34351
34352 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34353 instances to ...
34354 (KERNEL_MACHINE_TIME_HEADER): ... this.
34355 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34356 instances to ...
34357 (KERNEL_MACHINE_TIME_HEADER): ... this.
34358 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34359 instances to ...
34360 (KERNEL_MACHINE_TIME_HEADER): ... this.
34361
34362 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34363 (grub_millisleep): New function.
34364 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34365 (grub_millisleep): New function.
34366 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34367 Remove `grub/machine/time.h' include.
34368 (grub_millisleep): New function.
34369 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34370 Remove `grub/machine/time.h' include.
34371 (grub_millisleep): New function.
34372
34373 * include/grub/misc.h (grub_div_roundup): New function.
34374
34375 * kern/misc.c: Include `<grub/time.h>'.
34376 (grub_millisleep_generic): New function.
34377
34378 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34379 Add `time.h'.
34380 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34381 Add `time.h'.
34382 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34383 `machine/time.h'. Add `time.h'.
34384 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34385
a39a0312 343862007-10-21 Robert Millan <rmh@aybabtu.com>
34387
34388 * include/grub/misc.h (grub_max): New function.
34389
2aad70e2 343902007-10-21 Robert Millan <rmh@aybabtu.com>
34391
34392 * util/misc.c (grub_util_info): Call fflush() before returning.
34393
54b71c4b 343942007-10-20 Robert Millan <rmh@aybabtu.com>
34395
34396 * genmk.rb (Image): Copy `extra_flags' from here ...
34397 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34398
34399 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34400 to `argc' and `args' arguments.
34401
a979f513 344022007-10-17 Robert Millan <rmh@aybabtu.com>
34403
34404 * kern/i386/loader.S: New file.
34405
34406 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34407 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34408 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34409 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34410 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34411 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34412 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34413 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34414 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34415 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34416 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34417 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34418 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34419 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34420
34421 * kern/i386/realmode.S: New file.
34422
34423 * kern/i386/pc/startup.S (protstack): Moved from here ...
34424 * kern/i386/realmode.S (protstack)... to here.
34425 * kern/i386/pc/startup.S (gdt): Moved from here ...
34426 * kern/i386/realmode.S (gdt)... to here.
34427 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34428 * kern/i386/realmode.S (prot_to_real)... to here.
34429
34430 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34431 `kern/i386/realmode.S'.
34432
825fc8fd 344332007-10-17 Robert Millan <rmh@aybabtu.com>
34434
34435 * include/grub/i386/loader.h: New file.
34436
34437 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34438 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34439 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34440 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34441 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34442 * include/grub/i386/loader.h (grub_linux_prot_size)
34443 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34444 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34445 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34446 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34447
34448 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34449
e179b2f4 344502007-10-15 Robert Millan <rmh@aybabtu.com>
34451
34452 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34453 filesystem when dev->disk is unset.
34454 Do probe for filesystem even when dev->disk->has_partitions is set.
34455 In case a filesystem is found, always report it.
34456 In case it isn't, if dev->disk->has_partitions is set, report that
34457 a partition table was found instead of reporting that no filesystem
34458 could be identified.
34459
5db82af6 344602007-10-12 Robert Millan <rmh@aybabtu.com>
34461
34462 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34463 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34464
68f6ac74 34465 * include/grub/types.h (grub_host_to_target16): New macro.
34466 (grub_host_to_target32): Likewise.
34467 (grub_host_to_target64): Likewise.
34468 (grub_target_to_host16): Likewise.
34469 (grub_target_to_host32): Likewise.
34470 (grub_target_to_host64): Likewise.
5db82af6 34471
34472 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34473 Renamed from to ...
34474 (GRUB_MOD_ALIGN): ...this. Update all users.
34475
68f6ac74 34476 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34477 grub_host_to_target32.
34478 Replace grub_be_to_cpu32 with grub_target_to_host32.
34479 (load_modules): Likewise.
34480 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34481 Replace grub_be_to_cpu32 with grub_target_to_host32.
34482 Replace grub_cpu_to_be16 with grub_host_to_target16.
34483 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 34484
3cf497cc 344852007-10-12 Robert Millan <rmh@aybabtu.com>
34486
34487 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34488 * util/elf/grub-mkimage.c: ... here.
34489
34490 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34491 `util/powerpc/ieee1275/grub-mkimage.c'.
34492
c8cc3692 344932007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 34494
c8cc3692 34495 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34496 and make it easier to figure out.
34497 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34498 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34499 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34500 leave us with less than HEAP_MIN_SIZE total heap.
34501 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 34502
5c58b791 345032007-10-03 Robert Millan <rmh@aybabtu.com>
34504
34505 * include/grub/i386/io.h: New file.
34506 * commands/i386/pc/play.c (inb): Removed.
34507 (outb): Removed.
34508 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34509 with grub_outb().
afcd2ef8 34510 * term/i386/pc/serial.c (inb): Removed.
34511 (outb): Removed.
34512 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34513 with grub_outb().
34514 * term/i386/pc/vga.c (inb): Removed.
34515 (outb): Removed.
34516 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34517 with grub_outb().
5c58b791 34518
1a477ed6 345192007-10-02 Robert Millan <rmh@aybabtu.com>
34520
34521 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34523 Reported by Marcin Kurek.
34524
6b5d80fa 345252007-09-07 Robert Millan <rmh@aybabtu.com>
34526
34527 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34528 SmartFirmware version updates (as released by Sven Luther), and avoid
34529 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34530 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34531 known broken.
34532
5618afbf 345332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34534
34535 From Hitoshi Ozeki:
34536 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34537 when merging two regions.
34538
6139dcd9 345392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34540
508e39ee 34541 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34542 * normal/completion.c (grub_normal_do_completion): Likewise.
34543 Reported by Hitoshi Ozeki.
34544
345452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34546
6139dcd9 34547 Do not use devices at boot in chainloading.
f19dbdb7 34548
6139dcd9 34549 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34550 (boot_part_addr): Likewise.
34551 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34552 with BOOT_DRIVE and BOOT_PART_ADDR.
34553 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34554 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34555
38da6516 345562007-08-29 Robert Millan <rmh@aybabtu.com>
34557
34558 Patch from Simon Peter <dn.tlp@gmx.net>:
34559 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34560 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34561 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34562 util/i386/pc/grub-setup.c_DEPENDENCIES.
34563 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34564 util/grub-probe.c_DEPENDENCIES.
34565 * conf/powerpc-ieee1275.rmk: Likewise.
34566
29d0928c 345672007-08-28 Robert Millan <rmh@aybabtu.com>
34568
34569 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34570 to tell grub-mkdevicemap how to name devices.
34571 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34572 feature).
34573
34574 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34575 util/i386/get_disk_name.c.
34576 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34577 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34578 util/ieee1275/get_disk_name.c.
34579
34580 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34581
34582 * DISTLIST: Add util/i386/get_disk_name.c and
34583 util/ieee1275/get_disk_name.c.
34584
34585 * util/grub-mkdevicemap.c: Replace device naming logic with
34586 grub_util_get_disk_name() calls.
34587
5a0d3cca 345882007-08-20 Robert Millan <rmh@aybabtu.com>
34589
34590 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34591 (so that it works for both plural and singular quantities).
34592
8b72db2f 345932007-08-05 Robert Millan <rmh@aybabtu.com>
34594
34595 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34596 so that [xz] isn't taken into account when determining order.
34597
352466bf 345982007-08-02 Marco Gerards <marco@gnu.org>
34599
34600 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34601 `include/multiboot2.h', `include/grub/elfload.h',
34602 `include/multiboot.h', `include/grub/multiboot.h',
34603 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34604 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34605 `kern/elf.c', `loader/multiboot_loader.c',
34606 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34607 `loader/i386/pc/multiboot2.c',
34608 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34609 `util/i386/pc/grub-mkrescue.in'. Remove
34610 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34611 `include/grub/i386/pc/util/biosdisk.h' and
34612 `include/grub/powerpc/ieee1275/multiboot.h'.
34613
8f096014 346142007-08-02 Bean <bean123ch@gmail.com>
34615
34616 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34617 (ntfs_mod_SOURCES): New variable.
34618 (ntfs_mod_CFLAGS): Likewise.
34619 (ntfs_mod_LDFLAGS): Likewise.
34620
34621 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34622 (grub_probe_SOURCES): Likewise.
34623 (grub_emu_SOURCES): Likewise.
34624
34625 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34626 (grub_emu_SOURCES): Likewise.
34627
34628 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34629 (grub_emu_SOURCES): Likewise.
f19dbdb7 34630
8f096014 34631 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34632
34633 * fs/ntfs.c: New file.
34634
9959f7db 346352007-08-02 Bean <bean123ch@gmail.com>
34636
34637 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34638
34639 * file.h (grub_file): Likewise.
34640
34641 * fshelp.h (grub_fshelp_read_file): Likewise.
34642
34643 * util/i386/pc/grub-setup.c (setup): Likewise.
34644 (save_first_sector): Likewise.
34645 (save_blocklists): Likewise.
f19dbdb7 34646
9959f7db 34647 * fs/affs.c (grub_affs_read_file): Likewise.
34648
34649 * fs/ext2.c (grub_ext2_read_file): Likewise.
34650
34651 * fs/fat.c (grub_fat_read_data): Likewise.
34652
34653 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34654
34655 * fs/hfs.c (grub_hfs_read_file): Likewise.
34656
34657 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34658
34659 * fs/jfs.c (grub_jfs_read_file): Likewise.
34660
34661 * fs/minix.c (grub_minix_read_file): Likewise.
34662
34663 * fs/sfs.c (grub_sfs_read_file): Likewise.
34664
34665 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 34666
9959f7db 34667 * fs/xfs.c (grub_xfs_read_file): Likewise.
34668
34669 * command/blocklist.c (read_blocklist): Likewise.
34670 (print_blocklist): Likewise.
34671
0a203f83 346722007-08-02 Marco Gerards <marco@gnu.org>
34673
34674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34675 `util/hostfs.c'.
34676
34677 * disk/host.c: New file.
34678
34679 * util/hostfs.c: Likewise.
34680
34681 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34682 return `GRUB_ERR_BAD_FS'.
34683 * fs/sfs.c (grub_sfs_mount): Likewise.
34684 * fs/xfs.c (grub_xfs_mount): Likewise.
34685
34686 * include/grub/disk.h (enum grub_disk_dev_id): Add
34687 `GRUB_DISK_DEVICE_HOST_ID'.
34688
34689 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34690
e5dfe777 346912007-07-24 Jerone Young <jerone@gmail.com>
34692
f19dbdb7 34693 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 34694 modules for compilation.
34695 * conf/powerpc-ieee1275.rmk: Likewise.
34696
34697 * include/multiboot.h: Move multiboot definitions to one file. Rename
34698 many definitions to not get grub specific.
34699 * include/multiboot2.h: Create header with multiboot 2 definitions.
34700 * include/grub/multiboot.h: Header for grub specific function
34701 prototypes and definitions.
34702 * include/grub/multiboot2.h: Likewise.
34703 * include/grub/multiboot_loader.h: Likewise.
34704 * include/grub/i386/pc/multiboot.h: Removed.
34705 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34706
34707 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34708 and 2 to allow for one multiboot and module commands.
34709 * loader/multiboot2.c: Add multiboot2 functionality.
34710 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34711 and definition names.
34712 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
34713 2 functions.
34714 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
34715 ieee1275 specific multiboot2 code.
34716
34717 * kern/i386/pc/startup.S: Change headers and definition names for
34718 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
34719
daf0f0ba 347202007-07-22 Robert Millan <rmh@aybabtu.com>
34721
34722 * geninitheader.sh: Process file specified in first parameter rather
34723 than hardcoding grub_modules_init.lst.
fe6b695a 34724 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 34725 than hardcoding grub_modules_init.h.
34726
34727 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
34728 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
34729 grub_probe_init.[ch] and grub_setup_init.[ch].
34730
34731 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
34732 grub_modules_init.h with grub_emu_init.h.
34733 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
34734 grub_probe_init.[ch] files.
34735 * conf/i386-efi.rmk: Likewise.
34736 * conf/i386-pc.rmk: Likewise.
34737 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
34738 grub_setup_init.[ch] files.
34739
34740 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
34741 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
34742 to initialize modules rather than a list of hardcoded functions.
34743 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
34744 grub_init_all() to initialize modules rather than a list of hardcoded
34745 functions.
34746
54cdc1cc 347472007-07-22 Robert Millan <rmh@aybabtu.com>
34748
34749 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
34750 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
34751
ad0686cc 347522007-07-22 Robert Millan <rmh@aybabtu.com>
34753
34754 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34755 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
34756 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
34757 flag when running on SmartFirmware.
34758 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
34759 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
34760 was set.
34761
34762 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34763 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
34764 rather than decreasing it.
34765
34766 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
34767 there's not enough space to do it, fail in the same way as when it
34768 can't be done because there are no partitions.
34769
34770 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
34771 when nvsetenv failed.
34772
969c02ec 347732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34774
34775 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
34776 because this rule is automatically generated.
34777 (grub-mkrescue): Removed for the same reason as above.
34778
5a79f472 347792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34780
34781 Migrate to GNU General Public License Version 3.
f19dbdb7 34782
5a79f472 34783 * COPYING: Replaced with the plain text version of GPLv3.
34784
34785 * config.guess: Updated from gnulib.
34786 * config.sub: Likewise.
34787
34788 * geninit.sh: Output a GPLv3 copyright notice.
34789 * geninitheader.sh: Likewise.
34790 * genmodsrc.sh: Likewise.
34791 * gensymlist.sh.in: Likewise.
34792
34793 * boot/i386/pc/boot.S: Upgraded to GPLv3.
34794 * boot/i386/pc/diskboot.S: Likewise.
34795 * boot/i386/pc/pxeboot.S: Likewise.
34796 * commands/blocklist.c: Likewise.
34797 * commands/boot.c: Likewise.
34798 * commands/cat.c: Likewise.
34799 * commands/cmp.c: Likewise.
34800 * commands/configfile.c: Likewise.
34801 * commands/echo.c: Likewise.
34802 * commands/help.c: Likewise.
34803 * commands/ls.c: Likewise.
34804 * commands/search.c: Likewise.
34805 * commands/terminal.c: Likewise.
34806 * commands/test.c: Likewise.
34807 * commands/videotest.c: Likewise.
34808 * commands/i386/cpuid.c: Likewise.
34809 * commands/i386/pc/halt.c: Likewise.
34810 * commands/i386/pc/play.c: Likewise.
34811 * commands/i386/pc/reboot.c: Likewise.
34812 * commands/i386/pc/vbeinfo.c: Likewise.
34813 * commands/i386/pc/vbetest.c: Likewise.
34814 * commands/ieee1275/halt.c: Likewise.
34815 * commands/ieee1275/reboot.c: Likewise.
34816 * commands/ieee1275/suspend.c: Likewise.
34817 * disk/loopback.c: Likewise.
34818 * disk/lvm.c: Likewise.
34819 * disk/raid.c: Likewise.
34820 * disk/efi/efidisk.c: Likewise.
34821 * disk/i386/pc/biosdisk.c: Likewise.
34822 * disk/ieee1275/ofdisk.c: Likewise.
34823 * font/manager.c: Likewise.
34824 * fs/affs.c: Likewise.
34825 * fs/ext2.c: Likewise.
34826 * fs/fat.c: Likewise.
34827 * fs/fshelp.c: Likewise.
34828 * fs/hfs.c: Likewise.
34829 * fs/hfsplus.c: Likewise.
34830 * fs/iso9660.c: Likewise.
34831 * fs/jfs.c: Likewise.
34832 * fs/minix.c: Likewise.
34833 * fs/sfs.c: Likewise.
34834 * fs/ufs.c: Likewise.
34835 * fs/xfs.c: Likewise.
34836 * hello/hello.c: Likewise.
34837 * include/grub/acorn_filecore.h: Likewise.
34838 * include/grub/arg.h: Likewise.
34839 * include/grub/bitmap.h: Likewise.
34840 * include/grub/boot.h: Likewise.
34841 * include/grub/cache.h: Likewise.
34842 * include/grub/device.h: Likewise.
34843 * include/grub/disk.h: Likewise.
34844 * include/grub/dl.h: Likewise.
34845 * include/grub/elfload.h: Likewise.
34846 * include/grub/env.h: Likewise.
34847 * include/grub/err.h: Likewise.
34848 * include/grub/file.h: Likewise.
34849 * include/grub/font.h: Likewise.
34850 * include/grub/fs.h: Likewise.
34851 * include/grub/fshelp.h: Likewise.
34852 * include/grub/gzio.h: Likewise.
34853 * include/grub/hfs.h: Likewise.
34854 * include/grub/kernel.h: Likewise.
34855 * include/grub/loader.h: Likewise.
34856 * include/grub/lvm.h: Likewise.
34857 * include/grub/misc.h: Likewise.
34858 * include/grub/mm.h: Likewise.
34859 * include/grub/net.h: Likewise.
34860 * include/grub/normal.h: Likewise.
34861 * include/grub/parser.h: Likewise.
34862 * include/grub/partition.h: Likewise.
34863 * include/grub/pc_partition.h: Likewise.
34864 * include/grub/raid.h: Likewise.
34865 * include/grub/rescue.h: Likewise.
34866 * include/grub/script.h: Likewise.
34867 * include/grub/setjmp.h: Likewise.
34868 * include/grub/symbol.h: Likewise.
34869 * include/grub/term.h: Likewise.
34870 * include/grub/terminfo.h: Likewise.
34871 * include/grub/tparm.h: Likewise.
34872 * include/grub/types.h: Likewise.
34873 * include/grub/video.h: Likewise.
34874 * include/grub/efi/api.h: Likewise.
34875 * include/grub/efi/chainloader.h: Likewise.
34876 * include/grub/efi/console.h: Likewise.
34877 * include/grub/efi/console_control.h: Likewise.
34878 * include/grub/efi/disk.h: Likewise.
34879 * include/grub/efi/efi.h: Likewise.
34880 * include/grub/efi/pe32.h: Likewise.
34881 * include/grub/efi/time.h: Likewise.
34882 * include/grub/i386/linux.h: Likewise.
34883 * include/grub/i386/setjmp.h: Likewise.
34884 * include/grub/i386/types.h: Likewise.
34885 * include/grub/i386/efi/kernel.h: Likewise.
34886 * include/grub/i386/efi/loader.h: Likewise.
34887 * include/grub/i386/efi/time.h: Likewise.
34888 * include/grub/i386/pc/biosdisk.h: Likewise.
34889 * include/grub/i386/pc/boot.h: Likewise.
34890 * include/grub/i386/pc/chainloader.h: Likewise.
34891 * include/grub/i386/pc/console.h: Likewise.
34892 * include/grub/i386/pc/init.h: Likewise.
34893 * include/grub/i386/pc/kernel.h: Likewise.
34894 * include/grub/i386/pc/loader.h: Likewise.
34895 * include/grub/i386/pc/memory.h: Likewise.
34896 * include/grub/i386/pc/multiboot.h: Likewise.
34897 * include/grub/i386/pc/serial.h: Likewise.
34898 * include/grub/i386/pc/time.h: Likewise.
34899 * include/grub/i386/pc/vbe.h: Likewise.
34900 * include/grub/i386/pc/vbeblit.h: Likewise.
34901 * include/grub/i386/pc/vbefill.h: Likewise.
34902 * include/grub/i386/pc/vbeutil.h: Likewise.
34903 * include/grub/i386/pc/vga.h: Likewise.
34904 * include/grub/ieee1275/ieee1275.h: Likewise.
34905 * include/grub/ieee1275/ofdisk.h: Likewise.
34906 * include/grub/powerpc/libgcc.h: Likewise.
34907 * include/grub/powerpc/setjmp.h: Likewise.
34908 * include/grub/powerpc/types.h: Likewise.
34909 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34910 * include/grub/powerpc/ieee1275/console.h: Likewise.
34911 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34912 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34913 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34914 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34915 * include/grub/powerpc/ieee1275/time.h: Likewise.
34916 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34917 * include/grub/sparc64/libgcc.h: Likewise.
34918 * include/grub/sparc64/setjmp.h: Likewise.
34919 * include/grub/sparc64/types.h: Likewise.
34920 * include/grub/sparc64/ieee1275/console.h: Likewise.
34921 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34922 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34923 * include/grub/sparc64/ieee1275/time.h: Likewise.
34924 * include/grub/util/biosdisk.h: Likewise.
34925 * include/grub/util/getroot.h: Likewise.
34926 * include/grub/util/lvm.h: Likewise.
34927 * include/grub/util/misc.h: Likewise.
34928 * include/grub/util/raid.h: Likewise.
34929 * include/grub/util/resolve.h: Likewise.
34930 * io/gzio.c: Likewise.
34931 * kern/device.c: Likewise.
34932 * kern/disk.c: Likewise.
34933 * kern/dl.c: Likewise.
34934 * kern/elf.c: Likewise.
34935 * kern/env.c: Likewise.
34936 * kern/err.c: Likewise.
34937 * kern/file.c: Likewise.
34938 * kern/fs.c: Likewise.
34939 * kern/loader.c: Likewise.
34940 * kern/main.c: Likewise.
34941 * kern/misc.c: Likewise.
34942 * kern/mm.c: Likewise.
34943 * kern/parser.c: Likewise.
34944 * kern/partition.c: Likewise.
34945 * kern/rescue.c: Likewise.
34946 * kern/term.c: Likewise.
34947 * kern/efi/efi.c: Likewise.
34948 * kern/efi/init.c: Likewise.
34949 * kern/efi/mm.c: Likewise.
34950 * kern/i386/dl.c: Likewise.
34951 * kern/i386/efi/init.c: Likewise.
34952 * kern/i386/efi/startup.S: Likewise.
34953 * kern/i386/pc/init.c: Likewise.
34954 * kern/i386/pc/lzo1x.S: Likewise.
34955 * kern/i386/pc/startup.S: Likewise.
34956 * kern/ieee1275/ieee1275.c: Likewise.
34957 * kern/powerpc/cache.S: Likewise.
34958 * kern/powerpc/dl.c: Likewise.
34959 * kern/powerpc/ieee1275/cmain.c: Likewise.
34960 * kern/powerpc/ieee1275/crt0.S: Likewise.
34961 * kern/powerpc/ieee1275/init.c: Likewise.
34962 * kern/powerpc/ieee1275/openfw.c: Likewise.
34963 * kern/sparc64/cache.S: Likewise.
34964 * kern/sparc64/dl.c: Likewise.
34965 * kern/sparc64/ieee1275/init.c: Likewise.
34966 * kern/sparc64/ieee1275/openfw.c: Likewise.
34967 * loader/efi/chainloader.c: Likewise.
34968 * loader/efi/chainloader_normal.c: Likewise.
34969 * loader/i386/efi/linux.c: Likewise.
34970 * loader/i386/efi/linux_normal.c: Likewise.
34971 * loader/i386/pc/chainloader.c: Likewise.
34972 * loader/i386/pc/chainloader_normal.c: Likewise.
34973 * loader/i386/pc/linux.c: Likewise.
34974 * loader/i386/pc/linux_normal.c: Likewise.
34975 * loader/i386/pc/multiboot.c: Likewise.
34976 * loader/i386/pc/multiboot_normal.c: Likewise.
34977 * loader/powerpc/ieee1275/linux.c: Likewise.
34978 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34979 * normal/arg.c: Likewise.
34980 * normal/cmdline.c: Likewise.
34981 * normal/command.c: Likewise.
34982 * normal/completion.c: Likewise.
34983 * normal/execute.c: Likewise.
34984 * normal/function.c: Likewise.
34985 * normal/lexer.c: Likewise.
34986 * normal/main.c: Likewise.
34987 * normal/menu.c: Likewise.
34988 * normal/menu_entry.c: Likewise.
34989 * normal/misc.c: Likewise.
34990 * normal/parser.y: Likewise.
34991 * normal/script.c: Likewise.
34992 * normal/i386/setjmp.S: Likewise.
34993 * normal/powerpc/setjmp.S: Likewise.
34994 * normal/sparc64/setjmp.S: Likewise.
34995 * partmap/acorn.c: Likewise.
34996 * partmap/amiga.c: Likewise.
34997 * partmap/apple.c: Likewise.
34998 * partmap/gpt.c: Likewise.
34999 * partmap/pc.c: Likewise.
35000 * partmap/sun.c: Likewise.
35001 * term/gfxterm.c: Likewise.
35002 * term/terminfo.c: Likewise.
35003 * term/efi/console.c: Likewise.
35004 * term/i386/pc/console.c: Likewise.
35005 * term/i386/pc/serial.c: Likewise.
35006 * term/i386/pc/vesafb.c: Likewise.
35007 * term/i386/pc/vga.c: Likewise.
35008 * term/ieee1275/ofconsole.c: Likewise.
35009 * util/biosdisk.c: Likewise.
35010 * util/console.c: Likewise.
35011 * util/genmoddep.c: Likewise.
35012 * util/getroot.c: Likewise.
35013 * util/grub-emu.c: Likewise.
35014 * util/grub-mkdevicemap.c: Likewise.
35015 * util/grub-probe.c: Likewise.
35016 * util/lvm.c: Likewise.
35017 * util/misc.c: Likewise.
35018 * util/raid.c: Likewise.
35019 * util/resolve.c: Likewise.
35020 * util/update-grub.in: Likewise.
35021 * util/update-grub_lib.in: Likewise.
35022 * util/grub.d/00_header.in: Likewise.
35023 * util/grub.d/10_hurd.in: Likewise.
35024 * util/grub.d/10_linux.in: Likewise.
35025 * util/i386/efi/grub-install.in: Likewise.
35026 * util/i386/efi/grub-mkimage.c: Likewise.
35027 * util/i386/pc/grub-install.in: Likewise.
35028 * util/i386/pc/grub-mkimage.c: Likewise.
35029 * util/i386/pc/grub-mkrescue.in: Likewise.
35030 * util/i386/pc/grub-setup.c: Likewise.
35031 * util/i386/pc/misc.c: Likewise.
35032 * util/powerpc/ieee1275/grub-install.in: Likewise.
35033 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35034 * util/powerpc/ieee1275/misc.c: Likewise.
35035 * video/bitmap.c: Likewise.
35036 * video/video.c: Likewise.
35037 * video/i386/pc/vbe.c: Likewise.
35038 * video/i386/pc/vbeblit.c: Likewise.
35039 * video/i386/pc/vbefill.c: Likewise.
35040 * video/i386/pc/vbeutil.c: Likewise.
35041 * video/readers/tga.c: Likewise.
35042
3572d015 350432007-07-02 Robert Millan <rmh@aybabtu.com>
35044
35045 * conf/i386-efi.rmk: Replace obsolete reference to
35046 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35047 with util/getroot.c.
35048 * conf/powerpc-ieee1275.rmk: Likewise.
35049 * conf/sparc64-ieee1275.rmk: Likewise.
35050
35051 * util/grub-emu.c (main): Fix unchecked pointer handling.
35052
2c2a681b 350532007-07-02 Robert Millan <rmh@aybabtu.com>
35054
35055 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35056 invocation to fail, in order to support partition-less media.
35057
35058 * util/i386/pc/grub-install.in: Likewise.
35059
35060 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35061 which fs or partmap modules are needed (akin to its sister scripts).
35062
35063 Also use grub-probe to get rid of unportable /proc/mounts check.
35064
35065 Print the same informational message that the other scripts do, before
fe6b695a 35066 exiting.
2c2a681b 35067
6193defe 350682007-06-23 Robert Millan <rmh@aybabtu.com>
35069
fe6b695a 35070 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35071 a font file can be found and, if so, echo the GRUB path to it.
35072
35073 * util/update-grub.in: Handle multiple terminals depending on user
35074 input, platform availability and font file presence. Propagate
35075 variables of our findings to /etc/grub.d/ children.
35076
35077 * util/grub.d/00_header.in: Handle multiple terminals, based on
35078 environment setup by update-grub.
35079
eface1dc 350802007-06-23 Robert Millan <rmh@aybabtu.com>
35081
ba50d28f 35082 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35083
bf697e28 350842007-06-21 Robert Millan <rmh@aybabtu.com>
35085
35086 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35087 indicate end of data section in kernel image.
35088 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35089 GRUB_KERNEL_MACHINE_DATA_END.
35090
35091 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35092 space for it.
35093 * kern/i386/efi/startup.S: Likewise.
35094
35095 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35096 during image generation. Implement --prefix option to override this
35097 patch.
35098 * util/i386/efi/grub-mkimage.c: Likewise.
35099
35100 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35101 code to make path relative to its root into a separate function.
35102
35103 * util/i386/pc/grub-install.in: Use newly provided
35104 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35105 pass the result to grub-install --prefix.
35106
baa574b4 351072007-06-13 Robert Millan <rmh@aybabtu.com>
35108
35109 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35110 DEFAULT_DEVICE_MAP.
35111 * util/grub-emu.c: Use above definitions from misc.h instead of
35112 defining them.
35113 * util/grub-mkdevicemap.c: Likewise.
35114 * util/i386/pc/grub-setup.c: Likewise.
35115 * util/grub-probe.c: Likewise.
35116 (probe): Abort with grub_util_error() when either
35117 grub_guess_root_device or grub_util_get_grub_dev fails.
35118
0215dcbf 351192007-06-12 Robert Millan <rmh@aybabtu.com>
35120
35121 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35122 "pager" assignment.
35123 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35124 "pcdata".
35125 * util/grub-probe.c (probe): Likewise for "drive_name".
35126
8af2ab7b 351272007-06-11 Robert Millan <rmh@aybabtu.com>
35128
35129 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35130 not just the cdrom one.
35131
59d31694 351322007-06-11 Robert Millan <rmh@aybabtu.com>
35133
35134 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35135 Add --pkglibdir=DIR option to override pkglibdir.
35136 Mention --image-type=TYPE in help output.
35137 Fix --grub-mkimage (it was a no-op).
fe6b695a 35138 Abort gracefully when no parameter is given.
59d31694 35139
7ee367e4 351402007-06-11 Robert Millan <rmh@aybabtu.com>
35141
35142 * util/i386/pc/grub-mkrescue.in: New file.
35143 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35144 * Makefile.in: Handle bin_SCRIPTS.
35145
29b0ed46 351462007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35147
35148 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35149 list of video modes.
35150
c0f90770 351512007-06-06 Robert Millan <rmh@aybabtu.com>
35152
35153 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35154 file doesn't exist, or if it is in a filesystem grub can't read.
35155
35156 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35157 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35158 header comment to fit in 80 columns when the variables are resolved.
35159
35160 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35161 could be identified by update-grub. Remove redundant check for
fe6b695a 35162 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35163 handles that).
35164
fb36dc26 351652007-06-04 Robert Millan <rmh@aybabtu.com>
35166
35167 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35168
35169 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35170
35171 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35172
0c68c93e 351732007-06-04 Robert Millan <rmh@aybabtu.com>
35174
35175 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35176
35177 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35178 grub_apple_partition_map_fini.
35179
35180 * util/biosdisk.c
35181 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35182 to access >2 TiB disks).
35183
35184 Print disk->total_sectors with %llu instead of %lu, since this
35185 variable is always 64-bit (prevents wrong disk size from being displayed
35186 on either >2 TiB disk or big-endian CPU).
35187
35188 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35189 into a generic case that supports all (sane) partition maps.
35190
35191 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35192 breaks big-endian.
35193
35194 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35195 and grub_apple_partition_map_fini() after that.
35196
0f23eb74 351972007-06-01 Robert Millan <rmh@aybabtu.com>
35198
35199 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35200
35201 * util/grub.d/00_header.in: Only enable gfxterm when
35202 convert_system_path_to_grub_path() succeeds.
35203
42c71976 352042007-05-20 Robert Millan <rmh@aybabtu.com>
35205
35206 * util/update-grub_lib.in: New file.
35207 * DISTLIST: Add update-grub_lib.in.
35208 * conf/common.rmk: Generate update-grub_lib and install it in
35209 $(lib_DATA).
35210 * Makefile.in: Add install routine for $(lib_DATA).
35211
35212 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35213 function provided by update-grub_lib to support arbitrary paths of
35214 unifont.pff.
35215 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35216 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35217
5beb2291 352182007-05-19 Robert Millan <rmh@aybabtu.com>
35219
35220 * commands/i386/cpuid.c: New module.
35221 * DISTLIST: Add it.
35222 * conf/i386-efi.rmk: Enable cpuid.mod.
35223 * conf/i386-pc.rmk: Likewise.
35224
7262eca1 352252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35226
35227 * kern/disk.c (grub_disk_read): Check return value of
35228 grub_realloc().
35229
260ba823 352302007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35231
35232 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35233 arrays.
35234 * disk/raid.c (grub_raid_open): Likewise.
35235
1ecb6cf2 352362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35237
35238 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35239 stack instead of on the heap.
35240
35241 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35242 before doing a read on it.
35243
35244 * configure.ac: Only use -fno-stack-protector for the target
35245 environment.
f19dbdb7 35246
21c8cbb1 352472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35248
35249 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35250 __attribute_ ((unused)) to mode_type argument.
35251
35252 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35253
21c8cbb1 35254 * kern/misc.c (memcmp): Fix prototype.
35255
35256 * include/grub/partition.h [GRUB_UTIL]
35257 (grub_gpt_partition_map_init): Add prototype.
35258 (grub_gpt_partition_map_fini): Likewise.
35259
35260 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35261 at the right place.
35262
35263 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35264 (grub_fat_read_data): Likewise.
35265 (grub_fat_find_dir): Likewise.
35266
35267 * font/manager.c (find_glyph): Make table a const.
35268 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35269
849d55d3 352702007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35271
35272 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35273 code, first search for device in /dev/mapper, then in /dev.
35274 (grub_util_get_grub_dev): New function.
35275 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35276 prototype.
35277 * util/grub-probe.c (probe): Remove check for RAID, call
35278 grub_util_get_grub_dev() instead of
35279 grub_util_biosdisk_get_grub_dev().
35280 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35281 grub_util_biosdisk_get_grub_dev().
35282 * util/i386/pc/grub-setup.c (main): Likewise.
35283
8fff7c2f 352842007-05-16 Robert Millan <rmh@aybabtu.com>
35285
35286 * DISTLIST: Update for the latest changes.
35287 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35288 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35289 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35290 grub/util/biosdisk.h.
35291 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35292 grub/util/biosdisk.h.
35293
48e12b52 352942007-05-16 Robert Millan <rmh@aybabtu.com>
35295
35296 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35297
46b9d128 352982007-05-16 Robert Millan <rmh@aybabtu.com>
35299
35300 * util/i386/efi/grub-install.in: New.
35301 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35302 newly added grub-install.
35303 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35304 include.
35305 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35306 grub/util/biosdisk.h.
35307 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35308 grub/util/biosdisk.h.
35309
2d1a40a9 353102007-05-16 Robert Millan <rmh@aybabtu.com>
35311
35312 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35313 * include/grub/util/biosdisk.h: ... here.
35314 * util/i386/pc/biosdisk.c: Moved to ...
35315 * util/biosdisk.c: ... here.
35316 * util/i386/pc/getroot.c: Moved to ...
35317 * util/getroot.c: ... here.
35318 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35319 * util/grub-mkdevicemap.c: ... here.
35320 * util/i386/pc/grub-probe.c: Moved to ...
35321 * util/grub-probe.c: ... here.
35322
9e26e3bc 353232007-05-15 Robert Millan <rmh@aybabtu.com>
35324
35325 * util/update-grub.in: Remove duplicated line in grub.cfg header
35326 message.
35327
57f96397 353282007-05-13 Robert Millan <rmh@aybabtu.com>
35329
35330 * util/update-grub.in: Fix a few assumptions about the devices holding
35331 /, /boot and /boot/grub being the same.
35332 * util/grub.d/00_header.in: Likewise.
35333 * util/grub.d/10_hurd.in: Likewise.
35334 * util/grub.d/10_linux.in: Likewise.
35335
35336 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35337 patterns. Use that to define the `.old' suffix as older than `'.
35338
35339 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35340
35341 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35342 the grub.cfg header message.
35343
2e610d62 353442007-05-11 Robert Millan <rmh@aybabtu.com>
35345
35346 * util/update-grub.in: Create device.map if it doesn't already exist,
35347 before attempting to run grub-probe.
35348 Check for grub-probe and grub-mkdevicemap with the same code
35349 grub-install is using.
35350 Remove test mode.
35351
3f6a10ef 353522007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35353
35354 * Makefile.in: Add the datarootdir autoconf variable.
35355
02e7b75e 353562007-05-09 Robert Millan <rmh@aybabtu.com>
35357
35358 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35359 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35360
75f396cc 353612007-05-07 Robert Millan <rmh@aybabtu.com>
35362
35363 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35364 determine partition map module.
35365 * util/i386/pc/grub-install.in: Use this feature to decide which
35366 partition module to load, instead of hardcoding pc and gpt.
35367
da65cb36 353682007-05-07 Robert Millan <rmh@aybabtu.com>
35369
35370 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35371 source directory differs from build directory.
35372
b57d6a91 353732007-05-05 Robert Millan <rmh@aybabtu.com>
35374
35375 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35376 initialisation.
35377
509d00f1 353782007-05-05 Robert Millan <rmh@aybabtu.com>
35379
35380 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35381
c48f23ef 353822007-05-05 Robert Millan <rmh@aybabtu.com>
35383
35384 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35385 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35386
20b97658 353872007-05-05 Robert Millan <rmh@aybabtu.com>
35388
35389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35390 (grub_probe_SOURCES): Likewise.
35391 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35392 GPT and initialize dos_part and bsd_part accordingly.
35393 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35394 install_bsd_part.
35395 (main): Activate gpt module for use during partition identification,
35396 and deactivate it afterwards.
35397 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35398 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35399 partition identification, and deactivate it afterwards.
35400
99123174 354012007-05-05 Robert Millan <rmh@aybabtu.com>
35402
35403 * term/i386/pc/console.c (grub_console_fini): Call
35404 grub_term_set_current() before grub_term_unregister().
35405
ebd97f6e 354062007-05-04 Robert Millan <rmh@aybabtu.com>
35407
35408 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35409 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35410 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35411 and update-grub_DATA.
35412 * conf/common.rmk: Build and install update-grub components.
35413 * conf/common.mk: Regenerate.
35414 * util/update-grub.in: New. Core of update-grub.
35415 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35416 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35417 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35418 * util/grub.d/README: New. Document grub.d directory layout.
35419
b06a264d 354202007-05-01 Robert Millan <rmh@aybabtu.com>
35421
35422 * util/grub-emu.c: Move initialization functions
35423 grub_util_biosdisk_init() and grub_init_all() before
35424 grub_util_biosdisk_get_grub_dev(), which relies on them.
35425
41f0050e 354262007-04-19 Robert Millan <rmh@aybabtu.com>
35427
35428 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35429 it is used later.
35430
04582bb3 354312007-04-18 Jerone Young <jerone@gmail.com>
35432
f19dbdb7 35433 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 35434 stanza.
35435
08db4632 354362007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 35437
08db4632 35438 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35439 continue on and look for device node with real device name.
35440
801b76be 354412007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 35442
fe6b695a 35443 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 35444 ability.
35445 * Makefile.in: Add autoconf package transformation code.
35446 * util/i386/pc/grub-install.in: Likewise.
35447 * util/powerpc/ieee1275/grub-install.in: Likewise.
35448
6795c4e1 354492007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35450
35451 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35452 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35453 (EXT2_REVISION): Likewise.
35454 (EXT2_INODE_SIZE): Likewise.
35455 (struct grub_ext2_block_group): Added a missing member
35456 "used_dirs".
35457 (grub_ext2_read_inode): Divide by the inode size in a superblock
35458 instead of 128 to obtain INODES_PER_BLOCK.
35459 Use the macro EXT2_INODE_SIZE instead of directly using
35460 SBLOCK->INODE_SIZE.
35461
d70af616 354622007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35463
35464 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35465 superblock instead of the structure size to compute an
35466 offset. This fixes the problem that GRUB could not read a
35467 filesystem when inode size is different from 128-byte.
35468
3b801603 354692007-03-05 Marco Gerards <marco@gnu.org>
35470
35471 * normal/main.c (read_config_file): When "menu" is not set, create
35472 an initial context.
35473
4785bfe4 354742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35475
35476 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35477 (HEAP_LIMIT): New macro.
35478 (grub_claim_heap): Claim memory up to `heaplimit'.
35479
a0cbb023 354802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35481
35482 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35483 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35484 (_start): Likewise.
35485 (grub_arch_modules_addr): Return address after `_end'.
35486 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35487 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35488 (add_segments): Calculate `_end' from phdr size and location.
35489 (ALIGN_UP): Moved to ...
35490 * include/grub/misc.h: here.
35491 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35492 New macro.
35493 (GRUB_IEEE1275_MODULE_BASE): Removed.
35494
fd7d8eba 354952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35496
35497 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35498 loop boundary.
35499
9b09e6fc 355002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35501
35502 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35503 All users updated.
35504 (grub_elf64_load_hook_t): Likewise.
35505 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35506 debug output.
35507
3ce27299 355082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35509
35510 * kern/mm.c: Update copyright.
35511 (grub_mm_debug): Correct syntax error.
35512 (grub_mm_dump_free): New function.
35513 (grub_debug_free): Call `grub_free'.
35514 * include/grub/mm.h: Update copyright.
35515 (grub_mm_dump_free): Add declaration.
35516
077d5fee 355172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35518
35519 * include/grub/ieee1275/ieee1275.h: Update copyright.
35520 * kern/powerpc/ieee1275/init.c: Likewise.
35521 * kern/powerpc/ieee1275/openfw.c: Likewise.
35522
35523 * loader/powerpc/ieee1275/linux.c: Likewise.
35524 * include/grub/elfload.h: Likewise.
35525 * kern/elf.c: Likewise.
35526 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35527 callers.
35528 (grub_elf64_load): Likewise.
35529 (grub_elf32_load_segment): Move to a nested function.
35530 (grub_elf64_load_segment): Likewise.
35531
dc946850 355322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35533
35534 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35535 prototype.
35536 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35537 (grub_heap_len): Likewise.
35538 (HEAP_SIZE): New macro.
35539 (grub_claim_heap): New function.
35540 (grub_machine_init): Don't claim heap directly. Call
35541 `grub_claim_heap'.
35542 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35543 (grub_available_iterate): New function.
35544
baa2a121 355452007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35546
35547 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35548 * configure.ac: Use it for testing the HOST and TARGET compilers.
35549
4fe9862e 355502006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35551
35552 * Makefile.in (enable_grub_emu): New variable.
35553 * configure.ac (--enable-grub-emu): New option.
35554 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35555 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35556 * conf/i386-pc.rmk: Likewise.
35557 * conf/powerpc-ieee1275.rmk: Likewise.
35558 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35559
a8aa5762 355602006-12-12 Marco Gerards <marco@gnu.org>
35561
35562 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35563
35564 * kern/env.c (grub_env_unset): Don't free the member `value' when
35565 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35566 pointer.
35567
35568 * normal/main.c (current_menu): Removed.
35569 (free_menu): Unset the `menu' environment variable.
35570 (grub_normal_menu_addentry): Make use of the environment variable
35571 `menu', instead of using the global `current_menu'. Allocate
35572 memory for the sourcecode of this entry.
35573 (read_config_file): New argument `nested', changed all callers.
35574 Only in the case of a new context, initialize a new menu. Set the
35575 `menu' environment variable.
35576 (grub_normal_execute): Don't set and unset the environment
35577 variable `menu' here anymore. Only free the menu when leaving the
35578 context.
35579
35580 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35581 leak.
35582
957b3a3e 355832006-12-11 Marco Gerards <marco@gnu.org>
35584
35585 * normal/menu_entry.c (run): Fix off by one bug so the last line
35586 is executed. Move the loader check to outside the loop.
35587
ef875714 355882006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35589
35590 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35591
4e739985 355922006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35593
35594 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35595 the number of sectors. Reported by Andrey Shuvikov
35596 <mr_hyro@yahoo.com>.
f19dbdb7 35597
790707f2 355982006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35599
35600 * kern/disk.c (grub_disk_read): When there is a read error, always
35601 try to read only the necessary data.
f19dbdb7 35602
790707f2 35603 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35604 disk/raid.c.
35605 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35606 prototype.
35607 [GRUB_UTIL] (grub_raid_fini): Likewise.
35608 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 35609 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 35610 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35611 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35612 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35613 and grub_raid_fini().
f19dbdb7 35614
03e58196 356152006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35616
35617 * include/grub/types.h (__unused): Rename to UNUSED.
35618 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35619 (grub_elf64_size): Likewise.
f19dbdb7 35620
ae4f23bf 356212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35622
35623 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35624 grub_error_push and grub_error_pop in the error-handling path.
35625 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35626 length.
35627
2166cc83 356282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35629
35630 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35631 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35633 (kernel_elf_SOURCES): Likewise.
35634 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35635 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35636 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35637 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35638 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35639 (elf_mod_SOURCES): New variable.
35640 (elf_mod_CFLAGS): Likewise.
35641 (elf_mod_LDFLAGS): Likewise.
35642 * include/grub/types.h (__unused): New macro.
35643 * include/grub/elfload.h: New file.
35644 * kern/elf.c: Likewise.
35645 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35646 (ELF32_LOADMASK): New macro.
35647 (ELF64_LOADMASK): Likewise.
35648 (vmlinux): Removed.
35649 (grub_linux_load32): New function.
35650 (grub_linux_load64): Likewise.
35651 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35652 Use grub_elf_t instead of grub_file_t.
35653
a09d5aa5 356542006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35655
35656 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35657 `catch_result' to struct set_color_args.
35658
d976fc51 356592006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35660
35661 * normal/menu.c: Include grub/script.h.
35662 * normal/menu_entry.c: Likewise.
35663 * include/grub/normal.h: Do not include grub/script.h.
35664
67507549 356652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35666
35667 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35668
69203a99 356692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35670
35671 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35672 disk.
35673 (grub_disk_close): Print debug messages when closing a disk.
35674 (grub_disk_read): Print debug messages when disk read fails.
35675 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35676 filesystem type.
35677 * kern/partition.c: Include misc.h.
35678 (grub_partition_iterate): Print debug messages when detecting
35679 partition type.
35680
e2b8278c 356812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35682
35683 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35684 is negative.
35685 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35686
97b2f2ff 356872006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35688
35689 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35690 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35691
6555d655 356922006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35693
35694 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35695 instead of sizeof(lv). Patch by Michael Guntsche.
35696
4d42b77f 356972006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35698
35699 * disk/lvm.c: Rename VGS to VG_LIST.
35700 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35701 (grub_lvm_open): Likewise.
35702 Thanks to Michael Guntsche for finding this bug.
35703
5d74d927 357042006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35705
35706 * configure.ac (AC_INIT): Bumped to 1.95.
35707
a1bb27e4 357082006-10-14 Robert Millan <rmh@aybabtu.com>
35709
35710 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35711 with "/dev/.static/dev/md".
35712
e0994b8b 357132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35714
35715 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
35716 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
35717 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
35718 DRIVE_NAME are always freed.
35719
35720 * util/i386/pc/biosdisk.c (make_device_name): Add one into
35721 DOS_PART, as a DOS partition is counted from one instead of zero
35722 now. Reported by Robert Millan.
35723
ddd5cee9 357242006-10-14 Robert Millan <rmh@aybabtu.com>
35725
35726 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
35727 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
35728 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
35729 string returned by grub_guess_root_device.
35730 * util/i386/pc/grub-setup.c: Likewise.
35731 * util/i386/pc/grub-probefs.c: Likewise.
35732
35733 * util/i386/pc/grub-probefs.c: Rename to ...
35734 * util/i386/pc/grub-probe.c: ... this.
35735 * DISTLIST: Remove grub-probefs, add grub-probe.
35736 * conf/i386-efi.rmk: Likewise.
35737 * conf/i386-pc.rmk: Likewise.
35738 * util/i386/pc/grub-install.in: Likewise.
35739
35740 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
35741 choose which information we want to print.
35742
2b002173 357432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35744
35745 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
35746 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
35747 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
35748 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
35749 video/readers/tga.c and video/i386/pc/vbeutil.c.
35750
357512006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
35752
35753 Added support for RAID and LVM.
f19dbdb7 35754
2b002173 35755 * disk/lvm.c: New file.
35756 * disk/raid.c: Likewise.
35757 * include/grub/lvm.h: Likewise.
f19dbdb7 35758 * include/grub/raid.h: Likewise.
2b002173 35759 * include/grub/util/lvm.h: Likewise.
35760 * include/grub/util/raid.h: Likewise.
35761 * util/lvm.c: Likewise.
35762 * util/raid.c: Likewise.
35763
35764 * include/grub/disk.h (grub_disk_dev_id): Add
35765 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
35766 (grub_disk_get_size): New prototype.
35767 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
35768 returns a partition.
35769 (grub_disk_get_size): New function.
f19dbdb7 35770
2b002173 35771 * kern/i386/pc/init.c (make_install_device): Copy the prefix
35772 verbatim if grub_install_dos_part is -2.
35773
35774 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
35775 and LVM devices.
35776
35777 * util/i386/pc/grub-setup.c (setup): New argument
35778 MUST_EMBED. Force embedding of GRUB when the argument is
35779 true. Close FILE before returning.
35780 (main): Add support for RAID and LVM.
f19dbdb7 35781
2b002173 35782 * conf/common.rmk: Add RAID and LVM modules.
35783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
35784 util/lvm.c.
35785 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
35786
35787 * kern/misc.c (grub_strstr): New function.
35788 * include/grub/misc.h (grub_strstr): New prototype.
35789
050548d0 357902006-10-10 Tristan Gingold <tristan.gingold@bull.net>
35791
35792 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
35793
da849d2d 357942006-10-05 Tristan Gingold <tristan.gingold@bull.net>
35795
35796 * kern/misc.c (grub_strtoull): Guess the base only if not
35797 specified.
35798
97b2f2ff 357992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 35800
35801 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
35802 PowerMac support.
35803
97b2f2ff 358042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 35805
35806 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
35807
35808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
35809 Remove `flags' argument. All callers changed.
35810 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
35811 (IEEE1275_IHANDLE_INVALID): New variable.
35812 (IEEE1275_CELL_INVALID): New variable.
35813 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35814 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
35815 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
35816 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
35817 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
35818 codes from Open Firmware. All callers updated.
35819 (grub_ieee1275_next_property): Directly return Open Firmware return
35820 code.
35821 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35822 Standardize error checking from `grub_ieee1275_get_property'.
35823 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
35824 `devalias' to `aliases'. Correct comments. Consolidate error paths.
35825
97b2f2ff 358262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 35827
35828 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
35829 `instance_to_package_args' to `instance_to_path_args'.
35830
35831 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
35832 `grub_ieee1275_chosen'.
35833
35834 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
35835 `grub_ieee1275_interpret'.
35836
97b2f2ff 358372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 35838
35839 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
35840
97b2f2ff 358412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 35842
35843 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
35844 (__cmpdi): Likewise.
35845
35846 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
35847 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
35848 `grub_ssize_t'.
35849
02bb8acc 35850 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 35851
35852 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
35853 to type `grub_ssize_t'.
35854 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
35855
7f9a8531 358562006-09-22 Marco Gerards <marco@gnu.org>
35857
35858 * normal/script.c (grub_script_create_cmdmenu): Skip leading
35859 newlines.
35860
b5ef1102 358612006-09-22 Marco Gerards <marco@gnu.org>
35862
35863 * commands/echo.c: New file.
35864
35865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
35866
35867 * conf/common.rmk (echo_mod_SOURCES): New variable.
35868 (echo_mod_CFLAGS): Likewise.
35869 (echo_mod_LDFLAGS): Likewise.
35870
2cff3677 358712006-09-22 Marco Gerards <marco@gnu.org>
35872
35873 * normal/main.c (get_line): Malloc memory instead of using
35874 preallocated memory. Removed the arguments `cmdline' and
35875 `max_len'. Updated all callers.
35876
6ba4688b 358772006-09-22 Marco Gerards <marco@gnu.org>
35878
35879 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35880 (normal_mod_DEPENDENCIES): Likewise.
35881
35882 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35883 (normal_mod_DEPENDENCIES): Likewise.
35884
35885 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35886
e02ac02c 358872006-09-22 Johan Rydberg <jrydberg@gnu.org>
35888
35889 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35890 programs.
35891 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35892 (normal_mod_DEPENDENCIES): Likewise.
35893 * conf/i386-pc.mk: Regenerate.
35894 * conf/i386-efi.mk: Likewise
35895 * conf/common.mk: Likewise.
35896 * conf/powerpc-ieee1275.mk: Likewise.
35897 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35898
8d252e44 358992006-09-22 Robert Millan <rmh@aybabtu.com>
35900
35901 Sync with i386 version.
35902 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35903 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35904
209bf7ac 359052006-09-21 Robert Millan <rmh@aybabtu.com>
35906
35907 Import from GRUB Legacy (lib/device.c):
35908 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35909 (init_device_map) [__linux__]: Add support for I2O devices.
35910
6b146090 359112006-09-14 Marco Gerards <marco@gnu.org>
35912
35913 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35914 `-melf_i386'.
35915
e38600a8 359162006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 35917
35918 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35919 /boot/grub/*.lst.
78fa1790 35920
2952da5d 35921 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 35922
2952da5d 35923 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35924 before adding it to device.map.
35925
01b82a64 359262006-08-15 Johan Rydberg <jrydberg@gnu.org>
35927
fe6b695a 35928 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 35929 compiles a file; using the -MD option.
35930 * conf/common.mk: Regenerate.
35931 * conf/i386-pc.mk: Likewise.
35932 * conf/i386-efi.mk: Likewise.
35933 * conf/powerpc-ieee1275.mk: Likewise.
35934 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35935
1064790d 359362006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35937
35938 Move the prototypes of grub_setjmp and grub_longjmp to
35939 cpu/setjmp.h, so that each architecture may specify different
35940 attributes.
f19dbdb7 35941
1064790d 35942 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35943 (grub_longjmp): Likewise.
35944 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35945 (grub_longjmp): Likewise.
35946 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35947 (grub_longjmp): Likewise.
35948
35949 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35950 [!GRUB_UTIL] (grub_longjmp): Removed.
35951
29dda3ed 359522006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35953
35954 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35955 "color!" method does not return any value.
35956
ad2a06ed 359572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35958
35959 * include/grub/bitmap.h: New file.
35960
35961 * include/grub/i386/pc/vbeutil.h: Likewise.
35962
35963 * video/bitmap.c: Likewise.
35964
35965 * video/readers/tga.c: Likewise.
35966
35967 * video/i386/pc/vbeutil.c: Likewise.
35968
35969 * commands/videotest.c: Code cleanup and updated to reflect to new
35970 video API.
35971
35972 * term/gfxterm.c: Likewise.
35973
35974 * video/video.c: Likewise.
35975
35976 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35977 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35978 (bitmap_mod_SOURCES): New entry.
35979 (bitmap_mod_CFLAGS): Likewise.
35980 (bitmap_mod_LDFLAGS): Likewise.
35981 (tga_mod_SOURCES): Likewise.
35982 (tga_mod_CFLAGS): Likewise.
35983 (tga_mod_LDFLAGS): Likewise.
35984
35985 * include/grub/video.h (grub_video_blit_operators): New enum type.
35986 (grub_video_render_target): Changed as forward declaration and moved
35987 actual definition to be video driver specific.
35988 (grub_video_adapter.blit_bitmap): Added blitting operator.
35989 (grub_video_adapter.blit_render_target): Likewise.
35990 (grub_video_blit_bitmap): Likewise.
35991 (grub_video_blit_render_target): Likewise.
35992
35993 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35994 driver specific render target definition.
35995 (grub_video_vbe_map_rgba): Added driver internal helper.
35996 (grub_video_vbe_unmap_color): Updated to use
35997 grub_video_i386_vbeblit_info.
35998 (grub_video_vbe_get_video_ptr): Likewise.
35999
36000 * include/grub/i386/pc/vbeblit.h
36001 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36002 grub_video_i386_vbeblit_info.
36003 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36004 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36005 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36006 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36007 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36008 (grub_video_i386_vbeblit_index_index): Likewise.
36009 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36011 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36012 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36013 operator.
36014 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36015 operator.
36016
36017 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36018 include/grub/i386/pc/vbeblit.h.
36019
36020 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36021 Updated to use grub_video_i386_vbeblit_info.
36022 (grub_video_i386_vbefill_R8G8B8): Likewise.
36023 (grub_video_i386_vbefill_index): Likewise.
36024 (grub_video_i386_vbefill): Added generic filler.
36025
36026 * video/i386/pc/vbefill.c: Updated to reflect changes on
36027 include/grub/i386/pc/vbefill.h.
36028
36029 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36030 grub_video_i386_vbeblit_info.
36031 (grub_video_vbe_unmap_color): Likewise.
36032 (grub_video_vbe_blit_glyph): Likewise.
36033 (grub_video_vbe_scroll): Likewise.
36034 (grub_video_vbe_draw_pixel): Removed function.
36035 (grub_video_vbe_get_pixel): Likewise.
36036 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36037 updated code to use it.
36038 (common_blitter): Added common blitter for render target and bitmap.
36039 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36040 (grub_video_vbe_blit_render_target): Likewise.
36041
bc8c036d 360422006-07-30 Johan Rydberg <jrydberg@gnu.org>
36043
36044 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36045 is in text mode if there is no console control protocol instance
36046 available.
36047
684a8eff 360482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36049
36050 * include/grub/video.h: Code cleanup.
36051
36052 * include/grub/i386/pc/vbe.h: Likewise.
36053
36054 * video/i386/pc/vbe.c: Likewise.
36055
36056 * video/i386/pc/vbeblit.c: Likewise.
36057
36058 * video/i386/pc/vbefill.c: Likewise.
36059
36060 * video/video.c: Likewise. Also added more comments.
36061
5915059b 360622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36063
36064 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36065 (struct grub_biosdisk_dap): Likewise.
36066
36067 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36068 linkage settings for all functions.
36069
90ce5d56 360702006-07-12 Marco Gerards <marco@gnu.org>
36071
36072 * configure.ac (--enable-mm-debug): Fix typo.
36073
36074 * genkernsyms.sh.in: Use proper quoting for `CC'.
36075
43e7f879 360762006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36077
36078 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36079 (normal_mod_ASFLAGS): Remove "-m32".
36080
4889bdec 360812006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36082
36083 * util/misc.c: Include config.h.
36084 [!HAVE_MEMALIGN]: Do not include malloc.h.
36085 (grub_memalign): Use posix_memalign, if present. Then, use
36086 memalign, if present. Otherwise, emit an error.
36087
36088 * util/grub-emu.c: Do not include malloc.h.
36089
36090 * include/grub/util/misc.h: Include unistd.h. This is required for
36091 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36092 D. Eades III <hde@foobar-qux.org>.
36093
36094 * configure.ac (AC_GNU_SOURCE): Added.
36095 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36096 type.
36097
fd39d4da 360982006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36099
36100 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36101 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36102
b786f3b5 361032006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36104
36105 * include/grub/types.h (grub_host_addr_t): Rename to
36106 grub_target_addr_t.
36107 (grub_host_off_t): Rename to grub_target_off_t.
36108 (grub_host_size_t): Rename to grub_target_size_t.
36109 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36110 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36111
36112 * include/grub/kernel.h (struct grub_module_header): Change type
36113 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36114 (grub_module_info): Likewise.
f19dbdb7 36115
051988bb 361162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36117
36118 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36119 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36120 Velazquez <jesus.velazquez@gmail.com>.
36121
deae281b 361222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36123
36124 Count partitions from 1 instead of 0 in the string representation
36125 of partitions. Still use 0-based internally.
f19dbdb7 36126
deae281b 36127 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36128 (sun_partition_map_iterate): Use grub_partition_t instead of
36129 struct grub_partition *. Cast DESC->START_CYLINDER to
36130 grub_uint64_t after converting the endian.
36131 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36132 (sun_partition_map_get_name): Add 1 to P->INDEX.
36133
36134 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36135 PCDATA->DOS_PART.
36136 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36137
36138 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36139 zero instead of one.
36140 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36141 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36142
36143 * partmap/apple.c (apple_partition_map_iterate): Change the type
36144 of POS to unsigned.
36145 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36146 (apple_partition_map_get_name): Add 1 into P->INDEX.
36147
36148 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36149 of POS to unsigned.
36150 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36151 calculate the offset of a partition.
36152 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36153 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36154
36155 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36156 SECTOR to grub_disk_addr_t.
36157 (acorn_partition_map_iterate): Likewise.
36158 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36159 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36160 top.
36161 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36162
36163 * kern/i386/pc/init.c (make_install_device): Add 1 into
36164 GRUB_INSTALL_DOS_PART.
36165
36166 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36167 conditional.
36168
524a1e6a 361692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36170
36171 Clean up the code to support 64-bit addressing in disks and
36172 files. This change is not enough for filesystems yet.
f19dbdb7 36173
524a1e6a 36174 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36175 type of "start" to grub_uint64_t.
36176 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36177 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36178 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36179 convert addresses.
36180
36181 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36182 to grub_disk_addr_t.
36183
36184 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36185 string.
36186
36187 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36188
36189 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36190 to char *.
36191
36192 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36193
36194 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36195
36196 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36197
36198 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36199 to grub_off_t, to detect an error from grub_file_seek.
36200 (grub_multiboot_load_elf32): Likewise.
36201
36202 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36203 maximum unsigned long value when an overflow is detected.
36204 (grub_strtoull): New function.
36205 (grub_divmod64): Likewise.
36206 (grub_lltoa): use grub_divmod64.
36207
36208 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36209 grub_disk_addr_t.
36210 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36211 the pointer to next character. Use grub_strtoull instead of
36212 grub_strtoul.
36213 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36214 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36215 respectively.
36216
fe6b695a 36217 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36218 return value is signed.
36219 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36220 test if OFFSET is less than zero, as OFFSET is unsigned now.
36221
36222 * kern/disk.c (struct grub_disk_cache): Change the type of
36223 "sector" to grub_disk_addr_t.
36224 (grub_disk_cache_get_index): Change the type of SECTOR to
36225 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36226 unsigned after shifting.
36227 (grub_disk_cache_invalidate): Change the type of SECTOR to
36228 grub_disk_addr_t.
36229 (grub_disk_cache_unlock): Likewise.
36230 (grub_disk_cache_store): Likewise.
36231 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36232 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36233 grub_disk_addr_t and grub_uint64_t, respectively.
36234 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36235 body, as the value of OFFSET is tweaked by
36236 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36237 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36238 respectively.
36239 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36240 body, as the value of OFFSET is tweaked by
36241 grub_disk_check_range. Change the types of LEN and N to
36242 grub_size_t.
36243
36244 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36245 and "saved_offset" to grub_off_t.
36246 (test_header): Cast BUF to char *.
36247 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36248 to char *.
36249 (grub_gzio_read): Change the types of OFFSET and SIZE to
36250 grub_off_t and grub_size_t, respectively.
36251
36252 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36253 Removed.
36254 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36255 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36256 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36257 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36258 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36259
36260 * include/grub/types.h (grub_off_t): Unconditionally set to
36261 grub_uint64_t.
36262 (grub_disk_addr_t): Changed to grub_uint64_t.
36263
36264 * include/grub/partition.h (struct grub_partition): Change the
36265 types of "start", "len" and "offset" to grub_disk_addr_t,
36266 grub_uint64_t and grub_disk_addr_t, respectively.
36267 (grub_partition_get_start): Return grub_disk_addr_t.
36268 (grub_partition_get_len): Return grub_uint64_t.
36269
36270 * include/grub/misc.h (grub_strtoull): New prototype.
36271 (grub_divmod64): Likewise.
36272
36273 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36274 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36275 grub_off_t, respectively.
36276 All callers and references changed.
36277
36278 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36279 grub_size_t in "read".
36280 All callers and references changed.
36281
36282 * include/grub/file.h (struct grub_file): Change the types of
36283 "offset" and "size" to grub_off_t and grub_off_t,
36284 respectively. Change the type of SECTOR to grub_disk_addr_t in
36285 "read_hook".
36286 (grub_file_read): Change the type of LEN to grub_size_t.
36287 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36288 grub_off_t.
36289 (grub_file_size): Return grub_off_t.
36290 (grub_file_tell): Likewise.
36291 All callers and references changed.
36292
36293 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36294 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36295 "write".
36296 (struct grub_disk): Change the type of "total_sectors" to
36297 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36298 "read_hook".
524a1e6a 36299 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36300 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36301 (grub_disk_write): Likewise.
36302 All callers and references changed.
36303
36304 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36305 char * for grub_strncmp to silence gcc.
36306 (grub_iso9660_mount): Likewise.
36307 (grub_iso9660_mount): Likewise.
36308 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36309 return statement.
36310 (grub_iso9660_iterate_dir): Likewise.
36311 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36312
36313 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36314 LEN to grub_disk_addr_t and grub_size_t, respectively.
36315
36316 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36317
36318 * fs/jfs.c (grub_jfs_read_file): Likewise.
36319
36320 * fs/minix.c (grub_jfs_read_file): Likewise.
36321
36322 * fs/sfs.c (grub_jfs_read_file): Likewise.
36323
36324 * fs/ufs.c (grub_jfs_read_file): Likewise.
36325
36326 * fs/xfs.c (grub_jfs_read_file): Likewise.
36327
36328 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36329 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36330 respectively.
36331
36332 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36333 BLKNR to -1 instead of returning GRUB_ERRNO.
36334 (grub_ext2_read_file): Change the types of SECTOR and
36335 LEN to grub_disk_addr_t and grub_size_t, respectively.
36336
36337 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36338 LEN to grub_disk_addr_t and grub_size_t, respectively.
36339
36340 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36341 grub_file_read.
36342
36343 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36344 string. Do not cast SECTOR explicitly.
36345
36346 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36347 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36348 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36349 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36350 over 2TB and LBA mode is not supported, raise an error.
36351 (get_safe_sectors): New function.
36352 (grub_biosdisk_read): Use get_safe_sectors.
36353 (grub_biosdisk_write): Likewise.
36354
36355 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36356 (grub_efidisk_write): Likewise.
36357
36358 * disk/loopback.c (delete_loopback): Cosmetic changes.
36359 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36360 correctly.
36361 (grub_loopback_open): Likewise.
36362 (grub_loopback_read): Likewise. Also, change the type of POS to
36363 grub_off_t, and fix the usage of grub_memset.
36364
36365 * commands/i386/pc/play.c: Include grub/machine/time.h.
36366
36367 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36368 print FILE->SIZE.
36369
36370 * commands/configfile.c: Include grub/env.h.
36371
36372 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36373 GRUB_ERRNO directly instead. Change the type of POS to
36374 grub_off_t. Follow the coding standard.
36375
36376 * commands/blocklist.c: Include grub/partition.h.
36377 (grub_cmd_blocklist): Return an error if the underlying device is
36378 not a disk. Take the starting sector of a partition into account,
36379 if a partition is used.
36380
36381 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36382 a length field.
36383 (lba_mode): Support 64-bit addresses.
36384 (chs_mode): Likewise.
36385 (copy_buffer): Adapted to the new offsets of a length field and a
36386 segment field.
36387 (blocklist_default_start): Allocate 64-bit space.
36388
36389 * boot/i386/pc/boot.S (force_lba): Removed.
36390 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36391 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 36392 space.
36393 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36394 is useless.
36395 (lba_mode): Refactored to support a 64-bit address. More size
36396 optimization.
36397 (setup_sectors): Likewise.
36398
53af98ad 363992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36400
36401 * DISTLIST: Added include/grub/i386/linux.h. Removed
36402 include/grub/i386/pc/linux.h
36403
36404 * configure.ac (AC_INIT): Bumped to 1.94.
36405
36406 * config.guess: Updated from gnulib.
36407 * config.sub: Likewise.
36408 * install-sh: Likewise.
36409 * mkinstalldirs: Likewise.
36410
b4c1940a 364112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36412
36413 * conf/common.rmk (grub_modules_init.lst): Depended on
36414 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36415 MODSRCFILES.
36416
36417 * genmk.rb (PModule::rule): Reverted the previous change.
36418
cfca1cfd 364192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36420
36421 * conf/common.rmk (grub_modules_init.lst): Depends on
36422 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36423 that the target does not exist before producing.
36424 (grub_modules_init.h): Remove the target before generating.
36425 (grub_emu_init.c): Likewise.
36426
36427 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36428
aa6d7826 364292006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36430
36431 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36432 for the target-specific tests. Make sure that we also have the
36433 up-to-date target variables for those tests.
36434
26c607b9 364352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36436
36437 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36438 (PModule::rule): Likewise.
36439
0162321a 364402006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36441
36442 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36443 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36444 target-specific flags should be prefixed.
36445 (PModule::rule): Likewise.
36446
6c826348 364472006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36448
36449 * configure.ac (CMP): Check if cmp is available explicitly.
36450
b977bf01 364512006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36452
36453 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36454 (target_cpu): New variable.
36455 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 36456
b977bf01 36457 * util/i386/pc/grub-install.in (host_cpu): Removed.
36458 (target_cpu): New variable.
36459 (pkglibdir): Use target_cpu instead of host_cpu.
36460
36461 * util/genmoddep.c: Removed.
f19dbdb7 36462
b977bf01 36463 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36464 instead of GRUB_HOST_SIZEOF_VOID_P.
36465 * kern/dl.c: Likewise.
36466
36467 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36468 ...
36469 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36470 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36471 (GRUB_TARGET_SIZEOF_LONG): ... this.
36472 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36473 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36474 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36475 to ...
36476 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36477 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36478 (GRUB_TARGET_SIZEOF_LONG): ... this.
36479 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36480 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36481 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36482 to ...
36483 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36484 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36485 (GRUB_TARGET_SIZEOF_LONG): ... this.
36486 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36487 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36488
36489 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36490 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36491 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36492 instead of GRUB_HOST_SIZEOF_LONG.
36493 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36494 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36495 GRUB_CPU_WORDS_BIGENDIAN.
36496 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36497 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36498 grub_host_ssize_t.
36499
36500 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36501 (genmoddep_SOURCES): Likewise.
36502 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36503 (genmoddep_SOURCES): Likewise.
36504 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36505 (genmoddep_SOURCES): Likewise.
36506 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36507 Likewise.
36508 (genmoddep_SOURCES): Likewise.
36509
36510 * genmoddep.awk: New file.
36511
36512 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36513 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36514 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36515 (PModule::rule): Likewise.
36516 (Program::rule): Likewise.
36517 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36518 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36519 respectively.
36520
36521 * configure.ac: Rewritten intensively to use host and target
36522 instead of build and host, respectively.
36523
36524 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36525 (host_cpu): Removed.
36526 (target_cpu): New variable.
36527 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36528 (BUILD_CC): Removed.
36529 (BUILD_CFLAGS): Likewise.
36530 (BUILD_CPPFLAGS): Likewise.
36531 (TARGET_CC): New variable.
36532 (TARGET_CFLAGS): Likewise.
36533 (TARGET_CPPFLAGS): Likewise.
36534 (TARGET_LDFLAGS): Likewise.
36535 (AWK): Likewise.
36536 (include): Use target_cpu instead of host_cpu.
36537 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 36538
b977bf01 36539 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36540
f09771a1 365412006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36542
36543 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36544 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36545 field 'false' to 'exec_on_false'.
36546 (grub_script_create_cmdif): Renamed argument names to reflect above
36547 changes.
36548
36549 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36550
36551 * normal/script.c (grub_script_create_cmdif): Likewise.
36552
118f4fb3 365532006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36554
36555 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36556 top.
36557 (grub_hfsplus_btree_recptr): Likewise.
36558 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36559 FILEBLOCK both to pass a block number and store next block
36560 number.
36561 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36562 overflow file correctly. Specify errors appropriately, because
36563 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36564 grub_hfsplus_btree_recptr to get the pointer to a found key.
36565 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36566 is found.
36567
36568 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36569 linux.mod.
36570 (_linux_mod_SOURCES): New variable.
36571 (_linux_mod_CFLAGS): Likewise.
36572 (_linux_mod_LDFLAGS): Likewise.
36573 (linux_mod_SOURCES): Likewise.
36574 (linux_mod_CFLAGS): Likewise.
36575 (linux_mod_LDFLAGS): Likewise.
36576
36577 * DISTLIST: Added loader/i386/efi/linux.c,
36578 loader/i386/efi/linux_normal.c and
36579 include/grub/i386/efi/loader.h.
36580
36581 * loader/i386/efi/linux.c: New file.
36582 * loader/i386/efi/linux_normal.c: Likewise.
36583 * include/grub/i386/efi/loader.h: Likewise.
36584
89a7d726 365852006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36586
36587 * commands/blocklist.c: New file.
36588
36589 * DISTLIST: Added commands/blocklist.c.
36590
36591 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 36592 color for the background, and a darker color for the foreground.
89a7d726 36593 (grub_console_checkkey): Return READ_KEY.
36594 (grub_console_cls): Set the background to
36595 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36596
36597 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36598
36599 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36600 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36601
36602 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36603 prototype.
36604
36605 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36606 BG. The spec is wrong again.
36607
36608 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36609 prototype.
36610 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36611
36612 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36613 commands/blocklist.c.
36614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 36615
89a7d726 36616 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36617 (blocklist_mod_SOURCES): New variable.
36618 (blocklist_mod_CFLAGS): Likewise.
36619 (blocklist_mod_LDFLAGS): Likewise.
36620
75c8f258 366212006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36622
36623 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36624 duplication.
36625 (lba_mode): Use %eax more intensively to reduce the code size.
36626
da2eb181 366272006-05-20 Marco Gerards <marco@gnu.org>
36628
36629 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36630
36631 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36632 for `menuentry'.
36633 (script): Accept leading newlines.
36634 (newlines): New rule to describe 0 or more newlines.
36635 (commands): Accept `command' with trailing newline. Fixed the
36636 order in which arguments were passed to `grub_script_add_cmd'.
36637 Accept commands separated by newlines.
36638 (function): Changed to accept newlines.
36639 (menuentry) Rewritten.
36640
36641 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
36642 front of the list, instead of to the end.
36643
577b4050 366442006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
36645
36646 * util/i386/pc/grub-install.in (bindir): New variable.
36647 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36648 Shaver <lbgwjl@gmail.com>.
36649
0d6e1189 366502006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36651
36652 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36653 grub/machine/linux.h
36654 * loader/i386/pc/linux.c: Likewise.
36655
36656 * include/grub/i386/pc/linux.h: Moved to ...
36657 * include/grub/i386/linux.h: ... here.
36658
36659 * include/grub/i386/linux.h (struct linux_kernel_params): New
36660 struct.
f19dbdb7 36661
31b86e9f 366622006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36663
36664 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36665 checking.
36666 (grub_video_vbe_blit_glyph): Likewise.
36667 (grub_video_vbe_blit_bitmap): Likewise.
36668 (grub_video_vbe_blit_render_target): Likewise.
36669
83b984de 366702006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36671
36672 * configure.ac (--with-platform): Properly quote the square
36673 brackets.
36674
5f0413bd 366752006-05-08 Marco Gerards <marco@gnu.org>
36676
36677 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36678 this...
36679 (kernel_elf_HEADERS): ...to this. Updated all users.
36680 (grubof_symlist.c): Renamed from this...
36681 (kernel_elf_symlist.c): ...to this. Updated all users.
36682 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36683 (grubof_SOURCES): Renamed from this...
36684 (kernel_elf_SOURCES): ...to this.
36685 (grubof_HEADERS): Renamed from this...
36686 (kernel_elf_HEADERS): ...to this.
36687 (grubof_CFLAGS): Renamed from this...
36688 (kernel_elf_CFLAGS): ...to this.
36689 (grubof_ASFLAGS): Renamed from this...
36690 (kernel_elf_ASFLAGS): ...to this.
36691 (grubof_LDFLAGS): Renamed from this...
36692 (kernel_elf_LDFLAGS): ...to this.
36693
36694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36695 this...
36696 (kernel_elf_HEADERS): ...to this. Updated all users.
36697 (grubof_symlist.c): Renamed from this...
36698 (kernel_elf_symlist.c): ...to this. Updated all users.
36699 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36700 (grubof_SOURCES): Renamed from this...
36701 (kernel_elf_SOURCES): ...to this.
36702 (grubof_HEADERS): Renamed from this...
36703 (kernel_elf_HEADERS): ...to this.
36704 (grubof_CFLAGS): Renamed from this...
36705 (kernel_elf_CFLAGS): ...to this.
36706 (grubof_ASFLAGS): Renamed from this...
36707 (kernel_elf_ASFLAGS): ...to this.
36708 (grubof_LDFLAGS): Renamed from this...
36709 (kernel_elf_LDFLAGS): ...to this.
36710
36711 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
36712 `kernel.elf' instead of `grubof'.
36713
05568c2e 367142006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
36715
36716 Add --with-platform to configure. Use pkglibdir instead of
36717 pkgdatadir. This is reported by Roger Leigh.
36718
36719 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
36720 (host_vendor): Likewise.
36721 (host_os): Likewise.
36722 (pkgdatadir): Likewise.
36723 (platform): New variable.
36724 (pkglibdir): Likewise.
36725 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 36726
05568c2e 36727 * util/i386/pc/grub-install.in (datadir): Removed.
36728 (host_vendor): Likewise.
36729 (host_os): Likewise.
36730 (pkgdatadir): Likewise.
36731 (platform): New variable.
36732 (pkglibdir): Likewise.
36733 Use PKGLIBDIR instead of PKGDATADIR.
36734
36735 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
36736 instead of GRUB_DATADIR.
36737 (main): Likewise.
36738 * util/i386/pc/grub-mkimage.c (usage): Likewise.
36739 (main): Likewise.
36740 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36741 (main): Likewise.
36742
36743 * configure.ac (--with-platform): New option.
36744 Use PLATFORM instead of HOST_VENDOR to specify a platform.
36745
36746 * Makefile.in: Include a makefile based on PLATFORM instead of
36747 HOST_VENDOR.
36748 (pkgdatadir): Not appended by the machine type.
36749 (pkglibdir): Appended by the machine type.
36750 (host_vendor): Removed.
36751 (platform): New variable.
36752 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
36753 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
36754 (uninstall): Likewise.
36755
4e93851c 367562006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
36757
36758 Use the environment context in the menu. Remove the commands
36759 "default" and "timeout", and use variables instead.
f19dbdb7 36760
4e93851c 36761 * normal/menu.c: Include grub/env.h.
36762 (print_entry): Cast TITLE to silence gcc.
36763 (get_timeout): New function.
36764 (set_timeout): Likewise.
36765 (get_entry_number): Likewise.
36766 (run_menu): Use a default entry, a fallback entry and a timeout
36767 in the environment variables "default", "fallback" and
36768 "timeout". Also, tweak the default entry if it is not within the
36769 current menu entries.
36770 (grub_menu_run): Use a fallback entry in the environment variable
36771 "fallback".
36772
36773 * normal/main.c (read_config_file): Do not initialize
36774 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
36775 NEWMENU->TIMEOUT.
36776 (grub_normal_execute): Use a data slot to store the menu.
36777
36778 * include/grub/normal.h (struct grub_menu): Removed default_entry,
36779 fallback_entry and timeout.
36780 (struct grub_menu_list): Removed.
36781 (grub_menu_list_t): Likewise.
36782 (struct grub_context): Likewise.
36783 (grub_context_t): Likewise.
36784 (grub_context_get): Likewise.
36785 (grub_context_get_current_menu): Likewise.
36786 (grub_context_push_menu): Likewise.
36787 (grub_context_pop_menu): Likewise.
36788 (grub_default_init): Likewise.
36789 (grub_default_fini): Likewise.
36790 (grub_timeout_init): Likewise.
36791 (grub_timeout_fini): Likewise.
36792
36793 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
36794 and timeout.mod.
36795 (normal_mod_SOURCES): Removed normal/context.c.
36796
36797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
36798 commands/default.c, commands/timeout.c and normal/context.c.
36799 (normal_mod_SOURCES): Removed normal/context.c.
36800
36801 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
36802 commands/timeout.c and normal/context.c.
36803 (normal_mod_SOURCES): Removed normal/context.c.
36804
36805 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
36806 commands/default.c, commands/timeout.c and normal/context.c.
36807 (normal_mod_SOURCES): Removed normal/context.c.
36808
36809 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
36810 timeout.mod.
36811 (default_mod_SOURCES): Removed.
36812 (default_mod_CFLAGS): Likewise.
36813 (default_mod_LDFLAGS): Likewise.
36814 (timeout_mod_SOURCES): Removed.
36815 (timeout_mod_CFLAGS): Likewise.
36816 (timeout_mod_LDFLAGS): Likewise.
36817
36818 * DISTLIST: Removed commands/default.c, commands/timeout.c and
36819 normal/context.c.
36820
36821 * commands/default.c: Removed.
36822 * commands/timeout.c: Likewise.
36823 * normal/context.c: Likewise.
36824
1eb9cc1d 368252006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
36826
36827 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
36828
385bd9c1 368292006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
36830
36831 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
36832 "next" to "prev" for readability.
36833 (struct grub_env_sorted_var): New struct.
36834 (grub_env_context): Renamed to ...
36835 (initial_context): ... this.
36836 (grub_env_var_context): Renamed to ...
36837 (current_context): ... this.
36838 (grub_env_find): Look only at CURRENT_CONTEXT.
36839 (grub_env_context_open): Rewritten to copy exported variables from
36840 previous context.
36841 (grub_env_context_close): Rewritten according to the new
36842 scheme. Also, add an assertion to prevent the initial context from
36843 removed.
36844 (grub_env_insert): Removed the code for the sorted list.
36845 (grub_env_remove): Likewise.
36846 (grub_env_export): Simply mark the variable with
36847 GRUB_ENV_VAR_GLOBAL.
36848 (grub_env_set): A cosmetic change for naming consistency.
36849 (grub_env_get): Likewise.
36850 (grub_env_unset): Likewise.
36851 (grub_env_iterate): Rewritten to sort variables within this
36852 function.
36853 (grub_register_variable_hook): Fixed for naming consistency. Call
36854 grub_env_find again, only if NAME is not found at the first time.
36855 (mangle_data_slot_name): New function.
36856 (grub_env_set_data_slot): Likewise.
36857 (grub_env_get_data_slot): Likewise.
36858 (grub_env_unset_data_slot): Likewise.
36859
36860 * include/grub/env.h (grub_env_var_type): New enum.
36861 (GRUB_ENV_VAR_LOCAL): New constant.
36862 (GRUB_ENV_VAR_GLOBAL): Likewise.
36863 (GRUB_ENV_VAR_DATA): Likewise.
36864 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
36865 "type".
36866 (grub_env_set): Replace VAR with NAME for consistency.
36867 (grub_register_variable_hook): Likewise.
36868 (grub_env_export): Specify the name of the argument.
36869 (grub_env_set_data_slot): New prototype.
36870 (grub_env_get_data_slot): Likewise.
36871 (grub_env_unset_data_slot): Likewise.
36872
7f362539 368732006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 Extend the loader so that GRUB can accept a loader which comes
36876 back to GRUB when a loaded image exits. Also, this change adds
36877 support for a chainloader on EFI.
f19dbdb7 36878
7f362539 36879 * term/efi/console.c: Include grub/misc.h.
36880 (grub_console_checkkey): Display a scan code on the top for
36881 debugging. This will be removed once the EFI port gets stable.
36882 Correct the scan code mapping.
36883
36884 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36885 allocate memory from larger regions, in order to reduce the number
36886 of allocated regions. Otherwise, the MacOSX loader panics.
36887 (filter_memory_map): Avoid less than 1MB for compatibility with
36888 other loaders.
36889 (add_memory_regions): Allocate from the tail of a region, if
36890 possible, to avoid allocating a region near to 1MB, for the MacOSX
36891 loader.
36892
36893 * kern/efi/init.c (grub_efi_set_prefix): Specify
36894 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36895
36896 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36897 argument IMAGE_HANDLE and specify it to get a loaded image.
36898 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36899 grub_efi_get_loaded_image.
fe6b695a 36900 (grub_efi_get_filename): Divide the length by the size of
7f362539 36901 grub_efi_char16_t.
36902 (grub_efi_get_device_path): New function.
36903 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36904 the length by the size of grub_efi_char16_t for a file path device
36905 path node.
36906
36907 * kern/loader.c (grub_loader_noreturn): New variable.
36908 (grub_loader_set): Accept a new argument NORETURN. Set
36909 GRUB_LOADER_NORETURN to NORETURN.
36910 All callers changed.
36911 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36912 grub_machine_fini.
36913
36914 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36915 prototype.
36916 (grub_efi_get_loaded_image): Take an argument to specify an image
36917 handle.
36918
36919 * include/grub/loader.h (grub_loader_set): Added one more argument
36920 NORETURN.
36921
36922 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36923 instead of grub_efi_open_protocol.
36924 (grub_efidisk_get_device_name): Likewise.
36925 (grub_efidisk_close): Print a newline.
36926 (grub_efidisk_get_device_handle): Fixed to use
36927 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36928 GRUB_EFI_DEVICE_PATH_TYPE.
36929
36930 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36931 * kern/efi/efi.c (device_path_guid): ... here.
36932
36933 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36934 chain.mod.
36935 (kernel_mod_HEADERS): Added efi/disk.h.
36936 (_chain_mod_SOURCES): New variable.
36937 (_chain_mod_CFLAGS): Likewise.
36938 (_chain_mod_LDFLAGS): Likewise.
36939 (chain_mod_SOURCES): Likewise.
36940 (chain_mod_CFLAGS): Likewise.
36941 (chain_mod_LDFLAGS): Likewise.
36942
36943 * DISTLIST: Added include/grub/efi/chainloader.h,
36944 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36945
36946 * include/grub/efi/chainloader.h: New file.
36947 * loader/efi/chainloader.c: Likewise.
36948 * loader/efi/chainloader_normal.c: Likewise.
36949
c0111d6e 369502006-04-30 Marco Gerards <marco@gnu.org>
36951
36952 * commands/configfile.c (grub_cmd_source): New function.
36953 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36954 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36955
df5341da 369562006-04-30 Marco Gerards <marco@gnu.org>
36957
36958 * normal/execute.c (grub_script_execute_cmd): Change the return
36959 type to `grub_err_t'. Correctly return the error.
36960 (grub_script_execute_cmdline): In case a command line is not a
36961 command or a function, try to interpret it as an assignment.
36962
f85934bd 369632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36964
36965 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36966 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36967 skip a node whose name is obviously invalid as UTF-16,
36968 i.e. contains a NUL character. Stop the iteration when the last
36969 directory entry is found. Instead of using the return value of
36970 grub_hfsplus_btree_iterate_node, store the value in RET and use
36971 it, because the iterator can be stopped by the last directory
36972 entry.
36973
8f8a2cf8 369742006-04-30 Marco Gerards <marco@gnu.org>
36975
36976 * include/grub/env.h (grub_env_export): New prototype. Reported
36977 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36978
a27e84ce 369792006-04-30 Marco Gerards <marco@gnu.org>
36980
36981 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36982 size of the extents in a catalog file record.
36983
eaef0553 369842006-04-29 Marco Gerards <marco@gnu.org>
36985
36986 * commands/configfile.c (grub_cmd_configfile): Execute the
36987 configfile within its own context.
36988
36989 * include/grub/env.h (grub_env_context_open): New prototype.
36990 (grub_env_context_close): Likewise.
36991
36992 * kern/env.c (grub_env): Removed.
36993 (grub_env_sorted): Likewise.
36994 (grub_env_context): New variable.
36995 (grub_env_var_context): Likewise.
36996 (grub_env_find): Search both the active context and the global
36997 context.
36998 (grub_env_context_open): New function.
36999 (grub_env_context_close): Likewise.
37000 (grub_env_insert): Likewise.
37001 (grub_env_remove): Likewise.
37002 (grub_env_export): Likewise.
37003 (grub_env_set): Changed to use helper functions to avoid code
37004 duplication.
37005 (grub_env_iterate): Rewritten so both the current context and the
37006 global context are being used.
37007
37008 * normal/command.c (export_command): New function.
37009 (grub_command_init): Register the `export' function.
37010
7b455f4d 370112006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37012
37013 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37014 explicitly to suppress gcc's warnings.
37015 * fs/fat.c (grub_fat_find_dir): Likewise.
37016 (grub_fat_label): Likewise.
37017 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37018 (grub_xfs_mount): Likewise.
37019 (grub_xfs_label): Likewise.
37020 * fs/affs.c (grub_affs_mount): Likewise.
37021 (grub_affs_label): Likewise.
37022 (grub_affs_iterate_dir): Likewise.
37023 * fs/sfs.c (grub_sfs_mount): Likewise.
37024 (grub_sfs_iterate_dir): Likewise.
37025 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37026 * fs/hfs.c (grub_hfs_mount): Likewise.
37027 (grub_hfs_cmp_catkeys): Likewise.
37028 (grub_hfs_find_dir): Likewise.
37029 (grub_hfs_dir): Likewise.
37030 (grub_hfs_label): Likewise.
37031 * fs/jfs.c (grub_jfs_mount): Likewise.
37032 (grub_jfs_opendir): Likewise.
37033 (grub_jfs_getent): Likewise.
37034 (grub_jfs_lookup_symlink): Likewise.
37035 (grub_jfs_label): Likewise.
37036 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37037 (grub_hfsplus_iterate_dir): Likewise.
37038 (grub_hfsplus_btree_iterate_node): Made static.
37039
37040 * util/grub-emu.c (prefix): New variable.
37041 (grub_machine_set_prefix): New function.
37042 (main): Do not set the environment variable "prefix" here. Only
37043 set PREFIX, which is used later by grub_machine_set_prefix.
37044
37045 * include/grub/video.h: Do not include grub/symbol.h.
37046 (grub_video_register): Not exported. This symbol is not defined in
37047 the kernel.
37048 (grub_video_unregister): Likewise.
37049 (grub_video_iterate): Likewise.
37050 (grub_video_setup): Likewise.
37051 (grub_video_restore): Likewise.
37052 (grub_video_get_info): Likewise.
37053 (grub_video_get_blit_format): Likewise.
37054 (grub_video_set_palette): Likewise.
37055 (grub_video_get_palette): Likewise.
37056 (grub_video_set_viewport): Likewise.
37057 (grub_video_get_viewport): Likewise.
37058 (grub_video_map_color): Likewise.
37059 (grub_video_map_rgb): Likewise.
37060 (grub_video_map_rgba): Likewise.
37061 (grub_video_fill_rect): Likewise.
37062 (grub_video_blit_glyph): Likewise.
37063 (grub_video_blit_bitmap): Likewise.
37064 (grub_video_blit_render_target): Likewise.
37065 (grub_video_scroll): Likewise.
37066 (grub_video_swap_buffers): Likewise.
37067 (grub_video_create_render_target): Likewise.
37068 (grub_video_delete_render_target): Likewise.
37069 (grub_video_set_active_render_target): Likewise.
37070
37071 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37072 Undefined.
37073 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37074
37075 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37076 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37077 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37078 instead of $(srcdir)/genkernsyms.sh.
37079
37080 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37081 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37082 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37083 instead of $(srcdir)/genkernsyms.sh.
37084
37085 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37086 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37087 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37088 instead of $(srcdir)/genkernsyms.sh.
37089
37090 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37091 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37092 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37093 instead of $(srcdir)/genkernsyms.sh.
37094
37095 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37096 genkernsyms.sh.
37097
37098 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37099 genkernsyms.sh.
37100 (gensymlist.sh): New target.
37101 (genkernsyms.sh): Likewise.
37102
37103 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37104 genkernsyms.sh.in and gensymlist.sh.in.
37105
37106 * genkernsyms.sh: Removed.
37107 * gensymlist.sh: Likewise.
f19dbdb7 37108
7b455f4d 37109 * genkernsyms.sh.in: New file.
37110 * gensymlist.sh.in: Likewise.
37111
1885bb27 371122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37113
37114 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37115 clobber "prefix", since we may have already set it manually.
37116
71538dff 371172006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37118
37119 * kern/misc.c (abort): New alias for grub_abort.
37120
2965c7cc 371212006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37122
37123 A new machine-specific function "grub_machine_set_prefix" is
37124 defined. This is called after loading modules, so that a prefix
37125 initialization can use modules. Also, this change adds an
37126 intensive debugging feature for the memory manager via the
37127 configure option "--enable-mm-debug".
f19dbdb7 37128
2965c7cc 37129 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37130 PART.LEN.
37131
37132 * kern/sparc64/ieee1275/init.c (abort): Removed.
37133 (grub_stop): Likewise.
37134 (grub_exit): New function.
37135 (grub_set_prefix): Renamed to ...
37136 (grub_machine_set_prefix): ... this.
37137 (grub_machine_init): Do not call grub_set_prefix.
37138
37139 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37140 (grub_machine_set_prefix): ... this.
37141 (grub_machine_init): Do not call grub_set_prefix.
37142
37143 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37144 (grub_machine_init): Do not set the prefix here.
37145
37146 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37147
37148 * kern/efi/init.c: Include grub/mm.h.
37149 (grub_efi_set_prefix): New function.
37150
37151 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37152 (grub_efi_get_filename): New function.
37153 (grub_print_device_path): Renamed to ...
37154 (grub_efi_print_device_path): ... this.
37155
37156 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37157 [MM_DEBUG] (grub_realloc): Likewise.
37158 [MM_DEBUG] (grub_free): Likewise.
37159 [MM_DEBUG] (grub_memalign): Likewise.
37160 [MM_DEBUG] (grub_mm_debug): New variable.
37161 [MM_DEBUG] (grub_debug_malloc): New function.
37162 [MM_DEBUG] (grub_debug_free): New function.
37163 [MM_DEBUG] (grub_debug_realloc): New function.
37164 [MM_DEBUG] (grub_debug_memalign): New function.
37165
37166 * kern/misc.c (grub_abort): Print a newline to distinguish
37167 the message.
37168
37169 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37170 grub_set_root_dev after loading modules. This is necessary when
37171 setting a prefix depends on modules.
37172
37173 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37174 (grub_efi_print_device_path): ... this.
37175 (grub_efi_get_filename): New prototype.
37176 (grub_efi_set_prefix): Likewise.
37177
37178 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37179 and grub/disk.h.
37180 (grub_efidisk_get_device_handle): New prototype.
37181 (grub_efidisk_get_device_name): Likewise.
37182
37183 * include/grub/mm.h: Include config.h.
37184 (MM_DEBUG): Removed.
37185 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37186 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37187 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37188 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37189 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37190 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37191 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37192 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37193 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37194
37195 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37196
37197 * disk/efi/efidisk.c: Include grub/partition.h.
37198 (iterate_child_devices): New function.
37199 (add_device): First, compare only last device path nodes, so that
37200 devices are sorted by the types.
37201 (grub_efidisk_get_device_handle): New function.
37202 (grub_efidisk_get_device_name): Likewise.
37203
37204 * configure.ac (--enable-mm-debug): New option to enable the
37205 memory manager debugging feature. This makes the binary much
37206 bigger, so is disabled by default.
37207
9cacaa17 372082006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37209
37210 Use grub_abort instead of grub_stop, and grub_exit must be
37211 define in each architecture now. Also, this change adds support
37212 for EFI disks.
f19dbdb7 37213
9cacaa17 37214 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37215 (grub_getkey): New function.
37216 (grub_term_get_current): Likewise.
37217
37218 * util/i386/pc/grub-setup.c: Include grub/term.h.
37219 (grub_getkey): New function.
37220 (grub_term_get_current): Likewise.
37221
37222 * util/misc.c (grub_stop): Renamed to ...
37223 (grub_exit): ... this.
37224
37225 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37226 (grub_exit): ... this.
37227 (grub_machine_init): Use grub_abort instead of abort.
37228 (grub_stop): Removed.
37229
37230 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37231 abort.
37232
37233 * kern/i386/pc/startup.S (grub_exit): New function.
37234 (cold_reboot): New label.
37235
37236 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37237 (grub_efi_init): Call grub_efidisk_init.
37238 (grub_efi_fini): Call grub_efidisk_fini.
37239
37240 * kern/efi/efi.c: Include grub/mm.h.
37241 (grub_efi_console_control_guid): Renamed to ...
37242 (console_control_guid): ... this.
37243 (grub_efi_loaded_image_guid): Renamed to ...
37244 (loaded_image_guid): ... this.
37245 (grub_efi_locate_handle): New function.
37246 (grub_efi_open_protocol): Likewise.
37247 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37248 GRUB_EFI_CONSOLE_CONTROL_GUID.
37249 (grub_efi_exit): Removed.
37250 (grub_stop): Likewise.
37251 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37252 (grub_exit): New function.
37253 (grub_print_device_path): Likewise.
37254
37255 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37256 (grub_enter_rescue_mode): Register "exit".
37257
37258 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37259 (grub_abort): New function.
37260
37261 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37262
37263 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37264
37265 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37266
37267 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37268 (grub_print_device_path): New prototype.
37269 (grub_efi_locate_handle): Likewise.
37270 (grub_efi_open_protocol): Likewise.
37271
37272 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37273 * disk/efi/efidisk.c: Likewise.
37274
37275 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37276
37277 * include/grub/efi/console_control.h
37278 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37279
37280 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37281 last 8 bytes as an array.
37282 (GRUB_EFI_DISK_IO_GUID): New macro.
37283 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37284 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37285 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37286 grub_uint8_t.
37287 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37288 (struct grub_efi_device_path): Rename the member "sub_type" to
37289 "subtype".
37290 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37291 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37292 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37293 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37294 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37295 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37296 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37297 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37298 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37299 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37300 (struct grub_efi_pci_device_path): New structure.
37301 (grub_efi_pci_device_path_t): New type.
37302 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37303 (struct grub_efi_pccard_device_path): New structure.
37304 (grub_efi_pccard_device_path_t): New type.
37305 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37306 (struct grub_efi_memory_mapped_device_path): New structure.
37307 (grub_efi_memory_mapped_device_path_t): New type.
37308 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37309 (struct grub_efi_vendor_device_path): New structure.
37310 (grub_efi_vendor_device_path_t): New type.
37311 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37312 (struct grub_efi_controller_device_path): New structure.
37313 (grub_efi_controller_device_path_t): New type.
37314 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37315 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37316 (struct grub_efi_acpi_device_path): New structure.
37317 (grub_efi_acpi_device_path_t): New type.
37318 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37319 (struct grub_efi_expanded_acpi_device_path): New structure.
37320 (grub_efi_expanded_acpi_device_path_t): New type.
37321 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37322 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37323 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37324 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37325 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37326 (struct grub_efi_atapi_device_path): New structure.
37327 (grub_efi_atapi_device_path_t): New type.
37328 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37329 (struct grub_efi_fibre_channel_device_path): New structure.
37330 (grub_efi_fibre_channel_device_path_t): New type.
37331 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37332 (struct grub_efi_1394_device_path): New structure.
37333 (grub_efi_1394_device_path_t): New type.
37334 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37335 (struct grub_efi_usb_device_path): New structure.
37336 (grub_efi_usb_device_path_t): New type.
37337 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37338 (struct grub_efi_usb_class_device_path): New structure.
37339 (grub_efi_usb_class_device_path_t): New type.
37340 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37341 (struct grub_efi_i2o_device_path): New structure.
37342 (grub_efi_i2o_device_path_t): New type.
37343 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37344 (struct grub_efi_mac_address_device_path): New structure.
37345 (grub_efi_mac_address_device_path_t): New type.
37346 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37347 (struct grub_efi_ipv4_device_path): New structure.
37348 (grub_efi_ipv4_device_path_t): New type.
37349 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37350 (struct grub_efi_ipv6_device_path): New structure.
37351 (grub_efi_ipv6_device_path_t): New type.
37352 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37353 (struct grub_efi_infiniband_device_path): New structure.
37354 (grub_efi_infiniband_device_path_t): New type.
37355 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37356 (struct grub_efi_uart_device_path): New structure.
37357 (grub_efi_uart_device_path_t): New type.
37358 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37359 (struct grub_efi_vendor_messaging_device_path): New structure.
37360 (grub_efi_vendor_messaging_device_path_t): New type.
37361 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37362 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37363 (struct grub_efi_hard_drive_device_path): New structure.
37364 (grub_efi_hard_drive_device_path_t): New type.
37365 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37366 (struct grub_efi_cdrom_device_path): New structure.
37367 (grub_efi_cdrom_device_path_t): New type.
37368 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37369 (struct grub_efi_vendor_media_device_path): New structure.
37370 (grub_efi_vendor_media_device_path_t): New type.
37371 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37372 (struct grub_efi_file_path_device_path): New structure.
37373 (grub_efi_file_path_device_path_t): New type.
37374 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37375 (struct grub_efi_protocol_device_path): New structure.
37376 (grub_efi_protocol_device_path_t): New type.
37377 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37378 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37379 (struct grub_efi_bios_device_path): New structure.
37380 (grub_efi_bios_device_path_t): New type.
37381 (struct grub_efi_disk_io): New structure.
37382 (grub_efi_disk_io_t): New type.
37383 (struct grub_efi_block_io_media): New structure.
37384 (grub_efi_block_io_media_t): New type.
37385 (struct grub_efi_block_io): New structure.
37386 (grub_efi_block_io_t): New type.
37387
37388 * include/grub/misc.h (grub_stop): Removed.
37389 (grub_exit): New prototype.
37390 (grub_abort): Likewise.
37391
37392 * include/grub/disk.h (enum grub_disk_dev_id): Added
37393 GRUB_DISK_DEVICE_EFIDISK_ID.
37394
37395 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37396 disk/efi/efidisk.c.
37397 (kernel_syms.lst): Remove the target if an error occurs.
37398
49986a9f 373992006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37400
37401 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37402 as it was simply too buggy.
37403
970d3b8a 374042006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37405
37406 * kern/misc.c (grub_lltoa): New function.
37407 (grub_vsprintf): Added support for the long long suffix,
37408 i.e. "ll".
37409
ff04ec24 374102006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37411
37412 * Makefile.in (LDFLAGS): Add variable.
37413 (LD): Remove variable.
37414 * configure.ac: Add -m32 to LDFLAGS.
37415 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37416 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37417 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37418 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37419 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37420 variables.
37421 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37422 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37423 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37424
37e5e1a4 374252006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37426
37427 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37428 length for unknown glyph.
37429
c352d8dd 374302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37431
2eab1c0d 37432 Add support for pre-loaded modules into the EFI port.
f19dbdb7 37433
2eab1c0d 37434 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37435 completely. Accept one more argument DIR. The caller has changed.
37436
37437 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37438
37439 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37440 (grub_efi_loaded_image_guid): New variable.
37441 (grub_efi_get_loaded_image): New function.
37442 (grub_arch_modules_addr): Likewise.
37443
37444 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37445 prototype.
37446
37447 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37448 (struct grub_efi_loaded_image): New structure.
37449 (grub_efi_loaded_image_t): New type.
37450
374512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37452
c352d8dd 37453 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37454 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37455 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37456
6d01d6b4 374572006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37458
37459 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37460
976a4ea0 374612006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37462
37463 * DISTLIST: Added include/grub/efi/console.h,
37464 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37465 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37466
37467 * include/grub/efi/console.h: New file.
37468 * include/grub/efi/time.h: Likewise.
37469 * include/grub/i386/efi/kernel.h: Likewise.
37470 * kern/efi/init.c: Likewise.
37471 * kern/efi/mm.c: Likewise.
37472 * term/efi/console.c: Likewise.
f19dbdb7 37473
976a4ea0 37474 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37475 (grub_stop): Removed.
37476 (grub_get_rtc): Likewise.
37477 (grub_machine_init): Simply call grub_efi_init.
37478 (grub_machine_fini): Call grub_efi_fini.
37479
37480 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37481 (grub_efi_output_string): Removed.
37482 (grub_efi_stall): New function.
37483 (grub_stop): Likewise.
37484 (grub_get_rtc): Likewise.
37485
37486 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37487 (grub_efi_stall): New prototype.
37488 (grub_efi_allocate_pages): Likewise.
37489 (grub_efi_free_pages): Likewise.
37490 (grub_efi_get_memory_map): Likewise.
37491 (grub_efi_mm_init): Likewise.
37492 (grub_efi_mm_fini): Likewise.
37493 (grub_efi_init): Likewise.
37494 (grub_efi_fini): Likewise.
37495
37496 * include/grub/i386/efi/time.h: Do not include
37497 grub/symbol.h. Include grub/efi/time.h.
37498 (GRUB_TICKS_PER_SECOND): Removed.
37499 (grub_get_rtc): Likewise.
37500
37501 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37502 Added padding. The EFI spec is buggy.
37503 (GRUB_EFI_BLACK): New macro.
37504 (GRUB_EFI_BLUE): Likewise.
37505 (GRUB_EFI_GREEN): Likewise.
37506 (GRUB_EFI_CYAN): Likewise.
37507 (GRUB_EFI_RED): Likewise.
37508 (GRUB_EFI_MAGENTA): Likewise.
37509 (GRUB_EFI_BROWN): Likewise.
37510 (GRUB_EFI_LIGHTGRAY): Likewise.
37511 (GRUB_EFI_BRIGHT): Likewise.
37512 (GRUB_EFI_DARKGRAY): Likewise.
37513 (GRUB_EFI_LIGHTBLUE): Likewise.
37514 (GRUB_EFI_LIGHTGREEN): Likewise.
37515 (GRUB_EFI_LIGHTCYAN): Likewise.
37516 (GRUB_EFI_LIGHTRED): Likewise.
37517 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37518 (GRUB_EFI_YELLOW): Likewise.
37519 (GRUB_EFI_WHITE): Likewise.
37520 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37521 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37522 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37523 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37524 (GRUB_EFI_BACKGROUND_RED): Likewise.
37525 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37526 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37527 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37528 (GRUB_EFI_TEXT_ATTR): Likewise.
37529
37530 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37531 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37532 (kernel_mod_HEADERS): Added efi/time.h.
37533
83709125 375342006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37535
37536 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37537 include/grub/efi/api.h, include/grub/efi/console_control.h,
37538 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37539 include/grub/i386/efi/time.h, kern/efi/efi.c,
37540 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37541 and util/i386/efi/grub-mkimage.c.
37542
37543 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37544
37545 * genmk.rb (PModule#rule): Do not export symbols if
37546 #{prefix}_EXPORTS is set to "no".
37547
37548 * conf/i386-efi.mk: New file.
37549 * conf/i386-efi.rmk: Likewise.
37550 * include/grub/efi/api.h: Likewise.
37551 * include/grub/efi/console_control.h: Likewise.
37552 * include/grub/efi/efi.h: Likewise.
37553 * include/grub/efi/pe32.h: Likewise.
37554 * include/grub/i386/efi/time.h: Likewise.
37555 * kern/efi/efi.c: Likewise.
37556 * kern/i386/efi/init.c: Likewise.
37557 * kern/i386/efi/startup.S: Likewise.
37558 * util/i386/efi/grub-mkimage.c: Likewise.
37559
375602006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 37561
37562 * include/grub/script.h: Include <grub/parser.h> and
37563 "grub_script.tab.h".
37564 (struct grub_lexer_param): New struct.
37565 (struct grub_parser_param): Likewise.
37566 (grub_script_create_arglist): Pass the state in an argument.
37567 (grub_script_add_arglist): Likewise.
37568 (grub_script_create_cmdline): Likewise.
37569 (grub_script_create_cmdblock): Likewise.
37570 (grub_script_create_cmdif): Likewise.
37571 (grub_script_create_cmdmenu): Likewise.
37572 (grub_script_add_cmd): Likewise.
37573 (grub_script_arg_add): Likewise.
37574 (grub_script_lexer_ref): Likewise.
37575 (grub_script_lexer_deref): Likewise.
37576 (grub_script_lexer_record_start): Likewise.
37577 (grub_script_lexer_record_stop): Likewise.
37578 (grub_script_mem_record): Likewise.
37579 (grub_script_mem_record_stop): Likewise.
37580 (grub_script_malloc): Likewise.
37581 (grub_script_yylex): Likewise.
37582 (grub_script_yyparse): Likewise.
37583 (grub_script_yyerror): Likewise.
37584 (grub_script_yylex): Likewise.
37585 (grub_script_lexer_init): Return the state.
37586
37587 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37588 (grub_script_lexer_done): Likewise.
37589 (grub_script_lexer_getline): Likewise.
37590 (grub_script_lexer_refs): Likewise.
37591 (script): Likewise.
37592 (newscript): Likewise.
37593 (record): Likewise.
37594 (recording): Likewise.
37595 (recordpos): Likewise.
37596 (recordlen): Likewise.
37597 (grub_script_lexer_init): Return the state instead of setting
37598 global variables.
37599 (grub_script_lexer_ref): Use the newly added argument for state
37600 instead of globals.
37601 (grub_script_lexer_deref): Likewise.
37602 (grub_script_lexer_record_start): Likewise.
37603 (grub_script_lexer_record_stop): Likewise.
37604 (recordchar): Likewise.
37605 (nextchar): Likewise.
37606 (grub_script_yylex2): Likewise.
37607 (grub_script_yylex): Likewise.
37608 (grub_script_yyerror): Likewise.
37609
37610 * normal/parser.y (func_mem): Removed variable.
37611 (menu_entry): Likewise.
37612 (err): Likewise.
37613 (%lex-param): New parser option.
37614 (%parse-param): Likewise.
37615 (script): Always return the AST.
37616 (argument): Pass the state around.
37617 (arguments): Likewise.
37618 (grubcmd): Likewise.
37619 (commands): Likewise.
37620 (function): Likewise.
37621 (menuentry): Likewise.
37622 (if_statement): Likewise.
37623 (if): Likewise.
37624
37625 * normal/script.c (grub_script_memused): Removed variable.
37626 (grub_script_parsed): Likewise.
37627 (grub_script_malloc): Added a state argument. Use that instead of
37628 global variables.
37629 (grub_script_mem_record): Likewise.
37630 (grub_script_mem_record_stop): Likewise.
37631 (grub_script_arg_add): Likewise.
37632 (grub_script_add_arglist): Likewise.
37633 (grub_script_create_cmdline): Likewise.
37634 (grub_script_create_cmdif): Likewise.
37635 (grub_script_create_cmdmenu): Likewise.
37636 (grub_script_add_cmd): Likewise.
37637 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 37638
e2a8c904 376392006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 37640
37641 * normal/command.c (grub_command_init): Remove the title command.
37642
37643 * normal/lexer.c (grub_script_yylex): Renamed from this...
37644 (grub_script_yylex2): ... to this.
37645 (grub_script_yylex): New function. Temporary
37646 introduced to filter some tokens.
37647 (grub_script_yyerror): Print a newline.
37648
37649 * normal/main.c (read_config_file): Output information about the
37650 lines that contain errors. Wait for a key after all lines have
37651 been processed. Don't return an empty menu.
37652
37653 * normal/parser.y (func_mem): Don't initialize.
37654 (menu_entry): Likewise.
37655 (err): New variable.
37656 (script): Don't return anything when an error was encountered.
37657 (ws, returns): Removed rules.
37658 (argument): Disabled concatenated variable support.
37659 (arguments): Remove explicit separators.
37660 (grubcmd): Likewise.
37661 (function): Likewise.
37662 (menuentry): Likewise.
37663 (if): Likewise.
37664 (commands): Likewise. Add error handling.
37665
37666 * normal/script.c (grub_script_create_cmdline): If
37667 `grub_script_parsed' is 0, assume the parser encountered an error.
37668
c9a86192 376692006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37670
37671 * configure.ac: Add support for EFI. Fix the typo
37672 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37673
70f3b243 376742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37675
37676 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37677 foreign multibyte characters should be shown correctly.
37678
65f201ad 376792006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37680
37681 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37682 calculation.
37683 (read_config_file): Made it to close file before returning.
37684
b4b93674 376852006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37686
37687 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37688 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37689 video/i386/pc/vbefill.c.
37690
37691 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37692 video/i386/pc/vbefill.c.
37693
37694 * include/grub/video.h (grub_video_blit_format): New enum.
37695 (grub_video_mode_info): Added new member blit_format.
37696 (grub_video_get_blit_format): New function prototype.
37697
37698 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37699 function prototype.
37700 (grub_video_vbe_map_rgb): Likewise.
37701 (grub_video_vbe_unmap_color): Likewise.
37702
37703 * include/grub/i386/pc/vbeblit.h: New file.
37704
37705 * include/grub/i386/pc/vbefill.h: New file.
37706
37707 * video/video.c (grub_video_get_blit_format): New function.
37708 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37709 (grub_video_vbe_map_rgb): Likewise.
37710 (grub_video_vbe_unmap_color): Likewise.
37711
37712 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
37713 optimized fills.
37714 (grub_video_vbe_blit_render_target): Changed to use more optimized
37715 blits.
37716 (grub_video_vbe_setup): Added detection for optimized settings.
37717 (grub_video_vbe_create_render_target): Likewise.
37718
37719 * video/i386/pc/vbeblit.c: New file.
37720
37721 * video/i386/pc/vbefill.c: New file.
37722
c2379b9c 377232006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
37724
37725 * font/manager.c (grub_font_get_glyph): Removed font fixup from
37726 here...
37727
37728 * util/unifont2pff.rb: ... and moved it to here. Improved argument
37729 parsing to support both hex and dec ranges. If filename was missing
37730 show usage information.
37731
bd0d7896 377322006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
37733
37734 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
37735 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
37736
37737 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
37738 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
37739 (video_mod_SOURCES): Added.
37740 (video_mod_CFLAGS): Likewise.
37741 (video_mod_LDFLAGS): Likewise.
37742 (gfxterm_mod_SOURCES): Likewise.
37743 (gfxterm_mod_CFLAGS): Likewise.
37744 (gfxterm_mod_LDFLAGS): Likewise.
37745 (videotest_mod_SOURCES): Likewise.
37746 (videotest_mod_CFLAGS): Likewise.
37747 (videotest_mod_LDFLAGS): Likewise.
37748 (vesafb_mod_SOURCES): Removed.
37749 (vesafb_mod_CFLAGS): Likewise.
37750 (vesafb_mod_LDFLAGS): Likewise.
37751 (vga_mod_SOURCES): Likewise.
37752 (vga_mod_CFLAGS): Likewise.
37753 (vga_mod_LDFLAGS): Likewise.
37754
37755 * commands/videotest.c: New file.
37756
37757 * font/manager.c (fill_with_default_glyph): Modified to use
37758 grub_font_glyph.
37759 (grub_font_get_glyph): Likewise.
37760 (fontmanager): Renamed from this...
37761 (font_manager): ... to this.
37762
37763 * include/grub/font.h (grub_font_glyph): Added new structure.
37764 (grub_font_get_glyph): Modified to use grub_font_glyph.
37765
37766 * include/grub/misc.h (grub_abs): Added as inline function.
37767
37768 * include/grub/video.h: New file.
37769
37770 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
37771 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
37772 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
37773 (grub_vbe_get_controller_info): Renamed from this...
37774 (grub_vbe_bios_get_controller_info): ... to this.
37775 (grub_vbe_get_mode_info): Renamed from this...
37776 (grub_vbe_bios_get_mode_info): ... to this.
37777 (grub_vbe_set_mode): Renamed from this...
37778 (grub_vbe_bios_set_mode): ... to this.
37779 (grub_vbe_get_mode): Renamed from this...
37780 (grub_vbe_bios_get_mode): ... to this.
37781 (grub_vbe_set_memory_window): Renamed from this...
37782 (grub_vbe_bios_set_memory_window): ... to this.
37783 (grub_vbe_get_memory_window): Renamed from this...
37784 (grub_vbe_bios_get_memory_window): ... to this.
37785 (grub_vbe_set_scanline_length): Renamed from this...
37786 (grub_vbe_set_scanline_length): ... to this.
37787 (grub_vbe_get_scanline_length): Renamed from this...
37788 (grub_vbe_bios_get_scanline_length): ... to this.
37789 (grub_vbe_set_display_start): Renamed from this...
37790 (grub_vbe_bios_set_display_start): ... to this.
37791 (grub_vbe_get_display_start): Renamed from this...
37792 (grub_vbe_bios_get_display_start): ... to this.
37793 (grub_vbe_set_palette_data): Renamed from this...
37794 (grub_vbe_bios_set_palette_data): ... to this.
37795 (grub_vbe_set_pixel_rgb): Removed.
37796 (grub_vbe_set_pixel_index): Likewise.
37797
37798 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
37799 from this...
37800 (grub_vbe_bios_get_controller_info): ... to this.
37801 (grub_vbe_get_mode_info): Renamed from this...
37802 (grub_vbe_bios_get_mode_info): ... to this.
37803 (grub_vbe_set_mode): Renamed from this...
37804 (grub_vbe_bios_set_mode): ... to this.
37805 (grub_vbe_get_mode): Renamed from this...
37806 (grub_vbe_bios_get_mode): ... to this.
37807 (grub_vbe_set_memory_window): Renamed from this...
37808 (grub_vbe_bios_set_memory_window): ... to this.
37809 (grub_vbe_get_memory_window): Renamed from this...
37810 (grub_vbe_bios_get_memory_window): ... to this.
37811 (grub_vbe_set_scanline_length): Renamed from this...
37812 (grub_vbe_set_scanline_length): ... to this.
37813 (grub_vbe_get_scanline_length): Renamed from this...
37814 (grub_vbe_bios_get_scanline_length): ... to this.
37815 (grub_vbe_set_display_start): Renamed from this...
37816 (grub_vbe_bios_set_display_start): ... to this.
37817 (grub_vbe_get_display_start): Renamed from this...
37818 (grub_vbe_bios_get_display_start): ... to this.
37819 (grub_vbe_set_palette_data): Renamed from this...
37820 (grub_vbe_bios_set_palette_data): ... to this.
37821 (grub_vbe_bios_get_controller_info): Fixed problem with registers
37822 getting corrupted after calling it. Added more pushes and pops.
37823 (grub_vbe_bios_set_mode): Likewise.
37824 (grub_vbe_bios_get_mode): Likewise.
37825 (grub_vbe_bios_get_memory_window): Likewise.
37826 (grub_vbe_bios_set_scanline_length): Likewise.
37827 (grub_vbe_bios_get_scanline_length): Likewise.
37828 (grub_vbe_bios_get_display_start): Likewise.
37829 (grub_vbe_bios_set_palette_data): Likewise.
37830
37831 * normal/cmdline.c (cl_set_pos): Refresh the screen.
37832 (cl_insert): Likewise.
37833 (cl_delete): Likewise.
37834
37835 * term/gfxterm.c: New file.
37836
37837 * term/i386/pc/vesafb.c: Removed file.
37838
37839 * video/video.c: New file.
37840
37841 * video/i386/pc/vbe.c (real2pm): Added new function.
37842 (grub_video_vbe_draw_pixel): Likewise.
37843 (grub_video_vbe_get_video_ptr): Likewise.
37844 (grub_video_vbe_get_pixel): Likewise
37845 (grub_video_vbe_init): Likewise.
37846 (grub_video_vbe_fini): Likewise.
37847 (grub_video_vbe_setup): Likewise.
37848 (grub_video_vbe_get_info): Likewise.
37849 (grub_video_vbe_set_palette): Likewise.
37850 (grub_video_vbe_get_palette): Likewise.
37851 (grub_video_vbe_set_viewport): Likewise.
37852 (grub_video_vbe_get_viewport): Likewise.
37853 (grub_video_vbe_map_color): Likewise.
37854 (grub_video_vbe_map_rgb): Likewise.
37855 (grub_video_vbe_map_rgba): Likewise.
37856 (grub_video_vbe_unmap_color): Likewise.
37857 (grub_video_vbe_fill_rect): Likewise.
37858 (grub_video_vbe_blit_glyph): Likewise.
37859 (grub_video_vbe_blit_bitmap): Likewise.
37860 (grub_video_vbe_blit_render_target): Likewise.
37861 (grub_video_vbe_scroll): Likewise.
37862 (grub_video_vbe_swap_buffers): Likewise.
37863 (grub_video_vbe_create_render_target): Likewise.
37864 (grub_video_vbe_delete_render_target): Likewise.
37865 (grub_video_vbe_set_active_render_target): Likewise.
37866 (grub_vbe_set_pixel_rgb): Remove function.
37867 (grub_vbe_set_pixel_index): Likewise.
37868 (index_color_mode): Remove static variable.
37869 (active_mode): Likewise.
37870 (framebuffer): Likewise.
37871 (bytes_per_scan_line): Likewise.
37872 (grub_video_vbe_adapter): Added new static variable.
37873 (framebuffer): Likewise.
37874 (render_target): Likewise.
37875 (initial_mode): Likewise.
37876 (mode_in_use): Likewise.
37877 (mode_list): Likewise.
37878
5f97350b 378792006-03-10 Marco Gerards <marco@gnu.org>
37880
37881 * configure.ac (AC_INIT): Bumped to 1.93.
37882
37883 * DISTLIST: Added `include/grub/hfs.h'.
37884
a3c5c6f8 378852006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37886
37887 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37888 18H, which might help the BIOS falling back to next boot media.
37889
6de53d26 378902006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37891
37892 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37893 Poe Chen <poe.poechen@gmail.com>.
37894
77c4a393 378952006-01-17 Marco Gerards <marco@gnu.org>
37896
37897 * include/grub/normal.h: Include <grub/script.h>.
37898 (grub_command_list): Removed struct.
37899 (grub_command_list_t): Removed type.
37900 (grub_menu_entry): Remove members `num' and `command_list'. Add
37901 members `commands' and `sourcecode'.
37902 * include/grub/script.h: Add inclusion guards.
37903 (grub_script_cmd_menuentry): New struct.
37904 (grub_script_execute_menuentry): New prototype.
37905 (grub_script_lexer_record_start): Likewise.
37906 (grub_script_lexer_record_stop): Likewise.
37907 * normal/execute.c (grub_script_execute_menuentry): New function.
37908 * normal/lexer.c (record, recording, recordpos, recordlen): New
37909 variables.
37910 (grub_script_lexer_record_start): New function.
37911 (grub_script_lexer_record_stop): Likewise.
37912 (recordchar): Likewise.
37913 (nextchar): Likewise.
37914 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37915 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37916 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37917 (current_menu): New variable.
37918 (free_menu): Mainly rewritten.
37919 (grub_normal_menu_addentry): New function.
37920 (read_config_file): Rewritten.
37921 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 37922 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 37923 the menu entry.
37924 (run): Mainly rewritten.
37925 * normal/parser.y (menu_entry): New variable.
37926 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37927 (menuentry): New rule.
37928 (command): Add `menuentry'.
37929 (if_statement): Allow additional returns before `fi'.
37930 * normal/script.c (grub_script_create_cmdmenu): New function.
37931
144f1f98 379322006-01-03 Marco Gerards <marco@gnu.org>
37933
37934 * INSTALL: GNU Bison is required.
37935 * configure.ac: Rewritten the test to detect Bison.
37936 * Makefile.in (YACC): New variable. Reported by Xun Sun
37937 <xun.sun.cn@gmail.com>.
37938
af4b2d89 379392006-01-03 Marco Gerards <marco@gnu.org>
37940
37941 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37942 the HFS+ filesystem to filesystem blocks.
37943 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37944 GCC warning is silenced.
37945
15643b71 379462006-01-03 Marco Gerards <marco@gnu.org>
37947
37948 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37949 read from disk from big endian to host byte order.
37950
00905879 379512006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37952
37953 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37954 documentation.
37955 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37956 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37957 embedded HFS+ filesystem.
37958 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37959 (grub_hfs_sblock): Move from here...
37960 * include/grub/hfs.h: To here... New file.
37961 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37962 documentation.
37963 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37964 New macros.
37965 (grub_hfsplus_volheader): Change type of member `magic' to
37966 `grub_uint16_t'.
37967 (grub_hfsplus_data): Add new member `embedded_offset'.
37968 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37969 returned block.
37970 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37971 Calculate the offset.
37972
8899bc3e 379732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37974
37975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37976 Removed.
37977 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37978
ae8c0277 379792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37980
37981 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37982 ENV->NAME is NULL after allocating ENV->VALUE.
37983
07084456 379842005-12-25 Marco Gerards <marco@gnu.org>
37985
37986 * kern/env.c (grub_env_set): Rewritten the error handling code.
37987
4750f5f1 379882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37989
37990 * geninit.sh: Made more robust, and more portable.
37991
50214199 379922005-12-25 Marco Gerards <marco@gnu.org>
37993
37994 Add support for Apple HFS+ filesystems.
f19dbdb7 37995
50214199 37996 * fs/hfsplus.c: New file.
37997
37998 * DISTLIST: Added `fs/hfsplus.c'.
37999
38000 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38001 (hfsplus_mod_SOURCES): New variable.
38002 (hfsplus_mod_CFLAGS): Likewise.
38003 (hfsplus_mod_LDFLAGS): Likewise.
38004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38005 (grub_setup_SOURCES): Likewise.
38006 (grub_mkdevicemap_SOURCES): Likewise.
38007 (grub_emu_SOURCES): Likewise.
38008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38009
38010 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38011
38012 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38013
befaed6c 380142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38015
38016 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38017 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38018 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38019 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38020 normal/lexer.c, normal/parser.y, normal/script.c, and
38021 partmap/gpt.c.
38022 Removed kern/sparc64/cache.c.
38023
38024 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38025 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38026 grub_emu_init.c.
38027
38028 * configure.ac (AC_INIT): Bumped to 1.92.
38029
6a124103 380302005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38031
38032 * kern/err.c (grub_error_push): Added new function to support error
38033 stacks.
38034 (grub_error_pop): Likewise.
38035 (grub_error_stack_items): New local variable to support error stacks.
38036 (grub_error_stack_pos): Likewise.
38037 (grub_error_stack_assert): Likewise.
38038 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38039 stack depth.
38040 (grub_print_error): Added support to print errors from error stack.
38041
38042 * include/grub/err.h (grub_error_push): Added function prototype.
38043 (grub_error_pop): Likewise.
38044
be973c1b 380452005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38046
38047 * configure.ac: Accept `powerpc64' as host_cpu.
38048 (amd64): Rename to `biarch32'.
38049
38050 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38051 non-cacheline-aligned addresses.
38052
38053 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38054 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38055 if `size' is non-zero.
38056
b04216ab 380572005-12-03 Marco Gerards <mgerards@xs4all.nl>
38058
38059 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38060 and `cd' to make sure the filename is not prefixed with a
38061 directory name.
38062 (pkgdata_MODULES): Add `gpt.mod'.
38063 (gpt_mod_SOURCES): New variable.
38064 (gpt_mod_CFLAGS): Likewise.
38065 (gpt_mod_LDFLAGS): Likewise.
38066
38067 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38068
38069 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38070 New macro.
38071
38072 * partmap/gpt.c: New file.
38073
38074 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38075 GPT partition map is detected.
38076
41730ed9 380772005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38078
38079 * commands/i386/pc/play.c: New file.
38080 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38081 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38082 macros.
f19dbdb7 38083
95dc3643 380842005-11-27 Marco Gerards <mgerards@xs4all.nl>
38085
38086 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38087 ((unused))' to silence gcc warning.
38088
1569ec51 380892005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38090
38091 * configure.ac: Correct `AC_PROG_YACC' test.
38092
9abde152 380932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38094
38095 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38096 check before installing files.
38097
44b83271 380982005-11-22 Mike Small <smallm@panix.com>
38099
38100 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38101 number regex so multidigit numbers are recognized correctly.
38102
381032005-11-22 Mike Small <smallm@panix.com>
38104
38105 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38106 debugging message before attempting to claim memory.
38107 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38108 multiple addresses in case of failure.
38109
9c12956b 381102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38111
38112 * term/tparm.c (get_space): Remove empty `if' statement.
38113
38114 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38115
38116 * kern/parser.c (check_varstate): Rename `state' to 's'.
38117
aeaf81d9 381182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38119
38120 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38121 variable definitions to the beginning of each function. Sort stack
38122 variables by size.
38123 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38124 `buf' argument to `char *'.
38125
79bbb63f 381262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38127
38128 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38129 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38130 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38131 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38132 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38133 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38134 configfile.mod, search.mod, gzio.mod and test.mod.
38135 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38136 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38137 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38138 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38139 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38140 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38141 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38142 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38143 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38144 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38145 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38146 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38147 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38148 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38149 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38150 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38151 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38152 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38153 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38154 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38155 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38156 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38157 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38158
38159 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38160 `grep --include'.
38161 (pkgdata_MODULES): Add test.mod.
38162
233b1628 381632005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38164
38165 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38166 appending to variables with "+=".
38167 (PModule): Use full pathname to generate *.lst filenames.
38168
38169 * Makefile.in: Fixed list rules moved from genmk.rb.
38170 (.DELETE_ON_ERROR): New special target.
38171 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38172
38173 * conf/i386-pc.rmk: Include conf/common.mk.
38174 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38175 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38176 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38177 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38178 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38179 configfile.mod, search.mod, gzio.mod and test.mod.
38180 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38181 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38182 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38183 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38184 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38185 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38186 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38187 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38188 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38189 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38190 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38191 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38192 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38193 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38194 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38195 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38196 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38197 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38198 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38199 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38200 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38201 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38202 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38203 here...
38204 * conf/common.rmk: ... to here. New file.
38205
38206 * conf/common.mk: New file.
38207
16f820c8 382082005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38209
38210 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38211 (grub_script.tab.c): ... here.
38212
38213 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38214 (grub_script.tab.c): ... here.
38215
38216 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38217 (grub_script.tab.c): ... here.
38218
38219 * normal/command.c (grub_command_find): Fixed a memory leak of
38220 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38221
63ba1554 382222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38223
38224 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38225 "@" which marks the start of a comment on ARM.
38226 (VARIABLE): Likewise.
38227
7f67dc13 382282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38229
79bbb63f 38230 Add support for Linux/ADFS partition tables.
7f67dc13 38231
38232 * partmap/acorn.c: New file.
38233
38234 * include/grub/acorn_filecore.h: Likewise.
38235
38236 * DISTLIST: Added `partmap/acorn.c' and
38237 `include/grub/acorn_filecore.h'.
f19dbdb7 38238
7f67dc13 38239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38240 `partmap/acorn.c'.
38241 (pkgdata_MODULES): Add `acorn.mod'.
38242 (acorn_mod_SOURCES): New variable.
38243 (acorn_mod_CFLAGS): Likewise.
38244
38245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38246 `partmap/acorn.c'.
38247 (pkgdata_MODULES): Add `acorn.mod'.
38248 (acorn_mod_SOURCES): New variable.
38249 (acorn_mod_CFLAGS): Likewise.
38250
38251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38252 (pkgdata_MODULES): Add `acorn.mod'.
38253 (acorn_mod_SOURCES): New variable.
38254 (acorn_mod_CFLAGS): Likewise.
38255 (acorn_mod_LDFLAGS): Likewise.
38256
38257 * include/types.h (grub_disk_addr_t): New typedef.
38258
6d099807 382592005-11-13 Marco Gerards <mgerards@xs4all.nl>
38260
38261 * geninit.sh: New file.
38262
38263 * geninitheader.sh: Likewise.
38264
38265 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38266 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38267 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38268 * commands/configfile.c (grub_configfile_init)
38269 (grub_configfile_fini): Likewise.
38270 * commands/default.c (grub_default_init, grub_default_fini):
38271 Likewise.
38272 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38273 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38274 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38275 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38276 Likewise.
38277 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38278 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38279 Likewise.
38280 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38281 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38282 Likewise.
38283 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38284 Likewise.
fe6b695a 38285 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38286 Likewise.
38287 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38288 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38289 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38290 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38291 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38292 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38293 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38294 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38295 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38296 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38297 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38298 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38299 * partmap/amiga.c (grub_amiga_partition_map_init)
38300 (grub_amiga_partition_map_fini): Likewise.
38301 * partmap/apple.c (grub_apple_partition_map_init)
38302 (grub_apple_partition_map_fini): Likewise.
38303 * partmap/pc.c (grub_pc_partition_map_init)
38304 (grub_pc_partition_map_fini): Likewise.
38305 * partmap/sun.c (grub_sun_partition_map_init,
38306 grub_sun_partition_map_fini): Likewise.
38307 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38308 Likewise.
38309
38310 * util/grub-emu.c: Include <grub_modules_init.h>.
38311 (main): Don't initialize and de-initialize any modules directly,
38312 use `grub_init_all' and `grub_fini_all' instead.
38313
38314 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38315 `grub_vesafb_mod_init'.
38316 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38317 all users.
38318 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38319 `grub_vga_mod_init'. Updated all users.
38320 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38321
6d099807 38322 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38323 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38324 rules.
38325
38326 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38327 Generate a function to initialize the module in utilities.
38328 Updated all callers.
38329 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38330 initialize the module in utilities. Updated all callers.
38331
9046bcf0 383322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38333
38334 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38335 escape sequence and a literal ^L to clear the screen.
38336
38337 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38338 when returning from Open Firmware.
38339
d13ea639 383402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38341
38342 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38343 (grub_ofconsole_height): Likewise.
38344 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38345 manually insert a '\n'.
38346 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38347 `grub_ofconsole_height'. Return early if these are already set.
38348
a8fcf206 383492005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38350
38351 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38352 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38353 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38354 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38355 and `normal/script.c'.
38356 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38357 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38358 (test_mod_SOURCES): New variable.
38359 (test_mod_CFLAGS): Likewise.
38360 (test_mod_LDFLAGS): Likewise.
38361 (pkgdata_MODULES): Add `test.mod'.
38362 (grub_script.tab.c): New rule.
38363 (grub_script.tab.h): Likewise.
38364
b6b32745 383652005-11-07 Marco Gerards <mgerards@xs4all.nl>
38366
38367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38368 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38369 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38370 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38371 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38372 (test_mod_SOURCES): New variable.
38373 (test_mod_CFLAGS): Likewise.
38374 (pkgdata_MODULES): Add `test.mod'.
38375 (grub_script.tab.c): New rule.
38376 (grub_script.tab.h): Likewise.
38377
daac212a 383782005-11-06 Marco Gerards <mgerards@xs4all.nl>
38379
38380 Add initial scripting support.
38381
38382 * commands/test.c: New file.
38383 * include/grub/script.h: Likewise.
38384 * normal/execute.c: Likewise.
38385 * normal/function.c: Likewise.
38386 * normal/lexer.c: Likewise.
38387 * normal/parser.y: Likewise.
38388 * normal/script.c: Likewise.
38389
38390 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38391
daac212a 38392 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38393 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38394 `normal/function.c' and `normal/script.c'.
38395 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38396 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 38397 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38398 variables.
daac212a 38399 (pkgdata_MODULES): Add `test.mod'.
38400 (grub_script.tab.c): New rule.
38401 (grub_script.tab.h): Likewise.
38402
38403 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38404
38405 * include/grub/normal.h (grub_test_init): New prototype.
38406 (grub_test_fini): Likewise.
f19dbdb7 38407
daac212a 38408 * normal/command.c: Include <grub/script.h>.
38409 (grub_command_execute): Rewritten.
f19dbdb7 38410
daac212a 38411 * util/grub-emu.c (main): Call `grub_test_init' and
38412 `grub_test_fini'.
38413
77500b2b 384142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38415
38416 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38417 to 0.
38418 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38419 there are no pending characters.
38420
e45deb9e 384212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38422
38423 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38424 `grub_strndup' to drop device arguments. Replace unnecessary
38425 `grub_strndup' with `grub_strdup'.
38426
4ce32619 384272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38428
38429 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38430 `debug' environment variable has been set.
38431
384322005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38433
4ce32619 38434 * Makefile.in (install-local): Use $(DATA).
38435 (uninstall): Likewise.
38436 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38437 (sbin_UTILITIES): ... to here.
38438 (sbin_SCRIPTS): New variable.
38439 (grub_install_SOURCES): New variable.
38440 * util/powerpc/ieee1275/grub-install.in: New file.
38441 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38442 variable.
38443 (add_segments): Call `grub_util_get_path'.
38444
25fe6f03 384452005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38446
38447 From Timothy Baldwin:
38448 * commands/ls.c (grub_ls_list_files): Close FILE with
38449 grub_file_close.
38450 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38451
04ccf3ec 384522005-10-24 Marco Gerards <mgerards@xs4all.nl>
38453
38454 * include/grub/parser.h: New file.
38455
38456 * kern/parser.c: Likewise.
38457
38458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38459 (grub_setup_SOURCES): Likewise.
38460 (grub_probefs_SOURCES): Likewise.
38461 (grub_emu_SOURCES): Likewise.
38462 (kernel_img_HEADERS): Add `parser.h'.
38463
38464 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38465 (grub_emu_SOURCES): Add `kern/parser.c'.
38466 (grubof_SOURCES): Likewise.
38467
38468 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38469 (grubof_SOURCES): Add `kern/parser.c'.
38470
38471 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38472
38473 * kern/misc.c (grub_split_cmdline): Removed function.
38474
38475 * kern/rescue.c: Include <grub/parser.h>.
38476 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38477 of `grub_split_cmdline'.
38478
38479 * normal/command.c: Include <grub/parser.h>.
38480 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38481 of `grub_split_cmdline'.
38482
38483 * normal/completion.c: Include <grub/parser.h>.
38484 (cmdline_state): New variable.
38485 (iterate_dir): End the filename with a quote depending on the
38486 command line state.
38487 (get_state): new function.
38488 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38489 split the arguments and determine the current argument. When the
38490 argument string is not quoted, escape all spaces.
38491
6d8f4b0e 384922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38493
38494 * normal/sparc64/setjmp.S: New file.
38495
15cf03ed 384962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38497
38498 * include/grub/sparc64/libgcc.h: New file.
38499 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38500 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38501 normal/sparc64/setjmp.c.
38502
03e8661a 385032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38504
38505 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38506 * kern/sparc64/cache.S: New file.
38507 * kern/sparc64/cache.c: Removed.
38508 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38509 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38510 -mtune=ultrasparc.
38511 (COMMON_LDFLAGS): Add -melf64_sparc.
38512 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38513 (grubof_SOURCES): Use cache.S instead of cache.c.
38514 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38515 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38516 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38517 commented though.
38518 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38519 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38520 (linux_mod_CFLAGS): Commented out.
38521 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38522 out because module isn't built.
38523 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38524 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38525 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38526 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38527 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38528 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38529 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38530 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38531 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38532 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38533 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38534 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38535 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38536 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38537
34eeec8a 385382005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38539
38540 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38541 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38542 longer, because HFS should not be used on PC.
38543
708367a3 385442005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38545
38546 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38547 consistently within the loop.
38548
6fa1251a 385492005-10-15 Marco Gerards <mgerards@xs4all.nl>
38550
38551 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38552 directory can not be read.
38553
4801580b 385542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38555
38556 * configure.ac (AC_INIT): Increase the version number to 1.91.
38557
38558 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38559 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38560 term/i386/pc/serial.c.
38561
219ad426 385622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38563
38564 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38565 file size must be permitted.
38566
38567 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38568 between %ah and %al.
38569
688e5699 385702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38571
38572 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38573 grub_uint64_t.
38574 Call the hook with a NUL-terminated filename.
38575 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38576 grub_cpu_to_be32.
38577
38578 * kern/term.c (cursor_state): New variable.
38579 (grub_term_set_current): Reset the cursor state on a new
38580 terminal.
38581 (grub_setcursor): Rewritten to use CURSOR_STATE.
38582 (grub_getcursor): New function.
38583
38584 * include/grub/term.h (grub_getcursor): New prototype.
38585
38586 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38587 integers on ARM. Reported by Timothy Baldwin
38588 <T.E.Baldwin99@members.leeds.ac.uk>.
38589
bb34586c 385902005-10-11 Marco Gerards <mgerards@xs4all.nl>
38591
38592 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38593 allocated.
38594 (grub_sfs_dir): Likewise.
38595
9a909877 385962005-10-09 Marco Gerards <mgerards@xs4all.nl>
38597
38598 Add support for the SFS filesystem.
38599
38600 * fs/sfs.c: New file.
38601
38602 * DISTLIST: Added `fs/sfs.c'.
38603
38604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38605 (grub_probefs_SOURCES): Likewise.
38606 (grub_emu_SOURCES): Likewise.
38607 (pkgdata_MODULES): Add `sfs.mod'.
38608 (sfs_mod_SOURCES): New variable.
38609 (sfs_mod_CFLAGS): Likewise.
38610 (sfs_mod_LDFLAGS): Likewise.
38611
38612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38613 (pkgdata_MODULES): Add `sfs.mod'.
38614 (sfs_mod_SOURCES): New variable.
38615 (sfs_mod_CFLAGS): Likewise.
38616
38617 * util/grub-emu.c (main): Call `grub_sfs_init' and
38618 `grub_sfs_fini'.
38619
38620 * include/grub/fs.h (grub_sfs_init): New prototype.
38621 (grub_sfs_fini): Likewise.
38622
57bdbde3 386232005-10-07 Marco Gerards <mgerards@xs4all.nl>
38624
38625 Add support for the AFFS filesystem.
38626
38627 * fs/affs.c: New file.
38628
38629 * DISTLIST: Added `fs/affs.c'.
38630
38631 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38632 (grub_probefs_SOURCES): Likewise.
38633 (grub_emu_SOURCES): Likewise.
38634 (pkgdata_MODULES): Add `affs.mod'.
38635 (affs_mod_SOURCES): New variable.
38636 (affs_mod_CFLAGS): Likewise.
38637 (affs_mod_LDFLAGS): Likewise.
38638
38639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38640 (pkgdata_MODULES): Add `affs.mod'.
38641 (affs_mod_SOURCES): New variable.
38642 (affs_mod_CFLAGS): Likewise.
38643
38644 * util/grub-emu.c (main): Call `grub_affs_init' and
38645 `grub_affs_fini'.
38646
38647 * include/grub/fs.h (grub_affs_init): New prototype.
38648 (grub_affs_fini): Likewise.
38649
047b67e0 386502005-10-01 Marco Gerards <mgerards@xs4all.nl>
38651
38652 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38653
59b8208a 386542005-10-01 Marco Gerards <mgerards@xs4all.nl>
38655
38656 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38657 `-m32' to CFLAGS.
38658
38659 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38660 linking.
f19dbdb7 38661
59b8208a 38662 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38663 (COMMON_LDFLAGS): New variable.
38664 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38665 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38666 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38667 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38668 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38669 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38670 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38671 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38672 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38673 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38674 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38675 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38676 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38677 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38678 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38679 variables.
38680 (normal_mod_ASFLAGS): Add `-m32'.
38681
38682 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38683 (grub_host_size_t, grub_host_ssize_t): New types.
38684 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 38685 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 38686 `GRUB_HOST_SIZEOF_VOID_P'.
38687
38688 * include/grub/kernel.h (struct grub_module_header): Type of
38689 member offset changed to `grub_host_off_t'. Type of member size
38690 changed to `grub_host_size_t'.
38691 (struct grub_module_info): Type of member offset changed to
38692 `grub_host_off_t'. Type of member size changed to
38693 `grub_host_size_t'.
38694
b4093103 386952005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38696
38697 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 38698
b4093103 38699 * kern/i386/pc/startup.S (multiboot_header): New label.
38700 (multiboot_entry): Likewise.
38701 (multiboot_trampoline): Likewise.
38702
38703 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38704 Increased to 0x4A0.
38705
38706 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38707 put parentheses after a question mark.
38708 [!GRUB_UTIL] (my_mod): New variable.
38709
38710 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38711
b2499b29 387122005-09-28 Marco Gerards <mgerards@xs4all.nl>
38713
38714 Adds support for the XFS filesystem. Btrees are not supported
38715 yet.
38716
38717 * fs/xfs.c: New file.
38718
38719 * DISTLIST: Added `fs/xfs.c'.
38720
38721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
38722 (grub_probefs_SOURCES): Likewise.
38723 (grub_emu_SOURCES): Likewise.
38724 (pkgdata_MODULES): Add `xfs.mod'.
38725 (xfs_mod_SOURCES): New variable.
38726 (xfs_mod_CFLAGS): Likewise.
38727
38728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
38729 (pkgdata_MODULES): Add `xfs.mod'.
38730 (xfs_mod_SOURCES): New variable.
38731 (xfs_mod_CFLAGS): Likewise.
38732
38733 * util/grub-emu.c (main): Call `grub_xfs_init' and
38734 `grub_xfs_fini'.
38735
38736 * include/grub/fs.h (grub_xfs_init): New prototype.
38737 (grub_xfs_fini): Likewise.
38738
f19dbdb7 38739
83d37a62 387402005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
38741
38742 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
38743 color modes, allow greater than 16 colors to be configured as
38744 a default palette.
38745
47d2d65e 387462005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38747
38748 * normal/completion.c (complete_arguments): Add the qualifier
38749 const into OPTIONS.
38750
38751 From Omniflux <omniflux+lists@omniflux.com>:
38752 * include/grub/terminfo.h: New file.
38753 * include/grub/tparm.h: Likewise.
38754 * include/grub/i386/pc/serial.h: Likewise.
38755 * term/terminfo.c: Likewise.
38756 * term/tparm.c: Likewise.
38757 * term/i386/pc/serial.c: Likewise.
38758 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
38759 serial.mod.
38760 (terminfo_mod_SOURCES): New variable.
38761 (terminfo_mod_CFLAGS): Likewise.
38762 (serial_mod_SOURCES): Likewise.
38763 (serial_mod_CFLAGS): Likewise.
38764
48b671ff 387652005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
38766
38767 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
38768 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
38769 and kern/powerpc/ieee1275/cmain.c, respectively.
38770
38771 * boot/powerpc/ieee1275/crt0.S: Moved to ...
38772 * kern/powerpc/ieee1275/crt0.S: ... here.
38773
38774 * boot/powerpc/ieee1275/cmain.c: Moved to ...
38775 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 38776
48b671ff 38777 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
38778 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
38779 instead of boot/powerpc/ieee1275/crt0.S and
38780 boot/powerpc/ieee1275/cmain.c, respectively.
38781
38782 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
38783 sectors. It was not used anyway.
38784
09fc77a7 387852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38786
38787 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
38788 `unused parameter' warning.
38789
003789c7 387902005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38791
38792 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
38793 function.
38794 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
38795 getcharwidth.
38796
67f44c86 387972005-08-28 Marco Gerards <metgerards@student.han.nl>
38798
38799 * include/grub/normal.h (enum grub_completion_type): Added
38800 `GRUB_COMPLETION_TYPE_ARGUMENT'.
38801
38802 * normal/cmdline.c (print_completion): Handle
38803 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
38804 * normal/menu_entry.c (store_completion): Likewise.
38805
38806 * normal/completion.c (complete_arguments): New function.
38807 (grub_normal_do_completion): Call `complete_arguments' when the
38808 current words start with a dash.
38809
0b5abe02 388102005-08-27 Marco Gerards <metgerards@student.han.nl>
38811
38812 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
38813 `gzio.mod' instead of `io.mod').
38814
d9864ee1 388152005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
38816
38817 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
38818 (DISTDIRS): Added io and video.
38819 Rewrite the search routine to make an output consistently.
38820
38821 * DISTLIST: Added conf/sparc64-ieee1275.mk,
38822 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
38823 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
38824 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
38825 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
38826 util/powerpc/ieee1275/misc.c.
f19dbdb7 38827
d9864ee1 38828 * include/grub/gzio.h: New file.
38829 * io/gzio.c: Likewise.
f19dbdb7 38830
d9864ee1 38831 * kern/file.c (grub_file_close): Call grub_device_close only if
38832 FILE->DEVICE is not NULL.
38833
38834 * include/grub/mm.h [!NULL] (NULL): New macro.
38835
38836 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
38837
38838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
38839 (pkgdata_MODULES): Added gzio.mod.
38840 (gzio_mod_SOURCES): New variable.
38841 (gzio_mod_CFLAGS): Likewise.
38842
38843 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
38844 (pkgdata_MODULES): Added gzio.mod.
38845 (gzio_mod_SOURCES): New variable.
38846 (gzio_mod_CFLAGS): Likewise.
38847
38848 * commands/cat.c: Include grub/gzio.h.
38849 (grub_cmd_cat): Use grub_gzfile_open instead of
38850 grub_file_open.
f19dbdb7 38851
d9864ee1 38852 * commands/cmp.c: Include grub/gzio.h.
38853 (grub_cmd_cmp): Use grub_gzfile_open instead of
38854 grub_file_open.
38855
38856 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
38857 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
38858 grub_file_open.
38859 (grub_rescue_cmd_module): Likewise.
38860
fa46f4b5 388612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38862
38863 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
38864 kern/sparc64/ieee1275/init.c because it contains _start.
38865 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
38866
e9211b5d 388672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38868
38869 * configure.ac: Add support for sparc64 host with ieee1275
38870 firmware.
38871 * configure: Generated from configure.ac.
38872 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
38873 instead of int.
38874 (grub_ofdisk_read): Likewise.
38875 (grub_ofdisk_open): Use %p to print pointer values, and cast the
38876 pointers as (void *) to remove a warning.
38877 (grub_ofdisk_close): Likewise.
38878 (grub_ofdisk_read): Likewise.
38879 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38880 returns, so make it return void to remove a warning.
38881 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38882 Corresponding prototype change.
38883 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38884 values, and cast the pointers as (void *) to remove a warning.
38885 (grub_mm_dump): Likewise.
38886 * conf/sparc64-ieee1275.mk: New file.
38887 * conf/sparc64-ieee1275.rmk: Likewise.
38888 * include/grub/sparc64/setjmp.h: Likewise.
38889 * include/grub/sparc64/types.h: Likewise.
38890 * include/grub/sparc64/ieee1275/console.h: Likewise.
38891 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38892 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38893 * include/grub/sparc64/ieee1275/time.h: Likewise.
38894 * kern/sparc64/cache.c: Likewise.
38895 * kern/sparc64/dl.c: Likewise.
38896 * kern/sparc64/ieee1275/init.c: Likewise.
38897 * kern/sparc64/ieee1275/openfw.c: Likewise.
38898
385c6a92 388992005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38900
38901 * util/console.c (grub_ncurses_putchar): If C is greater than
38902 0x7f, set C to a question mark.
38903 (grub_ncurses_getcharwidth): New function.
38904 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38905 getcharwidth.
38906
38907 * normal/menu.c (print_entry): Made aware of Unicode. First,
38908 convert TITLE to UCS-4, and predict the cursor position by
38909 grub_getcharwidth.
38910
38911 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38912 const to SRC.
38913 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38914
16ccb8b1 389152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38916
38917 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38918 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38919 grub_strcat.
38920
38921 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38922 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38923 grub_strcpy and grub_strlen. Take it into account that a space
38924 character is inserted as a delimiter.
38925
6a85ce79 389262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38927
38928 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 38929 invalid magic in the error.
6a85ce79 38930
38931 * commands/search.c: New file.
f19dbdb7 38932
6a85ce79 38933 * util/grub-emu.c (main): Call grub_search_init and
38934 grub_search_fini.
38935
38936 * kern/rescue.c (grub_rescue_print_disks): Removed.
38937 (grub_rescue_print_devices): New function.
38938 (grub_rescue_cmd_ls): Use grub_device_iterate with
38939 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38940 grub_rescue_print_disks.
38941
38942 * kern/partition.c (grub_partition_iterate): Return the result of
38943 PARTMAP->ITERATE instead of GRUB_ERRNO.
38944
38945 * kern/device.c: Include grub/partition.h.
38946 (grub_device_iterate): New function.
38947
38948 * include/grub/partition.h (grub_partition_iterate): Return int
38949 instead of grub_err_t.
38950
38951 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38952 prototype.
38953 [GRUB_UTIL] (grub_search_fini): Likewise.
38954
38955 * include/grub/device.h (grub_device_iterate): New prototype.
38956
38957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38958 commands/search.c.
38959 (pkgdata_MODULES): Added search.mod.
38960 (search_mod_SOURCES): New variable.
38961 (search_mod_CFLAGS): Likewise.
38962
38963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38964 (pkgdata_MODULES): Added search.mod.
38965 (search_mod_SOURCES): New variable.
38966 (search_mod_CFLAGS): Likewise.
38967
38968 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38969 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38970 All callers changed.
38971
38972 * DISTLIST: Added commands/search.c.
38973
ef095434 389742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38975
38976 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38977 conversion.
38978 (grub_getcharwidth): New function.
38979
38980 * kern/misc.c (grub_utf8_to_ucs4): New function.
38981
38982 * include/grub/term.h (struct grub_term): Added a new member
38983 "getcharwidth".
38984 (grub_getcharwidth): New prototype.
38985
38986 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38987
38988 * term/i386/pc/console.c (map_char): New function. Segregated from
38989 grub_console_putchar.
38990 (grub_console_putchar): Use map_char.
38991 (grub_console_getcharwidth): New function.
38992 (grub_console_term): Specified grub_console_getcharwidth as
38993 getcharwidth.
38994
38995 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38996 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38997
38998 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38999 GRUB_ERRNO.
39000 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39001 on grub_strtoul completely.
39002 (write_char): Declare local variables in the beginning of the
39003 function.
39004 (grub_vesafb_getcharwidth): New function.
39005 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39006 getcharwidth.
39007
1f0a95e4 390082005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39009
39010 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39011 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39012 commands/i386/pc/vbetest.c.
39013
39014 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39015 call grub_vbe_get_controller_info again, because the returned
39016 information is volatile.
39017 (grub_vbe_set_video_mode): Mostly rewritten.
39018 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39019 grub_vbe_status_t correctly.
39020 (grub_vbe_get_video_mode_info): Likewise.
39021 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39022 several if statements.
39023
39024 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39025 * commands/i386/pc/vbeinfo.c: ... this.
39026
39027 * commands/i386/pc/vbe_test.c: Renamed to ...
39028 * commands/i386/pc/vbetest.c: ... this.
39029
39030 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39031 ...
39032 (grub_cmd_vbeinfo): ... this. Save video modes before
39033 iterating. Skip a video mode, if it is not available, not enough
39034 information is given or it is monochrome. Show the memory
39035 model. Leave the interpretation of MODEVAR to grub_strtoul
39036 completely.
39037 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39038 (GRUB_MOD_FINI): Likewise.
39039
39040 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39041 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39042 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39043 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39044 grub_strtoul completely.
39045 (real2pm): Removed.
39046 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39047 (GRUB_MOD_FINI): Likewise.
39048
39049 * normal/misc.c: Include grub/mm.h.
39050
39051 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39052 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39053 (vbe_list_modes_mod_SOURCES): Removed.
39054 (vbe_list_modes_mod_CFLAGS): Likewise.
39055 (vbe_test_mod_SOURCES): Likewise.
39056 (vbe_test_mod_CFLAGS): Likewise.
39057 (vbeinfo_mod_SOURCES): New variable.
39058 (vbeinfo_mod_CFLAGS): Likewise.
39059 (vbetest_mod_SOURCES): Likewise.
39060 (vbetest_mod_CFLAGS): Likewise.
39061
992ffbbe 390622005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39063
39064 * normal/misc.c: New file.
39065
39066 * DISTLIST: Added normal/misc.c.
f19dbdb7 39067
992ffbbe 39068 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39069 DISK to HOOK. Call HOOK with DISK.
39070 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39071 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39072 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39073
39074 * normal/menu_entry.c (struct screen): Added a new member
39075 "completion_shown".
39076 (completion_buffer): New global variable.
39077 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39078 (store_completion): New function.
39079 (complete): Likewise.
39080 (clear_completions): Likewise.
39081 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39082 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39083 a tab, call complete.
39084
39085 * normal/completion.c (disk_dev): Removed.
39086 (print_simple_completion): Likewise.
39087 (print_partition_completion): Likewise.
39088 (print_func): New global variable.
39089 (add_completion): Do not take the arguments WHAT or PRINT any
39090 longer. Added a new argument TYPE. Instead of printing directly,
39091 call PRINT_FUNC if not NULL.
39092 All callers changed.
39093 (complete_device): Use a local variable DEV instead of
39094 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39095 (grub_normal_do_completion): Take a new argument HOOK. Do not
39096 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39097 empty string, return NULL instead.
39098 All callers changed.
39099
39100 * normal/cmdline.c (print_completion): New function.
39101
39102 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39103 to HOOK.
39104 All callers changed.
39105
39106 * kern/disk.c (grub_print_partinfo): Removed.
39107
39108 * include/grub/partition.h (struct grub_partition_map): Add a new
39109 argument DISK into HOOK of ITERATE.
39110 (grub_partition_iterate): Add a new argument DISK to HOOK.
39111
39112 * include/grub/normal.h (enum grub_completion_type): New enum.
39113 (grub_completion_type_t): New type.
39114 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39115 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39116 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39117 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39118 (grub_normal_do_completion): Added a new argument HOOK.
39119 (grub_normal_print_device_info): New prototype.
39120
39121 * include/grub/disk.h (grub_print_partinfo): Removed.
39122
39123 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39124 (normal_mod_SOURCES): Likewise.
39125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39126 (normal_mod_SOURCES): Likewise.
39127
39128 * commands/ls.c (grub_ls_list_disks): Use
39129 grub_normal_print_device_info instead of grub_print_partinfo. Free
39130 PNAME.
39131 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39132 duplicating the code.
39133
0bd41162 391342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39135
39136 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39137 follow GCS more precisely.
39138 * commands/i386/pc/vbe_test.c: Likewise.
39139 * include/grub/i386/pc/vbe.h: Likewise.
39140 * term/i386/pc/vesafb.c: Likewise.
39141 * video/i386/pc/vbe.c: Likewise.
0bd41162 39142
6323696a 391432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39144
39145 * DISTLIST: Added term/i386/pc/vesafb.c
39146 DISTLIST: Added video/i386/pc/vbe.c
39147 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39148 DISTLIST: Added commands/i386/pc/vbe_test.c.
39149 * commands/i386/pc/vbe_list_modes.c: New file.
39150 * commands/i386/pc/vbe_test.c: Likewise.
39151 * term/i386/pc/vesafb.c: Likewise.
39152 * video/i386/pc/vbe.c: Likewise.
39153 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39154 (grub_vbe_probe) Added prototype.
39155 (grub_vbe_set_video_mode) Likewise.
39156 (grub_vbe_get_video_mode) Likewise.
39157 (grub_vbe_get_video_mode_info) Likewise.
39158 (grub_vbe_set_pixel_rgb) Likewise.
39159 (grub_vbe_set_pixel_index) Likewise.
39160 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39161 (pkgdata_MODULES): Added vesafb.mod.
39162 (pkgdata_MODULES): Added vbe_list_modes.mod.
39163 (pkgdata_MODULES): Added vbe_test.mod.
39164 (vbe_mod_SOURCES): Added.
39165 (vbe_mod_CFLAGS): Likewise.
39166 (vesafb_mod_SOURCES): Likewise.
39167 (vesafb_mod_CFLAGS): Likewise.
39168 (vbe_list_modes_mod_SOURCES): Likewise.
39169 (vbe_list_modes_mod_CFLAGS): Likewise.
39170 (vbe_test_mod_SOURCES): Likewise.
39171 (vbe_test_mod_CFLAGS): Likewise.
39172
0a74e62f 391732005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39174
0a74e62f 39175 * normal/command.c (grub_command_execute): If INTERACTIVE is
39176 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39177 CMDLINE. Disable the pager if INTERACTIVE is true.
39178 All callers are changed.
39179
39180 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39181 before reading a config file.
39182 * normal/main.c (read_config_file): Even if a command is not
39183 found, register it if it is within an entry.
39184
39185 * util/grub-emu.c: Include sys/types.h and unistd.h.
39186 (options): Added --hold.
39187 (struct arguments): Added a new member "hold".
39188 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39189 missing.
39190 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39191 cleared by a debugger, if it is not zero.
39192
39193 * include/grub/normal.h (grub_command_execute): Add an argument
39194 INTERACTIVE.
39195
e51f85ae 391962005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39197
39198 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39199
e9c6f39b 392002005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39201
39202 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39203 program with another one, because the old one didn't detect a bug
39204 in gcc-3.4. Always use regparm 2, because the new test is still
39205 not enough for gcc-4.0. Someone must investigate a simple test
39206 case which detects a bug in gcc-4.0.
39207
8de3495c 392082005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39209
39210 * DISTLIST: Added normal/completion.c.
39211
39212 * normal/completion.c: New file.
f19dbdb7 39213
8de3495c 39214 * term/i386/pc/console.c (grub_console_getwh): New function.
39215 (grub_console_term): Assign grub_console_getwh to getwh.
39216
39217 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39218 function is defined in normal/completion.c as
39219 grub_normal_do_completion.
39220 (grub_cmdline_get): Use grub_normal_do_completion instead of
39221 grub_tab_complete.
39222
39223 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39224 returns non-zero, otherwise return 0.
39225 (grub_partition_iterate): First, probe the partition map. Then,
39226 call ITERATE only for this partition map.
39227
39228 * kern/misc.c (grub_strncmp): Rewritten.
39229
39230 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39231 returns non-zero. Otherwise return 0.
39232
39233 * include/grub/partition.h (grub_partition_map_iterate): Return
39234 int instead of void.
39235
39236 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39237
39238 * include/grub/misc.h (grub_strncmp): Change the type of N to
39239 grub_size_t.
39240
39241 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39242 of void.
39243
39244 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39245 unsigned explicitly before comparing it with I.
8de3495c 39246
39247 * kern/main.c (grub_env_write_root): Add the attribute unused into
39248 VAR.
39249
39250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39251 normal/completion.c.
39252 (normal_mod_SOURCES): Likewise.
39253 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39254 (normal_mod_SOURCES): Likewise.
39255
39256 * normal/command.c (grub_iterate_commands): If ITERATE returns
39257 non-zero, return one immediately.
39258
e85e144b 392592005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39260
39261 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39262 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39263 descriptions.
39264 (grub_vbe_get_controller_info): New function.
39265 (grub_vbe_get_mode_info): Likewise.
39266 (grub_vbe_set_mode): Likewise.
39267 (grub_vbe_get_mode): Likewise.
39268 (grub_vbe_set_memory_window): Likewise.
39269 (grub_vbe_get_memory_window): Likewise.
39270 (grub_vbe_set_scanline_length): Likewise.
39271 (grub_vbe_get_scanline_length): Likewise.
39272 (grub_vbe_set_display_start): Likewise.
39273 (grub_vbe_get_display_start): Likewise.
39274 (grub_vbe_set_palette_data): Likewise.
39275 * include/grub/i386/pc/vbe.h: New file.
39276
c46153d2 392772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39278
39279 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39280 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39281 * DISTLIST: Likewise.
39282 * kern/ieee1275/of.c: Moved to ...
39283 * kern/ieee1275/ieee1275.c: ... here.
39284
0cb90c45 392852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39286
39287 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39288 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39289 Pass 0 as `end' parameter to grub_strtoul().
39290
a19fb360 392912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39292
39293 * include/grub/powerpc/ieee1275/console.h: Do not include
39294 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39295 ifdef.
39296 (grub_console_cur_color): Remove i386-specific prototype.
39297 (grub_console_real_putchar): Likewise.
39298 (grub_console_checkkey): Likewise.
39299 (grub_console_getkey): Likewise.
39300 (grub_console_getxy): Likewise.
39301 (grub_console_gotoxy): Likewise.
39302 (grub_console_cls): Likewise.
39303 (grub_console_setcursor): Likewise.
39304 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39305 Include <grub/machine/console.h>.
39306 * term/ieee1275/ofconsole.c: Likewise.
39307
4ac9bd04 393082005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39309
39310 * Makefile.in (LIBLZO): New variable.
39311
39312 * configure.ac: Check for LZO version 2.
39313
39314 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39315 lzo/lzo1x.h instead of lzo1x.h.
39316
39317 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39318 of -llzo.
39319
39320 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39321 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39322
39323 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39324 copying the data from PARTITION to P.
39325
f4917dfd 393262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39327
39328 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39329 negative, unload the module.
39330
39331 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39332 map is "pc_partition_map" but not "pc".
39333 (usage): Fix the description. The options are --boot-image and
39334 --core-image but not --boot-file or --core-file.
39335 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39336 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39337 DEFAULT_DIRECTORY.
39338
39339 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39340 --core-file. Specify INSTALL_DEVICE as an argument.
39341
39342 * util/console.c: Include config.h.
39343 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39344 [HAVE_NCURSES_H]: Include ncurses.h.
39345 [HAVE_CURSES_H]: Include curses.h.
39346 [!A_NORMAL] (A_NORMAL): Defined as zero.
39347 [!A_STANDOUT] (A_STANDOUT): Likewise.
39348
39349 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39350 -lncurses.
39351 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39352
39353 * configure.ac: Check for curses libraries and headers.
39354
39355 * Makefile.in (LIBCURSES): New variable.
39356
39357 * genmk.rb (Script::rule): Set the executable bits.
39358
39359 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39360 name of the PC partition map is "pc_partition_map" but not "pc".
39361
0e143073 393622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39363
39364 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39365 (modules): Likewise.
39366 (usage): Added descriptions for --modules and --grub-probefs.
39367 Handle --modules and --grub-probefs. Save the arguments in MODULES
39368 and GRUB_PROBEFS, respectively.
39369 Auto-detect a filesystem module against GRUBDIR. If the result is
39370 empty and modules are not specified explicitly, abort the
39371 installation. Add the result to MODULES.
39372
39373 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39374 disk/powerpc/ieee1275/ofdisk.c,
39375 include/grub/powerpc/ieee1275/init.h and
39376 term/powerpc/ieee1275/ofconsole.c.
39377 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39378 term/ieee1275/ofconsole.c.
39379
39380 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39381
39382 * COPYING: Upgraded to the latest version. Only the address of the
39383 FSF office has changed.
f19dbdb7 39384
efd6e6d5 393852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39386
39387 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39388 kern/ieee1275.c with kern/ieee1275/of.c.
39389
39390 * kern/ieee1275.c: Moved to ...
39391 * kern/ieee1275/of.c: ... here.
39392
8ceafda2 393932005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39394
39395 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 39396 readability.
8ceafda2 39397
39398 * config.guess: Updated to the latest version from gnulib.
39399 * config.sub: Likewise.
39400 * install.sh: Likewise.
39401 * mkinstalldirs: Likewise.
39402
39403 * include/grub/console.h: Removed. This file is arch-specific. Do
39404 not put this in include/grub.
39405
39406 * include/grub/i386/pc/console.h: Resurrected.
39407
39408 * util/console.c: Include grub/machine/console.h instead of
39409 grub/console.h.
39410 * util/grub-emu.c: Likewise.
39411
267f6cd9 394122005-08-04 Marco Gerards <metgerards@student.han.nl>
39413
39414 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39415 hardcoded value.
f19dbdb7 39416
267f6cd9 39417 From Vincent Pelletier <subdino2004@yahoo.fr>
39418 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39419 Redefined to use grub_getwh.
39420 (grub_term): New member named getwh.
39421 (grub_getwh): New prototype.
39422 * kern/term.c (grub_getwh): New function.
39423 * term/i386/pc/console.c (grub_console_getwh): New function.
39424 (grub_console_term): New member `getwh'.
39425 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39426 (grub_vga_term): New member `getwh'.
0b5abe02 39427 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 39428 grub_ssize_t.
39429 (grub_ofconsole_getw): New function.
39430 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39431 (grub_ofconsole_term): New field named getwh and new initial
39432 value.
39433
3be7266d 394342005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39435
39436 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39437 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39438 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39439 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39440 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39441 of <grub/machine/ieee1275.h>.
39442 * commands/ieee1275/reboot.c: Likewise.
39443 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39444 * kern/ieee1275.c: ... to here. All users updated. Change all
39445 parameter structs to use new type `grub_ieee1275_cell_t'.
39446 * term/powerpc/ieee1275/ofconsole.c: Move ...
39447 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39448 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39449 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39450 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39451 to return int.
39452 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39453 Remove unused prototypes. All users updated.
39454 * include/grub/powerpc/ieee1275/console.h: Removed.
39455 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39456 `grub_ieee1275_cell_t'.
39457 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39458 Cast comparisons with -1 to the correct type.
39459 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39460 type to match `grub_ieee1275_entry_fn'.
39461
8b5f3938 394622005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39463
39464 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39465
39466 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39467 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39468 partmap/sun.c.
39469 (grub_probefs_SOURCES): New variable.
39470
39471 * util/i386/pc/grub-probefs.c: New file.
39472
39473 * util/i386/pc/grub-setup.c (main): Call
39474 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39475 grub_hfs_init and grub_jfs_init to initialize the system. Call
39476 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39477 grub_pc_partition_map_fini to finish the system.
39478
ea409713 394792005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39480
39481 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39482 function.
39483 (grub_multiboot_load_elf32): Likewise.
39484 (grub_multiboot_is_elf64): Likewise.
39485 (grub_multiboot_load_elf64): Likewise.
39486 (grub_multiboot_load_elf): Likewise.
39487 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39488 an ELF32 or ELF64 file.
39489 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39490
39491 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39492 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39493 NULL before calling FS->LABEL.
39494 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39495 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39496 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39497 before calling FS->LABEL.
39498
141a288b 394992005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39500
39501 * util/i386/pc/grub-install.in (datadir): New variable.
39502 (libdir): Removed.
39503 (pkgdatadir): New variable.
39504 (pkglibdir): Removed.
39505
0d5f8a54 395062005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39507
39508 * DISTLIST: Added util/i386/pc/grub-install.in.
39509
39510 * util/i386/pc/grub-install.in: New file.
39511
39512 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39513 (grub_install_SOURCES): Likewise.
39514
39515 * genmk.rb: Added support for scripts.
39516 (Script): New class.
39517 (scripts): New variable.
39518
39519 * Makefile.in (install-local): Install sbin_SCRIPTS by
39520 INSTALL_SCRIPT.
39521 (uninstall): Remove sbin_SCRIPTS.
39522
39523 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39524 device, try to get a GRUB device by
39525 grub_util_biosdisk_get_grub_dev.
39526 Free DEST_DEV.
39527
39528 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39529 description for --device-map.
39530
5f968e1e 395312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39532
39533 Change the semantics of variable hooks. They now return strings
39534 instead of error values.
f19dbdb7 39535
5f968e1e 39536 * util/i386/pc/grub-setup.c: Include grub/env.h.
39537 (setup): Use grub_device_set_root instead of grub_env_set.
39538
39539 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39540 grub_env_get instead of grub_device_set_root and
39541 grub_device_get_root, respectively.
39542
39543 * kern/main.c (grub_env_write_root): New function.
39544 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39545 grub_env_set instead of grub_device_set_root.
39546
39547 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39548 many variables.
39549 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39550 rather than calling ENV->WRITE_HOOK afterwards.
39551 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39552 passing a pointer of a pointer.
39553 (grub_register_variable_hook): Change the types of "read_hook" and
39554 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39555 respectively.
39556 Allocate the default empty string on the heap, because this string
39557 may be freed later.
39558
39559 * kern/device.c: Include grub/env.h.
39560 (grub_device_set_root): Removed.
39561 (grub_device_get_root): Likewise.
39562 (grub_device_open): Use grub_env_get instead of
39563 grub_device_get_root.
39564
39565 * include/grub/env.h (grub_env_read_hook_t): New type.
39566 (grub_env_write_hook_t): Likewise.
39567 (grub_env_var): Change the types of "read_hook" and "write_hook"
39568 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39569 (grub_register_variable_hook): Likewise.
39570
39571 * include/grub/device.h (grub_device_set_root): Removed.
39572 (grub_device_set_root): Likewise.
39573
39574 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39575 make sure that DIRNAME terminates with '/', so that
39576 grub_fat_find_dir will fail if PATH is not a directory.
39577
39578 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39579 from DIRNAME.
39580 Use the qualifier auto for print_files and print_files_long.
39581 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39582 as a regular file.
39583 Put a newline only if there is no error.
39584 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39585 used.
39586
896f0afd 395872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * kern/partition.c (grub_partition_probe): Initialize PART to
39590 NULL. Otherwise, when no partition map is registered, this returns
39591 a garbage.
39592
b28b81b2 395932005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39594
39595 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39596 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39597 valid.
39598
5f3607e0 395992005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39600
39601 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39602 information on each device, if it does not have partitions. Print
39603 "Device" instead of "Disk", because this function is not specific
39604 to disk devices.
39605
39606 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39607 static to ensure that it is put on the memory rather than a
39608 register.
39609
502c87e8 396102005-07-17 Yoshinori Okuji <okuji@enbug.org>
39611
39612 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39613 (grub_cat_init): Likewise.
39614 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39615 (options): Likewise.
39616 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39617 (grub_configfile_init): Likewise.
39618 * font/manager.c (GRUB_MOD_INIT): Likewise.
39619 * commands/help.c (GRUB_MOD_INIT): Likewise.
39620 (grub_help_init): Likewise.
39621 * normal/command.c (grub_command_init): Likewise.
39622 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39623 * disk/loopback.c (grub_loop_init): Likewise.
39624 (GRUB_MOD_INIT): Likewise.
39625 * commands/ls.c (grub_ls_init): Likewise.
39626 (GRUB_MOD_INIT): Likewise.
39627 (options): Likewise.
39628 * commands/boot.c (grub_boot_init): Likewise.
39629 (GRUB_MOD_INIT): Likewise.
39630 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39631 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39632 (GRUB_MOD_INIT): Likewise.
39633 * commands/cmp.c (grub_cmp_init): Likewise.
39634 (GRUB_MOD_INIT): Likewise.
39635
39636 * normal/arg.c: Use <> instead of "" to include header files.
39637 (SHORT_ARG_HELP): New macro.
39638 (SHORT_ARG_USAGE): Likewise.
39639 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39640 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
39641 descriptions.
39642 (find_short): Check if C is 'h' or 'u' explicitly.
39643 (grub_arg_show_help): Use space characters instead of tabs. Treat
39644 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
39645 are shown with --help and --usage only if they are not used for
39646 the command itself.
39647 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39648 'h' and 'u'.
39649
39650 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39651 const into "longarg". Change the type of "shortarg" to int.
39652
f806d18e 396532005-07-17 Yoshinori Okuji <okuji@enbug.org>
39654
39655 * boot/i386/pc/boot.S (boot_drive_check): New label.
39656
39657 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39658 macro.
39659
39660 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39661 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39662
e293232b 396632005-07-17 Yoshinori Okuji <okuji@enbug.org>
39664
39665 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39666 When turning off Gate A20, skip the check and return immediately,
39667 because this is not fatal usually.
39668
ebedfd00 396692005-07-17 Yoshinori Okuji <okuji@enbug.org>
39670
39671 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39672 be 0x7C00 instead of 0x8000.
39673
39674 * boot/i386/pc/pxeboot.S: Rewritten.
39675
39676 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39677 EXT_C.
39678 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39679 result.
39680
654fc59f 396812005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39682
39683 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39684 robustness. This routine now supports a BIOS call and System
39685 Control Port A to modify the gate A20.
39686
39687 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39688 Increased to 0x440.
39689
09f9923f 396902005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39691
39692 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39693 device path and resulting ihandle.
39694 (grub_ofdisk_close): dprintf the ihandle being closed.
39695 (grub_ofdisk_read): dprintf function parameters.
39696 * kern/mm.c (grub_mm_init_region): Likewise.
39697 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39698 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39699 size, and boot arguments.
39700 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39701 before loading into memory.
39702 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39703 before loading into memory.
39704
7ef504d8 397052005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39706
39707 * kern/mm.c: Added much documentation.
39708 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39709 8, set to 5 instead of 8.
39710
e0f050c2 397112005-07-10 Yoshinori Okuji <okuji@enbug.org>
39712
39713 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
39714
39715 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
39716 (grub_mkdevicemap_SOURCES): New variable.
39717
39718 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
39719 lib/device.c of GRUB Legacy.
39720
7224189a 397212005-07-10 Yoshinori Okuji <okuji@enbug.org>
39722
39723 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
39724 instead of PATH is NULL.
39725
68c864eb 397262005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
39727
39728 * commands/cmp.c (BUFFER_SIZE): New macro.
39729 (grub_cmd_cmp): Close the right file at the right time. Compare
39730 only data just read. Don't report files of different size as
39731 identical. Dynamically allocate buffers. Move variable
39732 declarations at the beginning of function.
39733
e6f3e614 397342005-07-09 Yoshinori Okuji <okuji@enbug.org>
39735
39736 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
39737 reverse.
39738
f8f1559a 397392004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
39740
39741 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
39742 when backspace is pressed at beginning of line.
39743
39c9d41d 397442005-07-03 Yoshinori Okuji <okuji@enbug.org>
39745
39746 * DISTLIST: Added genfslist.sh.
39747
39748 * normal/main.c (fs_module_list): New variable.
39749 (autoload_fs_module): New function.
39750 (read_fs_list): Likewise.
39751 (grub_normal_execute): Call read_fs_list.
39752
39753 * kern/fs.c (grub_fs_autoload_hook): New variable.
39754 (grub_fs_probe): Added support for auto-loading.
39755
39756 * include/grub/normal.h (struct grub_fs_module_list): New struct.
39757 (grub_fs_module_list_t): New type.
39758
39759 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
39760 (grub_fs_autoload_hook): New prototype.
39761
39762 * genfslist.sh: New file.
f19dbdb7 39763
39c9d41d 39764 * genmk.rb: Added a rule to generate a filesystem list.
39765
121c1d83 397662005-06-30 Marco Gerards <metgerards@student.han.nl>
39767
39768 * configure.ac: Fix the test for cross-compiling.
39769
39770 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
39771 define GRUB_UTIL anymore.
39772
39773 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
39774 so this function works on other systems than just big endian.
39775 (load_modules): Likewise.
39776 (add_segments): Likewise.
39777
e75d76e1 397782005-06-23 Hollis Blanchard <hollis@penguinppc.org>
39779
39780 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
39781 contains `l' modifier, get a long from va_arg().
39782
50b5a0a7 397832005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
39784
39785 * kern/mm.c (grub_free): If the next free block which is being
39786 merged is the first free block, set the first block to the block
39787 being freed.
39788 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
39789
89371b20 397902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39791
39792 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
39793 `grub_ieee1275_chosen'.
39794
168d6e58 397952005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39796
39797 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
39798 (grub_ieee1275_chosen): New variable.
39799 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
39800 `chosen'.
39801 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
39802 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39803 Rename first argument to `phandle' for consistency.
39804 (grub_ieee1275_get_property_length): Likewise.
39805 (grub_ieee1275_next_property): Likewise. Change type of first argument
39806 to grub_ieee1275_phandle_t.
39807 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
39808 Move export next to declaration.
39809 (grub_ieee1275_chosen): New variable.
39810 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
39811 Correct cosmetic typo.
39812 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
39813 `grub_ieee1275_chosen'.
39814 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
39815 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
39816 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
39817 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
39818 `grub_ieee1275_chosen'.
39819
ca5baa3f 398202005-05-10 Hollis Blanchard <hollis@penguinppc.org>
39821
39822 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
39823 /chosen/bootargs.
39824 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
39825 /chosen/bootargs as "variable=value" pairs.
39826
708b345f 398272005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
39828
39829 * include/grub/misc.h (grub_dprintf): New macro.
39830 (grub_real_dprintf): New prototype.
39831 (grub_strword): Likewise.
39832 (grub_iswordseparator): Likewise.
39833 * kern/misc.c (grub_real_dprintf): New function.
39834 (grub_strword): Likewise.
39835 (grub_iswordseparator): Likewise.
39836
f4c5e67c 398372005-04-30 Hollis Blanchard <hollis@penguinppc.org>
39838
39839 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
39840 (roundup): Remove macro.
39841 (grub_ieee1275_flags): Make static.
39842 (grub_ieee1275_realmode): Remove.
39843 (grub_ieee1275_test_flag): New function.
39844 (grub_ieee1275_set_flag): Likewise.
39845 (find_options): Rename to `grub_ieee1275_find_options'; update
39846 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
39847 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
39848 (cmain): New prototype.
39849 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
39850 `grub_ieee1275_flags' directly.
39851 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
39852 machine/biosdisk.h.
39853 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
39854 Don't include grub/machine/init.h.
39855 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
39856 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39857 Remove prototype.
39858 (grub_ieee1275_realmode): Likewise.
39859 (grub_ieee1275_flag): New enum.
39860 (grub_ieee1275_test_flag): New prototype.
39861 (grub_ieee1275_set_flag): New prototype.
39862 * include/grub/powerpc/ieee1275/init.h: Remove file.
39863 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
39864 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
39865 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
39866 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
39867 comment.
39868 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
39869 `grub_ieee1275_test_flag'.
39870 (grub_ieee1275_encode_devname): Likewise.
39871
ed16607e 398722005-04-21 Hollis Blanchard <hollis@penguinppc.org>
39873
39874 * include/grub/powerpc/ieee1275/ieee1275.h
39875 (grub_ieee1275_encode_devname): New prototype.
39876 (grub_ieee1275_get_filename): Likewise.
39877 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39878 function.
39879 (grub_set_prefix): Likewise.
39880 (grub_machine_init): Call grub_set_prefix.
39881 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39882 (grub_parse_type): New enum.
39883 (grub_ieee1275_get_devargs): New function.
39884 (grub_ieee1275_get_devname): Likewise.
39885 (grub_ieee1275_parse_args): Likewise.
39886 (grub_ieee1275_get_filename): Likewise.
39887 (grub_ieee1275_encode_devname): Likewise.
39888
be369920 398892005-03-30 Marco Gerards <metgerards@student.han.nl>
39890
39891 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39892 `grub_loader_unset'.
39893
a5ce3a4a 398942005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39895
39896 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39897 instead of grub_ieee1275_interpret.
39898 (grub_halt_init): New function.
39899 (grub_halt_fini): Likewise.
39900 (GRUB_MOD_INIT): Correct message grammar.
39901 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39902 instead of grub_ieee1275_interpret.
39903 (grub_reboot_init): New function.
39904 (grub_reboot_fini): Likewise.
39905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39906 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39907 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39908 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39909 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39910 function.
39911 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39912 Add prototype.
39913 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39914 prototype.
39915 (grub_halt): Likewise.
39916 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39917 (cmain): Remove __attribute__((unused)).
39918 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39919 (grub_heap_len): Likewise.
39920 (grub_machine_fini): New function.
39921 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39922 (grub_halt): Likewise.
39923 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39924 function.
39925 * util/powerpc/ieee1275/misc.c: New file.
39926
0058f771 399272005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39928
39929 * DISTLIST: New file.
39930 * gendistlist.sh: Likewise.
f19dbdb7 39931
0058f771 39932 * Makefile.in (COMMON_DISTFILES): Removed.
39933 (BOOT_DISTFILES): Likewise.
39934 (CONF_DISTFILES): Likewise.
39935 (DISK_DISTFILES): Likewise.
39936 (FS_DISTFILES): Likewise.
39937 (INCLUDE_DISTFILES): Likewise.
39938 (KERN_DISTFILES): Likewise.
39939 (LOADER_DISTFILES): Likewise.
39940 (TERM_DISTFILES): Likewise.
39941 (UTIL_DISTFILES): Likewise.
39942 (DISTFILES): Likewise.
39943 (uninstall): Uninstall files in $(pkgdata_DATA).
39944 (DISTLIST): New target.
39945 (distdir): Use the contents of the file DISTLIST to get a list of
39946 distributed files.
39947
46b3b8a5 399482005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39949
39950 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39951 descriptor. This is ported from GRUB Legacy.
39952
39953 * gencmdlist.sh: Added an extra semicolon to make it work with
39954 old sed versions. Reported by Robert Bihlmeyer
39955 <robbe@orcus.priv.at>.
39956
5822ff87 399572005-03-08 Yoshinori Okuji <okuji@enbug.org>
39958
39959 Automatic loading of commands is supported.
f19dbdb7 39960
5822ff87 39961 * normal/main.c (read_command_list): New function.
39962 (grub_normal_execute): Call read_command_list.
39963
39964 * normal/command.c (grub_register_command): Return zero or CMD.
39965 Allocate CMD->NAME from the heap.
39966 Initialize CMD->MODULE_NAME to zero.
39967 Find the same name as well. If the same command is found and it is
39968 a dummy command, overwrite members. If it is not a dummy command,
39969 return zero.
39970 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39971 (grub_command_find): If a dummy command is found, load a module
39972 and retry to find a command only once.
39973
39974 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39975 make sure that each command is loaded.
39976
39977 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39978 macro.
39979 (struct grub_command): Remove const from the member `name'.
39980 Add a new member `module_name'.
39981 (grub_register_command): Return grub_command_t.
39982
39983 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39984 sure that each command is loaded.
39985
39986 * genmk.rb (PModule::rule): Specify a module name without the
39987 suffix ".mod" to gencmdlist.sh.
39988
7b1f4b57 399892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39990
39991 * gencmdlist.sh: New file.
f19dbdb7 39992
7b1f4b57 39993 * genmk.rb (PModule::rule): Generate a rule for a command list.
39994 Clean command.lst.
39995 Generate command.lst from $(COMMANDFILES).
39996
39997 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39998 (DATA): Added $(pkgdata_DATA).
39999 (install-local): Install files in $(pkgdata_DATA).
40000
062aaf39 400012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40002
40003 * term/i386/pc/vga.c (debug_command): Removed.
40004 (GRUB_MOD_INIT): Do not register the command "debug".
40005
40006 From Hollis Blanchard:
40007 * commands/configfile.c: New file.
40008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40009 commands/configfile.c.
40010 (pkgdata_MODULES): Added configfile.mod.
40011 (configfile_mod_SOURCES): New variable.
40012 (configfile_mod_CFLAGS): Likewise.
40013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40014 commands/configfile.c.
40015 (pkgdata_MODULES): Added configfile.mod.
40016 (configfile_mod_SOURCES): New variable.
40017 (configfile_mod_CFLAGS): Likewise.
40018 * util/grub-emu.c (main): Call grub_configfile_init and
40019 grub_configfile_fini.
40020 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40021 prototype.
40022 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40023
cee01aa6 400242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40025
40026 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40027 address.
40028
40029 * commands/help.c (grub_cmd_help): Do not print newlines after
40030 the last command in print_command_help.
40031
93f3a1d8 400322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40033
40034 * commands/default.h: New file.
40035 * commands/timeout.h: Likewise.
40036 * normal/context.c: Likewise.
f19dbdb7 40037
93f3a1d8 40038 * util/misc.c: Do not include sys/times.h.
40039 Include sys/time.h and grub/machine/time.h.
40040 (grub_get_rtc): Rewritten with gettimeofday.
40041
40042 * util/grub-emu.c (main): Call grub_default_init and
40043 grub_timeout_init before grub_normal_init, and call
40044 grub_timeout_fini and grub_default_fini after grub_main.
40045
40046 * util/console.c (grub_ncurses_checkkey): Return the read
40047 character or -1.
40048
40049 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40050 timeouts.
40051
40052 * normal/main.c (read_config_file): Push MENU. If this fails,
40053 print an error and wait for a user input.
40054 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40055 If a menu is empty or an error occurs, pop MENU.
40056 (grub_normal_execute): Pop and free MENU after grub_menu_run
40057 returns.
40058
40059 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40060
40061 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40062 include time.h.
40063 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40064 without GRUB_UTIL.
40065 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40066 time.h.
40067 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40068 without GRUB_UTIL.
40069
40070 * include/grub/normal.h (struct grub_menu_list): New struct.
40071 (grub_menu_list_t): New type.
40072 (struct grub_context): New struct.
40073 (grub_context_t): New type.
40074 (grub_register_command): Got rid of EXPORT_FUNC.
40075 (grub_unregister_command): Likewise.
40076 (grub_context_get): New prototype.
40077 (grub_context_get_current_menu): Likewise.
40078 (grub_context_push_menu): Likewise.
40079 (grub_context_pop_menu): Likewise.
40080 [GRUB_UTIL] (grub_default_init): Likewise.
40081 [GRUB_UTIL] (grub_default_fini): Likewise.
40082 [GRUB_UTIL] (grub_timeout_init): Likewise.
40083 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40084
40085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40086 commands/timeout.c and normal/context.c.
40087 (pkgdata_MODULES): Added default.mod and timeout.mod.
40088 (normal_mod_SOURCES): Added normal/context.c.
40089 (default_mod_SOURCES): New variable.
40090 (default_mod_CFLAGS): Likewise.
40091 (timeout_mod_SOURCES): Likewise.
40092 (timeout_mod_CFLAGS): Likewise.
40093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40094 conf/i386-pc.rmk.
40095 (pkgdata_MODULES): Added default.mod and timeout.mod.
40096 (normal_mod_SOURCES): Added normal/context.c.
40097 (default_mod_SOURCES): New variable.
40098 (default_mod_CFLAGS): Likewise.
40099 (timeout_mod_SOURCES): Likewise.
40100 (timeout_mod_CFLAGS): Likewise.
40101
40102 * Makefile.in (all-local): Added $(MKFILES).
40103
4ed2e1dd 401042005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40105
40106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40107 (grub_emu_SOURCES): Likewise.
40108 (pkgdata_MODULES): Add `sun.mod'.
40109 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40111 `partmap/sun.c'.
40112 (pkgdata_MODULES): Add `sun.mod'.
40113 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40114 * include/grub/partition.h (grub_sun_partition_map_init): New
40115 prototype.
40116 (grub_sun_partition_map_fini): Likewise.
40117 * partmap/sun.c: New file.
40118 * util/grub-emu.c (main): Initialize and de-initialize the sun
40119 partitionmap support.
40120
4d4e372e 401212005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40122
40123 This implements an Emacs-like menu entry editor.
f19dbdb7 40124
4d4e372e 40125 * normal/menu_entry.c: New file.
f19dbdb7 40126
4d4e372e 40127 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40128 characters to ASCII.
40129 (saved_char): New variable.
40130 (grub_ncurses_checkkey): Rewritten completely.
40131 (grub_ncurses_getkey): Likewise.
40132 (grub_ncurses_init): Call raw instead of cbreak.
40133
40134 * normal/menu.c (print_entry): Do not put a space.
40135 (init_page): Renamed to ...
40136 (grub_menu_init_page): ... this. All callers changed.
40137 (edit_menu_entry): Removed.
40138 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40139
40140 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40141
40142 * kern/misc.c (grub_vprintf): Call grub_refresh.
40143
40144 * normal/menu.c (DISP_LEFT): Renamed to ...
40145 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40146 * normal/menu.c (DISP_UP): Renamed to ...
40147 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40148 * normal/menu.c (DISP_RIGHT): Renamed to ...
40149 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40150 * normal/menu.c (DISP_DOWN): Renamed to ...
40151 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40152 * normal/menu.c (DISP_HLINE): Renamed to ...
40153 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40154 * normal/menu.c (DISP_VLINE): Renamed to ...
40155 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40156 * normal/menu.c (DISP_UL): Renamed to ...
40157 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40158 * normal/menu.c (DISP_UR): Renamed to ...
40159 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40160 * normal/menu.c (DISP_LL): Renamed to ...
40161 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40162 * normal/menu.c (DISP_LR): Renamed to ...
40163 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40164 * normal/menu.c (TERM_WIDTH): Renamed to ...
40165 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40166 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40167 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40168 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40169 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40170 * normal/menu.c (TERM_MARGIN): Renamed to ...
40171 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40172 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40173 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40174 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40175 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40176 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40177 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40178 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40179 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40180 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40181 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40182 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40183 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40184 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40185 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40186 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40187 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40188 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40189 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40190 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40191 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40192 All callers changed.
40193
40194 * include/grub/normal.h: New prototype.
40195
40196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40197 normal/menu_entry.c.
40198 (normal_mod_SOURCES): Likewise.
40199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40200 (normal_mod_SOURCES): Likewise.
40201
e6b92c8a 402022005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40203
40204 * include/grub/normal.h (grub_halt_init): New prototype.
40205 (grub_halt_fini): Likewise.
40206 (grub_reboot_init): Likewise.
40207 (grub_reboot_fini): Likewise.
40208
40209 * util/grub-emu.c: Include signal.h.
40210 (main_env): New global variable.
40211 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40212 catch C-c.
40213 (grub_machine_fini): New function.
40214 (main): Call grub_halt_init and grub_reboot_init before
40215 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40216 Call setjmp with MAIN_ENV to go back afterwards.
40217 Call grub_machine_fini right before return.
40218
40219 * include/grub/util/misc.h: Include setjmp.h.
40220 (main_env): New prototype.
40221
40222 * include/grub/kernel.h (grub_machine_fini): New prototype.
40223 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40224 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40225
40226 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40227 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40228 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40229
e6b92c8a 40230 * util/i386/pc/misc.c: New file.
f19dbdb7 40231
e6b92c8a 40232 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40233 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40234 commands/i386/pc/reboot.c.
40235
c642636f 402362005-02-14 Guillem Jover <guillem@hadrons.org>
40237
40238 * include/grub/dl.h (grub_dl_check_header): New prototype.
40239 (grub_arch_dl_check_header): Change return type to grub_err_t,
40240 remove size parameter and export function. Update all callers.
40241 * kern/dl.c (grub_dl_check_header): New function.
40242 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40243 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40244 are inside the core.
40245 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40246 independent ELF header checks.
40247 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40248 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40249 `grub_dl_check_header' instead of explicit checks. Check for the
40250 ELF type.
40251 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40252 `grub_dl_check_header' instead of explicit checks. Remove arch
40253 specific ELF header checks.
40254
e6b92c8a 40255 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40256 argument SIZE.
40257
5eabe94b 402582005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40259
40260 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40261 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40262
1b14a681 402632005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40264
40265 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40266 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40267 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40268 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40269 * partmap/amiga.c (amiga_partition_map_iterate): Return
40270 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40271 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40272
aca108aa 402732005-02-01 Guillem Jover <guillem@hadrons.org>
40274
40275 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40276 help info.
40277
c9f9c556 402782005-01-31 Marco Gerards <metgerards@student.han.nl>
40279
40280 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40281 Removed prototype.
40282 (grub_rescue_cmd_linux): New prototype.
40283 (grub_rescue_cmd_initrd): Likewise.
40284 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40285 `bi_rec'.
40286 (grub_linux_release_mem): Release the memory for the initrd.
40287 (grub_load_linux): Renamed from this...
40288 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40289 Changed `entry' not to be static. Loop over memory regions to
40290 find another one when the default fails.
40291 (grub_rescue_cmd_initrd): New function.
40292 (grub_linux_init): Remove function.
40293 (grub_linux_fini): Likewise.
40294 (GRUB_MOD_INIT): Register `initrd'.
40295 (GRUB_MOD_FINI): Unregister `initrd'.
40296 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40297 Function removed.
40298 (grub_linux_normal_fini): Likewise.
40299 (GRUB_MOD_INIT): Register `initrd'.
40300 (GRUB_MOD_FINI): Unregister `initrd'.
40301
990cf3aa 403022005-01-31 Marco Gerards <metgerards@student.han.nl>
40303
40304 * commands/help.c: New file.
40305 * normal/arg.c (show_help): Renamed to...
40306 (grub_arg_show_help): ... this.
40307 * commands/i386/pc/halt.c: New file.
40308 * commands/i386/pc/reboot.c: Likewise.
40309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40310 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40311 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40312 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40313 variables.
40314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40315 `commands/help.c'.
40316 (pkgdata_MODULES): Add `help.mod'.
40317 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40318 * grub/i386/pc/init.h (grub_reboot): New prototype.
40319 (grub_halt): Likewise.
40320 * include/grub/normal.h (grub_arg_show_help): New prototype.
40321 (grub_help_init): Likewise.
40322 (grub_help_fini): Likewise.
40323 * util/grub-emu.c (main): Initialize and deinitialize the help
40324 command.
40325
40326 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40327
40328 * normal/command.c (grub_command_init): Fixed the description of
40329 the `set' and `unset' commands.
40330
403312005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40332
40333 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40334 function.
40335 * commands/ieee1275/halt.c: New file.
40336 * commands/ieee1275/reboot.c: Likewise.
40337 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40338 `__attribute__ ((unused))'. Some GCS related fixed.
40339 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40340 (grub_suspend_fini): Likewise.
40341 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40342 and `halt.mod'.
40343 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40344 (halt_mod_CFLAGS): New variables.
40345 * include/grub/powerpc/ieee1275/ieee1275.h
40346 (grub_ieee1275_interpret): New prototype.
40347
1ab09cc7 403482005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40349
40350 * include/grub/misc.h (memmove): New prototype.
40351 (memcpy): Likewise.
40352
8b8cbdb2 403532005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40354
40355 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40356 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40357
e3741a27 403582005-01-22 Marco Gerards <metgerards@student.han.nl>
40359
40360 * kern/misc.c (grub_strndup): Function rewritten.
40361
776bd780 403622005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40363
40364 * normal/menu.c (TERM_WIDTH): Macro redefined.
40365 (TERM_TOP_BORDER_Y): Likewise.
40366 (draw_border): Replaced while-loop by a for-loop. Make the number
40367 of lines consistent with the number of lines displayed in
40368 print_entries. Added a margin below the rectangle.
40369 (print_entry): Make the entry fit in the rectangle.
40370 (print_entries): Display the scroll arrows next to the right
40371 border.
40372
78026bce 403732005-01-21 Marco Gerards <metgerards@student.han.nl>
40374
40375 * fs/minix.c (grub_minix_find_file): Reserve more space for
40376 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40377 `grub_strncpy' to copy `path' into it.
40378
67bbaf0f 403792005-01-21 Marco Gerards <metgerards@student.han.nl>
40380
40381 Add the loopback device, a device via which files can be accessed
40382 as devices.
f19dbdb7 40383
67bbaf0f 40384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40385 (pkgdata_MODULES): Add loopback.mod.
40386 (loopback_mod_SOURCES): New variable.
40387 (loopback_mod_CFLAGS): Likewise.
40388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40389 `disk/loopback.c'.
40390 (pkgdata_MODULES): Add loopback.mod.
40391 (loopback_mod_SOURCES): New variable.
40392 (loopback_mod_CFLAGS): Likewise.
40393 * disk/loopback.c: new file.
40394 * include/grub/normal.h (grub_loop_init): New prototype.
40395 (grub_loop_fini): New prototype.
40396 * util/grub-emu.c (main): Initialize and de-initialize loopback
40397 support.
40398 * include/grub/disk.h (grub_disk_dev_id): Add
40399 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40400
6f1c18bd 404012005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40402
40403 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40404 function.
40405 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40406 (suspend_mod_SOURCES): New variable.
40407 (suspend_mod_CFLAGS): Likewise.
40408 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40409 New prototype.
40410 * commands/ieee1275/suspend.c: New file.
40411
b38551da 404122005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40413
40414 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 40415 ((unused))' to `__attribute__ ((used))'.
b38551da 40416 (GRUB_MOD_FINI): Likewise.
40417 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40418 * genmk.rb (PModule): Assign space to common symbols when linking
40419 modules.
40420
777aff39 404212005-01-20 Marco Gerards <metgerards@student.han.nl>
40422
40423 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40424 `unsigned' arguments to `grub_size_t'.
40425 (grub_malloc): Likewise.
40426 (grub_realloc): Likewise.
40427 (grub_memalign): Likewise.
40428 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40429 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40430 * util/misc.c (grub_malloc): Likewise.
40431 (grub_realloc): Likewise.
40432 * kern/mm.c (get_header_from_pointer): Change the casts to
40433 `unsigned' into a cast to `grub_size_t'.
40434
40435 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40436 point to `currnode' when `currnode' is changed.
40437
40438 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40439 Schottelius <nico-linux@schottelius.org>.
40440
d0ff18e1 404412005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40442
40443 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40444 (note_path): Remove variable.
40445 (GRUB_IEEE1275_NOTE_NAME): New macro.
40446 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40447 (grub_ieee1275_note_hdr): New structure.
40448 (grub_ieee1275_note_desc): Likewise.
40449 (grub_ieee1275_note): Likewise.
40450 (load_note): Remove `dir' argument. All callers updated. Remove
40451 `note_img' and `path'. Do not load a file from `note_path'.
40452 Initialize a struct grub_ieee1275_note and write that to `out'.
40453 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40454
4ca7004c 404552005-01-05 Marco Gerards <metgerards@student.han.nl>
40456
40457 * util/misc.c (grub_util_read_image): Revert last change. It
40458 called `grub_util_read_at', which seeks from the beginning of the
40459 file.
40460
0b412211 404612005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40462
40463 * TODO: Add note about endianness in grub-mkimage.
40464 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40465 section.
40466 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40467 (grub_mkimage_SOURCES): New target.
40468 * include/grub/kernel.h (grub_start_addr): Remove variable.
40469 (grub_end_addr): Likewise.
40470 (grub_total_module_size): Likewise.
40471 (grub_kernel_image_size): Likewise.
40472 (GRUB_MODULE_MAGIC): New constant.
40473 (grub_module_info): New structure.
40474 (grub_arch_modules_addr): New prototype.
40475 (grub_get_end_addr): Remove prototype.
40476 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40477 * include/grub/powerpc/ieee1275/kernel.h: New file.
40478 * include/grub/util/misc.h (grub_util_get_fp_size): New
40479 prototype.
40480 (grub_util_read_at): Likewise.
40481 (grub_util_write_image_at): Likewise.
40482 * kern/main.c (grub_get_end_addr): Remove function.
40483 (grub_load_modules): Call grub_arch_modules_addr instead of using
40484 grub_end_addr. Look for a grub_module_info struct in memory. Use
40485 the grub_module_info fields instead of calling grub_get_end_addr
40486 as loop conditions. Move grub_add_unused_region code here.
40487 (grub_add_unused_region): Remove function.
40488 * kern/i386/pc/init.c: Include grub/cache.h.
40489 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40490 one call to add_mem_region.
40491 (grub_arch_modules_addr): New function.
40492 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40493 (grub_total_module_size): Likewise.
40494 Include grub/machine/kernel.h.
40495 (grub_arch_modules_addr): New function.
40496 * util/grub-emu.c (grub_end_addr): Remove variable.
40497 (grub_total_module_size): Likewise.
40498 (grub_arch_modules_addr): New function.
40499 * util/misc.c: Include unistd.h.
40500 (grub_util_get_fp_size): New function.
40501 (grub_util_read_at): Likewise.
40502 (grub_util_write_image_at): Likewise.
40503 (grub_util_read_image): Call grub_util_read_at.
40504 (grub_util_write_image): Call grub_util_write_image_at.
40505 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40506 additional memory in kernel_img for a struct grub_module_info.
40507 Fill in that grub_module_info.
40508 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40509
458786f8 405102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40511
40512 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40513 New function.
40514 * include/grub/powerpc/ieee1275/ieee1275.h
40515 (grub_ieee1275_milliseconds): New prototype.
40516 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40517 Change to 1000.
40518 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40519 grub_ieee1275_milliseconds.
40520
ac507d1b 405212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40522
40523 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40524 variable.
40525 (find_options): New function.
40526 (cmain): Call find_options.
40527 * include/grub/powerpc/ieee1275/ieee1275.h
40528 (grub_ieee1275_realmode): New extern variable.
40529 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40530 grub_map if grub_ieee1275_realmode is false.
40531
6b8fd1c4 405322004-12-29 Marco Gerards <metgerards@student.han.nl>
40533
40534 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40535 lines are inserted and make it work like readline. Reported by
40536 Vincent Pelletier <subdino2004@yahoo.fr>.
40537
8514a1e0 405382004-12-28 Marco Gerards <metgerards@student.han.nl>
40539
40540 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40541
40542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40543 `kern/powerpc/cache.S'.
40544
924b6140 405452004-12-27 Marco Gerards <metgerards@student.han.nl>
40546
40547 * genmk.rb: Handle the `Program' class in the main loop. Written
40548 by Johan Rydberg <jrydberg@gnu.org>.
40549 (Program): New class.
40550 (programs): New variable.
40551 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40552 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40553 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40554 (help_arch): Function removed.
40555 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40556 `powerpc/libgcc.h' and `loader.h'.
40557 (pkgdata_PROGRAMS): New variable.
40558 (sbin_UTILITIES): Variable removed.
40559 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40560 (grubof_SOURCES): Variable re-defined so it only includes the
40561 core functionality.
40562 (grubof_CFLAGS): Remove `-DGRUBOF'.
40563 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40564 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40565 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40566 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40567 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40568 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40569 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40570 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40571 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40572 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40573 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40574 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40575 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40576 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40577 (pc_mod_CFLAGS): New variables.
40578 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40579 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40580 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40581 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40582 Moved from here...
40583 * include/grub/i386/pc/init.h (grub_os_area_addr)
40584 (rub_os_area_size): ... to here.
40585 * include/grub/powerpc/ieee1275/ieee1275.h
40586 (grub_ieee1275_entry_fn): Export symbol.
40587 * include/grub/powerpc/ieee1275/init.h: New file.
40588 * include/grub/powerpc/libgcc.h: Likewise.
40589 * include/grub/cache.h: Likewise.
40590 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40591 <hollis@penguinppc.org>.
40592 * kern/dl.c: Include <grub/cache.h>.
40593 (grub_dl_flush_cache): New function.
40594 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40595 for this module.
40596 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40597 (grub_console_init): Removed prototypes.
40598 (grub_machine_init): Don't initialize the modules anymore.
40599 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40600 static.
40601 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40602 Macro undef removed.
40603 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40604 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40605 relocation `R_PPC_REL32'. Return an error when the relocation is
40606 unknown.
40607 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40608 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40609 * util/misc.c (grub_arch_sync_caches): Likewise.
40610
e4b47e0c 406112004-12-19 Marco Gerards <metgerards@student.han.nl>
40612
40613 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40614 `symlist.c', add `grubof_symlist.c'.
40615 (symlist.c): Variable removed.
40616 (grubof_HEADERS): Variable added.
40617 (grubof_symlist.c): New target.
40618 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40619 `kernel_img_HEADERS'.
40620 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40621 * kern/powerpc/dl.c: New file.
40622 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40623 Function removed.
40624 (grub_arch_dl_relocate_symbols): Likewise.
40625 (grub_register_exported_symbols): Likewise.
40626
4ceb3636 406272004-12-13 Marco Gerards <metgerards@student.han.nl>
40628
40629 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40630 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40631 to fail instead. Reported by Vincent Pelletier
40632 <subdino2004@yahoo.fr>.
40633
40634 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40635 it is not allocated. Reported by Vincent Pelletier
40636 <subdino2004@yahoo.fr>.
40637
40638 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40639 output so the output looks better.
f19dbdb7 40640
3f1578fe 406412004-12-04 Marco Gerards <metgerards@student.han.nl>
40642
40643 Modulize the partition map support and add support for the amiga
40644 partition map.
f19dbdb7 40645
3f1578fe 40646 * commands/ls.c: Include <grub/partition.h> instead of
40647 <grub/machine/partition.h>.
40648 * kern/disk.c: Likewise.
40649 * kern/rescue.c: Likewise.
40650 * loader/i386/pc/chainloader.c: Likewise.
40651 * normal/cmdline.c: Likewise.
40652 * kern/powerpc/ieee1275/init.c: Likewise.
40653 (grub_machine_init): Call `grub_pc_partition_map_init',
40654 `grub_amiga_partition_map_init' and
40655 `grub_apple_partition_map_init'.
40656 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40657 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40658 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40659 `partition.h' and `pc_partition.h'.
40660 (grub_setup_SOURCES): Remove
40661 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40662 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40663 (grub_emu_SOURCES): Likewise.
40664 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40665 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40666 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40668 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40669 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40670 (grubof_SOURCES): Likewise.
40671 * disk/i386/pc/partition.c: File removed.
40672 * disk/powerpc/ieee1275/partition.c: Likewise.
40673 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40674 * include/grub/i386/pc/partition.h: Likewise.
40675 * kern/partition.c: New file.
40676 * partmap/amiga.c: Likewise.
40677 * partmap/apple.c: Likewise.
40678 * partmap/pc.c: Likewise.
40679 * include/grub/partition.h: Likewise..
40680 * include/grub/pc_partition.h: Likewise.
40681 * util/grub-emu.c: Include <grub/partition.h> instead of
40682 <grub/machine/partition.h>.
40683 (main): Call `grub_pc_partition_map_init',
40684 `grub_amiga_partition_map_init' and
40685 `grub_apple_partition_map_init' and deinitialize afterwards.
40686 * util/i386/pc/biosdisk.c: Include `#include
40687 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40688 `<grub/machine/partition.h>'.
40689 * util/i386/pc/grub-setup.c: Likewise.
40690 * util/i386/pc/biosdisk.c: Likewise.
40691 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40692 partition information in case of a PC partition.
40693 * util/i386/pc/grub-setup.c: Include `#include
40694 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40695 `<grub/machine/partition.h>'.
40696 (setup): Only access the PC specific partition information in case
40697 of a PC partition.
40698
0ef4ced9 406992004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40700
0ef4ced9 40701 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40702 (grub_longjmp): Likewise.
40703 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40704 20.
40705 * normal/powerpc/setjmp.S: New file.
40706 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40707 `normal/powerpc/setjmp.S'.
40708 (grubof_CFLAGS): Add `-DGRUBOF'.
40709 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40710 [GRUB_UTIL && !GRUBOF].
f19dbdb7 40711
19950e29 407122004-11-16 Marco Gerards <metgerards@student.han.nl>
40713
40714 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
40715 property named `name'. Correctly handle the error returned by
40716 `grub_ieee1275_finddevice' if a device can not be opened.
40717
a2fea427 407182004-11-02 Hollis Blanchard <hollis@penguinppc.org>
40719
40720 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
40721 `actual' for negativity.
40722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40723 kern/fshelp.c.
40724
41ea0ea3 407252004-11-01 Marco Gerards <metgerards@student.han.nl>
40726
40727 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
40728 (PAGE_OFFSET): New macro.
40729 (CRTC_ADDR_PORT): Likewise.
40730 (CRTC_DATA_PORT): Likewise.
40731 (START_ADDR_HIGH_REGISTER): Likewise.
40732 (START_ADDR_LOW_REGISTER): Likewise.
40733 (GRAPHICS_ADDR_PORT): Likewise.
40734 (GRAPHICS_DATA_PORT): Likewise.
40735 (READ_MAP_REGISTER): Likewise.
40736 (INPUT_STATUS1_REGISTER): Likewise.
40737 (INPUT_STATUS1_VERTR_BIT): Likewise.
40738 (page): New variable.
40739 (wait_vretrace): New function.
40740 (set_read_map): Likewise.
40741 (set_start_address): Likewise.
40742 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
40743 the right page.
40744 (check_vga_mem): Take the page into account.
40745 (write_char): Likewise.
40746 (write_cursor): Likewise.
40747 (scroll_up): Likewise. Copy the page to the page that is not
40748 shown and switch between both pages.
40749 (grub_vga_putchar): Fix off by one error.
40750 (grub_vga_cls): Wait for the vertical retrace. Take the page into
40751 account.
40752
ad0bd20b 407532004-11-01 Marco Gerards <metgerards@student.han.nl>
40754
40755 Add support for iso9660 (including rockridge).
f19dbdb7 40756
ad0bd20b 40757 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40758 (iso9660_mod_SOURCES): New variable.
40759 (iso9660_mod_CFLAGS): Likewise.
40760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40761 * include/grub/fs.h (grub_iso9660_init): New prototype.
40762 * util/grub-emu.c (main): Call `grub_iso9660_init'.
40763 * fs/iso9660.c: New file.
40764
40765 * include/grub/misc.h (grub_strncat): New prototype.
40766 * kern/misc.c (grub_strncat): New function.
f19dbdb7 40767
ad0bd20b 40768 * fs/hfs.c (grub_hfs_mount): Translate the error
40769 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
40770 * fs/jfs.c (grub_jfs_mount): Likewise.
40771 * fs/ufs.c (grub_ufs_mount): Likewise.
40772
a5477a59 407732004-10-28 Hollis Blanchard <hollis@penguinppc.org>
40774
40775 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
40776 which initialized BAT registers.
40777 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
40778 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40779 Move from here...
40780 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
40781 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40782 ... to here.
40783 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
40784 (grub_mapclaim): Likewise.
40785 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
40786 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
40787 hand.
40788
9304c1f8 407892004-10-19 Hollis Blanchard <hollis@penguinppc.org>
40790
40791 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
40792 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
40793 -ffreestanding and -msoft-float.
40794
86f4ae25 407952004-10-15 Hollis Blanchard <hollis@penguinppc.org>
40796
40797 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
40798 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
40799 set in grub_ieee1275_flags.
40800
38912228 408012004-10-14 Hollis Blanchard <hollis@penguinppc.org>
40802
40803 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
40804 prototype.
40805 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
40806 grub_console_init first.
40807 Change the memory range used for grub_ieee1275_claim and
40808 grub_mm_init_region.
40809 Print an error message if the claim fails.
40810 Include <grub/misc.h>.
40811
d1923dc8 408122004-10-13 Hollis Blanchard <hollis@penguinppc.org>
40813
40814 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
40815 Call grub_children_iterate for device nodes of type `scsi',
40816 `ide', or `ata'.
40817 (grub_ofdisk_open): Remove manual device alias resolution.
40818 Fix memory leak when device cannot be opened.
f19dbdb7 40819 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 40820 (grub_children_iterate): New prototype.
40821 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
40822 New function.
40823 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40824 Return -1 if args.size was -1.
40825
4512e4f3 408262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40827
40828 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
40829 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
40830 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
40831 Open Firmware's memory for it; claim memory from _start to _end.
40832 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
40833 (_end): New extern.
40834 (_start): Zero BSS from __bss_start to _end.
40835 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40836 New extern.
40837 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
40838
4d61feb0 408392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40840
ad0bd20b 40841 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
40842 -1 if args.base was -1.
4d61feb0 40843
026fa2f9 408442004-10-08 Hollis Blanchard <hollis@penguinppc.org>
40845
40846 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
40847 escape sequence instead of a literal ^L. Also call
40848 grub_ofconsole_gotoxy.
40849
9f2220ef 408502004-10-03 Hollis Blanchard <hollis@penguinppc.org>
40851
40852 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
40853 void * arguments to grub_addr_t. All callers updated. Also make
40854 the `result' argument optional.
40855 (grub_ieee1275_release): change void * arguments to grub_addr_t.
40856 All callers updated.
40857
8a572cd7 408582004-09-22 Hollis Blanchard <hollis@penguinppc.org>
40859
40860 * commands/ls.c (grub_ls_list_files): Use the string following the
40861 initial ')', if present, as the filesystem path.
40862 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
40863
40864 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
40865
18aa81f2 408662004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
40867
40868 Make the source code of the menu interface more readable.
f19dbdb7 40869
18aa81f2 40870 * normal/menu.c: Include grub/mm.h.
40871 (TERM_WIDTH): New macro.
40872 (TERM_HEIGHT): Likewise.
40873 (TERM_INFO_HEIGHT): Likewise.
40874 (TERM_MARGIN): Likewise.
40875 (TERM_SCROLL_WIDTH): Likewise.
40876 (TERM_TOP_BORDER_Y): Likewise.
40877 (TERM_LEFT_BORDER_X): Likewise.
40878 (TERM_BORDER_WIDTH): Likewise.
40879 (TERM_MESSAGE_HEIGHT): Likewise.
40880 (TERM_BORDER_HEIGHT): Likewise.
40881 (TERM_NUM_ENTRIES): Likewise.
40882 (TERM_FIRST_ENTRY_Y): Likewise.
40883 (TERM_ENTRY_WIDTH): Likewise.
40884 (TERM_CURSOR_X): Likewise.
40885 (draw_border): Use macros instead of magic numbers.
40886 (print_entry): Likewise.
40887 (print_entries): Likewise.
40888 (run_menu): Likewise. Also, handle the key 'e'.
40889 (run_menu_entry): Ignore empty command lines.
40890 (print_message): Added a new argument EDIT. If EDIT is true,
40891 print a different message.
40892 (init_page): Likewise.
40893 (edit_menu_entry): New function. Not implemented yet.
40894
b47efe30 408952004-09-17 Marco Gerards <metgerards@student.han.nl>
40896
40897 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40898 can be loaded from normal mode.
f19dbdb7 40899
b47efe30 40900 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40901 `multiboot.mod'.
40902 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40903 (multiboot_mod_CFLAGS): New variables.
40904 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 40905 * loader/i386/pc/multiboot_normal.c: Likewise.
40906
b47efe30 40907 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40908 attribute `unused'.
f19dbdb7 40909
b47efe30 40910 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40911 `fdiro' to read the mode information from instead of `diro'.
40912
40913 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40914 looking up a symlink.
40915
40916 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40917 macro.
40918 * normal/command.c (grub_command_execute): Don't parse the
40919 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40920 flags of the command.
40921
40922 * normal/menu.c (grub_menu_run): Fix typo.
40923
da75ac71 409242004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40925
40926 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40927
40928 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40929 `y + 1' instead of `y - 1'.
40930
40931 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 40932
062b24c2 409332004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40934
40935 From Hollis Blanchard <hollis@penguinppc.org>:
40936 * kern/misc.c (memmove): New alias for grub_memmove.
40937 (memcmp): New alias for grub_memcmp.
40938 (memset): New alias for grub_memset.
f19dbdb7 40939 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 40940 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 40941 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 40942 (grub_ieee1275_get_property): Likewise.
f19dbdb7 40943
8ddad845 409442004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40945
40946 Added normal mode command `chainloader' as module chain.mod, which
40947 depends on normal.mod and _chain.mod.
f19dbdb7 40948
8ddad845 40949 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40950 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40951 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40952 Deleted prototype.
40953 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40954 but arguments parsing moved to ...
40955 (grub_chainloader_cmd): ... here. New function.
40956 * include/grub/i386/pc/chainloader.h: New file.
40957 * loader/i386/pc/chainloader_normal.c: Likewise.
40958
2c1f4ce3 409592004-09-11 Marco Gerards <metgerards@student.han.nl>
40960
40961 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40962 (grub_mkimage_LDFLAGS): Likewise.
40963 (grub_emu_SOURCES): Likewise.
40964 (kernel_img_HEADERS): Added fshelp.h.
40965 * fs/ext2.c: Include <grub/fshelp.h>.
40966 (FILETYPE_REG): New macro.
40967 (FILETYPE_INO_REG): Likewise.
40968 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40969 Changed all users.
40970 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40971 all users.
40972 (grub_fshelp_node): New struct.
40973 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40974 to a pointer.
40975 (grub_ext2_get_file_block): Removed function.
40976 (grub_ext2_read_block): New function.
40977 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40978 This function was written.
40979 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40980 (grub_ext2_find_file): Removed function.
40981 (grub_ext2_read_symlink): New function.
40982 (grub_ext2_iterate_dir): Likewise.
40983 (grub_ext2_open): Rewritten.
40984 (grub_ext2_dir): Rewritten.
40985 * include/grub/fshelp.h: New file.
40986 * fs/fshelp.c: Likewise.
40987
3c52136a 409882004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40989
40990 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40991 (print_message): Add a missing newline.
40992 (run_menu): Added timeout support.
40993 (run_menu_entry): New local function.
40994 (grub_menu_run): Added support for booting.
40995
40996 * kern/loader.c (grub_loader_is_loaded): New function.
40997
40998 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40999 (grub_get_rtc): Exported.
41000
41001 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41002 (grub_get_rtc): Exported.
41003
41004 * include/grub/normal.h (struct grub_command_list): Remove
41005 constant from the member `command'.
41006
41007 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41008
41009 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41010
41011 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41012
aa033560 410132004-08-28 Marco Gerards <metgerards@student.han.nl>
41014
41015 Add support for the JFS filesystem.
41016
41017 * fs/jfs.c: New file.
41018 * include/grub/fs.h (grub_jfs_init): New prototype.
41019 (grub_jfs_fini): New prototype.
41020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41021 (grub_emu_SOURCES): Likewise.
41022 (pkgdata_MODULES): Add jfs.mod.
41023 (jfs_mod_SOURCES): New variable.
41024 (jfs_mod_CFLAGS): Likewise.
41025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41026 (grubof_SOURCES): Likewise.
41027 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41028
41029 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41030 endian to the host endian.
41031 (grub_fat_utf16_to_utf8): Move function from there...
41032 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41033 the endianness of the source string anymore.
aa033560 41034 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41035
94bc45af 410362004-08-24 Marco Gerards <metgerards@student.han.nl>
41037
41038 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41039 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41040 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41041 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41042
94bc45af 41043 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41044 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41045 for `node_found' and `it_dir'.
41046 (grub_hfs_dir): Add prototype for `dir_hook'.
41047
41048 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41049 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41050 and `indir32' to silence a gcc warning.
41051
41052 * include/grub/fs.h (grub_hfs_init): New prototype.
41053 (grub_hfs_fini): Likewise.
f19dbdb7 41054
41055
97543f08 410562004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41057
41058 Each disk device has its own id now. This is useful to make use
41059 of multiple disk devices.
f19dbdb7 41060
97543f08 41061 * include/grub/disk.h (grub_disk_dev_id): New enum.
41062 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41063 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41064
41065 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41066 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41067
41068 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41069 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41070
41071 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41072 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41073
41074 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41075 "id" which is used by the cache manager.
41076
41077 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41078 of just "GRUB".
41079
64372eb4 410802004-08-18 Marco Gerards <metgerards@student.han.nl>
41081
41082 * fs/hfs.c: New file.
41083 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41084 (grub_emu_SOURCES): Likewise.
41085 (pkgdata_MODULES): Add hfs.mod.
41086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41087 (grubof_SOURCES): Likewise.
41088 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41089
41090 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41091 * kern/misc.c (grub_strncasecmp): Add function.
41092
cc61b58f 410932004-08-14 Marco Gerards <metgerards@student.han.nl>
41094
41095 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41096 with parentheses.
41097
41098 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41099 (grub_ext2_dir): In case the directory entry type is unknown, read
41100 it from the inode.
41101
0ef123f6 411022004-08-02 Peter Bruin <pjbruin@dds.nl>
41103
41104 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41105 grub_load_linux instead of grub_rescue_cmd_linux as second
41106 argument of grub_rescue_register_command.
41107
41108 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41109
a447c5df 411102004-07-27 Marco Gerards <metgerards@student.han.nl>
41111
41112 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41113 function.
41114 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41115 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41116 `loader/powerpc/ieee1275/linux.c',
41117 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41118 * include/grub/powerpc/ieee1275/ieee1275.h
41119 (grub_ieee1275_release): New prototype.
41120 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41121 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41122 normal, boot, linux and linux_normal.
41123 * loader/powerpc/ieee1275/linux.c: New file.
41124 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41125
5a9e3546 411262004-07-12 Marco Gerards <metgerards@student.han.nl>
41127
41128 * normal/arg.c (grub_arg_parse): Correct error handling after
41129 reallocating the argumentlist (check if `argl' is not null instead
41130 of checking if `args' is not null).
41131 * kern/mm.c (grub_realloc): Return the same pointer when using the
41132 same region, instead of returning the header address.
41133
e15199cb 411342004-07-11 Marco Gerards <metgerards@student.han.nl>
41135
41136 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41137 one block instead of two when looking for the initial partition.
41138 (grub_partition_probe): Initialize the local variable `p' with 0.
41139 Use base 10 for the grub_strtoul call.
41140 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41141 need for one local variable.
41142 (grub_strtoul): Don't add the new value to `num', instead of that
41143 just assign it.
41144
020616c2 411452004-07-11 Marco Gerards <metgerards@student.han.nl>
41146
41147 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41148 (pxeboot_img_SOURCES): New variable.
41149 (pxeboot_img_ASFLAGS): Likewise.
41150 (pxeboot_img_LDFLAGS): Likewise.
41151 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41152 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41153 <lode_leroy@hotmail.com>.
41154
6c51eb64 411552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41156
41157 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41158 there was no input.
41159
cfb12aff 411602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41161
41162 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41163 the history buffer logic.
41164
6eabba74 411652004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41166
41167 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41168 (FILETYPE_INO_SYMLINK): New macros.
41169 (grub_ext2_find_file): Check if the node is a directory using the
41170 inode stat information instead of using the filetype in the
41171 dirent. Exclude the first character of an absolute symlink.
41172 (grub_ext2_dir): Mask out the filetype part of the mode member of
41173 the inode.
41174
66e19ef8 411752004-05-24 Marco Gerards <metgerards@student.han.nl>
41176
41177 Add support for UFS version 1 and 2. Add support for the minix
41178 filesystem version 1 and 2, both the variants with 14 and 30 long
41179 filenames.
f19dbdb7 41180
66e19ef8 41181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41182 fs/minix.c.
41183 (grub_emu_SOURCES): Likewise.
41184 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41185 (ufs_mod_SOURCES): New variable.
41186 (ufs_mod_CFLAGS): Likewise.
41187 (minix_mod_SOURCES): Likewise.
41188 (minix_mod_CFLAGS): Likewise.
41189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41190 fs/minix.c.
41191 (grubof_SOURCES): Likewise.
41192 * fs/ufs.c: New file.
41193 * fs/minix.c: New file.
41194 * include/grub/fs.h (grub_ufs_init): New prototype.
41195 (grub_ufs_fini): Likewise.
41196 (grub_minix_init): Likewise.
41197 (grub_minix_fini): Likewise.
41198 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41199 minix fs.
41200
cc2e748a 412012004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41202
41203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41204 commands/ls.c, commands/terminal.c, commands/boot.c,
41205 commands/cmp.c and commands/cat.c.
41206 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41207
41208 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41209 "env.h"
41210
4b13b216 412112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41212
41213 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41214 and grub_, respectively. Because the conversion is trivial and
41215 mechanical, I omit the details here. Please refer to the CVS
41216 if you need more information.
41217
6a142551 412182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41219
41220 * include/pupa: Renamed to ...
41221 * include/grub: ... this.
41222 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41223 * util/i386/pc/grub-mkimage.c: ... this.
41224 * util/i386/pc/pupa-setup.c: Renamed to ...
41225 * util/i386/pc/grub-setup.c: ... this.
41226 * util/pupa-emu.c: Renamed to ...
41227 * util/grub-emu.c: ... this.
41228
e56cdf21 412292004-03-29 Marco Gerards <metgerards@student.han.nl>
41230
41231 Add support for the newworld apple macintosh (PPC). This has been
41232 tested on the powerbook 2000 only. It only adds support for
41233 generic ieee1275 functions, console and disk support. This should
41234 be easy to port to other architectures with support for Open
41235 Firmware.
f19dbdb7 41236
e56cdf21 41237 * configure.ac: Accept the powerpc as host_cpu. In the case of
41238 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41239 specific tests are only executed while building for the i386.
41240 Inverse test for crosscompile.
41241 * genmk.rb (Utility): Allow assembler files.
41242 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41243 * conf/powerpc-ieee1275.rmk: New file.
41244 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41245 * disk/powerpc/ieee1275/partition.c: Likewise.
41246 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41247 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41248 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41249 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41250 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41251 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41252 * include/pupa/powerpc/ieee1275/loader.h
41253 * include/pupa/powerpc/setjmp.h: Likewise.
41254 * include/pupa/powerpc/types.h: Likewise.
41255 * kern/powerpc/ieee1275/init.c: Likewise.
41256 * kern/powerpc/ieee1275/openfw.c: Likewise.
41257 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41258
41259 These files were written by Johan Rydberg
41260 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41261
e56cdf21 41262 * boot/powerpc/ieee1275/cmain.c: New file.
41263 * boot/powerpc/ieee1275/crt0.S: Likewise.
41264 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41265 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41266
8c8cc205 412672004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41268
41269 * Makefile.in: Update copyright.
41270 * genmodsrc.sh: Likewise.
41271 * gensymlist.sh: Likewise.
41272 * term/i386/pc/vga.c: Indent correctly.
41273
41274 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41275 bugreporting address.
41276 * util/i386/pc/pupa-setup.c (usage): Likewise,
41277 (main): Call pupa_ext2_init and pupa_ext2_fini.
41278
f19dbdb7 41279 * fs/fat.c (log2): Renamed to ...
8c8cc205 41280 (fat_log2): ... this.
41281 All callers changed.
41282 * kern/misc.c (memcpy): Alias to pupa_memmove.
41283 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41284 lvalue cast.
41285 * util/console.c (pupa_ncurses_fini): Return 0.
41286
41287 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41288 Move fail label here.
41289 [__GNU__]: Don't warn when using stat.
41290 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41291 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41292 long int. Use strtol instead of strtoul.
f19dbdb7 41293
db1771cf 412942004-03-14 Marco Gerards <metgerards@student.han.nl>
41295
41296 * commands/boot.c: New file.
41297 * commands/cat.c: Likewise.
41298 * commands/cmp.c: Likewise.
41299 * commands/ls.c: Likewise.
41300 * commands/terminal.c: Likewise.
41301 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41302 (pupa_register_command): Changed interface to match the new
41303 argument parser.
41304 (pupa_command_execute): Changed (almost rewritten) so it uses
41305 pupa_split_command. Added support for setting variables using the
41306 syntax `foo=bar'.
41307 (rescue_command): Changed to work with the new argument parser.
41308 (terminal_command): Moved from here to commands/terminal.c.
41309 (set_command): New function.
41310 (unset_command): New function.
41311 (insmod_command): New function.
41312 (rmmod_command): New function.
41313 (lsmod_command): New function.
41314 (pupa_command_init): Don't initialize the command terminal
41315 anymore. Initialize the commands set, unset, insmod, rmmod and
41316 lsmod.
41317 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41318 (kernel_img_HEADERS): Add arg.h and env.h.
41319 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41320 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41321 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41322 normal/arg.c.
41323 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41324 terminal.mod.
41325 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41326 (boot_mod_SOURCES): New variable.
41327 (terminal_mod_SOURCES): Likewise.
41328 (ls_mod_SOURCES): Likewise.
41329 (cmp_mod_SOURCES): Likewise.
41330 (cat_mod_SOURCES): Likewise.
41331
41332 * normal/arg.c: New file.
41333 * kern/env.c: Likewise.
41334 * include/pupa/arg.h: Likewise.
41335 * include/pupa/env.h: Likewise.
41336 * font/manager.c (font_command): Changed to match argument parsing
41337 interface changes.
41338 (PUPA_MOD_INIT): Likewise.
41339 * hello/hello.c (pupa_cmd_hello): Likewise.
41340 (PUPA_MOD_INIT): Likewise.
41341 * include/pupa/disk.h: Include <pupa/device.h>.
41342 (pupa_print_partinfo): New prototype.
41343 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41344 (pupa_dl_get_prefix): Likewise.
41345 * include/pupa/misc.h: Include <pupa/err.h>.
41346 (pupa_isgraph): New prototype.
41347 (pupa_isdigit): Likewise.
41348 (pupa_split_cmdline): Likewise.
41349 * include/pupa/normal.h: Include <pupa/arg.h>.
41350 (pupa_command): Changed the prototype of the member `func' to
41351 match the argument parsing interface. Added member `options'.
41352 (pupa_register_command): Updated to match function.
41353 (pupa_arg_parse): New prototype.
41354 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41355 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41356 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41357 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41358 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41359 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41360 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41361 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41362 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41363 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41364 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41365 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41366 * kern/disk.c: Include <pupa/file.h>.
41367 (pupa_print_partinfo): New function.
41368 * kern/dl.c: Include <pupa/env.h>.
41369 (pupa_dl_dir): Variable removed.
41370 (pupa_dl_load): Use the environment variable `prefix' instead of
41371 the variable pupa_dl_dir.
41372 (pupa_dl_set_prefix): Function removed.
41373 (pupa_dl_get_prefix): Likewise.
41374 * kern/i386/pc/init.c: Include <pupa/env.h>.
41375 (pupa_machine_init): Use the environment variable `prefix' instead of
41376 using pupa_dl_set_prefix to set the prefix.
41377 * kern/main.c: Include <pupa/env.h>.
41378 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41379 using pupa_dl_get_prefix to get the prefix.
41380 * kern/misc.c: Include <pupa/env.h>.
41381 (pupa_isdigit): New function.
41382 (pupa_isgraph): Likewise.
41383 (pupa_ftoa): Likewise.
41384 (pupa_vsprintf): Added support for printing values of the type
41385 `double'. Make it possible to format variable output when using
41386 formatting like `%1.2%f'.
41387 (pupa_split_cmdline): New function.
41388 * kern/rescue.c: Include <pupa/env.h>.
41389 (next_word): Removed function.
41390 (pupa_rescue_cmd_prefix): Likewise.
41391 (pupa_rescue_cmd_set): New function.
41392 (pupa_rescue_cmd_unset): New function.
41393 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41394 split the command line instead of splitting it here. Added
41395 support for setting variables using the syntax `foo=bar'. Don't
41396 initialize the prefix command anymore. Initialized the set and
41397 unset commands.
41398 * normal/cmdline.c: Include <pupa/env.h>.
41399 (pupa_tab_complete): Added prototypes for print_simple_completion,
41400 print_partition_completion, add_completion, iterate_commands,
41401 iterate_dev, iterate_part and iterate_dir. Moved code to print
41402 partition information from here to kern/disk.c.
fe6b695a 41403 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 41404 * normal/main.c: Include <pupa/env.h>.
41405 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41406 instead of using pupa_dl_get_prefix to get the prefix.
41407 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41408 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41409 warning.
41410 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41411 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41412 ((unused))' to silence a gcc warning.
41413 (pupa_vga_setcolor): Likewise.
41414 (debug_command): Changed to match argument parsing
41415 interface changes.
41416 * util/pupa-emu.c: Include <pupa/env.h>.
41417 (options): Added 0's for unused fields to silence a gcc warning.
41418 (argp): Likewise.
41419 (main): Use the environment variable `prefix' instead of using
41420 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41421 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41422 and terminal.
41423
41424 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41425 * util/misc.c: Include <malloc.h>.
41426 (pupa_malloc): Rewritten so errors are correctly reported.
41427 (pupa_realloc): Likewise.
41428 (pupa_memalign): Likewise.
41429 (pupa_mm_init_region): Declare unused variables with
41430 `__attribute__ ((unused))' to silence a gcc warning.
41431 * normal/i386/setjmp.S: Remove tab at the end of the file to
41432 silence a gcc warning.
41433 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41434 variables with `__attribute__ ((unused))' to silence a gcc
41435 warning.
41436 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41437 local variable i unsigned to silence a gcc warning.
41438
41439 * kern/term.c: Include <pupa/misc.h>.
41440 (pupa_more_lines): New variable.
41441 (pupa_more): Likewise.
41442 (pupa_putcode): When the pager is active pause at the end of every
41443 screen.
41444 (pupa_set_more): New function.
41445 * include/pupa/term.h (pupa_set_more): New prototype.
41446
41447
3b1139cb 414482004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41449
41450 Now this project is GRUB 2 rather than PUPA. The location of
41451 the CVS repository was moved to GRUB's.
f19dbdb7 41452
3b1139cb 41453 * configure.ac: Use bug-grub as the reporting address.
41454 Use GRUB instead of PUPA.
41455 Change the version number to 1.90.
41456
8367695c 414572004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41458
41459 * genkernsyms.sh: Updated copyright information.
41460 * genmk.rb: Likewise.
41461 * genmodsrc.sh: Likewise.
41462 * gensymlist.sh: Likewise.
41463 * boot/i386/pc/boot.S: Likewise.
41464 * boot/i386/pc/diskboot.S: Likewise.
41465 * disk/i386/pc/biosdisk.c: Likewise.
41466 * disk/i386/pc/partition.c: Likewise.
41467 * font/manager.c: Likewise.
41468 * fs/ext2.c: Likewise.
41469 * fs/fat.c: Likewise.
41470 * include/pupa/boot.h: Likewise.
41471 * include/pupa/device.h: Likewise.
41472 * include/pupa/disk.h: Likewise.
41473 * include/pupa/dl.h: Likewise.
41474 * include/pupa/elf.h: Likewise.
41475 * include/pupa/err.h: Likewise.
41476 * include/pupa/file.h: Likewise.
41477 * include/pupa/font.h: Likewise.
41478 * include/pupa/fs.h: Likewise.
41479 * include/pupa/kernel.h: Likewise.
41480 * include/pupa/loader.h: Likewise.
41481 * include/pupa/misc.h: Likewise.
41482 * include/pupa/mm.h: Likewise.
41483 * include/pupa/net.h: Likewise.
41484 * include/pupa/normal.h: Likewise.
41485 * include/pupa/rescue.h: Likewise.
41486 * include/pupa/setjmp.h: Likewise.
41487 * include/pupa/symbol.h: Likewise.
41488 * include/pupa/term.h: Likewise.
41489 * include/pupa/types.h: Likewise.
41490 * include/pupa/i386/setjmp.h: Likewise.
41491 * include/pupa/i386/types.h: Likewise.
41492 * include/pupa/i386/pc/biosdisk.h: Likewise.
41493 * include/pupa/i386/pc/boot.h: Likewise.
41494 * include/pupa/i386/pc/console.h: Likewise.
41495 * include/pupa/i386/pc/init.h: Likewise.
41496 * include/pupa/i386/pc/kernel.h: Likewise.
41497 * include/pupa/i386/pc/linux.h: Likewise.
41498 * include/pupa/i386/pc/loader.h: Likewise.
41499 * include/pupa/i386/pc/memory.h: Likewise.
41500 * include/pupa/i386/pc/multiboot.h: Likewise.
41501 * include/pupa/i386/pc/partition.h: Likewise.
41502 * include/pupa/i386/pc/time.h: Likewise.
41503 * include/pupa/i386/pc/vga.h: Likewise.
41504 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41505 * include/pupa/util/getroot.h: Likewise.
41506 * include/pupa/util/misc.h: Likewise.
41507 * include/pupa/util/resolve.h: Likewise.
41508 * kern/device.c: Likewise.
41509 * kern/disk.c: Likewise.
41510 * kern/dl.c: Likewise.
41511 * kern/err.c: Likewise.
41512 * kern/file.c: Likewise.
41513 * kern/fs.c: Likewise.
41514 * kern/loader.c: Likewise.
41515 * kern/main.c: Likewise.
41516 * kern/misc.c: Likewise.
41517 * kern/mm.c: Likewise.
41518 * kern/rescue.c: Likewise.
41519 * kern/term.c: Likewise.
41520 * kern/i386/dl.c: Likewise.
41521 * kern/i386/pc/init.c: Likewise.
41522 * kern/i386/pc/lzo1x.S: Likewise.
41523 * kern/i386/pc/startup.S: Likewise.
41524 * loader/i386/pc/chainloader.c: Likewise.
41525 * loader/i386/pc/linux.c: Likewise.
41526 * loader/i386/pc/multiboot.c: Likewise.
41527 * normal/cmdline.c: Likewise.
41528 * normal/command.c: Likewise.
41529 * normal/main.c: Likewise.
41530 * normal/menu.c: Likewise.
41531 * normal/i386/setjmp.S: Likewise.
41532 * term/i386/pc/console.c: Likewise.
41533 * term/i386/pc/vga.c: Likewise.
41534 * util/console.c: Likewise.
41535 * util/genmoddep.c: Likewise.
41536 * util/misc.c: Likewise.
41537 * util/pupa-emu.c: Likewise.
41538 * util/resolve.c: Likewise.
41539 * util/unifont2pff.rb: Likewise.
41540 * util/i386/pc/biosdisk.c: Likewise.
41541 * util/i386/pc/getroot.c: Likewise.
41542 * util/i386/pc/pupa-mkimage.c: Likewise.
41543 * util/i386/pc/pupa-setup.c: Likewise.
41544
e6eced71 415452004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41546
41547 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41548 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41549 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41550 reading and reset it after reading.
41551 (pupa_ext2_close): Return PUPA_ERR_NONE.
41552
41553 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41554 Correct value.
41555 (struct linux_kernel_header): Add kernel_version and
41556 initrd_addr_max.
41557 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41558 pupa_file_read succeeds.
41559 (pupa_rescue_cmd_initrd): Implement.
41560
5aded270 415612003-12-03 Marco Gerards <metgerards@student.han.nl>
41562
41563 * fs/ext2.c (pupa_ext2_label): New function.
41564 (pupa_ext2_fs): Added label.
41565 * fs/fat.c (pupa_fat_label): New function.
41566 (pupa_fat_fs): Added label.
41567 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41568
41569 * kern/misc.c (pupa_strndup): New function.
41570 * include/pupa/misc.h (pupa_strndup): New prototype.
41571
41572 * include/pupa/normal.h: Include <pupa/err.h>.
41573 (pupa_set_history): New prototype.
41574 (pupa_iterate_commands): New prototype.
41575 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41576 <pupa/disk.h>, <pupa/file.h>.
41577 (hist_size): New variable.
41578 (hist_lines): Likewise.
41579 (hist_end): Likewise.
41580 (hist_used): Likewise.
41581 (pupa_set_history): New function.
41582 (pupa_history_get): Likewise.
41583 (pupa_history_add): Likewise.
41584 (pupa_history_replace): Likewise.
41585 (pupa_tab_complete): Likewise.
41586 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41587 completion shows partitionnames while completing partitions, this
41588 feature was suggested by Jeff Bailey.
41589 * normal/command.c (pupa_iterate_commands): New function.
41590 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41591 (pupa_normal_init): Initialize history buffer.
41592 (PUPA_MOD_INIT): Likewise.
41593 (pupa_normal_fini): Free the history buffer.
41594 (PUPA_MOD_FINI): Likewise.
41595
41596 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41597 key.
41598
41599 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41600 * configure.ac [i386]: Check for regparam bug.
41601 (NESTED_FUNC_ATTR) [! i386]: Defined.
41602
1f7315a3 416032003-11-17 Marco Gerards <metgerards@student.han.nl>
41604
41605 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41606 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41607 (pupa_emu_SOURCES): New variable.
41608 (pupa_emu_LDFLAGS): Likewise.
41609 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41610 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41611 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41612 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41613 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41614 (pupa_jmp_buf): New typedef.
41615 (pupa_setjmp) [PUPA_UTIL]: New macro.
41616 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41617 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41618 (pupa_refresh): New prototype.
41619 * include/pupa/util/getroot.h: New file.
41620 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41621 it.
41622 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41623 (pupa_rescue_cmd_cat): Likewise.
41624 (pupa_rescue_cmd_ls): Likewise.
41625 (pupa_rescue_cmd_testload): Likewise.
41626 (pupa_rescue_cmd_lsmod): Likewise.
41627 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41628 * normal/menu.c (run_menu): Likewise.
41629 * kern/term.c (pupa_cls): Likewise.
41630 (pupa_refresh): New function.
41631 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41632 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41633 * util/console.c: New file.
f19dbdb7 41634
1f7315a3 41635 * util/i386/pc/getroot.c: New file.
41636 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41637 (pupa_putchar): New function.
41638 (pupa_refresh): Likewise.
41639 (xgetcwd): Function moved to ...
41640 (strip_extra_slashes): Likewise.
41641 (get_prefix): Likewise.
f19dbdb7 41642 * util/i386/pc/getroot.c: ... here.
1f7315a3 41643 (find_root_device): Function moved and renamed to...
41644 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
41645 Changed all callers.
41646 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41647 and renamed to...
41648 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41649 Changed all callers.
41650 * util/misc.c (pupa_memalign): New function.
41651 (pupa_mm_init_region): Likewise.
41652 (pupa_register_exported_symbols): Likewise.
41653 (pupa_putchar): Function removed.
41654 * util/pupa-emu.c: New file.
41655
9a5c1ade 416562003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41657
41658 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41659 (_multiboot_mod_SOURCES): New variable.
41660 (_multiboot_mod_CFLAGS): Likewise.
41661 * loader/i386/pc/multiboot.c: New file.
41662 * include/pupa/i386/pc/multiboot.h: Likewise.
41663 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41664 (pupa_multiboot_real_boot): New function.
41665 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41666 (pupa_multiboot_real_boot): New prototype.
41667 (pupa_rescue_cmd_multiboot): Likewise
41668 (pupa_rescue_cmd_module): Likewise.
41669
41670 * kern/loader.c (pupa_loader_set): Continue when
41671 pupa_loader_unload_func() fails.
41672 (pupa_loader_unset): New function.
41673 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41674
41675 * kern/misc.c (pupa_stpcpy): New function.
41676 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41677
8e72a9c0 416782003-11-12 Marco Gerards <metgerards@student.han.nl>
41679
41680 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41681 for available extensions.
41682
41683 * include/pupa/i386/pc/time.h: New file.
41684 * kern/disk.c: Include <pupa/machine/time.h>.
41685 (PUPA_CACHE_TIMEOUT): New macro.
41686 (pupa_last_time): New variable.
41687 (pupa_disk_open): Flush the cache when there was a timeout.
41688 (pupa_disk_close): Reset the timer.
41689 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41690 pupa_currticks.
41691 * util/misc.c: Include <sys/times.h>
41692 (pupa_get_rtc): New function.
41693
c4adbd32 416942003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41695
41696 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41697 as blocks.
41698 (pupa_ext2_get_file_block): Use blocks member.
41699
41700 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41701 first block. Return -1 instead of pupa_errno on error.
41702
bfd30f06 417032003-10-27 Marco Gerards <metgerards@student.han.nl>
41704
41705 * README: In the pupa-mkimage example use _chain instead of chain
41706 and ext2 instead of fat.
41707 * TODO: Replace ext2fs with jfs as an example. Add an item for
41708 adding journal playback for ext2fs.
41709 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41710 (pkgdata_MODULES): Added ext2.mod.
41711 (ext2_mod_SOURCES): New variable.
41712 (ext2_mod_CFLAGS): Likewise.
41713 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
41714 * include/pupa/misc.h (pupa_strncpy): New prototype.
41715 (pupa_strcat): Likewise.
41716 (pupa_strncmp): Likewise.
41717 * kern/misc.c (pupa_strcat): Enable function.
41718 (pupa_strncpy): New function.
41719 (pupa_strncmp): Likewise.
41720 * fs/ext2.c: New file.
f19dbdb7 41721
bfd30f06 41722 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
41723 when the read failed before retrying.
41724 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
41725 (_FILE_OFFSET_BITS): Likewise.
41726 * configure.ac: Added AC_SYS_LARGEFILE.
41727
98d15063 417282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41729
41730 * genmk.rb (PModule#rule): Make sure to get only symbol names
41731 from the output of nm.
59cad637 41732 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 41733
18d9c7cd 417342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41735
41736 I forgot to check in these changes for a long time. This adds
41737 incomplete support for VGA console, and this is still very
41738 buggy. Also, a lot of consideration is required for I18N,
41739 UNICODE, and VGA font issues. Therefore, assume that this is
41740 such that "better than nothing".
f19dbdb7 41741
18d9c7cd 41742 * font/manager.c: New file.
41743 * include/pupa/font.h: Likewise.
41744 * include/pupa/i386/pc/vga.h: Likewise.
41745 * term/i386/pc/vga.c: Likewise.
41746 * util/unifont2pff.rb: Likewise.
41747
41748 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
41749 (pkgdata_MODULES): Added vga.mod and font.mod.
41750 (vga_mod_SOURCES): New variables.
41751 (vga_mod_CFLAGS): Likewise.
41752 (font_mod_SOURCES): Likewise.
41753 (font_mod_CFLAGS): Likewise.
41754
41755 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
41756
41757 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 41758 (struct pupa_term): Added init and fini.
18d9c7cd 41759 Changed the argument of putchar to pupa_uint32_t.
41760
41761 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
41762 (pupa_console_real_putchar): New prototype.
41763 (pupa_console_putchar): Removed.
41764 (pupa_console_checkkey): Exported.
41765 (pupa_console_getkey): Likewise.
41766
41767 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
41768 characters.
41769
41770 * kern/term.c (pupa_term_set_current): Rewritten.
41771 (pupa_putchar): Likewise.
41772 (pupa_putcode): New function.
41773
41774 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
41775 (pupa_console_real_putchar): ... this.
41776 (pupa_vga_set_mode): New function.
41777 (pupa_vga_get_font): Likewise.
41778
41779 * normal/command.c: Include pupa/term.h.
41780 (terminal_command): New function.
41781 (pupa_command_init): Register the command "terminal".
41782
41783 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
41784 (DISP_UP): Likewise.
41785 (DISP_RIGHT): Likewise.
41786 (DISP_DOWN): Likewise.
41787 (DISP_HLINE): Likewise.
41788 (DISP_VLINE): Likewise.
41789 (DISP_UL): Likewise.
41790 (DISP_UR): Likewise.
41791 (DISP_LL): Likewise.
41792 (DISP_LR): Likewise.
41793
41794 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 41795
977329f5 417962003-02-08 NIIBE Yutaka <gniibe@m17n.org>
41797
41798 * util/resolve.c (pupa_util_resolve_dependencies): BUG
41799 FIX. Reverse the path_list.
41800
41801 * include/pupa/normal.h: Export pupa_register_command and
41802 pupa_unregister_command.
41803
41804 * hello/hello.c (pupa_cmd_hello): New module.
41805 * conf/i386-pc.rmk: Added hello.mod.
41806
1f5ab428 418072003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
41808
41809 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 41810
1f5ab428 41811 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
41812 (compress_kernel): New variable.
41813 (generate_image): Heavily modified to support compressing a
41814 large part of the core image.
41815
41816 * util/misc.c (pupa_util_read_image): Fix a file descriptor
41817 leak.
41818 (pupa_util_load_image): New function.
41819
41820 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
41821 (pupa_compressed_size): New variable.
41822 (codestart): Enable Gate A20 here.
41823 Decompress the compressed part of the core image.
41824 Rearrange the code to put functions and variables which are
41825 required for initialization in the non-compressed part.
41826 Include lzo1x.S.
41827
41828 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
41829 here.
41830
41831 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
41832
f19dbdb7 41833 * include/pupa/i386/pc/kernel.h
1f5ab428 41834 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
41835 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
41836 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41837 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41838 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
41839
41840 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
41841
41842 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
41843 (Utility#rule): Likewise.
41844
41845 * configure.ac: Check if LZO is available.
41846
ce5bf700 418472003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
41848
41849 * include/pupa/normal.h: New file.
41850 * include/pupa/setjmp.h: Likewise.
41851 * include/pupa/i386/setjmp.h: Likewise.
41852 * normal/cmdline.c: Likewise.
41853 * normal/command.c: Likewise.
41854 * normal/main.c: Likewise.
41855 * normal/menu.c: Likewise.
41856 * normal/i386/setjmp.S: Likewise.
f19dbdb7 41857
ce5bf700 41858 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
41859 (pupa_rescue_cmd_initrd): Likewise.
41860
41861 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
41862 Likewise.
41863
41864 * kern/i386/pc/startup.S (translation_table): New variable.
41865 (translate_keycode): New function.
41866 (pupa_console_getkey): Call translate_keycode.
41867
41868 * kern/rescue.c (attempt_normal_mode): New function.
41869 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
41870 it failed, print a message.
41871
41872 * kern/mm.c (pupa_real_malloc): Print more information when a
41873 free magic is broken.
41874 (pupa_free): If the first free header is not free actually, set
41875 it to P.
41876
41877 * kern/main.c (pupa_load_normal_mode): Just load the module
41878 "normal".
41879 (pupa_main): Don't print the message
41880 "Entering into rescue mode..." here.
41881
41882 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41883 Declared.
41884 (pupa_rescue_cmd_initrd): Likewise.
41885 (pupa_rescue_cmd_initrd): Likewise.
41886
41887 * include/pupa/symbol.h (FUNCTION): Specify the type.
41888 (VARIABLE): Likewise.
41889
41890 * include/pupa/err.h (pupa_err_t): Added
41891 PUPA_ERR_UNKNOWN_COMMAND.
41892
41893 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41894 (pupa_dl_get_prefix): Likewise.
41895
41896 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41897 Added _chain.mod and _linux.mod instead of chain.mod and
41898 linux.mod.
41899 (chain_mod_SOURCES): Renamed to ...
41900 (_chain_mod_SOURCES): ... this.
41901 (chain_mod_CFLAGS): Renamed to ...
41902 (_chain_mod_CFLAGS): ... this.
41903 (linux_mod_SOURCES): Renamed to ...
41904 (_linux_mod_SOURCES): ... this.
41905 (linux_mod_CFLAGS): Renamed to ...
41906 (_linux_mod_CFLAGS): ... this.
41907 (normal_mod_SOURCES): New variable.
41908 (normal_mod_CFLAGS): Likewise.
41909 (normal_mod_ASFLAGS): Likewise.
41910
419112003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41912
41913 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41914 possible.
41915
fe6b695a 41916 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 41917 recursively.
41918 (pupa_dl_unref): Unrefer depending modules recursively.
41919 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41920 a module is unloaded before one depending on that module is
41921 unloaded.
41922 (pupa_dl_unload): Unload depending modules explicitly,
41923 if possible.
41924
c04da074 419252003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41926
41927 * include/pupa/i386/pc/linux.h: New file.
41928 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 41929
c04da074 41930 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41931 Removed.
41932 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41933 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41934 of PUPA_CHAINLOADER_BOOT_SECTOR.
41935
41936 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41937 (pupa_linux_prot_size): New variable.
41938 (pupa_linux_tmp_addr): Likewise.
41939 (pupa_linux_real_addr): Likewise.
41940 (pupa_linux_boot_zimage): New function.
41941 (pupa_linux_boot_bzimage): Likewise.
41942
41943 * kern/i386/pc/init.c (struct mem_region): New structure.
41944 (MAX_REGIONS): New macro.
41945 (mem_regions): New variable.
41946 (num_regions): Likewise.
41947 (pupa_os_area_addr): Likewise.
41948 (pupa_os_area_size): Likewise.
41949 (pupa_lower_mem): Likewise.
41950 (pupa_upper_mem): Likewise.
41951 (add_mem_region): New function.
41952 (compact_mem_regions): Likewise.
41953 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41954 the size of the conventional memory and that of so-called upper
41955 memory (before the first memory hole).
41956 Instead of adding each found region to free memory, use
41957 add_mem_region and add them after removing overlaps.
41958 Also, add only 1/4 of the upper memory to free memory. The rest
41959 is used for loading OS images. Maybe this is ad hoc, but this
41960 makes it much easier to relocate OS images when booting.
41961
41962 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41963 (pupa_enter_rescue_mode): Don't register initrd and module.
41964
41965 * kern/mm.c: Include pupa/dl.h.
41966
41967 * kern/main.c: Include pupa/file.h and pupa/device.h.
41968
41969 * kern/loader.c (pupa_loader_load_module_func): Removed.
41970 (pupa_loader_load_module): Likewise.
41971
41972 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41973 ``.o''.
41974
41975 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41976 (pupa_linux_tmp_addr): Likewise.
41977 (pupa_linux_real_addr): Likewise.
41978 (pupa_linux_boot_zimage): Likewise.
41979 (pupa_linux_boot_bzimage): Likewise.
41980
41981 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41982 (pupa_upper_mem): Likewise.
41983 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41984 module is too dangerous.
41985
41986 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41987 (pupa_os_area_size): Likewise.
41988 (pupa_loader_set): Remove the first argument. Loader doesn't
41989 manage modules or initrd any longer.
41990 (pupa_loader_load_module): Removed.
41991
41992 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41993 (linux_mod_SOURCES): New variable.
41994 (linux_mod_CFLAGS): Likewise.
41995
a13f9237 419962003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41997
41998 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41999 the length of a blocklist correctly.
42000
42001 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42002 Use ioctl only if the OS file is a block device.
42003 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42004 not very useful for normal files.
42005
42006 * kern/main.c (pupa_set_root_dev): New function.
42007 (pupa_load_normal_mode): Likewise.
42008 (pupa_main): Call those above.
42009
42010 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42011 pupa_uint16_t.
42012
42013 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42014
a5ffe966 420152003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42016
42017 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42018 (setup): Configure the installed partition information and the
42019 dl prefix.
42020
42021 * loader/i386/pc/chainloader.c (my_mod): New variable.
42022 (pupa_chainloader_unload): New function.
42023 (pupa_rescue_cmd_chainloader): Refer itself.
42024 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42025
42026 * kern/i386/pc/startup.S (install_partition): Removed.
42027 (version_string): Likewise.
42028 (config_file): Likewise.
42029 (pupa_install_dos_part): New variable.
42030 (pupa_install_bsd_part): Likewise.
42031 (pupa_prefix): Likewise.
42032 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42033
42034 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42035 and pupa/misc.h.
42036 (make_install_device): New function.
42037 (pupa_machine_init): Set the dl prefix.
42038
42039 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42040 (buf): Renamed to ...
42041 (linebuf): ... this.
42042 (pupa_rescue_cmd_prefix): New function.
42043 (pupa_rescue_cmd_insmod): Likewise.
42044 (pupa_rescue_cmd_rmmod): Likewise.
42045 (pupa_rescue_cmd_lsmod): Likewise.
42046 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42047 rmmod and lsmod.
42048
42049 * kern/mm.c (pupa_memalign): If failed even after invalidating
42050 disk caches, unload unneeded modules and retry.
42051
42052 * kern/misc.c (pupa_memmove): New function.
42053 (pupa_memcpy): Removed.
42054 (pupa_strcpy): New function.
42055 (pupa_itoa): Made static.
42056
42057 * kern/dl.c (pupa_dl_iterate): New function.
42058 (pupa_dl_ref): Likewise.
42059 (pupa_dl_unref): Likewise.
42060 (pupa_dl_unload): Return if succeeded or not.
42061 (pupa_dl_unload_unneeded): New function.
42062 (pupa_dl_unload_all): Likewise.
42063 (pupa_dl_init): Renamed to ...
42064 (pupa_dl_set_prefix): ... this.
42065 (pupa_dl_get_prefix): New function.
42066
42067 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42068 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42069 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42070 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42071 (pupa_install_dos_part): Declared.
42072 (pupa_install_bsd_part): Likewise.
42073 (pupa_prefix): Likewise.
42074 (pupa_boot_drive): Likewise.
42075
42076 * include/pupa/types.h: Fix a typo.
42077
42078 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42079 pupa_memmove.
42080 (pupa_memmove): Declared.
42081 (pupa_strcpy): Likewise.
42082
42083 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42084 pupa_mod_init takes one argument, its own module.
42085 (pupa_dl_unload_unneeded): Declared.
42086 (pupa_dl_unload_all): Likewise.
42087 (pupa_dl_ref): Likewise.
42088 (pupa_dl_unref): Likewise.
42089 (pupa_dl_iterate): Likewise.
42090 (pupa_dl_init): Renamed to ...
42091 (pupa_dl_set_prefix): ... this.
42092 (pupa_dl_get_prefix): Declared.
42093
42094 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42095 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42096 unloaded.
42097 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42098 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42099
42100 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42101 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42102
012d7999 421032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42104
42105 * util/i386/pc/pupa-setup.c (setup): Define the internal
42106 function find_first_partition_start at the top level, because GCC
42107 3.0.x cannot compile internal functions in deeper scopes
42108 correctly.
42109 (find_root_device): Use lstat instead of stat.
42110 Don't follow symbolic links.
42111 Fix the path-constructing code.
42112
42113 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42114 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42115 by a BLKGETSIZE ioctl first, because block devices don't fill
42116 the member st_mode of the structure stat on Linux.
42117 [__linux__] (linux_find_partition): Use a temporary buffer
42118 REAL_DEV for the working space. Copy it to DEV before returning.
42119 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42120 buffer cache consistent.
42121 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42122 strncmp. The previous value was merely wrong.
42123 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42124
42125 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42126 FAT size is 12. The previous value was merely wrong.
42127
42128 * kern/main.c (pupa_main): Don't split the starting message from
42129 newlines.
42130
42131 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42132 LF, because BIOS goes crazy about character attributes in this
42133 case.
42134
1cc73a62 421352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42136
42137 * include/i386/pc/util/biosdisk.h: New file.
42138 * util/i386/pc/biosdisk.c: Likewise.
42139 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42140
1cc73a62 42141 * Makefile.in (INCLUDE_DISTFILES): Added
42142 include/pupa/i386/pc/util/biosdisk.h.
42143 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42144 directory util/i386/pc.
42145 (install-local): Added a rule for sbin_UTILITIES.
42146 (uninstall): Likewise.
42147
42148 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42149
42150 * util/misc.c (xrealloc): New function.
42151 (pupa_malloc): Likewise.
42152 (pupa_free): Likewise.
42153 (pupa_realloc): Likewise.
42154 (pupa_stop): Likewise.
42155 (pupa_putchar): Likewise.
42156
42157 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42158
42159 * include/pupa/util/misc.h (xrealloc): Declared.
42160
42161 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42162 macro.
42163 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42164 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42165
42166 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42167 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42168
42169 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42170 way should be implemented.
42171 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42172
42173 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42174 the size of NAME for safety.
42175 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42176 0x88.
42177
42178 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42179 (pupa_setup_SOURCES): Likewise.
42180
42181 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42182
08b70fe8 421832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42184
42185 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42186 bunch of pushl's from pusha, because this destroys the return
42187 value.
42188
62ddcc8f 421892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42190
42191 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42192 This means that any missing prototypes could be fatal. Also, you
42193 must take care when writing assembly code. See the comments at
42194 the beginning of startup.S, for more details.
f19dbdb7 42195
62ddcc8f 42196 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42197 compilation mechanism.
42198 (pupa_chainloader_real_boot): Likewise.
42199 (pupa_biosdisk_rw_int13_extensions): Likewise.
42200 (pupa_biosdisk_rw_standard): Likewise.
42201 (pupa_biosdisk_check_int13_extensions): Likewise.
42202 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42203 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42204 (pupa_get_memsize): Likewise.
42205 (pupa_get_mmap_entry): Likewise.
42206 (pupa_console_putchar): Likewise.
42207 (pupa_console_setcursor): Likewise.
42208 (pupa_getrtsecs): Use pushl instead of push.
42209
42210 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42211 memory instead of the stack for a mmap entry, because some
42212 BIOSes may ignore the maximum size and overflow.
42213
42214 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42215
42216 * genmk.rb (PModule#rule): Compile automatically generated
42217 sources with module-specific CFLAGS as well as other sources.
42218
9962ed99 422192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42220
42221 * configure.ac: Check ld.
42222 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42223 respectively, before checking endianness and sizes.
42224
42225 * Makefile.in (LD): New variable.
f19dbdb7 42226
abdfc3c5 422272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42228
42229 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42230
6a161fa9 422312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42232
42233 * Changelog: New file.
42234