]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* conf/Makefile.common (platform_SCRIPTS): New variable.
[grub2.git] / ChangeLog
CommitLineData
80a71213
VS
12012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * conf/Makefile.common (platform_SCRIPTS): New variable.
4 (platform_PROGRAMS): Likewise.
5 * gentpl.py: Mark *,module and *.image for install.
6 * grub-core/gdb_grub.in: Add a notice of expected environment.
7 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8 (gmodule.pl): Likewise.
9
a8f16eab
VS
102012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Replace grub_checkkey with grub_getkey_noblock.
13
14 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
15 (grub_getkey_noblock): ... this. All users updated.
16
b500bcfe
VS
172012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/kern/emu/console.c: Move to ...
20 * grub-core/term/emu/console.c: ...here.
21 (grub_ncurses_getkey): Fix return value if no key is detected.
22
e51b5666
VS
232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
26 (grub_unit_test_fini): Likewise.
27 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
28
292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * include/grub/test.h (GRUB_UNIT_TEST)
32
d9a62292
VS
332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/script/execute.c (grub_script_break): Clarify logic.
36 Better error handling.
37 (grub_script_return): Likewise.
38 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
39
77c9182f
VS
402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
43 rimplicit redifinition.
44
edb13cf9
VS
452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
48 GRUB.
49
a9e9dc7c
VS
502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
53 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
54 prompt here.
55
b4ba8e02
VS
562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
59 as GRUB_ERR_BUG. Don't malloc if no device is available.
60
dded5540
VS
612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
64 Mark calling with invalid term as GRUB_ERR_BUG.
65
0cf69874
VS
662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
69 packets rather than raising an error.
70
59bfe502
VS
712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
74 in if.
75
db5fc596
VS
762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
79 diagnostic to dprintf.
80 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
81
e4b7f404
VS
822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
85 device name.
86
e7b02f9e
VS
872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
90 (grub_ntfs_iterate_dir): Likewise.
91
0331e102
VS
922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Efiemu stylistic fixes and gettext.
95
96 * grub-core/efiemu/i386/loadcore32.c
97 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
98 * grub-core/efiemu/i386/loadcore64.c
99 (grub_arch_efiemu_relocate_symbols64): Likewise.
100 * grub-core/efiemu/i386/pc/cfgtables.c
101 (grub_machine_efiemu_init_tables): Likewise.
102 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
103 (grub_efiemu_loadcore_initXX): Add a filename argument.
104 All users updated.
105 Improved error message.
106 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
107 Add a filename argument.
108 All users updated.
109 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
110 Reclassify double relocation as GRUB_ERR_BUG.
111
306fc074
VS
1122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
115 handling.
116
794d8ef2
VS
1172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
120 on partition.
121
1222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
123
124 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
125
794d8ef2 1262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
127
128 Improve string. Gettextize.
129
78dde88e
VS
1302012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
133 utils.
134 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
135
4786a90f
VS
1362012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
139 [GRUB_UTIL]: New function.
140 (insert_array) [GRUB_UTIL]: Store partmaps.
141 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
142 partmaps.
143 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
144 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
145 (probe_abstraction): Print diskfilter and not raid.
146 Reported by: Lennart Sorensen
147
0b6225bd
VS
1482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
151 * util/grub-mkimagexx.c (MASK3): New define.
152 (add_value_to_slot_20b): Use MASK3.
153 (add_value_to_slot_21): Likewise.
154 (relocate_addresses): Fix format specification.
155 (load_image): Explicitly init symtab_section.
156
b055f8f6
VS
1572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
160 (grub_util_biosdisk_get_grub_dev): Fix format specification.
161
b77c2fb7
VS
1622012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
165 on powerpc.
166 Reported by: Lennart Sorensen
167
e3ec28ab
VS
1682012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * gentpl.py: Add missing license header.
171 * docs/grub.texi: Update copyright year.
172
c8d9ead6
GS
1732012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
174
175 Source grub-mkconfig_lib from the build directory at build time.
176 Suggested by: Vladimir Serbinenko.
177
178 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
179 * util/grub-install.in: Define pkgdatadir if not already set, and source
180 grub-mkconfig_lib from there.
181 * util/grub-kbdcomp.in: Likewise.
182 * util/grub-mkconfig.in: Likewise.
183 * util/grub-mknetdir.in: Likewise.
184 * util/grub-mkrescue.in: Likewise.
185 * util/grub-mkstandalone.in: Likewise.
186 * util/grub-reboot.in: Likewise.
187 * util/grub-set-default.in: Likewise.
188 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
189
ebcecdf1
VS
1902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Increase warning level.
193
194 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
195 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
196 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
197 (TARGET_CFLAGS): Likewise.
198 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
199 * grub-core/Makefile.core.def (decompressor_xz): Add
200 -Wno-unreachable-code.
201 (normal): Add -Wno-redundant-decls.
202 (xzio): Add -Wno-unreachable-code.
203 (lzopio): Add -Wno-redundant-decls -Wno-error.
204 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
205 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
206 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
207 * grub-core/kern/dl.c: Add exception to -Wcast-align.
208 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
209 * grub-core/kern/i386/coreboot/init.c: Add exception to
210 -Wsuggest-attribute=noreturn.
211 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
212 * grub-core/kern/ia64/dl_helper.c: Likewise.
213 * grub-core/kern/mips/dl.c: Likewise.
214 * grub-core/kern/sparc64/dl.c: Likewise.
215 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
216 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
217 (memcmp): Likewise.
218 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
219 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
220 * grub-core/loader/mips/linux.c: Likewise.
221 * grub-core/loader/multiboot_elfxx.c: Likewise.
222 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
223 * grub-core/video/sm712.c: Add exception to -Wcast-align.
224 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
225 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
226 fixme.
227 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
228 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
229 Fix prototype.
230
37bb97fe
VS
2312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
234 address.
235
29a3550b
VS
2362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
239 Avoid improper use of strings.
240 (grub_cmd_legacy_initrdnounzip): Likewise.
241
dfdffd0d
VS
2422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * include/grub/emu/misc.h (grub_util_warn): Add missing format
245 attribute.
246 (grub_util_info): Likewise.
247 (grub_util_error): Likewise.
248
102fae4a
VS
2492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
252 * util/grub-fstest.c (fstest): Likewise.
253
7e94d044
VS
2542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
257 (grub_md_sha512_real): Likewise.
258 (grub_util_get_geli_uuid): Likewise.
259 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
260 (grub_util_biosdisk_open): Fix format specification.
261 Respect format security.
262 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
263 (xrealloc): Likewise.
264 (xasprintf): Likewise.
265
5ebd9769
VS
2662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/import_gcry.py: Include grub/crypto.h in init.c.
269
495fc8c1
VS
2702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
273 (generate_image): Make prefix a const char *.
274 Fix format specifications. Respect format security.
275 Avoid void * arithmetics.
276 Avoid shadowing.
277 (argp_parser): Remove unused variable. Respect format security.
278 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
279 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
280 (count_funcs): Remove unused variable.
281 (relocate_addresses): Fix format specification.
282 Disable x86-64 with elf32. Remove unused variables.
283 (add_fixup_entry): Avoid shadowing.
284 (make_reloc_section): Fix format specification.
285 Use assert.
286 (locate_sections): Fix format specifications.
287 (load_image): Avoid shadowing.
288
043c2ea3
VS
2892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
292 Fix format specifications. Respect format security.
293 Don't translate already translated grub_errmsg.
294 (argp_parser): Remove unused variable
295
3ec65a81
VS
2962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
299
a4d9fe4a
VS
3002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
303 (main): Likewise. Use xmalloc. Respect format security.
304
15b81d49
VS
3052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
308 a const char *.
309 (argp_parser): Remove unused variable.
310
31731fc0
VS
3112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
314 (add_pixel): Make static.
315 (add_font): Likewise.
316 (write_string_section): Make name and str a const char *.
317 (write_be16_section): Make name a const char *.
318 (print_glyphs): Make static.
319 (write_font_ascii_bitmap): Likewise.
320 (write_font_width_spec): Likewise.
321 (write_font_pf2): Likewise.
322 (argp_parser): Remove unused variable.
323 Respect format security.
324 (main): Avoid shadowing. Respect format security.
325
0809527b
VS
3262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * util/grub-editenv.c (argp_parser): Make static.
329 (create_envblk_file): Use xmalloc.
330 (open_envblk_file): Likewise.
331 Resepect format security.
332 (set_variables): Respect format security.
333
45b0c8b7
VS
3342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/getroot.c (grub_find_device): Respect format security.
337 (get_mdadm_uuid): Remove unused variable.
338 (grub_util_pull_device): Dont call gettext on already translated
339 grub_errmsg.
340 (find_system_device): Remove unused variable.
341 (grub_util_get_grub_dev): Likewise.
342 (grub_make_system_path_relative_to_its_root): Respect format security.
343
1b024b4e
VS
3442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-fstest.c (execute_command): Make first argument
347 a const char *.
348 (read_file): Avoid shadowing.
349 Reuse underlying error message if device open fails.
350 (cmd_cmp): Respect format security.
351 (root): Make const char *.
352 (fstest): Remove args argument and use global copy.
353 Respect format security.
354 (argp_parser): Make static.
355 (main): Make default_root const char *.
356
5d1d4e28
VS
3572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub-mount.c (root): Make const char *.
360 (execute_command): Make first argument a const char *.
361 (fuse_init): Respect format security.
362 (argp_parser): Make static. Remove unused variable.
363 (main): Make default_root a const char *.
364 Respect format security.
365
36eb7379
VS
3662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * util/grub-probe.c (probe): Don't call gettext on already translated
369 grub_errmsg.
370 Remove unused variables.
371 (argp_parser): Remove unused variable.
372
76fb2ea9
VS
3732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * util/grub-script-check.c (argp_parser): Remove unused variable.
376 (main): Rename read to curread to avoid shadowing.
377
56c98584
VS
3782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/misc.c (grub_util_write_image_at): Fix format specification.
381 (grub_util_write_image): Likewise.
382 (grub_script_execute_argument_to_string): Removed (unused).
383 (grub_script_execute_menuentry): Likewise.
384 (grub_putchar): Likewise.
385
164ebb48
VS
3862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
389 (FUNCTION) [GRUB_UTIL]: Likewise.
390 (VARIABLE) [GRUB_UTIL]: Likewise.
391
44318d61
VS
3922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
395 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
396
31a26002
VS
3972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
400 buffer.
401
4022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
405 (LzmaEnc_SaveState): Removed (unused).
406 (LzmaEnc_RestoreState): Likewise.
407 (LzmaEnc_InitPriceTables): Made static.
408 (LzmaEnc_Construct): Likewise.
409 (LzmaEnc_FreeLits): Likewise.
410 (LzmaEnc_Destruct): Likewise.
411 (LzmaEnc_Init): Likewise.
412 (LzmaEnc_InitPrices): Likewise.
413 (LzmaEnc_Finish): Likewise.
414 (LzmaEnc_PrepareForLzma2): Removed (unused).
415 (LzmaEnc_MemPrepare): Likewise.
416 (LzmaEnc_GetNumAvailableBytes): Likewise.
417 (LzmaEnc_GetCurBuf): Likewise.
418 (LzmaEnc_CodeOneMemBlock): Likewise.
419
6fa67967
VS
4202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
423 (grub_util_ldm_embed): Likewise.
424
9a7428e6
VS
4252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * util/grub-editenv.c (print_var): Rename name to varname to
428 avoid shadowing.
429 (main): Rename index to curindex to avoid shadowing.
31a26002 430 Make filename a const char *.
9a7428e6 431
4f96abd1
VS
4322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
435 to arg_getline to avoid shadowing.
436
44d10dad
VS
4372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
440 disk_ to avoid shadowing.
441
340ba63e
VS
4422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
445 curindex to avoid shadowing.
446 Make static.
447 (MatchFinder_GetNumAvailableBytes): Make static.
448
22965bce
VS
4492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
452 avoid shadowing.
453
7b5784d4
VS
4542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
457 argument from encrypt to do_encrypt to avoid shadowing.
458
6f48ca01
VS
4592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
462 incorrect nesting of #if's.
463
a4ea2dff
VS
4642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
467 checks which are always false on some platforms.
468 (grub_cmd_lsacpi): Likewise.
469 * grub-core/kern/misc.c (grub_strtoul): Likewise.
470 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
471 Likewise.
472
def9fc1b
VS
4732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
476 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
477
a67b2a04
VS
4782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
481 re_dfa_t to avoid breaking alignment invariants.
482 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
483 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
484
44c6828d
VS
4852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
488 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
489
bebe0dd0
VS
4902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
493 Fix declaration.
494
a9cdb3cf
VS
4952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
498 conserve alignment invariants.
499 (grub_ehci_ehcc_read16): Likewise.
500 (grub_ehci_oper_read32): Likewise.
501 (grub_ehci_oper_write32): Likewise.
502 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
503 Conserve alignment invariants.
504
ccc3b1b8
VS
5052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
508 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
509 declarations.
510
987fbd95
VS
5112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
514 Remove unused variable.
515
0df363f3
VS
5162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
519 Remove set in if.
520
b2c0c4a6
VS
5212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * include/grub/net.h: Remove double declarations.
524
690c531f
VS
5252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Remove "payload" command in ia64 Linux loader since I couldn't
528 find any evidence of it being used for anything.
529 Replace "relocate" command with an environment variable
530
531 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
532 fields.
533 (ia64_boot_payload): Removed.
534 (last_payload): Likewise.
535 (RELOCATE_OFF): Likewise.
536 (RELOCATE_ON): Likewise.
537 (RELOCATE_FORCE): Likewise.
538 (relocate): Likewise.
539 (free_pages): Don't free payloads.
540 (grub_load_elf64): Use common error messages.
541 Use "linux_relocate" variable.
542 Increase the space after boot_params.
543 (grub_cmd_payload): Removed.
544 (grub_cmd_relocate): Likewise.
545 (grub_cmd_fpswa): Improve messages.
546 (cmd_payload): Removed.
547 (cmd_relocate): Likewise.
548 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
549 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
550
01783768
VS
5512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
552
553 Convert UHCI to DMA framework.
554
555 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
556 (grub_uhci_pci_iter): Fill new members
557 (grub_alloc_td): Use P2V and V2P functions.
558 (grub_free_queue): Likewise.
559 (grub_alloc_qh): Likewise.
560 (grub_uhci_setup_transfer): Likewise.
561 (grub_uhci_check_transfer): Likewise.
562
43206939
VS
5632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
566 Remove assignment in if while on it.
567
571e140e
VS
5682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * util/grub-mkstandalone.in: Fix modules directory.
571
a9d96eeb
VS
5722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
575 on i386-pc target.
576 (argp_parser): Accept "auto" as compression specification.
577
e4e37e8d
VS
5782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Fix `help' with unloaded modules.
581
582 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
583 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
584 (grub_dyncmd_dispatcher): Small stylistic fix.
585 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
586 explicit help is requested.
587
e1ea3ade
VS
5882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
591 Explicitly init restart while on it.
592
27556881
VS
5932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
596 uninited variable.
597
d65f6b36
VS
5982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/grub-mknetdir.in: Use . rather than source for POSIX
601 compatibility.
602
0a1e473c
VS
6032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
606
ce6647c8
VS
6072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
610 variable.
611
66747894
VS
6122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
615 without quotes.
616
71645f6e
VS
6172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
620
0e1c1f61
VS
6212012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
624 iteration of partitions.
625
9c4b5c13
VS
6262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Improve gettext support. Stylistic fixes and error handling fixes while
629 on it.
630
215c90cb
VS
6312012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
634 part. Instead setup the correct stack in RM.
635 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
636 for stack.
637 * include/grub/i386/relocator_private.h: New file.
638
b5c1f9bf
VS
6392012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
642 argument.
643 * util/grub-fstest.c (options): Add missing DEVICE part.
644
b525fd83
VS
6452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Clarify and unify messages.
648
649 * grub-core/commands/hashsum.c (options): Unify messages.
650 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
651 literal-only message as translatable.
652 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
653 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
654 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
655 commands.
656 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
657 key, not the key used to unlock. Clarify what it's used for.
658 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
659 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
660 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
661 * util/grub-editenv.c (options): Unify "verbose" message.
662 * util/grub-fstest.c (read_file): Unify error message.
663 (fstest): Add quotes around commands.
664 (options): Unify "verbose" message.
665 * util/grub-install.in: Add quotes around variable name.
666 * util/grub-kbdcomp.in: Unify error message.
667 * util/grub-mkfont.c (main): Likewise.
668 * util/grub-mkrescue.in: Likewise.
669 * util/grub-mklayout.c (options): Unify "verbose" message.
670 * util/grub-mkstandalone.in: Unify help and verbose messages.
671 * util/grub-mount.c (options): Unify "verbose" message.
672 * util/grub-probe.c (options): Likewise.
673 * util/grub-script-check.c (options): Likewise.
674 * util/grub-setup.c (setup): Unify no-terminator message.
675 (options): Use DEVICE and not DEV.
676 Unify "verbose" message.
677 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
678
0ae70393
VS
6792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
680
681 Improve and unify messages.
682
683 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
684 name. All users updated.
685 Print filename in error.
686 (read_device_map): Print filename in error.
687 * util/getroot.c (grub_guess_root_devices): Print filename in error.
688 (grub_util_get_os_disk): Likewise.
689 (grub_util_biosdisk_get_grub_dev): Likewise.
690 (grub_util_check_block_device): Likewise.
691 (grub_util_check_char_device): Likewise.
692 (grub_make_system_path_relative_to_its_root): Likewise.
693 * util/grub-editenv.c (create_envblk_file): Likewise.
694 (open_envblk_file): Likewise.
695 (write_envblk): Likewise.
696 * util/grub-fstest.c (cmd_cp): Likewise.
697 (cmd_cat): Likewise.
698 (cmd_cmp): Likewise.
699 * util/grub-menulst2cfg.c (main): Likewise.
700 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
701 (write_font_width_spec): Likewise.
702 (write_font_pf2): Likewise.
703 * util/grub-mkimage.c (generate_image): New argument outname.
704 All users updated.
705 Remove unreacheable message.
706 (options): Unify messages.
707 (help_filter): Likewise.
708 * util/grub-mklayout.c (usage): Removed (unused).
709 (main): Print filename in error.
710 * util/grub-mkrescue.in: Fix wrong quoting.
711 * util/grub-setup.c (setup): Print filename in error.
712 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
713 (check_sas): Likewise.
714 * util/misc.c (grub_util_get_fp_size): Removed.
715 (grub_util_get_image_size): Print filename in error.
716 (grub_util_read_at): Removed.
717 (grub_util_read_image): Print filename in error.
718 (grub_util_load_image): Likewise.
719 (grub_util_write_image_at): New argument filename. All users updated.
720 Print filename in error.
721 (grub_util_write_image): New argument filename. All users updated.
722 Print filename in error.
723 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
724 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
725
0a96117d
VS
7262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/Makefile.core.def (pxechain): New module.
729 * grub-core/loader/i386/pc/pxechainloader.c: New file.
730 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
731 function.
732 (grub_pc_net_config_real): Use grub_pxe_get_cached.
733 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
734
aca002f7
VS
7352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
738 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
739 * include/grub/err.h (grub_error_saved): New struct.
740 (grub_errmsg): Make array size explicit.
741 * include/grub/misc.h (grub_error_save): New function.
742 (grub_error_load): Likewise.
743 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
744 (grub_error_push): Update `errno' member name.
745 (grub_error_pop): Likewise
746 * grub-core/net/tftp.c (tftp_data): New member save_err.
747 (tftp_receive): Save error.
748 (tftp_open): Restore error.
749
a51dab13
VS
7502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
753 to real mode down to execute A20-related code in protected mode as
754 intended.
755
eb6e6649
GS
7562012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
757
758 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
759 NULL when the argument `level' has an unexpected value.
760
92cd0f6e
VS
7612012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Move platform-dependent files from $prefix to $prefix/$platform.
764
765 * config.h.in (GRUB_TARGET_CPU): New definition.
766 (GRUB_PLATFORM): Likewise.
767 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
768 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
769 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
770 * grub-core/kern/dl.c (grub_dl_load): Likewise.
771 * grub-core/normal/autofs.c (read_fs_list): Likewise.
772 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
773 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
774 * grub-core/normal/term.c (read_terminal_list): Likewise.
775 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
776 $prefix/locale.
777 (grub_gettext_init_ext): Likewise.
778 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
779 grub_platform.
780 * util/grub-install.in: Update directories.
781 * util/grub-mknetdir.in: Likewise.
782 * util/grub-mkrescue.in: Likewise.
783
db606889
VS
7842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
787 grub_error framework. All users updated.
788
c39992a4
VS
7892012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
792 lists (by always binsearching), improve caching (cache strings
793 used for binsearch, not only results), improve
794 maintainability (by using more structured binary search) and correct
795 error handling.
796
1e5ec32f
VS
7972012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/script/execute.c (grub_script_return): Fix warning.
800
ac576cde
VS
8012012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/script/execute.c (grub_script_return): Fix potential
804 NULL-dereference.
805 Reported by: Jim Meyering.
806
498453f6
VS
8072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * po/POTFILES.in: Regenerate.
810 * util/grub-install.in: Gettextize the strings missed in first pass.
811
8be63f2e
VS
8122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * Makefile.util.def (grub-mkdevicemap): Removed.
815 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
816 * include/grub/util/deviceiter.h: Removed.
817 * util/deviceiter.c: Likewise.
818 * util/getroot.c (grub_util_get_os_disk): New function.
819 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
820 replacement for EFI.
821 * util/grub-mkdevicemap.c: Removed.
822 * util/grub-probe.c (probe): Handle PRINT_DISK.
823 (argp_parser): Handle -t disk.
824
8e1e4e39
VS
8252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/grub-mkfont.c: Migrate to argp.
828 * util/grub-mklayout.c: Likewise.
829 * util/grub-mkpasswd-pbkdf2.c: Likewise.
830 * util/grub-mkrelpath.c: Likewise.
831 * util/grub-probe.c: Likewise.
832 * util/grub-script-check.c: Likewise.
833
4459819a
VS
8342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * util/grub-reboot.in: Add missing datarootdir.
837 Add missing newline.
838 * util/grub-set-default.in: Add missing datarootdir.
839 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
840 * util/grub-mkrescue.in: Likewise.
841
f65741c7
VS
8422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
845
c1a33466
VS
8462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * util/grub-kbdcomp.in: Add decent help and gettextize.
849 * docs/man/grub-kbdcomp.h2m: New file.
850
c76899a0
VS
8512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
852
853 Migrate grub-mkimage.c to argp.
854
855 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
856 (grub-setup): Likewise.
857 * util/grub-setup.c (print_version): Move to ...
858 * util/argp_common.c (print_version): ... here.
859 * util/grub-setup.c (argp_program_version_hook): Move to ...
860 * util/argp_common.c (argp_program_version_hook): ... here.
861 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
862 safety.
863 * util/grub-mkimage.c (main): Migrate to argp.
864
57db0757
VS
8652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/grub-mkrescue.in: Use same message as
868 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
869 for better translations.
870
18534ad9
VS
8712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
874 options with generic grub-mkrescue.in with the goal of future
875 merge.
876
c84ba308
VS
8772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/kern/mm.c: Add missing include of i18n.h
880 * grub-core/lib/relocator.c: Likewise.
881
347998c2
VS
8822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
885 error.
886 (allocate_pages): Check return value.
887 Replace fatal with error.
888 (grub_linux_boot): Replace printf with dprintf.
889 Check find_mmap_size return value.
890 Replace fatal with error.
891 Don't call grub_machine_fini.
892 (grub_load_elf64): Replace printf with dprintf.
893 (grub_cmd_linux): Likewise.
894 (grub_cmd_initrd): Likewise.
895 (grub_cmd_payload): Likewise.
896
c779226e
VS
8972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
900 message.
901 * grub-core/video/radeon_fuloong2e.c
902 (grub_video_radeon_fuloong2e_setup): Likewise.
903 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
904 * grub-core/video/video.c (grub_video_set_mode): Don't override
905 standard out of memory message.
906
dc87d45a
GS
9072012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
908
909 NetBSD disk wedge support.
910
911 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
912 [__NetBSD__]: Handle NetBSD disk wedges.
913 * util/getroot.c (convert_system_partition_to_system_disk)
914 [__NetBSD__]: Likewise.
915
055f856f
MW
9162012-02-03 Mark Wooding <mdw@distorted.org.uk>
917
918 * util/grub-mkconfig.in: Use umask rather than chmod to create
919 grub.cfg.new to avoid insecure grub.cfg.
920
4a9f8346
VS
9212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/commands/ls.c: Gettextize.
924 * grub-core/commands/setpci.c: Likewise.
925 * grub-core/commands/videotest.c: Likewise.
926 * grub-core/disk/geli.c: Likewise.
927 * grub-core/kern/mm.c: Likewise.
928 * grub-core/lib/relocator.c: Likewise.
929 * grub-core/loader/efi/appleloader.c: Likewise.
930 * grub-core/loader/i386/xnu.c: Likewise.
931 * grub-core/loader/ia64/efi/linux.c: Likewise.
932 * grub-core/loader/xnu.c: Likewise.
933 * grub-core/net/dns.c: Likewise.
934 * grub-core/net/net.c: Likewise.
935 * grub-core/script/lexer.c: Likewise.
936 * grub-core/script/parser.y: Likewise.
937 * grub-core/script/yylex.l: Likewise.
938 * util/getroot.c: Likewise.
939 * util/grub-setup.c: Likewise.
940
a646a366
VS
9412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
944 number.
945
54e2be26
VS
9462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
949
f7c71e68
VS
9502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
953 macro.
954 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
955 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
956
a32d5c71
VS
9572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
960 * util/grub-install.in: Gettextize.
961 * util/grub-mkconfig.in: Likewise.
962 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
963 if not available.
964 (grub_warn): Gettextize.
965 * util/grub-mknetdir.in: Gettextize.
966 * util/grub-mkrescue.in: Likewise.
967 * util/grub-mkstandalone.in: Likewise.
968 * util/grub-reboot.in: Likewise.
969 * util/grub-set-default.in: Likewise.
970 * util/grub.d/00_header.in: Likewise.
971 * util/grub.d/10_hurd.in: Likewise.
972 * util/grub.d/10_kfreebsd.in: Likewise.
973 * util/grub.d/10_linux.in: Likewise.
974 * util/grub.d/10_netbsd.in: Likewise.
975 * util/grub.d/10_windows.in: Likewise.
976 * util/grub.d/20_linux_xen.in: Likewise.
977 * util/grub.d/30_os-prober.in: Likewise.
978 * po/POTFILES-shell.in: Regenerate.
979
69edd81a
RL
9802012-02-03 Richard Laager <rlaager@wiktel.com>
981
982 * util/grub-mkimage.c (main): Fix format-security warning.
983 * util/grub-mkrelpath.c (main): Likewise.
984 * util/grub-probe.c (main): Likewise.
985
65f08dbf
RL
9862012-02-03 Richard Laager <rlaager@wiktel.com>
987
988 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
989 failure.
990 Put back lost PRINT_DRIVE.
991
e9084abe
RL
9922012-02-03 Richard Laager <rlaager@wiktel.com>
993
994 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
995 (grub_guess_root_devices): Replace strlen with sizeof.
996 Avoid crash.
997 (find_root_devices_from_poolname): Remove unused variable.
998 Handle raidzN.
999
cf5f7ee7
VS
10002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Support install on multi-device filesystems.
1003
1004 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1005 (grub_guess_root_devices): ...this. Return char **. All users updated.
1006 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1007 Removed.
1008 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1009 (find_root_devices_from_poolname): ... here.
1010 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1011 Support zfs-fuse.
1012 (grub_guess_root_device): Rename to ...
1013 (grub_guess_root_devices): ... this. Return char **. All users updated.
1014 * util/grub-install.in: Handle multi-device filesystems.
1015 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1016 argument. All users updated.
1017 Handle multi-device filesystems.
1018 Use 'delim' as separator.
1019 Remove device check to allow filesystems on file.
1020 (main): Support -0 argument. Handle multi-device.
1021 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1022 Fix a cross-device check while on it.
1023 (arguments): Remove root_dev.
1024 (argp_parser): Remove -r.
1025 (main): Remove root_dev.
1026
2f53a9ed
VS
10272012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1030
17e1d934
VS
10312012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1034 symbol.
1035 Reported by: NODA, Kai <nodakai>.
1036
d3e3fab5
VS
10372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Fix ehci on amd64.
1040
1041 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1042 pointers.
1043 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1044 (grub_ehci_setup_qh): Likewise.
1045 (grub_ehci_find_qh): Likewise.
1046 (grub_ehci_transaction): Likewise.
1047 (grub_ehci_setup_transfer): Likewise.
1048 (grub_ehci_check_transfer): Likewise.
1049 (grub_ehci_portstatus): Likewise.
1050 (grub_ehci_detect_dev): Likewise.
1051 (grub_ehci_transfer_controller_data): New field td_last_phys.
1052 (grub_ehci_setup_transfer): Fill td_last_phys.
1053 (grub_ehci_check_transfer): Use td_last_phys.
1054
3008675b
SG
10552012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1056
1057 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1058 if no submenu is present.
1059
fc9b5652
AN
10602012-02-01 Aleš Nesrsta <starous@volny.cz>
1061
1062 CBI support.
1063
1064 * include/grub/usb.h (grub_usbms_protocol_t): New values
1065 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1066 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1067 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1068 (grub_usbms_dev): Add subclass, protocol and intrpt.
1069 Remove in_maxsz and out_maxsz.
1070 (grub_usbms_reset): Rename to ...
1071 (grub_usbms_bo_reset): .. this.
1072 (grub_usbms_cbi_cmd): New function.
1073 (grub_usbms_cbi_reset): Likewise.
1074 (grub_usbms_reset): Likewise.
1075 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1076 (grub_usbms_transfer): Rename to ...
1077 (grub_usbms_transfer_bo): ... this.
1078 (grub_usbms_transfer_cbi): Likewise.
1079 (grub_usbms_transfer): Likewise.
1080
a2b81d53
AN
10812012-02-01 Aleš Nesrsta <starous@volny.cz>
10822012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1085 the support for the CS5536 modification thereos and few bugfixes.
1086
1087 * grub-core/Makefile.core.def (ehci): New module.
1088 * grub-core/bus/usb/ehci.c: New file.
1089 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1090 port and hubaddr. All users updated.
1091 Save port and hubaddr into dev structure.
1092 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1093 define.
1094 * include/grub/pci.h (grub_dma_phys2virt): New function.
1095 (grub_dma_virt2phys): Likewise.
1096 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1097
b1d51f02
VS
10982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1101 check as some mkfs implementations omit it.
1102
fc694106
VS
11032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1106
6c0920e3
VS
11072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1110 Add new member volname2.
1111 (grub_jfs_label): Use volname2 if available.
1112
d1a46f9a
VS
11132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1116 over last_mounted as seen in image generated by mkfs.nilfs2.
1117 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1118
dec8ed14
VS
11192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1122 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1123 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1124
7397c69b
VS
11252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1128 over the sector.
1129
b3fe42ad
VS
11302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1133 subvolume name (by removing a bogus and useless check).
1134
10476bb0
VS
11352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1138 sizeof while on it.
1139
9c08ad87
VS
11402012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1143 (grub_scsi_read_capacity10): ... this.
1144 (grub_scsi_read_capacity16): New function.
1145 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1146 0xffffffff.
1147 Fix off-by-one error.
1148 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1149 64-bit unsigned.
1150 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1151 (grub_scsi_read_capacity10): ... this.
1152 (grub_scsi_read_capacity_data): Rename to ...
1153 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1154 (grub_scsi_read_capacity16): New struct.
1155 (grub_scsi_read_capacity16_data): Likewise.
1156 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1157 grub_scsi_cmd_read_capacity10.
1158 New command grub_scsi_cmd_read_capacity16.
1159
bc8d0f45
VS
11602012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 SCSI >2TiB support.
1163
1164 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1165 (grub_scsi_write16): Likewise.
1166 (grub_scsi_read): Use read16 when necessary.
1167 (grub_scsi_write): Likewise.
1168 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1169 (grub_scsi_write16): Likewise.
1170 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1171
cc774926
VS
11722012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 SCSI write support (for usbms mainly).
1175
1176 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1177 a const pointer.
1178 (grub_scsi_write): Implement.
1179 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1180
67639fd7
VS
11812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1184 variable.
1185
9079d3ed
VS
11862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1189
c6a6f204
VS
11902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * po/POTFILES.in: Regenerate.
1193
ecbf8cd1
VS
11942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1197 with grub_printf to avoid unnecessary fatal failure.
1198
0b3b3b38
VS
11992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1202 (INT_MAX): Likewise.
1203 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1204 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1205 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1206 (strcpy): Likewise.
1207 (strstr): Likewise.
1208 (strchr): Likewise.
1209 (strncpy): Likewise.
1210 (strcat): Likewise.
1211 (strncat): Likewise.
1212 (strcoll): Likewise.
1213 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1214 (GRUB_INT_MAX): Likewise.
1215
db7337a3
VS
12162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1219 unexpected error.
1220 (optimize_utf8): Likewise.
1221 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1222
f37c87e1
VS
12232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/boot/i386/pc/lnxboot.S: Use
1226 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1227 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1228 location.
1229 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1230 definition.
1231 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1232
63fe43f3
VS
12332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1236 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1237 now to avoid double free.
1238 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1239 hostdisk.
1240 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1241 * util/grub-probe.c (escape_of_path): Always return a new copy.
1242 (print_full_name): Escape path.
1243 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1244 Fix hints on abstractions.
1245
ebe2c961
VS
12462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1249 Don't add "root" line if no compatibility hont is available.
1250 Suggested by: Seth Goldberg.
1251
2b5336a2
VS
12522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1255 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1256 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1257 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1258
74310bd8
VS
12592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1262
c30582ba
VS
12632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-pe2elf.c (ehdr): Make static.
1266 (shdr): Likewise.
1267 (num_sections): Likewise.
1268 (offset): Likewise.
1269
5f47782c
VS
12702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 Eliminate ofpath limits and possible overflows.
1273
1274 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1275 (OF_PATH_MAX): Removed.
1276 (MAX_DISK_CAT): New const.
1277 (find_obppath): Use allocated rather than preallocated buffer.
1278 Return result. Argument of_path removed. All users updated.
1279 Add missing fdstat.
1280 (xrealpath): New function.
1281 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1282 Allocate rather than use preallocated buffer. All users updated.
1283 (__of_path_common): Use allocated rather than preallocatecd buffer.
1284 Return result. Argument of_path removed. All users updated.
1285 (vendor_is_ATA): Read only needed part form the file.
1286 (check_sas): Allocate depending on contents rather than fixed.
1287 (main) [STANDALONE]: Handle NULL result.
1288
f990cbf9
VS
12892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1292
9c6e84b8
VS
12932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Cryptodisk write support.
1296
1297 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1298 (grub_cryptodisk_decrypt): Moved logic to ...
1299 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1300 (grub_cryptodisk_write): Implement.
1301 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1302 (grub_util_fd_write): ... this. Make global.
1303 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1304
87cf9744
VS
13052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * include/grub/list.h (grub_list_remove): Don't crash if element is
1308 removed twice.
1309
ca8c0baf
VS
13102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Rename ofconsole to console.
1313
1314 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1315 as sysnonym to console.
1316 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1317 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1318 Rename grub_ofconsole_ to grub_console_. All users updated
1319 (grub_console_term_output): Rename "ofconsole" to "console".
1320 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1321 as "console".
1322
64c8b8f6
VS
13232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1326 handling.
1327 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1328 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1329 GRUB_DISK_DEVICE_FILE_ID.
1330
f6c434d5
VS
13312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1334 and improve performance.
1335
5858b42d
VS
13362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1339 missing ieee1275/ prefix on whole disk.
1340
4ed3c26b
VS
13412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1344 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1345
df71143e
VS
13462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1349
076e7c0f
VS
13502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Merge common RAID and LVM logic to an abstract diskfilter.
1353 Add LDM support using the same framework.
1354
1355 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1356 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1357 (libgrubmods): Remove grub-core/disk/raid.c and
1358 grub-core/partmap/gpt.c.
1359 * grub-core/Makefile.core.def (ldm): New module.
1360 (raid): Renamed to diskfilter. All users updated.
1361 * grub-core/disk/raid.c: Moved to ...
1362 * grub-core/disk/diskfilter.c: ... here.
1363 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1364 (lv_num): New var.
1365 (find_array): Renamed to ...
1366 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1367 (grub_is_array_readable): Renamed to ...
1368 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1369 (insert_array): New argument id.
1370 (is_node_readable): New function.
1371 (scan_device): Rename to ...
1372 (scan_disk): .. this. Restrict to one disk.
1373 (scan_devices): New function.
1374 (grub_diskfilter_iterate): Support multi-LV.
1375 Skip invisible and nameless LVs.
1376 (grub_diskfilter_memberlist): Support multi-LV.
1377 (grub_diskfilter_read_node): New function.
1378 (grub_raid_read): Most of logic moved to ...
1379 (read_segment): ... here
1380 (read_lv): New function.
1381 (grub_diskfilter_get_vg_by_uuid): New function.
1382 (grub_diskfilter_make_raid): Likewise.
1383 * grub-core/disk/ldm.c: New file.
1384 * grub-core/disk/lvm.c (vg_list): Removed.
1385 (lv_count): Likewise.
1386 (scan_depth): Likewise.
1387 (is_lv_readable): Likewise.
1388 (grub_lvm_getvalue): Advance pointer past the number.
1389 (find_lv): Removed.
1390 (do_lvm_scan): Refactored into ...
1391 (grub_lvm_detect): ... this. Support raid.
1392 (grub_lvm_iterate): Removed.
1393 (grub_lvm_memberlist): Likewise.
1394 (grub_lvm_open): Likewise.
1395 (grub_lvm_close): Likewise.
1396 (read_lv): Likewise.
1397 (read_node): Likewise.
1398 (is_node_readable): Likewise.
1399 (is_lv_readable): Likewise.
1400 (grub_lvm_read): Likewise.
1401 (grub_lvm_write): Likewise.
1402 (grub_lvm_dev): Use diskfilter
1403 (GRUB_MOD_INIT): Likewise.
1404 (GRUB_MOD_FINI): Likewise.
1405 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1406 new interface.
1407 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1408 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1409 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1410 grub_diskfilter_read_node.
1411 Fix a bug with xor.
1412 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1413 grub_diskfilter_read_node.
1414 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1415 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1416 (grub_disk_dev_iterate): Move from here...
1417 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1418 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1419 Make global.
1420 (grub_hostdisk_find_partition_start): Likewise.
1421 (grub_hostdisk_os_dev_to_grub_drive): New function.
1422 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1423 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1424 * util/getroot.c (make_device_name): ... here.
1425 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1426 Move to ...
1427 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1428 * grub-core/kern/emu/hostdisk.c
1429 (convert_system_partition_to_system_disk): Move to ...
1430 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1431 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1432 * util/getroot.c (device_is_wholedisk): ... here.
1433 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1434 * util/getroot.c (find_system_device): ... here.
1435 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1436 Move to ...
1437 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1438 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1439 Move to ...
1440 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1441 Handle LDM.
1442 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1443 Move to ...
1444 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1445 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1446 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1447 DISKFILTER.
1448 * include/grub/raid.h: Renamed to ...
1449 * include/grub/diskfilter.h: ... this.
1450 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1451 (GRUB_RAID_LAYOUT_*): Make into array.
1452 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1453 (grub_diskfilter_vg): New struct.
1454 (grub_diskfilter_pv_id): Likewise.
1455 (grub_raid_member): Removed.
1456 (grub_raid_array): Likewise.
1457 (grub_diskfilter_pv): New struct.
1458 (grub_diskfilter_lv): Likewise.
1459 (grub_diskfilter_segment): Likewise.
1460 (grub_diskfilter_node): Likewise.
1461 (grub_diskfilter_get_vg_by_uuid): New proto.
1462 (grub_raid_register): Inline.
1463 (grub_diskfilter_unregister): Likewise.
1464 (grub_diskfilter_make_raid): New proto.
1465 (grub_diskfilter_vg_register): Likewise.
1466 (grub_diskfilter_read_node): Likewise.
1467 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1468 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1469 (grub_util_is_ldm): Likewise.
1470 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1471 (grub_hostdisk_find_partition_start): Likewise.
1472 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1473 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1474 New definition.
1475 (grub_gpt_partition_map_iterate): New proto.
1476 * include/grub/lvm.h (grub_lvm_vg): Removed.
1477 (grub_lvm_pv): Likewise.
1478 (grub_lvm_lv): Likewise.
1479 (grub_lvm_segment): Likewise.
1480 (grub_lvm_node): Likewise.
1481 * util/getroot.c [...]
1482 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1483 (probe_abstraction): Likewise.
1484 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1485 (main): Remove dead logic.
1486
8a7f9b9c
VS
14872012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Simplify root device discover and don't fail when trying to open
1490 incorrect devices.
1491
1492 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1493 function.
1494 (get_diskname_from_path): Likewise.
1495 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1496 of iterating.
1497
30545b85
VS
14982012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1501
28ea58cf
VS
15022012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1505 pastthe end.
1506
692dabca
VS
15072012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/grub-install.in: Add missing \.
1510 Reported by: gentoofan
1511
f6e4ea70
VS
15122012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1515 (direct_read): Use correct compressed size.
1516 (grub_squash_read_data): Likewise.
1517
15182012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
1519
1520 * docs/grub.texi (Platform limitations): New section.
1521 (Platform-specific operations): Likewise.
1522 * docs/grub-dev.texi (Porting): Likewise.
1523
76261110
VS
15242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 IEEE1275 disk write support.
1527
1528 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1529 const void *.
1530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1531 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1532 and seek loginc to ...
1533 (grub_ofdisk_prepare): ... here.
1534 (grub_ofdisk_write): Implement.
1535
fc36d603
VS
15362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 ARC disk write support.
1539
1540 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1541 (reopen): New argument writable. All users updated.
1542 Handle required access mode.
1543 (grub_arcdisk_write): Implement.
1544 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1545 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1546
e06c2e7a
VS
15472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1550 (read_sblock): Don't attempt to read superblocks outside the disk size.
1551
ff447958
VS
15522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1555 first superblock to find the second one when possible.
1556
9e88df39
VS
15572012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * util/grub-install.in: Fix an ARC bug.
1560 Print a warning if no platform-specific setup is available.
1561
bb26e4ff
VS
15622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Use static allocation rather than scratch pointer in reed_solomon.
1565 It decreases its size significantly and avoids a variable in .text.
1566
1567 * grub-core/lib/reed_solomon.c (scratch): Removed.
1568 (chosenstat): New const or static array.
1569 (sigma): Likewise.
1570 (errpot): Likewise.
1571 (errpos): Likewise.
1572 (sy): Likewise.
1573 (mstat): Likewise.
1574 (errvals): Likewise.
1575 (eqstat): Likewise.
1576 (pol_evaluate): Replace x with log_x argument. All users updated.
1577 (syndroms): Removed.
1578 (gauss_solve): Use statically allocated arrays.
1579 (rs_recover): Likewise.
1580 Calculate syndroms directly.
1581 (decode_block): Use statically allocated arrays.
1582 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1583 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1584
2e13ede5
VS
15852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 Eliminate fixed limit on reed solomon decoder length.
1588
1589 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1590 rather than hardcoding the address.
1591 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1592 no_reed_solomon_length.
1593 Move gate_a20 to no-reed-solomon part.
1594 Don't force a particular size of no reed-solomon part.
1595 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1596 Removed.
1597 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1598 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1599
f8a9ab12
VS
16002012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/commands/wildcard.c (match_files): Handle filenames
1603 without explicit device.
1604 (wildcard_expand): Don't add explicit device if not already present.
1605 * tests/grub_script_echo1.in: Add a new expansion test.
1606
87edb894
VS
16072012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Replace single-linked with double-linked lists. It results in more
1610 compact and more efficient code.
1611
1612 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1613 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1614 (grub_list_remove): Moved from here ...
1615 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1616 (grub_prio_list_insert): Set prev.
1617 * include/grub/list.h (grub_list): Add prev. All users updated.
1618
48b391e9
VS
16192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Handle newer autotools. Add some missing quotes while on it.
1622
1623 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1624 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1625 (pkgdata_DATA): ... here.
1626 * Makefile.util.def (update-grub_lib): Removed.
1627 * conf/Makefile.common (pkglib_DATA): Removed.
1628 (pkglib_SCRIPTS): Likewise.
1629 (pkgdata_DATA): New variable.
1630 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1631 needed.
1632 Add missing quotes.
1633 Remove unused variable while on it.
1634 * tests/util/grub-shell.in: Likewise.
1635 * util/grub-install.in: Likewise.
1636 * util/grub-mkconfig.in: Likewise.
1637 * util/grub-mknetdir.in: Likewise.
1638 * util/grub-mkrescue.in: Likewise.
1639 * util/grub-mkstandalone.in: Likewise.
1640 * util/grub.d/00_header.in: Likewise.
1641 * util/grub.d/10_hurd.in: Likewise.
1642 * util/grub.d/10_illumos.in: Likewise.
1643 * util/grub.d/10_kfreebsd.in: Likewise.
1644 * util/grub.d/10_linux.in: Likewise.
1645 * util/grub.d/10_netbsd.in: Likewise.
1646 * util/grub.d/10_windows.in: Likewise.
1647 * util/grub.d/20_linux_xen.in: Likewise.
1648 * util/grub.d/30_os-prober.in: Likewise.
1649 * util/update-grub_lib.in: Removed.
1650
16512012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
1652
1653 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1654 a workaround for intel problem.
1655
66832792
PRP
16562012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
16572012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16582012-01-23 pfsmorigo
1659
1660 * util/grub-install.in: Support dd'in into PreP partition.
1661 * util/grub-probe.c (probe): Support discovering partition type.
1662 (main): Support -t msdos_parttype.
1663
7816a17e
VS
16642012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1667 infinite recursion using counter.
1668 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1669 init to skip it if the magic check fails.
1670 (dec_stream_header): Init s->crc32.
1671
8f9d3a8c
ZB
16722012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16732012-01-22 Zachary Bedell <pendorbound@gmail.com>
16742012-01-22 Richard Laager <rlaager@wiktel.com>
1675
1676 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1677 All users updated.
1678 (find_bestub): Determine correct size.
1679 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1680 (scan_disk): Align the size down.
1681 Call check pool before find_bestub to have ashift.
1682
b055dd32
VS
16832012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1686 dprintf in no-malloc zone.
1687
d779e9bd
ML
16882012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1689
1690 * configure.ac: Add back in test for limits.h.
1691
b508af69
VS
16922012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Support 4K-sector NTFS.
1695
1696 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1697 (grub_ntfs_data): Remove blocksize.
1698 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1699 Remove data argument. All users updated.
1700
dad9c8b5
VS
17012012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
1704 being in .text to avoid dprel references.
1705 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
1706 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
1707 (grub_arch_highmemsize): Likewise.
1708 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
1709 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
1710 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
1711
d43a777e
VS
17122012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
1715
1716 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
1717 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
1718
34e4208f
VS
17192012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
1722 GRUB_UTIL.
1723 (grub_set_datetime_cmos): Likewise.
1724
3ec0fc1c
VS
17252012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Make XZ compression parameters dependent on target and not host CPU.
1728
1729 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
1730 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
1731
22489834
VS
17322012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
1735 set but not used variable.
1736
8502fbca
VS
17372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
1740 created when no uuid support is compiled into mkfs.reiser.
1741
76df2068
VS
17422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
1745 (utf8_to_macroman): Do the opposite.
1746 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
1747
64e3f8f6
VS
17482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * configure.ac: Refise build qemu_mips w/o unifont.
1751
9c271078
VS
17522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Eliminate grub_min/grub_max prone to overflow usage.
1755
1756 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
1757 (poll_nonroot_hub): Likewise.
1758 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
1759 (grub_affs_label): Likewise.
1760 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
1761 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
1762 (grub_hfs_label): Likewise.
1763 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
1764 * grub-core/fs/zfs/zfs.c (MIN): Remove.
1765 (zap_leaf_array_equal): Use grub_size. Remove MIN.
1766 (zap_leaf_array_get): Likewise.
1767 (dnode_get_path): Likewise.
1768 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
1769 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
1770 * grub-core/script/execute.c (grub_script_break): Likewise.
1771 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
1772 grub_max.
1773 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
1774 * include/grub/misc.h (grub_min): Removed.
1775 (grub_max): Likewise.
1776
80662dbc
VS
17772012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1778
1779 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
1780 direct.inode = 0.
1781
e6da1467
VS
17822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
1785
b1ac4cb1
VS
17862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
1789
b4bf7c3b
VS
17902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
1793 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
1794
8ee1101a
VS
17952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
1798 rather than a hack for grub_strncasemap.
1799
18002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 Support multiple initrds
1803 Note: part of this was accidently committed in r3739.
1804
1805 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
1806 initrd.
1807 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1808 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1809 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1810 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1811 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1812
4d1e2bc9
VS
18132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
1816 disks with unknown size.
1817 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
1818
75b49ebe
VS
18192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Remove defines pertaining to arbitrary limits not affecting GRUB
1822 anymore.
1823
1824 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
1825 (EXT2_MAX_SYMLINKCNT): Likewise.
1826 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
1827 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
1828 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
1829 (GRUB_PXE_MAX_BLKSIZE): Likewise.
1830 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
1831 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
1832 (DN_MAX_OBJECT_SHIFT): Likewise.
1833 (DN_MAX_OFFSET_SHIFT): Likewise.
1834 (DN_MAX_OBJECT): Likewise.
1835 (DNODES_PER_LEVEL_SHIFT): Likewise.
1836 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
1837 (SPA_MAXBLOCKSIZE): Likewise.
1838 (SPA_BLOCKSIZES): Likewise.
1839 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
1840 (MZAP_MAX_BLKSZ): Likewise.
1841
74a1dce7
VS
18422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
1845 handle NULL appropriately.
1846 Remove MIN.
1847
30c7d3ce
VS
18482012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Fix efiemu.
1851
1852 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
1853 cpu/types.h.
1854 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
1855 * configure.ac: Fix efiemu check.
1856
3c76ea0c
VS
18572012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
1860 grub_probe.
1861 Reported by: adamwill
1862
7e532280
SG
18632012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
1864
1865 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
1866
30492374
VS
18672012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 Fix handling of wide characters in gfxterm.
1870
1871 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1872 (clear_char): Likewise.
1873 (paint_char): Skip code == NULL chars.
1874 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1875
e70cb72f
VS
18762012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/normal/charset.c: Move comment to right place.
1879
5c827cf9
VS
18802012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1883 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1884 (grub_affs_mount): Revert the correct version checking.
1885
53603892
VS
18862012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * docs/grub.texi (Unicode): Mention several other unsupported features.
1889
ff094b9b
VS
18902011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1893 case statements as compile-time one.
1894 (direct_read): Prevent spurious warnings.
1895 (grub_squash_read_data): Likewise.
1896
c029da8a
VS
18972011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Various squash4 fixes and LZO and XZ support.
1900
1901 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1902 Add xzembed source files.
1903 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1904 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1905 (grub_squash_inode): New subtype long_dir.
1906 (SQUASH_TYPE_LONG_DIR): New inode type.
1907 (COMPRESSION): New enum.
1908 (XZBUFSIZ): New const.
1909 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1910 (read_chunk): Use data->decompress.
1911 (zlib_decompress): New function.
1912 (lzo_decompress): Likewise.
1913 (xz_decompress): Likewise.
1914 (squash_mount): Set new data fields.
1915 (grub_squash_iterate_dir): Handle long dir.
1916 (squash_unmount): Free xzdec and xzbuf.
1917 (grub_squash_open): Check ino type.
1918 (direct_read): Stylistic fixes. Use data->decompress.
1919 (grub_squash_read_data): Likewise.
1920 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1921 (get_byte): Likewise.
1922 (grub_zlib_disk_read): Removed.
1923 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1924 (GRUB_POSIX_BOOL_DEFINED): New define.
1925 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1926 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1927 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1928 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1929
7a45a539
VS
19302011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Don't override more informative errors.
1933
1934 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1935 * grub-core/font/font.c (open_section): Likewise.
1936 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1937 filename. Don't override errors.
1938 (grub_cmd_openbsd_ramdisk): Don't override errors.
1939 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1940 (grub_cmd_initrd): Likewise.
1941 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1942 (grub_cmd_initrd): Likewise.
1943 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1944 (grub_cmd_linux): Likewise.
1945 (grub_cmd_initrd): Likewise.
1946 (grub_cmd_payload): Likewise.
1947 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1948 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1949 (grub_cmd_module): Likewise.
1950 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1951 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1952 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1953 (grub_cmd_xnu_mkext): Likewise.
1954 (grub_cmd_xnu_ramdisk): Likewise.
1955 (grub_xnu_check_os_bundle_required): Likewise.
1956 (grub_xnu_load_kext_from_dir): Likewise.
1957 (grub_cmd_xnu_kextdir): Likewise.
1958 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1959
b2d004db
VS
19602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1963 as 1024 in block size field. Found on one of my test images.
1964 Small optimisation while on it.
1965
ec000eac
VS
19662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1969 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1970 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1971 performance fixes while on it.
1972 (grub_sfs_close): Fix memory leak while on it.
1973 (grub_sfs_label): Convert Latin1 to UTF-8.
1974
f50e1165
VS
19752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1978 space to avoid overflows.
1979 (grub_hfs_label): Convert from macroman to UTF-8.
1980
2ae254de
VS
19812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1984
0108f491
VS
19852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1988
f45f5f89
VS
19892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * unicode: Import Unicode 6.0 data.
1992
4d8c4765
VS
19932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1994
63fa8ef9
VS
1995 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
1996 outside of range.
1997
19982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2001
2002 * include/grub/charset.h (grub_getend): New function.
2003 * grub-core/script/function.c (grub_script_function_find): Use
2004 grub_getend.
2005 * grub-core/normal/completion.c (add_completion): Likewise.
2006
f3cb4a4e
VS
20072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2010 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2011 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2012 (GRUB_UNICODE_TAG_END): Likewise.
2013 (GRUB_UNICODE_LAST_VALID): Likewise.
2014
5da8dbc5
VS
20152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2018 len and make it smaller. All users updated.
2019 * util/import_unicode.py: Put length and not end character.
2020 Check length.
2021
8569f13d
VS
20222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 Make better Unicode-compliant and unify some UTF-8 code pathes.
2025
2026 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2027 valid character.
2028 (grub_is_valid_utf8): Use grub_utf8_process.
2029 Check resulting code range.
2030 (grub_utf8_to_ucs4): Use grub_utf8_process.
2031 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2032 valid character.
2033
cc4fddf5
VS
20342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2037
bbc47747
VS
20382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * docs/grub.texi (Filesystems): Mention AFS.
2041
f63d6bf4
VS
20422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * docs/grub.texi (Filesystems): Clarify restrictions.
2045 (Regexp): Mention non-Unicode regexp behaviour.
2046 (Other): Mention non-Unicode matching behaviour.
2047
74bbf0db
VS
20482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2049
f63d6bf4 2050 Make HFS implementation use MacRoman.
74bbf0db
VS
2051
2052 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2053 (macroman): New const array.
2054 (macroman_to_utf8): New function.
2055 (utf8_to_macroman): Likewise.
2056 (grub_hfs_find_dir): Use utf8_to_macroman.
2057 (grub_hfs_dir): Use macroman_to_utf8.
2058 Set case_insensitive.
2059
4ea0316e
VS
20602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2063
d3c13cbd
VS
20642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Integrate hints into autogeneration scripts.
2067
2068 * docs/grub.texi (Filesystems): Add a hostdisk example.
2069 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2070 (grub-probe): Add ofpath.
2071 * gentpl.py: Remove group nosparc64.
2072 * grub-core/commands/search.c (cache_entry): New struct.
2073 (cache): New var.
2074 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2075 * grub-core/commands/search_wrap.c (options): Add platform-specific
2076 hint options.
2077 (grub_cmd_search): Handle platform-specific hints.
2078 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2079 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2080 (grub_util_biosdisk_data): Likewise.
2081 (grub_util_biosdisk_open): Set device_map.
2082 (read_device_map): Handle "" as indication of no map.
2083 Set device_map.
2084 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2085 (grub_util_biosdisk_get_compatibility_hint): New function.
2086 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2087 * include/grub/emu/hostdisk.h
2088 (grub_util_biosdisk_get_compatibility_hint): New proto.
2089 * util/grub-install.in: Don't call grub-mkdevicemap.
2090 Add platform-specific hint to load.cfg.
2091 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2093 hints. Set root preliminary to compatibility hint, not to OS name.
2094 * util/grub-probe.c (PRINT_*): Add hints.
2095 (print): Make static.
2096 (escape_of_path): New function.
2097 (guess_bios_drive): Likewise.
2098 (guess_efi_drive): Likewise.
2099 (guess_baremetal_drive): Likewise.
2100 (print_full_name): Likewise.
2101 (probe): Handle hints.
2102 (main): Likewise.
2103 * util/ieee1275/devicemap.c: Removed.
2104 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2105 updated.
2106 (grub_util_devname_to_ofpath): Return NULL on failure.
2107
2108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2109 resource leak.
2110 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2111
2112 * po/POTFILES.in: Regenerated.
2113
2114 Allow purely long options
2115
2116 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2117 (SHORT_ARG_USAGE): Likewise.
2118 (grub_arg_show_help): Compare opt with help_options.
2119 (parse_option): Receive opt as argument. If makes big simplificatons.
2120 All users updated
2121
00ce2df3
VS
21222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2125 Restructure to avoid warning.
2126
e77e325f
VS
21272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * util/grub-install.in: Account for possible escaped comma in device
2130 name.
2131
165099ea
VS
21322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2135 channel.
2136
ce4a999d
VS
21372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2140 allocation and zero-setting.
2141 (grub_ieee1275_get_devname): Check that alias is complete.
2142
379586ad
VS
21432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2146 unaligned segments.
2147
9197b0ad
VS
21482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2151 prefix.
2152 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2153 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2154 Add ieee1275 prefix.
2155
edddb7f9
VS
21562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * docs/grub.texi (Filesystems): Update.
2159
a1a8b1b9
VS
21602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Support odc, newc and bigendian cpio formats.
2163
2164 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2165 * grub-core/Makefile.core.def (newc): New module.
2166 (odc): Likewise.
2167 (cpio_be): Likewise.
2168 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2169 (MAGIC): Likewise.
2170 (MAGIC2): Likewise.
2171 (head) [MODE_ODC]: Adapt for the format.
2172 (head) [MODE_NEWC]: Likewise.
2173 (head) [!MODE_*]: Write fields of interest as arrays.
2174 (MAGIC_USTAR): Removed.
2175 (read_number) [MODE_NEWC]: Change to hex.
2176 (read_number) [!MODE_*]: Parse binary arrays.
2177 (grub_cpio_find_file): Factor out the code for better structure and
2178 always use read_number.
2179 (grub_cpio_mount): Use MAGIC and MAGIC2.
2180 (grub_cpio_dir): Exit on first hook non-0 return.
2181 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2182 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2183 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2184 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2185 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2186 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2187 * grub-core/fs/newc.c: New file.
2188 * grub-core/fs/odc.c: Likewise.
2189 * grub-core/fs/cpio_be.c: Likewise.
2190
58eba9ee
VS
21912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Fix handling of tar numbers occupying the whole field.
2194
2195 * grub-core/fs/cpio.c (read_number): New function.
2196 (grub_cpio_find_file): Use read_number instead of strtoull.
2197
a54a0e12
VS
21982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2201 occupying the whole field size.
2202
a6120aca
LA
22032011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2204
2205 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2206
a93964ce
VS
22072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2210
3ea1ca46
SG
22112011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2212
2213 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2214 TARGET_IMG_LDFLAGS.
2215
b87f7ef2
VS
22162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2219 (mountinfo_entry): Increase the field size to take escaping into
2220 account.
2221 (find_root_device_from_libzfs): Add one byte to size of strings for
2222 security.
2223
62092395
VS
22242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2227 an assert.
2228 * util/grub-setup.c (setup): Likewise.
2229
1f0b1a77
VS
22302011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2233 _LzmaDecodeA.
2234
8eba9997
VS
22352011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * docs/grub.texi (Internationalisation): New section.
2238
dd0c91e9
VS
22392011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * docs/grub.texi (Loopback booting): New section.
2242
22432011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2244
2245 * util/grub-mkstandalone.in: Fix minor typo errors.
2246
198e150a
VS
22472011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2250
2251 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2252 net/icmp.c and net/icmp6.c.
2253 (http): New module.
2254 (priority_queue): Likewise.
2255 * grub-core/io/bufio.c: Rewritten.
2256 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2257 TYPE_WITH_CONFIGFILE_OPTION.
2258 (legacy_commands): Add bootp and dhcp.
2259 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2260 (grub_legacy_parse): Likewise.
2261 * grub-core/lib/priority_queue.c: New file.
2262 * grub-core/net/arp.c: Add missing license header.
2263 (arp_find_entry): Removed.
2264 (arp_find_entry): Likewise.
2265 (grub_net_arp_resolve): Rename to ...
2266 (grub_net_arp_send_request): ...this.
2267 (grub_net_arp_receive): New card argument.
2268 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2269 Set router and DNS server.
2270 (grub_net_configure_by_dhcp_ack): Handle routing information.
2271 (grub_cmd_bootp): Set checksum.
2272 (grub_bootp_init): Remove net_dhcp.
2273 * grub-core/net/dns.c: New file.
2274 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2275 completion.
2276 (get_card_packet): Handle allocation.
2277 (grub_efinet_findcards): Set mtu.
2278 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2279 (get_card_packet): Handle allocation.
2280 (emucard): Set mtu.
2281 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2282 (GRUB_MOD_INIT): Set mtu.
2283 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2284 mtu.
2285 (get_card_packet): Handle allocation.
2286 (grub_ofnet_findcards): Set mtu.
2287 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2288 assert.
2289 (grub_net_recv_ethernet_packet): Handle IPv6.
2290 * grub-core/net/http.c: New file.
2291 * grub-core/net/icmp.c: Likewise.
2292 * grub-core/net/icmp6.c: Likewise.
2293 * grub-core/net/ip.c (ip6addr): New type.
2294 (ip6hdr): Likewise.
2295 (reassemble): Likewise.
2296 (cmp): New function.
2297 (reassembles): New variable.
2298 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2299 (id): New variable.
2300 (send_fragmented): New function.
2301 (grub_net_send_ip_packet): Rename to ...
2302 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2303 Handle non-UDP.
2304 (grub_net_recv_ip_packets): Rename to ...
2305 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2306 (free_rsm): New function.
2307 (free_old_fragments): Likewise.
2308 (grub_net_recv_ip4_packets): New function.
2309 (grub_net_send_ip6_packet): Likewise.
2310 (grub_net_send_ip_packet): Likewise.
2311 (grub_net_recv_ip6_packets): Likewise.
2312 (grub_net_recv_ip_packets): Likewise.
2313 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2314 (LINK_LAYER_CACHE_SIZE): New const.
2315 (link_layer_find_entry): New function.
2316 (grub_net_link_layer_add_address): Likewise.
2317 (grub_net_link_layer_resolve_check): Likewise.
2318 (grub_net_link_layer_resolve): Likewise.
2319 (grub_net_ipv6_get_slaac): Likewise.
2320 (grub_net_ipv6_get_link_local): Likewise.
2321 (grub_cmd_ipv6_autoconf): Likewise.
2322 (parse_ip): Handle one number representation.
2323 (parse_ip6): New functoion.
2324 (match_net): Handle IPv6.
2325 (grub_net_resolve_address): Handle IPv6 and DNS.
2326 (grub_net_resolve_net_address): Handle IPv6.
2327 (route_cmp): New function.
2328 (grub_net_route_address): Find best route.
2329 (grub_net_addr_to_str): Handle IPv6.
2330 (grub_net_addr_cmp): New function.
2331 (grub_net_add_addr): Register local route.
2332 (print_net_address): Handle net address.
2333 (grub_net_poll_cards): Retransmit TCP.
2334 (grub_net_poll_cards_idle_real): Likewise.
2335 (have_ahead): New function.
2336 (grub_net_seek_real): Use underlying seek.
2337 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2338 * grub-core/net/tcp.c: New file.
2339 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2340 (cmp): New function.
2341 (ack): Likewise.
2342 (tftp_receive): Handle unordered input.
2343 (destroy_pq): New function.
2344 (tftp_close): Close pq.
2345 * grub-core/net/udp.c: Put missing license header.
2346 (grub_net_udp_socket): New function.
2347 (udp_socket_register): Likewise.
2348 (grub_net_udp_close): Likewise.
2349 (grub_net_recv_udp_packet): Check checksum.
2350 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2351 * include/grub/misc.h (grub_memchr): New function.
2352 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2353 (grub_net_card_driver): Return buf in recv.
2354 (grub_net_slaac_mac_list): New struct.
2355 (grub_network_level_protocol_id): Add ipv6.
2356 (grub_net_network_level_addr): Likewise.
2357 (grub_net_network_level_net_addr): Likewise.
2358 (grub_net_app_protocol): Add seek.
2359 (grub_net_socket): Removed.
2360 (grub_net_sockets): Likewise.
2361 (grub_net_socket_register): Likewise.
2362 (grub_net_socket_unregister): Likewise.
2363 (FOR_NET_SOCKETS): Likewise.
2364 (grub_net_add_addr): Add const.
2365 (GRUB_NET_BOOTP_*): New enum.
2366 (grub_net_addr_cmp): New proto.
2367 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2368 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2369 (grub_net_hwaddr_to_str): NEw proto.
2370 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2371 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2372 (grub_dns_init): New proto.
2373 (grub_dns_fini): Likewise.
2374 (grub_net_tcp_retransmit): Likewise.
2375 (grub_net_link_layer_add_address): Likewise.
2376 (grub_net_link_layer_resolve_check): Likewise.
2377 (grub_net_link_layer_resolve): Likewise.
2378 (grub_net_dns_lookup): Likewise.
2379 (grub_net_add_dns_server): Likewise.
2380 (grub_net_remove_dns_server): Likewise.
2381 (GRUB_NET_TRIES): New const.
2382 (GRUB_NET_INTERVAL): Likewise.
2383 * include/grub/net/arp.h: Mostly rewritten.
2384 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2385 * include/grub/net/ip.h: Mostly rewritten.
2386 * include/grub/net/netbuff.h: Indent.
2387 * include/grub/net/tcp.h: New file.
2388 * include/grub/net/udp.h: Mostly rewritten.
2389 * include/grub/priority_queue.h: New file.
2390 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2391 (grub_swap_bytes64_compile_time): Likewise.
2392 (grub_cpu_to_be16_compile_time): Likewise.
2393 (grub_cpu_to_be32_compile_time): Likewise.
2394 (grub_cpu_to_be64_compile_time): Likewise.
2395 (grub_be_to_cpu64_compile_time): Likewise.
2396
215c1800
VS
23972011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2400 UINT_TO_PTR with cast.
2401
c17e546c
VS
24022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2405 don't use them.
2406
ff6b18b6
VS
24072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2410 already there.
2411
70ffcc93
VS
24122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2415 confusing ipxe.
2416
e5f4d260
VS
24172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2420 Add missing const attribute.
2421 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2422 Likewise.
2423 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2424 Likewise.
2425
8e54b4b7
VS
24262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2429 misaligned access.
2430 (serpent_setkey): Likewise.
2431 (serpent_encrypt_internal): Likewise.
2432 (serpent_decrypt_internal): Likewise.
2433 (serpent_encrypt): Don't put an alignment-increasing cast.
2434 (serpent_decrypt): Likewise.
2435 (serpent_test): Likewise.
2436
813c0a2b
VS
24372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2440
f2b60fbd
VS
24412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2444
2445 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2446 grub_addr_t casts.
2447 (PTR_TO_UINT64): Likewise.
2448 (PTR_TO_UINT32): Likewise.
2449
5ef5c511
VS
24502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2453 because of stack.
2454 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2455 limit.
2456
c476e6df
VS
24572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2460 text_width > available width a bit more gracefully.
2461
384ad7cc
VS
24622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2465 current address calculation.
2466
96f8caf8
VS
24672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2470 stack.
2471 (encode_block): Likewise.
2472
276b7a8b
VS
24732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2476 certainety.
2477
e3fd394a
VS
24782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2481 non-RS part to avoid RS messing with GDT.
2482 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2483 Increase to suit in realmode routines.
2484
24852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/kern/i386/realmode.S: Increase alignment.
2488 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2489
ee9c2e7a
VS
24902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2493 be deterministic.
2494 (syndroms): Compute 0 syndrom.
2495 (rs_recover): Use 0 syndrom.
2496
7a7f7cc9
VS
24972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2500
a14b16d1
VS
25012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2504 brackets.
2505
9f59e9fc
VS
25062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2507
ca1b552c
VS
2508 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2509 account.
2510 (get_top_pad): Likewise.
2511 (get_right_pad): Likewise.
2512 (get_bottom_pad): Likewise.
2513
25142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 2517
e739d698
VS
25182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2521 attribute as the structure isn't guaranteed to be properly aligned.
2522 (grub_efi_pci_device_path): Likewise.
2523 (grub_efi_pccard_device_path): Likewise.
2524 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2525 specify the size of `memory_type'.
2526 (grub_efi_vendor_device_path): Likewise.
2527 (grub_efi_controller_device_path): Likewise.
2528 (grub_efi_acpi_device_path): Likewise.
2529 (grub_efi_expanded_acpi_device_path): Likewise.
2530 (grub_efi_atapi_device_path): Likewise.
2531 (grub_efi_scsi_device_path): Likewise.
2532 (grub_efi_fibre_channel_device_path): Likewise.
2533 (grub_efi_1394_device_path): Likewise.
2534 (grub_efi_usb_device_path): Likewise.
2535 (grub_efi_usb_class_device_path): Likewise.
2536 (grub_efi_i2o_device_path): Likewise.
2537 (grub_efi_mac_address_device_path): Likewise.
2538 (grub_efi_ipv4_device_path): Likewise.
2539 (grub_efi_ipv6_device_path): Likewise.
2540 (grub_efi_infiniband_device_path): Likewise.
2541 (grub_efi_uart_device_path): Likewise.
2542 (grub_efi_vendor_messaging_device_path): Likewise.
2543 (grub_efi_hard_drive_device_path): Likewise.
2544 (grub_efi_cdrom_device_path): Likewise.
2545 (grub_efi_vendor_media_device_path): Likewise.
2546 (grub_efi_file_path_device_path): Likewise.
2547 (grub_efi_protocol_device_path): Likewise.
2548 (grub_efi_piwg_device_path): Likewise.
2549 (grub_efi_bios_device_path): Likewise.
2550
cb8f88ea
VS
25512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2554 (grub_ucs4_to_utf8_alloc): Likewise.
2555 (grub_ucs4_to_utf8): Likewise.
2556 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2557 (grub_ucs4_to_utf8_alloc): Likewise.
2558
309e5352
VS
25592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 AFFS never uses unicode.
2562
2563 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2564 (grub_latin1_to_utf8): New inline function.
2565 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2566
e7987e1b
VS
25672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2570 overflow.
2571
efc2616e
VS
25722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2575 (grub_squash_dirent_header): Likewise.
2576 (read_chunk): Don't double swap.
2577 (grub_squash_iterate_dir): Fix swap sizes.
2578
3c349f5a
VS
25792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2582
b453412d
VS
25832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2586 (grub_hfs_iterate_dir): Likewise.
2587
12e9d4d1
VS
25882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Fix video on platforms where unaligned access is forbidden.
2591 Make several optimisations while on it.
2592
2593 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2594 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2595 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2596 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2597 Disable.
2598 (grub_video_fbblit_replace_16bit_1bit):
2599 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2600 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2601 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2602 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2603 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2604 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2605 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2606 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2607 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2608 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2609 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2610 (grub_video_fbblit_replace_index_RGB888): Likewise.
2611 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2612 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2613 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2614 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2615 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2616 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2617 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2618 Disable.
2619 (grub_video_fbblit_blend_XXX565_1bit):
2620 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2621 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2622 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2623 void *.
2624 * grub-core/video/fb/video_fb.c (common_blitter)
2625 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2626 (grub_video_fb_create_render_target_from_pointer)
2627 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2628 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2629 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2630 definition.
2631 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2632
ace96609
VS
26332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
2636 HH22 and HM10 relocations.
2637
fd261d73
VS
26382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2641
e59b7857
VS
26422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2645 allocation succeeded.
2646
9b4baaa4
VS
26472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2650 argument a u8 pointer. All users updated.
2651 Handle unaligned buffers.
2652
dc713193
VS
26532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2656 add_part to workaround compiler bug.
2657
30dd48c2
VS
26582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2661
0c6087a8
VS
26622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2665 Reserve alignment invariants.
2666 (grub_multiboot_load): Likewise.
2667 (retrieve_video_parameters): Likewise.
2668 (grub_multiboot_make_mbi): Likewise.
2669
c2e77777
VS
26702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2673 incorrect pointer.
2674
b70b6d11
VS
26752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2678 (grub_pata_pio_write): Likewise.
2679
02a2bf83
VS
26802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Add noreturn attributes and remove unreachable code.
2683
2684 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2685 code.
2686 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2687 code. Mark as noreturn.
2688 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2689 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2690 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2691 unreachable code.
2692 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2693 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2694 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2695 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2696 * include/grub/kernel.h (grub_main): Mark as noreturn.
2697 * include/grub/reader.h (grub_rescue_run): Likewise.
2698
2019d09e
VS
26992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2702 redundant declaration.
2703
d1c501ee
VS
27042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * include/grub/net.h (grub_net_network_level_interfaces): Remove
2707 redundant declaration.
2708 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2709
61664420
VS
27102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
2713 to ensure alignment.
2714 (grub_hdparm_print_identify): Make argument uint16 * to ensure
2715 alignment. Ensure tmp alignment.
2716 (grub_cmd_hdparm): Ensure buf alignment.
2717 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
2718 to ensure alignment.
2719 (grub_ata_dumpinfo): Ensure text alignment.
2720 (grub_atapi_identify): Preserve alignment invariant.
2721 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2722
0d51ee20
VS
27232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
2726 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
2727 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
2728 * include/grub/misc.h (grub_reboot)
2729 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
2730 (grub_halt) [__mips__]: Likewise.
2731
753ef8c1
VS
27322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
2735 Remove redundant declaration.
2736 (grub_mmap_get_post64): Likewise.
2737 (grub_mmap_get_upper): Likewise.
2738 (grub_mmap_get_lower): Likewise.
2739
85c85365
VS
27402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
2743 uint32_t * to ensure alignment.
2744 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2745
a23f2cc4
VS
27462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2747
93018f64
VS
2748 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
2749 uint16_t * to ensure alignment.
2750 (sun_pc_partition_map_iterate): Make `block' a union to ensure
2751 alignment.
2752
27532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
2756 to ensure alignment.
2757 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
2758
58acccd6
VS
27592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/fs/ntfs.c (u16at): Make into inline function.
2762 Handle unaligned pointers.
2763 (u32at): Likewise.
2764 (u64at): Likewise.
2765 (fixup): Use byte access instead of v16at.
2766 (find_attr): Fix imporper usage of v32at.
2767 (read_data): Likewise.
2768 (list_file): Handle byte-swapping and unaligned strings.
2769 (grub_ntfs_label): Likewise.
2770
9b05cad7
VS
27712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
2774 as it's not necessarily aligned.
2775
b3950b84
VS
27762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
2779 redundant declaration.
2780 (grub_serial_init): Likewise.
2781 (grub_terminfo_init): Likewise.
2782
fcd232b7
VS
27832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
2786 function.
2787 (ZAP_HASH_IDX): Likewise.
2788 (ZAP_LEAF_HASH_SHIFT): Likewise.
2789 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
2790 (LEAF_HASH): Likewise.
2791 (ZAP_LEAF_NUMCHUNKS): Likewise.
2792 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
2793 alignment invariants. Return pointer. All users updated.
2794 (ZAP_LEAF_ENTRY): Make into inline function.
2795 (NBBY): Removed.
2796 (xor): LIkewise.
2797 (xor_out): Use grub_crypto_xor.
2798 (dnode_get_path): Use grub_get_unaligned.
2799 (nvlist_find_value): Likewise.
2800 (grub_zfs_nvlist_lookup_uint64): Likewise.
2801 (grub_zfs_nvlist_lookup_string): Likewise.
2802 (get_nvlist_size): Likewise.
2803 (grub_zfs_open): Likewise.
2804 (fill_fs_info): Likewise.
2805 (grub_zfs_dir): Likewise.
2806 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
2807 alignment invariants.
2808 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
2809 necessarily aligned.
2810
f138623a
VS
28112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2814
564840dc
VS
28152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
2818 arithmetic to conserve alignment invariants.
2819
9b40df20
VS
28202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
2823 redundant declaration.
2824 (grub_efiemu_mm_obtain_request): Likewise.
2825 (grub_efiemu_prepare): Likewise.
2826
d1c930f9
VS
28272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
2830 to match types.
2831
4c5f3056
VS
28322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
2835 case of aunaligned recptr.
2836 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
2837 alignment.
2838 (grub_hfsplus_btree_search): Handle unaligned index.
2839
728cba91
VS
28402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
2843 to get freetag and skip.
2844
eb561f31
VS
28452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
2848 array.
2849 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
2850 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
2851
20993fbb
VS
28522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
2855 name for checksum and fix allocation algorithm.
2856
1f313b94
VS
28572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * include/grub/types.h (grub_properly_aligned_t): New type.
2860 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
2861 (grub_get_unaligned16): Add explicit casts.
2862 (grub_get_unaligned32): Likewise.
2863 (grub_get_unaligned64): Likewise.
2864 (grub_set_unaligned16): New function.
2865 (grub_set_unaligned32): Likewise.
2866
47ae27ec
VS
28672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2870
78c2cd1c
VS
28712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2874 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2875 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2876
53072f9b
VS
28772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2880 conditionals.
2881
055dc239
VS
28822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2885 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2886
496bd074
VS
28872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 Unify and improve RAID and crypto xor.
2890
2891 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2892 changed to grub_crypto_xor
2893 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2894 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2895 Use bigger types when possible.
2896
ef6e4335
VS
28972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/disk/raid.c (scan_devices): Fix condition.
2900
5d048bf2
VS
29012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2904 Make name a const ptr.
2905
ee533335
VS
29062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2909 first argument a const pointer.
2910 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2911 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2912 proto.
2913 (grub_children_iterate): Likewise.
2914 (grub_machine_mmap_iterate): Remove redundant declaration.
2915
cc8f3668
VS
29162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2919 (grub_cmd_acpi) [!x86]: Disable EBDA.
2920
c5fc563a
VS
29212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Enable UTF8 in gnulib regexp.
2924
2925 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2926 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2927 (isupper): Use grub_isupper.
2928 (isascii): New inline function.
2929 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2930 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2931 * grub-core/normal/charset.c (grub_utf8_process): New function.
2932 (grub_utf8_to_utf16): Use grub_utf8_process.
2933 (grub_encode_utf8_character): New function.
2934 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2935 * include/grub/charset.h (grub_utf8_process): New declaration.
2936 (grub_encode_utf8_character): Likewise.
2937 * include/grub/misc.h (grub_islower): New inline function.
2938 (grub_isupper): Likewise.
2939 (grub_strchrsub): Moved down to fix the definitions.
2940
0af2346f
VS
29412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2944 specification.
2945
74dbd244
VS
29462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * include/grub/loader.h (grub_loader_register_preboot_hook):
2949 Use struct preboot * and not void * for handle. All users updated.
2950 (grub_loader_unregister_preboot_hook): Likewise.
2951
1bc8f60d
VS
29522011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2955 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2956 UTF-16-BE. All users updated.
2957 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2958 (grub_hfsplus_iterate_dir): Likewise.
2959 (grub_hfsplus_label): Likewise.
2960
48d6e456
VS
29612011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2964
bf3a3857
VS
29652011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 Add missing const qualifiers.
2968
2969 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2970 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2971 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2972 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2973 (grub_lvm_check_flag): Likewise.
2974 * grub-core/efiemu/i386/coredetect.c
2975 (grub_efiemu_get_default_core_name): Likewise
2976 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2977 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2978 * grub-core/fs/ntfs.c (fixup): Likewise.
2979 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2980 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2981 (fzap_lookup): Likewise.
2982 (zap_lookup): Likewise.
2983 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2984 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2985 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2986 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2987 (grub_freebsd_add_meta_module): Likewise.
2988 (grub_cmd_freebsd_module): Likewise.
2989 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2990 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2991 (grub_xnu_writetree_get_size): Likewise.
2992 (grub_xnu_writetree_toheap_real): Likewise.
2993 (grub_xnu_find_key): Likewise.
2994 (grub_xnu_create_key): Likewise.
2995 (grub_xnu_create_value): Likewise.
2996 (grub_xnu_register_memory): Likewise.
2997 (grub_xnu_check_os_bundle_required): Likewise.
2998 (grub_xnu_scan_dir_for_kexts): Likewise.
2999 (grub_xnu_load_kext_from_dir): Likewise.
3000 * grub-core/normal/color.c (color_list): Likewise.
3001 * grub-core/normal/completion.c (current_word): Likewise.
3002 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3003 * grub-core/term/serial.c (grub_serial_find): Likewise.
3004 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3005 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3006 Likewise.
3007 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3008 (grub_freebsd_add_meta_module): Likewise.
3009 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3010 * include/grub/net.h (grub_net_card_driver): Likewise.
3011 (grub_net_card): Likewise.
3012 (grub_net_app_protocol): Likewise.
3013 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3014 * include/grub/serial.h (grub_serial_find): Likewise.
3015 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3016 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3017 (grub_xnu_create_value): Likewise.
3018 (grub_xnu_find_key): Likewise.
3019 (grub_xnu_scan_dir_for_kexts): Likewise.
3020 (grub_xnu_load_kext_from_dir): Likewise.
3021
3022 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3023 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3024 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3025 Moved from here ...
3026 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3027
112b4837
CW
30282011-11-28 Colin Watson <cjwatson@ubuntu.com>
3029
3030 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3031
49e891ac
VS
30322011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3035 (read_device): Fix size calculation.
3036
fd258e5c
RM
30372011-11-25 Robert Millan <rmh@gnu.org>
3038
3039 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3040 (find_root_device_from_libzfs): Add zpool output parser to be used
3041 as fallback when libzfs isn't available.
3042
78845dc2
SG
30432011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3044
3045 * po/Makefile.in.in: Add missing escape-continuation.
3046
adac5211
VS
30472011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3050
10b64f1c
VS
30512011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3054
bb416954
VS
30552011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3058
bdfe9eeb
VS
30592011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3062
581ffa8a
VS
30632011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/lib/adler32.c: Add missing license specification.
3066 * grub-core/lib/crc64.c: Likewise.
3067 * grub-core/loader/i386/pc/plan9.c: Likewise.
3068 * grub-core/partmap/plan.c: Likewise.
3069
2536cf64
LK
30702011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3071
3072 Add facility to debug GRUB with gdb under qemu.
3073
3074 * grub-core/gdb_grub.in: New file.
3075 * grub-core/gmodule.pl.in: Likewise.
3076 * grub-core/Makefile.core.def (gmodule.pl): New script.
3077 (gdb_grub): Likewise.
3078
bc108a4a
VS
30792011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * util/grub-mount.c (argp_parser): Accept relative pathes.
3082 * util/grub-fstest.c (argp_parser): Likewise.
3083
111c1778
VS
30842011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Plan9 support.
3087
3088 * Makefile.util.def (libgrubmods): Add
3089 grub-core/partmap/plan.c.
3090 * docs/grub.texi: Notice Plan9 support.
3091 * grub-core/Makefile.core.def (plan9): New module.
3092 (part_plan): Likewise.
3093 * grub-core/loader/i386/pc/plan9.c: New file.
3094 * grub-core/partmap/plan.c: Likewise.
3095 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3096 define.
3097 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3098 * include/grub/mm.h (grub_extend_alloc): New inline function.
3099
c30be3b6
VS
31002011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Make Reed-Solomon faster by using power of generator representation of
3103 GF(256)*.
3104
3105 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3106 (gf_double_t): Likewise.
3107 (gf_invert): Removed.
3108 (gf_powx): New array.
3109 (gf_powx_inv): Likewise.
3110 (scratch): Move higher.
3111 (gf_reduce): Removed.
3112 (gf_mul): Use powx.
3113 (gf_invert): Likewise.
3114 (init_inverts): Replaced with ...
3115 (init_powx): ...this. All users updated.
3116 (pol_evaluate): Replace multiplications with additions.
3117 (rs_encode): Likewise.
3118 (gauss_eliminate): Call gf_invert.
3119 (grub_reed_solomon_add_redundancy): Call init_powx.
3120 (grub_reed_solomon_recover): Call init_powx unconditionally.
3121
fa5aeffc
VS
31222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3125
a346b81c
VS
31262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3129 disk->partiton for safety.
3130
d89ee414
VS
31312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3134 Fix a memory leak.
3135 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3136
91ee7b6d
VS
31372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3140
91e5a33d
VS
31412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3144
9edd7be2
VS
31452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Fix spaces handling in proc/self/mountinfo.
3148
3149 * util/getroot.c (unescape): New function.
3150 (grub_find_root_device_from_mountinfo): Use unescape.
3151
ba102053
VS
31522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Support ZFS embedding.
3155
3156 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3157 (grub_zfs_fs): Register grub_zfs_embed.
3158
aa94b870
VS
31592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 Fix MIPS compilation.
3162
3163 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3164 * include/grub/offsets.h: Rename decompressor fields from
3165 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3166 * util/grub-mkimage.c (image_targets): Use new names.
3167
5fbdac14
VS
31682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Defer multiboot device parsing until we're in compressed part.
3171
3172 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3173 bsd_part. setdevice has fallen into disuse.
3174 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3175 (bsd_part): Likewise.
3176 (boot_dev): New variable.
3177 (multiboot_trampoline): Don't parse multiboot device.
3178 Pass multiboot device in %edx.
3179 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3180 grub_boot_device.
3181 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3182 Likewise.
3183 * grub-core/kern/i386/pc/startup.S: Save edx.
3184 (grub_boot_drive): Removed.
3185 (grub_install_dos_part): Likewise.
3186 (grub_install_bsd_part): Likewise.
3187 (grub_boot_device): New variable.
3188 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3189 (grub_install_bsd_part): Likewise.
3190 (grub_boot_drive): Likewise.
3191 (grub_boot_device): New variable.
3192 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3193 Removed.
3194 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3195 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3196 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3197 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3198 * util/grub-install.in: Remove redundant condition.
3199
691cbb58
VS
32002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Fix bug introduced by previous commit.
3203
3204 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3205
60240b8b
VS
32062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 Use decompressors framework on i386-pc. It increases core size
3209 by 46 bytes but improves compatibility and maintainability.
3210
3211 * grub-core/Makefile.core.def (lzma_decompress): New image.
3212 (kernel): Add i386_pc_ldflags.
3213 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3214 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3215 to real_to_prot, prot_to_real and device info.
3216 * include/grub/offsets.h: Renamed decompressor offsets.
3217 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3218 (image_target_desc): Remove raw_size and rename decompressor fields.
3219 (compress_kernel): Handle lzma.
3220 (generate_image): Handle decompressors on i386-pc.
3221
e9d3421c
VS
32222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * configure.ac: Add -fno-asynchronous-unwind-tables.
3225
2b23074a
VS
32262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Move assembly code to C by using intwrap. It increases core size
3229 by 88 bytes but improves compatibility and maintainability.
3230
3231 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3232 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3233 ... here. Translated to C.
3234 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3235 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3236 ... here. Translated to C.
3237 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3238 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3239 ... here. Translated to C.
3240 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3241 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3242 ... here. Translated to C.
3243 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3244 * grub-core/term/i386/pc/console.c (grub_console_cls):
3245 ... here. Translated to C.
3246 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3247 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3248 ... here. Translated to C.
3249 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3250 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3251 Translated to C.
3252 * grub-core/term/i386/pc/console.c (int10_9): New function.
3253 (grub_console_putchar): Likewise.
3254 * include/grub/i386/pc/console.h: Removed the not anymore shared
3255 functions.
3256
678f4b67
VS
32572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Move grub_chainloader_real_boot out of the kernel.
3260
3261 * grub-core/Makefile.am: Remove machine/loader.h.
3262 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3263 Removed.
3264 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3265 variable.
3266 (grub_relocator16_keep_a20_enabled): Likewise.
3267 (grub_relocator16_boot): Fill new variables.
3268 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3269 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3270 relocator.
3271 (grub_chainloader_unload): Likewise.
3272 (grub_chainloader_cmd): Likewise.
3273 * include/grub/i386/pc/loader.h: Removed.
3274 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3275 and esi. All initialisers updated.
3276
4626edf6
VS
32772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
32782011-11-12 Colin Watson <cjwatson@ubuntu.com>
3279
3280 * Makefile.util.def (grub-mount): New util.
3281 * .bzrignore: Add grub-mount.
3282 * configure.ac: Check for fuse and enable grub-mount if available.
3283 * docs/man/grub-mount.h2m: New file.
3284 * util/grub-mount.c: Likewise.
3285
10f0117b
VS
32862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/commands/efi/fixvideo.c: Gettextize.
3289 * grub-core/commands/hashsum.c: Likewise.
3290 * grub-core/commands/i386/cmostest.c: Likewise.
3291 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3292 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3293 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3294 * grub-core/commands/lsmmap.c: Likewise.
3295 * grub-core/commands/menuentry.c: Likewise.
3296 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3297 * grub-core/commands/setpci.c: Likewise.
3298 * grub-core/loader/i386/bsd.c: Likewise.
3299 * grub-core/loader/i386/linux.c: Likewise.
3300 * util/getroot.c: Likewise.
3301 * util/grub-editenv.c: Likewise.
3302 * util/grub-fstest.c: Likewise.
3303 * util/grub-mkfont.c: Likewise.
3304 * util/grub-mkimage.c: Likewise.
3305 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3306 * util/grub-pe2elf.c: Likewise.
3307 * util/grub-probe.c: Likewise.
3308 * util/grub-setup.c: Likewise.
3309 * util/ieee1275/ofpath.c: Likewise.
3310 * util/misc.c: Likewise.
3311 * util/raid.c: Likewise.
3312
566f779b
RM
33132011-11-11 Robert Millan <rmh@gnu.org>
3314
3315 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3316 __attribute__((unused)) from `os_dev', which *is* being used.
3317
b50787de
VS
33182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3321 forgotten define.
3322 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3323 GRUB_IA64_DL_GOT_ALIGN.
3324 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3325 GRUB_IA64_DL_TRAMP_ALIGN.
3326
119d11c8
VS
33272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 Replace grub_fatal with normal errors in i386 linux loader.
3330
3331 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3332 (allocate_pages): Check find_efi_mmap_size return value.
3333 (grub_e820_add_region): Return error.
3334 (grub_linux_boot): Check mmap return value.
3335
6e0632e2
VS
33362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/commands/acpihalt.c: Gettextized.
3339 * grub-core/commands/cacheinfo.c: Likewise.
3340 * grub-core/commands/cmp.c: Likewise.
3341 * grub-core/commands/efi/loadbios.c: Likewise.
3342 * grub-core/commands/gptsync.c: Likewise.
3343 * grub-core/commands/ieee1275/suspend.c: Likewise.
3344 * grub-core/commands/legacycfg.c: Likewise.
3345 * grub-core/commands/memrw.c: Likewise.
3346 * grub-core/commands/minicmd.c: Likewise.
3347 * grub-core/commands/parttool.c: Likewise.
3348 * grub-core/commands/time.c: Likewise.
3349 * grub-core/commands/videoinfo.c: Likewise.
3350 * grub-core/disk/geli.c: Likewise.
3351 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3352 * grub-core/disk/luks.c: Likewise.
3353 * grub-core/disk/lvm.c: Likewise.
3354 * grub-core/font/font_cmd.c: Likewise.
3355 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3356 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3357 * grub-core/gfxmenu/view.c: Likewise.
3358 * grub-core/kern/emu/hostdisk.c: Likewise.
3359 * grub-core/kern/emu/main.c: Likewise.
3360 * grub-core/kern/emu/misc.c: Likewise.
3361 * grub-core/kern/emu/mm.c: Likewise.
3362 * grub-core/kern/mips/arc/init.c: Likewise.
3363 * grub-core/kern/mips/loongson/init.c: Likewise.
3364 * grub-core/kern/partition.c: Likewise.
3365 * grub-core/lib/i386/halt.c: Likewise.
3366 * grub-core/lib/mips/arc/reboot.c: Likewise.
3367 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3368 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3369 * grub-core/loader/i386/xnu.c: Likewise.
3370 * grub-core/loader/multiboot.c: Likewise.
3371 * grub-core/net/bootp.c: Likewise.
3372 * grub-core/net/net.c: Likewise.
3373 * grub-core/normal/term.c: Likewise.
3374 * grub-core/partmap/bsdlabel.c: Likewise.
3375 * grub-core/parttool/msdospart.c: Likewise.
3376 * grub-core/term/gfxterm.c: Likewise.
3377 * grub-core/term/terminfo.c: Likewise.
3378 * grub-core/video/i386/pc/vbe.c: Likewise.
3379 * util/grub-menulst2cfg.c: Likewise.
3380 * util/grub-mkdevicemap.c: Likewise.
3381 * util/grub-mklayout.c: Likewise.
3382 * util/grub-mkrelpath.c: Likewise.
3383 * util/grub-script-check.c: Likewise.
3384 * util/ieee1275/grub-ofpathname.c: Likewise.
3385 * util/resolve.c: Likewise.
3386
073aa7a9
VS
33872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 Support %1$d syntax.
3390
3391 * tests/printf_unit_test.c: New file.
3392 * Makefile.util.def (printf_test): New test.
3393 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3394
c76b5417
VS
33952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3398 fix.
3399
df067ad1
VS
34002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3403 dprintf.
3404 * grub-core/font/font.c (grub_font_load): Likewise.
3405
5b289bc5
VS
34062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * util/grub-macho2img.c: Add comment concerning gettext.
3409 * grub-core/lib/legacy_parse.c: Likewise.
3410
c1860f87
VS
34112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3414 (grub_xvasprintf): Likewise.
3415
d35d0d37
VS
34162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Add const keyword to grub_env_get and gettextize week days.
3419
3420 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3421 (grub_read_hook_datetime): Return const char *.
3422 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3423 updated.
3424 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3425 Mark for gettext.
3426 (grub_get_weekday_name): Return const char *. Call gettext.
3427 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3428 char * and len as the argument. All users updated.
3429 (grub_script_argv_split_append): Receive const char *.
3430 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3431 * include/grub/env.h (grub_env_get): Likewise.
3432 (grub_env_read_hook_t): Return const char *.
3433 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3434 (grub_script_argv_split_append): Likewise.
3435
9aed8a71
VS
34362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3439
067fdf00
VS
34402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3443 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3444
a8bd9d39
VS
34452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3448 Fix prototype.
3449
f7ce5baf
VS
34502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 Fix mips compilation.
3453
3454 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3455 normal decoder.
3456 (hashes): Use in embed decoder as well (for sizes).
3457 (dec_stream_header): Fix embed decompressor logic.
3458 (dec_stream_footer): Likewise.
3459
9bb182f3
VS
34602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3463 an error and not a fatal on unrecognised relocation types.
3464
63a9e6f6
VS
34652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3468 Issue error rather than printf on unknown arguments.
3469
4c458569
VS
34702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3473 Make buf a const.
3474
e2d22baf
VS
34752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3478 Fix module name.
3479
53dc8590
VS
34802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3483 leftover debug printf.
3484
6c189294
VS
34852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3488
f7688369
VS
34892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3492 A stylistic fix.
3493
11a775a3
VS
34942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3497
33f784e8
SL
34982011-11-10 Shea Levy <slevy@tieronedesign.com>
3499
3500 Allow all modules to perform serial IO
3501
3502 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3503 * include/grub/serial.h (grub_serial_port_configure): New inline
3504 function.
3505 (grub_serial_port_fetch): Likewise.
3506 (grub_serial_port_put): Likewise.
3507 (grub_serial_port_fini): Likewise.
3508 (grub_serial_find): New proto.
3509
f6276525
VS
35102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 Put symlink at the end of the node and fix a potential
3513 memory corruption.
3514
3515 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3516 Make symlink into an array.
3517 (set_rockridge): Set have_symlink and alloc_dirents.
3518 (grub_iso9660_read_symlink): Use new layout.
3519 (grub_iso9660_iterate_dir): Fix memory corruption.
3520 Use new layout.
3521 (grub_iso9660_dir): Set have_symlink.
3522 (grub_iso9660_open): Likewise.
3523
c3591189
VS
35242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Remove local keyword.
3527
3528 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3529 (version_test_gt): Likewise.
3530 (version_find_latest): Likewise.
3531 (gettext_printf): Likewise.
3532 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3533
cb544caa
VS
35342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3537
45bd824d
VS
35382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Fix ZFS memory and resource leaks.
3541
3542 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3543 All users updated.
3544 Free type on exit.
3545 (fill_vdev_info): New parameter inserted. All users updated.
3546 (check_pool_label): Likewise.
3547 (scan_disk): Likewise.
3548 (scan_devices): Close non-inserted disks.
3549 (fzap_iterate): Free l.
3550 (unmount_device): Free children descripto memory.
3551
ad9a2f44
VS
35522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3555 argument (access out of bounds).
3556
6b68db81
VS
35572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3560 >= 6 drives.
3561
28840fda
VS
35622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3565 Fix declaration.
3566
8a5a3a5b
VS
35672011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 Fix several memory leaks.
3570
3571 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3572 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3573 (grub_cpio_dir): Likewise.
3574 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3575 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3576 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3577 (grub_romfs_label): Likewise.
3578 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3579 (squash_unmount): New function.
3580 (grub_squash_dir): Fix memory leak.
3581 (grub_squash_open): Likewise.
3582 (grub_squash_read): Likewise.
3583 (grub_squash_mtime): Likewise.
3584 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3585 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3586 * util/grub-fstest.c (fstest): Likewise.
3587
57b01250
VS
35882011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3591 avoid accessing beyond the array.
3592
19e81ba7
VS
35932011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3596
52b656c0
VS
35972011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 Several AFFS fixes.
3600
3601 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3602 (GRUB_AFFS_FLAG_FFS): Removed.
3603 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3604 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3605 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3606 (grub_fshelp_node): Make block 32-bit.
3607 Add block_cache and last_block_cache.
3608 (grub_affs_read_block): Fill and use block cache.
3609 (grub_affs_read_file): Removed.
3610 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3611 boot block.
3612 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3613 safety.
3614 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3615 space.
3616 (grub_affs_close): Free block cache.
3617 (grub_affs_read): Use grub_fshelp_read_file directly.
3618
438a746a
VS
36192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3622 with no error set.
3623
49a45021
VS
36242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3627 used variable.
3628 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3629 Likewise.
3630
3ae17eb8
VS
36312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
3634
3635 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
3636 byteswap when needed.
3637
27610c38
VS
36382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Fix FreeBSD compilation.
3641
3642 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3643 to avoid circular dependency.
3644 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3645 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3646 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3647
4a19b601
VS
36482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 Fix ZFS crypto error types.
3651
3652 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3653 (grub_gcm_decrypt): Likewise.
3654 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3655 from PBKDF2.
3656
958ee221
VS
36572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Illumos support.
3660
3661 * Makefile.util.def (10_illumos): New script.
3662 * configure.ac: Set COND_HOST_ILLUMOS.
3663 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3664 Support Illumos calls.
3665 (find_partition_start) [__sun__]: Likewise.
3666 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3667 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3668 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3669 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3670 device.
3671 * util/grub-probe.c (probe) [__sun__]: Do character check.
3672 * util/grub.d/10_illumos.in: New file.
3673
cac14fb6
VS
36742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 Support escaped commas in hostdisk.
3677
3678 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3679 (find_grub_drive): Use unescape_cmp.
3680 (make_device_name): Escape commas.
3681
78e08dc3
VS
36822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3685
9f421dd1
VS
36862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3689 variable.
3690
ed64e9e2
VS
36912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 Support trampoline jumps on powerpc.
3694
3695 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3696 __ia64__ path.
3697 (grub_dl_load_segments): Set mod->sz.
3698 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3699 segments.
3700 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3701 (jump): Likewise.
3702 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3703 function.
3704 (trampoline): New struct.
3705 (trampoline_template): New const.
3706 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
3707 * include/grub/dl.h (grub_dl): Add sz element.
3708 [__powerpc__]: Follow __ia64__.
3709 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
3710 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
3711 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
3712 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
3713
3084ede4
VS
37142011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 ZFS crypto support.
3717
3718 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
3719 * grub-core/Makefile.core.def (zfscrypt): New module.
3720 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
3721 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
3722 it. All users updated.
3723 (grub_zfs_decrypt): New var.
3724 (grub_zfs_load_key): Likewise.
3725 (zio_checksum_functions): Add SHA256+MAC.
3726 (zio_checksum_verify): Handle incomplete comparison due to MAC.
3727 (zio_read): Handle encrypted blocks.
3728 (zap_verify): Remove incorrect check.
3729 (fzap_iterate): Handle non-standard fzap.
3730 (zap_iterate): Likewise.
3731 (zap_iterate_u64): New function.
3732 (dnode_get_fullpath): Load keys.
3733 * grub-core/fs/zfs/zfscrypt.c: New file.
3734 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
3735 (grub_crypto_ecb_encrypt): Make input const.
3736 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
3737 (grub_crypto_ecb_encrypt): Make input const.
3738 (GRUB_CIPHER_AES): New macro.
3739 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
3740 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
3741 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
3742 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
3743 prefix. All users updated.
3744 (grub_zfs_add_key): New proto.
3745 (grub_zfs_decrypt): Likewise.
3746 (grub_zfs_load_key): Likewise.
3747 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
3748 * util/grub-fstest.c (options): Add -K option.
3749 (argp_parser): Likewise.
3750
b632b404
VS
37512011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Support zle compression on ZFS.
3754
3755 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
3756 (decomp_table): Add zle.
3757 * include/grub/zfs/zio.h (zio_compress): Add zle.
3758
c7ba4f69
VS
37592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Support BtrFS embedding.
3762
3763 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
3764 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
3765 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
3766 * util/grub-setup.c (setup): Use fs embedding if available.
3767 Add additional sanity check.
3768
455377d9
VS
37692011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * util/grub-install.in: Fix condition for config_opt.
3772
c2fd16ca
VS
37732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Support third redundancy strip on raidz3.
3776
3777 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
3778 Return error on singularity. All users updated.
3779 (read_device): Don't stop on 3rd failure on raidz3.
3780
8622923b
VS
37812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 Support case-insensitive ZFS subvolumes.
3784
3785 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
3786 All users updated.
3787 (zap_hash): Likewise.
3788 (name_cmp): New function.
3789 (zap_leaf_array_equal): New parameter case_insensitive.
3790 All users updated.
3791 (zap_leaf_lookup): Likewise.
3792 (fzap_lookup): Likewise.
3793 (zap_lookup): Likewise.
3794 (dnode_get_path): New parameter case_insensitive. Retrieve case
3795 sensitiviness of a volume. All users updated.
3796 (dnode_get_fullpath): New parameter case_insensitive.
3797 All users updated.
3798 (grub_zfs_dir): Set info.case_insensitiveness.
3799
95f2e860
VS
38002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Support second redundancy strip on raidz(2,3).
3803
3804 * grub-core/fs/zfs/zfs.c (powx): New array.
3805 (powx_inv): Likewise.
3806 (poly): New const.
3807 (xor_out): New function.
3808 (gf_mul): Likewise.
3809 (recovery): Likewise.
3810 (read_device): Use second redundancy strip.
3811
11ee4389
VS
38122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 Use a power of generator representation of GF(256) multiplication group
3815 to save space time and complexity.
3816
3817 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
3818 (raid6_table2): Likewise.
3819 (powx): New array.
3820 (powx_inv): Likewise.
3821 (poly): New const.
3822 (grub_raid_block_mul): Replace with ...
3823 (grub_raid_block_mulx): ...this.
3824 (grub_raid6_init_table): Rewritten.
3825 (grub_raid6_recover): Use power of generator representation.
3826
09e2763f
VS
38272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
3830 for the right device.
3831
8bec9a28
VS
38322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
3835 expected by grub-mkimage and it's more clear since there is no implicit
3836 padding.
3837
dbd3a32e
VS
38382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
3841 disk.
3842 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3843
182c872a
PMH
38442011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
3845
3846 * util/grub-mkrescue.in: Fix handling xorriso option.
3847
1e51cabd
VS
38482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
3851 NULL.
3852
9cc3581d 38532011-11-03 crocket <crockabiscuit@gmail.com>
3854
3855 * util/grub.d/10_linux.in: Add Slackware initrd naming.
3856
158dc1ea
VS
38572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 XZ CRC64 and SHA256 support.
3860
3861 * Makefile.util.def (libgrubmods): Add crc64.c.
3862 * grub-core/Makefile.core.def (crc64): New module.
3863 * grub-core/lib/crc64.c: New file.
3864 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
3865 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
3866 Fix the type.
3867 (MAX_HASH_SIZE): New define.
3868 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
3869 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3870 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3871 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3872 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3873 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3874 Handle non-crc32 hashes.
3875 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3876 (dec_stream_header): Handle non-crc32 hashes.
3877 (dec_stream_footer): Likewise.
3878 (dec_block_header): Likewise.
3879 (dec_main): Likewise.
3880 (xz_dec_init): Likewise.
3881 (xz_dec_reset): Likewise.
3882 (xz_dec_end): Likewise.
3883 * util/import_gcry.py: Add CRC64 line.
3884
9d9b3d2f
VS
38852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3888 as well.
3889
7d0ac931
VS
38902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 Make reiserfs label retrieval similar to other *_label functions.
3893
3894 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3895 (REISERFS_MAX_LABEL_LENGTH): Removed.
3896 (REISERFS_LABEL_OFFSET): Likewise.
3897 (grub_reiserfs_label): Rewritten.
3898
38992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3902 field.
3903
cf5ba824
VS
39042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3907
17744004
VS
39082011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3911 drive failure on both raidz and raidz2.
3912
aca5aefc
VS
39132011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 Fix RAIDZ(2) for >= 5 devices.
3916
3917 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3918 asize argument. All users updated.
3919
ce8ca56e
VS
39202011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 Fix RAIDZ(2).
3923
3924 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3925 (fill_vdev_info_real): Set ashift.
3926 (read_device): Rewrite RAIDZ part based on reverse engineering.
3927
7c01e783
VS
39282011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3931 don't report potentially unavialiable fields in debug output.
3932 (find_path): Fix double-free and memory leak.
3933
ce109e84
VS
39342011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Read label on UFS1.
3937
3938 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3939 (grub_ufs_fs): Always set .label.
3940
87661123
VS
39412011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Use shifts in UFS.
3944
3945 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3946 (grub_ufs_data): New field log2_blksz.
3947 (grub_ufs_read_file): Use shifts.
3948 (grub_ufs_mount): Check block size and logarithm it.
3949
46bc1dc2
VS
39502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3953 long symlinks.
3954
19ee2987
VS
39552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 Handle symlinks and long names on tar and cpio.
3958
3959 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3960 (ATTR_FILE): Likewise.
3961 (ATTR_DIR): Likewise.
3962 (ATTR_LNK): Likewise.
3963 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3964 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3965 L and K entries.
3966 (grub_cpio_mount): Zero-fill data.
3967 (handle_symlink): New function.
46bc1dc2
VS
3968 (grub_cpio_dir): Handle symlinks.
3969 (grub_cpio_open): Likewise.
3970 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 3971
c83a08d8
VS
39722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Fix iso9660 filename limitations and fix memory leaks.
3975
3976 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3977 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3978
45cdd3ea
VS
39792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Fix JFS file name length limitations.
3982
3983 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3984 (grub_jfs_diropen): Fix maximum filename length.
3985 (grub_jfs_getent): Fix filename length.
3986 (grub_jfs_lookup_symlink): Fix size checks.
3987
94ef05c2
VS
39882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3991 string.
3992
785ab8c7
VS
39932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3994
eb0b6b45
VS
3995 Leverage BFS implementation to read AFS.
3996
3997 * Makefile.util.def (libgrubmods): Add afs.c.
3998 * grub-core/Makefile.core.def (afs): New module
3999 * grub-core/fs/afs.c: New file.
4000 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4001
40022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4005
c4a1628f
VS
40062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/fs/bfs.c: Run indent.
4009
5825b379
VS
40102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 BFS implementation based on the specification.
4013
4014 * grub-core/fs/bfs.c: New file.
4015 * Makefile.util.def (libgrubmods): Add bfs.c.
4016 * grub-core/Makefile.core.def (bfs): New module.
4017
42b2a706
VS
40182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * util/grub-fstest.c (cmd_cp): Clarify error message.
4021 (cmd_cmp): Likewise.
4022
61b99bfc
YB
40232011-10-30 Yves Blusseau <blusseau@zetam.org>
4024
4025 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4026 and befs_be.
4027
faba3d16
VS
40282011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 Remove afs and befs because of copyright problem.
4031
4032 * grub-core/fs/afs.c: Removed.
4033 * grub-core/fs/afs_be.c: Removed.
4034 * grub-core/fs/befs.c: Removed.
4035 * grub-core/fs/befs_be.c: Removed.
4036 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4037 * grub-core/Makefile.core.def (afs): Removed.
4038 (afs_be): Likewise.
4039 (befs): Likewise.
4040 (befs_be): Likewise.
4041
c39224b0
VS
40422011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 Prefer rockridge over Joliet.
4045
4046 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4047 to ...
4048 (set_rockridge): ... here.
4049 (grub_iso9660_mount): Check rockridge on the primary label when
4050 discovering. Ignore Joliet if Rockridge is present.
4051
e551115a
VS
40522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 Use shifts in nilfs2.
4055
4056 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4057 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4058 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4059 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4060 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4061 (grub_nilfs2_entries_per_block): Replaced with ...
4062 (grub_nilfs2_log_entries_per_block_log): ... this.
4063 (grub_nilfs2_blocks_per_group): Replaced with ...
4064 (grub_nilfs2_blocks_per_group_log): ... this.
4065 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4066 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4067 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4068 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4069 (grub_nilfs2_palloc_entry_offset): Replaced ...
4070 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4071 (grub_nilfs2_dat_translate): Use shifts.
4072 (grub_nilfs2_read_inode): Likewise.
4073 (GRUB_MOD_INIT): Ensure that logs are correct.
4074
564dd58c
VS
40752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Use shifts in minix filesystem.
4078
4079 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4080 (GRUB_MINIX_ZONE2SECT): Likewise.
4081 (grub_minix_data): Replace block_size with log_block_size.
4082 (grub_minix_read_file): Use shifts.
4083 (grub_minix_mount): Check block size and take a logarithm.
4084
ed9ba06d
VS
40852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Use shifts in squash4.
4088
4089 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4090 (squash_mount): Check block size and take logarithm.
4091 (direct_read): Use shifts.
4092
ad03fe76
VS
40932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Correct befs block counting logic.
4096
4097 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4098 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4099 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4100 (grub_afs_read_inode): Use block_shift.
4101 (RANGE_SHIFT): New definition.
4102 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4103 unexpected conditions, use shifts and appropriate types.
4104 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4105
6563f63d
VS
41062011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/disk/raid.c (scan_devices): Check partition.
4109 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4110
5b1ae25f
VS
41112011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 Support BFS (befs) UUID.
4114
4115 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4116 (grub_afs_small_data_element_header): New struct.
4117 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4118 (grub_afs_read_attribute) [MODE_BFS]: New function.
4119 (grub_afs_iterate_dir): Allocate for complete inode.
4120 (grub_afs_mount): Likewise.
4121 (grub_afs_uuid) [MODE_BFS]: New function.
4122 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4123
f8d82408
VS
41242011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4127 (zfs_unmount): Fix memory leak.
4128
5773fb64
VS
41292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 Support NTFS reparse points.
4132
4133 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4134 (symlink_descriptor): New struct.
4135 (grub_ntfs_read_symlink): New function.
4136 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4137 (grub_ntfs_open): Likewise.
4138
91c3fdde
VS
41392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4142
3be82e10
VS
41432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 fstest xnu_uuid subcommand.
4146
4147 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4148 grub-core/commands/xnu_uuid.c.
4149 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4150 (fstest): Handle xnu_uuid.
4151 (options): Document xnu_uuid.
4152 (argp_parser): Parse xnu_uuid.
4153
8e32442e
VS
41542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4157 -l argument. Add newline at the end if printing.
4158 (GRUB_MOD_INIT): Document -l.
4159
52a05075
VS
41602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4163
1869edb5
VS
41642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 ZFS multi-device and version 33 support.
4167
4168 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4169 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4170 (grub_zfs_data): Add multidev-ice-related fields.
4171 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4172 (dva_get_offset): Make dva const.
4173 (zfs_fetch_nvlist): New function.
4174 (fill_vdev_info_real): Likewise.
4175 (fill_vdev_info): Likewise.
4176 (check_pool_label): Likewise.
4177 (scan_disk): Likewise.
4178 (scan_devices): Likewise.
4179 (read_device): Likewise.
4180 (read_dva): Likewise.
4181 (zio_read_gang): Use read_dva.
4182 (zio_read_data): Likewise.
4183 (zap_leaf_lookup): Add missing endian conversion.
4184 (zap_verify): Add missing endian conversion. All users updated.
4185 (fzap_lookup): Likewise.
4186 (fzap_iterate): Likewise.
4187 (dnode_get_path): Handle SA bonus.
4188 (nvlist_find_value): Make input const. All users updated.
4189 (unmount_device): New function.
4190 (zfs_unmount): Use unmount_device.
4191 (zfs_mount): Use scan_disk.
4192 (zfs_mtime): New function.
4193 (grub_zfs_open): Handle system attributes.
4194 (fill_fs_info): Likewise.
4195 (grub_zfs_dir): Likewise.
4196 (grub_zfs_fs): Add mtime.
4197 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4198 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4199 (SA_MTIME_OFFSET): Likewise.
4200 (SA_SYMLINK_OFFSET): Likewise.
4201 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4202 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4203 (fstest): Support zfsinfo.
4204 (argp_parser): Likewise.
4205
186b4028
VS
42062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4209 error.
4210
42112011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4212
4213 ZFS fixes.
4214
4215 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4216 sharing the same block. Iterate over correct number of indices.
4217 (dnode_get_path): Handle symlinks correctly.
4218
c0584900
VS
42192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4222
67e2bd71
VS
42232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Read label on HFS+.
4226
4227 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4228 (grub_hfsplus_btree_search): Fix types.
4229 (grub_hfsplus_label): Implement.
4230
e9cc6b7b
VS
42312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4234
19832ddb
VS
42352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4238
66b40850
VS
42392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Fix symlink handling on iso9660.
4242
4243 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4244 All users updated.
4245 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4246 (grub_iso9660_read_symlink): Moved most of code ...
4247 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4248
db821363
VS
42492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4252 Use union to avoid breaking strict-aliasing rules.
4253
e1211949
VS
42542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Support multi-extent iso files.
4257
4258 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4259 Add node.
4260 (grub_fshelp_node): Revamp. All users updated.
4261 (FLAG_*): New enum.
4262 (read_node): New function.
4263 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4264 All users updated.
4265 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4266 (get_node_size): New function.
4267 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4268 entries.
4269 Fix memory leak on . and ..
4270 (grub_iso9660_read): Use read_node.
4271 (grub_iso9660_close): Free node.
4272
d4888031
VS
42732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Fix tar 4G limit and handle paths containing dot.
4276
4277 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4278 (canonicalize): New function.
4279 (grub_cpio_find_file): Use canonicalize. Store offs in
4280 grub_disk_addr_t.
4281 (grub_cpio_dir): Use grub_disk_addr_t.
4282 (grub_cpio_open): Likewise.
4283
9f12e664
VS
42842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4287
4288 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4289 unused flags.
4290 (grub_squash_inode): Add long_file and block_size.
4291 (grub_squash_cache_inode): New struct.
4292 (grub_squash_dirent): Make types into enum.
4293 (SQUASH_TYPE_LONG_REGULAR): New type.
4294 (grub_squash_frag_desc): Add field size.
4295 (SQUASH_BLOCK_FLAGS): New enum.
4296 (grub_squash_data): Use grub_squash_cache_inode.
4297 (grub_fshelp_node): Make ino_chunk 64-bit.
4298 (read_chunk): Minor argument change. All users updated.
4299 (squash_mount): Use correct le_to_cpu.
4300 (grub_squash_open): Handle LONG_REGULAR.
4301 (direct_read): New function.
4302 (grub_squash_read_data): Handle blocks correctly.
4303
9f326fba
VS
43042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4307
f4d9b64b
VS
43082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4311
5bbd28b8
VS
43122011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 Fix 2G limit on ZFS.
4315
4316 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4317 types.
4318 (uberblock_verify): Likewise.
4319 (dmu_read): Likewise.
4320 (grub_zfs_read): Likewise. Remove invalid cast.
4321
68c72069
VS
43222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4325 (grub_jfs_blkno): Fix incorrect shift.
4326 (grub_jfs_read_file): Use more appropriate types.
4327
6e536dc8
VS
43282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Support triple indirect on minix2 and minix3.
4331
4332 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4333 Declare triple_indir_zone.
4334 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4335 indirect.
4336
e0864e7a
VS
43372011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 Minix FS fixes.
4340
4341 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4342 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4343 Rename ctime to mtime. All users updated.
4344 (grub_minix_get_file_block): Fix types and double indirect computations.
4345
89481cab
VS
43462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4349 if no label is found.
4350 (grub_fat_iterate_dir): Fix file size type.
4351 (grub_fat_iterate_dir): Likewise.
4352
f646e143
VS
43532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4356 save some space.
4357 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4358 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4359
534d769e
VS
43602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4363
e084ba18
VS
43642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * util/import_gcry.py: Accept space between # and include.
4367
3471ecdf
VS
43682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4371
124df5f6
VS
43722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4375
4376 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4377 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4378 yylex_strncpy.
4379 * grub-core/script/yylex.l: Add fine-grained #pragma.
4380
4defb8d5
VS
43812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4384 New inline function.
4385 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4386 Likewise.
4387 (memset) [GRUB_UTIL]: Likewise.
4388 (memcmp) [GRUB_UTIL]: Likewise.
4389
4e94ae65
VS
43902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4393 inline function rather than a define.
4394
18c575e5
VS
43952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * util/grub-setup.c: Add missing include.
4398
f8bc22a8
VS
43992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * util/ieee1275/grub-ofpathname.c: Add missing include.
4402
3ce69fc9
VS
44032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4406 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4407 Likewise.
4408
d1e293bb
VS
44092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4412 grub_memcmp usage.
4413
7a5c54a4
VS
44142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * util/grub-install.in: Add datarootdir as per automake manual
4417 suggestion.
4418 * util/grub-mknetdir.in: Likewise.
4419
44202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
4421
4422 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4423 suggestion.
4424 * util/grub.d/10_kfreebsd.in: Likewise.
4425 * util/grub.d/10_linux.in: Likewise.
4426 * util/grub.d/10_netbsd.in: Likewise.
4427 * util/grub.d/10_windows.in: Likewise.
4428 * util/grub.d/20_linux_xen.in: Likewise.
4429
766f7d08
VS
44302011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 Remove redundant grub_kernel_image_size.
4433
4434 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4435 _edata and _start.
4436 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4437 the small code. It moves it only by few bytes but simplifies the code.
4438 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4439 _start.
4440 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4441 (grub_kernel_image_size): Removed.
4442 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4443 (grub_kernel_image_size): Removed.
4444 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4445 compiled with Apple toolchain.
4446 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4447 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4448 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4449 (grub_total_module_size): Likewise.
4450 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4451 Removed.
4452 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4453 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4454 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4455 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4456 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4457 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4458 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4459 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4460 Removed.
4461 (grub_total_module_size): Removed.
4462 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4463 (image_targets): Likewise.
4464 Set .compressed_size to no field on sparc.
4465 (generate_image): Remove kernel_image_size handling.
4466
fcf1d672
SJ
44672011-10-19 Szymon Janc <szymon@janc.net.pl>
4468
4469 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4470 NULL pointer dereference.
4471
de9c615e
VS
44722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4475 done with a dedicated section.
4476
4477 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4478 Ensure the correct position of boot_path.
4479 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4480 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4481 other fields.
4482 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4483 * include/grub/boot.h: Removed. All references removed.
4484 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4485 Removed.
4486 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4487
e55599dc
VS
44882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4491 name.
4492
36dd20ad
VS
44932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4496
f8f72eb8
VS
44972011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4500 Don't add the bogus brackets.
4501
a374751b
VS
45022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 ExFAT support.
4505
4506 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4507 * grub-core/Makefile.core.def (exfat): New module.
4508 * grub-core/fs/exfat.c: New file.
4509 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4510 (GRUB_FAT_ATTR_*): Make into an enum.
4511 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4512 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4513 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4514 (GRUB_FAT_MAXFILE): Removed.
4515 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4516 (grub_current_fat_bpb_t): New type.
4517 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4518 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4519 (grub_fat_dir_node_t): New type.
4520 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4521 (fat_log2) [MODE_EXFAT]: Removed.
4522 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4523 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4524 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4525 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4526 (grub_fat_label) [MODE_EXFAT]: New function.
4527 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4528 reserved_first_sector to 0.
4529
544c2487
VS
45302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Move grub_reboot out of the kernel.
4533
4534 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4535 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4536 * grub-core/lib/efi/reboot.c: ... here.
4537 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4538 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4539 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4540 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4541 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4542 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4543 * grub-core/lib/ieee1275/reboot.c: ... here.
4544 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4545 * grub-core/lib/mips/arc/reboot.c: ... here.
4546 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4547 * grub-core/lib/mips/loongson/reboot.c: ...here.
4548 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4549 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4550 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4551 * include/grub/i386/reboot.h: New file.
4552 * include/grub/mips/loongson/ec.h: Fix includes.
4553 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4554 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4555 * grub-core/lib/i386/reboot.c: New file.
4556
a97501d2
VS
45572011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 Make grub_prefix into module to fix the arbitrary limit and save
4560 some space.
4561
4562 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4563 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4564 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4565 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4566 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4567 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4568 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4569 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4570 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4571 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4572 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4573 * include/grub/ia64/efi/kernel.h: Removed.
4574 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4575 (grub_prefix): Removed.
4576 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4577 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4578 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4579 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4580 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4581 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4582 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4583 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4584 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4585 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4586 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4587 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4588 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4589 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4590 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4591 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4592 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4593 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4594 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4595 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4596 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4597 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4598 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4599 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4600 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4601 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4602 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4603 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4604 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4605 from module.
4606 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4607 prefix_end.
4608 (image_targets): Likewise.
4609 (generate_image): Put prefix as a module.
4610
39705fad
VS
46112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Replace grub_module_iterate with FOR_MODULES.
4614
4615 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4616 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4617 (grub_efi_modules_addr): ...this.
4618 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4619 (grub_efi_init): Set grub_modbase.
4620 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4621 (grub_modbase): New variable.
4622 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4623 (grub_modbase): New variable.
4624 (grub_machine_init): Set grub_modbase.
4625 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4626 (grub_modbase): New variable.
4627 (grub_machine_init): Set grub_modbase.
4628 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4629 (grub_modbase): New variable.
4630 (grub_machine_init): Set grub_modbase.
4631 * grub-core/kern/main.c (grub_module_iterate): Remove.
4632 (grub_modules_get_end): Use grub_modbase.
4633 (grub_load_modules): Use FOR_MODULES.
4634 (grub_load_config): Likewise.
4635 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
4636 (grub_modbase): New variable.
4637 (grub_machine_init): Set grub_modbase.
4638 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4639 (grub_modbase): New variable.
4640 (grub_machine_init): Set grub_modbase.
4641 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4642 Removed.
4643 (grub_modbase): New variable.
4644 (grub_machine_init): Set grub_modbase.
4645 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4646 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4647 (grub_module_iterate): Likewise.
4648 (grub_modbase): New variable declaration.
4649 (FOR_MODULES): New macro.
4650
2afb7f6c
VS
46512011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4654 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4655
366e34fa
VS
46562011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Fix few obvious type discrepancies.
4659
4660 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4661 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4662 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4663 variable.
4664 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4665 and connected types.
4666 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4667 offset.
4668 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4669 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4670 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4671 and connected types.
4672
177b960e
VS
46732011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Fix python 3.x incompatibilities.
4676
4677 * gentpl.py: Put brackets around print strings.
4678 * util/import_gcry.py: Open explicitly as utf-8.
4679 Use in instead of has_key.
4680
3b619ae1
VS
46812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4684 (GRUB_XFS_INO_AGBITS): Make into inline function.
4685 (GRUB_XFS_INO_INOINAG): Likewise.
4686 (GRUB_XFS_INO_AG): Likewise.
4687 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4688 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4689 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4690 (GRUB_XFS_EXTENT_SIZE): Likewise.
4691 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4692 (GRUB_XFS_NEXT_DIRENT): Likewise.
4693 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4694 (grub_xfs_read_file): Fix offset type.
4695
8bcebcb8
RM
46962011-10-15 Robert Millan <rmh@gnu.org>
4697
4698 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4699
0017e5ef
RM
47002011-10-15 Robert Millan <rmh@gnu.org>
4701
4702 Fix build problem on FreeBSD and GNU/kFreeBSD.
4703
4704 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
4705
d8919552
VS
47062011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
4709
4710 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
4711 types.
4712 (grub_hfsplus_btree_recoffset): Likewise.
4713 (grub_hfsplus_btree_recptr): Likewise.
4714 (grub_hfsplus_find_block): Likewise.
4715 (grub_hfsplus_btree_search): Likewise.
4716 (grub_hfsplus_read_block): Likewise.
4717 (grub_hfsplus_read_file): Likewise.
4718 (grub_hfsplus_mount): Likewise.
4719 (grub_hfsplus_btree_iterate_node): Likewise.
4720 (grub_hfsplus_btree_search): Likewise.
4721 (grub_hfsplus_iterate_dir): Likewise.
4722 (grub_hfsplus_read): A small code simplification.
4723
c81296b6
VS
47242011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/kern/emu/hostdisk.c
4727 (convert_system_partition_to_system_disk): Don't assume that children
4728 of mapper nodes are mapper nodes.
4729
0eb8ffb1
VS
47302011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
4733 * include/grub/misc.h (grub_isxdigit): New function.
4734 * grub-core/video/colors.c (my_isxdigit): Removed. All users
4735 switched to grub_isxdigit.
4736 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
4737 number starting with a letter.
4738
a98f4a08
RM
47392011-10-09 Robert Millan <rmh@gnu.org>
4740
4741 LVM support for FreeBSD and GNU/kFreeBSD.
4742
4743 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
4744 GNU/kFreeBSD.
4745 (LVM_DEV_MAPPER_STRING): Move from here ...
4746 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
4747 * util/getroot.c: Include `<grub/util/lvm.h>'.
4748 (grub_util_get_dev_abstraction): Enable
4749 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
4750 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
4751 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
4752 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
4753 support it.
4754 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
4755 GNU/kFreeBSD.
4756 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
4757 when LVM abstraction is required for ${GRUB_DEVICE}.
4758
050e8e90
SJ
47592011-10-06 Szymon Janc <szymon@janc.net.pl>
4760
4761 Add support for LZO compression in GRUB:
4762 - import of minilzo library,
4763 - LZO decompression for btrfs,
4764 - lzop files decompression.
4765
4766 * grub-core/io/lzopio.c: New file.
4767 * grub-core/lib/adler32.c: Likewise.
4768 * grub-core/lib/minilzo/lzoconf.h: Likewise.
4769 * grub-core/lib/minilzo/lzodefs.h: Likewise.
4770 * grub-core/lib/minilzo/minilzo.c: Likewise.
4771 * grub-core/lib/minilzo/minilzo.h: Likewise.
4772 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
4773 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
4774 grub-core/lib/minilzo/minilzo.c to common.
4775 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
4776 cflags in cppflags.
4777 * grub-core/Makefile.core.def (btrfs): Likewise.
4778 * grub-core/Makefile.core.def (lzopio): New module.
4779 (adler32): Likewise.
4780 * grub-core/fs/btrfs.c: Include minilzo.h.
4781 (GRUB_BTRFS_COMPRESSION_LZO): New define.
4782 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
4783 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
4784 (grub_btrfs_lzo_decompress): New function.
4785 (grub_btrfs_extent_read): Add support for LZO compression type.
4786 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
4787 (GRUB_USHRT_MAX): Likewise.
4788 (GRUB_UINT_MAX): Likewise.
4789 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
4790 (UINT_MAX): Likewise.
4791 (CHAR_BIT): Likewise.
4792 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
4793 grub-core/lib/posix_wrap/limits.h
4794 (UCHAR_MAX): Likewise.
4795 * include/grub/file.h (grub_file_filter_id): New compression filter
4796 GRUB_FILE_FILTER_LZOPIO.
4797 * include/grub/file.h (grub_file_filter_id): Set
4798 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
4799 * include/grub/types.h (grub_get_unaligned16): New function.
4800 (grub_get_unaligned32): Likewise.
4801 (grub_get_unaligned64): Likewise.
4802 * util/import_gcry.py (cryptolist): Add adler32.
4803
0eb8ffb1
VS
48042011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
4807 in perspective decreases the complexity of build system and fixes
4808 compilation right now.
4809
ce79cc99 48102011-10-01 Ales Nesrsta <starous@volny.cz>
4811
4812 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
4813 (fixed problem related to using UHCI with coreboot).
4814
8667a314
BC
48152011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4816
4817 * gentpl.py: Use Autogen macros so that the output template file
4818 (Makefile.tpl) size is reduced.
4819
fc5efcc0
MK
48202011-09-29 Mads Kiilerich <mads@kiilerich.com>
4821
4822 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
4823 extra_dist.
4824
d1ab689d
ML
48252011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4826
4827 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
4828 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
4829
c05de032
ML
48302011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4831
4832 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
4833 _fullpath.
4834
cca7ccd8
ML
48352011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4836
4837 Remove extra declaration of sleep for mingw32.
4838
4839 * util/misc.c (sleep) [__MINGW32__]: Removed.
4840 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
4841
e0b0dc83
GS
48422011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4843
4844 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
4845 type and packname.
4846 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
4847 Resurrected.
4848 (NETBSD_BTINFO_BOOTWEDGE): New definition.
4849 (grub_netbsd_btinfo_bootwedge): New struct.
4850 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4851 New function.
4852 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
4853
91a1a164
TH
48542011-09-28 Thomas Haller <thomas.haller@fen-net.de>
4855
4856 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4857 loader.
4858
2ded951e
AB
48592011-09-28 Andreas Born <futur.andy@googlemail.com>
4860
4861 Fix incorrect identifiers in bash-completion.
4862
4863 * util/bash-completion.d/grub-completion.bash.in
4864 (_grub_mkpasswd-pbkdf2): Rename to ...
4865 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
4866 (_grub_script-check): Rename to ...
4867 (_grub_script_check): ... this. All users updated.
4868
69915030
VS
48692011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4872 Return 0 if disk isn't biosdisk.
4873
20fd15f9
GS
48742011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4875
4876 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4877 on NetBSD.
4878 * Makefile.util.def (grub-fstest): Likewise.
4879
1a7d7db9
GS
48802011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4881
4882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4883 Get sector size from disk label.
4884
2221ab6c
CW
48852011-09-05 Colin Watson <cjwatson@ubuntu.com>
4886
4887 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4888 */README* as well as README*.
4889 Reported by: Axel Beckert.
4890
ca51c4a0
VS
48912011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4894 case of less than 256 MiB of RAM.
4895
ab80f326
VS
48962011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/commands/wildcard.c (make_regex): Handle @.
4899
4155e697
VS
49002011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4903
ab178c08
SJ
49042011-08-21 Szymon Janc <szymon@janc.net.pl>
4905
4906 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4907 AC_LANG_CONFTEST macros.
4908
7dc3c686
SJ
49092011-08-20 Szymon Janc <szymon@janc.net.pl>
4910
4911 Add grub-fstest option to uncompress data for commands.
4912
4913 * util/grub-fstest.c (uncompress): New var.
4914 (options): New option -u.
4915
fe8d4a7b
SJ
49162011-08-20 Szymon Janc <szymon@janc.net.pl>
4917
4918 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4919 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4920
a5219af1
SJ
49212011-08-20 Szymon Janc <szymon@janc.net.pl>
4922
4923 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4924 file type was not recognized correctly (not gzip or corrupted).
4925
f87abff5
VS
49262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4929 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4930
d94497ea
VS
49312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4934 loongson.
4935 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4936 video_radeon_fuloong2e.
4937 * grub-core/video/radeon_fuloong2e.c: New file.
4938 * include/grub/video.h (grub_video_id_t): Add new ID
4939 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4940
0d1fd011
VS
49412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4944 define.
4945 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4946 that PRID matches the detected subplatform and reset the subplatform
4947 if it doesn't.
4948
84beb0ee
VS
49492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4952
1227c133
VS
49532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Fix PCI iterating on functions >= 4.
4956
4957 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4958 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4959 Removed.
4960 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4961 (grub_pci_read): Fix bitmask.
4962 (grub_pci_read_word): Likewise.
4963 (grub_pci_read_byte): Likewise.
4964 (grub_pci_write): Likewise.
4965 (grub_pci_write_word): Likewise.
4966 (grub_pci_write_byte): Likewise.
4967
9594c689
VS
49682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4971 can still be specified in TARGET_CFLAGS)
4972
14a2562c
VS
49732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4976
4977 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4978 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4979 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4980 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4981 (FULOONG): Rename to ...
4982 (FULOONG2F): ... this. All users updated.
4983 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4984 (machtype_fuloong2f_str): ... this.
4985 (machtype_fuloong2e_str): New string.
4986 Check for machtype_fuloong2e_str.
4987 * grub-core/loader/mips/linux.c (loongson_machtypes)
4988 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4989 * grub-core/term/serial.c (loongson_defserial)
4990 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4991 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
4992 loongson_defserial.
4993 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
4994 Rename to ...
4995 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
4996 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
4997 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
4998 to IMAGE_FULOONG2F_FLASH. All users updated.
4999 (image_targets): Rename images.
5000 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5001
b526cbb6
SJ
50022011-08-19 Szymon Janc <szymon@janc.net.pl>
5003
5004 Make enable of disk cache statistics code configurable.
5005
5006 * configure.ac: --enable-cache-stats added.
5007 * config.h.in (DISK_CACHE_STATS): New define.
5008 * grub-core/Makefile.core.def (cacheinfo): New command.
5009 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5010 * grub-core/commands/cacheinfo.c: New file.
5011 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5012 moved to cacheinfo.c.
5013 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5014 debug code.
5015 * include/grub/disk.h: Likewise.
5016
fb739ccd
SJ
50172011-08-19 Szymon Janc <szymon@janc.net.pl>
5018
5019 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5020 * grub-core/Makefile.am: Likewise.
5021
2bba8cfd
VS
50222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5025 non-zero pull.
5026
43526629
VS
50272011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5030 All users updated.
5031 (grub_jfs_lookup_symlink): Use correct starting inode.
5032
5c144cc8
VS
50332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * util/grub-setup.c (main): Add missing gcry initialisation.
5036
b1257f65
VS
50372011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 Don't accept text modes on EFI when booting Linux.
5040
5041 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5042 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5043
828bc390
ML
50442011-08-15 Mario Limonciello <mario_limonciello@dell.com>
50452011-08-15 Colin Watson <cjwatson@ubuntu.com>
5046
5047 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5048 use of "/path/.." as in grub-install for EFI as well as handling
5049 symlinks correctly.
5050 Fixes Debian bug #637768.
5051
5f60ccac
CW
50522011-08-15 Colin Watson <cjwatson@ubuntu.com>
5053
5054 * util/grub-probe.c: Remove duplicate #include.
5055
6dc212f9
RM
50562011-08-10 Robert Millan <rmh@gnu.org>
5057
5058 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5059
5060 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5061 function.
5062 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5063 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5064
66816d85
RM
50652011-08-03 Robert Millan <rmh@gnu.org>
5066
5067 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5068 la_array as packed.
5069 Reported by: Zachary Bedell
5070
20168fca
CW
50712011-07-26 Colin Watson <cjwatson@ubuntu.com>
5072
5073 * configure.ac: The Loongson port requires grub-mkfont due to its
5074 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5075 be built.
5076
303b6246
CW
50772011-07-26 Colin Watson <cjwatson@ubuntu.com>
5078
5079 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5080 processing arguments (otherwise help2man fails when GRUB has not yet
5081 been installed).
5082
6795300e
VS
50832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5084
41aa28ea
VS
5085 New script grub-mkstandalone.
5086
5087 * Makefile.util.def (grub-mkstandalone): New script.
5088 * docs/man/grub-mkstandalone.h2m: New file.
5089 * util/grub-mkstandalone.in: Likewise.
5090
50912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Support ATA disks with 4K sectors.
6795300e
VS
5094
5095 * include/grub/ata.h (grub_ata): New member log_sector_size.
5096 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5097 (grub_ata_identify): Read sector size.
5098 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5099
92227597
VS
51002011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * util/grub-install.in: Don't use uhci outside of x86.
5103
c77069f5
VS
51042011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * util/grub-mkrescue.in: Add missing quotes.
5107
51082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5109
5110 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5111 dereference.
5112
583168a2
VS
51132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5116
6be1c01f
VS
51172011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * include/grub/video.h: add missing EXPORT_FUND on
5120 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5121
a1167439
VS
51222011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * include/grub/mips/kernel.h: Fix define conflict.
5125
bf66054f
VS
51262011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5129 all four ways.
5130
8fc4fa45
CW
51312011-07-21 Colin Watson <cjwatson@ubuntu.com>
5132
5133 Preferred resolution detection for VBE.
5134
5135 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5136 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5137 the Flat Panel extension, in line with the X.org VESA driver.
5138 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5139 New function.
5140 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5141 (grub_vbe_bios_read_edid): Likewise.
5142 (grub_vbe_get_preferred_mode): Likewise.
5143 (grub_video_vbe_setup): When the mode is "auto", try to get the
5144 preferred mode from VBE, and use the largest mode that is no larger
5145 than the preferred mode (some BIOSes expose a preferred mode that is
5146 not in their mode list!). If this fails, fall back to 640x480 as a
5147 safe conservative choice.
5148 (grub_video_vbe_get_edid): New function.
5149 (grub_video_vbe_adapter): Add get_edid.
5150 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5151 (struct grub_video_adapter): Add get_edid.
5152 (grub_video_edid_checksum): Add prototype.
5153 (grub_video_edid_preferred_mode): Likewise.
5154 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5155 structure.
5156
5157 * grub-core/commands/videoinfo.c (print_edid): New function.
5158 (grub_cmd_videoinfo): Print EDID if available.
5159
5160 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5161 is more appropriate on a wider range of platforms than 640x480.
5162 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5163 documentation.
5164
ca5572a9
VS
51652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5168
e4bcf625
VS
51692011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * po/POTFILES.in: Regenerate.
5172
c4edd548
VS
51732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5176 incorrect memory usage.
5177
16a2bab0
VS
51782011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * util/grub-install.in: Source grub-mkconfig_lib.
5181
2e418de6
VS
51822011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Remove getroot.c from core on emu platform.
5185
5186 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5187 kern/emu/raid.c.
5188 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5189 useless.
5190 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5191 * util/getroot.c (get_win32_path): ... here.
5192 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5193 * util/getroot.c (fini_libzfs): ... here.
5194 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5195 * util/getroot.c (grub_get_libzfs_handle): ... here.
5196 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5197 Moved from here...
5198 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5199 * grub-core/kern/emu/misc.c
5200 (grub_make_system_path_relative_to_its_root): Moved from here...
5201 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5202 * grub-core/kern/emu/getroot.c: Moved from here ...
5203 * util/getroot.c: ... here. All users updated.
5204 * grub-core/kern/emu/raid.c: Moved from here ...
5205 * util/raid.c: ... here. All users updated.
5206
def9832a
VS
52072011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * po/POTFILES.in: Regenerate.
5210
cd8fe79a
VS
52112011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Fix compilation on GNU/Linux.
5214
5215 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5216 Disable geli.
5217 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5218 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5219 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5220
a251b719
VS
52212011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
52222011-07-07 Michael Gorven <michael@gorven.za.net>
52232011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5224
5225 LUKS and GELI support.
5226
5227 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5228 grub-core/disk/luks.c, grub-core/disk/geli.c,
5229 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5230 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5231 grub-core/lib/arg.c.
5232 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5233 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5234 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5235 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5236 (grub-bin2h): Add libgcry.a.
5237 (grub-mkimage): Likewise.
5238 (grub-mkrelpath): Likewise.
5239 (grub-script-check): Likewise.
5240 (grub-editenv): Likewise.
5241 (grub-mkpasswd-pbkdf2): Likewise.
5242 (grub-pe2elf): Likewise.
5243 (grub-fstest): Likewise.
5244 (grub-mkfont): Likewise.
5245 (grub-mkdevicemap): Likewise.
5246 (grub-probe): Likewise.
5247 (grub-ofpath): Likewise.
5248 (grub-mklayout): Likewise.
5249 (example_unit_test): Likewise.
5250 (grub-menulst2cfg): Likewise.
5251 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5252 * grub-core/Makefile.core.def (cryptodisk): New module.
5253 (luks): Likewise.
5254 (geli): Likewise.
5255 * grub-core/disk/AFSplitter.c: New file.
5256 * grub-core/disk/cryptodisk.c: Likewise.
5257 * grub-core/disk/geli.c: Likewise.
5258 * grub-core/disk/luks.c: Likewise.
5259 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5260 grub_util_is_lvm.
5261 (grub_util_get_dm_abstraction): New function.
5262 (grub_util_follow_gpart_up): Likewise.
5263 (grub_util_get_geom_abstraction): Likewise.
5264 (grub_util_get_dev_abstraction): Use new functions.
5265 (grub_util_pull_device): Pull GELI and LUKS.
5266 (grub_util_get_grub_dev): Handle LUKS and GELI.
5267 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5268 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5269 (follow_geom_up): Removed.
5270 (grub_util_fd_seek): New function.
5271 (open_device): Use grub_util_fd_seek.
5272 (nread): Rename to ..
5273 (grub_util_fd_read): ... this. All users updated.
5274 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5275 (grub_crypto_cbc_decrypt): Likewise.
5276 (grub_crypto_hmac_write): Likewise.
5277 (grub_crypto_hmac_buffer): Likewise.
5278 (grub_password_get): Extend to util.
5279 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5280 New member modname.
5281 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5282 * include/grub/cryptodisk.h: New file.
5283 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5284 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5285 LUKS and GELI.
5286 (grub_util_follow_gpart_up): New proto.
5287 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5288 (grub_util_fd_read): Likewise.
5289 (grub_cryptodisk_cheat_mount): Likewise.
5290 (grub_util_cryptodisk_print_uuid): Likewise.
5291 (grub_util_get_fd_sectors): Likewise.
5292 * util/grub-fstest.c (mount_crypt): New var.
5293 (fstest): Mount crypto if requested.
5294 (options): New option -C.
5295 (argp_parser): Parse -C.
5296 (main): Init and fini gcry.
5297 * util/grub-install.in: Support cryptodisk install.
5298 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5299 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5300 cryptodisk.
5301 (prepare_grub_to_access_device): Likewise.
5302 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5303 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5304 (probe_cryptodisk_uuid): New function.
5305 (probe_abstraction): Likewise.
5306 (probe): Use new functions.
5307 * util/import_gcry.py: Create Makefile.utilgcry.def.
5308 Add modname member.
5309
9bfdcbbc
VS
53102011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 Lazy device scanning.
5313
5314 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5315 (grub-setup): Remove util/raid.c.
5316 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5317 * grub-core/disk/lvm.c (scan_depth): New variable.
5318 (grub_lvm_iterate): Rescan if necessary.
5319 (find_lv): New function based on grub_lvm_open.
5320 (grub_lvm_open): Use find_lv. Rescan on error.
5321 (is_node_readable): New function.
5322 (is_lv_readable): Likewise.
5323 (grub_lvm_scan_device): Skip already found disks.
5324 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5325 Stop if searched device is found and readable.
5326 * grub-core/disk/raid.c (inscnt): New variable.
5327 (scan_depth): Likewise.
5328 (scan_devices): New function based on grub_raid_register. Abort if
5329 looked for device is found.
5330 (grub_raid_iterate): Rescan if needed.
5331 (find_array): NEw function based on -grub_raid_open.
5332 (grub_raid_open): Use find_array and rescan.
5333 (insert_array): Set became_readable_at.
5334 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5335 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5336 New function.
5337 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5338 (grub_util_pull_device): New function.
5339 (grub_util_get_grub_dev): Call grub_util_pull_device.
5340 * util/raid.c: Moved to ..
5341 * grub-core/kern/emu/raid.c: ... here.
5342 (grub_util_raid_getmembers): New parameter "bootable".
5343 All users updated. Support 1.x.
5344 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5345 All users updated.
5346 * include/grub/disk.h (grub_disk_pull_t): New enum.
5347 (grub_disk_dev): Change iterate prototype.
5348 All users updated.
5349 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5350 New proto.
5351 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5352 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5353 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5354 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5355 All users updated.
5356 * include/grub/util/raid.h: Removed.
5357
1c358e59
VS
53582011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * po/POTFILES.in: Regenerate.
5361
abee94ed
VS
53622011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 Unify sparc init with other ieee1275.
5365
5366 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5367 instead of kern/sparc64/ieee1275/init.c.
5368 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5369 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5370 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5371 grub/machine/kernel.h.
5372 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5373 (grub_claim_heap) [__sparc__]: Use sparc version.
5374 (grub_machine_init): Moved args parsing to
5375 (grub_parse_cmdline): ...this.
5376 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5377 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5378 New definition.
5379 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5380
5381 Move BOOTP to separate file.
5382
5383 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5384 * grub-core/net/net.c: Move all BOOTP functions to
5385 * grub-core/net/bootp.c: ... here.
5386
5387 Use frame interface on PXE.
5388
5389 * grub-core/Makefile.core.def (pxecmd): Removed.
5390 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5391 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5392 * grub-core/i386/pc/pxe.c: Moved from here ...
5393 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5394 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5395 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5396
5397 EFI network support.
5398
5399 * grub-core/Makefile.core.def (efinet): New module.
5400 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5401 here...
5402 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5403 All users updated.
5404 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5405 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5406 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5407 * grub-core/net/drivers/efi/efinet.c: New file.
5408 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5409 (grub_efi_net_config): New extern var.
5410
5411 Various cleanups and bugfixes.
5412
5413 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5414 error.
5415 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5416 disk declared as partition.
5417 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5418 leak on failure.
5419 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5420 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5421 (grub_debug_zalloc): Likewise.
5422 (grub_debug_realloc): Likewise.
5423 (grub_debug_memalign): Likewise.
5424 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5425 Check that target is IPv4.
5426 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5427 local-mac-address as fallback.
5428 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5429 memory leak.
5430 * grub-core/net/ip.c (ipchksum): Rename to ...
5431 (grub_net_ip_chksum): ... this. All users updated.
5432 (grub_net_recv_ip_packets): Special handling for DHCP.
5433 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5434
5435 Unify prefix handling
5436
5437 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5438 (grub_machine_get_bootlocation): ... this.
5439 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5440 (grub_machine_get_bootlocation): ... this.
5441 (grub_prefix): New variable.
5442 (prefix): Removed.
5443 (root_dev): New variable.
5444 (dir): Likewise.
5445 (main): Use new variables.
5446 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5447 Revamped into ...
5448 (grub_machine_get_bootlocation): ... this.
5449 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5450 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5451 (grub_machine_get_bootlocation): ... this.
5452 (grub_machine_set_prefix): Removed.
5453 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5454 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5455 Revamped into ...
5456 (grub_machine_get_bootlocation): ... this.
5457 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5458 (grub_set_prefix_and_root): ... this. All users updated.
5459 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5460 Revamped into ...
5461 (grub_machine_get_bootlocation): ... this.
5462 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5463 (grub_machine_get_bootlocation): New proto.
5464 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5465
5466 Less intrusive and more reliable seek on network implementation.
5467
5468 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5469 (grub_file_seek): Don't call grub_file_net_seek.
5470 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5471 (grub_net_fs_read_real): .. this.
5472 (grub_net_seek_real): Use net->offset.
5473 (grub_net_fs_read): Seek if necessary.
5474
5475 Unify IEEE1275 netwotk config with the other platforms.
5476
5477 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5478 New variable.
5479 (grub_machine_get_bootlocation): Support network.
5480 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5481 Support type and device parsing.
5482 (grub_ieee1275_get_device_type): New function.
5483 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5484 into ...
5485 (grub_ieee1275_net_config_real): ... this.
5486 (grub_ofnet_probecards): Removed.
5487 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5488 * include/grub/ieee1275/ofnet.h: Removed.
5489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5490 extern var.
5491 (grub_ieee1275_get_device_type): New function.
5492
5493 Unify network device closing across platforms and make more robust.
5494
5495 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5496 grub_grubnet_fini.
5497 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5498 already.
5499 * grub-core/net/net.c (grub_net_network_level_interface_register):
5500 Update num_ifaces.
5501 (grub_net_card_unregister): Close all interfaces.
5502 (receive_packets): Don't poll if no iterfaces are registered.
5503 Open if necessary.
5504 (grub_net_fini_hw): New function.
5505 (grub_net_restore_hw): Likewise.
5506 (fini_hnd): New variable.
5507 (GRUB_MOD_INIT): Register preboot hook.
5508 (GRUB_MOD_FINI): Run and unregister preboot hook.
5509
5510 Poll network cards when idle.
5511
5512 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5513 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5514 * grub-core/net/net.c (receive_packets): Save last poll time.
5515 (grub_net_poll_cards_idle_real): New function.
5516 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5517 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5518 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5519
5520 Rename ofnet interfaces.
5521
5522 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5523 (grub_ofnet_findcards): Use ofnet_%s names.
5524
5525 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5526
5527 Cleanup socket opening.
5528
5529 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5530 (grub_net_fs_close): Likewise.
5531 (grub_net_fs_read_real): Use eof member.
5532 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5533 (+grub_net_udp_close): New inline function.
5534
5535 * include/grub/net/tftp.h: Moved to the top of ...
5536 * grub-core/net/tftp.c: ... here.
5537 * include/grub/net/ip.h: Moved mostly to the top of ...
5538 * grub-core/net/ip.c: ... here.
5539 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5540 * grub-core/net/ethernet.c: ... here.
5541
5542 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5543
5544 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5545 FS name.
5546
5547 * include/grub/net/ip.h (ipv4_ini): Removed.
5548 (ipv4_fini): Likewise.
5549
5550 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5551 (grub_net_send_ip_packets): Likewise.
5552
cf1337aa
VS
55532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5556 grub_read_cmos prototype.
5557
93c06ff9
VS
55582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 VGA text support in qemu-mips
5561
5562 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5563 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5564 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5565 text.
5566 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5567 * grub-core/kern/vga_init.c: ... this.
5568 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5569 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5570 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5571 Adjust.
5572 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5573 GRUB_MACHINE_PCI_IO_BASE.
5574
748ccabe
VS
55752011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 MIPS qemu flash support.
5578
5579 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5580 magic.
5581 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5582 (grub_machine_init): Probe memory if its size isn't known.
5583 * util/grub-mkimage.c (image_targets): Add flash targets.
5584 (generate_image): Handle flash targets.
5585
d7345994
VS
55862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 MIPS qemu at_keyboard support.
5589
5590 * gentpl.py (videoinkernel): Add qemu-mips.
5591 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5592 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5593 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5594 modules.
5595 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5596 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5597 * grub-core/term/serial.c (grub_serial_register)
5598 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5599
a07a81b3
VS
56002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 CMOS support on sparc.
5603
5604 * gentpl.py (cmos): Add powerpc and sparc.
5605 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5606 powerpc and sparc.
5607 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5608 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5609 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5610 grub_set_datetime_cmos.
5611 * grub-core/lib/ieee1275/cmos.c: New file.
5612 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5613 (find_rtc): Set no_ieee1275_rtc on error.
5614 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5615 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5616 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5617 fail. Move value to argument. All users updated
5618 (grub_cmos_write): Likewise.
5619 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5620 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5621 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5622 grub_get_datetime_cmos and grub_set_datetime_cmos.
5623
77546584
GS
56242011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5625
5626 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5627 sourcing grub-mkconfig_lib.
5628 * util/update-grub_lib.in: Likewise.
5629 * util/grub.d/00_header.in: Likewise.
5630 * util/grub.d/10_hurd.in: Likewise.
5631 * util/grub.d/10_kfreebsd.in: Likewise.
5632 * util/grub.d/10_linux.in: Likewise.
5633 * util/grub.d/10_netbsd.in: Likewise.
5634 * util/grub.d/10_windows.in: Likewise.
5635 * util/grub.d/20_linux_xen.in: Likewise.
5636 * util/grub.d/30_os-prober.in: Likewise.
5637
54894791
CW
56382011-06-28 Colin Watson <cjwatson@ubuntu.com>
5639
5640 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5641 default_bg_color rather than black.
5642 (grub_gfxterm_fullscreen): Likewise.
5643 (grub_gfxterm_background_color_cmd): Save new background color in
5644 default_bg_color.
5645
8d5d8444
VS
56462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5649
5afeb5bd
VS
56502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5653 mismerge.
5654
ba7df45e
VS
56552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Chainloading on coreboot support.
5658
5659 * grub-core/Makefile.core.def (chain): Add coreboot.
5660 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5661
d0b526b2
VS
56622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5665 if it happens.
5666
5ff1d945
VS
56672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 Implement time command.
5670
5671 * grub-core/Makefile.core.def (time): New module.
5672 * grub-core/commands/time.c: New file.
5673 * grub-core/script/parser.y: Remove "time" keyword.
5674 * grub-core/script/yylex.l: Likewise.
5675
5ebaad7e
VS
56762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5679
bdea3798
VS
56802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5683 when handling leftovers.
5684
b28c5655
VS
56852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5688 so that help2man doesn't fail.
5689
b6f945dc
VS
56902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5693 type in pointers on sparc64.
5694 (get_card_packet): Likewise.
5695
f9b75e8a
CW
56962011-06-27 Colin Watson <cjwatson@ubuntu.com>
5697
5698 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5699 with `*'.
5700 (grub_cmd_videoinfo): Fetch current video mode.
5701
1e3d9b86
VS
57022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
5705 because of underlying system restrictions.
5706
efff4b1c
VS
57072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
5710 necessary.
5711
9fc9ce37
VS
57122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 Coreboot video support.
5715
5716 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
5717 (vbe): Likewise.
5718 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
5719 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
5720 here ...
5721 * grub-core/kern/i386/int.S: ... here.
5722 * grub-core/video/i386/pc/vbe.c: Updated includes.
5723 * grub-core/video/i386/pc/vga.c: Likewise.
5724 * include/grub/i386/coreboot/memory.h
5725 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
5726 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
5727 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
5728 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
5729 Disable interrupts.
5730 * include/grub/i386/pc/vga.h: Removed. All users updated.
5731
41bec7fe
VS
57322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
5735 definitions for dprintf.
5736 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
5737
ca80309d
VS
57382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
5741 prototype.
5742 (get_card_packet): Likewise.
5743
9e322ce8
YB
57442011-06-26 Yves Blusseau <blusseau@zetam.org>
5745
5746 Display the path of the file when file is not found
5747
5748 * grub-core/fs/fat.c: Display the filename when file is not found.
5749 * grub-core/fs/fshelp.c: Likewise.
5750 * grub-core/fs/hfs.c: Likewise.
5751 * grub-core/fs/jfs.c: Likewise.
5752 * grub-core/fs/minix.c: Likewise.
5753 * grub-core/fs/ufs.c: Likewise.
5754 * grub-core/fs/btrfs.c: Likewise.
5755 * grub-core/commands/i386/pc/play.c: Likewise.
5756
cbf597af
SJ
57572011-06-26 Szymon Janc <szymon@janc.net.pl>
5758
5759 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
5760 pointer checks before calling grub_free().
5761 * grub-core/commands/wildcard.c (match_devices): Likewise.
5762 * grub-core/commands/wildcard.c (match_files): Likewise.
5763 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
5764 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
5765 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
5766 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
5767 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
5768 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
5769 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
5770 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5771 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
5772
6295b32f
P
57732011-06-25 Patrick <p55@mailinator.com>
5774
5775 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
5776
77c0840b
VS
57772011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
5780 (grub_pxe_send): Likewise.
5781 (GRUB_MOD_INIT): Fix types.
5782
40ea05de
SJ
57832011-06-24 Szymon Janc <szymon@janc.net.pl>
5784
5785 * grub-core/io/xzio.c: Fix code style issues
5786
90162423
MRA
57872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
57882011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
5789
5790 Network infrastructure.
5791 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
5792
5793 * include/grub/net/arp.h: New file.
90162423
MRA
5794 * include/grub/net/device.h: Likewise.
5795 * include/grub/net/ethernet.h: Likewise.
5796 * include/grub/net/ip.h: Likewise.
5797 * include/grub/net/netbuff.h: Likewise.
5798 * include/grub/net/tftp.h: Likewise.
5799 * include/grub/net/udp.h: Likewise.
5800 * include/grub/ieee1275/ofnet.h: Likewise.
5801 * include/grub/emu/export.h: Likewise.
5802 * include/grub/net.h: Likewise.
5803 * grub-core/net/arp.c: Likewise.
5804 * grub-core/net/ethernet.c: Likewise.
5805 * grub-core/net/ip.c: Likewise.
5806 * grub-core/net/udp.c: Likewise.
5807 * grub-core/net/tftp.c: Likewise.
5808 * grub-core/net/netbuff.c: Likewise.
5809 * grub-core/net/net.c: Likewise.
5810 * grub-core/net/drivers/emu/emunet.c: Likewise.
5811 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
5812 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
5813 export.h.
5814 * grub-core/Makefile.core.def (net): New module.
5815 (tftp): Likewise.
5816 (ofnet): Likewise.
5817 (emunet): Likewise.
5818 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
5819 network protocols.
5820 * grub-core/kern/device.c (grub_net_open) : New variable.
5821 (grub_device_open): Handle network device.
5822 (grub_device_close): Likewise.
5823 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
5824 (grub_grubnet_fini): Likewise.
5825 (grub_file_seek): Seek in network device.
5826 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
5827 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
5828 network root.
5829 (grub_machine_fini): Call grub_grubnet_fini.
5830 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
5831 network.
5832 (grub_ieee1275_get_aliasdevname): New function.
5833 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5834 Add unofficial Solaris network info.
5835 (grub_multiboot_make_mbi): Likewise.
5836 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
5837 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
5838 * include/grub/device.h (grub_fs): Removed.
5839 * include/grub/err.h (grub_err_t): Add network-related values.
5840 * include/grub/i386/pc/pxe.h: Removed bootp parts.
5841 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
5842 (grub_ieee1275_get_aliasdevname): New proto.
5843 * include/grub/net.h: Rewritten.
423a1849 5844
031f22a0
VS
58452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
5848 names.
5849
4388ca72
VS
58502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
5853 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
5854 it truncates the output.
5855 Reported by: Ximin Luo.
5856
98e2f506
VS
58572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
5860
2a5e94d8
VS
58612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5864 partmap before abstraction.
5865
535c1910
AK
58662011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
5867
5868 * util/grub-mkconfig_lib.in: Add missing quotes.
5869
bc09e1a2
VS
58702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5873 old method if mountinfo would return /dev/root and /dev/root doesn't
5874 exist.
5875
290766fb
VS
58762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 ZFS zlib support
5879
5880 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5881 (decomp_table): Add zlib entries.
5882 (zio_read): USe 8 bits for compression function rather than 3.
5883 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5884
58852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/disk/ahci.c: Add missing license statements.
5888 * grub-core/fs/romfs.c: Likewise.
5889 * grub-core/lib/ia64/setjmp.S: Likewise.
5890 * grub-core/loader/i386/pc/freedos.c: Likewise.
5891 * grub-core/loader/ia64/efi/linux.c: Likewise.
5892 * grub-core/video/colors.c: Likewise.
5893 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5894
5ab3f48a
VS
58952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 AHCI support.
5898
5899 * grub-core/Makefile.core.def (ata_pthru): Removed.
5900 (ahci): New module.
5901 (pata): Likewise.
5902 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5903 on unload.
5904 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5905 readwrite.
5906 (grub_hdparm_do_check_powermode_cmd): Likewise.
5907 (grub_hdparm_do_smart_cmd): Likewise.
5908 (grub_hdparm_set_val_cmd): Likewise.
5909 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5910 * grub-core/disk/ahci.c: New file.
5911 * grub-core/disk/ata.c: Factor out the low-level part into ...
5912 * grub-core/disk/pata.c: ... here.
5913 * grub-core/disk/ata_pthru.c: Contents moved to ...
5914 * grub-core/disk/pata.c: ... here.
5915 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5916 (grub_scsi_iterate): Use grub_scsi_names.
5917 (grub_scsi_open): Likewise.
5918 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5919 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5920 (grub_ata_regs_t): New struct.
5921 (grub_disk_ata_pass_through_parms): Likewise.
5922 (grub_ata_device): Renamed to ...
5923 (grub_ata): ... this.
5924 (grub_ata_dev): New struct.
5925 Removed all low-level inline functions.
5926 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5927 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5928 iterate hooks and open. All users updated.
5929 * util/grub-install.in: Handle AHCI disk module.
5930
c31dc5f5
SJ
59312011-06-23 Szymon Janc <szymon@janc.net.pl>
5932
5933 Add support for DRI and RSTn markers in JPEG files.
5934
5935 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5936 (JPEG_MARKER_RST0): Likewise.
5937 (JPEG_MARKER_RST1): Likewise.
5938 (JPEG_MARKER_RST2): Likewise.
5939 (JPEG_MARKER_RST3): Likewise.
5940 (JPEG_MARKER_RST4): Likewise.
5941 (JPEG_MARKER_RST5): Likewise.
5942 (JPEG_MARKER_RST6): Likewise.
5943 (JPEG_MARKER_RST7): Likewise.
5944 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5945 (grub_jpeg_decode_dri): New function.
5946 (grub_jpeg_decode_sos): Move image data related part into
5947 grub_jpeg_decode_data function.
5948 (grub_jpeg_decode_data): New function.
5949 (grub_jpeg_reset): New function.
5950 (grub_jpeg_decode_jpeg): Handle new markers.
5951
fe12fd5b
VS
59522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * util/ieee1275/ofpath.c (check_sas): Close fd.
5955 (main): Free of_path.
5956 Reported by: David Volgyes <dvolgyes>.
5957
03147f46
VS
59582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5961 Reported by: David Volgyes <dvolgyes>.
5962
cad3237f
VS
59632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5966 file after stat.
5967 Reported by: David Volgyes <dvolgyes>.
5968
13548d26
VS
59692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5972
5973 Reported by: David Volgyes <dvolgyes>.
5974
e061a1b5
VS
59752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5978 Prevent memory leak.
5979
1abe47dc
VS
59802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5983 (main): Close file.
e061a1b5 5984 Reported by: David Volgyes <dvolgyes>.
1abe47dc 5985
fbc62666
VS
59862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5989 to continue if allocation is failed.
5990
5991 Reported by: David Volgyes <dvolgyes>.
5992
e98c83e9
DV
59932011-06-23 David Volgyes <dvolgyes>
5994
5995 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
5996 dereference.
5997
a199a8cd
VS
59982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 Fix spurious warning.
6001
6002 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6003 (acorn_partition_map_find): Use .bin member.
6004
e2d1dba0
VS
60052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6008 /dev/root as a valid device.
6009
8a5d6919
JM
60102011-06-23 Jim Meyering <meyering@redhat.com>
6011
e2d1dba0
VS
6012 Avoid NULL deref in grub_device_open.
6013
8a5d6919
JM
6014 * grub-core/kern/device.c (grub_device_open): Don't dereference
6015 a NULL pointer upon failed grub_env_get.
6016
f7db6f4a
VS
60172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 Support non-512B sectors and agglomerate reads.
6020
6021 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6022 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6023 (disk_io_guid): Removed.
6024 (make_devices): Locate solely by BlockIO.
6025 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6026 (grub_efidisk_read): Use read_blocks.
6027 (grub_efidisk_write): Use write_blocks.
6028 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6029 log_sector_size.
6030 (get_safe_sectors): Handle non-512B sectors.
6031 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6032 sectors.
6033 (grub_biosdisk_write): Handle non-512B sectors.
6034 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6035 (grub_scsi_read): Remove special non-512B block handling (now handled
6036 one level up).
6037 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6038 and do sanity checks.
6039 (grub_disk_adjust_range): Handle non-512B sectors.
6040 (transform_sector): New function.
6041 (grub_disk_read_small): Likewise.
6042 (grub_disk_read): Rewritten.
6043 (grub_disk_write): Handle non-512B sectors.
6044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6045 log_sector_size.
6046 (open_device): Use log_sector_size.
6047 (grub_util_biosdisk_read): Likewise.
6048 (grub_util_biosdisk_write): Likewise.
6049 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6050 non-512B sectors.
6051 (pc_partition_map_embed): Likewise.
6052 * include/grub/disk.h (grub_disk): New field log_sector_size.
6053 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6054 (GRUB_DISK_CACHE_BITS): Increased to 6.
6055 * util/grub-fstest.c (fstest): New command testload.
6056 (argp_parser): Likewise.
6057
881ac815
RM
60582011-06-16 Robert Millan <rmh@gnu.org>
6059
6060 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6061 `ata' driver on kernel of FreeBSD 9.
6062
6063 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6064 (get_ataraid_disk_name): New functions.
6065 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6066 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6067 get_ataraid_disk_name() and get_ada_disk_name().
6068
1e9aef7d
CW
60692011-06-13 Colin Watson <cjwatson@ubuntu.com>
6070
6071 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6072 input format.
6073
351c7c8a
CW
60742011-05-29 Colin Watson <cjwatson@ubuntu.com>
6075
6076 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6077 `ftp.gnu.org' for `alpha.gnu.org'.
6078
6b4e6430
CW
60792011-05-27 Colin Watson <cjwatson@ubuntu.com>
6080
6081 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6082 partitions under /dev/disk/by-id/.
6083
c64db050
CW
60842011-05-27 Colin Watson <cjwatson@ubuntu.com>
6085
6086 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6087 after ten consecutive open failures. Scanning all the way up to
6088 10000 is excessive and can cause serious performance problems in
6089 some configurations.
6090 Fixes Ubuntu bug #787461.
6091
245f4aba
VS
60922011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6095 opening new one.
6096
f767c929
VS
60972011-05-21 Colin Watson <cjwatson@ubuntu.com>
60982011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 Don't stat devices unless we have to.
6101
6102 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6103 dir == /dev/mapper.
6104 (grub_guess_root_device): Use already known os_dev if possible.
6105 * grub-core/kern/emu/hostdisk.c
6106 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6107 if device is known to be a dm one.
6108
f35fa3a6
CW
61092011-05-20 Colin Watson <cjwatson@ubuntu.com>
6110
6111 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6112 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6113 Reported by: Pawel Tecza.
6114
9a79fcf2
VS
61152011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6118 (lsefisystab): Likewise.
6119 (lssal): Likewise.
6120 (lsefimmap): Likewise.
6121 (hdparm): Enable on qemu-mips.
6122 (setjmp): Add ia64 nodist.
6123 (serial): Simplify tags.
6124
63e3eea9
CW
61252011-05-18 Colin Watson <cjwatson@ubuntu.com>
6126
6127 * Makefile.util.def (grub-ofpathname): Install manual page.
6128
09728256
CW
61292011-05-18 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6132
8b63a142
CW
61332011-05-18 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6136
e775d8ed
VS
61372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6140 into dprintf.
6141
bf947d36
VS
61422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Use full 64-bit division.
6145
6146 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6147 (grub_divmod64): ... this.
6148 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6149 version.
6150
b84f26c5
CW
61512011-05-18 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6154 `source'.
6155
5626056f
CW
61562011-05-18 Colin Watson <cjwatson@ubuntu.com>
6157
6158 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6159 to avoid accidents when debugging with 'sh -x'.
6160 * grub-core/gensyminfo.sh.in: Likewise.
6161 * tests/example_scripted_test.in: Likewise.
6162 * tests/grub_cmd_regexp.in: Likewise.
6163 * tests/grub_script_blanklines.in: Likewise.
6164 * tests/grub_script_dollar.in: Likewise.
6165 * tests/grub_script_expansion.in: Likewise.
6166 * tests/grub_script_final_semicolon.in: Likewise.
6167 * tests/partmap_test.in: Likewise.
6168 * tests/util/grub-shell-tester.in: Likewise.
6169 * tests/util/grub-shell.in: Likewise.
6170
e2965f4a
CW
61712011-05-18 Colin Watson <cjwatson@ubuntu.com>
6172
6173 Move gfxmenu color handling to video, so that gfxterm can use it
6174 too.
6175
6176 * grub-core/gfxmenu/named_colors.c: Move to ...
6177 * grub-core/video/colors.c: ... here. Rename
6178 grub_gui_get_named_color to grub_video_get_named_color.
6179 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6180 * grub-core/video/colors.c (my_isxdigit): ... here.
6181 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6182 Move to ...
6183 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6184 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6185 to ...
6186 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6187
6188 * include/grub/gui.h (grub_gui_color_t): Move to ...
6189 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6190 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6191 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6192 * include/grub/gui.h (grub_gui_map_color): Move to ...
6193 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6194 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6195 to ...
6196 * include/grub/video.h (grub_video_get_named_color): ... here.
6197 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6198 * include/grub/video.h (grub_video_parse_color): ... here.
6199
6200 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6201 video/colors.c.
6202 (gfxmenu): Remove gfxmenu/named_colors.c.
6203 (video) [videomodules]: Add video/colors.c.
6204
6205 Add a background_color command.
6206
6207 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6208 function.
6209 (GRUB_MOD_INIT): Register background_color command.
6210 (GRUB_MOD_FINI): Unregister background_color command.
6211 (redraw_screen_rect): Allow blend/replace of text layer to be
6212 controlled independently from whether there is a background bitmap.
6213 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6214 changing bitmap.
6215
1e4b4390
VS
62162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6217
26618ff0
VS
6218 Patch BPB in ntldr and chainloader --bpb.
6219
1e4b4390
VS
6220 * grub-core/fs/fat.c: Include grub/fat.h.
6221 (grub_fat_bpb): Moved to ...
6222 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6223 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6224 grub/ntfs.h.
6225 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6226 Moved from here...
6227 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6228 here.
6229 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6230 New function.
6231 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6232 (GRUB_MOD_INIT): Show --bpb.
6233 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6234 * grub-core/normal/main.c (features): New variable.
6235 (GRUB_MOD_INIT): Set feature_* variables.
6236 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6237 proto.
6238 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6239
cf02731e
VS
62402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6243 for cleanness.
6244
e3a1073f
VS
62452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 FreeDOS direct loading support.
6248
6249 * docs/grub.texi (Supported OS): Add FreeDOS.
6250 * grub-core/Makefile.core.def (freedos): New module.
6251 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6252 variable.
6253 (grub_relocator16_boot): Handle %ebx.
6254 * grub-core/lib/i386/relocator16.S: Likewise.
6255 * grub-core/loader/i386/pc/freedos.c: New file.
6256
05caa461
VS
62572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 Long Linux command line support.
6260
6261 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6262 (maximal_cmdline_size): New variable.
6263 (allocate_pages): Use maximal_cmdline_size.
6264 (grub_cmd_linux): Set and use maximal_cmdline_size.
6265 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6266 (allocate_pages): Use maximal_cmdline_size.
6267 (grub_cmd_linux): Set and use maximal_cmdline_size.
6268 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6269 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6270 and cmdline_size.
6271
a2491e23
VS
62722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
62732011-05-18 Colin Watson <cjwatson@ubuntu.com>
6274
6275 Improve devmapper support
6276
6277 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6278 (grub_util_is_lvm): New function.
6279 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6280 than lvm if not dmraid.
6281 Handle mapped md nodes.
6282 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6283 (grub_util_device_is_mapped): ... this. Make always available. All users
6284 updated.
6285 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6286 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6287 dmraid nodes.
6288 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6289
6ad6223e
VS
62902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6293
6294 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6295 * grub-core/modinfo.sh.in: New file.
6296 * grub-core/Makefile.core.def (modinfo.sh): New script.
6297 * util/grub-mknetdir.in: Use modinfo.sh.
6298 * util/grub-mkrescue.in: Likewise.
6299
543a8f6e
VS
63002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6303 Fix potential usage of Elf32 instead of Elf64 when compiling on
6304 32-bit architecture. Add endianness macros while on it.
6305
4959e111
VS
63062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 Use mipsel- rather than mips- in directories involving mipsel ports to
6309 allow both endiannesses coexist.
6310
6311 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6312 mips. All conditions adjusted.
6313 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6314 variable.
6315 * util/grub-install.in: Adjust conditions to take renaming into account.
6316 * util/grub-mkimage.c (image_targets): Likewise. New target
6317 mips-qemu_mips-elf for bigendian mips.
6318
35341bbc
VS
63192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Avoid unnecessary copying on MIPS.
6322
6323 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6324 early if src == dest.
6325 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6326 compression is none.
6327
b772baed
VS
63282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Reduce memory footprint on SGI by putting modules before the kernel
6331 as opposed to after.
6332
6333 * grub-core/Makefile.core.def (kernel): Increase linking address.
6334 (none_decompress): Likewise.
6335 (xz_decompress): Likewise.
6336 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6337 address.
6338 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6339 layout change.
6340 (grub_arch_modules_addr): New function.
6341 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6342 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6343 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6344 here.
6345 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6346 (grub_total_modules_size): ... this. Make global.
6347 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6348 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6349 New definition.
6350 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6351 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6352 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6353 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6354 * util/grub-mkimage.c (image_target_desc): New flag
6355 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6356 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6357 (generate_image): Handle images with modules before kernel.
6358
566a1917
VS
63592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 Prevent potential loss of memory map by overwrite on qemu-mips.
6362
6363 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6364 Save ram size in $s4.
6365 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6366 All users changed to grub_arch_memsize.
6367 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6368 Loongson.
6369 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6370 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6371 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6372 external variable.
6373
5d420cd9
CW
63742011-05-17 Colin Watson <cjwatson@ubuntu.com>
6375
6376 * .bzrignore: Remove grub-dumpbios.
6377
d064b830
CW
63782011-05-17 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6381 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6382 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6383 existing options which append).
6384 * docs/grub.texi (Simple configuration): Document new options.
6385 Reported by: Ian Jackson. Fixes Debian bug #617538.
6386
3ca2b466
CW
63872011-05-17 Colin Watson <cjwatson@ubuntu.com>
6388
6389 * util/grub-fstest.c (cmd_cat): New function.
6390 (fstest): Handle CMD_CAT.
6391 (options): Add cat.
6392 (argp_parser): Handle cat.
6393
24c9143a
CW
63942011-05-17 Colin Watson <cjwatson@ubuntu.com>
6395
6396 * Makefile.util.def (grub-bin2h): Don't install.
6397 * docs/man/grub-bin2h.h2m: Remove.
6398
90f7ac19
VS
63992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6402 place.
6403
8d4a5178
VS
64042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Reenable qemu-mips port.
6407
6408 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6409 Fix small arc bug while on it.
6410 * gentpl.py: Handle qemu_mips.
6411 * grub-core/Makefile.am: Likewise.
6412 * grub-core/Makefile.core.def: Likewise.
6413 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6414 inappropriate includes.
6415 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6416 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6417 * grub-core/kern/main.c (grub_modules_get_end)
6418 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6419 * grub-core/kern/mips/qemu-mips: Moved to ..
6420 * grub-core/kern/mips/qemu_mips: ... this.
6421 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6422 (grub_machine_init): Call terminfo_init and serial_init.
6423 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6424 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6425 New variable.
6426 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6427 parameter passing.
6428 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6429 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6430 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6431 * include/grub/mips/qemu_mips/cmos.h: New file.
6432 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6433 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6434 Removed.
6435 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6436 Use correct mips-style address.
6437 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6438 (GRUB_TICKS_PER_SECOND): Removed.
6439 (grub_get_rtc): Likewise.
6440 (grub_cpu_idle): Likewise.
6441 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6442 New definition.
6443 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6444 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6445 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6446 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6447 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6448 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6449 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6450 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6451
400b9371
VS
64522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 SGI ARCS port.
6455
6456 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6457 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6458 platforms.
6459 * configure.ac: New target mips-arc.
6460 * gentpl.py: Likewise.
6461 * grub-core/Makefile.am: Likewise.
6462 * grub-core/Makefile.core.def: Likewise.
6463 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6464 (none_decompress): Likewise.
6465 (lsdev): New module.
6466 (datetime): Use lib/arc/datetime.c on ARC.
6467 (part_dvh): New module.
6468 * grub-core/commands/arc/lsdev.c: New file.
6469 * grub-core/disk/arc/arcdisk.c: Likewise.
6470 * grub-core/kern/mips/arc/init.c: Likewise.
6471 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6472 aligned addresses.
6473 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6474 support.
6475 (grub_arch_dl_relocate_symbols): Likewise.
6476 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6477 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6478 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6479 platforms.
6480 * grub-core/lib/arc/datetime.c: New file.
6481 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6482 pci.h on non-loongson.
6483 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6484 (grub_linux_boot): Set unused registers to 0.
6485 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6486 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6487 * grub-core/mmap/mips/uppermem.c: ...here.
6488 * grub-core/partmap/dvh.c: New file.
6489 * grub-core/term/arc/console.c: Likewise.
6490 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6491 (grub_terminfo_set_current): Add terminal "arc".
6492 (grub_terminfo_readkey): Support ARC sequences.
6493 * include/grub/arc/arc.h: New file.
6494 * include/grub/arc/console.h: Likewise.
6495 * include/grub/disk.h (grub_disk_dev_id): Add
6496 GRUB_DISK_DEVICE_ARCDISK_ID.
6497 * include/grub/mips/arc/kernel.h: New file.
6498 * include/grub/mips/arc/memory.h: Likewise.
6499 * include/grub/mips/arc/time.h: Likewise.
6500 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6501 * include/grub/mips/kernel.h (grub_halt): ... here.
6502 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6503 here...
6504 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6505 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6506 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6507 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6508 proto.
6509 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6510 from here ...
6511 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6512 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6513 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6514 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6515 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6516 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6517 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6518 (grub_phys_addr_t): Moved from here ...
6519 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6520 (grub_vtop): Moved from here ...
6521 * include/grub/mips/memory.h (grub_vtop): ... here.
6522 (grub_map_memory): Moved from here ...
6523 * include/grub/mips/memory.h (grub_map_memory): ... here.
6524 (grub_unmap_memory): Moved from here ...
6525 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6526 (grub_machine_mmap_iterate): Moved from here ...
6527 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6528 (grub_mmap_get_lower): Moved from here ...
6529 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6530 (grub_mmap_get_upper): Moved from here ...
6531 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6532 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6533 here ...
6534 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6535 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6536 here ...
6537 * include/grub/mips/time.h (grub_get_rtc): ... here.
6538 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6539 here ...
6540 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6541 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6542 here ...
6543 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6544 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6545 definition.
6546 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6547 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6548 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6549 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6550 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6551 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6552 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6553 (GRUB_MACHINE_LINK_ADDR): Likewise.
6554 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6555 to 6.
6556 * util/grub-install.in: Run dvhtool on ARC.
6557 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 6558 (generate_image): Handle ECOFF output for mips-arc.
400b9371 6559
c8ecc840
VS
65602011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6563 blocks.
6564
153a4b55
VS
65652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6568 after enabling port.
6569
ff44d107
VS
65702011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Skip incorrect USB devices.
6573
6574 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6575 configcnt == 0.
6576 * include/grub/usb.h (grub_usb_err_t): New enum value
6577 GRUB_USB_ERR_BADDEVICE.
6578
638dbe4f
VS
65792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Fuloong video init support.
6582
6583 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6584 well.
6585 (grub_vga_read_arx): New function.
6586 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6587 definition.
6588 (framebuffer): New members io, mmioptr and mmiobase.
6589 (read_sis_cmd): New function.
6590 (write_sis_cmd): Likewise.
6591 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6592 rather than 640x400.
6593 * grub-core/video/sis315_init.c: New file.
6594
c3fc520c
VS
65952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6598 non-loongson.
6599 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6600 to grub_dl_register_symbol.
6601
67b1e5c9
VS
66022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Fix compilation errors.
6605
6606 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6607 potentially unused.
6608 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6609 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6610 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6611 to loongson machines.
6612
b756f75f
VS
66132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Several FS mtime support.
6616
6617 * grub-core/fs/affs.c (grub_affs_time): New struct.
6618 (grub_affs_file): New field mtime.
6619 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6620 type. Removed 'size'. New field 'di'. All users updated.
6621 (grub_affs_mount): Simplify checsum checking.
6622 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6623 (grub_affs_dir): Handle mtime.
6624 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6625 (grub_cpio_dir): Likewise.
6626 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6627 (grub_hfs_filerec): New field mtime.
6628 (grub_hfs_dir): Handle mtime.
6629 (grub_hfs_mtime): New function.
6630 (grub_hfs_fs): Register grub_hfs_mtime.
6631 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6632 (grub_iso9660_dir): New field mtime.
6633 (grub_fshelp_node): New field dirent.
6634 (iso9660_to_unixtime): New function.
6635 (iso9660_to_unixtime2): Likewise.
6636 (grub_iso9660_read_symlink): Use node->dirent.
6637 (grub_iso9660_iterate_dir): Likewise.
6638 (grub_iso9660_dir): Set mtime.
6639 (grub_iso9660_mtime): New function.
6640 (grub_iso9660_fs): Register grub_iso9660_mtime.
6641 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6642 (grub_jfs_inode): New fields atime, ctime and mtime.
6643 (grub_jfs_dir): Set mtime.
6644 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6645 * grub-core/fs/ntfs.c (list_file): Set mtime.
6646 (grub_ntfs_dir): Likewise.
6647 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6648 (grub_reiserfs_iterate_dir): Set mtime.
6649 (grub_reiserfs_dir): Likewise.
6650 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6651 (grub_fshelp_node): Likewise.
6652 (grub_sfs_iterate_dir): Set mtime.
6653 (grub_sfs_dir): Likewise.
6654 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6655 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6656 (grub_xfs_inode): New fields atime, mtime, ctime.
6657 (grub_xfs_dir): Set mtime.
6658 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6659 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6660 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6661
6662 Support UDF symlinks.
6663
6664 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6665 (grub_ufs_read_symlink): New function. All users updated.
6666
6667 Check amiga partmap checksum.
6668
6669 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6670 (grub_amiga_partition): Likewise.
6671 (amiga_partition_map_checksum): New function.
6672 (amiga_partition_map_iterate): Check checksum.
6673
5470225d
VS
66742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 ROMFS support.
6677
6678 * Makefile.util.def (libgrubmods.a): Add romfs.
6679 * grub-core/Makefile.core.def (romfs): New module.
6680 * grub-core/fs/romfs.c: New file.
6681
d4680a35
VS
66822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 Squashfs v4 support.
6685
6686 * Makefile.util.def (libgrubmods.a): Add squash4.
6687 * grub-core/Makefile.core.def (squash4): New module.
6688 * grub-core/fs/squash4.c: New file.
6689 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6690 disk_input_start, disk_input.
6691 (get_byte): Handle disk_input.
6692 (grub_zlib_disk_read): New function.
6693 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6694
bcb18e74
FZ
66952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
66962011-05-15 Feiran Zheng <famcool@gmail.com>
6697
6698 * Makefile.util.def (libgrubmods.a): Add minix3.
6699 * grub-core/Makefile.core.def (minix3): New module.
6700 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6701 (GRUB_MINIX_BSIZE): Removed.
6702 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6703 (grub_minix_ino_t): New type.
6704 (grub_minix_le_to_cpu_ino): New macro.
6705 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
6706 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
6707 (grub_minix_data): New field block_size.
6708 (grub_minix_read_file): Handle 64-bit correctly.
6709 * grub-core/fs/minix3.c: New file.
6710
32297d5f
TG
67112011-05-15 Tristan Gingold <gingold@free.fr>
67122011-05-15 Robert Millan <rmh.grub@aybabtu.com>
67132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 IA64 support.
6716
6717 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
6718 * configure.ac: Add ia64-efi target.
6719 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
6720 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
6721 * gentpl.py: Add ia64_efi platform.
6722 Rename x86_efi to efi and Add ia64-efi. All users updated.
6723 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
6724 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
6725 Remove kern/generic/rtc_get_time_ms.c on EFI.
6726 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
6727 kern/ia64/dl_helper.c on ia64-efi.
6728 Add kern/emu/cache.c on emu.
6729 (linux): Use on loader/ia64/efi/linux.c on ia64.
6730 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
6731 whether symbol is a function.
6732 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
6733 (grub_symbol): New field 'isfunc'.
6734 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
6735 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
6736 (grub_dl_load_segments): Place all sections into the same region.
6737 [__ia64__]: Create trampolines and got.
6738 [GRUB_MACHINE_EMU]: Call mprotect.
6739 (grub_dl_resolve_symbols): Resolve symbol type as well.
6740 [__ia64__]: Create function descriptors.
6741 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
6742 (grub_rtc_get_time_ms): ... this. Expressions simplified.
6743 (grub_get_rtc): New function.
6744 * grub-core/kern/emu/cache.c [__ia64__]: New file.
6745 * grub-core/kern/emu/cache.S: Renamed to ...
6746 * grub-core/kern/emu/cache_s.S: ... this.
6747 [__ia64__]: Add a nop.
6748 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
6749 [__ia64__]: New function.
6750 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
6751 * grub-core/kern/ia64/dl.c: New file.
6752 * grub-core/kern/ia64/dl_helper.c: Likewise.
6753 * grub-core/kern/ia64/efi/init.c: New file.
6754 * grub-core/kern/ia64/efi/startup.S: Likewise.
6755 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
6756 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
6757 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
6758 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
6759 * grub-core/loader/ia64/efi/linux.c: New file.
6760 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
6761 (GRUB_MOD_DEP): Likewise.
6762 (grub_dl) [__ia64__]: New fields got and tramp.
6763 (grub_dl): New field 'base'.
6764 (grub_dl_register_symbol): New argument isfunc. All users updated.
6765 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
6766 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
6767 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
6768 (grub_ia64_dl_get_tramp_got_size): New proto.
6769 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
6770 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
6771 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
6772 * include/grub/efi/api.h: Skip call wrappers on ia64.
6773 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
6774 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
6775 * include/grub/elf.h (ELF_ST_INFO): New definition.
6776 * include/grub/ia64/efi/kernel.h: New file.
6777 * include/grub/ia64/efi/memory.h: Likewise.
6778 * include/grub/ia64/efi/time.h: Likewise.
6779 * include/grub/ia64/kernel.h: Likewise.
6780 * include/grub/ia64/setjmp.h: Likewise (from glibc).
6781 * include/grub/ia64/time.h: New file.
6782 * include/grub/ia64/types.h: Likewise.
6783 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
6784 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
6785 New protos.
6786 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
6787 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6788 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
6789 * util/grub-mkimage.c (image_target_desc): New field pe_target.
6790 All users updated.
6791 (EFI64_HEADER_SIZE): New definition. All users updated.
6792 (image_targets): Add ia64-efi.
6793 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
6794 jumpers_addr. All users updated.
6795 Create function descriptors.
6796 (count_funcs): New function.
6797 (unaligned_uint32): New struct.
6798 (MASK20): New definition.
6799 (MASK19): Likewise.
6800 (MASKF21): Likewise.
6801 (add_value_to_slot_20b): New function.
6802 (add_value_to_slot_21_real): Likewise.
6803 (add_value_to_slot_21): Likewise.
6804 (ia64_kernel_trampoline): New struct.
6805 (nopm): New variable.
6806 (jump): Likewise.
6807 (make_trampoline): New function.
6808 (relocate_addresses): Handle ia64.
6809 (make_reloc_section): Likewise.
6810 (load_image): Likewise.
6811
983b414d
VS
68122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
6815 warning. Move variables before code while on it.
6816
5d063cdc
VS
68172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Fuloong support.
6820
6821 * configure.ac: Rename yeeloong platform to loongson. All users updated.
6822 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
6823 * grub-core/boot/mips/loongson/fuloong.S: New file.
6824 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
6825 Explicitly init CS5536.
6826 [FULOONG]: Don't use serial until CS5536 is available.
6827 Set GPIO based on dumps.
6828 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
6829 [FULOONG]: Handle GPIO and memory controller differences.
6830 Parse machine type in $a2.
6831 * grub-core/boot/mips/startup_raw.S: Determine and save the
6832 architecture.
6833 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
6834 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
6835 init on architecture type.
6836 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6837 SIS315E. Don't init at_keyboard on fuloong.
6838 (grub_halt): Support Fuloong.
6839 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
6840 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
6841 (loongson_machtypes): New array.
6842 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
6843 type.
6844 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
6845 config. All users updated. Handle CS5536 serial.
6846 * grub-core/term/serial.c (grub_serial_register): Conditionalise
6847 default port on machine type. Register serial as inactive.
6848 * grub-core/video/sis315pro.c: New file.
6849 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
6850 definition.
6851 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
6852 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
6853 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
6854 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
6855 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
6856 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
6857 to ...
6858 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
6859 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
6860 definition.
6861 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
6862 (grub_arch_machine): New extern var.
6863 * include/grub/mips/loongson/serial.h
6864 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
6865 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
6866 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
6867 (GRUB_MACHINE_SERIAL_PORT0): ... this.
6868 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
6869 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6870 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6871 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6872 * include/grub/term.h (grub_term_register_input_inactive): New inline
6873 function.
6874 (grub_term_register_output_inactive): Likewise.
6875 * include/grub/video.h (grub_video_driver_id): New value
6876 GRUB_VIDEO_DRIVER_SIS315PRO.
6877 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6878 New field "names". All users updated.
6879 New field value IMAGE_FULOONG_FLASH.
6880 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6881
6ada82d1
JU
68822011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6883
6884 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6885 and add some clarification.
6886
90c571a4
VS
68872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6890 platforms if kernel is compressed.
6891
de04eecf
VS
68922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6895 unused modules since currently referrence counter isn't reliable and
6896 there isn't much memory to recover there anyway.
6897
57688121
VS
68982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6901 rather than resetting it to allow modules to reference themselves
6902 in init.
6903
3d2c7e35
VS
69042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6907 counter on dependencies since grub_dl_unref already handles this.
6908
b25db218
VS
69092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6912 on error if not already done.
6913
25a45338
VS
69142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Fix few potential memory misusage.
6917
6918 * grub-core/font/font.c (load_font_index): Don't free char_index to
6919 avoid double free.
b25db218
VS
6920 (grub_font_load): Zero-fill font at alloc for safety.
6921 Close file on error.
6922 (free_font): Free bmp_idx.
25a45338 6923
0cac83df
VS
69242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * docs/grub.texi (Installation): Fix several outdated claims.
6927
2217a143
VS
69282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Handle module_license on windows.
6931
6932 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6933 sections shifted.
6934 (insert_string): Make argument const char * instead of char *.
6935 (write_section_data): Handle long section names.
6936 Handle module_license.
6937
d4de6b01
VS
69382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6941 handle class-free menuentries.
6942 (grub_normal_add_menu_entry): Add a check to be sure.
6943
4c2a3b43
VS
69442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6947 PgUp and PgDown.
6948
85c6210f
VS
69492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * configure.ac: Bump version to 1.99.
6952
36084912
VS
69532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 Give ATA device a bit more time on first try in order to allow disks
6956 to spin up.
6957
6958 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6959 if dev->present is 1. Reset dev->present on failure.
6960 (grub_ata_device_initialize): Set dev->present to 1.
6961 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6962 (grub_ata_device): New member 'present'.
6963
bda0e219
VS
69642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * util/grub-mkimage.c (generate_image): Update hash.
6967
19e1c41b
VS
69682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 Flush caches on DMA memory.
6971
6972 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6973 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6974 (grub_dma_free): Likewise.
6975 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6976
91bbcc0c
VS
69772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6980 to avoid asm treating ld and sd as macros.
6981
60ddfad3
VS
69822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6985 decompressor.
6986
a298aa04
VS
69872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6990 grub_decompress_core since later would fail if grub_decompress_core
6991 is too far.
6992
9b44feca
VS
69932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
6996 R_MIPS_JALR since it's used by newer compiler.
6997
56dbe7b4
VS
69982011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7001
52856af2
VS
70022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7005 file_path to 0 for surety.
7006 (grub_chainloader_boot): Set exit_data to NULL.
7007 Unset the loader once done.
7008 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7009
9c9bfc6d
VS
70102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7013 unknown key into a dprintf.
7014
dd94a3df
VS
70152011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7018 on first non-existant partition.
7019
fa68d99c
VS
70202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7023 openning fails.
7024 Reported by: Mark Korenberg.
7025
157effb7
VS
70262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7029 overflow.
7030
ea75312f
VS
70312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7034 before closing to ensure that it will be readable by grub-setup.
7035
072b5d31
VS
70362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7039 (devpath_1): Use MAKE_PIWG_PATH.
7040 (devpath_2): Likewise.
7041 (devpath_3): Likewise.
7042 (devpath_4): Likewise.
7043 (devpath_5): Likewise.
7044 (devpath_6): Likewise.
7045
7046 The appleldr.mod was checked that to be binary identical to previous
7047 version.
7048
7fae0051
Z
70492011-05-05 Zach <mikezackles>
7050
7051 Support 2010 Macbooks.
7052
7053 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7054 (devs): Add devpath_6.
7055
7c515bee
VS
70562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7059 /dev/random. /dev/urandom is good enough for our purposes (salting).
7060
ed660bd8
VS
70612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7064
ee5614b7
VS
70652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7068 hexadecimal.
7069
664889a6
VS
70702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7073 and not 0 on failure.
7074
bd405bbc
CW
70752011-05-03 Colin Watson <cjwatson@ubuntu.com>
7076
7077 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7078 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7079 disk; otherwise grub_fs_probe will not fall back to the next
7080 filesystem.
7081 (grub_pxefs_open): Likewise, for consistency.
7082 Reported and tested by: Ezekiel Grave.
7083
4ebff753
CW
70842011-05-03 Colin Watson <cjwatson@ubuntu.com>
7085
7086 * tests/partmap_test.in: Don't hardcode path to parted.
7087 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7088
8f942553
CW
70892011-05-01 Colin Watson <cjwatson@ubuntu.com>
7090
7091 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7092 of `ls' to find out which devices are available.
7093
3c62402d
VS
70942011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7097 than source address for efi mmap buffer.
7098
723f63f2
VS
70992011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7102 wrong action on non-detecting the magic.
7103
68797f92
VS
71042011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7107 already supplied by another part of the module (fixes compilation on
7108 FreeBSD).
7109
6be8715d
VS
71102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7113 match the one used by mdadm.
7114
e91dba5b
CW
71152011-04-21 Colin Watson <cjwatson@ubuntu.com>
7116
7117 * po/README: Add instructions for creating po/LINGUAS.
7118
c85140b3
CW
71192011-04-21 Colin Watson <cjwatson@ubuntu.com>
7120
7121 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7122 #551428.
7123
7124 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7125 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7126 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7127 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7128 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7129 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7130 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7131 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7132 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7133 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7134 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7135 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7136 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7137 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7138 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7139 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7140 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7141 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7142 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7143 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7144 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7145 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7146
92051871
CW
71472011-04-21 Colin Watson <cjwatson@ubuntu.com>
7148
7149 * grub-core/kern/emu/getroot.c
7150 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7151 test that was incorrectly reintroduced in r3214.
7152 Reported by: Ian Dall. Fixes Savannah bug #33133.
7153
b13f79a4
CW
71542011-04-21 Colin Watson <cjwatson@ubuntu.com>
7155
7156 Fix stack pointer handling in 16-bit relocator.
7157
7158 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7159 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7160 Fixes Ubuntu bug #683904.
7161
9b710a88
VS
71622011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * configure.ac: Bump version to 1.99~rc2.
7165
d97e7b59
VS
71662011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7169 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7170 * grub-core/lib/x86_64/setjmp.S: Likewise.
7171 * grub-core/lib/mips/setjmp.S: Likewise.
7172 * grub-core/lib/powerpc/setjmp.S: Likewise.
7173 * grub-core/lib/sparc64/setjmp.S: Likewise.
7174
0624551c
VS
71752011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7178 * grub-core/lib/efi/datetime.c: Likewise.
7179
e8f28d4c
VS
71802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7183 New function.
7184 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7185 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7186 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7187
bba79a15
VS
71882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7191 bitmap.
7192 (grub_gfxterm_term_init): Likewise.
7193
abc474ef
VS
71942011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Take into account the decorations the computing menu entry width.
7197
7198 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7199 (grub_gfxmenu_create_box): Register get_border_width.
7200 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7201 if available.
7202 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7203 get_border_width.
7204
e74b3947
EP
72052011-04-18 Endres Puschner <code@e7p.de>
7206
7207 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7208 Don't skip first class.
7209
34faa595
VS
72102011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7213 chunks.
7214 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7215
93a777e3
VS
72162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Complete 64-bit division support.
7219
7220 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7221 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7222 * include/grub/misc.h (grub_divmod64): Rename to ...
7223 (grub_divmod64_full): ... this.
7224 (grub_divmod64): New inline function.
7225
a5102d94
VS
72262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7229
f3fb7b36
VS
72302011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7233 performing the necessary test.
7234
9ac718b0
VS
72352011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7238 (kfreebsd.elf): Likewise.
7239 (pc-chainloader.elf): Likewise.
7240 (ntldr.elf): Likewise.
7241
50d2cc5a
VS
72422011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 Identify RAID by its UUID rather than (guessed) name.
7245
7246 * grub-core/disk/raid.c (ascii2hex): New function.
7247 (grub_raid_open): Accept mduuid/%s specification.
7248 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7249 (get_mdadm_uuid): ... this.
7250 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7251
e03f7bea
VS
72522011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7255 to negative size.
7256
e74c3112
CW
72572011-04-13 Colin Watson <cjwatson@ubuntu.com>
7258
7259 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7260 btrfs subvolume.
7261 * util/grub.d/20_linux_xen.in: Likewise.
7262
78fa584f
CW
72632011-04-13 Colin Watson <cjwatson@ubuntu.com>
7264
7265 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7266 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7267
7268 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7269 Build a list of relevant visible mounts using the mnt_id and
7270 parent_mnt_id fields, and then scan that list at the end.
7271
9d5f8162
CW
72722011-04-12 Colin Watson <cjwatson@ubuntu.com>
7273
7274 * docs/grub.texi (normal): New section.
7275 (normal_exit): New section.
7276 (Embedded configuration): Add reference to normal.
7277 (GRUB only offers a rescue shell): Likewise.
7278 * docs/grub-dev.texi (Error Handling): Fix typo.
7279
09a9d66f
CW
72802011-04-12 Colin Watson <cjwatson@ubuntu.com>
7281
7282 * NEWS: Drop obsolete entry about probe-only btrfs support.
7283
0c676933
CW
72842011-04-12 Colin Watson <cjwatson@ubuntu.com>
7285
7286 * util/import_gcry.py: Fix typo.
7287
ec9f5e0d
VS
72882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * NEWS: Add btrfs support.
7291
fe6b2cba
VS
72922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
72932011-04-11 Colin Watson <cjwatson@ubuntu.com>
7294
7295 BtrFS support. Written by me (Vladimir) with important bugfixes and
7296 even more important testing by Colin.
7297
7298 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7299 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7300 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7301 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7302 mem_input_off and mem_input. All users updated to accept in-RAM input.
7303 (gzio_seek): New function.
7304 (test_zlib_header): Likewise.
7305 (grub_gzio_read): Likewise.
7306 (grub_zlib_decompress): Likewise.
7307 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7308 Accept partial and non-virtual mounts.
7309 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7310 avoid receiving /dev/dm-X as device.
7311 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7312 Handle bind and partial mounts.
7313 * grub-core/lib/crc.c: New file.
7314 * include/grub/deflate.h: Likewise.
7315 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7316 proto.
7317 * include/grub/lib/crc.h: New file.
7318
e745cf0c
VS
73192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Implement automatic module license checking according to new GNU
7322 guidelines.
7323
7324 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7325 (grub_dl_load_core): Use grub_dl_check_license.
7326 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7327 (GRUB_MOD_LICENSE): Likewise.
7328 (GRUB_MOD_DUAL_LICENSE): Likewise.
7329 All modules updated.
7330
2a9bc016
CW
73312011-04-11 Colin Watson <cjwatson@ubuntu.com>
7332
7333 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7334 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7335 loaders.
7336 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7337
8a3bc88e
VS
73382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7341
af869a4a
VS
73422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7345 failed.
7346
9ee8d94f
VS
73472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7350 parenthesis in the middle of the filename.
7351
b01abe3e
VS
73522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7355 rather than trying to put initrd way too high.
7356 Reported by: Ryan Lortie <desrt@desrt.ca>
7357
335bda1e
VS
73582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7361 improperly removed string.
7362
5ca1a64d
VS
73632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7366 is_disk.
7367 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7368 (open_device) Likewise.
7369 (grub_util_biosdisk_close): Likewise.
d8ce9995 7370 Reported by: Mark Korenberg.
5ca1a64d 7371
cbac5b1e
AK
73722011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7373
7374 * util/grub-mkconfig_lib.in: Add missing quotes.
7375
088cdb65
CW
73762011-04-10 Colin Watson <cjwatson@ubuntu.com>
7377
7378 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7379 is NULL.
7380
8b8a81fa
VS
73812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 Dynamically count the number of lines for the lower banner.
7384
7385 * grub-core/normal/menu_entry.c (per_term_screen): New member
7386 num_entries.
7387 (print_down): Use num_entries.
7388 (update_screen): Likewise.
7389 (grub_menu_entry_run): Set num_entries.
7390 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7391 num_entries.
7392 (grub_print_message_indented): Move real part to ...
7393 (grub_print_message_indented_real): ... here. Additional argument
7394 dry_run.
7395 (draw_border): Additional argument num_entries.
7396 (print_message): Additional argument dry_run.
7397 (print_entries): Receive menu viewer data.
7398 (grub_menu_init_page): New argment num_entries.
7399 (menu_text_set_chosen_entry): Use num_entries.
7400 (grub_menu_try_text): Likewise.
7401 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7402 All users updated.
7403 (grub_ucs4_count_lines): New function.
7404 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7405 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7406 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7407 (grub_term_border_height): Likewise.
7408 (grub_term_num_entries): Likewise.
7409
277f955b
VS
74102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7413 Remove now unused string.
7414
536ce85a
CW
74152011-04-09 Colin Watson <cjwatson@ubuntu.com>
7416
7417 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7418 build system.
7419 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7420
7421 (Comment): Fix typo.
7422 (Getting started): General copy-editing.
7423 (Typical Development Experience): Likewise.
7424 (Error Handling): Likewise.
7425 (Video API): Likewise.
7426
2cf09e32
CW
74272011-04-09 Colin Watson <cjwatson@ubuntu.com>
7428
7429 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7430 throughout.
7431
1ec652f4
VS
74322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7435 directory.
7436
2c583728
CW
74372011-04-08 Colin Watson <cjwatson@ubuntu.com>
7438
7439 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7440 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7441 "development".
7442
d7a565e9
VS
74432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7446 grub_strcpy since the lines aren't necessarily 0-terminated.
7447
7c2e4909
VS
74482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7451 root on legacy.
7452
34c09785
VS
74532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7456 (GRUB_MOD_INIT): DEVICE isn't optional.
7457
6a6f8058
VS
74582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7461 word on new line if it's too long anyway. Fixes a hang.
7462
2e335e90
VS
74632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7466 const.
7467 * util/grub-setup.c (main): Reuse md device name if available.
7468 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7469 not GRUB name as argument.
7470 Based on patch by: Florian Wagner <fwagner>.
7471
10a7a867
VS
74722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7475 Place mbi on low memory for better compatibility.
7476
7a3d6cd9
VS
74772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7480
18dd6b47
VS
74812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
74822011-04-08 Colin Watson <cjwatson@ubuntu.com>
7483
7484 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 7485 * conf/Makefile.common: Likewise.
18dd6b47 7486
3c0e3f14
VS
74872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7488
f7148863
VS
7489 * grub-core/normal/menu.c: Add missing include.
7490
74912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 7494
6d1fa41f
MZ
74952011-04-08 Martin Zuther <mzuther@mzuther.de>
7496
7497 * util/grub-mkconfig.in: Ignore emacsen backup.
7498
478182a8
VS
74992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7502 on open.
7503 (grub_util_biosdisk_close): Likewise.
7504
72a89a54
VS
75052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7508 const attribute and use grub_isdigit.
7509
b5ebecfa
A
75102011-04-06 Andrey <dev_null@ukr.net>
7511
7512 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7513 gcc warning.
7514
7755f66e
VS
75152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7518 useful grub_dprintf's.
7519
461121ff
VS
75202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7523
2a961775
VS
75242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7527
adf594cc
VS
75282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 Output errors if theme loading failed.
7531
7532 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7533 grub_gfxterm_fullscreen on error paths to ...
7534 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7535 theme loading error.
7536
665900a3
VS
75372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7540 space for older compilers.
7541 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7542
a562b479
VS
75432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7546 and report them as not RAID members since they are useless for GRUB.
7547 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7548
850e9373
VS
75492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Increase LVM implementation robustness in order not to crash on
7552 configurations like pvmove. Previously code assumed that in some places
7553 only lvs or only pvs are used whereas it seems that they are used
7554 interchangeably.
7555
7556 * grub-core/disk/lvm.c (read_node): New function.
7557 (read_lv): Use read_node.
7558 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7559 Match volumes only at the end when all lvs are found. Take both
7560 pvs (first) and lvs (second) into account.
7561 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7562 mirror_* into node_*. All users updated.
7563 (grub_lvm_stripe): Merge this ...
7564 (grub_lvm_mirror): ... and this ...
7565 (grub_lvm_node): ... into this. All users updated.
7566
6f332153
VS
75672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7570 of function to allow further scanning for LVMs.
7571
829ea451
VS
75722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7575 on failed seek as it breaks open fd reusage.
7576
09ceb9a5
VS
75772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * util/grub-install.in: Add a recommendation to use --recheck before
7580 reporting bugs.
7581
67e11623
VS
75822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7585 are obtained.
7586
caee5efd
VS
75872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 GRUB developper manual based on existing Internals section and
7590 contributions by the various authors with active copyright assignment.
7591
7592 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7593 * docs/font_char_metrics.png: New file.
7594 * docs/font_char_metrics.txt: Likewise.
7595 * docs/grub-dev.texi: Likewise.
7596 * docs/grub.texi (Internals): Move from here ...
7597 * docs/grub-dev.texi: ... here.
7598
2cccc747
CW
75992011-04-01 Colin Watson <cjwatson@ubuntu.com>
7600
7601 Store the loopback device as data on loopback grub_disk structures,
7602 rather than the file it points to. This fixes use of freed memory
7603 if an existing loopback device is replaced.
7604
7605 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7606 disk->data, not dev->file.
7607 (grub_loopback_read): Adjust file assignment to match.
7608 Fixes Ubuntu bug #742967.
7609
186ae367
CW
76102011-04-01 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7613 when replacing an existing device.
7614
cfed2ad0
VS
76152011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7618 memory corruptions.
7619
7620 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7621 unsigned.
7622 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7623 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7624 (grub_jfs_read_inode): Likewise.
7625 (grub_jfs_opendir): Likewise. Remove now useless casts.
7626 (grub_jfs_getent): Likewise.
7627 Make ino a grub_uint32_t rather than int.
7628 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7629 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7630 division and module with bit operations.
7631 (grub_jfs_find_file): Make ino a grub_uint32_t.
7632 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
7633
05d2ed32
CW
76342011-04-01 Colin Watson <cjwatson@ubuntu.com>
7635
7636 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
7637 warning. (This was in fact always initialised before use, but GCC
7638 wasn't smart enough to prove that.)
7639 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7640
91dc6073
VS
76412011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7644 stack alignment.
7645 (efi_wrap_1): Likewise.
7646 (efi_wrap_2): Likewise.
7647 (efi_wrap_3): Likewise.
7648 (efi_wrap_4): Likewise.
7649 (efi_wrap_5): Likewise.
7650 (efi_wrap_6): Likewise.
7651 (efi_wrap_10): Likewise.
7652 Based on information by: Red Hat/Peter Jones.
7653
a8afc1d1
CW
76542011-03-31 Colin Watson <cjwatson@ubuntu.com>
7655
7656 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7657 set-but-not-used variable.
7658
a826cc7d
CW
76592011-03-31 Colin Watson <cjwatson@ubuntu.com>
7660
7661 * docs/grub.texi (Simple configuration): Be more explicit about
7662 GRUB_DEFAULT, and add an example.
7663 Reported by: Leslie Rhorer.
7664
875b67ba
CW
76652011-03-30 Colin Watson <cjwatson@ubuntu.com>
7666
7667 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7668 shell".
7669
fd7cd914
AS
76702011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7671
7672 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7673 * util/grub.d/20_linux_xen.in: Likewise.
7674
090b1b6a
VS
76752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * util/grub.d/10_linux.in: Try alternative config filenames where
7678 we parse config file.
7679 * util/grub.d/20_linux_xen.in: Likewise.
7680
baad885c
AS
76812011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7682
7683 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7684 * util/grub.d/20_linux_xen.in: Likewise.
7685
241e41f5
VS
76862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/disk/raid.c (insert_array): Add few potentially
7689 useful grub_util_info.
7690 (grub_raid_register): Likewise.
7691
56445fb2
VS
76922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7695 Preserve partition number in mdadm code path.
7696
c871b1c6
VS
76972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7700 few potentially useful grub_util_info.
7701
5e631b4f
CW
77022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
7705
2d5d0333
CW
77062011-03-30 Colin Watson <cjwatson@ubuntu.com>
7707
7708 * docs/grub.texi (default): Use @example rather than nested
7709 itemized lists to avoid breaking gendocs.
7710
3d7ed04e
CW
77112011-03-30 Colin Watson <cjwatson@ubuntu.com>
7712
7713 * docs/grub.texi (Future): Update.
7714
abf04200 77152011-03-30 Colin Watson <cjwatson@ubuntu.com>
7716
7717 * docs/grub.texi (Environment): New chapter.
7718 (Changes from GRUB Legacy): Link to "Environment block" section for
7719 details of limitations.
7720 (Simple configuration): Likewise. Link to documentation of gfxmode
7721 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
7722 respectively.
7723 (Shell-like scripting): Note that normal variables are stored in the
7724 environment.
7725 (gettext): Link to documentation of lang and locale_dir.
7726 (list_env): New section.
7727 (load_env): New section.
7728 (save_env): New section.
7729
7730 (Reporting bugs): Fix typo.
7731
e1ad0edd
VS
77322011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
7735 the example.
7736
5d803174
VS
77372011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/term/at_keyboard.c (set_scancodes)
7740 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
7741
2a2da1d0
CW
77422011-03-30 Colin Watson <cjwatson@ubuntu.com>
7743
7744 * docs/grub.texi (Menu-specific commands): Remove some semantics
7745 that were true in GRUB Legacy but not in GRUB 2.
7746 (submenu): New section.
7747 (false): New section.
7748 (read): New section.
7749 (true): New section.
7750
a7527639
CW
77512011-03-30 Colin Watson <cjwatson@ubuntu.com>
7752
7753 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
7754
77552011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
7756
7757 * docs/grub.texi (Simple configuration): Explain some of the
7758 current limitations of grub-mkconfig.
8a748df2 7759 Reported by: Leslie Rhorer.
e30af029 7760
fc858482
VS
77612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Old macs search for boot.efi rather than for bootia32.efi.
7764
7765 * util/grub-install.in: Copy bootia32.efi to boot.efi.
7766 * util/grub-mkrescue.in: Likewise.
7767 Suggested by: Peter Jones.
7768
e1eb511d
VS
77692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
7772
70e75364
VS
77732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
7776 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
7777 (grub_lvm_mirror): New struct.
7778 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
7779 (grub_lvm_iterate): Iterate only visible volumes.
7780 (grub_lvm_read): Factor out to ..
7781 (read_lv): ... this. Support mirrors.
7782 (grub_lvm_read): New wrapper function.
7783 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
7784 stripped or mirrored.
7785
fc18f6a3
VS
77862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
7789
5c650f4c
CW
77902011-03-29 Colin Watson <cjwatson@ubuntu.com>
7791
7792 * docs/grub.texi (loopback): New section.
7793
61d7156b
CW
77942011-03-29 Colin Watson <cjwatson@ubuntu.com>
7795
7796 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
7797 removed -p option.
7798
994b8264
CW
77992011-03-29 Colin Watson <cjwatson@ubuntu.com>
7800
7801 * docs/grub.texi (BIOS installation): New section, partly based on
7802 previous text in other sections.
7803 (Installing GRUB using grub-install): Replace BIOS discussion with a
7804 cross-reference.
7805 (Images): Likewise.
7806
9e4d19e0
VS
78072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/kern/emu/hostdisk.c (find_partition_start)
7810 [HAVE_DIOCGDINFO]: Add safety checks.
7811
a307c0b2
VS
78122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
7815 per default compiled in kernel and prior to 8.0 isn't shipped at all.
7816
b4db4f39
CW
78172011-03-29 Colin Watson <cjwatson@ubuntu.com>
7818
7819 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
7820 real_sb->size is zero (e.g. RAID-0), get the disk size from
7821 real_sb->data_size instead.
7822 Fixes Ubuntu bug #743136.
7823
35e5f84c
VS
78242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
7827 printf clauses for printing size and start.
7828
d2e29d81
VS
78292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
7832 Reported and tested by: Timothy Nikkel.
7833
ed5587af
VS
78342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
7837 (dirty_region_add_real): ... this.
7838 (dirty_region_add): Don't discard margin refresh when performing
7839 scheduled repaint.
7840
a1dc717c
VS
78412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/lib/relocator.c (allocate_regstart)
7844 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
7845 terminals are capabple of malloc-free operation.
7846 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7847 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7848
9f3677d3
VS
78492011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
7850
7851 * util/grub-setup.c: Copy the partition table zone if floppy support
7852 is disabled, even if no partition table is found.
7853
7854 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
7855 during POST if an invalid partition table is contained in the PBR
7856 of the active partition when GRUB is installed to a partition.
7857
24148725
CW
78582011-03-28 Colin Watson <cjwatson@debian.org>
7859
7860 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
7861 comment.
7862
f329eda7
CW
78632011-03-28 Colin Watson <cjwatson@debian.org>
7864
7865 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
7866 to be specific about what kind of RAID device we're scanning for.
7867
c482ad98
SG
78682011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
7869
7870 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7871 return freed string.
7872
5ee04984
VS
78732011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7876
f4727da9
VS
78772011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Use libgeom on FreeBSD to detect partitions.
7880
7881 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7882 (grub-mkrelpath): Likewise.
7883 (grub-script-check): Likewise.
7884 (grub-editenv): Likewise.
7885 (grub-mkpasswd-pbkdf2): Likewise.
7886 (grub-fstest): Likewise.
7887 (grub-mkfont): Likewise.
7888 (grub-mkdevicemap): Likewise.
7889 (grub-probe): Likewise.
7890 (grub-setup): Likewise.
7891 (grub-ofpathname): Likewise.
7892 (grub-mklayout): Likewise.
7893 (example_unit_test): Likewise.
7894 (grub-menulst2cfg): Likewise.
7895 * grub-core/Makefile.core.def (grub-emu): Likewise.
7896 (grub-emu-lite): Likewise.
7897 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7898 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7899 define HAVE_DIOCGDINFO.
7900 (follow_geom_up) [FreeBSD]: New function.
7901 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7902 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7903 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7904 unconditionally of HAVE_DIOCGDINFO.
7905
82fe6c75
VS
79062011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Fix FreeBSD compilation problem.
7909
7910 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7911 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7912
4c6c9431
CW
79132011-03-24 Colin Watson <cjwatson@ubuntu.com>
7914
7915 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7916 Switch back to page zero before loading a kernel, since some kernel
7917 drivers expect that.
7918 Thanks to: Felix Kuehling.
7919
c7064d94
VS
79202011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7923 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7924 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7925
3f71cded
VS
79262011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7929 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7930
ef6de21a
VS
79312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7934 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7935 malloc is disabled.
7936
8bc66a2c
VS
79372011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7940 for modules headers when counting the needed allocation size.
7941
5657722c
VS
79422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7945 if no ASCII character is found to prevent crash.
7946
41a85f55
AK
79472011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7948
7949 * grub-core/video/bitmap.c (match_extension): Ignore case.
7950
59e1e5f1
VS
79512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7954
bd4d051a
VS
79552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/script/parser.y: Declare "time" as valid argument.
7958
bae7fcc1
PJ
79592011-03-23 Peter Jones <pjones@redhat.com>
7960
7961 Fix incorrect assert failure reporting.
7962
7963 * grub-core/tests/example_functional_test.c (example_test): Add
7964 a failure comment.
7965 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7966 (failure_start): ...this. Check that malloc succeeded.
7967 Don't call xvasprintf. Return failure struct.
7968 (failure_append_vtext): New function.
7969 (failure_append_text): Likewise.
7970 (add_failure): Likewise.
7971 (grub_test_assert_helper): Likewise.
7972 * include/grub/test.h (grub_test_assert_helper): New declaration.
7973 (grub_test_assert): Macro rewritten.
7974
537dc9be
VS
79752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7978
fa3e01bf
VS
79792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7982
b1d28404
VS
79832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7986 into GRUB-style one.
7987
2e3e2e09
VS
79882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7991 error and not grub_errno.
7992 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
7993
ed57e557
VS
79942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
7997 GRUB_USB_SPEED_NONE in case of failure and not the error code.
7998
d1611f01
VS
79992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/efiemu/i386/pc/cfgtables.c
8002 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8003 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8004 (grub_xnu_unlock): Likewise.
8005 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8006
7d4e39d6
VS
80072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8010 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8011 * grub-core/commands/hashsum.c (aliases): Likewise.
8012 * grub-core/commands/setpci.c (pci_registers): Likewise.
8013 * grub-core/disk/usbms.c (attach_hook): Likewise.
8014 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8015 (zio_checksum_table): Likewise.
8016 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8017 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8018 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8019 * grub-core/lib/relocator.c (leftovers): Likewise.
8020 (extra_blocks): Likewise.
8021 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8022 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8023 (modules_last): Likewise.
8024 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8025 (devices): Likewise.
8026 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8027 (modules_last): Likewise.
8028 * grub-core/normal/auth.c (users): Likewise.
8029 * grub-core/normal/context.c (initial_menu): Likewise.
8030 (current_menu): Likewise.
8031 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8032 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8033 (grub_serial_terminfo_input_template): Likewise.
8034 (grub_serial_terminfo_output_template): Likewise.
8035 (grub_serial_terminfo_input): Likewise.
8036 (grub_serial_terminfo_output): Likewise.
8037 (registered): Likewise.
8038 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8039
40fc4659
VS
80402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8043 grub_video_mode_type_t.
8044 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8045 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8046 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8047
2da48d28
VS
80482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * util/grub-install.in: Correct the x86-64 name as x86_64.
8051
9b43bf39
CW
80522011-03-11 Colin Watson <cjwatson@ubuntu.com>
8053
8054 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8055 initial chunk read from the kernel always includes GRUB's multiboot
8056 header, which is now outside the first sector.
8057
be1a7ce0
CW
80582011-03-09 Colin Watson <cjwatson@ubuntu.com>
8059
8060 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8061 cached mmap_size, so that this works correctly when called multiple
8062 times.
8063 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8064
83a3c48d
CW
80652011-03-09 Colin Watson <cjwatson@ubuntu.com>
8066
8067 * docs/grub.texi (Simple configuration): Tidy up formatting.
8068
57d75699
SJ
80692011-03-07 Szymon Janc <szymon@janc.net.pl>
8070
8071 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8072 Set-but-not-used variable removed.
8073
028501a0
VS
80742011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Workaround yet another IEEE1275 bug.
8077
8078 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8079 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8080 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8081 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8082 is set.
8083 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8084 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8085
d998657d
VS
80862011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8089 error.
8090
fee7cdd4
CW
80912011-02-11 Colin Watson <cjwatson@ubuntu.com>
8092
8093 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8094 empty, since in that case we can only generate either nothing or a
8095 syntactically invalid configuration file.
8096 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8097
97286eb5
CW
80982011-02-09 Colin Watson <cjwatson@ubuntu.com>
8099
8100 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8101 (Making a GRUB bootable CD-ROM): Likewise.
8102 (Invoking grub-mkrescue): New section.
8103 Reported by: Yann Dirson. Fixes Debian bug #612585.
8104
22b28eb3
CW
81052011-02-09 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * util/grub-install.in: Remove unnecessary brackets from tr
8108 arguments.
8109 * util/grub.d/10_hurd.in: Likewise.
8110 * util/grub.d/10_kfreebsd.in: Likewise.
8111 * util/grub.d/10_linux.in: Likewise.
8112 * util/grub.d/20_linux_xen.in: Likewise.
8113 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8114
7e735e43
CW
81152011-02-08 Colin Watson <cjwatson@ubuntu.com>
8116
8117 * include/grub/file.h (not_easly_seekable): Rename to ...
8118 (not_easily_seekable): ... this. Update all users.
8119
800f1881
CW
81202011-01-28 Colin Watson <cjwatson@ubuntu.com>
8121
8122 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8123 grub-mkrescue.
8124
3281d3d6
VS
81252011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * util/grub-mkimage.c (generate_image): Refuse to create the images
8128 bigger than the actual flash (512K) in Loongson machines. 512K is also
8129 the biggest chip supported by them.
8130
3533413c
VS
81312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8134
73ae4f4f
VS
81352011-01-22 Anthony DeRobertis <anthony@derobert.net>
8136
8137 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8138 super_offset field.
8139
37f4f608
VS
81402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * util/grub-install.in: Ignore install device on platforms
8143 where it doesn't make sense. Always use UUIDs except on pc, efi and
8144 sparc64.
8145 Reported by: Daniel Kahn Gillmor.
8146
03a4ccb5
VS
81472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8150
ffc8f4d8
VS
81512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8154 (iterate_real): Don't rely on partition being non-NULL.
8155
80f23be7
VS
81562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8159 supported platforms. Put a compile time assert for this rather than
8160 generate a warning with 32-bit shift.
8161
5d4f4dd5
VS
81622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8165 logical expression more readable.
8166
e489601a
VS
81672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8170 even if some elements have a name.
8171 Reported by: Alexander GQ Gerasiov.
8172
96e0a6ea
CW
81732011-01-22 Colin Watson <cjwatson@ubuntu.com>
8174
8175 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8176 path unreadable if `grub-probe -t abstraction' fails, for example if
8177 memberlist fails on an LVM volume group.
8178 Reported by: Darius Jahandarie.
8179
81431e2b
CW
81802011-01-22 Colin Watson <cjwatson@ubuntu.com>
8181
8182 * docs/grub.texi (Simple configuration): Document
8183 GRUB_PRELOAD_MODULES.
8184
5e79d66a
CW
81852011-01-17 Colin Watson <cjwatson@ubuntu.com>
8186
8187 * .bzrignore: Remove nonexistent grub-pbkdf2.
8188
646ada34
VS
81892011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * configure.ac: Bump version to 1.99~rc1.
8192
04360337
VS
81932011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8196 for safety.
8197
46c9db88
VS
81982011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8201 module.
8202
82032011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8204
8205 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8206
4fbf1852
VS
82072011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8210 diskdevid.
8211
f1632d4d
VS
82122011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 Fix compilation on cygwin.
8215
8216 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8217 -R .drectve on cygwin.
8218 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8219 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8220 (COND_CYGWIN): New condition.
8221 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8222 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8223 not @TARGET_OBJ2ELF@.
8224 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8225 type to determine whether aux is to be used.
8226
0b5e127b
VS
82272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8230 realpath'ed device string.
8231 Handle floppy (somewhat).
8232 Issue error in unknown case rather than garbage.
8233 Reported by: Axel Beckert.
8234
173b71e9
VS
82352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * util/grub.d/00_header.in (load_video): Handle the case when no video
8238 drivers available.
8239 Thanks to: Axel Beckert.
8240
f8f479db
VS
82412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8244 variable. Fixes problem on big endian platforms.
8245
8fc0a245
VS
82462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8249 It doesn't work well there.
8250
b8494fbe
VS
82512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8254 warning.
8255 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8256 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8257 counter.
8258
b44a558c
VS
82592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 Use alias->path rather than buggy "canon".
8262
8263 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8264 (ofdisk_hash_add): New argument curcan. All users updated.
8265
51fa856c
CW
82662011-01-11 Colin Watson <cjwatson@ubuntu.com>
8267
8268 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8269
9da068a5
VS
82702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8273 loadmask before doing any calculations. Use correct type for offset.
8274 (grub_linux_load64): Likewise.
8275
86205c94
CW
82762011-01-11 Colin Watson <cjwatson@ubuntu.com>
8277
8278 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8279 with NULL.
8280 (console_grub_equivalences_unshift): Likewise.
8281 Reported by: Daniel Dehennin.
8282
4531a206
VS
82832011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8286 (set_env_limn_ro): Likewise.
8287 (GRUB_MOD_INIT): Likewise.
8288 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8289 ARRAY_SIZE while on it.
8290 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8291 * grub-core/normal/context.c (grub_env_export): Move from here ...
8292 * grub-core/kern/env.c (grub_env_export): ... here.
8293 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8294 prefix.
8295 * grub-core/kern/main.c (grub_main): Export root and prefix.
8296 * include/grub/env.h (grub_env_export): Export.
8297 Reported by: Seth Goldberg.
8298
45146057
VS
82992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8302 Take into account space used by ELF sections and multiboot palette.
8303 Reported by: Grégoire Sutre.
8304
f093110b
VS
83052011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * BUGS: New file.
8308
3395fe52
VS
83092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Pass more appropriate video id to Linux.
8312
8313 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8314 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8315 fill have_vga.
8316 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8317 shift params->lfb_size.
8318 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8319
c2fa6cbb
VS
83202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8323
b3ff6ff0
VS
83242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8327 separator and pass bootpath/devid even if only one of them is available.
8328 Reported by: Seth Goldberg.
8329
ae67942e
VS
83302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8333 implementations bug on them.
8334
8335 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8336 memory.
8337 (filter_memory_map): Likewise.
8338
d570097a
VS
83392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8342 Reported by: nebuchadnezzar.
8343
a508e776
VS
83442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8347 Reported by: nebuchadnezzar.
8348
dcb883b1
VS
83492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 Submenu default support.
8352
8353 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8354 auto_boot. All users updated.
8355 Declared static.
8356 Handle chosen and default with submenus.
8357 (grub_menu_execute_with_fallback): Declared static.
8358 Don't notify failure if autobooted. Upper level does it.
8359 (menuentry_eq): New function.
8360 (get_entry_number): Use menuentry_eq.
8361 (show_menu): New parameter "autobooted". All users updated.
8362 (grub_show_menu): Likewise.
8363 * include/grub/normal.h (grub_show_menu): Likewise.
8364 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8365 (grub_menu_execute_with_fallback): Likewise.
8366
6fef99b4
VS
83672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * util/grub-mklayout.c (usage): Update help text.
8370
47a77af5
VS
83712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8374
ce6bb3ee
VS
83752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * util/grub-menulst2cfg.c (main): Trim the line.
8378
db87be2a
VS
83792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8382 (grub_machine_init): Don't check amount of low memory as reportedly
8383 INT 12h can be broken and if low memory is too low we wouldn't have
8384 gotten into grub_machine_init anyway.
8385
c49849cc
VS
83862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8389 (grub_machine_mmap_iterate): Take low memory into account
8390
b1969b30
VS
83912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8394 badfs.
8395 Reported by: TiCPU.
8396
cf0eaf13
VS
83972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8400 members errors.
8401
1f060f39
GS
84022011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8403
8404 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8405 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8406
a21e5672
GS
84072011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8408
8409 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8410 openbsd and netbsd types being in part_bsd module.
8411
c88172fa
VS
84122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8415 (_FILE_OFFSET_BITS): Likewise.
8416 Reported by: Seth Goldberg.
8417
53798c4b
GS
84182011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8419
8420 * configure.ac: Check for libdevmapper header.
8421
e7121b69
VS
84222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8425 avoid aliasing.
8426 (fzap_lookup): Likewise.
8427 (dnode_get): Likewise.
8428 (make_mdn): Likewise.
8429 (zfs_mount): Likewise.
8430 (fzap_iterate): Use temporary pointer to avoid aliasing.
8431 (grub_zfs_read): Likewise.
8432 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8433 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8434 pointers to avoid aliasing.
8435 (grub_cmd_xnu_kernel64): Likewise.
8436 (grub_xnu_load_driver): Likewise.
8437
fc836af9
VS
84382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8441 aliasing warning.
8442 (grub_cmd_terminal_output): Likewise.
8443 Reported and tested by: Grégoire Sutre.
8444
f9f37648
VS
84452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8448 warning.
8449 Reported and tested by: Grégoire Sutre.
8450
ec1dfd63
VS
84512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * configure.ac: Do CPU substitution even if it's specified explicitly.
8454 Reported and tested by: Alain Greppin.
8455
9462775a
VS
84562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8459 Reported and tested by: Alain Greppin.
8460
0fd48e35
VS
84612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Satisfy some bison versions need for inttypes.h.
8464
8465 * grub-core/lib/posix_wrap/inttypes.h: New file.
8466 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8467 (int16_t): Likewise.
8468 (int32_t): Likewise.
8469 (int64_t): Likewise.
8470 Reported and tested by: Alain Greppin.
8471
43f1bc83
VS
84722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8475 Silence spurious warning.
8476 Reported and tested by: Alain Greppin.
8477
64d1f041
SJ
84782011-01-07 Szymon Janc <szymon@janc.net.pl>
8479
8480 * docs/grub.texi (Support automatic decompression): Update with xz
8481 decompression support.
8482
25953e10
SJ
84832011-01-07 Szymon Janc <szymon@janc.net.pl>
8484
8485 Improve loaders' kernel command line handling.
8486
8487 * grub-core/lib/cmdline.c: New file.
8488 * include/grub/lib/cmdline.h: Likewise.
8489 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8490 grub_create_loader_cmdline to create kernel command line.
8491 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8492 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8493 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8494 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8495 (linux): Add lib/cmdline.c on common.
8496
e72d259f
VS
84972011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8500 inopos might be unaligned.
8501
c0cf26da
VS
85022011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8505 endian transformations.
8506 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8507 Based on report by: Doug Nazar.
8508
0ca09e6c
DN
85092011-01-07 Doug Nazar <nazard.michi@gmail.com>
8510
8511 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8512 array->members[i].start_sector.
8513 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8514
014b6806
VS
85152011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8518 Reported and tested by: Grégoire Sutre.
8519
415502c2
CW
85202011-01-06 Colin Watson <cjwatson@ubuntu.com>
8521
8522 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8523 avoid causing test failures by clearing the screen.
8524
71b6a2b7
CW
85252011-01-06 Colin Watson <cjwatson@ubuntu.com>
8526
8527 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8528 Fix prefix check to handle the case where dir ends with a slash
8529 (most significantly, "/" itself).
8530 Reported by: Michael Vogt.
8531
b3f8d28a
VS
85322011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 Run terminfo_cls on initing terminfo output to clear the screen and
8535 move the cursor to (0,0).
8536
8537 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8538 Call grub_terminfo_output_init.
8539 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8540 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8541 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8542
4c3e4f37
VS
85432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8546 only when needed.
8547
488f71f1
VS
85482011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8551 CTRL.
8552
18a38098
VS
85532011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 The E820 type 5 is BADRAM, not EXEC_CODE.
8556
8557 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8558 (GRUB_E820_BADRAM): New define.
8559 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8560 into reserved. Propagate BADRAM.
8561 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8562 (GRUB_E820_BADRAM): New define.
8563
9eae2084
VS
85642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8567 Ignore the memory post-4G.
8568 (grub_relocator_firmware_alloc_region): Additional debug statement.
8569
ebc71d28
VS
85702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8573 names.
8574 Reported by: David Pravec.
8575
446fa400
VS
85762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8579 BIOSes.
8580
a0159f37
VS
85812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8584 Prevent overflow.
8585 (grub_reed_solomon_recover): Likewise.
8586
e5146ca1
VS
85872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8590
85912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
8592
8593 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8594 variable.
8595
5b1bdf12
CW
85962011-01-04 Colin Watson <cjwatson@ubuntu.com>
8597
8598 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8599 descriptions of extract_legacy_entries_source and
8600 extract_legacy_entries_configfile.
8601 Reported by: Seung Soo, Ha.
8602
99d925aa
CW
86032011-01-03 Colin Watson <cjwatson@ubuntu.com>
8604
8605 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8606 on devices that do not implement function 0.
8607
4af0504b
DV
86082011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8609
8610 * grub-core/fs/hfsplus.c: Make parent unsigned.
8611 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8612 overflows.
8613 (grub_hfsplus_cmp_extkey): Likewise
8614
469ee10a
VS
86152011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * util/grub-install.in: Correctly use bootloader_id and not
8618 GRUB_DISTRIBUTOR on efibootmgr line.
8619
323a8e9c
VS
86202011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8623
1b394975
IC
86242010-12-31 Ian Campbell <ijc@hellion.org.uk>
8625
8626 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8627 Xen and reorder menu item wording to make it clearer that this entry
8628 will launch Xen. Print separate messages when loading Xen and
8629 Linux.
8630
275bff5f
VS
86312010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
8634 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
8635 loop in case of incorrect amiga partmap.
8636
307806cb
VS
86372010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8640 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8641 Reported by:EHeM.
8642
b12b923e
VS
86432010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8646 spurious warning.
8647 Reported by: crocket
8648
14b48a19
VS
86492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8652 Preload EFIemu.
8653 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8654
693db2df
VS
86552010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8658 is loaded
8659 (grub_cmd_xnu_kextdir): Likewise.
8660 (grub_cmd_xnu_splash): Likewise.
8661
c7638645
VS
86622010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 Avoid using Reed-Solomon with 0 redundancy.
8665
8666 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8667 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8668 or 0 redundancy.
8669 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8670 (grub_reed_solomon_recover): Likewise.
8671
25dd4780
VS
86722010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 Don't use disk subsystem in freebsd_boot.
8675
8676 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8677 (freebsd_biosdev): Likewise.
8678 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8679 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8680
0b2db943
VS
86812010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 Handling of files of unknown size is currently limited. They can't be
8684 used e.g. for initrd or modules. Moreover gzip handling of not
8685 easily seekable files is buggy. Disable unknown file size for now. May
8686 be inefficient but works.
8687
8688 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8689 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8690
5c408d0f
MP
86912010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8692
8693 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8694 floppy probe.
8695
190a011a
JD
86962010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8697
8698 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8699
022d01b8
SL
87002010-12-25 Shea Levy <shlevy>
8701
8702 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8703
c4855fdc
VS
87042010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
8707 Windows Server 2008.
8708 Reported by: Devin Giddings.
8709
0354b867
VS
87102010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
8713 writing an error message because of async power management.
8714 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
8715 (grub_reboot): Likewise.
8716
ab66c69f
JU
87172010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
8718
8719 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
8720 keep unit tests from failing when they shouldn't.
8721
1426ef35
CW
87222010-12-21 Colin Watson <cjwatson@ubuntu.com>
8723
8724 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
8725 previous patch increased the size of the RS code by 20 bytes (at
8726 least with gcc-4.4), so increase this by 20 bytes to match.
8727 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8728
20641b6b
CW
87292010-12-21 Colin Watson <cjwatson@ubuntu.com>
8730
8731 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
8732 scratch area. Make sure to initialise chosen in standalone mode as
8733 well as non-standalone.
8734 Reported by: Robert Hooker and Andy Whitcroft.
8735 Tested by: Andy Whitcroft.
8736
d060ad60
CW
87372010-12-21 Colin Watson <cjwatson@ubuntu.com>
8738
8739 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
8740 constructing a new unescaped string and passing it to grub_xputs in
8741 one go, rather than passing characters to grub_printf one at a time.
8742
b889cfad
CW
87432010-12-21 Colin Watson <cjwatson@ubuntu.com>
8744
8745 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
8746 initialising utf16.
8747
4e01b6c8
CW
87482010-12-21 Colin Watson <cjwatson@ubuntu.com>
8749
8750 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
8751 comment. Add an extra layer of quotation, requiring the output of
8752 this function to be used in a printf format string.
8753 (gettext_printf): New function.
8754 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
8755 Extract translatable strings from here-documents and use a temporary
8756 variable instead, so that xgettext can find them.
8757 * util/grub.d/10_kfreebsd.in: Likewise.
8758 * util/grub.d/10_linux.in: Likewise.
8759 * util/grub.d/20_linux_xen.in: Likewise.
8760
8761 * po/grub.d.sed: New file.
8762 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
8763 arguments. Set c-format flags on all strings extracted from
8764 util/grub.d/ (xgettext refuses to include these itself for strings
8765 it extracted from a shell file, but these really are c-format).
8766
5318fe98
VS
87672010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
8770 Avoid next pointing to nowhere.
8771
6c85b743
VS
87722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
8775 rather than assuming than rootblock is exactly in the middle.
8776 (grub_affs_label): Likewise.
8777
a2a08a35
VS
87782010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
8781 reserved_first_sector to 0.
8782 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
8783 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
8784 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
8785
7059d1ec
VS
87862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 Fix handling of UTF-16 UDF labels.
8789
8790 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
8791 (read_string): .. here.
8792 (grub_udf_label): Use read_string.
8793
30aff4cb
BC
87942010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
8795
8796 * grub-core/normal/menu_entry.c (run): Execute commands from menu
8797 editor under argument scope.
8798 Reported by: Jordan Uggla
8799
5cf86f4b
VS
88002010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
8803
32570200
CW
88042010-12-18 Colin Watson <cjwatson@ubuntu.com>
8805
8806 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
8807 line, and other keys scroll an entire page (previous handling was
8808 for \r and \n to scroll a page and other keys to scroll two lines).
8809
e1dffcf2
VS
88102010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8813 Set ptrdest to correct get_physical_target_address rather than
8814 incorrect get_virtual_current_address.
8815
b04298cf 88162010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
8817
8818 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
8819 correct cat to grub_uint8_t * rather than grub_uint32_t *.
8820
5367ecd3
CW
88212010-12-10 Colin Watson <cjwatson@ubuntu.com>
8822
8823 * .bzrignore: Ignore grub-core/rs_decoder.S.
8824
1fb430f8
CW
88252010-12-10 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
8828 .mo/.mo.gz opening sequence to ...
8829 (grub_mofile_open_lang): ... here.
8830 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
8831 * util/grub.d/00_header.in (grub_lang): Include country part of
8832 locale.
8833 Reported by: Mario Limonciello.
8834
a94a6671
RM
88352010-12-09 Robert Millan <rmh@gnu.org>
8836
8837 * NEWS: Document addition of ZFS support.
8838
24b7938b
CW
88392010-12-04 Colin Watson <cjwatson@ubuntu.com>
8840
8841 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
8842 rather than `/ 2', as the latter requires -Wa,--divide which would
8843 require bumping our minimum binutils version.
8844
bddc3ef6
BC
88452010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8846
8847 * util/grub-script-check.c (main): Print script line number on
8848 error.
8849
bf78d5b2
RM
88502010-12-01 Robert Millan <rmh@gnu.org>
8851
8852 * grub-core/fs/zfs/zfs.c: New file.
8853 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
8854 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
8855 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
8856 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8857
8858 * include/grub/zfs/dmu.h: Likewise.
8859 * include/grub/zfs/dmu_objset.h: Likewise.
8860 * include/grub/zfs/dnode.h: Likewise.
8861 * include/grub/zfs/dsl_dataset.h: Likewise.
8862 * include/grub/zfs/dsl_dir.h: Likewise.
8863 * include/grub/zfs/sa_impl.h: Likewise.
8864 * include/grub/zfs/spa.h: Likewise.
8865 * include/grub/zfs/uberblock_impl.h: Likewise.
8866 * include/grub/zfs/vdev_impl.h: Likewise.
8867 * include/grub/zfs/zap_impl.h: Likewise.
8868 * include/grub/zfs/zap_leaf.h: Likewise.
8869 * include/grub/zfs/zfs.h: Likewise.
8870 * include/grub/zfs/zfs_acl.h: Likewise.
8871 * include/grub/zfs/zfs_znode.h: Likewise.
8872 * include/grub/zfs/zil.h: Likewise.
8873 * include/grub/zfs/zio.h: Likewise.
8874 * include/grub/zfs/zio_checksum.h: Likewise.
8875
8876 * Makefile.util.def: Build ZFS into libgrubmods.
8877 * grub-core/Makefile.core.def: Build zfs.mod.
8878
3f0f3831
SJ
88792010-11-30 Szymon Janc <szymon@janc.net.pl>
8880
8881 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8882 variable.
8883 * grub-core/commands/wildcard.c (match_files): Likewise.
8884
3a4253b2
RM
88852010-11-30 Robert Millan <rmh@gnu.org>
8886
8887 * grub-core/loader/i386/bsd.c
8888 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8889 whether kernel is loaded using grub_loader_is_loaded(), rather
8890 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8891 certain error conditions.
8892
8c317b27
RM
88932010-11-30 Robert Millan <rmh@gnu.org>
8894
c5c9cd3e
RM
8895 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8896 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 8897
49d3ab46
VS
88982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 Avoid using tricks for initialising endian variables.
8901
8902 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8903 Make const.
8904 (GRUB_MOD_INIT): Don't byte-swap.
8905 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8906 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8907 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8908 (grub_swap_bytes32_compile_time): Likewise.
8909 (grub_cpu_to_le32_compile_time): Likewise.
8910 (grub_cpu_to_le16_compile_time): Likewise.
8911
f420a804
VS
89122010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * util/grub-setup.c (setup): Stop recommending --force. People who
8915 understand the dangers of blocklists are able to find this option
8916 anyway and the ones who don't shouldn't use it anyway.
8917
4e7db17b
RM
89182010-11-26 Robert Millan <rmh@gnu.org>
8919
8920 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8921 Update all users.
8922
9be57a0d
CW
89232010-11-26 Colin Watson <cjwatson@ubuntu.com>
8924
8925 Fix LVM-on-RAID probing.
8926
8927 * util/grub-probe.c (probe): Remember which disk was detected as
8928 RAID (perhaps an LVM physical volume). Use that disk's raidname
8929 rather than that of the top-level disk.
8930
2c7859b3 89312010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 8932
d7647bb6
BC
8933 Fix cmdline argument quotes for setparams command of menuentry
8934 definitions.
7e623b0d
BC
8935
8936 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8937 quotes for arguments.
f866fe80 8938 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 8939 grub_strchrsub function instead.
f866fe80 8940
7955bea0 8941 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 8942
74f72a64
CW
89432010-11-24 Colin Watson <cjwatson@ubuntu.com>
8944
8945 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8946 effort by skipping "." and ".." entries up-front.
8947 Suggested by: Michael Lazarev.
8948
5a407278
CW
89492010-11-24 Colin Watson <cjwatson@ubuntu.com>
8950
8951 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8952 ldflags to ldadd, to fix link line ordering.
8953 (none_decompress): Likewise.
8954
3030d8ec
CW
89552010-11-24 Colin Watson <cjwatson@ubuntu.com>
8956
8957 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8958 platforms.
8959 (grub-emu-lite): Remove kern/emu/cache.S.
8960
b7fbac12
CW
89612010-11-23 Colin Watson <cjwatson@ubuntu.com>
8962
8963 * util/deviceiter.c (compare_devices): If the by-id link for a
8964 device couldn't be resolved, fall back to sorting by the by-id link
8965 rather than segfaulting.
8966 Reported and tested by: Daniel Mierswa.
8967
5225f328
CW
89682010-11-23 Colin Watson <cjwatson@ubuntu.com>
8969
8970 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8971 ldflags, to fix link line ordering.
8972
038b3ce8
CW
89732010-11-23 Colin Watson <cjwatson@ubuntu.com>
8974
8975 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8976 linkers are picky about this.
8977
bf16e98e
CW
89782010-11-23 Colin Watson <cjwatson@ubuntu.com>
8979
8980 * grub-core/Makefile.am (command.lst): Adjust sed expression
8981 ordering so that extended and priority commands aren't treated as
8982 ordinary commands.
8983
7242bab6
CW
89842010-11-23 Colin Watson <cjwatson@ubuntu.com>
8985
8986 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8987 Remove byte-swapping function calls, which are not valid in
8988 structure initialisers.
8989 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8990 non-const.
8991 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
8992 grub_gpt_partition_type_bios_boot.
8993
14e8b279
CW
89942010-11-22 Colin Watson <cjwatson@ubuntu.com>
8995
8996 Fix test program build on GNU/kFreeBSD.
8997
8998 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
8999 $(LIBNVPAIR)' library dependencies.
9000
e6f63338 90012010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9002
9003 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9004
cf8ffc38
CW
90052010-11-22 Colin Watson <cjwatson@ubuntu.com>
9006
9007 * util/grub-install.in: Remove excessive quoting that broke
9008 installations to RAID devices.
9009
7f8b0fd7
VS
90102010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9013 bootloader version instead of 0.
9014
dfd240b1
VS
90152010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9018 warning.
9019
7b61e609
VS
90202010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9023 retrieve the metadat sector if size isn't known.
9024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9025
9dfe92d0
RM
90262010-11-18 Robert Millan <rmh@gnu.org>
9027
9028 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9029 with grub_memcmp().
9030
41cc919e
VS
90312010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9034 arrow.
9035 Reported by: Jordan Uggla.
9036
1afcc914
VS
90372010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 Make better UTF compliant.
9040
9041 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9042 sequences as incorrect.
9043 (grub_is_valid_utf8): Likewise.
9044 (grub_utf8_to_ucs4): Likewise.
9045 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9046 (grub_ucs4_to_utf8_alloc): Likewise.
9047 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9048
f1808884
VS
90492010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Make legacy_source behave like source.
9052
9053 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9054 grub_show_menu.
9055 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9056
24ec575b
CW
90572010-11-16 Colin Watson <cjwatson@debian.org>
9058
9059 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9060 (-Wunused implies -Wunused-parameter, but not vice versa).
9061
72b7c7aa
CW
90622010-11-16 Colin Watson <cjwatson@ubuntu.com>
9063
9064 * configure.ac: Make error messages less confusing by testing for
9065 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9066 accepted, but produces a diagnostic if something else is wrong).
9067
e98937aa
VS
90682010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9071 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9072 (now unused).
9073 (grub_keyboard_controller_init)
9074 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9075 read the initial state since controller isn't inited yet.
9076
f6bbabc3
VS
90772010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9080 allocate_regbeg may need to create new chunk header.
9081
22e7dbb2
VS
90822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 Fix quoting in legacy parser.
9085
9086 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9087 single quotes.
9088 (grub_legacy_parse): Likewise.
9089 Reported by: Jordan Uggla.
9090 Tested by: Jordan Uggla.
9091
03f80960
VS
90922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Don't add -lgcc on i386 and x86_64.
9095
9096 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9097 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9098 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9099
779dc15b
VS
91002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * configure.ac: Add -Wno-trampolines when supported.
9103
d20a3b37
MV
91042010-11-14 Modestas Vainius <modax@debian.org>
9105
9106 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9107 fakeraid.
9108
e5360933
GC
91092010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9110
9111 Add generic logical block size support for UDF.
9112
9113 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9114 (GRUB_UDF_BLKSZ): Removed.
9115 (struct grub_udf_data): New field "lbshift" to hold the logical block
9116 size of the file system in log2 format. All users updated.
9117 (sblocklist): Change type to unsigned.
9118 (grub_udf_mount): Change type of "sblklist" to unsigned.
9119 Move AVDP search before VRS recognition, because the latter requires
9120 knowledge of the logical block size, which is detected during the
9121 former.
9122 Detect and validate logical block size during AVDP search, adding
9123 support for block sizes 512, 1024 and 4096.
9124 Make VRS recognition independent of block size.
9125
cb0229c5
GC
91262010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9127
9128 Properly handle deleted files on UDF.
9129
9130 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9131 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9132 set.
9133
406858a8
GC
91342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9135
9136 Support reading files larger than 2 GiB.
9137
9138 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9139 "offset" to grub_off_t.
9140 (grub_udf_read_file): Likewise for parameter "pos".
9141
130da6a7
VS
91422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9145 unavailable.
9146 (Simple configuration): Refer to Changes from GRUB Legacy about
9147 save_env availability.
9148
65e93f6b
VS
91492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 * util/grub-install.in: Ignore empty partition table detection
9152 instead of trying to include part_ module.
9153
1fd08bf1
VS
91542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9157 LVM on RAID support.
9158
de1a024f
VS
91592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 Properly define WORDS_BIGENDIAN in wrapped environments.
9162
9163 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9164 definition.
9165 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9166
9167 Reported by: Manoel Rebelo Abranches.
9168 Tested by: Manoel Rebelo Abranches.
9169
bc5dd0b9
VS
91702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * util/grub-mkconfig.in: Fix quoting.
9173
58c184be
VS
91742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 Support big ext2 files.
9177
9178 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9179 (grub_ext2_read_block): Support triple indirect blocks.
9180 (grub_ext2_read_file): Use 64-bit types and read size_high.
9181 (grub_ext2_open): Read size_high.
9182 Reported by: Ximin Luo.
9183 Tested by: Manoel Rebelo Abranches.
9184
5f0c02b3
VS
91852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * util/grub-install.in: Handle filenames containing spaces.
9188 Reported by: Jordan Uggla.
9189 Tested by: Jordan Uggla.
9190
4417aae6
VS
91912010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * util/grub-mkconfig.in (grub_script_check): New variable.
9194 Use grub_script_check instead of grub-script-check.
9195 Reported by: Barry Jackson.
9196
7625a68e
VS
91972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * docs/grub.texi (menu): Correct the order.
9200 Reported by: D. Hugh Redelmeier.
9201
10001ac5
VS
92022010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9205 jump.
9206
9c4cf53b
MRA
92072010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9208
10001ac5
VS
9209 * include/grub/elfload.h (grub_elf32_size): New parameter.
9210 All users updated.
9c4cf53b
MRA
9211 Return maximum segments alignment.
9212 (grub_elf64_size): Likewise.
9213 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9214 Return maximum segments alignment.
9215 (grub_elf64_size): Likewise.
9216 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9217 (grub_linux_claimmap_iterate): New function. Uses the
9218 "available" property in the "memory" node for memory allocation
9219 for kernel in the PowerPC loader.
9c4cf53b
MRA
9220 (grub_linux_load32): Correctly find linux entry point offset.
9221 (grub_linux_load64): Likewise.
9222
d2bf06bf
RM
92232010-11-07 Robert Millan <rmh@gnu.org>
9224
9225 On mips-yeeloong, build with -march=loongson2f when this flag is
9226 available (GCC >= 4.4).
9227 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9228 `-march=mips3'.
9229 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9230 or otherwise add -march=mips3.
9231
898c99a2
BC
92322010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9233
87220a68
BC
9234 Suppress shell expansion on echo '*' and echo "*" like cases.
9235 Reported by: Jordan Uggla.
898c99a2
BC
9236
9237 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9238 string arguments before shell expansion.
9239 * tests/grub_cmd_echo.in: New testcases.
9240
4f9b406a
RM
92412010-11-07 Robert Millan <rmh@gnu.org>
9242
9243 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9244 transition.
9245
80c6d25e
VS
92462010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/kern/emu/hostdisk.c
9249 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9250
4a1a0153
VS
92512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9254 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9255 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9256
34706ddc
VS
92572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9260
6972dea9
VS
92612010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * util/grub-install.in: Replace useless recomendation to pass
9264 --modules with a recomendation to report a bug.
9265
9c693bd6
VS
92662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 Properly register serial terminfo.
9269 Reported by: Jordan Uggla
9270
9271 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9272 const.
9273 (grub_serial_terminfo_output_template): Likewise.
9274 (grub_cmd_serial): Register "serial" with terminfo.
9275 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9276 grub_serial_terminfo_output.
9277
6c9e4c0c
RM
92782010-11-05 Robert Millan <rmh@gnu.org>
9279
9280 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9281 needed).
9282
b9b3839f
RM
92832010-11-05 Robert Millan <rmh@gnu.org>
9284
9285 On Yeeloong, pass machine type information to Linux.
9286
9287 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9288 (LOONGSON_MACHTYPE): New macro, set to
9289 "machtype=lemote-yeeloong-2f-8.9inches".
9290 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9291 additional argument to Linux.
9292
1a3aaff4
RM
92932010-11-04 Robert Millan <rmh@gnu.org>
9294
9295 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9296 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9297 (its SATA disks are detected as slaveless IDE master drives on
9298 kFreeBSD).
9299 Reported by Carsten Aulbert.
9300
a75f4f62
CW
93012010-11-02 Colin Watson <cjwatson@ubuntu.com>
9302
9303 * util/bin2h.c (main): Fix spelling error in generated output.
9304
33b4b0c6
GS
93052010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9306
9307 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9308
2b36fbf4
VS
93092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9312 vga= option is supplied.
9313
74aaf558
VS
93142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9317 * util/grub.d/10_kfreebsd.in: Likewise.
9318 * util/grub.d/10_linux.in: Likewise.
9319 * util/grub.d/20_linux_xen.in: Likewise.
9320
6428dec3
VS
93212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9324 argument as an argument to no-argument option.
9325
f8729d98
VS
93262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * util/grub.d/10_linux.in: Add missing load_video with explicit
9329 GRUB_GFXPAYLOAD_LINUX.
9330
89d68fa6
VS
93312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9334
3a1197cd
VS
93352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9338 elements with invlid index.
9339 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9340 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9341 members.
9342 * include/grub/raid.h (grub_raid_member): New struct.
9343 (grub_raid_array): Transform devices and start_sector into usage of
9344 grub_raid_member. All users updated
9345 (allocated_devs): New member.
9346
71574288
VS
93472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9350 is modified
9351
8d40ec65
BC
93522010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9353
9354 NetBSD build fix for getline function conflict from gnulib.
9355
9356 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9357 components that depend on gnulib headers.
9358 (libgrubmods.a): Renamed from earlier libgrub.a.
9359 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9360
95b9257e
VS
93612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9364 install rather than creating a broken install.
9365
26c53dc6
VS
93662010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * util/grub-setup.c (argp): Remove misleading example of installing to
9369 a partition.
9370
4171b3c5
VS
93712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * util/grub-setup.c (setup): Clarify the error message.
9374
18568d18
VS
93752010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9378
4f6a2e21
VS
93792010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/kern/emu/misc.c
9382 (grub_make_system_path_relative_to_its_root)
9383 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9384
93852010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
9386
9387 * grub-core/kern/emu/misc.c
9388 (grub_make_system_path_relative_to_its_root): Revert r2882.
9389
e138c458
VS
93902010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9393 useless field head. All users updated.
9394 (free_subchunk): Correct handling of IN_REGION subchunk.
9395
0cbcdf0e
CW
93962010-10-22 Colin Watson <cjwatson@ubuntu.com>
9397
9398 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9399 (Supported kernels): Likewise.
9400
b65ea155
GS
94012010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9402
9403 Make mktemp invocations portable.
9404
9405 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9406 exit if mktemp fails.
9407 * tests/grub_script_blockarg.in: Likewise.
9408 * tests/partmap_test.in: Likewise.
9409 * tests/util/grub-shell-tester.in: Likewise.
9410 * tests/util/grub-shell.in: Likewise.
9411 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9412 * Makefile.am: Likewise, and chain shell commands with `&&'
9413 instead of ';'.
9414 * util/grub-mkrescue.in: Use the same explicit template as above, and
9415 exit if mktemp fails.
9416
05f43cdd
BC
94172010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9418
9419 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9420 Linux kernel, reported by Dennis Schridde.
9421
800e6a9b
SJ
94222010-10-17 Szymon Janc <szymon@janc.net.pl>
9423
9424 * grub-core/normal/auth.c (grub_auth_check_authentication):
9425 Set-but-not-used variable removed.
9426
d82df574
VS
94272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9430 32-bit linux protocol.
9431
7bced458
VS
94322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9435 cursor shape for sanity.
9436
5b027690
VS
94372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * docs/grub.texi (Installation): Document buggy BIOS install.
9440
ba5f65cf
VS
94412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * docs/grub.texi (Installation): Indent.
9444
fdf2ec9c
VS
94452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * util/grub-setup.c (setup): New parameter allow_floppy.
9448 (arguments): New member allow_floppy.
9449 (argp_parser): Handle --allow-floppy.
9450 (main): Pass allow_floppy.
9451 * util/grub-install.in: New option --allow-floppy passed though to
9452 grub-setup.
9453
861dfd4c
VS
94542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * util/grub-install.in: Handle partitionless disks.
9457
f77a8c24
VS
94582010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * util/grub-setup.c (setup): Don't clean blocklists before readability
9461 verfification.
9462
27d9ee32
VS
94632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * docs/grub.texi (Installation): Document embedding zone. Remove
9466 obsolete grub-install example.
9467
6bdda8f8
SJ
94682010-10-16 Szymon Janc <szymon@janc.net.pl>
9469
9470 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9471 Set-but-not-used variable ifdef'ed.
9472 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9473 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9474 variable removed.
9475 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9476 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9477 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9478 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9479 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9480 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9481 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9482 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9483 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9484 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9485 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9486 Likewise.
9487
e19b016b
VS
94882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9491 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9492 enum value.
9493
6c8d3002
VS
94942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9497 synonym to _S5_. Needed for some DSDTs.
9498
c32b51c9
VS
94992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Userspace ACPI parser debugging.
9502
9503 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9504 headers and add relevant defines. Don't include standard headers.
9505 (main) [GRUB_DSDT_TEST]: New function.
9506 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9507 Don't declare functions.
9508
fbfbeb39
VS
95092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 Remove dead grub_efi_mm_fini.
9512
9513 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9514 (ALLOCATED_PAGES_SIZE): Likewise.
9515 (MAX_ALLOCATED_PAGES): Likewise.
9516 (allocated_pages): Likewise.
9517 (grub_efi_allocate_pages): Don't record allocated pages.
9518 (grub_efi_free_pages): Likewise.
9519 (grub_efi_mm_init): Likewise.
9520 (grub_efi_mm_fini): Removed.
9521
65f7ed7c
VS
95222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9525 (grub_efi_mm_init): Take into account the memory map size increase.
9526
24977b44
VS
95272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9530 (serial_hw_put): Wait based on real time rather than port reads. Don't
9531 roken ports.
9532 * include/grub/serial.h (grub_serial_port): New field broken.
9533
1eb01cd2
RM
95342010-10-16 Robert Millan <rmh@gnu.org>
9535
9536 * grub-core/kern/emu/misc.c
9537 (grub_make_system_path_relative_to_its_root): Fix premature return
9538 when processing non-root ZFS filesystems.
5f8b440b 9539 Reported by Sergio Talens-Oliag.
1eb01cd2 9540
2d5fed60
RM
95412010-10-15 Robert Millan <rmh@gnu.org>
9542
9543 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9544 guarantee compressed ones are processed first.
9545
d0f4c1ea
VS
95462010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9549 grub_efiemu_autocore.
9550
d87c681f
VS
95512010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9554 rather than 0x1b.
9555 (grub_console_getkey): Use correct jae opcode rather than ja.
9556
219b3564
RM
95572010-10-12 Robert Millan <rmh@gnu.org>
9558
9559 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9560 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9561 variable. All references updated.
9562
9563 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9564
20c6bb7e
VS
95652010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 Correctly distinguish mdraid flavours.
9568
9569 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9570 (insert_array): New argument raid.
9571 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9572 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9573 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9574
74baff84
VS
95752010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9578 handling of special keys.
9579
3ef068df 95802010-10-02 Aleš Nesrsta <starous@volny.cz>
9581
c7980ad9
VS
9582 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9583 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 9584
a9455194 95852010-10-02 Aleš Nesrsta <starous@volny.cz>
9586
c7980ad9
VS
9587 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9588 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9589 users updated.
a9455194 9590 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 9591 Use right endpoint when querying descriptor.
a9455194 9592
441cfe65
VS
95932010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 Clear out 0x80 color bit on EFI.
9596 Tested by: decoder
9597 Reported by: decoder and meta tech.
9598
9599 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9600 (grub_console_setcolorstate): Clear out 0x80 bit.
9601 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9602 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9603 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9604
bf26bcc4
VS
96052010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9608 Set to "auto".
9609
6e3c515d
VS
96102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9613 mo_file after freeing.
9614
e6d983ba
VS
96152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9618
74ccb5b5
VS
96192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9622 flags.
9623
17821956
VS
96242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9627 usage.
9628
ee74fa48
VS
96292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9632
9633 * gentpl.py: New groups terminfoinkernel and terminfomodule.
9634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
9635 and terminfo.h when needed.
9636 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
9637 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9638 (terminfo): Enable only on terminfokernel.
9639 (extcmd): Likewise.
9640 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9641 * include/grub/lib/arg.h: Likewise.
9642 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9643 incorrect usage of ->.
9644
aa438e68
VS
96452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9648 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9649
57994012
VS
96502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Fix coreboot compilation.
9653
9654 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9655 Take VBE info into account even if only text is supported.
9656 (fill_vbe_info): Take into account the case when only VGA text
9657 is supported.
9658 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9659 on coreboot, multiboot and qemu.
9660
2a406611
VS
96612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9664 debug messages.
9665 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9666
d33613fc
VS
96672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9670 parameters.
9671
44a1b432
VS
96722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9675 if they were BSD-style.
9676
edde54e6
VS
96772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/boot/i386/pc/lnxboot.S: Replace
9680 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9681 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9682
b65830fa
VS
96832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 Write embedding zone using Reed-Solomon.
9686
9687 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9688 * grub-core/Makefile.am (rs_decoder.S): New target.
9689 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9690 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9691 (multiboot): Move to RS part.
9692 (post_reed_solomon): New label.
9693 (grub_boot_drive): Move to non-RS part since it's modified in memory
9694 on boot.
9695 Include rs_decoder.S.
9696 * grub-core/lib/reed_solomon.c: New file.
9697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9698 New definition.
9699 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9700 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9701 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9702 * include/grub/partition.h (grub_partition_map): Change prototype of
9703 embed to allow returning additional sectors.
9704 * include/grub/reed_solomon.h: New file.
9705 * util/grub-setup.c (setup): Handle Reed-Solomon.
9706
0b4b227f
CW
97072010-09-28 Colin Watson <cjwatson@ubuntu.com>
9708
9709 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9710 i386 and x86-64 definedness tests.
9711
f772623b
YB
97122010-09-27 Yves Blusseau <blusseau@zetam.org>
9713
9714 Fix generation of kernel_syms.lst
9715
9716 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
9717 ASM_PREFIX
9718
8e57a6ca
RM
97192010-09-26 Robert Millan <rmh@gnu.org>
9720
9721 Support degraded ZFS arrays in "grub-probe -t device" resolution.
9722
9723 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
9724 the pool is an array of devices, iterate through it and return the
9725 first device that passes a stat() test (instead of blindly returning
9726 the first one).
9727
f9130836
RM
97282010-09-26 Robert Millan <rmh@gnu.org>
9729
9730 Build fixes for GNU/kFreeBSD.
9731
9732 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
9733 to programs that require ZFS conversion.
9734 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
9735 kernels that don't have FLOPPY_MAJOR.
9736
96510faf
BC
97372010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9738
9739 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
9740
449333eb
BC
97412010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9742
9743 Fix grub-emu build.
9744
9745 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
9746 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
9747 mdraid09 and mdraid1x.
9748
e1fd1939
CW
97492010-09-24 Colin Watson <cjwatson@ubuntu.com>
9750
9751 Re-enable grub-extras.
9752
9753 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
9754 avoid confusing Automake. Run autogen only twice, once for the top
9755 level and once for grub-core. Add Makefile.util.def and
9756 Makefile.core.def from extra modules to the appropriate autogen
9757 invocations. If Makefile.common exists in an extra module, include
9758 it in both Makefile.util.am and grub-core/Makefile.core.am;
9759 similarly, include any Makefile.util.common file in Makefile.util.am
9760 and any Makefile.core.common file in grub-core/Makefile.core.am.
9761 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
9762 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
9763 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
9764 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
9765
9766 * gentpl.py (gvar_add): Turn GVARS into a set.
9767 (global_variable_initializers): Sort global variables on output.
9768 (vars_init): New function.
9769 (first_time): Likewise.
9770 (library): Ensure that non-global variable initialisations are
9771 emitted before the first time we emit code for a library block.
9772 Append to variables rather than setting them. Only emit
9773 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
9774 each conditional path.
9775 (program): installdir() emits an Autogen macro, so must be passed to
9776 var_add rather than gvar_add.
9777 (data): Likewise.
9778 (script): Likewise.
9779 (rules): New function, centralising handling for different target
9780 types. Set up Guile association lists for first_time and vars_init,
9781 and send most output to a diversion so that variable initialisations
9782 can be emitted first.
9783 (module_rules): Use new rules function.
9784 (kernel_rules): Likewise.
9785 (image_rules): Likewise.
9786 (library_rules): Likewise.
9787 (program_rules): Likewise.
9788 (script_rules): Likewise.
9789 (data_rules): Likewise.
9790
9791 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
9792
9793 * .bzrignore: Add contrib and grub-core/contrib. Remove
9794 grub-core/Makefile.gcry.am.
9795
1d12cf29
YB
97962010-09-24 Yves Blusseau <blusseau@zetam.org>
9797
9798 * grub-core/lib/LzFind.c: Add missing include.
9799 * grub-core/lib/LzmaEnc.c: Likewise.
9800 * grub-core/script/lexer.c: Likewise.
9801 * grub-core/script/yylex.l: Likewise.
9802 * util/grub-macho2img.c: Likewise.
9803 * util/grub-menulst2cfg.c: Likewise.
9804 * util/grub-mklayout.c: Likewise.
9805 * util/grub-mkpasswd-pbkdf2.c
9806 * util/grub-mkrelpath.c: Likewise.
9807 * util/resolve.c: Likewise.
9808
dd363028
BC
98092010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
9810
9811 * Makefile.util.def (example_unit_test): Add
9812 grub-core/gnulib/libgnu.a.
9813
f5a109e2
GS
98142010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
9815
9816 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9817
6d0fa83c
VS
98182010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 Support xz compression on yeeloong.
9821
9822 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
9823 * configure.ac: Check for LZMA.
9824 * grub-core/Makefile.core.def (xz_decompress): New target.
9825 (none_decompress): Likewise.
9826 * grub-core/boot/decompressor/minilib.c: New file.
9827 * grub-core/boot/decompressor/none.c: Likewise.
9828 * grub-core/boot/decompressor/xz.c: Likewise.
9829 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
9830 * grub-core/kern/mips/cache_flush.S: Likewise.
9831 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
9832 * grub-core/kern/mips/startup.S: Move first stage to ...
9833 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
9834 nomacro.
9835 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
9836 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
9837 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
9838 Allocate statically.
9839 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
9840 Allocate statically or use scratch. Don't check CRC32.
9841 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
9842 Allocate statically. Don't check CRC32.
9843 * include/grub/decompressor.h: New file.
9844 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
9845 Removed.
9846 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
9847 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
9848 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
9849 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
9850 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
9851 * util/grub-mkimage.c (grub_compression_t): New type.
9852 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
9853 (image_target_desc): New field default_compression.
9854 (image_targets): Adjust yeeloong targets.
9855 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
9856 (compress_kernel): New parameter comp.
9857 (generate_image): Likewise. Handle new compression case.
9858 (options): New option --compression
9859 (help): Likewise.
9860 (main): Handle new option.
9861
1b655af6
GS
98622010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
9863
9864 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
9865
8f03f0b5
CW
98662010-09-22 Colin Watson <cjwatson@ubuntu.com>
9867
9868 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9869 typo in __i386__ conditional.
9870
7835dfd3
VS
98712010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9874 include.
9875
e255597e
VS
98762010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9877
6d0fa83c 9878 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
9879
9880 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9881 new tags as supported.
9882 (acpiv2_size): New function.
9883 (grub_multiboot_get_mbi_size): Take new tags into account.
9884 (grub_multiboot_make_mbi): Add new tags.
9885 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 9886
6cc14051 98872010-09-21 Aleš Nesrsta <starous@volny.cz>
9888
9889 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9890 Added missing configuration of USB device.
9891
df7769d8
CW
98922010-09-21 Colin Watson <cjwatson@ubuntu.com>
9893
9894 * grub-core/normal/menu_entry.c (run): Make sure we always return
9895 a value.
9896
b031012d
CW
98972010-09-21 Colin Watson <cjwatson@ubuntu.com>
9898
9899 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9900 NumberOfPages is UINT64 according to the UEFI specification, not
9901 UINTN. Fix printf format.
9902
174de8f3
CW
99032010-09-21 Colin Watson <cjwatson@ubuntu.com>
9904
9905 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9906 `err' to grub_usb_err_t.
9907 Reported and tested by: KESHAV P.R.
9908
d7dbe923
CW
99092010-09-21 Colin Watson <cjwatson@ubuntu.com>
9910
9911 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9912 tpart non-const, so that we can assign to it. (Since this is a
9913 typedef, the constness refers to the pointer rather than what it
9914 points to.)
9915
8d5e2af3
CW
99162010-09-21 Colin Watson <cjwatson@ubuntu.com>
9917
9918 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9919 $(top_srcdir)/grub-core/gnulib as well as
9920 $(top_builddir)/grub-core/gnulib.
9921 Reported by: KESHAV P.R.
9922
5c527783
CW
99232010-09-21 Colin Watson <cjwatson@ubuntu.com>
9924
9925 * util/grub-install.in: Fix the bootloader ID option to be
9926 consistently --bootloader-id, not --bootloader_id.
9927 Reported by: KESHAV P.R.
9928
d309a16e
CW
99292010-09-21 Colin Watson <cjwatson@ubuntu.com>
9930
9931 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9932 check hash checksum." consistently translatable.
9933
b830cd16
YB
99342010-09-21 Yves Blusseau <blusseau@zetam.org>
9935
9936 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9937 $(top_builddir).
9938
c4fe27a8
CW
99392010-09-21 Colin Watson <cjwatson@ubuntu.com>
9940
9941 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9942 (GRUB_MOD_INIT): Register sha1sum command.
9943 (GRUB_MOD_FINI): Unregister sha1sum command.
9944
a4c1d277
YB
99452010-09-21 Yves Blusseau <blusseau@zetam.org>
9946
9947 Keep boot and grub directory names in sync with utils scripts
9948
9949 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9950 * config.h.in: Add previous macros.
9951 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9952 * util/grub-install.in: Use $bootdir and $grubdir variables.
9953
4eff79d2
CW
99542010-09-21 Colin Watson <cjwatson@ubuntu.com>
9955
9956 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9957 convert partition names to disk names if the new `convert' parameter
9958 is set.
9959 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9960 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9961 disk in its own right. This can happen with Xen disk images.
9962
934d7e44
YB
99632010-09-21 Yves Blusseau <blusseau@zetam.org>
9964
9965 * util/grub-editenv.c: Update strings to avoid warnings when generating
9966 grub.pot file.
9967 * util/grub-setup.c: Likewise.
934d7e44 9968
df3367cc
VS
99692010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * configure.ac: Change version to 1.99~beta0.
9972
77a94e98
VS
99732010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9976 Add BADRAM.
9977 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9978 Likewise.
9979 * include/multiboot.h: Resynced with specification.
9980 * include/multiboot2.h: Likewise.
9981
269004c1
CW
99822010-09-21 Colin Watson <cjwatson@ubuntu.com>
9983
9984 Fix po directory handling.
9985
9986 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9987 * grub-core/gnulib/Makefile.am: Import gettext module.
9988 * m4/gnulib-cache.m4: Likewise.
9989 * m4/gnulib-comp.m4: Likewise.
9990 * m4/gettext.m4: New file, from gnulib.
9991 * m4/glibc2.m4: Likewise.
9992 * m4/iconv.m4: Likewise.
9993 * m4/intdiv0.m4: Likewise.
9994 * m4/intl.m4: Likewise.
9995 * m4/intldir.m4: Likewise.
9996 * m4/intlmacosx.m4: Likewise.
9997 * m4/intmax.m4: Likewise.
9998 * m4/inttypes-pri.m4: Likewise.
9999 * m4/lcmessage.m4: Likewise.
10000 * m4/lib-ld.m4: Likewise.
10001 * m4/lib-link.m4: Likewise.
10002 * m4/lib-prefix.m4: Likewise.
10003 * m4/lock.m4: Likewise.
10004 * m4/nls.m4: Likewise.
10005 * m4/po.m4: Likewise.
10006 * m4/printf-posix.m4: Likewise.
10007 * m4/progtest.m4: Likewise.
10008 * m4/threadlib.m4: Likewise.
10009 * m4/uintmax_t.m4: Likewise.
10010 * m4/visibility.m4: Likewise.
10011 * po/Makefile.am: Remove.
10012 * po/Makefile.in.in: New file, from gettext.
10013 ($(DOMAIN).pot-update): Support POTFILES-shell.
10014 * po/Makevars: New file.
10015 * po/POTFILES-shell: Rename to ...
10016 * po/POTFILES-shell.in: ... this. Update.
10017 * po/POTFILES: Rename to ...
10018 * po/POTFILES.in: ... this. Update.
10019 * po/Rules-quot: New file, from gettext.
10020 * po/boldquot.sed: Likewise.
10021 * po/en@boldquot.header: Likewise.
10022 * po/en@quot.header: Likewise.
10023 * po/insert-header.sin: Likewise.
10024 * po/quot.sed: Likewise.
10025 * po/remove-potcdate.sin: Likewise.
10026
3e0fa5d0
VS
100272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10030
ade9bd66
VS
100312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * util/grub.d/20_linux_xen.in: Use submenus.
10034
fc55cc4c
VS
100352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Support submenus.
10038
10039 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10040 parameter submenu. All users updated.
10041 * grub-core/normal/main.c (free_menu): Rename to ...
10042 (grub_normal_free_menu): ... this. Made global.
10043 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10044 if requested.
10045 * grub-core/normal/menu_entry.c (screen): New field submenu.
10046 (make_screen): Set submenu.
10047 (run): Open new context if requested.
10048 * include/grub/menu.h (grub_menu_entry): New field submenu.
10049 * include/grub/normal.h (grub_normal_free_menu): New proto.
10050
600cedf7
VS
100512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 Menu entries extractor.
10054
10055 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10056 variants.
10057 (GRUB_MOD_INIT): Register new variants.
10058 (GRUB_MOD_FINI): Unregister new variants.
10059 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10060 into grub_cmd_legacy_source.
10061 (grub_cmd_legacy_source): Implement extractor variants.
10062 (GRUB_MOD_INIT): Register new variants.
10063 (GRUB_MOD_FINI): Unregister new variants.
10064 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10065 as an extractor.
10066 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10067 search as an extractor.
10068 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10069 test as an extractor.
10070 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10071 as an extractor.
10072 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10073 (grub_env_new_context): New function.
10074 (grub_env_context_open): Likewise.
10075 (grub_env_extractor_open): Likewise.
10076 (grub_env_extractor_close): Likewise.
10077 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10078 grub_extractor_level.
10079 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10080 * include/grub/env.h (grub_env_extractor_open): New proto.
10081 (grub_env_extractor_close): Likewise.
10082 * include/grub/normal.h (grub_extractor_level): New external variable.
10083
7bda3a87
VS
100842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Make cutmem accept a region specification.
10087 Suggested by: Samuel Thibault
10088
10089 * grub-core/mmap/mmap.c (parsemem): New function.
10090 (grub_cmd_cutmem): Handle new arguments.
10091
2ea57f88
VS
100922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 New command cutmem.
10095
10096 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10097 (GRUB_MOD_INIT): Register new command.
10098 (GRUB_MOD_FINI): Unregister new command.
10099
74342e31
VS
101002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 Support some annoying BSD and Minix subpartitions.
10103
10104 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10105 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10106 Properly handle concatenation.
10107 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10108 * grub-core/normal/completion.c (iterate_partition): Likewise.
10109 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10110 contain partition. All users updated.
10111 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10112 struct.
10113 (grub_openbsdlabel_partition_map): Likewise.
10114 (bsdlabel_partition_map_iterate): Rename to ..
10115 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10116 (bsdlabel_partition_map_iterate): New function.
10117 (netopenbsdlabel_partition_map_iterate): Likewise.
10118 (netbsdlabel_partition_map_iterate): Likewise.
10119 (openbsdlabel_partition_map_iterate): Likewise.
10120 (GRUB_MOD_INIT): Register new partmaps.
10121 (GRUB_MOD_FINI): Unregister new partmaps.
10122 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10123 (grub_partition_msdos_iterate): ... this. All users updated.
10124 Don't support embedding other than in a minix partition.
10125 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10126 proto.
10127 * include/grub/partition.h (grub_partition): New field msdostype.
10128 * util/grub-install.in: Handle openbsd and netbsd types being in
10129 part_bsd module.
10130
1e8d555b
VS
101312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10134
10135 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10136 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10137 (mdraid09): ... this.
10138 (mdraid1x): New module.
10139 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10140 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10141
899d8af4
VS
101422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10145 vsprintf.
10146
40901acd
CW
101472010-09-20 Colin Watson <cjwatson@ubuntu.com>
10148
10149 * grub-core/commands/efi/lsefimmap.c: Correct header.
10150 * NEWS: Update.
10151
dfe3b247
CW
101522010-09-20 Colin Watson <cjwatson@ubuntu.com>
10153
10154 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10155 as printf format strings; the translations might contain '%' which
10156 could cause a crash.
10157 (main): Likewise.
10158 * util/grub-fstest.c (argp_parser): Likewise.
10159 * util/grub-setup.c (argp_parser): Likewise.
10160 (main): Likewise.
10161
3286a4b4
VS
101622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 Use argp in grub-fstest.
10165
10166 * util/grub-fstest.c: Don't include getopt.h.
10167 Include argp.h.
10168 (root): New variable.
10169 (args_count): Likewise.
10170 (nparm): Likewise.
10171 (num_disks): Likewise.
10172 (images): Likewise.
10173 (cmd): Likewise.
10174 (debug_str): Likewise.
10175 (args): Likewise.
10176 (options): Transformed to argp.
10177 (usage): Removed.
10178 (main): Split argument parsing into ...
10179 (argp_parser): ... this. Changed to argp format.
10180 (argp): New variable.
10181 (main): Use argp_parse.
10182
3dccbe4b
TG
101832010-09-20 Tristan Gingold <gingold@free.fr>
101842010-09-20 Robert Millan <rmh.grub@aybabtu.com>
101852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/commands/efi/lsefimmap.c: New file.
10188 * grub-core/Makefile.core.def (lsefimmap): New module.
10189 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10190
38c259a7
VS
101912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 Pause the execution (10s max) if any errors are displayed so the user
10194 has a chance to see them.
10195
10196 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10197 (grub_print_error): Increment grub_err_printed_errors.
10198 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10199 execution if any errors were displayed.
10200 (show_menu): Remove old code for pause.
10201 * grub-core/normal/menu_entry.c (run): Likewise.
10202 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10203 users updated.
10204 (grub_normal_get_char_counter): Likewise.
10205 * include/grub/err.h (grub_err_printed_errors): New external variable.
10206 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10207
f218b09c
VS
102082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 Support multiboot VBE info.
10211
10212 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10213 Take VBE info into account.
10214 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10215 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10216 Call fill_vbe_info when appropriate.
10217 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10218 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10219 as supported.
10220 (grub_multiboot_get_mbi_size): Take new tags into account.
10221 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10222 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10223 Call fill_vbe_tag when appropriate.
10224 (grub_multiboot_make_mbi): Properly align tags.
10225 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10226 function.
10227 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10228 proto.
10229 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10230
a9cc5438
VS
102312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Suport manual terminal geometry specification.
10234
10235 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10236 Save state in grub_ofconsole_terminfo_output.
10237 (grub_ofconsole_term): Use grub_terminfo_getwh.
10238 (grub_ofconsole_getwh): Removed.
10239 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10240 (grub_serial_term): Use grub_terminfo_getwh.
10241 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10242 (options): New struct.
10243 (OPTION_*): New enum.
10244 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10245 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10246 width and height.
10247 (grub_terminfo_getwh): New proto.
10248 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10249
1a8fed20
VS
102502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 Handle legacy "terminal" command.
10253
10254 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10255 and FLAG_TERMINAL.
10256 (legacy_commands): Add terminal and title.
10257 (grub_legacy_parse): Handle terminal. Simplify title handling.
10258
41e9c57d
VS
102592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10262 parameters overflow.
10263
61c874c5
CW
102642010-09-20 Colin Watson <cjwatson@ubuntu.com>
10265
10266 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10267 widthspec.h.
10268
10269 * docs/grub.texi (Shell-like scripting): Document `!'.
10270 (Network): Simplify using new i386-pc-pxe format. Mention
10271 grub-mknetdir.
10272
10273 * NEWS: Update.
10274
943682b4
CW
102752010-09-20 Colin Watson <cjwatson@ubuntu.com>
10276
10277 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10278 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10279 when needed.
10280
6d3d698d
CW
102812010-09-20 Colin Watson <cjwatson@ubuntu.com>
10282
10283 * grub-core/commands/efi/lsefisystab.c: Correct header.
10284 * grub-core/commands/efi/lssal.c: Likewise.
10285 * grub-core/commands/testload.c: Likewise.
10286
c982589f
CW
102872010-09-20 Colin Watson <cjwatson@ubuntu.com>
10288
10289 * util/grub-mkrescue.in: Add explicit root argument to --set to
10290 prevent the UUID being interpreted as an argument to --set (matches
10291 previous change to prepare_grub_to_access_device).
10292
a63c31b6
CW
102932010-09-20 Colin Watson <cjwatson@ubuntu.com>
10294
10295 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10296 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10297 the verbosity of later #ifs.
10298 (find_partition_start): Define this function on FreeBSD too.
10299 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10300 function.
10301 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10302 on FreeBSD.
10303
6439b8ee
YB
103042010-09-20 Yves Blusseau <blusseau@zetam.org>
10305
10306 * util/grub-editenv.c: Use argp instead of getopt.
10307
c5930ec8
YB
103082010-09-20 Yves Blusseau <blusseau@zetam.org>
10309
10310 * util/grub-setup.c: Use argp instead of getopt.
10311
15c69261
YB
103122010-09-20 Yves Blusseau <blusseau@zetam.org>
10313
10314 Use gnulib-tool to create gnulib source files.
10315
10316 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10317 grub-core/gnulib directories
10318 * .bzignore: Add **/.deps and autogenerated gnulib files
10319 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10320 of gnulib macros, add grub-core/gnulib/Makefile
10321 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10322 include m4 directory to aclocal.
10323 * Makefile.util.def: Remove direct compilation of gnulib source files
10324 and use the new grub-core/gnulib/libgnu.a.
10325 * build-aux/config.rpath: move config.rpath from top directory to
10326 build-aux
10327 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10328 in gnulib headers
10329 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10330 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10331 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10332 header.
10333 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10334 string.
10335
e511c9f5
YB
103362010-09-20 Yves Blusseau <blusseau@zetam.org>
10337
10338 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10339 grub-core/genmod.sh and grub-core/gensyminfo.sh
10340
c2dede05
BC
103412010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10342
10343 Add a test for echo command options.
10344
10345 * tests/grub_cmd_echo.in: New test.
10346 * Makefile.util.def: Rules for new test.
10347
c55f5018
SJ
103482010-09-20 Szymon Janc <szymon@janc.net.pl>
10349
10350 Remove crc.mod and move crc command to hashsum.mod.
10351 Remove lib/crc.c - users updated to use gcrypt implementation.
10352
10353 * grub-core/commands/crc.c: Removed.
10354 * grub-core/Makefile.core.def (crc): Module removed.
10355 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10356 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10357 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10358 * grub-core/lib/crc.c: Removed.
10359 * include/grub/lib/crc.h: Removed.
10360 * Makefile.util.def (crc): Remove lib/crc.c
10361 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10362 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10363 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10364 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10365 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10366 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10367
e0337366
VS
103682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10371
742f9232
VS
103722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 Split config.h for util and core.
10375
10376 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10377 (ADDR32): Likewise.
10378 (DATA32): Likewise.
10379 (BSS_START_SYMBOL): Likewise.
10380 (END_SYMBOL): Likewise.
10381 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10382 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10383 * config.h.in: New file.
10384 * configure.ac: Use config-util.h as config define file.
10385 Rename MACHINE into GRUB_MACHINE. All users updated.
10386 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10387 updated.
10388 (NESTED_FUNC_ATTR): Likewise.
10389 Substitue new variables.
10390 (COND_HAVE_ASM_USCORE): New conditional.
10391 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10392 (kernel_syms.lst): Use ASM_PREFIX.
10393 * grub-core/kern/emu/console.c: Include config-util.h.
10394 * grub-core/kern/emu/misc.c: Likewise.
10395 * grub-core/kern/emu/mm.c: Likewise.
10396 * include/grub/emu/misc.h: Likewise.
10397 * include/grub/libgcc.h: Likewise.
10398
39feb0e8
VS
103992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10402 constants usage.
10403 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10404 Fix GRUB_TERM_KEY_* constants usage.
10405 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10406
9af6dac3
VS
104072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10410 print pointer.
10411 * grub-core/bus/usb/uhci.c: Remove empty define.
10412 (grub_uhci_check_transfer): Add missing cast.
10413 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10414 print pointer.
10415 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10416 PRIuGRUB_SIZE.
10417 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10418
d6d94820
VS
104192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * grub-core/Makefile.core.def (legacycfg): Add
10422 lib/i386/pc/vesa_modes_table.c on emu.
10423
3572f2b6
BC
104242010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10425
10426 Reduce number of temporary files generated by build system.
10427
10428 * grub-core/gencmdlist.sh: Removed.
10429 * grub-core/genfslist.sh: Removed.
10430 * grub-core/genhandlerlist.sh: Removed.
10431 * grub-core/genmodsrc.sh: Removed.
10432 * grub-core/genpartmaplist.sh: Removed.
10433 * grub-core/genparttoollist.sh: Removed.
10434 * grub-core/gentermiinallist.sh: Removed.
10435 * grub-core/genvideolist.sh: Removed.
10436
10437 * grub-core/genmod.sh.in: New file.
10438 * grub-core/gensyminfo.sh.in: New file.
10439
10440 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10441 * conf/Makefile.extra-dist: Update with new files.
10442 * gentpl.py: Remove rules related to unnecessary temporary files.
10443 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10444 and und-* files.
10445 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10446 genmod.sh scripts.
10447 * grub-core/bus/usb/uhci.c: Remove empty #define.
10448 * grub-core/genmoddep.awk: Updated with new syminfo format.
10449 * util/bash-completion.d/Makefile.am: Add config.log to
10450 CLEANFILES.
10451
c836b030
YB
104522010-09-19 Yves Blusseau <blusseau@zetam.org>
10453
10454 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10455
2f4e8053
BC
104562010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10457
10458 * util/grub-mkconfig.in: Check the config script for syntax errors
10459 before saving.
10460
75831c34
CW
104612010-09-19 Colin Watson <cjwatson@ubuntu.com>
104622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10465 platforms.
10466 * util/grub-install.in: Add EFI and IEEE1275 support.
10467 * util/i386/efi/grub-install.in: Removed.
10468 * util/ieee1275/grub-install.in: Likewise.
10469
eaf41b25
VS
104702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10473 (grub_cmd_cmosclean): Likewise.
10474 (GRUB_MOD_INIT): Register command cmosclean.
10475 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10476 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10477
1a9130dd
CPE
104782010-09-18 Carles Pina i Estany <carles@pina.cat>
104792010-09-18 Aleš Nesrsta <starous@volny.cz>
104802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 Add keyboard layouts support.
10483
10484 * Makefile.util.def (grub-mklayout): New file.
10485 (grub-kbdcomp): New script.
10486 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10487 Add keyboard_layouts.h.
10488 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10489 commands/boot.c on yeeloong.
10490 (keylayouts): New module.
10491 * grub-core/bus/usb/ohci.c
10492 * grub-core/bus/usb/uhci.c
10493 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10494 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10495 (attach_root_port): Likewise.
10496 (poll_nonroot_hub): Likewise.
10497 (grub_usb_poll_devices): Likewise.
10498 (detach_device): Close transfer.
10499 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10500 function.
10501 (grub_usb_bulk_setup_readwrite): Likewise.
10502 (grub_usb_bulk_finish_readwrite): Likewise.
10503 * grub-core/commands/keylayouts.c: New file.
10504 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10505 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10506 aliases.
10507 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10508 support scancode 2.
10509 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10510 * include/grub/keyboard_layouts.h: New file.
10511 * util/grub-mklayout.c: New file.
10512 * util/grub-kbdcomp.in: Likewise.
10513
a1d84a5e
VS
105142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 Unify memory types.
10517
10518 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10519 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10520 types.
10521 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10522 (grub_upper_mem): Likewise.
10523 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10524 * include/grub/memory.h (grub_memory_type_t): New enum.
10525 All users updated.
10526
9696382e
VS
105272010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/Makefile.core.def (lsapm): New module.
10530 * grub-core/commands/i386/pc/lsapm.c: New file.
10531 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10532 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10533 Likewise.
10534 * include/grub/i386/pc/apm.h: New file.
10535 * include/multiboot.h (multiboot_apm_info): New struct.
10536
105372010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 GRUB-legacy configuration file support.
10540
10541 * Makefile.util.def (grub-menulst2cfg): New util.
10542 * docs/man/grub-menulst2cfg.h2m: New file.
10543 * grub-core/Makefile.core.def (legacycfg): New module.
10544 * grub-core/commands/legacycfg.c: New file.
10545 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10546 (grub_normal_add_menu_entry): ... this.
10547 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10548 (grub_normal_set_password): ...this.
10549 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10550 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10551 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10552 * grub-core/lib/legacy_parse.c: New file.
10553 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10554 * include/grub/i386/pc/vesa_modes_table.h: New file.
10555 * include/grub/legacy_parse.h: Likewise.
10556 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10557 * util/grub-menulst2cfg.c: New file.
10558
bf8d1338
CW
105592010-09-17 Colin Watson <cjwatson@ubuntu.com>
10560
10561 * grub-core/kern/emu/hostdisk.c
10562 (convert_system_partition_to_system_disk): Initialise node.
10563
9c0bad2e
CW
105642010-09-17 Colin Watson <cjwatson@ubuntu.com>
10565
10566 * grub-core/kern/emu/hostdisk.c
10567 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10568 leak.
10569 Reported and based on patch by: Modestas Vainius.
10570
a939d135
CW
105712010-09-17 Colin Watson <cjwatson@ubuntu.com>
10572
10573 Fix DM-RAID probing with recent versions of device-mapper udev
10574 rules.
10575
10576 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10577 canonicalise device paths under /dev/mapper/.
10578 (convert_system_partition_to_system_disk): Compare the
10579 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10580 path, since device nodes under /dev/mapper/ are often symlinks.
10581
0f7ee3c9
YB
105822010-09-17 Yves Blusseau <blusseau@zetam.org>
10583
10584 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10585
10854d0d
YB
105862010-09-16 Yves Blusseau <blusseau@zetam.org>
10587
10588 * configure.ac: Avoid some annoying error messages if freetype-config
10589 program is not found.
10590
108538d8
CW
105912010-09-16 Colin Watson <cjwatson@ubuntu.com>
10592
10593 Support RAID on virtio devices, and others.
10594
10595 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10596 Rename to ...
10597 [__MINGW32__] (grub_find_device): ... this.
10598 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10599 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10600 reasonable default if dir is NULL.
10601 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10602 ...
10603 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10604 (grub_guess_root_device): Update callers.
10605 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10606
10607 * util/raid.c (grub_util_getdiskname): Remove.
10608 (grub_util_raid_getmembers): Use grub_find_device rather than
10609 grub_util_getdiskname.
10610
e5bfc130
CW
106112010-09-16 Colin Watson <cjwatson@ubuntu.com>
10612
10613 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10614 needing to be compiled with serial support.
10615 (ls): Indicate that multiple files are accepted.
10616 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10617 indicate that multiple files are accepted.
10618
be458ae2
CW
106192010-09-16 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10622 libgrub_a_init.c, and util/bash-completion.d/grub.
10623
cb731b5e
VS
106242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * util/grub-setup.c (setup): Fix incorrect container semantics.
10627
35139e8a
VS
106282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10631 misusage.
10632 Reported by: J. Nick Terry
10633
e50fca4a
VS
106342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 Move embedding routines to partmap sources files.
10637
10638 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10639 [GRUB_UTIL]: New variable.
10640 (gpt_partition_map_iterate): Set part.parent.
10641 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10642 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10643 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10644 New function.
10645 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10646 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10647 (grub_partition_map) [GRUB_UTIL]: New field embed.
10648 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10649 (setup): Use ->embed.
10650
f00478b7
VS
106512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10654 function.
10655 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10656 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10657
2b94e3ff
YB
106582010-09-15 Yves Blusseau <blusseau@zetam.org>
10659
10660 Add function to get completions from usage.
10661
10662 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10663 completions from usage. Use LC_ALL=C to get options properly.
10664
2e04a006
VS
106652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/gnulib/basename-lgpl.c: Imported.
10668 * grub-core/gnulib/basename.c: Likewise.
10669 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10670 * grub-core/gnulib/dirname.c: Likewise.
10671 * grub-core/gnulib/dirname.h: Likewise.
10672 * grub-core/gnulib/stripslash.c: Likewise.
10673
5dcdf93a
VS
106742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/gnulib/error.c: Resynced.
10677 * grub-core/gnulib/getopt.c: Likewise.
10678 * grub-core/gnulib/getopt_int.h: Likewise.
10679 * grub-core/gnulib/regex.h: Likewise.
10680 * grub-core/gnulib/regex_internal.c: Likewise.
10681 * grub-core/gnulib/regex_internal.h: Likewise.
10682
014f47b7
SJ
106832010-09-15 Szymon Janc <szymon@janc.net.pl>
10684
10685 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10686 CRC calculations and validity checks.
10687 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10688 calculations.
10689
dd521a4a
SJ
106902010-09-15 Szymon Janc <szymon@janc.net.pl>
10691
10692 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10693
79c4eeb9
VS
106942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Fix incorrect echo options handling.
10697 Reported by: Yves Blusseau.
10698
10699 * include/grub/command.h (grub_command_flags_t): New flags
10700 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10701 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10702 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10703
ed80f7d5
VS
107042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
10707 users updated.
10708 (GRUB_COMMAND_FLAG_MENU): Likewise.
10709 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10710 (GRUB_COMMAND_FLAG_TITLE): Removed.
10711 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10712 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
10713 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
10714 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
10715 (grub_command_flags_t): New enum. All users updated.
10716
5fe7620a
SG
107172010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
10718
10719 Fix solaris compilation.
10720
10721 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
10722 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
10723 (grub-emu-list): Likewise.
10724
545b752f
VS
107252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Remove deprecated root command.
10728
10729 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
10730 updated.
10731
6c1a338c
VS
107322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * util/i386/pc/grub-setup.c: Merge this ...
10735 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
10736 * util/grub-setup.c: ... into this.
10737 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
10738 New struct.
10739
107402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
10743 possible.
10744
d2ea4551
VS
107452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
10748 allocate p.
10749
3c3b5040
VS
107502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10753 explicit root argument to set to prevent UUID to be interpreted as
10754 argument to set.
10755
b71c3fae
VS
107562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
10759
275433e6
VS
107602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 Don't export grub_gate_a20.
10763
10764 * grub-core/kern/i386/pc/init.c: Remove leftovers.
10765 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
10766 to ...
10767 (grub_gate_a20): ... this. All users updated.
10768 * include/grub/i386/pc/init.h: Removed. All users updated.
10769
a5dbb1f1
VS
107702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 Create euro.pf2 which supports most European languages.
10773
10774 * Makefile.am (grubdata_DATA): Add euro.pf2.
10775 (euro.pf2): New target.
10776 (CLEANFILES): Add euro.pf2.
10777
62a747cb
VS
107782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * configure.ac: Disable emu-usb by default to prevent inadvertent
10781 device takeover.
10782
608e43b1
VS
107832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Disable usbserial on grub-emu since our libusb code isn't good enough
10786 yet.
10787
10788 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
10789 (usbserial_pl2303): Likewise.
10790 (usbserial_ftdi): Likewise.
10791
94564f81
VS
107922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * include/grub/disk.h (grub_disk): Remove has_partitions.
10795 All users updated.
10796 * disk/loopback.c (grub_loopback): Remove has_partitions.
10797 All users updated.
10798 (options): Remove partitions. All users updated.
10799 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
10800 * util/i386/pc/grub-setup.c (setup): copy partition table only when
10801 actual partition table is found.
10802
3352800b
VS
108032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Remove readability checks (too many false negatives).
10806
10807 * util/grub-install.in: Remove readability checks.
10808 * util/grub-mkconfig.in: Likewise.
10809 * util/grub.d/10_hurd.in: Likewise.
10810 * util/grub.d/10_kfreebsd.in: Likewise.
10811 * util/grub.d/10_linux.in: Likewise.
10812 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
10813 way.
10814
2419f17a
VS
108152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 Enable acpi shutdown on all ACPI platforms.
10818
10819 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
10820 on coreboo, multiboot and EFI.
10821 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
10822 (grub_acpi_halt): Likewise.
10823 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
10824 (grub_cmd_halt): Don't call grub_acpi_halt directly.
10825 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
10826 * grub-core/lib/i386/halt.c (grub_halt)
10827 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
10828
0575c7c3
VS
108292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
10832 context.
10833
54ac3cd1
VS
108342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/video/efi_gop.c: Fix over-80-chars line.
10837 * grub-core/video/efi_uga.c: Likewise.
10838
b2a30ac5
VS
108392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Filter devaliases and never open same device twice.
10842
10843 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
10844 (last_ihandle): Likewise.
10845 (ofdisk_hash_ent): New member shortest.
10846 (ofdisk_hash_add): Add canonical path too.
10847 (scan): New function.
10848 (grub_ofdisk_iterate): Iterate over hashed entries.
10849 (compute_dev_path): Don't add :0.
10850 (grub_ofdisk_open): Don't really open the disk.
10851 (grub_ofdisk_close): Avoid closing unrelated disk.
10852 (grub_ofdisk_read): Implement reopen logic.
10853 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
10854 New function.
10855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
10856 New proto.
10857
fb53b340
VS
108582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Fix sparc64.
10861
10862 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
10863 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
10864 right address. Add sparc64_ieee1275_ldflags.
10865 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
10866 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
10867 to grub_host_to_target_addr
10868 (load_image): Likewise.
10869
f452b040
VS
108702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/normal/completion.c (complete_file): Handle device
10873 containing slash.
10874 Fix based on patch by Doug Nazar.
10875
9b5b2541
VS
108762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 grub-mknetdir script.
10879
10880 * Makefile.util.def (grub-mknetdir): New module.
10881 * tests/util/grub-shell.in: Support boot=net
10882 * util/grub-mknetdir.in: New file.
10883
9d2be652
VS
108842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 videoinfo on non-vbe.
10887
10888 * grub-core/Makefile.core.def (vbeinfo): Removed.
10889 (vbetest): Removed.
10890 (videoinfo): New module.
10891 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10892 * grub-core/commands/i386/pc/vbetest.c: Removed.
10893 * grub-core/commands/videoinfo.c: New file.
10894 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10895 specification.
10896 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10897 as vbetest.
10898 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10899 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10900 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10901 mode_number. New parameter mode. All users updated.
10902 (grub_video_gop_iterate): New function.
10903 (grub_video_efi_gop): New member iterate.
10904 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10905 (grub_vbe_set_video_mode): Remove setting useless fields.
10906 (vbe2videoinfo): New function.
10907 (grub_video_vbe_iterate): Likewise.
10908 (grub_video_vbe_setup): Use vbe2videoinfo.
10909 (grub_video_vbe_print_adapter_specific_info): New function.
10910 (grub_video_vbe_adapter): New fields iterate and
10911 print_adapter_specific_info.
10912 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10913 All users updated.
10914 (grub_video_mode_info): New field mode_number.
10915 (grub_video_adapter): New fields iterate and
10916 print_adapter_specific_info.
10917
179503f5
TG
109182010-09-13 Tristan Gingold <gingold@free.fr>
109192010-09-13 Robert Millan <rmh.grub@aybabtu.com>
109202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/commands/efi/lsefisystab.c: New file.
10923 * grub-core/commands/efi/lssal.c: Likewise.
10924 * grub-core/Makefile.core.def (lsacpi): New module.
10925 (lsefisystab): Likewise.
10926 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10927 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10928 (grub_efi_sal_system_table): New struct.
10929 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10930 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10931 (grub_efi_sal_system_table_platform_features): Likewise.
10932 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10933 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10934 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10935 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10936
cf9827de
VS
109372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 Support explicit user claim that a device is BIOS-visible.
10940
10941 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10942 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10943 * grub-core/kern/emu/hostdisk.c
10944 (convert_system_partition_to_system_disk): Support mdX.
10945 (find_system_device): New parameter add. All users updated.
10946 (grub_util_biosdisk_is_present): New function.
10947 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10948 proto.
10949
53f0eb1f
VS
109502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Search hints support.
10953
10954 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10955 All users updated.
10956
b23ffd70
YB
109572010-09-13 Yves Blusseau <blusseau@zetam.org>
10958
10959 Bash completion script for util commands
10960
10961 * Makefile.am: Add util/bash-completion.d directory
10962 * configure.ac: Likewise.
10963 * util/bash-completion.d/Makefile.am: New file.
10964 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10965
d547dc28
VS
109662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10969 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10970 Reported by: Yves Blusseau.
10971
2fc8ccb9
VS
109722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10975 partition size and offset.
10976
d8a84076
VS
109772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10980
84fb3b3d
VS
109812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10984
768ec2e2
VS
109852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10988 (grub_xvasprintf): Likewise.
10989
4870900f
VS
109902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
10993
faca6bec
VS
109942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
10997 args ending with NULL.
10998
109992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11000
11001 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11002 pointer.
11003
3c70f225
SJ
110042010-09-11 Szymon Janc <szymon@janc.net.pl>
11005
11006 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11007
4df7996d
VS
110082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Shutdown using ACPI.
11011
11012 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11013 * grub-core/commands/acpihalt.c: New file.
11014 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11015 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11016 (grub_acpi_halt): New proto.
11017 (GRUB_ACPI_SLP_EN): New const.
11018 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11019 (GRUB_ACPI_OPCODE_*): New enum.
11020 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11021
126b4c32
TG
110222010-09-11 Tristan Gingold <gingold@free.fr>
110232010-09-11 Robert Millan <rmh.grub@aybabtu.com>
110242010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * commands/lsacpi.c: New file.
11027 * grub-core/Makefile.core.def (lsacpi): New module.
11028 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11029 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11030 (grub_acpi_madt_entry_header): New struct.
11031 (grub_acpi_madt): Likewise.
11032 (grub_acpi_madt_entry_interrupt_override): Likewise.
11033 (grub_acpi_madt_entry_sapic): Likewise.
11034 (grub_acpi_madt_entry_lsapic): Likewise.
11035 (grub_acpi_madt_entry_platform_int_source): Likewise.
11036 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11037 (PRIuGRUB_UINT32_T): Likewise.
11038 (PRIxGRUB_UINT64_T): Likewise.
11039
1aa4fe88
VS
110402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Implement loading palette on ieee1275_fb.
11043
11044 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11045 (have_setcolors): Likewise.
11046 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11047 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11048 (grub_video_ieee1275_set_palette): Implement.
11049
25761e13
VS
110502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
110512010-09-11 Colin Watson <cjwatson@ubuntu.com>
11052
11053 * util/grub-install.in (grub_partition): New variable.
11054 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11055 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11056 Fixes a bug reported by Yves Blusseau.
11057
050abaea
VS
110582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 Fix emu on mipsel.
11061
11062 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11063 =grub_cpu_flush_cache on all mips and not only yeeloong.
11064 * configure.ac (COND_mips): New conditional.
11065 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11066 platforms.
11067 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11068 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11069 [GRUB_LINKER_HAVE_INIT]: New function.
11070 (grub_emu_post_init): Likewise.
11071 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11072 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11073 * include/grub/cache.h (_mips): Include mips/cache.h.
11074 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11075 LVM and RAID prototypes.
11076 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11077 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11078 function.
11079
5ed7d816
CW
110802010-09-10 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * util/grub-install.in: Don't try to verify core.img until after
11083 running grub-mkimage to create it.
11084
90367e04
RM
110852010-09-10 Robert Millan <rmh@gnu.org>
11086
11087 * util/grub.d/10_hurd.in: Add misc readability checks.
11088 * util/grub.d/10_kfreebsd.in: Likewise.
11089 * util/grub.d/10_linux.in: Likewise.
11090
c452fa66
CW
110912010-09-10 Colin Watson <cjwatson@ubuntu.com>
11092
11093 * util/grub-install.in: ${imgext} won't be defined here until the
11094 install branch is merged. For the meantime, only verify core.img on
11095 i386-pc and sparc64-ieee1275 platforms.
11096
c38fe9f4
RM
110972010-09-10 Robert Millan <rmh@gnu.org>
11098
11099 Solaris support in grub_find_zpool_from_dir(). Thanks
11100 Seth Goldberg for referring to getextmntent() facility.
11101
11102 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11103 `sys/mkdev.h'.
11104 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11105 `<sys/mnttab.h>'.
11106 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11107 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11108 method for finding zpool name.
11109
905f7773
CW
111102010-09-10 Colin Watson <cjwatson@ubuntu.com>
11111
11112 grub-fstest needs the host and hostfs modules while other utilities
11113 actively require those modules to be absent, so grub-fstest needs
11114 its own initialisation and finalisation code.
11115
11116 * Makefile.am (grub_fstest.pp): New target.
11117 (grub_fstest_init.lst): Likewise.
11118 (grub_fstest_init.c): Likewise.
11119 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11120
fb90b546
RM
111212010-09-10 Robert Millan <rmh@gnu.org>
11122
11123 * configure.ac: Check for `struct statfs.f_fstypename' and
11124 `struct statfs.f_mntfromname'.
11125
11126 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11127 kFreeBSD-specific code.
11128
66d4bea5
RM
111292010-09-10 Robert Millan <rmh@gnu.org>
11130
11131 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11132 on ZFS. Now non-main filesystems are supported as / too.
11133
b6a690ee
CW
111342010-09-09 Colin Watson <cjwatson@ubuntu.com>
11135
11136 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11137 and grub-core/disk/host.c to ...
11138 (grub-fstest): ... here. Having the host disk implementation
11139 present confuses grub-probe and other utility programs.
11140
11141 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11142 when writing to a file, not when writing to stdout.
11143
8901b00c 111442010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11145
11146 * tests/partmap_test.in: New test for partitions.
11147 * Makefile.util.def: Rules for new test.
11148
7bf45fdd
RM
111492010-09-09 Robert Millan <rmh@gnu.org>
11150
11151 * util/grub-probe.c (probe): Fix a pair of unhandled error
11152 conditions.
11153
4dfbc574
RM
111542010-09-09 Robert Millan <rmh@gnu.org>
11155
11156 Basic Btrfs support (detection and UUID).
11157
11158 * grub-core/fs/btrfs.c: New file.
11159 * Makefile.util.def (library): Register btrfs.c.
11160 * grub-core/Makefile.core.def: Likewise.
11161
6b8e78ae
RM
111622010-09-08 Robert Millan <rmh@gnu.org>
11163
11164 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11165 with (optional) parameters to specify device and relative path.
11166 * util/grub-install.in: Use is_path_readable_by_grub() to
11167 verify readability of a few critical files.
11168 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11169 verify readability of grub.cfg.new.
11170
27f21a8b
VS
111712010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 Split minix.mod into minix.mod and minix2.mod.
11174
11175 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11176 * grub-core/Makefile.core.def (minix2): New module.
11177 * grub-core/fs/minix.c: Use definitions instead of runtime version
11178 checking.
11179 * grub-core/fs/minix2.c: New file.
11180
c0e53ea5
YB
111812010-09-08 Yves Blusseau <blusseau@zetam.org>
11182
11183 Add new --boot-directory option to replace --root-directory
11184
11185 * util/grub-install.in: Add new --boot-directory option
11186 * util/grub-reboot.in: Likewise.
11187 * util/grub-set-default.in: Likewise.
11188
b9fe6ea2
YB
111892010-09-08 Yves Blusseau <blusseau@zetam.org>
11190
11191 * util/grub-mkconfig.in: Use new variable.
11192
d87aedff
YB
111932010-09-08 Yves Blusseau <blusseau@zetam.org>
11194
11195 * configure.ac: Define some useful variables.
11196
e55e8495
VS
111972010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11200 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11201 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11202 Use terminfo and don't use cursor-on/cursor-off unless it's known
11203 to work.
11204 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11205 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11206
6fa6d675
CW
112072010-09-08 Colin Watson <cjwatson@ubuntu.com>
11208
11209 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11210 starts with "(,", fill the drive containing the loaded image in
11211 between those two characters, but expect that a full partition
11212 specification including partition map names will follow.
11213
92f2aef0
RM
112142010-09-08 Robert Millan <rmh@gnu.org>
11215
11216 * configure.ac: Remove `--enable-grub-fstest' option.
11217 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11218
11219 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11220 `grub-fstest' instead of `grub-probe' for readability verification.
11221 * util/grub-probe.c (probe): Remove readability verification kludge.
11222
99fd620d
RM
112232010-09-08 Robert Millan <rmh@gnu.org>
11224
11225 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11226 initializing `GRUB_FS'.
11227
058e30ac 112282010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11229
11230 Not command (!) support to GRUB script.
11231
11232 * tests/grub_script_not.in: New test.
11233 * Makefile.util.def: Rules for new test.
11234
11235 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11236 ! command as a special case.
11237 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11238
b61d05ed 112392010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11240
058e30ac 11241 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11242 grub_free.
b61d05ed 11243
4d69c786 112442010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11245
11246 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11247
aa3119c4 112482010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11249
11250 * docs/grub.texi (Shell-like scripting): Documentation for break,
11251 continue, shift and return commands.
11252
db0f7e3d
VS
112532010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 Rename CD-ROM to cd on BIOS.
11256
11257 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11258 "cd".
11259 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11260
88b87c93
VS
112612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11264 * util/grub-probe.c (main): Likewise.
11265 * util/i386/pc/grub-setup.c (main): Likewise.
11266 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11267 Reported and debugged by: alexxy
11268
294f324d
VS
112692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11272 diagnostic info.
11273
d7ee3441
JS
112742010-09-05 Jo Shields <directhex@apebox.org>
11275
11276 * util/grub.d/30_os-prober.in: Add missing classes.
11277
d7e06c1f
VS
112782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * docs/grub.texi (Theme file format): Document new position format.
11281
fc157e53
VS
112822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11285 a table. Use @code instead of @verbatim.
11286
506e9a1c
CB
112872010-09-05 Colin D Bennett <colin@gibibit.com>
11288
11289 Gfxmenu documentation.
11290
11291 * docs/grub.texi (Theme file format): New chapter.
11292
f0aff67c
SJ
112932010-09-05 Szymon Janc <szymon@janc.net.pl>
11294
11295 * grub-core/Makefile.core.def (xzio): New module.
11296 * grub-core/io/xzio.c: New file.
11297 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11298 * grub-core/lib/xzembed/xz_config.h: Likewise.
11299 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11300 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11301 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11302 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11303 * grub-core/lib/xzembed/xz_private.h: Likewise.
11304 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11305 * include/grub/file.h (grub_file_filter_id): New compression filter
11306 GRUB_FILE_FILTER_XZIO.
11307
82a85062
VS
113082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11311 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11312 size.
11313
3579415d
VS
113142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11317 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11318
5124ae6d
VS
113192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 Uncompressed checksum support.
11322
11323 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11324 (check_list): New parameter uncompress.
11325 (grub_cmd_hashsum): Handle --uncompress.
11326
9aadb3d1
VS
113272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Reintroduce testload.
11330
11331 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11332 from here ...
11333 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11334 (GRUB_MOD_INIT): New function.
11335 (GRUB_MOD_FINI): Likewise.
11336 * grub-core/Makefile.core.def (testload): New module.
11337
a17792c3
SJ
113382010-09-05 Szymon Janc <szymon@janc.net.pl>
11339
11340 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11341 (uint8_t): New type.
11342 (uint16_t): Likewise.
11343 (uint32_t): Likewise.
11344 (uint64_t): Likewise.
11345
b81e40a3
SJ
113462010-09-05 Szymon Janc <szymon@janc.net.pl>
11347
11348 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11349
fc2ef117
VS
113502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11353 Made static.
11354 (grub_gzfile_open): Removed. All users updated.
11355 (GRUB_MOD_INIT): New function.
11356 (GRUB_MOD_FINI): Likewise.
11357 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11358 (grub_file_filters_enabled): Likewise.
11359 (grub_file_open): Handle filters.
11360 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11361 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11362 * include/grub/file.h (grub_file_filter_id_t): New type.
11363 (grub_file_filter_t): Likewise.
11364 (grub_file_filters_all): New extern variable.
11365 (grub_file_filters_enabled): Likewise.
11366 (grub_file_filter_register): New inline function.
11367 (grub_file_filter_unregister): Likewise.
11368 (grub_file_filter_disable): Likewise.
11369 (grub_file_filter_disable_compression): Likewise.
11370 * include/grub/gzio.h: Removed.
11371
35ee15e0
BC
113722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11373
11374 Filename expansion support for wildcards in GRUB script.
11375
11376 * tests/grub_script_expansion.in: New test.
11377 * Makefile.util.def: Rule for new test.
11378
11379 * grub-core/commands/wildcard.c: New file, implements filename
11380 expansion support for GRUB script.
11381 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11382 * grub-core/script/argv.c: Cosmetic changes.
11383 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11384 Refactored to perform wildcard expansion on arguments.
11385 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11386 struct.
11387
11388 * tests/util/grub-shell.in: Fix quoting for read input.
11389
5f0c4aca
BC
113902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11391
11392 Support for updating environment variables with matched substrings
11393 of regexp.
11394
11395 * tests/grub_cmd_regexp.in: New test.
11396 * Makefile.util.def: Rule for new test.
11397
11398 * grub-core/commands/regexp.c: New option -s to update environment
11399 variables with regexp matches.
11400
3759a35f
SJ
114012010-09-04 Szymon Janc <szymon@janc.net.pl>
11402
11403 * include/grub/file.h (grub_file): New member not_easly_seekable.
11404 (grub_file_seekable): New inline function.
11405 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11406 easily seekable.
11407 (grub_gzio_open): Set not_easly_seekable.
11408 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11409 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11410
ed8c6dec
BC
114112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11412
11413 Support for options to appear multiple times on cmdline.
11414
11415 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11416 * grub-core/commands/extcmd.c: Support for repeatable option.
11417 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11418 repeatable option support.
11419
11420 Refactor menuentry into a regular command.
11421
11422 * grub-core/commands/menuentry.c: New file, menuentry command
11423 implementation.
11424 * grub-core/Makefile.core.def: Rule update for normal.mod.
11425 * grub-core/normal/main.c: Moved menuentry creation to
11426 grub-core/commands/menuentry.c.
11427 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11428 (grub_menu_execute_entry_real): Removed.
11429 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11430 function.
11431 (grub_script_execute_menuentry): Removed.
11432 * grub-core/script/parser.y (menuentry): Removed.
11433 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11434 * grub-core/script/yylex.l (menuentry): Removed.
11435 * include/grub/menu.h (grub_menu_init): New prototype.
11436 (grub_menu_fini): New prototype.
11437 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11438 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11439 (grub_script_execute_sourcecode): New prototype.
11440
dacd0cf0
BC
114412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11442
11443 "return" command for GRUB script functions.
11444
11445 * tests/grub_script_return.in: New test.
11446 * Makefile.util.def: Rules for new test.
11447
11448 * grub-core/script/execute.c (grub_script_return): New function.
11449 * grub-core/script/main.c: Register/unregister return commaond.
11450 * include/grub/script_sh.h (grub_script_return): New prototype.
11451
52e72f9d
BC
114522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11453
11454 "setparams" command to update positional parameters.
11455
11456 * tests/grub_script_setparams.in: New test.
11457 * Makefile.util.def: Rules for new test.
11458
11459 * grub-core/script/argv.c (grub_script_argv_make): New function.
11460 * grub-core/script/execute.c (replace_scope): New function.
11461 (grub_script_setparams): New function.
11462 * grub-core/script/lexer.c: Remove unused variables.
11463 * grub-core/script/main.c: Register/unregister setparams command.
11464 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11465 (grub_script_setparams): New prototype.
11466
25b60c91
BC
114672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11468
11469 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11470 grub_free order.
11471
37e7bf68
BC
114722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11473
11474 Support for passing block of commands as an argument to extcmds.
11475
11476 * Makefile.util.def: Rules for new test.
11477 * tests/grub_script_blockarg.in: New test.
11478 * grub-core/tests/test_blockarg.c: New file, block argument
11479 command used in the test.
11480
11481 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11482 (grub_register_extcmd_prio): New function prototype.
11483 (grub_extcmd_dispatcher): New function prototype.
11484 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11485 type.
11486 * include/grub/script_sh.h (struct grub_script): New members
11487 `children', `next_siblings' and `refcnt' for block arguments and
11488 reference counting.
11489 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11490 (grub_script_arg): New member `script' for block argument.
11491 (grub_script_argv): New member `script' for block argument.
11492 (grub_parser_param): New member `scripts' for block argument.
11493 (grub_script_mem_free): New extern function prototype.
11494 (grub_script_ref): New function prototype.
11495 (grub_script_unref): New function prototype.
11496
11497 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11498 extcmd form to support block arguments.
11499 * grub-core/script/argv.c: Block arguments support.
11500 * grub-core/script/execute.c: Likewise.
11501 * grub-core/script/lexer.c: Likewise.
11502 * grub-core/script/main.c: Likewise.
11503 * grub-core/script/script.c: Likewise.
11504 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11505 non-terminals.
11506
11507 * grub-core/commands/acpi.c: Update extcmd implementations with
11508 grub_extcmd_context_t.
11509 * grub-core/commands/cat.c: Likewise.
11510 * grub-core/commands/echo.c: Likewise.
11511 * grub-core/commands/extcmd.c: Likewise.
11512 * grub-core/commands/hashsum.c: Likewise.
11513 * grub-core/commands/hdparm.c: Likewise.
11514 * grub-core/commands/help.c: Likewise.
11515 * grub-core/commands/hexdump.c: Likewise.
11516 * grub-core/commands/i386/cpuid.c: Likewise.
11517 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11518 * grub-core/commands/i386/pc/halt.c: Likewise.
11519 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11520 * grub-core/commands/iorw.c: Likewise.
11521 * grub-core/commands/keystatus.c: Likewise.
11522 * grub-core/commands/loadenv.c: Likewise.
11523 * grub-core/commands/ls.c: Likewise.
11524 * grub-core/commands/lspci.c: Likewise.
11525 * grub-core/commands/memrw.c: Likewise.
11526 * grub-core/commands/probe.c: Likewise.
11527 * grub-core/commands/search_wrap.c: Likewise.
11528 * grub-core/commands/setpci.c: Likewise.
11529 * grub-core/commands/sleep.c: Likewise.
11530 * grub-core/disk/loopback.c: Likewise.
11531 * grub-core/hello/hello.c: Likewise.
11532 * grub-core/loader/i386/bsd.c: Likewise.
11533 * grub-core/loader/xnu.c: Likewise.
11534 * grub-core/term/gfxterm.c: Likewise.
11535 * grub-core/term/serial.c: Likewise.
11536 * grub-core/tests/lib/functional_test.c: Likewise.
11537
888d1500
BC
115382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11539
11540 Multi-line quoted strings support.
11541
11542 * grub-core/script/lexer.c (append_newline): Removed.
11543 (grub_script_lexer_yywrap): Refactored.
11544 (grub_script_lexer_init): Refactored.
11545 * grub-core/script/yylex.l (yywrap): New function.
11546 (grub_lexer_resplit): New function.
11547 (grub_lexer_unput): New function.
11548 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11549 and resplit.
11550 * tests/grub_script_echo1.in: Added few more testcases.
11551
dda060dd
VS
115522010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * grub-core/kern/misc.c: Don't add abort alias in utils.
11555 Reported by: echoline.
11556
6556eba9
BC
115572010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11558
11559 Add missing files into "make dist" tarball for other platforms.
11560
11561 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11562 * conf/Makefile.common (dist_noinst_DATA): New variable.
11563 * conf/Makefile.extra-dist: Added missing make dist files.
11564 * grub-core/Makefile.core.def: Likewise.
11565
c8e7bf5f
VS
115662010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 Compress grub_prefix.
11569
11570 * grub-core/boot/i386/pc/lnxboot.S: Use
11571 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11572 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11573 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11574 GRUB_MACHINE_PREFIX_END. All users updated.
11575 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11576 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11577 + 0x40.
11578 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11579 * util/grub-mkimage.c (image_target_desc): Change data_end to
11580 prefix_end. All users updated.
11581
a7c00cdb
VS
115822010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11585 value.
11586 (grub_openbsd_boot): Likewise.
11587 (grub_netbsd_boot): Likewise.
11588 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11589 (grub_xnu_boot): Likewise.
11590
9f915872
VS
115912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * configure.ac: Clean LIBS variable after tests.
11594
efa1bee7
CW
115952010-09-02 Colin Watson <cjwatson@ubuntu.com>
11596
11597 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11598
61d720e5
VS
115992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11602 echo if libdevmapper will be used.
11603
ef8e0ec8
IT
116042010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11605
11606 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11607 constant for the same file.
11608
03e261d8
VS
116092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11612
c2a4eba6
CW
116132010-09-02 Colin Watson <cjwatson@ubuntu.com>
11614
11615 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11616 grub-core/*.pp.
11617
9056cbf3
CW
116182010-09-02 Colin Watson <cjwatson@ubuntu.com>
11619
11620 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11621 required by the boot protocol.
11622
11623 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11624 ebp and edi members.
11625 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11626 state.ebp and state.edi.
11627 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11628 %ebp and %edi according to grub_relocator32_ebp and
11629 grub_relocator32_edi respectively.
11630 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11631 and state.edi.
11632
529cc99a
VS
116332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 Add i386-pc-pxe image target.
11636
11637 * util/grub-mkimage.c (image_target_desc): New enum value
11638 IMAGE_I386_PC_PXE.
11639 (image_targets): New target i386-pc-pxe.
11640 (generate_image): Handle i386-pc-pxe image.
11641
9a093920
VS
116422010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Fix grub_pxe_scan.
11645
11646 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11647 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11648 All users updated.
11649 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11650 (grub_pxe_pxenv): Correct type.
11651
f9cefc4e
CW
116522010-09-01 Colin Watson <cjwatson@ubuntu.com>
11653
11654 * NEWS: Document most of the important changes since 1.98.
11655
4066f57f
CW
116562010-09-01 Colin Watson <cjwatson@ubuntu.com>
11657
11658 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11659 generated manual page) a little.
11660
da2891f9
CW
116612010-09-01 Colin Watson <cjwatson@ubuntu.com>
11662
11663 * docs/grub.texi: Add myself as an author.
11664
ad717fae
VS
116652010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * Makefile.util.def (libgrub.a): Add missing sunpc.
11668 Reported by: Seth Goldberg.
11669
eefe8abd
VS
116702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 Interrupt wrapping and code simplifications.
11673
9494ef9a
VS
11674 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11675 x86_noieee1275 which are functionaly equivalent in this case.
11676 (grub-install): Make source on each platform explicit. Enable on
11677 all noemu.
11678 * gentpl.py (x86_efi_pc): Removed group.
11679 (x86_noefi): Likewise.
11680 (i386_noefi): Likewise.
11681 (x86_noieee1275): Likewise.
11682 (i386_noieee1275): Likewise.
11683 (i386_noefi_noieee1275): Likewise.
11684 (i386_pc_qemu_coreboot): Likewise.
11685 (i386_coreboot_multiboot): Likewise.
11686 (i386_pc_coreboot_multiboot_qemu): Likewise.
11687 (x86_noefi_mips): Likewise.
11688 (noieee1275): Likewise.
11689 (ieee1275_mips): Likewise.
11690 (noemu_noieee1275): Likewise.
11691 (cmos): New group.
11692 (usb): Likewise.
11693 (videoinkernel): Likewise.
11694 (videomodules): Likewise.
eefe8abd 11695 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
11696 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11697 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11698 include/grub/loader.h, include/grub/msdos_partition.h,
11699 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11700 include/grub/machine/console.h, include/grub/machine/vga.h,
11701 include/grub/machine/vbe.h, include/grub/machine/init.h,
11702 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11703 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 11704 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
11705 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
11706 * grub-core/Makefile.core.def (kernel): Explicit the source for
11707 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
11708 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
11709 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
11710 Use videoinkernel tag.
11711 (usb): Enable on all usb.
11712 (usbserial_common): Likewise.
11713 (usbserial_pl2303): Likewise.
11714 (usbserial_ftdi): Likewise.
11715 (uhci): Enable on all x86.
11716 (ohci): Enable on all pci.
11717 (cmostest): Enable on all CMOS.
11718 (acpi): Include commands/acpi.c on all platforms.
11719 (halt): Add relevant lib/*/halt.c.
11720 (hdparm): Enable on all pci.
11721 (lspci): Likewise.
11722 (usbtest): Enable on all usb.
11723 (ata): Enable on all pci.
11724 (ata_pthru): Likewise.
11725 (usbms): Enable on all usb.
11726 (usb_keyboard): Likewise.
11727 (font): Use tag videomodules.
11728 (bufio): Likewise.
11729 (datetime): Use tag cmos. Enable on all noemu.
11730 (mmap): Use tags common and x86.
11731 (gfxterm): Use tag videomodules.
11732 (bitmap): Likewise.
11733 (bitmap_scale): Likewise.
11734 (video_fb): Likewise.
11735 (video): Likewise.
11736 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
11737 adjust padding accordingly. All users updated.
11738 (grub_ohci_transaction): Fix bad format specification.
11739 (GRUB_MOD_INIT): Add asserts for struct size.
11740 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
11741 (grub_alloc_td): Likewise.
11742 (grub_free_queue): Likewise.
11743 (grub_uhci_transfer): Likewise.
11744 (grub_uhci_transaction): Fix bad format specification.
11745 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11746 (grub_usb_bulk_readwrite): Likewise.
11747 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
11748 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
11749 Made static.
11750 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
11751 Made static.
11752 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
11753 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
11754 Transformed into C.
11755 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
11756 Moved from here ...
11757 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
11758 ... here. Transformed into C. Made static.
11759 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
11760 Moved from here ...
11761 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
11762 ... here. Transformed into C. Made static.
11763 * grub-core/kern/i386/pc/startup.S
11764 (grub_biosdisk_check_int13_extensions): Moved from here ...
11765 * grub-core/disk/i386/pc/biosdisk.c
11766 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
11767 Made static.
11768 * grub-core/kern/i386/pc/startup.S
11769 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
11770 * grub-core/disk/i386/pc/biosdisk.c
11771 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
11772 Transformed into C. Made static.
11773 * grub-core/kern/i386/pc/startup.S
11774 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
11775 * grub-core/disk/i386/pc/biosdisk.c
11776 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
11777 Transformed into C. Made static.
11778 * grub-core/kern/i386/pc/startup.S
11779 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
11780 * grub-core/disk/i386/pc/biosdisk.c
11781 (grub_biosdisk_get_diskinfo_standard): ... here.
11782 Transformed into C. Made static.
11783 * grub-core/kern/i386/pc/startup.S
11784 (grub_biosdisk_get_num_floppies): Moved from here ...
11785 * grub-core/disk/i386/pc/biosdisk.c
11786 (grub_biosdisk_get_num_floppies): ... here.
11787 Transformed into C. Made static.
11788 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
11789 New function.
11790 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
11791 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
11792 Transformed into C. Made static.
11793 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
11794 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
11795 Transformed into C. Made static.
11796 * grub-core/kern/i386/ieee1275/init.c: Removed.
11797 * grub-core/kern/i386/misc.S: Likewise.
11798 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
11799 Splitted from here ...
11800 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
11801 Transformed into C. Made static. All users updated.
11802 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
11803 Transformed into C. Made static. All users updated.
11804 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
11805 Moved from here...
11806 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
11807 Transformed into C. Made static. All users updated.
11808 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
11809 Moved from here...
11810 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
11811 Transformed into C. Made static. All users updated.
11812 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
11813 Removed (replaced by C version).
11814 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
11815 Moved from here...
11816 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
11817 Transformed into C. Made static.
11818 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
11819 Moved from here...
11820 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
11821 ... here. Transformed into C.
11822 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
11823 Moved from here...
11824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
11825 ... here. Transformed into C.
11826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
11827 Moved from here...
11828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
11829 ... here. Transformed into C. Made static.
11830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
11831 Moved from here...
11832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
11833 ... here. Transformed into C.
21ed554b
VS
11834 * grub-core/kern/i386/pc/startup.S
11835 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
11836 * grub-core/video/i386/pc/vbe.c
11837 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
11838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
11839 Moved from here...
11840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
11841 ... here. Transformed into C.
11842 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
11843 Moved from here...
11844 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
11845 ... here. Transformed into C.
11846 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
11847 Moved from here...
11848 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
11849 ... here. Transformed into C.
11850 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
11851 Moved from here...
11852 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
11853 ... here. Transformed into C.
11854 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
11855 Moved from here...
11856 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
11857 ... here. Transformed into C. Made static.
11858 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
11859 Moved from here...
11860 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
11861 ... here. Transformed into C. Made static.
11862 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
11863 Moved from here...
11864 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
11865 ... here. Transformed into C. Made static.
11866 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
11867 pxe_rm_entry as third argument.
11868 (grub_bios_interrupt): New function.
11869 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11870 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11871 of calling grub_stop.
11872 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11873 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11874 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11875 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11876 * grub-core/lib/i386/halt.c: Moved from here ...
11877 * grub-core/lib/i386/halt.c: ... here.
11878 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11879 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11880 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11881 grub_stop_floppy.
11882 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11883 * include/grub/i386/coreboot/init.h: Removed.
11884 * include/grub/i386/multiboot/init.h: Likewise.
11885 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11886 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11887 * include/grub/i386/pc/int.h: New file.
11888 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11889 (grub_pxe_scan): Removed.
11890 (grub_pxe_call): Update prototype.
11891 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11892 prototypes.
11893 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11894 * include/grub/i386/qemu/init.h: Removed.
11895 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11896 noreturn.
11897 (grub_halt): Likewise.
11898 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11899 (grub_reboot): Likewise.
11900 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11901 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
11902 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11903
215dd471
RM
119042010-08-30 Robert Millan <rmh@gnu.org>
11905
11906 * NEWS: Document addition of ZFS support in `grub-install' and
11907 `grub-mkconfig'.
11908
ebd65b82
BC
119092010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11910
11911 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11912 dprintf output.
11913
11721d19
VS
119142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 Remove leftover embedding of font objects.
11917
11918 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11919 * util/grub-install.in (font): Removed.
11920 * util/grub-mkimage.c (generate_image): Remove font support. All users
11921 updated.
11922
37837d4e
VS
119232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 Remove leftover embedding of font objects.
11926
11927 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11928 * util/grub-install.in (font): Removed.
11929 * util/grub-mkimage.c (generate_image): Remove font support. All users
11930 updated.
11931
b4c1aae0
VS
119322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 11935 Reported by: Ian Turner
b4c1aae0 11936
8920a08d
VS
119372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11940 timeout to avoid indefinite boot stalling.
11941
f21db033
VS
119422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11945 (grub_env_write_color_highlight): Likewise.
11946
9a9de209
VS
119472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/normal/term.c (print_more): Return to normal and not
11950 to standard state after printing "---MORE---".
11951
3dca01d7
VS
119522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11955 Mask out the bit 0x80 since it has other meaning that specifiing color.
11956
0b986c40
VS
119572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 New relocator. Allows for more kernel support and more straightforward
11960 loader writing.
11961
11962 * Makefile.am (BOOTTARGET): New variable.
11963 (QEMU32): Likewise.
11964 (linux.init.x86_64): New target.
11965 (linux.init.i386): Likewise.
11966 (multiboot.elf): Likewise.
11967 (kfreebsd.elf): Likewise.
11968 (kfreebsd.aout): Likewise.
11969 (pc-chainloader.elf): Likewise.
11970 (pc-chainloader.bin): Likewise.
11971 (ntldr.elf): Likewise.
11972 (ntldr.bin): Likewise.
11973 (multiboot2.elf): Likewise.
11974 (kfreebsd.init.x86_64): Likewise.
11975 (kfreebsd.init.i386): Likewise.
11976 (knetbsd.init.i386): Likewise.
11977 (kopenbsd.init.i386): Likewise.
11978 (knetbsd.init.x86_64): Likewise.
11979 (kopenbsd.init.x86_64): Likewise.
11980 (linux-initramfs.i386): Likewise.
11981 (linux-initramfs.x86_64): Likewise.
11982 (kfreebsd-mfsroot.i386.img): Likewise.
11983 (knetbsd.image.i386): Likewise.
11984 (kopenbsd.image.i386): Likewise.
11985 (kopenbsd.image.x86_64): Likewise.
11986 (knetbsd.miniroot-image.i386.img): Likewise.
11987 (kfreebsd-mfsroot.x86_64.img): Likewise.
11988 (knetbsd.image.x86_64): Likewise.
11989 (knetbsd.miniroot-image.x86_64.img): Likewise.
11990 (kfreebsd-mfsroot.i386.gz): Likewise.
11991 (bootcheck-kfreebsd-i386): Likewise.
11992 (kfreebsd-mfsroot.x86_64.gz): Likewise.
11993 (bootcheck-kfreebsd-x86_64): Likewise.
11994 (knetbsd.miniroot-image.i386.gz): Likewise.
11995 (bootcheck-knetbsd-i386): Likewise.
11996 (bootcheck-kopenbsd-i386): Likewise.
11997 (bootcheck-kopenbsd-x86_64): Likewise.
11998 (knetbsd.miniroot-image.x86_64.gz): Likewise.
11999 (bootcheck-knetbsd-x86_64): Likewise.
12000 (bootcheck-linux-i386): Likewise.
12001 (bootcheck-linux-x86_64): Likewise.
12002 (bootcheck-linux16-i386): Likewise.
12003 (bootcheck-linux16-x86_64): Likewise.
12004 (bootcheck-multiboot): Likewise.
12005 (bootcheck-multiboot2): Likewise.
12006 (bootcheck-kfreebsd-aout): Likewise.
12007 (bootcheck-pc-chainloader): Likewise.
12008 (bootcheck-ntldr): Likewise.
12009 (CLEANFILES): Add new targets.
12010 (BOOTCHECKS): New variable.
12011 (.PHONY): Add bootchecks.
12012 (SUCCESSFUL_BOOT_STRING): New variable.
12013 (BOOTCHECK_TIMEOUT): Likewise.
12014 (bootcheck): New target
12015 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12016 * configure.ac: Correct efiemu excuse.
12017 * docs/grub.texi (Supported kernels): New chapter.
12018 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12019 include/grub/mm_private.h. Simplify inclusion of
12020 include/grub/boot.h, include/grub/loader.h
12021 and include/grub/msdos_partition.h
12022 (KERNEL_HEADER_FILES) [i386_coreboot]:
12023 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12024 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12025 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12026 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12027 include/grub/machine/loader.h.
12028 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12029 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12030 extra_dist.
12031 (pci.mod): Enable on i386-multiboot.
12032 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12033 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12034 i386-qemu.
12035 (relocator.mod): Rewritten.
12036 (aout.mod): Enable on all x86.
12037 (bsd.mod): Likewise.
12038 (ntldr.mod): New module.
12039 (linux.mod): Use loader/i386/linux.c on all x86.
12040 (xnu.mod): Enable on all x86.
12041 (vga_text.mod): disable on EFI and QEMU.
12042 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12043 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12044 * grub-core/efiemu/loadcore.c: Likewise.
12045 * grub-core/efiemu/main.c: Likewise.
12046 (grub_efiemu_exit_boot_services): Removed.
12047 (grub_efiemu_finish_boot_services): Likewise.
12048 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12049 function.
12050 * grub-core/efiemu/i386/nocfgtables.c: New file.
12051 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12052 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12053 (grub_efi_finish_boot_services): Moved from here ...
12054 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12055 Fille finish memory map and related data.
12056 (finish_mmap_buf): New variable.
12057 (grub_efi_uintn_t finish_mmap_size): Likewise.
12058 (grub_efi_uintn_t finish_key): Likewise.
12059 (grub_efi_uintn_t finish_desc_size): Likewise.
12060 (grub_efi_uint32_t finish_desc_version): Likewise.
12061 (grub_efi_is_finished): Likewise.
12062 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12063 finished.
12064 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12065 (grub_elf64_phdr_iterate): Likewise.
12066 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12067 (grub_os_area_size): Likewise.
12068 (grub_machine_init): Don't reserve os area.
12069 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12070 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12071 * grub-core/kern/i386/loader.S: Removed.
12072 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12073 (grub_os_area_size): Likewise.
12074 (grub_machine_init): Don't reserve os area.
12075 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12076 Don't call grub_dl_unload_all.
12077 Don't include loader.S.
12078 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12079 Declare the memory after _end as available.
12080 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12081 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12082 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12083 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12084 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12085 * include/grub/mm_private.h (grub_mm_header): ... here.
12086 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12087 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12088 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12089 (grub_mm_region): ..here. Removed addr. Added pre_size.
12090 All users updated.
12091 * grub-core/kern/mm.c (base): Renamed to ...
12092 (grub_mm_base): ... this. Made global.
12093 (grub_real_malloc): Alloc from end of region.
12094 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12095 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12096 * grub-core/kern/powerpc/cache_flush.S: ... here.
12097 * grub-core/lib/efi/relocator.c: New file.
12098 * grub-core/lib/i386/relocator.c: Rewritten.
12099 * grub-core/lib/i386/relocator16.S: New file.
12100 * grub-core/lib/i386/relocator32.S: Likewise.
12101 * grub-core/lib/i386/relocator64.S: Likewise.
12102 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12103 * grub-core/lib/i386/relocator_common.S: New file.
12104 * grub-core/lib/ieee1275/relocator.c: Likewise.
12105 * grub-core/lib/mips/relocator.c: Rewritten.
12106 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12107 stylistic adjustments.
12108 * grub-core/lib/powerpc/relocator.c: New file.
12109 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12110 * grub-core/lib/relocator.c: Rewritten.
12111 * grub-core/lib/x86_64/relocator_asm.S: New file.
12112 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12113 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12114 (bsd_tag): New struct.
12115 (tags): New variable.
12116 (tags_last): Likewise.
12117 (netbsd_module): New struct.
12118 (netbsd_mods): New variable.
12119 (netbsd_mods_last): Likewise.
12120 (openbsd_opts): New parameter "serial".
12121 (OPENBSD_SERIAL_ARG): New definition.
12122 (netbsd_opts): New parameter "serial".
12123 (NETBSD_SERIAL_ARG): New definition.
12124 (grub_freebsd_add_meta): Reorganised into ...
12125 (grub_bsd_add_meta): ...this. All users updated.
12126 (grub_freebsd_add_mmap): Reorganised into ...
12127 (generate_e820_mmap): ...this...
12128 (grub_bsd_add_mmap): ...and this. All users updated.
12129 (grub_freebsd_list_modules): Use tags.
12130 (grub_netbsd_add_meta_module): New function.
12131 (grub_netbsd_list_modules): Likewise.
12132 (grub_freebsd_boot): Use relocator and finish EFI.
12133 (grub_openbsd_boot): Likewise.
12134 (grub_netbsd_setup_video): New function.
12135 (grub_netbsd_add_modules): Likewise.
12136 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12137 and finish EFI.
12138 (grub_bsd_unload): Unload tags.
12139 (grub_bsd_load_aout): Use relocator.
12140 (grub_bsd_elf32_size_hook): New function.
12141 (grub_bsd_elf32_hook): Use relocator.
12142 (grub_bsd_elf64_size_hook): New function.
12143 (grub_bsd_elf64_hook): Use relocator.
12144 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12145 (grub_bsd_load): Zero-out openbsd_ramdisk.
12146 (grub_bsd_load): Use relocator.
12147 (grub_cmd_openbsd): Support serial.
12148 (grub_cmd_netbsd): Support modules.
12149 (grub_cmd_freebsd_module): Use relocator.
12150 (grub_netbsd_module_load): New function.
12151 (grub_cmd_netbsd_module): Likewise.
12152 (grub_cmd_openbsd_ramdisk): Likewise.
12153 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12154 kopenbsd_ramdisk.
12155 (GRUB_MOD_FINI): Unregister new commands.
12156 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12157 (grub_freebsd_load_elfmodule_obj): Use relocator.
12158 (grub_freebsd_load_elfmodule): Likewise.
12159 (grub_freebsd_load_elf_meta): Likewise.
12160 (grub_netbsd_load_elf_meta): New function.
12161 (grub_openbsd_find_ramdisk): Likewise.
12162 * grub-core/loader/i386/bsd_helper.S: Removed.
12163 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12164 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12165 * grub-core/loader/i386/efi/linux.c: Likewise.
12166 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12167 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12168 (DEFAULT_VIDEO_MODE): Likewise.
12169 (real_mode_target): New variable.
12170 (prot_mode_target): Likewise.
12171 (initrd_mem_target): Likewise.
12172 (relocator): Likewise.
12173 (efi_mmap_buf): Likewise.
12174 (efi_mmap_size): Likewise.
12175 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12176 (free_pages): Use relocator.
12177 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12178 (grub_linux_setup_video): Return error.
12179 (grub_linux_trampoline_start): Removed.
12180 (grub_linux_trampoline_end): Likewise.
12181 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12182 andd video parameters depending on firmware.
12183 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12184 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12185 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12186 (grub_cmd_initrd): Use relocator.
12187 * grub-core/loader/i386/linux_trampoline.S: Removed.
12188 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12189 (elf_sec_entsize): Likewise.
12190 (elf_sec_shstrndx): Likewise.
12191 (elf_sections): Likewise.
12192 (grub_multiboot_load): Use relocator.
12193 (grub_multiboot_get_mbi_size): Account for sections.
12194 (grub_multiboot_make_mbi): Use relocator and support sections.
12195 (grub_multiboot_add_elfsyms): New function.
12196 (grub_multiboot_free_mbi): Free sections.
12197 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12198 (grub_linux_real_target): Likewise.
12199 (grub_linux_real_chunk): Likewise.
12200 (grub_linux16_prot_size): Likewise.
12201 (grub_linux16_boot): Use relocator.
12202 (grub_linux_unload): Unload relocator.
12203 (grub_cmd_linux): Use relocator.
12204 (grub_cmd_initrd): Likewise.
12205 * grub-core/loader/i386/pc/ntldr.c: New file.
12206 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12207 Don't try to guess CPU frequency.
12208 (grub_xnu_set_video): Stretch bitmap.
12209 (grub_xnu_boot): Use relocator.
12210 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12211 (grub_linux_unload): Free relocator.
12212 (grub_linux_load32): Use relocator.
12213 (grub_linux_load64): Likewise.
12214 (grub_cmd_initrd): Likewise.
12215 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12216 (grub_multiboot_unload): Unload relocator.
12217 (grub_cmd_multiboot): Use relocator.
12218 (grub_cmd_module): Likewise.
12219 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12220 Use relocator and support sections.
12221 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12222 (elf_sec_entsize): Likewise.
12223 (elf_sec_shstrndx): Likewise.
12224 (elf_sections): Likewise.
12225 (grub_multiboot_load): Use relocator.
12226 (grub_multiboot_get_mbi_size): Account for sections.
12227 (grub_multiboot_make_mbi): Use relocator and support sections.
12228 (grub_multiboot_add_elfsyms): New function.
12229 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12230 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12231 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12232 Prototype changed. All users updated.
12233 (grub_xnu_align_heap): Simplified.
12234 (grub_xnu_writetree_toheap): Likewise.
12235 (grub_xnu_unload): Unload relocator.
12236 (grub_cmd_xnu_kernel): Use relocator.
12237 (grub_cmd_xnu_kernel64): Likewise.
12238 (grub_xnu_register_memory): Simplified.
12239 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12240 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12241 EFI is finished.
12242 (grub_console_checkkey): Likewise.
12243 (grub_console_getkey): Likewise.
12244 (grub_console_getwh): Likewise.
12245 (grub_console_getxy): Likewise.
12246 (grub_console_gotoxy): Likewise.
12247 (grub_console_cls): Likewise.
12248 (grub_console_setcolorstate): Likewise.
12249 (grub_console_setcursor): Likewise.
12250 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12251 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12252 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12253 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12254 * grub-core/tests/boot/kernel-8086.S: Likewise.
12255 * grub-core/tests/boot/kernel-i386.S: Likewise.
12256 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12257 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12258 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12259 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12260 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12261 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12262 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12263 * grub-core/tests/boot/linux.cfg: Likewise.
12264 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12265 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12266 * grub-core/tests/boot/linux16.cfg: Likewise.
12267 * grub-core/tests/boot/multiboot.cfg: Likewise.
12268 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12269 * grub-core/tests/boot/ntldr.cfg: Likewise.
12270 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12271 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12272 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12273 New definition.
12274 * include/grub/dl.h (grub_dl_unload_all): Removed.
12275 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12276 (grub_efi_finish_boot_services): Change prototype.
12277 (grub_efi_is_finished): New variable.
12278 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12279 Changed prototype.
12280 (grub_efiemu_finish_boot_services): Removed.
12281 (grub_machine_efiemu_init_tables): New prototype.
12282 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12283 (grub_elf64_phdr_iterate): Likewise.
12284 * include/grub/i386/bsd.h: Include relocator.h.
12285 (freebsd_tag_header): New struct.
12286 (grub_openbsd_bios_mmap): Removed.
12287 (grub_unix_real_boot): Removed.
12288 (grub_freebsd_load_elfmodule32): Changed prototype.
12289 (grub_freebsd_load_elfmodule_obj64): Likewise.
12290 (grub_freebsd_load_elf_meta32): Likewise.
12291 (grub_freebsd_load_elf_meta64): Likewise.
12292 (grub_freebsd_add_meta): Removed.
12293 (grub_netbsd_load_elf_meta32): New prototype.
12294 (grub_netbsd_load_elf_meta64): Likewise.
12295 (grub_bsd_add_meta): Likewise.
12296 (grub_openbsd_ramdisk_descriptor): New struct.
12297 (grub_openbsd_find_ramdisk32): New prototype.
12298 (grub_openbsd_find_ramdisk64): Likewise.
12299 * include/grub/i386/coreboot/loader.h: Removed.
12300 * include/grub/i386/efi/loader.h: Likewise.
12301 * include/grub/i386/ieee1275/loader.h: Likewise.
12302 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12303 to grub_uint32_t.
12304 * include/grub/i386/loader.h: Removed.
12305 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12306 value.
12307 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12308 (grub_phys_addr_t): New type.
12309 (grub_vtop): New inline function.
12310 (grub_map_memory): Likewise.
12311 (grub_unmap_memory): Likewise.
12312 * include/grub/i386/multiboot/loader.h: Removed.
12313 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12314 (NETBSD_BTINFO_CONSOLE): New definition.
12315 (NETBSD_BTINFO_SYMTAB): Likewise.
12316 (NETBSD_BTINFO_MODULES): Likewise.
12317 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12318 (grub_netbsd_bootinfo): New struct.
12319 (grub_netbsd_btinfo_common): Use explicit bitsize.
12320 (grub_netbsd_btinfo_mmap_entry): Removed.
12321 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12322 (grub_netbsd_btinfo_bootdisk): New struct.
12323 (grub_netbsd_btinfo_symtab): Likewise.
12324 (grub_netbsd_btinfo_serial): Likewise.
12325 (grub_netbsd_btinfo_modules): Likewise.
12326 (grub_netbsd_btinfo_framebuf): Likewise.
12327 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12328 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12329 Likewise.
12330 (grub_openbsd_bootargs): Use explicit bitsize.
12331 (grub_openbsd_bootarg_console): New struct.
12332 (GRUB_OPENBSD_COM_MAJOR): New definition.
12333 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12334 * include/grub/i386/pc/efiemu.h: Removed.
12335 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12336 * include/grub/i386/qemu/loader.h: Removed.
12337 * include/grub/i386/relocator.h: Rewritten.
12338 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12339 * include/grub/mips/memory.h: New file.
12340 * include/grub/mips/multiboot.h: Rewritten.
12341 * include/grub/mips/relocator.h: Rewritten.
12342 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12343 (grub_vtop): New function.
12344 (grub_map_memory): Likewise.
12345 (grub_unmap_memory): Likewise.
12346 * include/grub/misc.h (ALIGN_DOWN): New definition.
12347 * include/grub/mm.h (grub_mm_check_real): New proto.
12348 (GRUB_MM_CHECK): New definition.
12349 * include/grub/mm_private.h: New file.
12350 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12351 (grub_multiboot_get_mbi_size): Removed.
12352 (grub_multiboot_make_mbi): Change prottype.
12353 (grub_multiboot_set_accepts_video): New proto.
12354 (grub_multiboot_add_elfsyms): Likewise.
12355 (grub_multiboot_payload_eip): New variable.
12356 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12357 New prototype.
12358 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12359 New definition.
12360 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12361 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12362 * include/grub/powerpc/ieee1275/loader.h: Removed.
12363 * include/grub/powerpc/memory.h: New file.
12364 * include/grub/powerpc/relocator.h: Likewise.
12365 * include/grub/relocator.h: Likewise.
12366 * include/grub/relocator_private.h: Likewise.
12367 * include/grub/sparc64/ieee1275/loader.h: Removed.
12368 * include/grub/x86_64/memory.h: New file.
12369 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12370 (grub_xnu_heap_malloc): Likewise.
12371 (grub_xnu_heap_real_start): Removed.
12372 (grub_xnu_heap_start): Likewise.
12373 (grub_xnu_relocator): New variable.
12374 (grub_xnu_heap_target_start): Likewise.
12375 * tests/util/grub-shell.in: Support non-pc.
12376 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12377
5303b85d
VS
123782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12381 on malloc error.
12382 (grub_bidi_logical_to_visual): Check that malloc succeded.
12383 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12384 puts.
12385 (grub_xputs_normal): Likewise.
12386
d768d159
VS
123872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12390 extra_dist.
12391
123922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12395
5bf84df4
VS
123962010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12399
3626810e
VS
124002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12403 dprintf.
12404
a7363f53
BC
124052010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12406
12407 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12408
902f75f6
VS
124092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * grub-core/normal/term.c (print_more): Fix a memory leak.
12412 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12413 (grub_xputs_normal): Likewise.
12414
3c707967
VS
124152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12418 the begining of the string
12419
2053cc07
VS
124202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/script/script.c (grub_script_parse): Free parsed on
12423 failure.
12424
46422ebf
VS
124252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12428 on failure.
12429
9e0fa3f6
VS
124302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12433 return.
12434
3393cf16
VS
124352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12438 (scroll_up): Fix a memory leak.
12439
b17540cb
VS
124402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12443 errors.
12444
67140446
VS
124452010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 Handle USB pendrives exposed as floppies.
12448
12449 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12450 floppy.
12451 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12452 Check for partitions on all devices.
12453
e35e46fc
VS
124542010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12457 (readkey): Likewise.
12458
d24c6190
BC
124592010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12460
12461 Multiple variable names support to "export" command.
12462
12463 * normal/context.c (grub_cmd_export): "export" command supports
12464 multiple variable names.
12465
04ddcc6a
ST
124662010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12467
12468 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12469 --target=drive output to Mach device name.
12470
0c8b61d8
BC
124712010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12472
12473 New Automake based build system for GRUB.
12474
12475 * ABOUT-NLS: New file.
12476 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12477 in Makefile.util.def file.
12478 * Makefile.util.def: New file. Autogen build definitions file for
12479 GRUB host utils.
12480 * conf/Makefile.common: New file. Common variables for GRUB host
12481 utils and target modules.
12482 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12483 * docs/Makefile.am: New file. Automake file for docs.
12484 * gentpl.py: New file. Python script to generate Autogen
12485 template.
12486 * grub-core/Makefile.am: New file. GRUB target modules' rules
12487 that doesn't fit in Makefile.core.def file.
12488 * grub-core/Makefile.core.def: New file. Autogen build
12489 definitions file for GRUB target modules.
12490 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12491 specific setjmp.S file.
12492 * po/Makefile.am: New file.
12493
12494 * .bzrignore: New ignores.
12495 * INSTALL: New requirements, without Ruby.
12496 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12497 * autogen.sh: Updated to invoke autogen as necessary.
12498 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12499 and defines for Automake conditionals.
12500 * geninit.sh: Refactoring.
12501
12502 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12503 necessary.
12504 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12505 New prototype.
12506
12507 * include/grub/test.h: Fix functional test modules' naming.
12508 * grub-core/tests/example_functional_test.c: Fix test module name.
12509
12510 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12511 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12512 * util/grub-editenv.c: Likewise.
12513 * util/grub-fstest.c: Likewise.
12514 * util/grub-mkdevicemap.c: Likewise.
12515 * util/grub-mkfont.c: Likewise.
12516 * util/grub-mkimage.c: Likewise.
12517 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12518 * util/grub-probe.c: Likewise.
12519 * util/grub-script-check.c: Likewise.
12520 * util/i386/pc/grub-setup.c: Likewise.
12521 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12522
12523 * tests/util/grub-shell.in: Fix override directory path.
12524 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12525 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12526
12527 * util/lvm.c: Update #includes.
12528 * util/raid.c: Likewise.
12529 * util/resolve.c: Likewise.
12530 * grub-core/bus/emu/pci.c: Likewise.
12531 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12532 * grub-core/lib/posix_wrap/string.h: Likewise.
12533 * grub-core/kern/emu/main.c: Likewise.
12534
12535 * grub-core/gensymlist.sh: New file. Script for generating kernel
12536 symbols file.
12537 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12538
12539 * grub-core/gentrigtables.c: Fix unused variable warnings.
12540
12541 * Makefile.in: Removed.
12542 * conf/any-emu.rmk: Removed.
12543 * conf/common.rmk: Removed.
12544 * conf/i386-coreboot.rmk: Removed.
12545 * conf/i386-efi.rmk: Removed.
12546 * conf/i386-ieee1275.rmk: Removed.
12547 * conf/i386-multiboot.rmk: Removed.
12548 * conf/i386-pc.rmk: Removed.
12549 * conf/i386-qemu.rmk: Removed.
12550 * conf/i386.rmk: Removed.
12551 * conf/mips-yeeloong.rmk: Removed.
12552 * conf/mips.rmk: Removed.
12553 * conf/powerpc-ieee1275.rmk: Removed.
12554 * conf/sparc64-ieee1275.rmk: Removed.
12555 * conf/tests.rmk: Removed.
12556 * conf/x86-efi.rmk: Removed.
12557 * conf/x86_64-efi.rmk: Removed.
12558 * gendistlist.sh: Removed.
12559 * geninitheader.sh: Removed.
12560 * genkernsyms.sh.in: Removed.
12561 * genmk.rb: Removed.
12562 * gensymlist.sh.in: Removed.
12563 * mkinstalldirs: Removed.
12564 * boot: Moved ...
12565 * grub-core/boot: ... to here.
12566 * bus: Moved ...
12567 * grub-core/bus: ... to here.
12568 * commands: Moved ...
12569 * grub-core/commands: ... to here.
12570 * disk: Moved ...
12571 * grub-core/disk: ... to here.
12572 * efiemu: Moved ...
12573 * grub-core/efiemu: ... to here.
12574 * font: Moved ...
12575 * grub-core/font: ... to here.
12576 * fs: Moved ...
12577 * grub-core/fs: ... to here.
12578 * gencmdlist.sh: Moved ...
12579 * grub-core/gencmdlist.sh: ... to here.
12580 * genemuinit.sh: Moved ...
12581 * grub-core/genemuinit.sh: ... to here.
12582 * genemuinitheader.sh: Moved ...
12583 * grub-core/genemuinitheader.sh: ... to here.
12584 * genfslist.sh: Moved ...
12585 * grub-core/genfslist.sh: ... to here.
12586 * genhandlerlist.sh: Moved ...
12587 * grub-core/genhandlerlist.sh: ... to here.
12588 * genmoddep.awk: Moved ...
12589 * grub-core/genmoddep.awk: ... to here.
12590 * genmodsrc.sh: Moved ...
12591 * grub-core/genmodsrc.sh: ... to here.
12592 * genpartmaplist.sh: Moved ...
12593 * grub-core/genpartmaplist.sh: ... to here.
12594 * genparttoollist.sh: Moved ...
12595 * grub-core/genparttoollist.sh: ... to here.
12596 * genterminallist.sh: Moved ...
12597 * grub-core/genterminallist.sh: ... to here.
12598 * gentrigtables.c: Moved ...
12599 * grub-core/gentrigtables.c: ... to here.
12600 * genvideolist.sh: Moved ...
12601 * grub-core/genvideolist.sh: ... to here.
12602 * gettext: Moved ...
12603 * grub-core/gettext: ... to here.
12604 * gfxmenu: Moved ...
12605 * grub-core/gfxmenu: ... to here.
12606 * gnulib: Moved ...
12607 * grub-core/gnulib: ... to here.
12608 * hello: Moved ...
12609 * grub-core/hello: ... to here.
12610 * hook: Moved ...
12611 * grub-core/hook: ... to here.
12612 * io: Moved ...
12613 * grub-core/io: ... to here.
12614 * kern: Moved ...
12615 * grub-core/kern: ... to here.
12616 * lib: Moved ...
12617 * grub-core/lib: ... to here.
12618 * loader: Moved ...
12619 * grub-core/loader: ... to here.
12620 * mmap: Moved ...
12621 * grub-core/mmap: ... to here.
12622 * normal: Moved ...
12623 * grub-core/normal: ... to here.
12624 * partmap: Moved ...
12625 * grub-core/partmap: ... to here.
12626 * parttool: Moved ...
12627 * grub-core/parttool: ... to here.
12628 * script: Moved ...
12629 * grub-core/script: ... to here.
12630 * term: Moved ...
12631 * grub-core/term: ... to here
12632 * tests/example_functional_test.c: Moved ...
12633 * grub-core/tests/example_functional_test.c: ... to here.
12634 * tests/lib/functional_test.c: Moved ...
12635 * grub-core/tests/lib/functional_test.c: ... to here.
12636 * tests/lib/test.c: Moved ...
12637 * grub-core/tests/lib/test.c: ... to here.
12638 * video: Moved ...
12639 * grub-core/video: ... to here.
12640
645586e6
BC
126412010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12642
12643 Replace --enable-grub-emu-modules with grub-emu-lite.
12644
12645 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12646 cache.S.
12647
12648 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12649 * kern/emu/full.c: New file. For grub-emu specific initialization.
12650 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12651 * kern/emu/main.c: Call initialization function grub_emu_init.
12652
12653 * Makefile.in: Include grub-emu-lite in install.
12654 * commands/parttool.c: Use grub_no_autoload to differentiate
12655 between grub-emu and grub-emu-lite.
12656 * include/grub/misc.h: New variable grub_no_autoload.
12657
12658 * conf/any-emu.rmk: New rules for grub-emu-lite.
12659 * configure.ac: Remove --enable-grub-emu-modules.
12660 * genmk.rb: Cleanup unnecessary rules.
12661 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12662
12663 * normal/main.c: Don't load list files on grub-emu-lite.
12664 * util/misc.c (grub_arch_sync_caches): Removed.
12665
f86a4030
CW
126662010-08-23 Colin Watson <cjwatson@ubuntu.com>
12667
12668 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12669 grub-mkimage rather than grub-mkelfimage.
12670 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12671
06776944
VS
126722010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12675 a key after CapsLock or NumLock. It's just a qemu bug.
12676
df262419
VS
126772010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12680 needed by libusb wrapper.
12681
b40ea81b
ST
126822010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12683
12684 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12685
dee50575
VS
126862010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12689 --nounzip is passed.
12690
fb1d7b79
VS
126912010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 USB hotunplugging and USB serial support.
12694
12695 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12696 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12697 (grub_uhci_transfer): Respect timeout and set *actual.
12698 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12699 non-standard length.
12700 (grub_usb_device_attach): Autoload modules.
12701 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12702 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12703 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
12704 users updated.
12705 (grub_usb_add_hub): Fill nports and children.
12706 (attach_root_port): Receive hub instead of controller.
12707 All users updated. Fill hub->devices.
12708 (grub_usb_root_hub): Allocate hub->devices.
12709 (detach_device): New function.
12710 (poll_nonroot_hub): Fill children and detach devices.
12711 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
12712 actual arguments. All users updated.
12713 (grub_usb_bulk_read_extended): New function.
12714 * bus/usb/serial/common.c: New file.
12715 * bus/usb/serial/ftdi.c: Likewise.
12716 * bus/usb/serial/pl2303.c: Likewise.
12717 * commands/terminal.c (handle_command): Support wildcard.
12718 * commands/usbtest.c: Output "Unknown" instead of empty string.
12719 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
12720 (usbserial_common_mod_SOURCES): New variable.
12721 (usbserial_common_mod_CFLAGS): Likewise.
12722 (usbserial_common_mod_LDFLAGS): Likewise.
12723 (pkglib_MODULES): Add usbserial_pl2303.mod.
12724 (usbserial_pl2303_mod_SOURCES): New variable.
12725 (usbserial_pl2303_mod_CFLAGS): Likewise.
12726 (usbserial_pl2303_mod_LDFLAGS): Likewise.
12727 (pkglib_MODULES): Add usbserial_ftdi.mod.
12728 (usbserial_ftdi_mod_SOURCES): New variable.
12729 (usbserial_ftdi_mod_CFLAGS): Likewise.
12730 (usbserial_ftdi_mod_LDFLAGS): Likewise.
12731 (pkglib_MODULES): Add serial.mod.
12732 (serial_mod_SOURCES): New variable.
12733 (serial_mod_CFLAGS): Likewise.
12734 (serial_mod_LDFLAGS): Likewise.
12735 * conf/i386-pc.rmk: Likewise.
12736 * conf/mips-yeeloong.rmk: Likewise.
12737 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
12738 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12739 * disk/usbms.c (first_available_slot): New variable.
12740 (grub_usbms_attach): Don't reuse free slots due to potential cache
12741 problems.
12742 * include/grub/serial.h: Moved to ..
12743 * include/grub/ns8250.h: ...this.
12744 * include/grub/serial.h: New file.
12745 * include/grub/term.h (grub_term_poll_usb): New variable.
12746 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
12747 readkey. All users updated.
12748 (grub_terminfo_output_state): Pass term to put.
12749 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
12750 (grub_usb_controller_dev): Add timeout and actual arguments to
12751 transfer. All users updated.
12752 (grub_usb_interface): New field detach_data.
12753 (grub_usb_device): New fields children and nports.
12754 (grub_usb_ep_type_t): New type.
12755 (grub_usb_get_ep_type): New function.
12756 (grub_usb_bulk_read_extended): Likewise.
12757 * include/grub/usbdesc.h (grub_usb_desc): New type.
12758 * include/grub/usbserial.h: New file.
12759 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
12760 * kern/term.c (grub_term_poll_usb): New variable.
12761 (grub_getkey): Call grub_term_poll_usb if set.
12762 (grub_checkkey): Likewise.
12763 (grub_getkeystatus): Likewise.
12764 * term/serial.c: Moved controller-specific parts to ...
12765 * term/ns8250.c: ... here.
12766 * term/serial.c: Mostly rewritten.
12767 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
12768 according to spec.
12769
21a313de
RM
127702010-08-20 Robert Millan <rmh@gnu.org>
12771
12772 Make kFreeBSD code more generic to support ext2fs as root, ufs as
12773 a separate module and maybe other interesting combinations.
12774
12775 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
12776 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
12777 (kfreebsd_entry): Add generic filesystem module load routine.
12778 Map GRUB `ext2' to kFreeBSD `ext2fs'.
12779
63c734a6
CW
127802010-08-20 Colin Watson <cjwatson@ubuntu.com>
12781
12782 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
12783 "numcenter" (I misunderstood the purpose of this entry).
12784 * docs/grub.texi (sendkey): Likewise.
12785
c4d16542
CW
127862010-08-20 Colin Watson <cjwatson@ubuntu.com>
12787
12788 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
12789 status flag options; simply omitting the option is equivalent and
12790 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
12791 (keysym_table): Rename "num5numlock" to "numlock".
12792 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
12793 can uniformly say that only the last of multiple `sendkey'
12794 invocations has any effect.
12795 * docs/grub.texi (sendkey): New section.
12796
93541d66
CW
127972010-08-19 Colin Watson <cjwatson@ubuntu.com>
12798
12799 * commands/i386/pc/sendkey.c (options): Fix three typos.
12800
b4ece5e1
VS
128012010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Implement sendkey support.
12804
12805 * commands/i386/pc/sendkey.c: New file.
12806 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
12807 (sendkey_mod_SOURCES): New variable.
12808 (sendkey_mod_CFLAGS): Likewise.
12809 (sendkey_mod_LDFLAGS): Likewise.
12810
51f1f5af
CW
128112010-08-18 Colin Watson <cjwatson@ubuntu.com>
12812
12813 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
12814 fix warnings from Autoconf.
12815
9da94e05
CW
128162010-08-18 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
12819 to avoid false positives with some assemblers that output things
12820 like "someprefix_func" as part of their output.
12821
729a0f2e
RM
128222010-08-15 Robert Millan <rmh@gnu.org>
12823
12824 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
12825 errors.
12826 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
12827 grub_get_libzfs_handle() errors.
12828
f3710e08
RM
128292010-08-14 Robert Millan <rmh@gnu.org>
12830
12831 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
12832 filesystem is not ZFS.
12833
7a3c13de
BC
128342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12835
12836 Fix for misspelled color names defaulting to black/black (bug
12837 reported by Doug Nazar)
12838
12839 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12840 status to prototype.
12841 * normal/color.c (grub_parse_color_name_pair): Return failure
12842 status.
12843 (grub_env_write_color_normal): Ignore bad color names.
12844 (grub_env_write_color_highlight): Likewise.
12845 * normal/main.c (GRUB_MOD_INIT): Set default color names.
12846
ab8ba50d
BC
128472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12848
12849 "shift" command support to GRUB script.
12850
12851 * include/grub/script_sh.h (grub_script_shift): New prototype.
12852 * script/execute.c (grub_script_shift): New function.
12853 * script/main.c (grub_script_init): Register shift command.
12854 (grub_script_fini): Unregister shift command.
12855 * util/grub-script-check.c (grub_script_cmd_shift): New function.
12856
12857 * tests/grub_script_shift.in: New testcase.
12858 * conf/tests.rmk: Rules for new testcase.
12859
4d61999e
BC
128602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12861
12862 "continue" command support to GRUB script.
12863
12864 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
12865 (grub_script_break): Continue support.
12866 * script/main.c (grub_script_init): Register continue command.
12867 (grub_script_fini): Unregister continue command.
12868
12869 * tests/grub_script_continue.in: New testcase.
12870 * conf/tests.rmk: Rules for new testcase.
12871
4df51e00
BC
128722010-08-12 BVK Chaitanya <bvk@dbook>
12873
12874 "break" command support to GRUB script.
12875
12876 * conf/common.rmk: Rule updates to grub-script-check.
12877 * include/grub/misc.h (grub_min): New function.
12878 * include/grub/script_sh.h (grub_script_init): New prototype.
12879 (grub_script_fini): New prototype.
12880 (grub_script_break): New prototype.
12881 * script/main.c (grub_script_init): New function.
12882 (grub_script_fini): New function.
12883 * script/execute.c (grub_script_break): New function.
12884 * normal/main.c: Calls to grub_script_{init,fini}.
12885 * util/grub-script-check.c (grub_script_break): New function.
12886
12887 * tests/grub_script_break.in: New testcase.
12888 * conf/tests.rmk: Rules for new test case.
12889
f12c8420
BC
128902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12891
12892 Function parameters support to GRUB script.
12893
12894 * script/yylex.l (VARIABLE): Regular expression update.
12895 * script/function.c (grub_script_function_call): Moved ...
12896 * script/execute.c (grub_script_function_call): ... to here.
12897 (grub_script_execute_arglist_to_argv): Removed.
12898 (grub_script_arglist_to_argv): New function.
12899 * script/argv.c: New file.
12900 (grub_script_argv_free): New function.
12901 (grub_script_argv_next): Likewise.
12902 (grub_script_argv_append): Likewise.
12903 (grub_script_argv_split_append): Likewise.
12904 * include/grub/script_sh.h (grub_script_argv): New struct.
12905 (grub_script_argv_free): New function.
12906 (grub_script_argv_next): Likewise.
12907 (grub_script_argv_append): Likewise.
12908 (grub_script_argv_split_append): Likewise.
12909
12910 * conf/common.rmk (normal.mod): New source script/argv.c.
12911
12912 * tests/grub_script_echo1.in: More tests.
12913 * tests/grub_script_vars1.in: Likewise.
12914 * tests/grub_script_functions.in: New test case.
12915 * conf/tests.rmk: Rules for new testcase.
12916
8022b748
BC
129172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12918
12919 Remove grub_script_cmdblock struct.
12920
12921 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12922 * script/parser.y: Likewise.
12923 * script/execute.c: Rename cmdblock suffix to cmdlist.
12924 * script/script.c: Likewise.
12925 * util/grub-script-check.c: Likewise.
12926
79a6ba61
YB
129272010-08-11 Yves Blusseau <blusseau@zetam.org>
12928
12929 * .bzrignore: add grub-macho2img
12930
d04b9414
VS
129312010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12934
f947ab49
VS
129352010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 Remove the dump of sm712 initialisation sequence.
12938
12939 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12940 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12941 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12942 (GRUB_VGA_CR_*): Added many registers.
12943 (GRUB_VGA_SR_*): Likewise.
12944 (GRUB_VGA_GR_*): Likewise.
12945 (grub_vga_write_arx): New function.
12946 (grub_video_hw_config): New struct.
12947 (grub_vga_set_geometry): New function.
12948 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12949 GRUB_PCI_CLASS_SUBCLASS_VGA.
12950 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12951 * video/sm712.c (grub_sm712_write_reg): New function
12952 (grub_sm712_read_reg): Likewise.
12953 (grub_sm712_sr_write): Likewise.
12954 (grub_sm712_gr_write): Likewise.
12955 (grub_sm712_cr_write): Likewise.
12956 (grub_sm712_write_arx): Likewise.
12957 (grub_sm712_cr_shadow_write): Likewise.
12958 (grub_sm712_write_dda_lookup): Likewise.
12959 (grub_video_sm712_setup): Initialise the video rather then
12960 blindly replay the dump.
12961 (main) [TEST]: Add a routine to be able to compile as standalone for
12962 tests.
12963 * video/sm712_init.c (sm712_init): Removed.
12964 (sm712_sr_seq1): New array.
12965 (sm712_sr_seq2): Likewise.
12966
f0206638
VS
129672010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * include/grub/vga.h: Add missing grub/pci.h include.
12970
2764da3b
YB
129712010-08-10 Yves Blusseau <blusseau@zetam.org>
12972
12973 * util/grub-macho2img.c (main): fix typo
12974
cf0c775e
VS
129752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12978 (grub_vga_gr_read): Likewise.
12979 (grub_vga_cr_write): Likewise.
12980 (grub_vga_cr_read): Likewise.
12981 (grub_vga_sr_write): Likewise.
12982 (grub_vga_sr_read): Likewise.
12983 (grub_vga_palette_read): Likewise.
12984 (grub_vga_palette_write): Likewise.
12985 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12986 (grub_sm712_sr_read): New function.
12987 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12988 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12989
07f360e9
RM
129902010-08-09 Robert Millan <rmh@gnu.org>
12991
12992 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
12993 out unused variables on non-ZFS build.
12994
346c2072
RM
129952010-08-08 Robert Millan <rmh@gnu.org>
12996
12997 Fix path generation for sub-filesystems in ZFS.
12998
12999 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13000 missing slash.
13001
71175420
RM
130022010-08-08 Robert Millan <rmh@gnu.org>
13003
13004 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13005
0d8286f3
RM
130062010-08-08 Robert Millan <rmh@gnu.org>
13007
13008 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13009 exist, issue a proper error message (rely on `ls' for translated
13010 strings).
13011
55dd2924
RM
130122010-08-08 Robert Millan <rmh@gnu.org>
13013
13014 Fix grub-probe invocation.
13015
13016 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13017
d3dd9e80
RM
130182010-08-04 Robert Millan <rmh@gnu.org>
13019
13020 * configure.ac: Remove checks for getfsstat() and getmntany().
13021 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13022 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13023 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13024 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13025 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13026 function.
13027 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13028 via find_mount_point_from_dir() and getfsstat() / getmntany().
13029
0de22aa9
RM
130302010-08-04 Robert Millan <rmh@gnu.org>
13031
13032 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13033 (grub_find_zpool_from_mount_point): Merge into ...
13034 (grub_find_zpool_from_dir): ... this.
13035 * kern/emu/misc.c: Likewise.
13036
13037 * kern/emu/misc.c
13038 (grub_make_system_path_relative_to_its_root): Replace
13039 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13040 with grub_find_zpool_from_dir().
13041 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13042
62858144
RM
130432010-08-04 Robert Millan <rmh@gnu.org>
13044
13045 Support OpenSolaris in ZFS device resolution.
13046
13047 * configure.ac: Check for getmntany().
13048 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13049 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13050 support.
13051
9dd6fd50
RM
130522010-08-03 Robert Millan <rmh@gnu.org>
13053
13054 Fix grub-emu build.
13055
13056 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13057 * include/grub/emu/misc.h: ... here.
13058
13059 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13060 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13061
13062 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13063 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13064 (grub_get_libzfs_handle): Move to ...
13065 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13066 (grub_get_libzfs_handle): ... here.
13067
c9f7ff97
BC
130682010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13069
13070 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13071 as command name case.
13072
a870a783
CW
130732010-08-02 Colin Watson <cjwatson@ubuntu.com>
13074
13075 * disk/raid.c (insert_array): Select unique numbers for named arrays
13076 as well, for use as keys in the disk cache.
13077
c7db243b
RM
130782010-08-01 Robert Millan <rmh@gnu.org>
13079
13080 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13081 kFreeBSD device name, except on ZFS where the filesystem label is
13082 used.
13083 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13084 `/boot/zfs/zpool.cache'.
13085 Set mountfrom kernel variable using ${kfreebsd_device}.
13086
f7abdefb
RM
130872010-08-01 Robert Millan <rmh@gnu.org>
13088
13089 Make it even harder to use uninitialized `libzfs_handle' (and
13090 make the interface a bit simpler).
13091
13092 * include/grub/util/misc.h (grub_util_init_libzfs)
13093 (libzfs_handle): Remove.
13094 (grub_get_libzfs_handle): New prototype.
13095
13096 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13097 attribute.
13098 (grub_util_init_libzfs): Remove.
13099 (grub_get_libzfs_handle): New function.
13100
13101 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13102 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13103 accessing `libzfs_handle' directly.
13104
c882acc0
RM
131052010-08-01 Robert Millan <rmh@gnu.org>
13106
13107 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13108 (grub_find_zpool_from_mount_point): New function prototypes.
13109
13110 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13111 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13112
13113 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13114 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13115 `static' attribute.
13116
13117 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13118 finding zpool from mount point into ...
13119 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13120
13121 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13122 requested path is part of a ZFS pool, use
13123 grub_find_zpool_from_mount_point() to detect its filesystem name,
13124 and generate a path with `/fsname@path' syntax.
13125
8bfe31d8
CW
131262010-08-01 Colin Watson <cjwatson@ubuntu.com>
13127
13128 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13129 (void) rather than () so that this is a proper prototype.
13130
553df63d
VS
131312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13134
8687cf07
VS
131352010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13138 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13139
ea9be8ea
CW
131402010-08-01 Colin Watson <cjwatson@ubuntu.com>
13141
13142 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13143
6eea041a
CW
131442010-08-01 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13147
2cfb45df
CW
131482010-08-01 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13151 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13152 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13153 disable gfxpayload.
13154 (Shell-like scripting): Add real content.
13155 (Serial terminal): Suggest `terminal_input serial; terminal_output
13156 serial' rather than putting the two commands on separate lines,
13157 since console input will be inoperative after the first command.
13158 (menuentry): Document --class, --users, and --hotkey options.
13159 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13160 Vladimir Serbinenko).
13161
7decd202
VS
131622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
131632010-08-01 Colin Watson <cjwatson@ubuntu.com>
13164
13165 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13166
c882acc0
RM
131672010-08-01 Robert Millan <rmh@gnu.org>
13168
13169 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13170 (grub_find_zpool_from_mount_point): New function prototypes.
13171
13172 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13173 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13174
13175 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13176 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13177 `static' attribute.
13178
13179 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13180 finding zpool from mount point into ...
13181 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13182
13183 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13184 requested path is part of a ZFS pool, use
13185 grub_find_zpool_from_mount_point() to detect its filesystem name,
13186 and generate a path with `/fsname@path' syntax.
13187
deb0caa3
RM
131882010-08-01 Robert Millan <rmh@gnu.org>
13189
13190 Prevent accidental use of uninitialized libzfs_handle.
13191
13192 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13193 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13194 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13195
ce04ef47
CW
131962010-08-01 Colin Watson <cjwatson@ubuntu.com>
13197
13198 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13199 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13200
ebf53056
RM
132012010-08-01 Robert Millan <rmh@gnu.org>
13202
13203 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13204
3710bb6b
RM
132052010-07-31 Robert Millan <rmh@gnu.org>
13206
13207 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13208
8072efeb
RM
132092010-07-31 Robert Millan <rmh@gnu.org>
13210
13211 * kern/emu/misc.c: Add missing license header.
13212
3169f4c7
RM
132132010-07-31 Robert Millan <rmh@gnu.org>
13214
13215 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13216
13217 * include/grub/util/libnvpair.h: Include `<config.h>'.
13218 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13219 declaring libnvpair prototypes ourselves.
13220 * include/grub/util/libzfs.h: Include `<config.h>'.
13221 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13222 declaring libzfs prototypes ourselves.
13223
13224 (libzfs_handle): Moved to ...
13225 * include/grub/util/misc.h (libzfs_handle): ... here.
13226 Include `<grub/util/libzfs.h>'.
13227
c9a00aee
RM
132282010-07-30 Robert Millan <rmh@gnu.org>
13229
13230 * include/grub/emu/misc.h: Add missing license header.
13231
a184f9c8
RM
132322010-07-30 Robert Millan <rmh@gnu.org>
13233
13234 Enable `grub-probe -t device' resolution on ZFS.
13235
13236 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13237 * include/grub/util/libnvpair.h: New file.
13238 * include/grub/util/libzfs.h: New file.
13239
13240 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13241 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13242 `<grub/util/libnvpair.h>'.
13243 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13244
13245 (find_mount_point_from_dir): New static function.
13246 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13247 function.
13248 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13249 find_root_device_from_libzfs() before ressorting to find_root_device().
13250
13251 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13252 prototype.
13253 * util/misc.c: Include `<grub/util/libzfs.h>'.
13254 (grub_util_init_libzfs): New function.
13255 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13256 [HAVE_LIBZFS] (fini_libzfs): New static function.
13257 (grub_util_init_libzfs): New function.
13258 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13259
f7790cdd
RM
132602010-07-30 Robert Millan <rmh@gnu.org>
13261
13262 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13263 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13264 `warn_unused_result' attribute.
13265 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13266 (grub_xasprintf, grub_xvasprintf): Likewise.
13267 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13268
0806b63c
RM
132692010-07-29 Robert Millan <rmh@gnu.org>
13270
13271 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13272 (probe): Handle `PRINT_FS_LABEL'.
13273 (main): Handle `-t fs_label'.
13274
9f841f5c
RM
132752010-07-29 Robert Millan <rmh@gnu.org>
13276
13277 * configure.ac: Remove grub-mkisofs checks.
13278
46371121
VS
132792010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13282 Reported by: Lennart Sorensen.
13283
132842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13287 prior to terminal_input/terminal_output separation. It's been over 1.5
13288 years and those versions weren't widely deployed.
13289
a9600892
CW
132902010-07-22 Colin Watson <cjwatson@ubuntu.com>
13291
13292 * disk/raid.c (insert_array): Don't count named arrays when looking
13293 for unused array numbers.
697e053c 13294 Reported and tested by: Michael Guntsche.
a9600892 13295
c03507df
CW
132962010-07-20 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13299 implementation of this so that grub-emu links again, with a note
13300 that this should support hotplugging in the future.
13301
b26f1c11
CW
133022010-07-20 Colin Watson <cjwatson@ubuntu.com>
13303
13304 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13305
efc9d7f1
CW
133062010-07-20 Colin Watson <cjwatson@ubuntu.com>
13307
13308 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13309 handle on failure.
13310 (grub_loopback_close): Remove empty function.
13311 (grub_loopback_dev): Remove close method.
13312
dd8ff5c9
CW
133132010-07-20 Colin Watson <cjwatson@ubuntu.com>
13314
13315 Disable EFI cursor when the EFI console becomes inactive.
13316
13317 * term/efi/console.c (grub_efi_console_init): New function.
13318 (grub_efi_console_fini): New function.
13319 (grub_console_term_output): Register init and fini methods.
13320
5e3bec67
VS
133212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13324 sh script.
13325
afaec079
VS
133262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * disk/loopback.c (grub_loopback): Replace filename with file.
13329 (delete_loopback): Handle new semantics.
13330 (grub_cmd_loopback): Likewise.
13331 (grub_loopback_iterate): Likewise.
13332 (grub_loopback_close): Likewise.
13333
a6a11f3c
VS
133342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13337 with -p "".
13338 Reported by: Tito Keitel.
13339
64a638b0
VS
133402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * docs/grub.texi (Naming convention): Document new naming convention.
13343
ab8ba957
VS
133442010-07-20 Vadim Solomin <vadic052@gmail.com>
133452010-07-20 Colin Watson <cjwatson@ubuntu.com>
13346
13347 Generate device.map in something closer to the old ordering.
13348
13349 * util/deviceiter.c (struct device): New declaration.
13350 (compare_file_names): Rename to ...
13351 (compare_devices): ... this. Sort by kernel name in preference to
13352 the stable by-id name, but keep the latter as a fallback comparison.
13353 Update header comment.
13354 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13355 of `struct device' rather than of plain file names.
13356
a29d6a4b
TF
133572010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13358
13359 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13360 on i386.
13361
39d824e8
VS
133622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13365 hardcoding size.
13366 (setv1table): Likewise.
13367
f058276b
FZ
133682010-07-20 Colin Watson <cjwatson@ubuntu.com>
13369
13370 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13371 removing the homehost if present.
13372 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13373 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13374 removing the homehost if present.
13375 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13376 if possible.
13377 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13378
13379 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13380 parameter. Set its pointer target to 0.
13381 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13382 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13383 `data_offset' value from the superblock for 1.x metadata.
13384 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13385 data on the device.
13386 (insert_array): Record the start sector of data on the device.
13387 (grub_raid_register): Pass start_sector parameters to
13388 grub_raid_list->detect and insert_array.
13389 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13390 member.
13391 (struct grub_raid): Add start_sector parameter to `detect'.
13392
13393 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13394 __attribute__ ((packed)), leaving a comment.
13395 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13396 (grub_mdraid_detect_09): ... here and ...
13397 (grub_mdraid_detect_1x): ... here.
13398
133992010-07-20 Peter Henn <peter.henn@web.de>
13400
13401 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13402 chunk size and disk size, which are already given as sector counts
13403 as distinct from the 0.90 units. Fetch the correct device number
13404 from the role table instead of using the table index.
13405
134062010-07-20 Felix Zielcke <fzielcke@z-51.de>
13407
13408 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13409 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13410 (WriteMostly1): New macro.
13411 Set array->name to NULL for metadata format 0.90. Add support for
13412 metadata 1.x. Fix some comments.
13413 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13414 few comments.
13415 * util/getroot.c (grub_util_get_grub_dev): Add support for
13416 /dev/md/name style devices.
13417
4b761da9
CW
134182010-07-20 Colin Watson <cjwatson@ubuntu.com>
13419
13420 * .bzrignore: Ignore 20_linux_xen.
13421
5771289a
CW
134222010-07-17 Colin Watson <cjwatson@ubuntu.com>
13423
13424 * util/import_unicode.py: Remove unnecessary imports.
13425
5dab68df
AN
134262010-07-17 Aleš Nesrsta <starous@volny.cz>
13427
13428 Hotplugging and USB hub support.
13429
13430 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13431 (grub_ohci): Likewise.
13432 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13433 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13434 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13435 (GRUB_OHCI_CTRL_EDS): Likewise.
13436 (GRUB_OHCI_BULK_EDS): Likewise.
13437 (GRUB_OHCI_TDS): Likewise.
13438 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13439 (grub_ohci_ed_phys2virt): New function.
13440 (grub_ohci_virt_to_phys): Likewise.
13441 (grub_ohci_td_phys2virt): Likewise.
13442 (grub_ohci_td_virt2phys): Likewise.
13443 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13444 attachment.
13445 (grub_ohci_find_ed): New function.
13446 (grub_ohci_alloc_td): Likewise.
13447 (grub_ohci_free_td): Likewise.
13448 (grub_ohci_free_tds): Likewise.
13449 (grub_ohci_transfer): Use previously allocated memory.
13450 (grub_ohci_portstatus): Reset status changed bit.
13451 (grub_ohci_detect_dev): Supply status changed.
13452 (grub_ohci_fini_hw): Free memory.
13453 (grub_ohci_restore_hw): Reallocate memory.
13454 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13455 Reset status change.
13456 (grub_uhci_detect_dev): Supply status_change.
13457 * bus/usb/usb.c (attach_hooks): New var.
13458 (grub_usb_device_attach): New function.
13459 (grub_usb_register_attach_hook_class): Likewise.
13460 (grub_usb_unregister_attach_hook_class): Likewise.
13461 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13462 (grub_usb_add_hub): Reset connection changed bit.
13463 (attach_root_port): New function.
13464 (grub_usb_root_hub): Likewise.
13465 (poll_nonroot_hub): Likewise.
13466 (grub_usb_poll_devices): Likewise.
13467 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13468 * disk/usbms.c (grub_usbms_open): Use device hooks.
13469 (grub_usbms_iterate) :Poll devices.
13470 (grub_usbms_finddevs): Split into ...
13471 (grub_usbms_attach): ... this ...
13472 (grub_usbms_attach): ... and this.
13473 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13474 in detect_dev.
13475 (grub_usb_interface): New fields attached and detach_hook.
13476 (grub_usb_attach_hook_class): New type.
13477 (grub_usb_attach_desc): New struct.
13478 (grub_usb_register_attach_hook_class): New function.
13479 (grub_usb_unregister_attach_hook_class): Likewise.
13480 (grub_usb_poll_devices): Likewise.
13481 (grub_usb_device_attach): Likewise.
13482 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13483 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13484
3222efaf
VS
134852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13488 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13489 delta determination style. Works with most NetBSD partitions too.
13490
139b714a
VS
134912010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13494 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13495
986aad56
VS
134962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13499
99be513c
AB
135002010-07-14 Anton Blanchard <anton@samba.org>
13501
13502 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13503 ET_DYN files.
13504
18075f62
GS
135052010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13506
13507 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13508
8d9a5b15
GS
135092010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13510
13511 * kern/partition.c (grub_partition_check_containment): New function to
13512 check that a partition is physically contained in a parent. Since
13513 offsets are relative (and non-negative), this reduces to checking that
13514 the partition ends before its parent.
13515 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13516 (grub_partition_iterate): Likewise.
13517 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13518 comments.
13519 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13520 partitions that start before their parent, and add debug printfs.
13521
19563c25
CW
135222010-07-13 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * Makefile.in (.SUFFIX): Spell correctly, as ...
13525 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13526 bare module name without `.mod', e.g. `test') tried to invoke a
13527 Modula-2 compiler.
13528
1a1f1e67
CW
135292010-07-13 Colin Watson <cjwatson@ubuntu.com>
13530
13531 * README: Point to the Info manual.
13532
811b0dca
JS
135332010-07-13 Jiro SEKIBA <jir@unicus.jp>
13534
13535 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13536 2nd superblock position from partition size.
13537
e4f4eafc
CW
135382010-07-10 Colin Watson <cjwatson@ubuntu.com>
13539
13540 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13541 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13542 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13543 outputs.
13544
4274c30f
VS
135452010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 Restructure SCSI .id handling.
13548 Reported and tested by: Aleš Nesrsta.
13549
13550 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13551 (grub_atapi_dev): Changed .name to "ata". New field .id.
13552 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13553 (grub_usbms_dev): New field .id.
13554 * disk/scsi.c (grub_scsi_iterate): Generate name.
13555 (grub_scsi_open): Parse name.
13556 * include/grub/scsi.h (grub_make_scsi_id): New function.
13557 (grub_scsi_dev): Change iterate and open to number instead of naming
13558 busses. All users updated.
13559 (grub_scsi): Remove name. Add .bus.
13560
5bc24388
VS
135612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * commands/help.c (grub_cmd_help): Fix a typo.
13564
249975ba
VS
135652010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13568 Reported and tested by: Colin Watson.
13569
3eaac1a1
VS
135702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13573 in this context.
13574
becce1b1
VS
135752010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13578
f7bf0918
CW
135792010-07-07 Colin Watson <cjwatson@ubuntu.com>
13580
13581 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13582 indentation.
13583
0b0f9620
CW
135842010-07-06 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13587 and disk/raid6_recover.c.
13588 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13589 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13590
1e545469
CW
135912010-07-06 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * term/gfxterm.c (repaint_schedulded): Rename to ...
13594 (repaint_scheduled): ... this. Update all callers.
13595 (repaint_was_schedulded): Rename to ...
13596 (repaint_was_scheduled): ... this. Update all callers.
13597
5357687a
CW
135982010-07-06 Colin Watson <cjwatson@ubuntu.com>
13599
13600 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13601 which we expect to be handled by upper layers.
13602
29d7e783
BC
136032010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13604
13605 * bus/usb/usbhub.c: #include time.h header.
13606
37582066
CW
136072010-07-06 Colin Watson <cjwatson@ubuntu.com>
13608
13609 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13610 entry_name also for entries without stat blocks (e.g. ".."); fixes
13611 corruption of the first entry in a directory.
13612
c8c06953
CW
136132010-07-06 Colin Watson <cjwatson@ubuntu.com>
13614
13615 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13616 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13617 doesn't work otherwise.
13618
e75056f1
CW
136192010-07-05 Colin Watson <cjwatson@ubuntu.com>
13620
13621 * docs/grub.texi (Features): Update list of supported file systems.
13622 (GNU/Linux): Update for GRUB 2.
13623 (Serial terminal): Remove mention of --disable-serial, which was a
13624 GRUB Legacy configure option. Update instructions to use
13625 `terminal_input' and `terminal_output' rather than `terminal'.
13626 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13627 configuration' and `Installing GRUB using grub-install'.
13628 (Menu entry editor): Update for GRUB 2.
13629 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13630 Document new -a, -u, and -v options.
13631 (initrd): New section.
13632 (initrd16): New section.
13633 (linux): New section.
13634 (linux16): New section.
13635 (search): The `var' argument to `--set' is optional.
13636 (GRUB only offers a rescue shell): Go into a little more detail on
13637 drive ordering.
13638
5cf69151
CW
136392010-07-05 Colin Watson <cjwatson@ubuntu.com>
13640
13641 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13642
e3f90044
CW
136432010-07-05 Colin Watson <cjwatson@ubuntu.com>
13644
13645 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13646 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13647
38d8f4f3
CW
136482010-07-05 Colin Watson <cjwatson@ubuntu.com>
13649
13650 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13651 install_prefix, in line with install_dos_part and install_bsd_part.
13652 Add new prefix variable, which is copied to install_prefix after
13653 comparing core.img in memory with the one read from disk in the
13654 no-embedding case, and use that rather than overwriting
13655 install_prefix immediately when installing to a partition.
13656 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13657 Bicakci.
13658
57ebd41e
GS
136592010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13660
13661 * configure.ac: Avoid == in test command, it's not portable.
13662 * util/grub.d/30_os-prober.in: Likewise.
13663
cb7f64b2
CW
136642010-07-04 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13667
6b654bb0
GS
136682010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13669
13670 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13671 multiple (top-level) partmaps.
13672
72a2026d
VS
136732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 13676 Reported by: Tino Keitel.
72a2026d 13677
df3eb88f
VS
136782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 Bidi and diacritics support.
13681
13682 * Makefile.in (widthspec.bin): New target.
13683 (widthspec.h): Likewise.
13684 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13685 * autogen.sh: Generate unidata.c.
13686 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13687 * commands/ls.c (grub_ls_list_devices): Likewise.
13688 (grub_ls_list_files): Likewise.
13689 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13690 (grub_mini_cmd_lsmod): Likewise.
13691 * commands/read.c: Likewise.
13692 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13693 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13694 * lib/arg.c (grub_arg_show_help): Likewise.
13695 * lib/crypto.c (grub_password_get): Likewise.
13696 * normal/auth.c (grub_username_get): Likewise.
13697 * normal/misc.c (grub_normal_print_device_info): Likewise.
13698 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13699 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13700 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13701 (normal/charset.c_DEPENDENCIES): New variable.
13702 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13703 (pkglib_MODULES): Remove charset.mod.
13704 (charset_mod_SOURCES): Removed.
13705 (charset_mod_CFLAGS): Likewise.
13706 (charset_mod_LDFLAGS): Likewise.
13707 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
13708 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
13709 and term/tparm.c.
13710 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13711 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13712 (kernel_img_HEADERS): Add terminfo.h.
13713 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
13714 Fill ->font. Reverse ascii bitmaps.
13715 (grub_font_get_xheight): New function.
13716 * font/font.c (grub_font_get_string_width): Moved from here ...
13717 * gfxmenu/font.c (grub_font_get_string_width): ... here.
13718 * font/font.c (grub_font_draw_string): Moved from here ...
13719 * gfxmenu/font.c (grub_font_draw_string): ... here.
13720 * font/font.c (grub_font_dup_glyph): New function.
13721 (grub_font_blit_glyph): Likewise.
13722 (grub_font_blit_glyph_mirror): Likewise.
13723 (blit_comb): Likewise.
13724 (grub_font_construct_dry_run): Likewise.
13725 (grub_font_get_constructed_device_width): Likewise.
13726 (grub_font_construct_glyph): Likewise.
13727 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
13728 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
13729 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
13730 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
13731 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
13732 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
13733 (grub_font_get_xheight): New proto.
13734 (grub_font_get_constructed_device_width): Likewise.
13735 (grub_font_construct_glyph): Likewise.
13736 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
13737 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
13738 * include/grub/font.h (grub_font_draw_string): Moved from here ...
13739 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
13740 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
13741 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
13742 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
13743 (grub_console_getcharwidth): Likewise.
13744 * include/grub/misc.h (grub_xputs): New proto.
13745 (grub_puts): Inlined.
13746 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
13747 (grub_normal_get_line_counter): Removed.
13748 (grub_install_newline_hook): Likewise.
13749 (grub_normal_get_char_counter): New proto.
13750 (grub_normal_reset_more): Likewise.
13751 (grub_xputs_normal): Likewise.
13752 * include/grub/powerpc/ieee1275/console.h: Removed.
13753 * include/grub/sparc64/ieee1275/console.h: Likewise.
13754 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
13755 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
13756 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
13757 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
13758 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
13759 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
13760 (grub_term_input): Pass reference to self. All users updated.
13761 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
13762 Pass reference to self. New fields normal_color, highlight_color and
13763 data. All users updated.
13764 (grub_putchar): Removed.
13765 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
13766 (grub_unicode_estimate_width): New function.
13767 (grub_term_getcharwidth): Add defaults.
13768 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
13769 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
13770 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
13771 (grub_cls): Remove EXPORT_FUNC.
13772 (grub_setcolorstate): Inline.
13773 (grub_newline_hook): Removed.
13774 * include/grub/terminfo.h: Rewritten. All users updated.
13775 * include/grub/unicode.h: New file.
13776 * include/grub/video.h (grub_video_signed_rect): New type.
13777 * kern/emu/console.c (grub_console_highlight_color): Removed.
13778 (grub_console_normal_color): Likewise.
13779 (grub_console_standard_color): Made static.
13780 (grub_ncurses_putchar): Remove mapping.
13781 (grub_ncurses_getcharwidth): Removed.
13782 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13783 (grub_ncurses_setcolor): Removed.
13784 (grub_ncurses_getcolor): Likewise.
13785 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
13786 (grub_console_putchar): ... this.
13787 (grub_console_putchar): Handle argument difference.
13788 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
13789 console_init_early and console_init_lately.
13790 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
13791 * kern/misc.c (grub_puts): Removed.
13792 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
13793 (grub_vsnprintf_real): Remove str = NULL support.
13794 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
13795 * normal/charset.c (grub_utf8_to_ucs4): ... here.
13796 * kern/term.c (grub_putcode): Renamed to ...
13797 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
13798 (grub_putchar): Removed.
13799 (grub_xputs_dumb): New function.
13800 (grub_xputs): New variable.
13801 * lib/charset.c: Move from here ...
13802 * normal/charset.c: ... to here.
13803 (grub_ucs4_to_utf8): New function.
13804 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
13805 (join_types): New variable.
13806 (unpack_join): New function.
13807 (bidi_types): New variable.
13808 (unpack_bidi): New function.
13809 (get_bidi_type): Likewise.
13810 (get_join_type): Likewise.
13811 (is_mirrored): Likewise.
13812 (grub_unicode_get_comb_type): Likewise.
13813 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
13814 (is_type_after): Likewise.
13815 (grub_unicode_aglomerate_comb): Likewise.
13816 (bidi_line_wrap): Likewise.
13817 (grub_bidi_line_logical_to_visual): Likewise.
13818 (grub_bidi_logical_to_visual): Likewise.
13819 (grub_unicode_mirror_code): Likewise.
13820 (grub_unicode_shape_code): Likewise.
13821 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
13822 Don't use grub_putchar.
13823 * normal/main.c (grub_normal_init_page): Use grub_putcode.
13824 (grub_normal_reader_init): Likewise.
13825 (grub_xputs_saved): New variable.
13826 (GRUB_MOD_INIT): Set grub_xputs.
13827 (GRUB_MOD_FINI): Restore grub_xputs.
13828 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
13829 (menu_init): Avoid printing gfxmenu error.
13830 (show_menu): Use grub_normal_get_char_counter.
13831 * normal/menu_entry.c (update_screen): Fix out-of-array.
13832 (complete): Avoid NULL dereferencing.
13833 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
13834 * normal/menu_text.c (print_spaces): Removed.
13835 (grub_print_ucs4): Likewise.
13836 (grub_print_message_indented): Use grub_print_ucs4.
13837 (print_message): Use grub_putcode.
13838 (print_entry): Hanlde diacritics.
13839 * normal/term.c (term_state): New type.
13840 (grub_more_lines): Removed.
13841 (term_states): New variable.
13842 (grub_normal_line_counter): Renamed to ..
13843 (grub_normal_char_counter): ...this. All users updated.
13844 (grub_normal_get_line_counter): Renamed to ...
13845 (grub_normal_get_char_counter): ... this.
13846 (grub_normal_reset_more): New function.
13847 (process_newline): Removed.
13848 (print_more): New function.
13849 (grub_install_newline_hook): Removed.
13850 (map_code): New function.
13851 (grub_puts_terminal): Use grub_print_ucs4.
13852 (putglyph): New function.
13853 (putcode_real): Likewise.
13854 (grub_putcode): Use putcode_real.
13855 (get_maxwidth): New function.
13856 (get_startwidth): Likewise.
13857 (print_ucs4_terminal): Likewise.
13858 (find_term_state): Likewise.
13859 (put_glyphs_terminal): Likewise.
13860 (print_backlog): Likewise.
13861 (print_ucs4_real): Likewise.
13862 (grub_print_ucs4): Likewise.
13863 (grub_xputs_normal): Likewise.
13864 * term/efi/console.c (grub_console_putchar): Output diacritics.
13865 (grub_console_getcharwidth): Removed.
13866 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13867 * term/gfxterm.c (clear_char): Free chars.
13868 (scroll_up): Avoid leaking memory.
13869 (grub_gfxterm_putchar): Support diacritics.
13870 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13871 * term/i386/pc/console.c (grub_console_term_output): Declare as
13872 GRUB_TERM_CODE_TYPE_VGA.
13873 * term/i386/pc/vga.c (grub_vga_term): Declare as
13874 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13875 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13876 GRUB_TERM_CODE_TYPE_VGA.
13877 * term/i386/vga_common.c (map_char): Removed.
13878 (grub_console_putchar): Likewise.
13879 (grub_console_getcharwidth): Likewise.
13880 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13881 (colors): Reordered to match terminfo.
13882 (grub_ofconsole_normal_color): Removed.
13883 (grub_ofconsole_writeesc): Likewise.
13884 (grub_ofconsole_highlight_color): Likewise.
13885 (grub_ofconsole_getcharwidth): Likewise.
13886 (grub_ofconsole_setcolorstate): Likewise.
13887 (grub_ofconsole_setcolor): Likewise.
13888 (grub_ofconsole_getcolor): Likewise.
13889 (grub_ofconsole_readkey): Renamed to ...
13890 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13891 key.
13892 (grub_ofconsole_checkkey): Removed.
13893 (grub_ofconsole_getkey): Likewise.
13894 (grub_ofconsole_getxy): Likewise.
13895 (grub_ofconsole_gotoxy): Likewise.
13896 (grub_ofconsole_cls): Likewise.
13897 (grub_ofconsole_refresh): Likewise.
13898 (grub_ofconsole_terminfo_input): New struct.
13899 (grub_ofconsole_terminfo_output): Likewise.
13900 (grub_ofconsole_term_input): Use terminfo.
13901 (grub_ofconsole_term_output): Likewise.
13902 (grub_console_init): Split into ...
13903 (grub_console_init_early): ...this and ...
13904 (grub_console_init_lately): ...this. Use terminfo.
13905 (grub_ofconsole_putchar): Renamed to ...
13906 (put): ... this. Remove mapping.
13907 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13908 * term/serial.c: Simplify using terminfo.
13909 (xpos): Removed.
13910 (ypos): Likewise.
13911 (keep_track): Likewise.
13912 (registered): Likewise.
13913 (input_buf): Likewise.
13914 (npending): Likewise.
13915 (serial_translate_key_sequence): Likewise.
13916 (fill_input_buf): Likewise.
13917 (grub_serial_checkkey): Likewise.
13918 (grub_serial_getkey): Likewise.
13919 (grub_serial_getxy): Likewise.
13920 (grub_serial_gotoxy): Likewise.
13921 (grub_serial_putchar): Likewise.
13922 (grub_serial_cls): Likewise.
13923 (grub_serial_setcolorstate): Likewise.
13924 (grub_serial_setcursor): Likewise.
13925 (serial_hw_init): Use serial_hw_fetch.
13926 (grub_serial_terminfo_input): New variable.
13927 (grub_serial_terminfo_output): Likewise.
13928 (grub_serial_term_input): Use terminfo.
13929 (grub_serial_term_output): Likewise.
13930 * term/terminfo.c (putstr): Use put.
13931 (grub_terminfo_all_free): New function
13932 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13933 (grub_terminfo_output_register): New function.
13934 (grub_terminfo_output_unregister): Likewise.
13935 (grub_terminfo_getxy): Likewise.
13936 (grub_terminfo_readkey): Likewise.
13937 (grub_terminfo_checkkey): Likewise.
13938 (grub_terminfo_getkey): Likewise.
13939 (grub_terminfo_input_init): Likewise.
13940 (print_terminfo): Likewise.
13941 (grub_cmd_terminfo): Handle encoding.
13942 (grub_terminfo_gotoxy): Track position.
13943 (grub_terminfo_cls): Likewise.
13944 (grub_terminfo_putchar): Likewise.
13945 (grub_terminfo_setcolorstate): Handle colors
13946 (grub_terminfo_cursor_on): This ...
13947 (grub_terminfo_cursor_off): ... and this merged into ...
13948 (grub_terminfo_setcursor): ... this.
13949 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13950 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13951 * unicode/BidiMirroring.txt: Likewise.
13952 * unicode/UnicodeData.txt: Likewise.
13953 * unicode/COPYING: Likewise.
13954 * util/grub-editenv.c (grub_putchar): Removed.
13955 (grub_xputs_real): New function.
13956 (grub_xputs): New variable.
13957 * util/grub-fstest.c (grub_putchar): Removed.
13958 (grub_xputs_real): New function.
13959 (grub_xputs): New variable.
13960 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13961 (grub_xputs_real): New function.
13962 (grub_xputs): New variable.
13963 * util/grub-probe.c (grub_putchar): Removed.
13964 (grub_xputs_real): New function.
13965 (grub_xputs): New variable.
13966 * util/grub-script-check.c (grub_putchar): Removed.
13967 (grub_xputs_real): New function.
13968 (grub_xputs): New variable.
13969 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13970 (grub_xputs_real): New function.
13971 (grub_xputs): New variable.
13972 * util/import_unicode.py: New file.
13973 * util/grub-mkfont.c (ft_errmsgs): New array.
13974 (grub_glyph_info): Make bitmap a pointer.
13975 (file_formats): New type WIDTH_SPEC.
13976 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13977 (options): Add width-spec.
13978 (help): Likewise.
13979 (add_char): Renamed to ...
13980 (add_glyph): ... this.
13981 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13982 (glyph_replace): New type.
13983 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13984 (add_char): New function.
13985 (add_subst): Likewise.
13986 (process_cursive): Likewise.
13987 (add_font): Handle GSUB.
13988 (write_font_width_spec): New function.
13989 (main): Sort glyphs.
13990 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13991 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
13992 * kern/term.c (grub_cls): Moved from here...
13993 * normal/term.c (grub_cls): ... here.
13994
50f0bcda
CW
139952010-07-02 Colin Watson <cjwatson@ubuntu.com>
13996
13997 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
13998 suitable for using within the format argument of printf when
13999 converting grub_size_t.
14000 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14001 "x" to convert grub_size_t arguments.
14002
40372103
VS
140032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14006 too long captions.
14007 (list_get_minimal_size): Take selection box into account.
14008
942a10c7
VS
140092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14012 NULL font.
14013
2bdb2892
CW
140142010-07-02 Colin Watson <cjwatson@ubuntu.com>
14015
14016 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14017 devices when iterating over /dev/disk/by-id; they will be handled
14018 later if appropriate, which they aren't always (e.g. LVM).
14019
e03ed6c1
CW
140202010-07-02 Colin Watson <cjwatson@ubuntu.com>
14021
14022 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14023 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14024 fails.
14025 (grub_halt): Likewise.
14026 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14027 reset-all fails.
14028 (grub_halt): Don't return, even if all of shut-down, power-off, and
14029 poweroff fail.
14030
47695765
CW
140312010-07-02 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14034 arguments, not three.
14035
507736c8
CW
140362010-07-02 Colin Watson <cjwatson@ubuntu.com>
14037
14038 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14039 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14040 LVM-on-RAID is handled correctly.
14041
e3c8cd37
CW
140422010-07-02 Colin Watson <cjwatson@ubuntu.com>
14043
14044 * docs/grub.texi (Changes from GRUB Legacy): New section.
14045 (Future): Fix typo.
14046
8d4a2fec
CW
140472010-07-02 Colin Watson <cjwatson@ubuntu.com>
14048
14049 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14050 grub.d/README accidentally ends up executable for one reason or
14051 another. Ignore it.
14052
1c4827be
VS
140532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14056 (gpt_partition_map_iterate): Support non-512B sectors.
14057
d9a0c941
VS
140582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14061 Tested by: Seth Goldberg.
14062
48f27e87
VS
140632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14066 Properly align mbi.
14067 Reported by: Seth Goldberg.
14068
b0c4f956
VS
140692010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * util/grub-mkrescue.in: Avoid module duplication.
14072
105a2e8c
SF
140732010-07-01 Sean Finney <seanius@seanius.net>
14074
14075 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14076
5944958c
SF
140772010-07-01 Sean Finney <seanius@seanius.net>
14078
14079 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14080
140812010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * disk/lvm.c (grub_lvm_checkvalue): New function.
14084 (grub_lvm_check_flag): Likewise.
14085
b79889ba
RM
140862010-07-01 Robert Millan <rmh@gnu.org>
14087
14088 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14089 Support 'p' as partition separator on kernel of FreeBSD (used
14090 with GPT labels).
14091 (grub_util_biosdisk_get_grub_dev): Likewise.
14092
ec1d04f1
VS
140932010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 Yeeloong firmware port.
14096
14097 * boot/mips/yeeloong/fwstart.S: New file.
14098 * bus/cs5536.c (gpiodump): New const.
14099 (set_io_space): New function.
14100 (set_iod): Likewise.
14101 (set_p2d): Likewise.
14102 (grub_cs5536_init_geode): Likewise.
14103 * commands/mips/yeeloong/lsspd.c: New file.
14104 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14105 (serial_mod_SOURCES): New variable.
14106 (serial_mod_CFLAGS): Likewise.
14107 (serial_mod_LDFLAGS): Likewise.
14108 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14109 term/terminfo.c and term/tparm.c.
14110 (pkglib_IMAGES): Add fwstart.img.
14111 (fwstart_img_SOURCES): New variable.
14112 (fwstart_img_CFLAGS): Likewise.
14113 (fwstart_img_ASFLAGS): Likewise.
14114 (fwstart_img_LDFLAGS): Likewise.
14115 (fwstart_img_FORMAT): Likewise.
14116 (pkglib_MODULES): Add lsspd.mod.
14117 (lsspd_mod_SOURCES): New variable.
14118 (lsspd_mod_CFLAGS): Likewise.
14119 (lsspd_mod_LDFLAGS): Likewise.
14120 (pkglib_MODULES): Add halt.mod.
14121 (halt_mod_SOURCES): New variable.
14122 (halt_mod_CFLAGS): Likewise.
14123 (halt_mod_LDFLAGS): Likewise.
14124 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14125 (serial_mod_SOURCES): Removed.
14126 (serial_mod_CFLAGS): Likewise.
14127 (serial_mod_LDFLAGS): Likewise.
14128 * disk/ata.c (check_device): New function.
14129 (grub_ata_device_initialize): Use check_device.
14130 (grub_ata_iterate): Recheck devices.
14131 (grub_ata_open): Likewise.
14132 (grub_atapi_iterate): Likewise.
14133 (grub_atapi_open): Likewise.
14134 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14135 (GRUB_ATA_CH1_PORT1): Likewise.
14136 (GRUB_ATA_CH0_PORT2): Likewise.
14137 (GRUB_ATA_CH1_PORT2): Likewise.
14138 * include/grub/mips/loongson.h: New file.
14139 * include/grub/mips/yeeloong/ec.h: Likewise.
14140 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14141 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14142 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14143 * include/grub/misc.h (grub_halt): Declare as noreturn.
14144 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14145 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14146 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14147 (UART_ENABLE_DTRRTS): Likewise.
14148 (UART_ENABLE_MODEM): Removed.
14149 (UART_ENABLE_OUT2): New const.
14150 * include/grub/term.h (grub_term_register_input_active): New function.
14151 (grub_term_register_output_active): Likewise.
14152 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14153 argument.
14154 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14155 (init_pci): New function.
14156 (grub_machine_init): Execute platform init when firmware. Init serial.
14157 (grub_halt): Implement.
14158 (grub_exit): Likewise.
14159 (grub_reboot): Likewise.
14160 * term/serial.c (serial_hw_init): Update macros.
14161 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14162 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14163 (image_targets): New target mipsel-yeeloong-flash.
14164 (generate_image): Support IMAGE_YEELOONG_FLASH.
14165 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14166 (grub_video_sm712_setup): Init card.
14167 (grub_video_sm712_set_palette): Removed.
14168 * video/sm712_init.c: New file.
14169
ff4a70d2
CW
141702010-06-30 Colin Watson <cjwatson@ubuntu.com>
14171
14172 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14173 PATH when running help2man and then run it on the unadorned
14174 executable names, rather than passing $(builddir)/* paths to
14175 help2man. This avoids the build directory ending up in generated
14176 manual pages.
14177
1246efeb
CW
141782010-06-29 Colin Watson <cjwatson@ubuntu.com>
14179
14180 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14181 to avoid accidents when debugging with 'sh -x'.
14182 * util/grub-mkrescue.in: Likewise.
14183 * util/grub.d/00_header.in: Likewise.
14184 * util/grub.d/10_hurd.in: Likewise.
14185 * util/grub.d/10_kfreebsd.in: Likewise.
14186 * util/grub.d/10_linux.in: Likewise.
14187 * util/grub.d/10_netbsd.in: Likewise.
14188 * util/grub.d/10_windows.in: Likewise.
14189 * util/grub.d/20_linux_xen.in: Likewise.
14190 * util/grub.d/30_os-prober.in: Likewise.
14191 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14192
1ba9b889
CW
141932010-06-29 Colin Watson <cjwatson@ubuntu.com>
14194
14195 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14196 last character in the buffer.
14197 Reported by: Vladimir Serbinenko.
14198
dccaf99d
RM
141992010-06-29 Robert Millan <rmh@gnu.org>
14200
14201 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14202 (Command-line and menu entry commands): Document `badram' command.
14203
d500ed12
RM
142042010-06-28 Robert Millan <rmh@gnu.org>
14205
14206 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14207 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14208 command using ${GRUB_BADRAM} as parameter.
14209
20bc84a6
CW
142102010-06-28 Colin Watson <cjwatson@ubuntu.com>
14211
14212 * docs/grub.texi (Device map): New section.
14213 (Themes): New section (stub).
14214 * Makefile.in (docs/grub.info): The info documentation now builds
14215 without errors. Make sure it stays that way.
14216
4045dee1
VS
142172010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Use normal parser for menu entries.
14220 Reported by: Thomas Frauendorfer
14221
14222 * include/grub/parser.h (grub_parser_execute): Don't export.
14223 * normal/menu.c (grub_menu_execute_entry_real): New function.
14224 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14225
bca58c7b
CW
142262010-06-28 Colin Watson <cjwatson@ubuntu.com>
14227
14228 * docs/grub.texi (Embedded configuration): New section (replacing
14229 old "Preset Menu" stub).
14230 (Images): New section.
14231 (configfile): Note that any menu entries defined in `file' are shown
14232 immediately.
14233
dec53e63
JT
142342010-06-28 Josh Triplett <josh@joshtriplett.org>
14235
14236 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14237
c06e40f7
CW
142382010-06-28 Colin Watson <cjwatson@ubuntu.com>
14239
14240 * util/grub-install.in: Add --debug-image= option.
14241
cb88052b
CW
142422010-06-28 Colin Watson <cjwatson@ubuntu.com>
14243
14244 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14245 possible on Linux.
14246
14247 * util/deviceiter.c (check_device): Rename to ...
14248 (check_device_readable_unique): ... this. Update all callers.
14249 Maintain and check a list of which devices (by canonicalized name)
14250 have already been seen.
14251 (clear_seen_devices): New function.
14252 (compare_file_names) [__linux__]: New function.
14253 (grub_util_iterate_devices): Clear the list of seen devices on exit
14254 and (just in case) on entry.
14255 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14256 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14257 seen-devices list, superseded by general code in check_device.
14258
bbe34652
CW
142592010-06-28 Colin Watson <cjwatson@ubuntu.com>
14260
14261 * commands/cat.c (options): New variable.
14262 (grub_cmd_cat): Parse options. If the --dos option is given, print
14263 DOS-style "\r\n" line endings as simple newlines (Debian bug
14264 #586358).
14265 (GRUB_MOD_INIT): Use extcmd.
14266 (GRUB_MOD_FINI): Likewise.
14267 * docs/grub.texi (cat): Document --dos.
14268
412e09f3
VS
142692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 XEN with Linux grub-mkconfig support.
14272
14273 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14274 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14275 GRUB_CMDLINE_XEN_DEFAULT.
14276 * util/grub.d/20_linux_xen.in: New file.
14277
53f3ef38 142782010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14279
14280 Initialise VGA video on qemu ourselves.
14281
14282 * boot/i386/qemu/boot.S: Don't call 0xc000.
14283 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14284 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14285 (kernel_img_HEADERS): Add pci.h.
14286 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14287 * configure.ac: Force unifont on qemu and yeeloong.
14288 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14289 (grub_vga_palette_write): Use correct register.
14290 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14291 Call grub_qemu_init_cirrus.
14292 * kern/i386/qemu/init.c: New file.
14293 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14294
14295 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14296
c75be4fb
PR
142972010-06-26 Pavel Roskin <proski@gnu.org>
14298
14299 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14300 13.
14301
d8034603
CW
143022010-06-26 Colin Watson <cjwatson@ubuntu.com>
14303
14304 * docs/grub.texi (Simple configuration): Explain that
14305 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14306 set to `true' to disable their respective recovery entries, not
14307 merely set.
14308
3fa06487
CW
143092010-06-26 Colin Watson <cjwatson@ubuntu.com>
14310
14311 Make the `source' command slightly faster.
14312
14313 * normal/main.c (grub_normal_execute): Don't re-read list files when
14314 nested.
14315
e9b29642
CW
143162010-06-23 Colin Watson <cjwatson@ubuntu.com>
14317
14318 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14319 field position and mask size to red fields from mode_info, not
14320 green.
14321 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14322 Remove redundant tag->common.framebuffer_type assignment.
14323 Reported by: Seth Goldberg.
14324
e726542f
CW
143252010-06-23 Colin Watson <cjwatson@ubuntu.com>
14326
14327 Sync up other versions of the Linux loader with Robert Millan's
14328 change of 2010-01-09, "Make loader output a bit more user-friendly".
14329
14330 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14331 grub_dprintf().
14332 (grub_cmd_linux): Likewise.
14333 (grub_cmd_initrd): Likewise.
14334 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14335 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14336
d6e98a17
CW
143372010-06-21 Colin Watson <cjwatson@ubuntu.com>
14338
14339 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14340 larger than MEMORY_MAP_SIZE.
14341
14d3f08e
BC
143422010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14343
14344 Fix parallel build.
14345
14346 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14347 dependency.
14348 * script/parser.y: #include grub_script.tab.h header.
14349
4f9613a3
VS
143502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 Support >3GiB and <16MiB RAM in i386-qemu.
14353
14354 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14355 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14356 (grub_lower_mem): Removed.
14357 (grub_upper_mem): Likewise.
14358 (mem_size): Made static.
14359 (above_4g): New variable.
14360 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14361 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14362 support.
14363
05e51879
VS
143642010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 Cirrus 5446 and Bochs video cards support.
14367
14368 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14369 video_bochs.mod
14370 (video_cirrus_mod_SOURCES): New variable.
14371 (video_cirrus_mod_CFLAGS): Likewise.
14372 (video_cirrus_mod_LDFLAGS): Likewise.
14373 (video_bochs_mod_SOURCES): Likewise.
14374 (video_bochs_mod_CFLAGS): Likewise.
14375 (video_bochs_mod_LDFLAGS): Likewise.
14376 * include/grub/vga.h: New file.
14377 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14378 (grub_video_fb_set_page_t): New type.
14379 (grub_video_fb_setup): New prototype.
14380 (grub_video_fb_swap_buffers): Likewise.
14381 (grub_video_fb_get_info_and_fini): Likewise.
14382 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14383 (CRTC_DATA_PORT): Likewise.
14384 (CRTC_CURSOR): Likewise.
14385 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14386 (CRTC_CURSOR_ADDR_LOW): Likewise.
14387 (CRTC_CURSOR_DISABLE): Likewise.
14388 (update_cursor): Use grub_vga_cr_write.
14389 (grub_vga_text_setcursor): Likewise.
14390 * video/bochs.c: New file.
14391 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14392 (palette): Likewise.
14393 (palette_size): Likewise.
14394 (framebuffer): New variable.
14395 (grub_video_fb_init): Use 'framebuffer'.
14396 (grub_video_fb_fini): Likewise.
14397 (grub_video_fb_get_info): Likewise.
14398 (grub_video_fb_get_palette): Likewise.
14399 (grub_video_fb_set_palette): Likewise.
14400 (grub_video_fb_set_viewport): Likewise.
14401 (grub_video_fb_get_viewport): Likewise.
14402 (grub_video_fb_map_color): Likewise.
14403 (grub_video_fb_map_rgb): Likewise.
14404 (grub_video_fb_map_rgba): Likewise.
14405 (grub_video_fb_unmap_color): Likewise.
14406 (grub_video_fb_unmap_color_int): Likewise.
14407 (grub_video_fb_fill_rect): Likewise.
14408 (grub_video_fb_blit_bitmap): Likewise.
14409 (grub_video_fb_blit_render_target): Likewise.
14410 (grub_video_fb_scroll): Likewise.
14411 (grub_video_fb_create_render_target): Likewise.
14412 (grub_video_fb_doublebuf_blit_init): Likewise.
14413 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14414 (doublebuf_pageflipping_update_screen): New function.
14415 (doublebuf_pageflipping_init): Likewise.
14416 (grub_video_fb_setup): Likewise.
14417 (grub_video_fb_swap_buffers): Likewise.
14418 (grub_video_fb_get_info_and_fini): Likewise.
14419 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14420 All users updated.
14421 (doublebuf_pageflipping_commit): Restructured into ...
14422 (doublebuf_pageflipping_set_page): ... this.
14423 (doublebuf_pageflipping_update_screen): Removed.
14424 (doublebuf_pageflipping_init): Likewise.
14425 (double_buffering_init): Likewise.
14426 (grub_video_vbe_setup): Use grub_video_fb_setup.
14427 (grub_video_vbe_swap_buffers): Removed.
14428 (grub_video_vbe_set_active_render_target): Likewise.
14429 (grub_video_vbe_get_active_render_target): Likewise.
14430 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14431 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14432 grub_video_fb_set_active_render_target and
14433 grub_video_fb_get_active_render_target.
14434 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14435 (SEQUENCER_DATA_PORT): Likewise.
14436 (MAP_MASK_REGISTER): Likewise.
14437 (CRTC_ADDR_PORT): Likewise.
14438 (CRTC_DATA_PORT): Likewise.
14439 (START_ADDR_HIGH_REGISTER): Likewise.
14440 (START_ADDR_LOW_REGISTER): Likewise.
14441 (GRAPHICS_ADDR_PORT): Likewise.
14442 (GRAPHICS_DATA_PORT): Likewise.
14443 (READ_MAP_REGISTER): Likewise.
14444 (INPUT_STATUS1_REGISTER): Likewise.
14445 (INPUT_STATUS1_VERTR_BIT): Likewise.
14446 (get_map_mask): Use grub_vga_sr_read.
14447 (set_map_mask): Use grub_vga_sr_write.
14448 (set_read_map): Use grub_vga_gr_write.
14449 (set_start_address): Use grub_vga_cr_write.
14450 * video/sm712.c (framebuffer): Remove leftover fields.
14451
4321c64a
CW
144522010-06-20 Colin Watson <cjwatson@ubuntu.com>
14453
14454 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14455 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14456 instead. Replace the gfxterm backend check with a check that
14457 ${GRUB_PREFIX}/video.lst is non-empty.
14458 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14459 again.
14460 (load_video): New generated function. Call it before loading
14461 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14462 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14463 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14464 * docs/grub.texi (Simple configuration): Document
14465 GRUB_VIDEO_BACKEND.
14466
144672010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Use video functions in linux and xnu loaders.
14470
14471 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14472 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14473 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14474 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14475 loader/i386/pc/linux.c.
14476 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14477 (find_line_len): Removed.
14478 (find_framebuf): Likewise.
14479 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14480 * loader/i386/efi/xnu.c: Removed.
14481 * loader/i386/pc/xnu.c: Moved from here...
14482 * loader/i386/xnu.c: ...here.
14483
14484 Enable priorities in video drivers.
14485
14486 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14487 (grub_video_adapter): New field prio.
14488 (grub_video_register): Respect prio when inserting.
14489 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14490 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14491 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14492 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14493 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14494 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14495 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14496
14497 Fix SDL driver ID.
14498
14499 * include/grub/video.h (grub_video_driver_id_t): New value
14500 GRUB_VIDEO_DRIVER_SDL.
14501 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14502
7d24e434
CW
145032010-06-17 Colin Watson <cjwatson@ubuntu.com>
14504
14505 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14506 argument to printf.
14507 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14508
c88a83f6
CW
145092010-06-17 Colin Watson <cjwatson@ubuntu.com>
14510
14511 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14512 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14513
094dfb69
CW
145142010-06-17 Colin Watson <cjwatson@ubuntu.com>
14515
14516 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14517 directly, and recommend grub-install instead.
14518 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14519
2164da6b
CW
145202010-06-17 Colin Watson <cjwatson@ubuntu.com>
14521
14522 Fix i386-pc prefix handling with nested partitions (Debian bug
14523 #585068). Note that the case where the core image is booted using
14524 multiboot and relocated from its original location still requires
14525 more work.
14526
14527 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14528 with "(,", fill the boot drive in between those two characters, but
14529 expect that a full partition specification including partition map
14530 names will follow.
14531 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14532 specified, write a prefix without the drive name but including a
14533 full partition specification.
14534
044e2e60
CW
145352010-06-16 Colin Watson <cjwatson@ubuntu.com>
14536
14537 * util/grub-mkconfig.in: Ignore non-option arguments, for
14538 compatibility with older versions (before 2010-06-12) which did the
14539 same. In particular, this makes it easier to ship an update-grub
14540 wrapper which is compatible with that used with GRUB Legacy (Debian
14541 bug #586056).
14542
5591324f
GS
145432010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14544
14545 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14546 for manual page generation.
14547
662e24d5
GS
145482010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14549
14550 * po/POTFILES: Remove leftover commands/handler.c.
14551
8d70754e
CW
145522010-06-14 Colin Watson <cjwatson@ubuntu.com>
14553
14554 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14555 left this script non-functional.
14556
41160e2e
CW
145572010-06-14 Colin Watson <cjwatson@ubuntu.com>
14558
14559 * docs/man/grub-emu.h2m: New file.
14560
b5309cc1
CW
145612010-06-13 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * docs/grub.texi (Commands): Document reduced command set in rescue
14564 mode.
14565 (cpuid): New section.
14566
fcb2d090
GS
145672010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14568
14569 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14570 new partition naming style.
14571 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14572
96e5c556
BC
145732010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14574
14575 Add "-o grub.iso" like cmdline options support.
14576
14577 * util/grub-install.in: Improve cmdline option parsing.
14578 * util/grub-mkconfig.in: Likewise.
14579 * util/grub-mkrescue.in: Likewise.
14580 * util/grub-reboot.in: Likewise.
14581 * util/grub-set-default.in: Likewise.
14582 * util/i386/efi/grub-install.in: Likewise.
14583 * util/ieee1275/grub-install.in: Likewise.
14584 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14585
c16be99b
CW
145862010-06-12 Colin Watson <cjwatson@ubuntu.com>
14587
14588 * .bzrignore: Ignore 41_custom.
14589
ce08a9fb
TS
145902010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14591
14592 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14593
7beac90c
CW
145942010-06-12 Colin Watson <cjwatson@ubuntu.com>
14595
14596 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14597 prototype declarations.
14598
14599 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14600 generating fs, partmap, and video lists.
14601 * include/grub/fs.h (grub_fs_register): Omit prototype if
14602 GRUB_LST_GENERATOR is defined.
14603 * include/grub/partition.h (grub_partition_map_register): Likewise.
14604 * include/grub/video.h (grub_video_register): Likewise.
14605
1c8f0f8d
JM
146062010-06-12 Javier Martín <lordhabbit@gmail.com>
14607
14608 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14609
a6085973
TS
146102010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14611
14612 * util/grub-mkrescue.in: Support --xorriso argument.
14613
25c56d29
VS
146142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14617 Suggested by: Thomas Schmitt.
14618
e03e4b24
VS
146192010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14622 Suggested by: Thomas Schmitt.
14623
57711df6
VS
146242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 custom.cfg support.
14627
14628 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14629 * util/grub.d/41_custom.in: New file.
14630
ee62c427
CW
146312010-06-12 Colin Watson <cjwatson@ubuntu.com>
14632
14633 * util/grub-mkrescue.in (make_image): Remove sh module, which has
14634 been merged back into normal.
14635
283af07a
CW
146362010-06-11 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14639 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14640
56a0d956
CW
146412010-06-11 Colin Watson <cjwatson@ubuntu.com>
14642
14643 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14644 when generating manual pages.
14645 * docs/man/grub-bin2h.h2m: New file.
14646 * docs/man/grub-editenv.h2m: New file.
14647 * docs/man/grub-fstest.h2m: New file.
14648 * docs/man/grub-install.h2m: New file.
14649 * docs/man/grub-macho2img.h2m: New file.
14650 * docs/man/grub-mkconfig.h2m: New file.
14651 * docs/man/grub-mkdevicemap.h2m: New file.
14652 * docs/man/grub-mkfont.h2m: New file.
14653 * docs/man/grub-mkimage.h2m: New file.
14654 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14655 * docs/man/grub-mkrelpath.h2m: New file.
14656 * docs/man/grub-mkrescue.h2m: New file.
14657 * docs/man/grub-ofpathname.h2m: New file.
14658 * docs/man/grub-pe2elf.h2m: New file.
14659 * docs/man/grub-probe.h2m: New file.
14660 * docs/man/grub-reboot.h2m: New file.
14661 * docs/man/grub-script-check.h2m: New file.
14662 * docs/man/grub-set-default.h2m: New file.
14663 * docs/man/grub-setup.h2m: New file.
14664
3a37e322
VS
146652010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 Use FOR_* macros instead of *_iterate whenever possible.
14668
14669 * commands/handler.c: Removed.
14670 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14671 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14672 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14673 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14674 (grub_probe_SOURCES): Remove kern/parser.c.
14675 (util/grub-script-check.c_DEPENDENCIES): Removed.
14676 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14677 and grub_script_check_init.c.
14678 (grub_script_check_init.lst): Removed.
14679 (grub_script_check_init.h): Likewise.
14680 (grub_script_check_init.c): Likewise.
14681 (pkglib_MODULES): Remove handler.mod and sh.mod.
14682 (handler_mod_SOURCES): Removed.
14683 (handler_mod_CFLAGS): Likewise.
14684 (handler_mod_LDFLAGS): Likewise.
14685 (normal_mod_SOURCES): Remove normal/handler.c.
14686 Add script/main.c, script/script.c, script/execute.c,
14687 script/function.c, script/lexer.c, grub_script.tab.c
14688 and grub_script.yy.c.
14689 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14690 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14691 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14692 (grub_setup_SOURCES): Remove kern/parser.c.
14693 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14694 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14695 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14696 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14697 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14698 (grub_setup_SOURCES): Remove kern/parser.c.
14699 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14700 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14701 * include/grub/command.h (grub_command_iterate): Removed.
14702 (FOR_COMMANDS): New macro.
14703 * include/grub/dl.h (grub_dl): New member next.
14704 (grub_dl_iterate): Removed.
14705 (grub_dl_head): New variable declaration.
14706 (FOR_DL_MODULES): New macro.
14707 * include/grub/fs.h: Include list.h.
14708 (grub_fs): Make next first element.
14709 (grub_fs_list): New variable declaration.
14710 (grub_fs_register): Make inline.
14711 (grub_fs_unregister): Likewise.
14712 (grub_fs_iterate): Removed.
14713 (FOR_FILESYSTEMS): New macro.
14714 * include/grub/handler.h: Removed.
14715 * include/grub/list.h (grub_list_hook_t): Removed.
14716 (grub_list_test_t): Likewise.
14717 (grub_list_pop): Likewise.
14718 (grub_list_iterate): Likewise.
14719 (grub_list_insert): Likewise.
14720 (FOR_LIST_ELEMENTS): New macro.
14721 * include/grub/parser.h (grub_parser_class): Removed.
14722 (grub_parser_register): Likewise.
14723 (grub_parser_unregister): Likewise.
14724 (grub_parser_get_current): Likewise.
14725 (grub_parser_set_current): Likewise.
14726 (grub_register_rescue_parser): Likewise.
14727 (grub_rescue_parse_line): New function.
14728 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
14729 * include/grub/script_sh.h (grub_script_function_list): New variable
14730 declaration.
14731 (FOR_SCRIPT_FUNCTIONS): New macro.
14732 (grub_script_function_iterate): Removed.
14733 (grub_normal_parse_line): New prototype.
14734 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
14735 (FOR_DISABLED_TERM_INPUTS): Likewise.
14736 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14737 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14738 * include/grub/video.h (grub_video_adapter): Move 'next' to first
14739 element.
14740 (grub_video_register): Inline.
14741 (grub_video_unregister): Likewise.
14742 (grub_video_adapter_list): New variable declaration.
14743 (grub_video_iterate): Removed.
14744 (FOR_VIDEO_ADAPTERS): New macro.
14745 * kern/dl.c (grub_dl_list): Removed. All users updated.
14746 (grub_dl_iterate): Removed.
14747 * kern/fs.c (grub_fs_list): Make global.
14748 (grub_fs_register): Removed.
14749 (grub_fs_unregister): Likewise.
14750 (grub_fs_iterate): Likewise.
14751 * kern/handler.c: Removed.
14752 * kern/list.c (grub_list_pop): Removed.
14753 (grub_list_iterate): Likewise.
14754 (grub_list_insert): Likewise.
14755 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
14756 (grub_prio_list_insert): Don't use grub_list_insert.
14757 * kern/main.c (grub_register_rescue_parser): Don't call
14758 grub_register_rescue_parser.
14759 * kern/parser.c (grub_parser_class): Removed.
14760 (grub_parser_execute): Use grub_rescue_parse_line.
14761 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
14762 (grub_rescue_parser): Removed.
14763 (grub_register_rescue_parser): Likewise.
14764 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
14765 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
14766 (grub_auth_check_authentication): Likewise.
14767 * normal/completion.c (iterate_command): Removed.
14768 (grub_normal_do_completion): Use FOR_COMMANDS.
14769 * normal/handler.c: Removed.
14770 * normal/main.c (read_config_file): Remove parser changing.
14771 (grub_normal_execute): Don't call read_handler_list.
14772 (grub_normal_read_line_real): Statically allocate prompt.
14773 (grub_cmdline_run): Use grub_normal_parse_line.
14774 (GRUB_MOD_FINI): Don't call free_handler_list.
14775 * normal/menu_entry.c (run): Likewise.
14776 * script/function.c (grub_script_function_list): Make global.
14777 (grub_script_function_iterate): Removed.
14778 * script/main.c (grub_normal_parse_line): Make global.
14779 (grub_sh_parser): Removed.
14780 (GRUB_MOD_INIT): Likewise.
14781 (GRUB_MOD_FINI): Likewise.
14782 * tests/lib/functional_test.c (grub_functional_test): Use
14783 FOR_LIST_ELEMENTS.
14784 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
14785 (grub_test_run): Use FOR_LIST_ELEMENTS.
14786 * tests/lib/unit_test.c (main): Likewise.
14787 * util/deviceiter.c (grub_util_iterate_devices): Don't use
14788 grub_list_pop.
14789 * util/grub-fstest.c (grub_term_input_class): Removed.
14790 (grub_term_output_class): Likewise.
14791 * util/grub-probe.c: Likewise.
14792 * util/i386/pc/grub-setup.c: Likewise.
14793 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14794 * util/grub-script-check.c (main): Don't call grub_init_all and
14795 grub_fini_all.
14796 * video/video.c (grub_video_adapter_list): Make global.
14797 (grub_video_register): Removed.
14798 (grub_video_unregister): Likewise.
14799 (grub_video_iterate): Likewise.
14800
6289c3a7
VS
148012010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
14804 reported by Henrique Ferreiro.
14805
91460247
RM
148062010-06-09 Robert Millan <rmh@gnu.org>
14807
14808 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
14809 ones, when both are available.
14810
0ea7c4f9
GS
148112010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14812
14813 Make --version uniform and avoid hard-coded program name.
14814
14815 * util/grub-mkimage.c (main): Use `program_name' instead of
14816 hard-coded string.
14817 * util/i386/pc/grub-setup.c (main): Likewise.
14818 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
14819 * util/grub-install.in: Save the basename of $0 in $self, and use the
14820 latter in informational messages. Use the same format for --version
14821 as the binary programs.
14822 * util/grub-mkconfig.in: Likewise.
14823 * util/grub-mkrescue.in: Likewise.
14824 * util/grub-reboot.in: Likewise.
14825 * util/grub-set-default.in: Likewise.
14826 * util/i386/efi/grub-install.in: Likewise.
14827 * util/ieee1275/grub-install.in: Likewise.
14828 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14829
e8a6f3b6
GS
148302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14831
14832 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
14833 embedding area. Use <= instead of == when checking for non-emptiness.
14834
f4d095d7
GS
148352010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14836
14837 * configure.ac: Add `.' to the directories searched for unifont.
14838
50e532ca
CW
148392010-06-08 Colin Watson <cjwatson@ubuntu.com>
14840
14841 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
14842 grub_script.yy.h.
14843
d39f3dec
CW
148442010-06-08 Colin Watson <cjwatson@ubuntu.com>
14845
14846 * docs/grub.texi (History): Expand to cover GRUB 2.
14847 (Serial terminal): Refer to `terminal_input' and `terminal_output'
14848 commands, not `terminal'.
14849 (serial): Likewise.
14850 (terminal_input): New section.
14851 (terminal_output): New section.
14852 (uppermem): New section (stub).
14853 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
14854
6ef0ddb4
CW
148552010-06-08 Colin Watson <cjwatson@ubuntu.com>
14856
14857 * docs/grub.texi (Security): Menu entries are unrestricted by
14858 default, not restricted to superusers as I had previously thought.
14859 Reword to account for this.
14860
e0f4c438
CW
148612010-06-07 Colin Watson <cjwatson@ubuntu.com>
14862
14863 * kern/emu/misc.c (device_mapper_null_log): New function.
14864 (grub_device_mapper_supported): New function.
14865 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
14866 prototype.
14867 * kern/emu/hostdisk.c (find_partition_start): Check whether
14868 device-mapper is supported before trying to use it.
14869 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14870
da908200
CW
148712010-06-07 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14874 (File name syntax): Likewise.
14875 (help): --all is no longer supported in GRUB 2. Be more precise
14876 about pattern matching.
14877
fb55c3ac
CW
148782010-06-07 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * normal/completion.c (grub_normal_do_completion): When completing
14881 arguments to "set" and the current word contains an equals sign,
14882 skip to after the equals sign before starting completion.
14883
258c2573
CW
148842010-06-07 Colin Watson <cjwatson@ubuntu.com>
14885
14886 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14887
ee75515e
CW
148882010-06-07 Colin Watson <cjwatson@ubuntu.com>
14889
14890 * docs/grub.texi (Network): New section.
14891 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14892 `(nd)' as in GRUB Legacy.
14893 (pxe_unload): New section.
14894
a6a700aa
CW
148952010-06-07 Colin Watson <cjwatson@ubuntu.com>
14896
14897 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14898 in the rescue shell, so recommend using `set' instead. Thanks,
14899 Jordan Uggla.
14900
4003dd38
CW
149012010-06-07 Colin Watson <cjwatson@ubuntu.com>
14902
14903 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14904 (password): New section.
14905 (password_pbkdf2): New section.
14906 (search): New section.
14907 (Security): New section.
14908 (Troubleshooting): New section, currently very incomplete.
14909 (Invoking grub-mkpasswd-pbkdf2): New section.
14910 (Internals): New section, currently very incomplete.
14911
e1cbcc40
CW
149122010-06-07 Colin Watson <cjwatson@ubuntu.com>
14913
14914 * util/grub.d/00_header.in: Add some more quoting (of
14915 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14916 work again.
14917 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14918
db8fa1ad
CW
149192010-06-07 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14922 to `count', fixing variable shadowing that broke the -c option.
14923
149242010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
14925
14926 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14927 in case they contain spaces.
14928
f28a9212
CW
149292010-06-04 Colin Watson <cjwatson@ubuntu.com>
14930
14931 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14932 "part_" to partmap module names, in line with grub-install.
14933 Reported by: Jindřich Makovička (Debian bug #584426).
14934
9cdfe32f
CW
149352010-06-04 Colin Watson <cjwatson@ubuntu.com>
14936
14937 * util/grub-mkimage.c: Make target-related error messages slightly
14938 more helpful; -O talks about "format". Explicitly point to the use
14939 of -O if no target is specified.
14940 Reported by: Didier Raboud (Debian bug #584415).
14941
795b593a
CW
149422010-06-03 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * INSTALL: Document several build requirements for optional features
14945 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14946
9d9b5833
GS
149472010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14948
14949 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14950 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14951 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14952
0819fec8
CW
149532010-06-02 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14956 Thanks to Jordan Uggla for spotting this.
14957
49396b4f
VS
149582010-06-02 Aleš Nesrsta <starous@volny.cz>
14959
14960 Finally make USB usable.
14961
14962 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14963 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14964 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14965 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14966 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14967 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14968 (GRUB_OHCI_FSMPS): Likewise.
14969 (GRUB_OHCI_PERIODIC_START): Likewise.
14970 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14971 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14972 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14973 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14974 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14975 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14976 (grub_ohci_transaction): Likewise.
14977 (grub_ohci_transfer): Improve condition detection algorithms.
14978 Handle toggle property. Program the transactions correctly.
14979 Improve error handling. Various important fixups.
14980 (grub_ohci_portstatus): Put register writes in right order.
14981 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14982 (grub_uhci_transfer): Don't show "failed" message on success.
14983 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14984 array.
14985 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14986 determine its size.
14987 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14988 before initialization is completed. Use IN direction for empty
14989 transfers. Use last_trans and compute toggle.
14990 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14991 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
14992 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
14993 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
14994 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
14995 (grub_usb_device): Increase toggle to 256.
14996 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
14997 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
14998 GRUB_USBMS_SUBCLASS_SFF8070.
14999 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15000 (grub_scsi_inquiry): New member page and alloc_length.
15001 (grub_scsi_request_sense): New structure.
15002 (grub_scsi_request_sense_data): Likewise.
15003 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15004 control.
15005 * disk/scsi.c (grub_scsi_request_sense): New function.
15006 (grub_scsi_test_unit_ready): Likewise.
15007 (grub_scsi_inquiry): Fill new fields.
15008 (grub_scsi_read_capacity): Likewise.
15009 (grub_scsi_read10): Add request sense at the end.
15010 (grub_scsi_read12): Likewise.
15011 (grub_scsi_write10): Likewise.
15012 (grub_scsi_write12): Likewise.
15013 (grub_scsi_open): Add Test Unit Ready.
15014 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15015 Support additional subclasses. Con't clear halt yet. Activate the
15016 proper config. Calculate LUNs correctly.
15017 (grub_usbms_transfer): Various important fixups.
15018
150192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15022 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15023 (grub_ohci_fini_hw): New function.
15024 (grub_ohci_restore_hw): Likewise.
15025 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15026 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15027 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15028
150292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Dedicated DMA allocations.
15032
15033 * bus/pci.c (grub_memalign_dma32): New function
15034 (grub_dma_free): Likewise.
15035 (grub_dma_get_virt): Likewise.
15036 (grub_dma_get_phys): Likewise.
15037 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15038 (grub_ohci_pci_iter): Use dma32_alloc.
15039 (grub_ohci_transfer): Likewise.
15040 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15041 (grub_usb_bulk_readwrite): Likewise.
15042 * include/grub/pci.h: Add declarations.
15043
150442010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 CS5536 support.
15047
15048 * bus/cs5536.c: New file.
15049 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15050 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15051 (cs5536_mod_SOURCES): New variable.
15052 (cs5536_mod_CFLAGS): Likewise.
15053 (cs5536_mod_LDFLAGS): Likewise.
15054 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15055 machine/pci.h.
15056 (kernel_img_SOURCES): Add bus/cs5536.c.
15057 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15058 usb_keyboard.mod.
15059 (usb_mod_SOURCES): New variable.
15060 (usb_mod_CFLAGS): New variable.
15061 (usb_mod_LDFLAGS): New variable.
15062 (usbtest_mod_SOURCES): New variable.
15063 (usbtest_mod_CFLAGS): New variable.
15064 (usbtest_mod_LDFLAGS): New variable.
15065 (ohci_mod_SOURCES): New variable.
15066 (ohci_mod_CFLAGS): New variable.
15067 (ohci_mod_LDFLAGS): New variable.
15068 (usbms_mod_SOURCES): New variable.
15069 (usbms_mod_CFLAGS): New variable.
15070 (usbms_mod_LDFLAGS): New variable.
15071 (usb_keyboard_mod_SOURCES): New variable.
15072 (usb_keyboard_mod_CFLAGS): New variable.
15073 (usb_keyboard_mod_LDFLAGS): New variable.
15074 * include/grub/smbus.h: New file.
15075 * include/grub/cs5536.h: New file.
15076
0b35b2a9
CW
150772010-06-02 Colin Watson <cjwatson@ubuntu.com>
15078
15079 * util/grub.d/00_header.in: Add safety check to make sure that
15080 ${locale_dir} exists before trying to probe it.
15081
ca0afd5b
CW
150822010-06-02 Colin Watson <cjwatson@ubuntu.com>
15083
15084 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15085 per the GNU Coding Standards; this is now too obscure to be worth
15086 documenting.
15087 (QNX): Likewise.
15088 (chainloader): Remove cross-reference to `SCO UnixWare'.
15089
1c41aa78
CW
150902010-06-02 Colin Watson <cjwatson@ubuntu.com>
15091
15092 * docs/grub.texi (Chain-loading): New section.
15093 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15094 adjusted for GRUB 2.
15095 (SCO UnixWare): Likewise.
15096 (QNX): Likewise.
15097 (chainloader): Add reference to `Block list syntax'.
15098 (drivemap): New section.
15099 (parttool): New section.
15100
bb8ea0f5
CW
151012010-06-02 Colin Watson <cjwatson@ubuntu.com>
15102
15103 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15104 the grub shell'.
15105 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15106 (Installing GRUB using grub-install): Remove reference to the grub
15107 shell; mention `grub-mkimage' and `grub-setup' instead.
15108 (Invoking grub-install): Likewise.
15109 (Interface): Add reference to `Menu entry editor'.
15110 (serial): Remove `--device' option.
15111
288dd6ed
CW
151122010-06-02 Colin Watson <cjwatson@ubuntu.com>
15113
15114 * docs/grub.texi (Configuration): New section, documenting
15115 configuration file generation using grub-mkconfig. I've left a slot
15116 for documenting the full shell scripting format but have not yet
15117 started on writing that up.
15118 (Invoking grub-mkconfig): New section.
15119
34c9f0e9
CW
151202010-06-02 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15123 (GNU GRUB manual): Likewise.
15124 (General commands): Update description of `terminfo' for GRUB 2.
15125
9121567e
CW
151262010-06-02 Colin Watson <cjwatson@ubuntu.com>
15127
15128 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15129 (GRUB_MOD_INIT): Fix capitalisation.
15130 * docs/grub.texi (Command-line and menu entry commands): Document
15131 gettext and gptsync commands.
15132
ab631611
CW
151332010-06-02 Colin Watson <cjwatson@ubuntu.com>
15134
15135 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15136 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15137
bde4a9ac
CW
151382010-06-01 Colin Watson <cjwatson@ubuntu.com>
15139
15140 Add btrfs probing support, currently only in the single-device case.
15141
15142 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15143 function.
15144 (grub_guess_root_device): Call find_root_device_from_mountinfo
15145 before looking in /dev.
15146
b1d17e10
VS
151472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15150 GRUB_DISK_SIZE_UNKNOWN.
15151 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15152
dfbfe004
JS
151532010-05-31 Jiro SEKIBA <jir@unicus.jp>
15154
15155 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15156 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15157 corrupted or not synced properly.
15158
c2ffc8e9
VS
151592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15162 Reported by: Seth Goldberg.
15163
56293166
VS
151642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15167 addition of dest.
15168 Reported by: Seth Goldberg.
15169
7620e7de
VS
151702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15173 Reported by: Seth Goldberg.
15174
c837af3f
VS
151752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15178 64-bit address as signed on MIPS.
15179
c7c75cf4
CW
151802010-05-28 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15183 to the empty string.
15184
fa4b8490
BC
151852010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15186
15187 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15188
15189 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15190 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15191 * kern/misc.c (__enable_execute_stack): Disable on
15192 GRUB_MACHINE_EMU.
15193
a33075b9
CW
151942010-05-28 Colin Watson <cjwatson@ubuntu.com>
15195
15196 Make grub-probe work with symbolic links under /dev/mapper as well
15197 as with real block devices. The Linux world seems to be (at best)
15198 in transition here, and GRUB shouldn't get caught in the middle.
15199
15200 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15201 /dev/mapper.
15202
d8708134
CW
152032010-05-27 Colin Watson <cjwatson@ubuntu.com>
15204
15205 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15206 input files (in which case exit zero).
15207
db2102a0
CW
152082010-05-27 Colin Watson <cjwatson@ubuntu.com>
15209
15210 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15211 return NULL for various reasons even if it has a maximum-length
15212 buffer: for example, there might be a symlink loop, or the path
15213 might exceed PATH_MAX. If this happens, return NULL.
15214
5fdba519
RM
152152010-05-27 Robert Millan <rmh@gnu.org>
15216
15217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15218 partmap module to handle cross-partmap setups.
15219 Reported by Orestes Mas. Gràcies!
15220
d1d368e4
CW
152212010-05-27 Colin Watson <cjwatson@ubuntu.com>
15222
15223 * util/grub-mkrescue.in: Initialise override_dir rather than
15224 assuming that it's unset or empty in the environment.
15225
95ac3c73
GS
152262010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15227
15228 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15229 variable index into p_index to suppress a warning with -Wshadow.
15230
7d8c0213
BC
152312010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15232
15233 * INSTALL: Added flex >= 2.5.35 requirement.
15234
db4d5813
VS
152352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15238
f24f4300
VS
152392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 cmostest support.
15242
15243 * commands/i386/cmostest.c: New file.
15244 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15245 (cmostest_mod_SOURCES): New variable.
15246 (cmostest_mod_CFLAGS): Likewise.
15247 (cmostest_mod_LDFLAGS): Likewise.
15248 * conf/i386-pc.rmk: Likewise.
15249 * docs/grub.texi (Vendor power-on keys): New section.
15250 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15251 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15252 and GRUB_BUTTON_CMOS_ADDRESS.
15253 * util/grub.d/00_header.in: Handle powering-on by separate button.
15254
ad603f61
VS
152552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15258 Removed drawing_scrollbar argument. All users updated
15259 Fixes #29792.
15260 Reported by Jo Shields
15261
3ecb080a
VS
152622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15265 buffer since gfxterm handles double repaint.
15266
5f2316c1
VS
152672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15270 * term/gfxterm.c (real_scroll): Likewise.
15271
9a25f885
VS
152722010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15275 before calling BIOS.
15276
39fbb79a
VS
152772010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * include/grub/i18n.h: Always enable grub_gettext.
15280
228cfa97
VS
152812010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15284 partition naming style.
15285
21717c8f
CW
152862010-05-21 Colin Watson <cjwatson@ubuntu.com>
15287
15288 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15289 not the first option.
15290
c0f48e65
CW
152912010-05-20 Colin Watson <cjwatson@ubuntu.com>
15292
15293 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15294
96779aec
CW
152952010-05-20 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * util/misc.c: Move inclusion of <limits.h> to ...
15298 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15299
fa9d256e
GS
153002010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15301
15302 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15303 Fix merge error in NetBSD code.
15304 (find_partition_start) [__NetBSD__]: Likewise.
15305
123b7a85
BC
153062010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15307
15308 Fix grub-mkrescue usage unit testing.
15309
15310 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15311
74276c0d
CF
153122010-05-18 Christian Franke <franke@computer.org>
15313
15314 * util/grub.d/10_windows.in: Use path names instead of
15315 drive letters to prevent warning from Cygwin 1.7.
15316 Add drivemap command to menuentry if needed.
15317
c4f7b523
ST
153182010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15319
15320 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15321 gnumach and gnumach.gz.
15322
95b97950
VS
153232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * include/grub/i18n.h (gettext): Inline instead of using #define.
15326 (grub_gettext): Likewise.
15327 (_): Likewise.
15328
01b8d2d7
VS
153292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15332 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15333 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15334 (main): Add a slash after pkglibdirroot.
15335
654e1d1e
VS
153362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * util/grub-install.in: Add missing "in" keyword.
15339
26966aeb
VS
153402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15343 Reported by: Seth Goldberg.
15344
75006747
VS
153452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15348
74cbf5bd
CW
153492010-05-18 Colin Watson <cjwatson@ubuntu.com>
15350
15351 * configure.ac: Check for Linux device-mapper support.
15352
15353 * util/hostdisk.c (device_is_mapped): New function.
15354 (find_partition_start): New function, partly broken out from
15355 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15356 device-mapper support added.
15357 (linux_find_partition): Use find_partition_start.
15358 (convert_system_partition_to_system_disk): Add `st' argument.
15359 Support Linux /dev/mapper/* devices if device-mapper support is
15360 available; only DM-RAID devices are understood at present.
15361 (find_system_device): Add `st' argument. Pass it to
15362 convert_system_partition_to_system_disk.
15363 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15364 find_system_device and convert_system_partition_to_system_disk. Use
15365 find_partition_start.
15366
15367 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15368 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15369 * util/deviceiter.c [__linux__]: Define MINOR.
15370 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15371 * util/mkdevicemap.c (grub_putchar): New function.
15372 (grub_getkey): New function.
15373 (grub_refresh): New function.
15374 (main): Set debug=all if -v -v is used.
15375
355b51e9
CW
153762010-05-18 Colin Watson <cjwatson@ubuntu.com>
15377
15378 Fix build with non-GNU libcs.
15379
15380 * util/misc.c (canonicalize_file_name): Move to ...
15381 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15382 grub_make_system_path_relative_to_its_root.
15383
7fb5c25f
CW
153842010-05-18 Colin Watson <cjwatson@ubuntu.com>
15385
15386 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15387 we handle finding grub-mkimage. Default to finding grub-mkimage in
15388 ${bindir} with program_transform_name applied, and provide a
15389 --grub-mkimage option to override this.
15390
1d3293d6
VS
153912010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 Remove grub-mkisofs.
15394
15395 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15396 (grub_mkisofs_SOURCES): Removed.
15397 (grub_mkisofs_CFLAGS): Removed.
15398 * util/mkisofs/defaults.h: Removed.
15399 * util/mkisofs/eltorito.c: Likewise.
15400 * util/mkisofs/exclude.h: Likewise.
15401 * util/mkisofs/hash.c: Likewise.
15402 * util/mkisofs/include/: Likewise.
15403 * util/mkisofs/include/fctldefs.h: Likewise.
15404 * util/mkisofs/include/mconfig.h: Likewise.
15405 * util/mkisofs/include/prototyp.h: Likewise.
15406 * util/mkisofs/include/statdefs.h: Likewise.
15407 * util/mkisofs/iso9660.h: Likewise.
15408 * util/mkisofs/joliet.c: Likewise.
15409 * util/mkisofs/match.c: Likewise.
15410 * util/mkisofs/match.h: Likewise.
15411 * util/mkisofs/mkisofs.c: Likewise.
15412 * util/mkisofs/mkisofs.h: Likewise.
15413 * util/mkisofs/msdos_partition.h: Likewise.
15414 * util/mkisofs/multi.c: Likewise.
15415 * util/mkisofs/name.c: Likewise.
15416 * util/mkisofs/rock.c: Likewise.
15417 * util/mkisofs/tree.c: Likewise.
15418 * util/mkisofs/write.c: Likewise.
15419
5dde9afe
VS
154202010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Unify grub-mkimage accross platforms.
15423
15424 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15425 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15426 (grub_mkelfimage_SOURCES): Removed.
15427 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15428 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15429 (bin_UTILITIES): Add grub-mkimage.
15430 (grub_mkimage_SOURCES): New variable.
15431 (kernel_img_HEADERS): Remove machine/kernel.h.
15432 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15433 (pkglib_PROGRAMS): Add kernel.img.
15434 (kernel_img_HEADERS): Add machine/kernel.h.
15435 (kernel_img_FORMAT): Removed.
15436 (bin_UTILITIES): Remove grub-mkimage.
15437 (grub_mkimage_SOURCES): Removed.
15438 (grub_mkimage_CFLAGS): Likewise.
15439 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15440 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15441 (pkglib_PROGRAMS): Add kernel.img.
15442 (bin_UTILITIES): Remove grub-mkimage.
15443 (grub_mkimage_SOURCES): Removed.
15444 (grub_mkimage_CFLAGS): Likewise.
15445 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15446 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15447 (pkglib_PROGRAMS): Add kernel.img.
15448 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15449 (pkglib_PROGRAMS): Add kernel.img.
15450 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15451 (grub_mkimage_SOURCES): Removed.
15452 (grub_mkimage_CFLAGS): Likewise.
15453 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15454 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15455 (pkglib_PROGRAMS): Add kernel.img.
15456 (bin_UTILITIES): Remove grub-mkimage.
15457 (grub_mkimage_SOURCES): Removed.
15458 (grub_mkimage_CFLAGS): Likewise.
15459 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15460 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15461 (grub_mkimage_SOURCES): Removed.
15462 (grub_mkimage_CFLAGS): Likewise.
15463 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15464 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15465 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15466 (grub_pe32_optional_header): ... this.
15467 (grub_pe64_optional_header): ... and this. All users updated.
15468 (GRUB_PE32_PE32_MAGIC): Split into ..
15469 (GRUB_PE32_PE32_MAGIC): .. this.
15470 (GRUB_PE32_PE64_MAGIC): .. and this.
15471 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15472 * include/grub/elf.h (PT_GNU_STACK): New definition.
15473 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15474 * include/grub/i386/efi/kernel.h: Likewise.
15475 * include/grub/i386/kernel.h: Likewise.
15476 * include/grub/i386/pc/kernel.h: Likewise.
15477 * include/grub/i386/qemu/boot.h: Likewise.
15478 * include/grub/mips/kernel.h: Likewise.
15479 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15480 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15481 * include/grub/powerpc/kernel.h: Likewise.
15482 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15483 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15484 * include/grub/sparc64/kernel.h: Likewise.
15485 * include/grub/x86_64/efi/kernel.h: Likewise.
15486 * include/grub/x86_64/kernel.h: Likewise.
15487 * include/grub/offsets.h: New file.
15488 * include/grub/kernel.h (grub_module_info): Split into ...
15489 (grub_module_info32): ... this.
15490 (grub_module_info64): ... and this.
15491 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15492 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15493 (grub_boot_blocklist): Moved from here ...
15494 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15495 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15496 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15497 * include/grub/types.h (grub_target_to_host16): Removed.
15498 (grub_target_to_host32): Likewise.
15499 (grub_target_to_host64): Likewise.
15500 (grub_host_to_target16): Likewise.
15501 (grub_host_to_target32): Likewise.
15502 (grub_host_to_target64): Likewise.
15503 (grub_host_to_target_addr): Likewise.
15504
15505 Support grub-mkrescue for efi, coreboot and qemu.
15506
15507 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15508 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15509 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15510 * util/grub-mkrawimage.c: Moved from here ...
15511 * util/grub-mkimage.c: ... here. All users updated.
15512 (ALIGN_ADDR): Use image_target.
15513 (TARGET_NO_FIELD): New const.
15514 (image_target_desc): New type.
15515 (image_targets): New array.
15516 (grub_target_to_host64): Use image_target.
15517 (grub_target_to_host32): Likewise.
15518 (grub_target_to_host16): Likewise.
15519 (grub_host_to_target64): Likewise.
15520 (grub_host_to_target32): Likewise.
15521 (grub_host_to_target16): Likewise.
15522 (grub_host_to_target_addr): Likewise.
15523 (generate_image): Handle multiimage.
15524 (main): Require -O parameter. All users updated.
15525 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15526 util/efi/grub-mkimage.c
15527 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15528 New option --rom-directory.
15529 Use xorriso.
15530 * util/i386/efi/grub-mkimage.c: Removed.
15531 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15532 (grub_target_to_host32): Likewise.
15533 (grub_target_to_host64): Likewise.
15534 (grub_host_to_target16): Likewise.
15535 (grub_host_to_target32): Likewise.
15536 (grub_host_to_target64): Likewise.
15537 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15538 (grub_target_to_host32): Likewise.
15539 (grub_target_to_host64): Likewise.
15540 (grub_host_to_target16): Likewise.
15541 (grub_host_to_target32): Likewise.
15542 (grub_host_to_target64): Likewise.
15543
f4fc97d0
BC
155442010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15545
15546 Source tree is reorganized for emu build.
15547
15548 * include/grub/util/console.h: Move from here...
15549 * include/grub/emu/console.h: ...to here.
15550 * include/grub/util/getroot.h: Move from here...
15551 * include/grub/emu/getroot.h: ...to here.
15552 * include/grub/util/hostdisk.h: Move from here...
15553 * include/grub/emu/hostdisk.h: ...to here.
15554 * util/console.c: Move from here...
15555 * kern/emu/console.c: ...to here.
15556 * util/getroot.c: Move from here...
15557 * kern/emu/getroot.c: ...to here.
15558 * util/grub-emu.c: Move from here...
15559 * kern/emu/main.c: ...to here.
15560 * util/hostdisk.c: Move from here...
15561 * kern/emu/hostdisk.c: ...to here.
15562 * util/hostfs.c: Move from here...
15563 * kern/emu/hostfs.c: ...to here.
15564 * util/mm.c: Move from here...
15565 * kern/emu/mm.c: ...to here.
15566 * util/pci.c: Move from here...
15567 * bus/emu/pci.c: ...to here.
15568 * util/sdl.c: Move from here...
15569 * video/emu/sdl.c: ...to here.
15570 * util/time.c: Move from here...
15571 * kern/emu/time.c: ...to here.
15572 * util/usb.c: Move from here...
15573 * bus/usb/emu/usb.c: ...to here.
15574
15575 * include/grub/emu/misc.h: New header for grub-emu functions.
15576 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15577
15578 * conf/any-emu.rmk: Rule updates for above renames.
15579 * conf/common.rmk: Likewise.
15580 * conf/i386-pc.rmk: Likewise.
15581 * conf/i386-qemu.rmk: Likewise.
15582 * conf/mips.rmk: Likewise.
15583 * conf/sparc64-ieee1275.rmk: Likewise.
15584 * conf/x86-efi.rmk: Likewise.
15585
15586 * disk/lvm.h: #include updates for above renames.
15587 * util/grub-mkrelpath.c: Likewise.
15588 * util/grub-probe.c: Likewise.
15589 * util/i386/pc/grub-setup.c: Likewise.
15590 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15591 * kern/emu/console.c: Likewise.
15592 * kern/emu/getroot.c: Likewise.
15593 * kern/emu/hostdisk.c: Likewise.
15594 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15595
15596 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15597 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15598 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15599 * util/misc.c: Remove grub-emu functions.
15600
cced9145
VS
156012010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 Fix gfxmenu crash.
15604 Reported by: Thorsten Grützmacher.
15605
15606 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15607 timeout hook.
15608 (circprog_set_property): Register and unregister timeout hook.
15609 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15610 (label_destroy): Free template. and unregister hook.
15611 (label_set_state): New function.
15612 (label_set_property): Handle templates and hooks.
15613 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15614 timeout hook.
15615 (progress_bar_set_property): Register and unregister timeout hook.
15616 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15617 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15618 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15619 (update_timeout_visit): Removed.
15620 (update_timeouts): New function.
15621 (redraw_timeouts): Likewise.
15622 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15623 (grub_gfxmenu_clear_timeout): Likewise.
15624 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15625 (grub_gfxmenu_timeout_notify): Likewise.
15626 (grub_gfxmenu_timeout_notifications): New external variable.
15627 (grub_gfxmenu_timeout_register): New function.
15628 (grub_gfxmenu_timeout_unregister): Likewise.
15629
c6e5caab
VS
156302010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 Transform (broken) vga terminal into (working) vga video driver.
15633
15634 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
15635 video/i386/pc/vga.c.
15636 * include/grub/video.h (grub_video_driver_id):
15637 Add GRUB_VIDEO_DRIVER_VGA.
15638 * term/i386/pc/vga.c: Renamed to ...
15639 * video/i386/pc/vga.c: ...this
15640 (DEBUG_VGA): Removed.
15641 (CHAR_WIDTH): Likewise.
15642 (CHAR_HEIGHT): Likewise.
15643 (TEXT_WIDTH): Likewise.
15644 (TEXT_HEIGHT): Likewise.
15645 (DEFAULT_FG_COLOR): Likewise.
15646 (DEFAULT_BG_COLOR): Likewise.
15647 (colored_char): Likewise.
15648 (xpos): Likewise.
15649 (ypos): Likewise.
15650 (cursor_state): Likewise.
15651 (fg_color): Likewise.
15652 (bg_color): Likewise.
15653 (text_buf): Likewise.
15654 (page): Likewise.
15655 (font): Likewise.
15656 (framebuffer): New variable.
15657 (set_read_map): Disabled.
15658 (setup): New variable.
15659 (is_target): Likewise.
15660 (grub_vga_mod_init): Likewise.
15661 (grub_vga_mod_fini): Likewise.
15662 (check_vga_mem): Likewise.
15663 (write_char): Likewise.
15664 (write_cursor): Likewise.
15665 (scroll_up): Likewise.
15666 (grub_vga_putchar): Likewise.
15667 (grub_vga_getcharwidth): Likewise.
15668 (grub_vga_getwh): Likewise.
15669 (grub_vga_getxy): Likewise.
15670 (grub_vga_gotoxy): Likewise.
15671 (grub_vga_cls): Likewise.
15672 (grub_vga_setcolorstate): Likewise.
15673 (grub_vga_setcursor): Likewise.
15674 (grub_video_vga_init): New function.
15675 (grub_video_vga_setup): Likewise.
15676 (grub_video_vga_fini): Likewise.
15677 (update_target): Likewise.
15678 (grub_video_vga_blit_bitmap): Likewise.
15679 (grub_video_vga_blit_render_target): Likewise.
15680 (grub_video_vga_set_active_render_target): Likewise.
15681 (grub_video_vga_get_active_render_target): Likewise.
15682 (grub_video_vga_swap_buffers): Likewise.
15683 (grub_video_vga_set_palette): Likewise.
15684 (grub_video_vga_get_info_and_fini): Likewise.
15685 (grub_vga_term): Removed.
15686 (grub_video_vga_adapter): New variable.
15687 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15688 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15689
2bf61a98
VS
156902010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * video/readers/jpeg.c: Indented.
15693
09ddcd11
VS
156942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 Various jpeg cleanups.
15697
15698 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15699 (grub_jpeg_decode_quan_table): Use sizeof.
15700 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15701
e5507505
PH
157022010-05-05 Peter Hurley <No e-mail available> (tiny change)
15703
15704 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
15705 tables. Ignore non-last ac bit.
15706 (grub_jpeg_decode_quan_table): Likewise.
15707
7e720a9b
VS
157082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
15711 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
15712 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15713 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
15714 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
15715 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
15716
a7fc080b
VS
157172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
15720 error.
15721
2bf6012d
VS
157222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
15725
265d68cd
VS
157262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
15729 condition.
15730
157312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
15732
15733 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
15734 part.
15735
265d68cd 157362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
15737
15738 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
15739 pointers.
15740
265d68cd 157412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
15742
15743 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
15744
d1b61374
CF
157452010-05-01 Christian Franke <franke@computer.org>
15746
15747 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
15748 Remove broken Cygwin path conversion.
15749 * util/misc.c: [__CYGWIN__] Add include and define.
15750 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
15751 for Cygwin 1.7.
15752 (make_system_path_relative_to_its_root): Simplify loop, replace early
15753 return by break.
15754 [__CYGWIN__] Add conversion to win32 path.
15755 Include "/" case in trailing slash removal.
15756
3558c6e9
VS
157572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * kern/main.c (grub_load_config): Fix copy-pasted comment.
15760 Reported by: Seth Goldberg
15761
f5f3ff93
VS
157622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 * commands/help.c (grub_cmd_help): Fix a typo.
15765 Reported by: Seth Goldberg
15766
d8b5cd40
VS
157672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
15770 name and add N_.
15771 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
15772 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
15773 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
15774 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
15775 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
15776 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
15777 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15778 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15779 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15780 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15781 * normal/context.c (GRUB_MOD_INIT): Likewise.
15782 * normal/main.c (GRUB_MOD_INIT): Likewise.
15783 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15784 * term/serial.c (GRUB_MOD_INIT): Likewise.
15785 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15786
88c14915
VS
157872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
15790 extra == 0.
15791
165134bc
VS
157922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * commands/iorw.c: New file.
15795 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
15796 (iorw_mod_SOURCES): New variable.
15797 (iorw_mod_CFLAGS): Likewise.
15798 (iorw_mod_LDFLAGS): Likewise.
15799
c5ac9b32
VS
158002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 Hotkey support
15803
15804 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
15805 * normal/main.c (hotkey_aliases): New variable.
15806 (grub_normal_add_menu_entry): Parse "--hotkey".
15807 * normal/menu_text.c (run_menu): Handle hotkeys.
15808
ce60689c
VS
158092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * kern/i386/coreboot/init.c (grub_machine_init): Call
15812 grub_machine_mmap_init on qemu.
15813
0359d006
VS
158142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * boot/i386/qemu/boot.S: Add a missing .code16.
15817
7819a456
VS
158182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 Use LBIO on coreboot.
15821
15822 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
15823 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
15824 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
15825 New declaration.
15826 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
15827 grub_machine_mmap_init on coreboot.
15828 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
15829 GRUB_LINUXBIOS_MEMBER_LINK.
15830 (grub_machine_mmap_iterate): Fix declaration.
15831 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
15832
7210dca9
VS
158332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 Split coreboot and multiboot ports.
15836
15837 * conf/i386-multiboot.rmk: New file.
15838 * configure.ac: Add multiboot port.
15839 * include/grub/i386/multiboot/boot.h: New file.
15840 * include/grub/i386/multiboot/console.h: Likewise.
15841 * include/grub/i386/multiboot/init.h: Likewise.
15842 * include/grub/i386/multiboot/kernel.h: Likewise.
15843 * include/grub/i386/multiboot/loader.h: Likewise.
15844 * include/grub/i386/multiboot/memory.h: Likewise.
15845 * include/grub/i386/multiboot/serial.h: Likewise.
15846 * include/grub/i386/multiboot/time.h: Likewise.
15847 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
15848 * loader/multiboot.c: Likewise.
15849 * loader/multiboot_mbi2.c: Likewise.
15850 * util/grub-mkrescue.in: Generate multiboot rescue.
15851
6f8aaf68
VS
158522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15853
3080f7a7
VS
15854 * kern/parser.c (grub_parser_execute): Cope with read-only config.
15855
158562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
15859
15860 * commands/terminal.c (abstract_terminal): New struct.
15861 (handle_command): New function. Based on grub_cmd_terminal_input.
15862 (grub_cmd_terminal_input): Use handle_command.
15863 (grub_cmd_terminal_output): Use handle_command.
15864
a8ebb841
BC
158652010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
15866
15867 Fix comment handling.
15868
15869 * tests/grub_script_comments.in: New testcase.
15870 * conf/tests.rmk: Rules for new testcase.
15871 * script/yylex.l: Updated flex rules.
15872
bb06ba08
ST
158732010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15874
15875 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
15876 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15877 if argc is 1.
bb06ba08 15878
cc9d2425
VS
158792010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15882 autogen issues.
15883
460d8402
CF
158842010-04-26 Christian Franke <franke@computer.org>
15885
15886 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15887 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15888 (grub_get_prefix): Remove function.
15889 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15890 make_system_path_relative_to_its_root ().
15891 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15892
553c01f9
CF
158932010-04-24 Christian Franke <franke@computer.org>
15894
15895 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15896 (kernel_img_LDFLAGS): Remove -static-libgcc.
15897
2aec1692
CF
158982010-04-24 Christian Franke <franke@computer.org>
15899
15900 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15901 and CHECK_END_SYMBOL if grub-emu is built.
15902 Unset TARGET_OBJ2ELF if grub-emu is built
15903 without module support.
15904
f67dc308
JS
159052010-04-24 Jiro SEKIBA <jir@unicus.jp>
15906
15907 Nilfs2 support.
15908
15909 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15910 (grub_fstest_SOURCES): Likewise.
15911 (pkglib_MODULES): Add nilfs2.mod.
15912 (nilfs2_mod_SOURCES): New variable.
15913 (nilfs2_mod_CFLAGS): Likewise.
15914 (nilfs2_mod_LDFLAGS): Likewise.
15915 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15916 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15917 * fs/nilfs2.c: New file.
15918
4ba8d354
VS
159192010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15922 is not supported.
15923
0d2c20c6
GS
159242010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15925
15926 Add grub-mkconfig support for NetBSD.
15927
15928 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15929 * util/grub-mkconfig.in: export new NetBSD specific variables.
15930 * po/POTFILES-shell: added 10_netbsd.in.
15931 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15932
bc4a2d83
BC
159332010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15934
15935 Fix emu build with grub-emu-pci and grub-emu-modules.
15936
15937 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15938 functions.
15939 * include/grub/libpciaccess.h: New file.
15940 * conf/any-emu.rmk: Update kernel headers for emu build.
15941
f48c87aa
VS
159422010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15945
18959385
VS
159462010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15949
0037de3f
VS
159502010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15953 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15954 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15955 util/ieee1275/ofpath.c.
15956 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15957 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15958 * include/grub/sparc64/ieee1275/boot.h
15959 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15960 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15961 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15962 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15963 const char *.
15964 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15965 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15966 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15967 install.
15968
38e55e90
GS
159692010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15970
15971 * util/grub-mkconfig.in: Corrected two == equality tests.
15972 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15973 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15974 expect a number appended to it.
15975 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15976 expects a number appended to it.
15977
a9e6ff28
VS
159782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15981
0b830b8f
VS
159822010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * util/hostdisk.c (make_device_name): Change to new partition naming.
15985
0973daeb
VS
159862010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15989
460d8402 159902010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
15991
15992 * Makefile.in: Add missing localedir setting.
15993
0b456309
CW
159942010-04-14 Colin Watson <cjwatson@ubuntu.com>
15995
15996 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
15997 mistake in r2156. Noticed by Anthony Fok.
15998
15999 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16000 @localedir@.
16001 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16002
08f46d62
BC
160032010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16004
16005 Fix a spurious, uninitialized variable warning.
16006
16007 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16008 Initialize variable, shdr.
16009 (grub_freebsd_load_elfmodule): Likewise.
16010 (grub_freebsd_load_elf_meta): Likewise.
16011
8c4a72d4
BC
160122010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16013
16014 Fix for escaped dollar in double quoted strings.
16015
16016 * script/yylex.l: Updated flex rules.
16017 * conf/tests.rmk: Rule for new testcase.
16018 * tests/grub_script_dollar.in: New testcase.
16019
ce44826e
CPE
160202010-04-13 Carles Pina i Estany <carles@pina.cat>
160212010-04-13 Colin Watson <cjwatson@ubuntu.com>
16022
16023 Enclose all translated strings in grub.cfg in single quotes, and
16024 escape them appropriately (Ubuntu bug #552921).
16025
16026 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16027 * util/grub.d/10_hurd.in: Use it.
16028 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16029 * util/grub.d/10_linux.in (linux_entry): Likewise.
16030
4b0cd8f8
VS
160312010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Fix cygwin compilation.
16034
16035 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16036 * include/grub/misc.h (__register_frame_info)
16037 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16038 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16039 * kern/misc.c (__register_frame_info)
16040 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16041 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16042
01fcf061
VS
160432010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16046
5d04b11e
VS
160472010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Unify libgcc processing.
16050
16051 * Makefile.in (kernel_img_LDFLAGS): New variable.
16052 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16053 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16054 overwriting.
16055 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16056 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16057 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16058 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16059 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16060 overwriting. Remove -lgcc and -static-libgcc
16061 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16062 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16063 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16064 (kernel_img_LDFLAGS): Append instead of overwriting.
16065 Remove -lgcc and -static-libgcc
16066 * conf/sparc64-ieee1275.rmk: Likewise.
16067 * include/grub/powerpc/libgcc.h: Move to ...
16068 * include/grub/libgcc.h: .. this.
16069 * include/grub/libgcc.h: Don't export most of the function on x86.
16070 (__bswapsi2): New export.
16071 (__bswapdi2): Likewise.
16072 * include/grub/mips/libgcc.h: Removed.
16073 * include/grub/sparc64/libgcc.h: Likewise.
16074
b7f3ac29
VS
160752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16078 disk_info_msg (conflicts with gettexting into languages with cases).
16079
2c7031b1
GS
160802010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16081
16082 Add grub-probe support for NetBSD.
16083
16084 * util/getroot.c (find_root_device): Convert block device to
16085 character device on NetBSD.
16086 * util/probe.c (probe): Require character device on NetBSD.
16087 * util/hostdisk.c: NetBSD specific headers.
16088 (configure_device_driver): new function to tune device driver
16089 parameters (currently only for NetBSD floppy driver).
16090 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16091 via disklabel ioctl).
16092 (open_device): call configure_device_driver on NetBSD.
16093 (convert_system_partition_to_system_disk): NetBSD specific code.
16094 (device_is_wholedisk): Likewise.
16095 (grub_util_biosdisk_get_grub_dev): Likewise.
16096 (make_device_name): Fixed a typo in bsd_part_str.
16097 * configure.ac: check for opendisk() and getrawpartition() on
16098 NetBSD and set LIBUTIL.
16099 * Makefile.in: add LIBUTIL to LIBS.
16100
f516290c
BC
161012010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16102
16103 Documentation fix.
16104
16105 * util/grub-script-check.c: Better help message.
16106
d8dcc0df
BC
161072010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16108
16109 Fix FreeBSD build.
16110
16111 * configure.ac: Flex version check.
16112 * conf/common.rmk: Add -Wno-error to sh.mod.
16113 * script/yylex.l: Remove all #pragma.
16114
6734334a
VS
161152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16118 prototype.
16119 Reported by: Seth Goldberg.
16120
daea6abd
VS
161212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16124 Rename "module" to "module2".
16125 Reported by: Seth Goldberg.
16126
f2fd9d2b
VS
161272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16130 EXPORT_FUNC.
16131 Reported by: Seth Goldberg.
16132
be124579
VS
161332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * lib/posix_wrap/locale.h: Add missing file.
16136 Reported by: Seth Goldberg.
16137
ef5da797
VS
161382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 grub-emu module load support.
16141
16142 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16143 NO_DYNAMIC_MODULES switched to this.
16144 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16145 (CFLAGS): Likewise.
16146 * conf/any-emu.rmk: Generate symlist.
16147 (kernel_img_HEADERS): Add util/datetime.h.
16148 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16149 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16150 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16151 kern/$(target_cpu)/cache.S.
16152 * configure.ac (grub-emu-modules): New option.
16153 * genmk.rb: Handle multiple source lists.
16154 * include/grub/sdl.h: New file.
16155 * include/grub/libusb.h: Likewise.
16156 * util/grub-emu.c (main): Hanle (host) root.
16157 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16158 GRUB_ERR_UNKNOWN_DEVICE.
16159 * util/misc.c: Move mm functions to ...
16160 * util/mm.c: ... here. All users updated.
16161
47822096
VS
161622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16165 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16166 missing files.
16167 (maintainer-clean): Remove libgcrypt-grub.
16168
5d7e7445
VS
161692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16172
25f4e252
EC
161732010-04-09 EFI Coder <eficoder@hotmail.com>
16174
16175 * normal/menu_text.c (print_message): Clean up the message and show
16176 the Fn information when on EFI
16177 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16178
027de555
VS
161792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16182 All users updated.
16183 * normal/crypto.c (read_crypto_list): Likewise.
16184 * normal/dyncmd.c (read_command_list): Likewise.
16185 * normal/term.c (read_terminal_list): Likewise.
16186 * normal/main.c (read_lists): Use explicit prefix.
16187 (read_lists_hook): Use read_lists.
16188 (grub_normal_execute): Likewise.
16189
47779711
VS
161902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16193 Reported by: Thomas Schmitt.
16194 Add -no-emul-boot to grub-mkisofs parameters.
16195
1118c32e
VS
161962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * font/font.c: Indented.
16199
7d652447
BC
162002010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16201
16202 Elif support to GRUB script (by Deepak Vankadaru).
16203
16204 * tests/grub_script_if.in: New testcase.
16205 * conf/tests.rmk: Rule for new testcase.
16206 * script/parser.y: Grammar rules for elif.
16207
34bb22df
BC
162082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16209
16210 While and until loops support to GRUB script.
16211
16212 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16213 (grub_script_create_cmdwhile): New function prototype.
16214 (grub_script_execute_cmdwhile): New function prototype.
16215 * script/execute.c (grub_script_execute_cmdwhile): New function.
16216 * script/parser.y (command): New commands.
16217 (whilecmd): New grammar rule.
16218 (untilcmd): New grammar rule.
16219 * script/script.c (grub_script_create_cmdwhile): New function.
16220 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16221 function.
16222
16223 * tests/grub_script_while1.in: New testcase.
16224 * conf/tests.rmk: Rule for new testcase.
16225
e215d8e0
VS
162262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16229 as *.jpg.
16230
d7c43ba1
MV
162312010-04-09 Mario Vazquez <mariovazq@gmail.com>
16232
16233 GRUB_BACKGROUND support.
16234
16235 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16236 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16237
d64795c0
VS
162382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16241 Idea by: Mario Vazquez
d64795c0
VS
16242
16243 * util/grub.d/00_header.in: Load pf2 and image modules.
16244
f267f83a
VS
162452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 grub-mkconfig multiple terminal support.
16248
16249 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16250 * util/grub.d/00_header.in: Likewise.
16251
b7841ceb
VS
162522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16255 we use cd $(srcdir).
16256
df60998c
CW
162572010-04-08 Colin Watson <cjwatson@ubuntu.com>
16258
16259 * util/grub.d/10_linux.in: Only use the first word of
16260 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16261 spaces in GRUB_DISTRIBUTOR.
16262 * util/grub.d/10_kfreebsd.in: Likewise.
16263 * util/grub.d/10_hurd.in: Likewise.
16264
fa09c82e
BC
162652010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16266
14e18ae3 16267 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16268
16269 * tests/util/grub-shell.in: Remove -serial stdio option.
16270
daf892b3
BC
162712010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 POSIX header file wrappers.
16274
16275 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16276 equivalents.
16277 * lib/posix_wrap/ctype.h: Likewise.
16278 * lib/posix_wrap/errno.h: Likewise.
16279 * lib/posix_wrap/langinfo.h: Likewise.
16280 * lib/posix_wrap/limits.h: Likewise.
16281 * lib/posix_wrap/localcharset.h: Likewise.
16282 * lib/posix_wrap/stdint.h: Likewise.
16283 * lib/posix_wrap/stdio.h: Likewise.
16284 * lib/posix_wrap/stdlib.h: Likewise.
16285 * lib/posix_wrap/string.h: Likewise.
16286 * lib/posix_wrap/sys/types.h: Likewise.
16287 * lib/posix_wrap/unistd.h: Likewise.
16288 * lib/posix_wrap/wchar.h: Likewise.
16289 * lib/posix_wrap/wctype.h: Likewise.
16290 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16291 (grub_script.yy.h): Likewise.
16292 * script/yylex.l: Remove POSIX emulation #defines.
16293 * Makefile.in (POSIX_CFLAGS): New variable.
16294 (GNULIB_UTIL_CFLAGS): Likewise.
16295
16296 Regexp support.
16297
16298 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16299 (regexp_mod_SOURCES): New variable.
16300 (regexp_mod_CFLAGS): Likewise.
16301 (regexp_mod_LDFLAGS): Likewise.
16302 * commands/regexp.c: New file.
16303 * gnulib/regcomp.c: New file. Imported from gnulib.
16304 * gnulib/regex.c: Likewise.
16305 * gnulib/regex_internal.c: Likewise.
16306 * gnulib/regex_internal.h: Likewise.
16307 * gnulib/regexec.c: Likewise.
16308 * gnulib/regex.h: Likewise.
16309
974ac4f7
VS
163102010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16313 unsupported video mode types.
16314
2622c3ff
VS
163152010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16318
064cb524
VS
163192010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16322 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16323
a8c3b552
VS
163242010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 Remove unused grub_vga_get_font.
16327
16328 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16329 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16330
187bbe3d
GS
163312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16332
16333 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16334 * include/grub/misc.h: Likewise.
16335
b9396631
GS
163362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16337
16338 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16339 for which failure is fatal.
16340
50479feb
GS
163412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16342
16343 * util/grub-install.in: Use mkdir -p to create grub directory.
16344 * util/i386/efi/grub-install.in: Likewise.
16345 * util/ieee1275/grub-install.in: Likewise.
16346
b1654fdf
GS
163472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16348
16349 * Makefile.in (LEX): new variable.
16350
bd5a6415
GS
163512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16352
16353 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16354 `=' and added double quotes on operands of this equality test.
16355
3db3a82b
VS
163562010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * Makefile.in (uninstall): Remove a leftover debug echo.
16359 Reported by: Grégoire Sutre
16360
38023412
VS
163612010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 MIPS multiboot2 support.
16364
16365 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16366 (multiboot2_mod_SOURCES): New variable.
16367 (multiboot2_mod_CFLAGS): Likewise.
16368 (multiboot2_mod_LDFLAGS): Likewise.
16369 (multiboot2_mod_ASFLAGS): Likewise.
16370 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16371 definition.
16372 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16373 (MULTIBOOT_MBI_REGISTER): Likewise.
16374 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16375 (MULTIBOOT_ELF32_MACHINE): Likewise.
16376 (MULTIBOOT_ELF64_MACHINE): Likewise.
16377 * include/grub/mips/multiboot.h: New file.
16378 * include/grub/video.h (grub_video_driver_id): New type
16379 GRUB_VIDEO_DRIVER_SM712.
16380 (grub_video_get_info_and_fini): Export.
16381 (grub_video_get_palette): Likewise.
16382 (grub_video_get_driver_id): Likewise.
16383 * include/multiboot2.h: Resynced with spec.
16384 * loader/i386/multiboot.c: Moved from here ...
16385 * loader/multiboot.c: ... here. All users updated.
16386 (grub_multiboot_boot): Use platform-specific macros.
16387 * loader/i386/multiboot_elfxx.c: Moved from here ...
16388 * loader/multiboot_elfxx.c: ... here. All users updated.
16389 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16390 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16391 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16392
47674667
VS
163932010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Import gnulib argp module.
16396
16397 * gnulib/argp-ba.c: New file.
16398 * gnulib/argp-eexst.c: Likewise.
16399 * gnulib/argp-fmtstream.c: Likewise.
16400 * gnulib/argp-fmtstream.h: Likewise.
16401 * gnulib/argp-fs-xinl.c: Likewise.
16402 * gnulib/argp-help.c: Likewise.
16403 * gnulib/argp-namefrob.h: Likewise.
16404 * gnulib/argp-parse.c: Likewise.
16405 * gnulib/argp-pin.c: Likewise.
16406 * gnulib/argp-pv.c: Likewise.
16407 * gnulib/argp-pvh.c: Likewise.
16408 * gnulib/argp-version-etc.c: Likewise.
16409 * gnulib/argp-version-etc.h: Likewise.
16410 * gnulib/argp-xinl.c: Likewise.
16411 * gnulib/argp.h: Likewise.
16412
495442ed
VS
164132010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 * kern/device.c (grub_device_iterate): Clear errors after failed
16416 opening device.
16417
f9fd65df
VS
164182010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16421 returned by firmware.
16422
af09641e
VS
164232010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16426 compilation on coreboot and qemu
16427
016883a5
VS
164282010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * include/multiboot2.h: Resync with spec.
16431
f97e1f7d
VS
164322010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Multiboot2 tag support
16435
16436 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16437 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16438 Remove loader/multiboot_loader.c.
16439 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16440 (grub_multiboot2_real_boot): Likewise.
16441 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16442 (grub_get_multiboot_mmap_count): New proto.
16443 (grub_fill_multiboot_mmap): Likewise.
16444 (grub_multiboot_set_video_mode): Likewise.
16445 (grub_multiboot_set_console): Likewise.
16446 (grub_multiboot_load): Likewise.
16447 (grub_multiboot_load_elf): Likewise.
16448 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16449 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16450 * include/multiboot.h: Resynced with specification.
16451 * include/multiboot2.h: Resynced with specification.
16452 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16453 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16454 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16455 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16456 users updated.
16457 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16458 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16459 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16460 Removed.
16461 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16462 Moved from here...
16463 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16464 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16465 Moved from here...
16466 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16467 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16468 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16469 All users updated.
16470 * loader/i386/multiboot_mbi2.c: New file.
16471
3506b90b
VS
164722010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Resync with gnulib.
16475
16476 * Makefile.in (GNULIB_CFLAGS): New variable.
16477 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16478 (grub_script_check_CFLAGS): New variable.
16479 * gnulib/alloca.h: Resync with gnulib.
16480 * gnulib/error.c: Likewise.
16481 * gnulib/error.h: Likewise.
16482 * gnulib/fnmatch.c: Likewise.
16483 * gnulib/fnmatch_loop.c: Likewise.
16484 * gnulib/getdelim.c: Likewise.
16485 * gnulib/getline.c: Likewise.
16486 * gnulib/getopt.c: Likewise.
16487 * gnulib/getopt1.c: Likewise.
16488 * gnulib/getopt_int.h: Likewise.
16489 * gnulib/gettext.h: Likewise.
16490 * gnulib/progname.c: Likewise.
16491 * gnulib/progname.h: Likewise.
16492
394a3120
GS
164932010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16494
16495 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16496 which is the case with --disabled-nls.
16497
16498 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16499 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16500 * util/misc.c: Likewise.
16501 * util/mkisofs/mkisofs.c: Likewise.
16502 * util/mkisofs/mkisofs.h: Likewise.
16503
969d1c78
VS
165042010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 Simplify Apple CC support.
16507
16508 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16509 Add 0 byte at the end not to have a symbol with empty target.
16510 * mmap/i386/pc/mmap_helper.S: Likewise.
16511 * genmk.rb: Ignore errors 2030 and 2050.
16512 * kern/i386/pc/startup.S: Use LOCAL when possible.
16513
8d2977bb
BC
165142010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16515
16516 Testcase and the fix for final semicolon on cmdline.
16517
16518 * tests/grub_script_final_semicolon.in: New testcase.
16519 * conf/tests.rmk: Rules for the new testcase.
16520 * script/parser.y: Grammar fix.
16521
a7bd6915
BC
165222010-03-26 BVK Chaitanya <bvk@localhost>
16523
16524 Blank lines testcase for GRUB script.
16525
16526 * tests/grub_script_blanklines.in: New testcase.
16527 * conf/tests.rmk: Rules for the new testcase.
16528
e4ff6628
VS
165292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 Don't use __FILE__.
16532
16533 * genmk.rb: Add -DGRUB_FILE to all C targets.
16534 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16535 * include/grub/list.h: Likewise.
16536 * include/grub/misc.h: Likewise.
16537 * include/grub/mm.h: Likewise.
16538 * include/grub/test.h: Likewise.
16539 * kern/mm.c: Likewise.
16540 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16541
6a5cf6b6
VS
165422010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Sunpc partitions support.
16545
16546 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16547 (grub_fstest_SOURCES): Likewise.
16548 (pkglib_MODULES): Add part_sunpc.mod.
16549 (part_sunpc_mod_SOURCES): New variable.
16550 (part_sunpc_mod_CFLAGS): Likewise.
16551 (part_sunpc_mod_LDFLAGS): Likewise.
16552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16553 * partmap/sunpc.c: New file.
16554
746d9045
BC
165552010-03-26 BVK Chaitanya <bvk@localhost>
16556
16557 For loop support to GRUB script.
16558
16559 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16560 (grub_script_create_cmdfor): New function prototype.
16561 (grub_script_execute_cmdfor): New function prototype.
16562 * script/execute.c (grub_script_execute_cmdfor): New function.
16563 * script/parser.y (command): New for command.
16564 (forcmd): New grammar rule.
16565 * script/script.c (grub_script_create_cmdfor): New function.
16566 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16567 function.
16568 * tests/grub_script_for1.in: New testcase.
16569 * conf/tests.rmk: Rules for new testcase.
16570
18486b18
VS
165712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Nested partitions
16574
16575 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16576 'partition' is NULL, grub_partition_get_start already does that.
16577 * commands/loadenv.c (check_blocklists): Likewise.
16578 (write_blocklists): Likewise.
16579 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16580 (grub_fstest_SOURCES): Likewise.
16581 (pkglib_MODULES): Add part_bsd.mod.
16582 (part_bsd_mod_SOURCES): New variable.
16583 (part_bsd_mod_CFLAGS): Likewise.
16584 (part_bsd_mod_LDFLAGS): Likewise.
16585 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16586 (grub_emu_SOURCES): Likewise.
16587 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16588 * include/grub/bsdlabel.h: New file.
16589 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16590 'get_name'.
16591 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16592 (grub_partition_map_list): New variable.
16593 (grub_partition_map_register): Inline.
16594 (grub_partition_map_unregister): Likewise.
16595 (FOR_PARTITION_MAPS): New macro.
16596 (grub_partition_map_iterate): Removed.
16597 (grub_partition_get_start): Handle nested partitions.
16598 * include/grub/msdos_partition.h: Remove bsd-related entries.
16599 (grub_pc_partition): Remove.
16600 * kern/disk.c (grub_disk_close): Free partition data.
16601 (grub_disk_adjust_range): Handle nested partitions.
16602 * kern/partition.c (grub_partition_map_probe): New function.
16603 (grub_partition_probe): Parse name to number, handle subpartitions.
16604 (get_partmap): New function.
16605 (grub_partition_iterate): Handle subpartitions.
16606 (grub_partition_get_name): Likewise.
16607 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16608 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16609 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16610 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16611 Set 'number'.
16612 (acorn_partition_map_probe): Remove.
16613 (acorn_partition_map_get_name): Likewise.
16614 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16615 Set 'number'.
16616 Set 'index' to 0 since there can be only one partition entry per sector.
16617 (amiga_partition_map_probe): Remove.
16618 (amiga_partition_map_get_name): Likewise.
16619 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16620 Set 'number'.
16621 Set 'offset' and 'index' to real positions of partitions.
16622 (apple_partition_map_probe): Remove.
16623 (apple_partition_map_get_name): Likewise.
16624 * partmap/bsdlabel.c: New file.
16625 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16626 Set 'number'.
16627 Allocate 'data' so it can be correctly freed.
16628 Set 'index' to offset inside sector.
16629 (gpt_partition_map_probe): Remove.
16630 (gpt_partition_map_get_name): Likewise.
16631 * partmap/msdos.c (grub_partition_parse): Remove.
16632 (pc_partition_map_iterate): Don't force raw access.
16633 Set 'number'.
16634 Make 'ext_offset' a local variable.
16635 (pc_partition_map_probe): Remove.
16636 (pc_partition_map_get_name): Remove.
16637 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16638 Set 'number'.
16639 (sun_partition_map_probe): Remove.
16640 (sun_partition_map_get_name): Likewise.
16641 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16642 (grub_pcpart_type): Likewise.
16643 * util/hostdisk.c (open_device): Handle new numbering scheme.
16644 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16645 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16646 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16647 * util/grub-install.in: Insert all subpartition modules.
16648 * util/ieee1275/grub-install.in: Likewise.
16649
a3940f88
AG
166502010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16651
16652 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16653 grammar.
16654
21b99926 166552010-03-24 Colin Watson <cjwatson@ubuntu.com>
16656
16657 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16658
bed1d352
CW
166592010-03-21 Colin Watson <cjwatson@ubuntu.com>
16660
16661 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16662 match where 'make install' puts them.
16663 * util/i386/efi/grub-install.in: Likewise.
16664
c9f58427
CW
166652010-03-19 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * .bzrignore: Add gentrigtables, grub-script-check,
16668 grub_script_check_init.c, grub_script_check_init.h, and
16669 trigtables.c.
16670
f84afb27
VS
166712010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * kern/parser.c: Indented.
16674
ed0e3d30
VS
166752010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16678
0ea81d98
VS
166792010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16682 alpha_mask_size == 0 case.
16683
0cdc2a09
BC
166842010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16685
16686 GRUB shell lexer and parser improvements.
16687
16688 * conf/any-emu.rmk: Build rule updates.
16689 * conf/common.rmk: Likewise.
16690 * conf/i386-coreboot.rmk: Likewise.
16691 * conf/i386-efi.rmk: Likewise.
16692 * conf/i386-ieee1275.rmk: Likewise.
16693 * conf/i386-pc.rmk: Likewise.
16694 * conf/powerpc-ieee1275.rmk: Likewise.
16695 * conf/x86_64-efi.rmk: Likewise.
16696
16697 * configure.ac: Configure check for flex.
16698
16699 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16700 types.
16701 (grub_lexer_param): Struct member updates.
16702 (grub_parser_param): Likewise.
16703 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
16704 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
16705 (grub_script_lexer_init): Prototype update.
16706 (grub_script_lexer_record_start): Likewise.
16707 (grub_script_lexer_record_stop): Likewise.
16708 (grub_script_lexer_yywrap): New function prototype.
16709 (grub_script_lexer_fini): Likewise.
16710 (grub_script_execute_argument_to_string): Removed by...
16711 (grub_script_execute_argument_to_argv): ...better version.
16712
16713 * script/execute.c (ROUND_UPTO): New macro.
16714 (grub_script_execute_cmdline): Out of memory fixes.
16715 (grub_script_execute_menuentry): Likewise.
16716 (grub_script_execute_argument_to_string): Removed. Update all
16717 users by...
16718 (grub_script_execute_argument_to_argv): ...better version.
16719 * script/function.c (grub_script_function_create): Use
16720 grub_script_execute_argument_to_argv instead of
16721 grub_script_execute_argument_to_string.
16722
16723 * script/lexer.c (check_varstate): Removed.
16724 (check_textstate): Removed.
16725 (grub_script_lexer_record_start): Likewise.
16726 (grub_script_lexer_record_stop): Likewise.
16727 (recordchar): Replaced with...
16728 (grub_script_lexer_record): ...new function.
16729 (nextchar): Removed.
16730 (grub_script_lexer_init): Rewritten.
16731 (grub_script_yylex): Rewritten.
16732 (append_newline): New function.
16733 (grub_script_lexer_yywrap): New function.
16734 (grub_script_lexer_fini): New function.
16735 (grub_script_yyerror): Sets error flag.
16736
16737 * script/yylex.l: New file.
16738 (grub_lexer_yyfree): Wrapper for flex yyffre.
16739 (grub_lexer_yyalloc): Likewise.
16740 (grub_lexer_yyrealloc): Likewise.
16741 * script/parser.y: Refactored.
16742
16743 * script/script.c (grub_script_arg_add): Out of memory fixes.
16744 (grub_script_add_arglist): Likewise.
16745 (grub_script_create_cmdline): Likewise.
16746 (grub_script_create_cmdmenu): Likewise.
16747 (grub_script_add_cmd): Likewise.
16748 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
16749 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
16750 unnecessary code.
16751
16752 * tests/grub_script_echo1.in: New testcase.
16753 * tests/grub_script_vars1.in: New testcase.
16754 * tests/grub_script_echo_keywords.in: New testcase.
16755
1d63a066
VS
167562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 Remove some redundancy in build system.
16759
16760 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
16761 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
16762 (TARGET_LDFLAGS): Add -nostdlib.
16763 (TARGET_IMG_LDFLAGS): Likewise.
16764 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
16765 anything since mmap isn't available.
16766 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
16767 Add util/time.c.
16768 (pkglib_MODULES): Remove reboot.mod.
16769 (reboot_mod_SOURCES): Removed.
16770 (reboot_mod_CFLAGS): Likewise.
16771 (reboot_mod_LDFLAGS): Likewise.
16772 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
16773 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
16774 (DEFSYMFILES): Add kernel_syms.lst.
16775 (kernel_img_HEADERS): Add common headers.
16776 (symlist.c): New target.
16777 (kernel_syms.lst): Likewise.
16778 (pkglib_MODULES): Add memdisk.mod.
16779 (memdisk_mod_SOURCES): New variable.
16780 (memdisk_mod_CFLAGS): Likewise.
16781 (memdisk_mod_LDFLAGS): Likewise.
16782 (pkglib_MODULES): Add reboot.mod.
16783 (reboot_mod_SOURCES): New variable.
16784 (reboot_mod_CFLAGS): Likewise.
16785 (reboot_mod_LDFLAGS): Likewise.
16786 (pkglib_MODULES): Add date.mod.
16787 (date_mod_SOURCES): New variable.
16788 (date_mod_CFLAGS): Likewise.
16789 (date_mod_LDFLAGS): Likewise.
16790 (pkglib_MODULES): Add datehook.mod.
16791 (datehook_mod_SOURCES): New variable.
16792 (datehook_mod_CFLAGS): Likewise.
16793 (datehook_mod_LDFLAGS): Likewise.
16794 (pkglib_MODULES): Add lsmmap.mod.
16795 (lsmmap_mod_SOURCES): New variable.
16796 (lsmmap_mod_CFLAGS): Likewise.
16797 (lsmmap_mod_LDFLAGS): Likewise.
16798 (pkglib_MODULES): Add boot.mod.
16799 (boot_mod_SOURCES): New variable.
16800 (boot_mod_CFLAGS): Likewise.
16801 (boot_mod_LDFLAGS): Likewise.
16802 * conf/i386-coreboot.rmk: Removed redundant parts.
16803 * conf/i386-ieee1275.rmk: Likewise.
16804 * conf/i386-pc.rmk: Likewise.
16805 * conf/mips-yeeloong.rmk: Likewise.
16806 * conf/mips.rmk: Likewise.
16807 * conf/powerpc-ieee1275.rmk: Likewise.
16808 * conf/sparc64-ieee1275.rmk: Likewise.
16809 * conf/x86_64-efi.rmk: Likewise.
16810 * conf/i386-coreboot.rmk: Moved qemu parts ..
16811 * conf/i386-qemu.rmk: ... here
16812 * conf/i386-efi.rmk: Moved common parts to...
16813 * conf/x86-efi.rmk: ... here.
16814 * conf/i386.rmk: Added modules common to all x86 variants.
16815 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
16816 * disk/memdisk.c: Remove grub/machine/kernel.h.
16817 * gensymlist.sh.in: Include symbol.h.
16818 * hook/datehook.c: Correct module name.
16819 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
16820 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
16821 * include/grub/i386/efi/serial.h: New file.
16822 * include/grub/x86_64/efi/serial.h: Likewise.
16823 * util/time.c: Likewise.
16824 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
16825
463ac55f
CK
168262010-03-14 Colin King <colin.king@ubuntu.com>
168272010-03-14 Colin Watson <cjwatson@ubuntu.com>
16828
16829 Shrink the pre-partition-table part of boot.img by eight bytes.
16830
16831 * boot/i386/pc/boot.S (ERR): New macro.
16832 (chs_mode): Use ERR.
16833 (geometry_error): Likewise.
16834 (hd_probe_error): Remove. This is only used once, so we wrwite
16835 it inline instead.
16836 (read_error): Instead of printing read_error_string, just set up
16837 %si and fall through to ...
16838 (error_message): ... this new function, also used by ERR.
16839
08e46ede
CW
168402010-03-14 Colin Watson <cjwatson@ubuntu.com>
16841
16842 Speed up consecutive hostdisk operations on the same device.
16843
16844 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
16845 (grub_util_biosdisk_open): Initialise disk->data.
16846 (struct linux_partition_cache): New structure.
16847 (linux_find_partition): Cache partition start positions; these are
16848 expensive to compute on every read and write.
16849 (open_device): Cache open file descriptor in disk->data, so that we
16850 don't have to reopen it and flush the buffer cache for consecutive
16851 operations on the same device.
16852 (grub_util_biosdisk_close): New function.
16853 (grub_util_biosdisk_dev): Set `close' member.
16854
16855 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
16856 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
16857 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16858 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16859 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
16860
4a6d2d06
VS
168612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 Compile parts of grub-emu as modules.
16864
16865 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
16866 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
16867 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
16868 (all-local): Add $(GRUB_EMU).
16869 (install-local): Install $(GRUB_EMU).
16870 (uninstall): Uninstall $(GRUB_EMU).
16871 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16872 * kern/dl.c: Likewise.
16873 * commands/sleep.c: Not include machine/time.h.
16874 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16875 (COMMON_CFLAGS): Likewise.
16876 (sbin_UTILITIES): Remove grub-emu.
16877 (grub_emu_SOURCES): Removed.
16878 (kernel_img_RELOCATABLE): New variable.
16879 (pkglib_PROGRAMS): Add kernel.img.
16880 (kernel_img_SOURCES): New variable
16881 (kernel_img_CFLAGS): Likewise.
16882 (kernel_img_LDFLAGS): Likewise.
16883 (TARGET_NO_STRIP): Likewise.
16884 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16885 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16886 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16887 (grub-emu): New target.
16888 (GRUB_EMU): New variable.
16889 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16890 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16891 * loader/xnu.c: Likewise.
16892 * include/grub/pci.h: Likewise.
16893 * genemuinit.sh: New file.
16894 * genemuinitheader.sh: Likewise.
16895 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16896 Support TARGET_NO_DYNAMIC_MODULES.
16897 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16898 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16899 * disk/loopback.c: Likewise.
16900 * font/font_cmd.c: Likewise.
16901 * partmap/acorn.c: Likewise.
16902 * partmap/amiga.c: Likewise.
16903 * partmap/apple.c: Likewise.
16904 * partmap/gpt.c: Likewise.
16905 * partmap/msdos.c: Likewise.
16906 * partmap/sun.c: Likewise.
16907 * parttool/msdospart.c: Likewise.
16908 * term/gfxterm.c: Likewise.
16909 * video/bitmap.c: Likewise.
16910 * video/readers/jpeg.c: Likewise.
16911 * video/readers/png.c: Likewise.
16912 * video/readers/tga.c: Likewise.
16913 * video/video.c: Likewise.
16914 * util/grub-emu.c (read_command_list): Removed.
16915 (main): Don't call util_init_nls.
16916 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16917 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16918
91fdd2ed
VS
169192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16922 date.mod, datehook.mod.
16923 (datetime_mod_SOURCES): New variable.
16924 (datetime_mod_CFLAGS): Likewise.
16925 (datetime_mod_LDFLAGS): Likewise.
16926 (date_mod_SOURCES): Likewise.
16927 (date_mod_CFLAGS): Likewise.
16928 (date_mod_LDFLAGS): Likewise.
16929 (datehook_mod_SOURCES): Likewise.
16930 (datehook_mod_CFLAGS): Likewise.
16931 (datehook_mod_LDFLAGS): Likewise.
16932 * conf/sparc64-ieee1275.rmk: Likewise.
16933 * lib/ieee1275/datetime.c: New file.
16934
873ccae6
VS
169352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16938 (ieee1275_fb_mod_SOURCES): New variable.
16939 (ieee1275_fb_mod_CFLAGS): Likewise.
16940 (ieee1275_fb_mod_LDFLAGS): Likewise.
16941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16942 New proto.
16943 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16944 (HEAP_MAX_ADDR): Likewise.
16945 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16946 type.
16947 Correct stop condition.
16948 (grub_ieee1275_devices_iterate): New function.
16949 * video/ieee1275.c: New file.
16950
601c97c0
VS
169512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16954
16955 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16956 as scratch.
16957 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16958 SCRATCH_PAD_DISKBOOT as scratch.
16959 (bootit): Pass Openfirmware pointer in %o4.
16960 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16961 of 0x200000.
16962 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16963 with util/grub-mkrawimage.c.
16964 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16965 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16966 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16967 (grub_aout_load) [GRUB_UTIL]: Likewise.
16968 * include/grub/kernel.h (grub_modules_get_end): New proto.
16969 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16970 (SCRATCH_PAD_BOOT): New definition.
16971 (SCRATCH_PAD_DISKBOOT): Likewise.
16972 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16973 * include/grub/sparc64/ieee1275/ieee1275.h
16974 (grub_ieee1275_original_stack): New variable
16975 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16976 New definition
16977 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16978 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16979 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16980 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16981 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16982 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16983 (grub_platform_image_format_t): New type.
16984 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16985 * kern/main.c (grub_modules_get_end)
16986 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16987 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16988 (codestart): Switch stacks.
16989 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16990 variable.
16991 (grub_heap_init): Use grub_modules_get_end.
16992 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
16993 stack.
16994 * util/grub-mkrawimage.c (generate_image): Support sparc64.
16995 (main): Likewise.
16996 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
16997
d68b491e
TG
169982010-03-14 Thorsten Glaser <tg@mirbsd.org>
16999
17000 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17001
4e02ed50
MK
170022010-03-08 Matt Kraai <kraai@ftbfs.org>
17003
17004 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17005 bug #559005).
17006
1f15fc1e
VS
170072010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * genmoddep.awk: Output all missing symbols and not only first.
17010
fce5d8ff
VS
170112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17012
17013 * NEWS: Put the date of 1.98 release.
17014
d1e8a02f
VS
170152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17018 ft2build.h.
17019
696fd607
VS
170202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17023 completition in the middle of string.
17024
33e2e6f3
VS
170252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * util/grub-mkrescue.in: Use mktemp with explicit template.
17028
b1f6d291
VS
170292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17032
2ac227c7
VS
170332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17036 right pointer.
17037
8f9a632b
VS
170382010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Fix FreeBSD compilation.
17041
17042 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17043 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17044
60b03859
VS
170452010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17048
48a5a769
VS
170492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17052
3ab4bd77
VS
170532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17056
d116e0d8
RM
170572010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17058
17059 Support relative image path in theme file.
17060
17061 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17062 (image_set_property): Handle theme_dir and relative path.
17063
c7ef54aa
VS
170642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 * configure.ac: Alias amd64 to x86_64.
17067
fcee14ed
VS
170682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * NEWS: mention multiboot on EFI.
17071
d0780363
VS
170722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * kern/main.c (grub_load_modules): Handle errors from init functions of
17075 embeded modules.
17076
41168ea4
VS
170772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 * normal/autofs.c (autoload_fs_module): Handle errors.
17080
b54d93ac
VS
170812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Disable linux.mod on qemu-mips since it's not functional and leads
17084 to compilation failure.
17085
17086 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17087 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17088 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17089 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17090 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17091 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17092 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17093 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17094 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17095 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17096 Reported by: BVK Chaitanya
17097
fc8345da
JU
170982010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17099
17100 * INSTALL: Add gettext as a dependency and add qemu to a new section
17101 "Prerequisites for make-check".
17102
4760f979
CF
171032010-03-04 Christian Franke <franke@computer.org>
17104
17105 * util/grub-pe2elf.c: Add missing include "progname.h".
17106
f209b5b2
VS
171072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * normal/crypto.c (read_crypto_list): Fix a typo.
17110 Reported by: Seth Goldberg.
17111
b4b7be98
VS
171122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17115 Reported by: Seth Goldberg.
b4b7be98 17116
c0ee0385
VS
171172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17120 ascii.bitmaps.
17121
a8efbf64
VS
171222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17125 Reported by: Seth Goldberg.
a8efbf64 17126
08dcd913
VS
171272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * util/i386/efi/grub-install.in: Copy gettext files.
17130
c4d0b332
VS
171312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17134
c6f2fe52
VS
171352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 Wait for user entry basing on presence of output rather than on errors.
17138
17139 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17140 (grub_install_newline_hook): Likewise.
17141 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17142 * normal/menu.c (show_menu): Check line_counter to determine presence
17143 of output.
17144 * normal/term.c (grub_normal_line_counter): New variable.
17145 (grub_normal_get_line_counter): New function.
17146 (grub_install_newline_hook): Likewise.
17147
5382b1e4
VS
171482010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17151
5519963b
VS
171522010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17153
17154 * configure.ac: Update version to 1.98.
17155
72b28631
VS
171562010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * util/grub.d/10_linux.in (linux_entry): Don't default to
17159 gfxpayload=keep if Linux doesn't support video handover.
17160
c140a180
VS
171612010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 Don't compile video modules on yeeloong since video subsystem is part
17164 of kernel.
17165
17166 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17167 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17168 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17169 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17170 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17171 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17172 * include/grub/bitmap_scale.h: Likewise.
17173 * include/grub/bufio.h: Likewise.
17174 * include/grub/font.h: Likewise.
17175 * include/grub/gfxterm.h: Likewise.
17176 * include/grub/video.h: Likewise.
17177 * include/grub/vbe.h: Don't include video_fb.h.
17178 * video/i386/pc/vbe.c: Include video_fb.h.
17179 * commands/i386/pc/vbetest.c: Include video.h.
17180
a0ca21c2
CW
171812010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17182
17183 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17184 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17185 default entry if GRUB_SAVEDEFAULT=true. This allows using
17186 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17187 saving a new default on every boot.
17188
4a8a763c
VS
171892010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17192 * normal/term.c (read_terminal_list): Likewise.
17193 * normal/main.c (grub_normal_init_page): Likewise.
17194 (grub_normal_read_line_real): Likewise.
17195
607ffde2
VS
171962010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17199 memory leak.
17200 Reported by: Seth Goldberg.
17201
2b8fa975
CW
172022010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17203
17204 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17205 duplicate declaration of `start'.
17206
618307dd
VS
172072010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17210 filename.
17211 Reported by: Georgy Buranov
17212
7dd05b96 172132010-02-20 Carles Pina i Estany <carles@pina.cat>
17214
17215 * util/grub-mkrawimage.c (usage): Change string formatting to
17216 improve gettext.
17217
d1484a42
MRA
172182010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17219
17220 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17221 backspace keys.
17222
42b1d186
VS
172232010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17226 Reported by: Michael Suchanek.
17227
172282010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17229
17230 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17231 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17232
d9f31a41
VS
172332010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 Remove any reference to non-free fonts.
17236
17237 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17238 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17239 uses non-free components.
17240 * font/font.c (grub_font_get_name): Remove example name.
17241 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17242 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17243 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17244 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17245
2793c71e
GB
172462010-02-16 Georgy Buranov <gburanov@gmail.com>
17247
17248 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17249
402e3779
VS
172502010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17253 Double divisor.
17254 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17255 features.
17256 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17257
0dd1e0dd
VS
172582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17261
6fa7cfce
ST
172622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17263
17264 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17265 * docs/grub.texi (Command-line and menu entry commands): Document play
17266 command.
17267
37c8483b
ST
172682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17269
17270 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17271 parse arguments as inline tempo and notes. Move code for playing notes
17272 to...
17273 (play): ... new function.
17274
14da0fb7
ST
172752010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17276
17277 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17278 grub_uint16_t instead of short.
17279 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17280 disk from little endian to cpu endianness.
17281
04459e70
ST
172822010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17283
17284 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17285 GRUB_TICKS_PER_SECOND instead of 120.
17286
a0876943
VS
172872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17290 escape sequence after \e.
17291
e29f95dc
VS
172922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17295 non-ASCII characters.
17296
d27859b2
VS
172972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17300 set root in single quotes to prevent \, from being unescaped.
17301
bc028f2f
VS
173022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 Prevent unknown commands from stopping menuentry execution.
17305
17306 * script/execute.c (grub_script_execute_cmdline): Print error after
17307 unknown command.
17308
095f5f82
VS
173092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17312 Reported by: Pavel Pisa.
17313
8c717950
VS
173142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17317
904935c3
VS
173182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 Merge grub_ieee1275_map_physical into grub_map and rename to
17321 grub_ieee1275_map
17322
17323 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17324 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17325 Remove.
17326 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17327 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17328 necessary.
17329 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17330
5b59a4e3
VS
173312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17334 opening and not after.
17335
69e137e8
VS
173362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17339 constants.
17340
2c0fcc36
VS
173412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17344 (alloc_phys): Use ALIGN_UP instead of align_addr.
17345
8c6052ce
VS
173462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17349
17cec782
VS
173502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17353
e0128bbd
VS
173542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17357 verbose dprintf.
17358
ca62070b
VS
173592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Fix over-4GiB seek on sparc64.
17362
17363 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17364 Replace pos_i and pos_lo with pos. All users updated.
17365 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17366 New constant.
17367 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17368 Likewise.
17369 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17370 and pos_lo.
17371
bdca2607
VS
173722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * util/grub-mkrawimage.c (main): Call set_program_name.
17375
da278c4d
VS
173762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 Properly align 64-bit targets.
17379
17380 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17381 (generate_image): Use ALIGN_ADDR.
17382
b274d734
VS
173832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 Properly create cross-endian images.
17386
17387 * include/grub/types.h (grub_host_to_target_addr): New macro
17388 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17389
82da2062
VS
173902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17393
7cae4377
VS
173942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17397
17398 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17399 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17400 (grub_linux_boot): Divide by 64K when on VESA.
17401
65a533e7
VS
174022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Support GRUB_GFXPAYLOAD_LINUX.
17405
17406 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17407 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17408
dd01d397
VS
174092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17412 to show messages instead of discarding them.
17413 Process errors after executing command and not before. Keep old method
17414 too as precaution.
17415
660960d6
VS
174162010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * configure.ac: Check for ft2build.h.
17419
62509f04
VS
174202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17423
473df63d
VS
174242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * genkernsyms.sh.in: Use TARGET_CC.
17427
c98d2a13
CW
174282010-02-07 Colin Watson <cjwatson@ubuntu.com>
17429
17430 * NEWS: Update.
17431
6e14234c
VS
174322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
17435 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17436 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 17437
b255e9cf
YB
174382010-02-07 Yves Blusseau <blusseau@zetam.org>
17439
6e14234c 17440 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 17441
98e6959d
VS
174422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Fix warnings in grub-emu when compiling with maximum warning options.
17445
17446 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17447 (grub_arch_modules_addr): Return 0 and not NULL.
17448 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 17449 (xstrdup): Use newstr instead of dup.
f88d801b
VS
17450 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17451 of disk to dsk to avoid shadowing.
74e4934e
VS
17452 (find_free_slot): Fix prototype.
17453 * util/getroot.c (grub_util_is_dmraid): Make static.
17454 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17455 Add missing prototype.
17456 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 17457
74e31b5c
VS
174582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17459
17460 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17461 appropriately.
17462
6b2ad14b
VS
174632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17466 code out.
17467
8f891adc
VS
174682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17471 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17472 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17473 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17474 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17475 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17476
74b45184
VS
174772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * include/grub/err.h (grub_err_printf): Don't export.
17480
a4bced77
VS
174812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17482
17483 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17484
007d0695
VS
174852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17488 * kern/misc.c (grub_gettext_dummy): Make static.
17489
b6c0d9c2
VS
174902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17491
17492 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17493 by non-valid ones.
17494 * kern/term.c (grub_putchar): Likewise.
17495
f51a90d0
VS
174962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17499 buggy hook call and memory leak.
17500
6846cec5
VS
175012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17504
468d69fe
VS
175052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17508
51906b8c
VS
175092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17512 modevar.
17513 Return grub_errno on allocation error.
17514
09706ce5
VS
175152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17518
911df80c
YB
175192010-02-06 Yves Blusseau <blusseau@zetam.org>
17520
17521 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17522 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17523
3746a6bc
VS
175242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17527 non-pxe disk.
17528 (grub_pxefs_open): Likewise.
17529
09706ce5
VS
175302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17531
17532 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17533 * util/grub.d/10_kfreebsd.in: Likewise.
17534 * util/grub.d/10_linux.in: Likewise.
17535
7cc192d9
VS
175362010-02-06 Colin D Bennett <colin@gibibit.com>
17537
17538 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17539 (gfxmenu_mod_SOURCES): New variable.
17540 (gfxmenu_mod_CFLAGS): Likewise.
17541 (gfxmenu_mod_LDFLAGS): Likewise.
17542 * include/grub/term.h (grub_term_set_current_output): Declare
17543 argument as const.
17544 * docs/gfxmenu-theme-example.txt: New file.
17545 * gfxmenu/gfxmenu.c: Likewise.
17546 * gfxmenu/gui_box.c: Likewise.
17547 * gfxmenu/gui_canvas.c: Likewise.
17548 * gfxmenu/gui_circular_progress.c: Likewise.
17549 * gfxmenu/gui_image.c: Likewise.
17550 * gfxmenu/gui_label.c: Likewise.
17551 * gfxmenu/gui_list.c: Likewise.
17552 * gfxmenu/gui_progress_bar.c: Likewise.
17553 * gfxmenu/gui_string_util.c: Likewise.
17554 * gfxmenu/gui_util.c: Likewise.
17555 * gfxmenu/icon_manager.c: Likewise.
17556 * gfxmenu/model.c: Likewise.
17557 * gfxmenu/named_colors.c: Likewise.
17558 * gfxmenu/theme_loader.c: Likewise.
17559 * gfxmenu/view.c: Likewise.
17560 * gfxmenu/widget-box.c: Likewise.
17561 * include/grub/gfxmenu_model.h: Likewise.
17562 * include/grub/gfxmenu_view.h: Likewise.
17563 * include/grub/gfxwidgets.h: Likewise.
17564 * include/grub/gui.h: Likewise.
17565 * include/grub/gui_string_util.h: Likewise.
17566 * include/grub/icon_manager.h: Likewise.
17567
175682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 Agglomerate scrolling in gfxterm.
17571
17572 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17573 (grub_virtual_screen_setup): Initialise 'total_screen'.
17574 (write_char): Split to ...
17575 (paint_char): ... this ...
17576 (write_char): ... and this.
17577 (paint_char): Handle delayed scrolling.
17578 (draw_cursor): Likewise.
17579 (scroll_up): Split to ...
17580 (real_scroll): ... this ...
17581 (scroll_up): ... and this.
17582 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17583 characters.
17584 (grub_gfxterm_refresh): Call real_scroll.
17585
175862010-02-06 Colin D Bennett <colin@gibibit.com>
17587
17588 * include/grub/misc.h (grub_iscntrl): New inline function.
17589 (grub_isalnum): Likewise.
17590 (grub_strtol): Likewise.
17591
175922010-02-06 Colin D Bennett <colin@gibibit.com>
17593
17594 * normal/menu_text.c (get_entry_number): Move from here ...
17595 * normal/menu.c (get_entry_number): ... moved here.
17596 * include/grub/menu.h (grub_menu_get_default_entry_index):
17597 New prototype.
17598 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17599 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17600 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17601 (grub_menu_viewer_should_return): Likewise.
17602 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17603 * normal/menu_text.c (run_menu): Enable menu switching.
17604 * normal/menu_viewer.c (should_return): New variable.
17605 (menu_viewer_changed): Likewise.
17606 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17607 (grub_menu_viewer_should_return): New function.
17608 (menuviewer_write_hook): Likewise.
17609 (grub_menu_viewer_init): Likewise.
17610
176112010-02-06 Colin D Bennet <colin@gibibit.com>
176122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 Support for gfxterm in a window.
17615
17616 * include/grub/gfxterm.h: New file.
17617 * include/grub/video.h (struct grub_video_rect): New declaration.
17618 (grub_video_rect_t): Likewise.
17619 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17620 (refcount): New variable.
17621 (render_target): Likewise.
17622 (window): Likewise.
17623 (repaint_callback): Likewise.
17624 (grub_virtual_screen_setup): Use 'render_target'.
17625 (init_window): New function.
17626 (grub_gfxterm_init_window): Likewise.
17627 (grub_gfxterm_init): Check reference counter.
17628 Use init_window.
17629 (destroy_window): New function.
17630 (grub_gfxterm_destroy_window): Likewise.
17631 (grub_gfxterm_fini): Check reference counter.
17632 Use destroy_window.
17633 (redraw_screen_rect): Restore viewport.
17634 Use 'render_target' and 'window'.
17635 Call 'repaint_callback'.
17636 (write_char): Use 'render_target'.
17637 (draw_cursor): Likewise.
17638 (scroll_up): Restore viewport.
17639 Use 'render_target' and 'window'.
17640 Call 'repaint_callback'.
17641 (grub_gfxterm_cls): Likewise.
17642 (grub_gfxterm_refresh): Use 'window'.
17643 (grub_gfxterm_set_repaint_callback): New function.
17644 (grub_gfxterm_background_image_cmd): Use 'window'.
17645 (grub_gfxterm_get_term): New function.
17646 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17647
176482010-02-06 Colin D Bennett <colin@gibibit.com>
17649
17650 Bitmap scaling support.
17651
17652 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17653 (bitmap_scale_mod_SOURCES): New variable.
17654 (bitmap_scale_mod_CFLAGS): Likewise.
17655 (bitmap_scale_mod_LDFLAGS): Likewise.
17656 * include/grub/bitmap_scale.h: New file.
17657 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17658 (background_image_cmd_options): New variable.
17659 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17660 (cmd): Rename and change type to ...
17661 (background_image_cmd_handle): ... this. All users updated.
17662 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17663 * video/bitmap_scale.c: New file.
17664
176652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17666
17667 SDL support.
17668
17669 * Makefile.in (LIBSDL): New variable.
17670 (enable_grub_emu_sdl): Likewise.
17671 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17672 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17673 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17674 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17675 * util/sdl.c: New file.
17676
176772010-02-06 Colin D Bennett <colin@gibibit.com>
176782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 Double buffering support.
17681
17682 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17683 * include/grub/video.h: Update comment.
17684 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17685 New type.
17686 (grub_video_fb_doublebuf_blit_init): New prototype.
17687 * term/gfxterm.c (scroll_up): Support double buffering.
17688 (grub_gfxterm_refresh): Likewise.
17689 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17690 (grub_video_fb_doublebuf_blit_init): Likewise.
17691 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17692 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17693 'displayed_page', 'render_page' and 'update_screen'.
17694 (grub_video_vbe_fini): Free offscreen buffer.
17695 (doublebuf_pageflipping_commit): New function.
17696 (doublebuf_pageflipping_update_screen): Likewise.
17697 (doublebuf_pageflipping_init): Likewise.
17698 (double_buffering_init): Likewise.
17699 (grub_video_vbe_setup): Enable doublebuffering.
17700 (grub_video_vbe_swap_buffers): Implement.
17701 (grub_video_vbe_set_active_render_target): Handle double buffering.
17702 (grub_video_vbe_get_active_render_target): Likewise.
17703 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
17704 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
17705 (grub_video_vbe_enable_double_buffering): Likewise.
17706 (grub_video_vbe_swap_buffers): Use update_screen.
17707 (grub_video_set_mode): Use double buffering.
17708
177092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17710
17711 * maintainance/gentrigtables.py: Remove.
17712 * lib/trig.c: Likewise.
17713
17714 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
17715
17716 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
17717 `trigtables.c'.
17718 (trigtables.c): New rule.
17719 (gentrigtables): Likewise.
17720 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
17721
177222010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17723
17724 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
17725 integer constants.
17726
177272010-02-06 Colin D Bennet <colin@gibibit.com>
17728
17729 Trigonometry support.
17730
17731 * include/grub/trig.h: New file.
17732 * lib/trig.c: Likewise.
17733 * maintainance/gentrigtables.py: Likewise.
17734 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
17735 (trig_mod_SOURCES): New variable.
17736 (trig_mod_CFLAGS): Likewise.
17737 (trig_mod_LDFLAGS): Likewise.
17738
5562834e
VS
177392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
17742 disk devices.
17743
4f8528fc
VS
177442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
17747 error.
17748
2b4068e9
VS
177492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * util/hostdisk.c (open_device): Don't use partition device when reading
17752 before the partition.
17753 (grub_util_biosdisk_read): Don't read from partition and before the
17754 partition in single operation.
17755 (grub_util_biosdisk_write): Don't write to partition and before the
17756 partition in single operation.
17757
399f6e4d
TL
177582010-02-03 Torsten Landschoff <torsten@debian.org>
17759
17760 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17761 last sectors.
17762
996649b0
VS
177632010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
17766 CDROM reads.
17767 (grub_biosdisk_write): Refuse to write to CDROM.
17768
3b205d4d
VS
177692010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
17772
61e89d9d
VS
177732010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * font/font.c (find_glyph): Check that bmp_idx is available before
17776 using it.
17777 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
17778 with (font == NULL).
17779
bf7fcba2
CS
177802010-01-28 Christian Schmitt <chris@ilovelinux.de>
17781
17782 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
17783
f45d2663
BC
177842010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
17785
17786 * include/grub/script_sh.h (sourcecode): Add const qualifier.
17787 * util/grub-script-check.c (getline): Fix empty lines case.
17788
ec1444e6
RM
177892010-01-28 Robert Millan <rmh.grub@aybabtu.com>
17790
17791 * Makefile.in (check): Exit with fail status when one of the tests
17792 fails.
17793 * tests/example_functional_test.c (example_test): Fix reversed assert.
17794 * tests/example_unit_test.c (example_test): Likewise.
17795
2e1cb9bb
CW
177962010-01-28 Colin Watson <cjwatson@ubuntu.com>
17797
17798 * util/grub.d/10_linux.in: This script does not use any of the
17799 contents of gettext.sh, only the external command `gettext', so stop
17800 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
17801 the same prefix as GRUB.)
17802 * util/grub.d/10_kfreebsd.in: Likewise.
17803
63533ab0
VS
178042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
17807 of the line.
17808
989e1f93
VS
178092010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17812 last sectors.
17813
e709ebe2
VS
178142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
17817 having a 4KiB and not 32KiB buffer size.
17818
27dea7ed
RM
178192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17820
17821 * util/hostfs.c: Include `<errno.h>'.
17822 (grub_hostfs_read): Handle errors from fseeko() and fread().
17823
67667b9c
RM
178242010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17825
17826 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
17827 loop when using read hooks on files whose size isn't sector-aligned.
17828
c294d9d8
RM
178292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17830
17831 Remove unused parameter.
17832
17833 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
17834 (grub_iso9660_open): Remove initialization of `data->length'.
17835
af75a9f1
RM
178362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17837
17838 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
17839 memleak conditions.
17840
254e2ce5 178412010-01-27 Carles Pina i Estany <carles@pina.cat>
17842
17843 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
17844 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
17845
b510928c 178462010-01-26 Carles Pina i Estany <carles@pina.cat>
17847
17848 * util/bin2h.c (usage): Fix warning (space after backslash).
17849
aa2f9dd2 178502010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 17851
17852 * font/font.c: Include `grub/fontformat.h.
17853 Remove font file format constants.
17854 (grub_font_load): Use the new macros.
17855 * include/grub/fontformat.h: New file.
17856 * util/grub-mkfont.c: Include `grub/fontformat.c'.
17857 (write_font_pf2): Use the new macros.
17858
94e7e712
RM
178592010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17860
17861 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
17862 does.
17863
3973a59a
RM
178642010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17865
17866 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
17867
17868 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
17869 (_start): Macroify `0x7F'.
17870
17871 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17872 (make_install_device): Use "(pxe)" as fallback prefix when booting
17873 via PXE.
17874
42e0cba3
GS
178752010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * configure.ac: Reset LIBS after check for libgcc symbols.
17878
847effd8
CW
178792010-01-25 Colin Watson <cjwatson@ubuntu.com>
17880
17881 * util/hostdisk.c (open_device): Add trailing newline to debug
17882 message.
17883
ea4a7e35
GS
178842010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17885
17886 * configure.ac: Check for `limits.h'.
17887 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17888
67951a53
RM
178892010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17890
17891 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17892 capitalize error strings.
17893
c273d4ce
ST
178942010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17895
17896 * util/grub.d/10_hurd.in: Add a recovery mode.
17897
69be5b74
VS
178982010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * configure.ac: Check for libgcc symbols with -nostdlib.
17901
fc9e5810
BC
179022010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17903
17904 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17905
4b358c0a
VS
179062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17909 stack since heap may be unavailable at that point.
17910 (grub_ofconsole_gotoxy): Likewise.
17911
454fcd1c
VS
179122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * configure.ac: Check for _restgpr_14_x.
17915 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17916 and _savegpr_* prototypes.
17917
566863ca
RM
179182010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17919
17920 Use generic grub_reboot() for i386-efi.
17921
17922 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17923 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17924 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17925
bf86e59a
VS
179262010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17929 presence of "prefix" variable as it breaks when normal.mod is
17930 embedded.
17931
d645e0f8
VS
179322010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17935 stack since heap is unavailable at that point.
17936
f9ab2e25
VS
179372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17940 (grub_freebsd_bootinfo): Rewritten.
17941 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17942
01fc7054
VS
179432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17946
caab4fd6
RM
179472010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17948
17949 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17950 domain now.
17951
67eb1427
FZ
179522010-01-20 Felix Zielcke <fzielcke@z-51.de>
17953
17954 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17955 around for handling "/" to the correct fix. Fix a memory leak. Use
17956 xstrdup instead of strdup.
17957
a9ed4ff3
VS
179582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17961
179622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
17963
17964 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17965
17966 * font/font.c (struct grub_font): New member 'bmp_idx'.
17967 (font_init): Initialise 'bmp_idx'.
17968 (load_font_index): Fill 'bmp_idx'.
17969 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17970
48209f4f
VS
179712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17974 unnecessary calls.
17975
9f0a4bb7
VS
179762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 Move context handling out of the kernel.
17979
17980 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17981 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17982 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17983 * conf/i386-efi.rmk: Likewise.
17984 * conf/i386-ieee1275.rmk: Likewise.
17985 * conf/i386-pc.rmk: Likewise.
17986 * conf/powerpc-ieee1275.rmk: Likewise.
17987 * conf/sparc64-ieee1275.rmk: Likewise.
17988 * conf/x86_64-efi.rmk: Likewise.
17989 * include/grub/env.h: Include grub/menu.h.
17990 (grub_env_var_type): Removed.
17991 (grub_env_var): Replaced field 'type' with 'global'.
17992 (grub_env_find): New prototype.
17993 (grub_env_context_open): Remove EXPORT_FUNC.
17994 (grub_env_context_close): Likewise.
17995 (grub_env_export): Likewise.
17996 (grub_env_set_data_slot): Removed.
17997 (grub_env_get_data_slot): Likewise.
17998 (grub_env_unset_data_slot): Likewise.
17999 (grub_env_unset_menu): New prototype.
18000 (grub_env_set_menu): Likewise.
18001 (grub_env_get_menu): Likewise.
18002 * include/grub/env_private.h: New file.
18003 * include/grub/normal.h (grub_context_init): New prototype.
18004 (grub_context_fini): Likewise.
18005 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18006 * normal/context.c (grub_cmd_export): ... to here.
18007 * kern/env.c: Include env_private.h.
18008 (HASHSZ): Moved to include/grub/env_private.h.
18009 (grub_env_context): Likewise.
18010 (grub_env_sorted_var): Likewise.
18011 (current_context): Renamed from this ...
18012 (grub_current_context): ...to this. 'static' removed. All users updated.
18013 (grub_env_find): Removed 'static'.
18014 (grub_env_context_open): Moved to normal/context.c.
18015 (grub_env_context_close): Likewise.
18016 (grub_env_export): Likewise.
18017 (mangle_data_slot_name): Removed.
18018 (grub_env_set_data_slot): Likewise.
18019 (grub_env_get_data_slot): Likewise.
18020 (grub_env_unset_data_slot): Likewise.
18021 * kern/main.c (grub_set_root_dev): Don't export root.
18022 It will be done later.
18023 (grub_main): Don't export prefix.
18024 It will be done later.
18025 * normal/context.c: New file.
18026 * normal/main.c (free_menu): Use grub_env_unset_menu.
18027 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18028 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18029 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18030 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18031
8dd35b8c
VS
180322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 setpci support.
18035
18036 * commands/setpci.c: New file.
18037 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18038 (setpci_mod_SOURCES): New variable.
18039 (setpci_mod_CFLAGS): Likewise.
18040 (setpci_mod_LDFLAGS): Likewise.
18041
449193d5
VS
180422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 Byte-addressable PCI configuration space.
18045
18046 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18047 dword address.
18048 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18049 GRUB_PCI_REG_CACHELINE.
18050 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18051 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18052 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18053 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18054 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18055 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18056 grub_pci_make_address.
18057 (lock_rom_area): Likewise.
18058 * commands/lspci.c (grub_lspci_iter): Use macroses
18059 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18060 of grub_pci_make_address.
18061 * disk/ata.c (grub_ata_pciinit): Likewise.
18062 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18063 (GRUB_PCI_REG_VENDOR): Likewise.
18064 (GRUB_PCI_REG_DEVICE): Likewise.
18065 (GRUB_PCI_REG_COMMAND): Likewise.
18066 (GRUB_PCI_REG_STATUS): Likewise.
18067 (GRUB_PCI_REG_REVISION): Likewise.
18068 (GRUB_PCI_REG_CLASS): Likewise.
18069 (GRUB_PCI_REG_CACHELINE): Likewise.
18070 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18071 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18072 (GRUB_PCI_REG_BIST): Likewise.
18073 (GRUB_PCI_REG_ADDRESSES): Likewise.
18074 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18075 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18076 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18077 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18078 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18079 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18080 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18081 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18082 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18083 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18084 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18085 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18086 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18087 (GRUB_PCI_REG_MIN_GNT): Likewise.
18088 (GRUB_PCI_REG_MAX_LAT): Likewise.
18089 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18090 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18091 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18092 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18093 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18094 space.
18095
96d73208
RM
180962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18097
18098 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18099 can be reliably determined to be supported.
18100
d4484482
RM
181012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18102
18103 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18104 that VESA is supported.
18105 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18106 supported.
18107
00308ecf
VS
181082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18111
f66924a4
RM
181122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18113
18114 * util/misc.c (make_system_path_relative_to_its_root): Work around
18115 special-casing of "/", as previous incarnation of this routine did.
18116
cbca0ada
VS
181172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 Fix any-emu compilation.
18120
18121 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18122 * grub_bin2h_SOURCES: New variable.
18123
34a66d99
RM
181242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18125
18126 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18127
94fabf58
RM
181282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18129
18130 * util/grub.d/00_header.in: Fix handling of locale_dir.
18131
02cf98ca
VS
181322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18133
18134 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18135 as possible unifont location (Gentoo).
18136 Reported by: Alexander Brüning
18137
327dbcd7
VS
181382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 Don't try to generate lists for kernel.img.
18141
18142 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18143 (pkglib_MODULES): Remove kernel.img.
18144 (kernel_img_EXPORTS): Removed.
18145 (kernel_img_RELOCATABLE): New variable.
18146 * conf/x86_64-efi.rmk: Likewise.
18147 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18148
ca467290
VS
181492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18152 grub_xasprintf or grub_snprintf.
18153 (grub_vsprintf): Likewise.
18154 (grub_snprintf): New proto.
18155 (grub_vsnprintf): Likewise.
18156 (grub_xasprintf): Likewise.
18157 (grub_xvasprintf): Likewise.
18158 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18159 (grub_sprintf): Removed.
18160 (grub_vsnprintf): New function.
18161 (grub_snprintf): Likewise.
18162 (grub_xvasprintf): Likewise.
18163 (grub_xasprintf): Likewise.
18164 (grub_vsprintf): Renamed to ...
18165 (grub_vsnprintf_real): ...this. New argument max_len.
18166
aca655fd
BC
181672010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18168
18169 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18170 fix grub-script-check warning.
18171
7ee92c32
VS
181722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * include/grub/font.h (grub_font_load): Fix prototype.
18175
f80927ca
VS
181762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18179
119c50ea
VS
181802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 * include/grub/x86_64/at_keyboard.h: New file.
18183
47d5f3c1
VS
181842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * loader/mips/linux.c: Include missing grub/i18n.h.
18187
55ff5266
RM
181882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18189
18190 * normal/menu.c (notify_execution_failure): Clarify error message.
18191
c893cc87
RM
181922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18193
18194 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18195 return value (and revert all return statements). Update users.
18196
917dd370
CW
181972010-01-20 Dan Merillat <debian@dan.merillat.org>
18198
18199 * kern/device.c (grub_device_iterate): Allocate new part_ent
18200 structure based on sizeof (*p) rather than sizeof (p->next), to
18201 account for structure padding.
18202
18203 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18204 disk is NULL, which might happen for LVM physical volumes with no
18205 LVM signature.
18206
d4a4ee57
RM
182072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18208
18209 * loader/mips/linux.c (grub_cmd_initrd)
18210 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18211
182122009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18213
18214 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18215 (grub_video_video_init, grub_video_bitmap_init)
18216 (grub_font_manager_init, grub_term_gfxterm_init)
18217 (grub_at_keyboard_init): New extern declarations.
18218 (grub_machine_init): Initialize gfxterm and at_keyboard.
18219
18220 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18221
18222 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18223 `gfxterm.mod' into core image.
18224
18225 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18226 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18227 (kernel_img_FORMAT): Copy to ...
18228
18229 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18230 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18231 (kernel_img_FORMAT): ... here, and ...
18232
18233 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18234 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18235 (kernel_img_FORMAT): ... here.
18236
18237 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18238 and input (at_keyboard) terminals in kernel.
18239 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18240
18241 (pkglib_MODULES): Remove `pci.mod'.
18242 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18243 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18244 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18245 (at_keyboard_mod_LDFLAGS): Remove variables.
18246
182472010-01-11 Felix Zielcke <fzielcke@z-51.de>
18248
18249 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18250
182512009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18252
18253 * include/grub/mips/libgcc.h: Only export symbols for functions
18254 that libgcc provides.
18255
182562009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 MIPS support.
18259
18260 * bus/bonito.c: New file.
18261 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18262 GRUB_PCI_NUM_DEVICES.
18263 * term/i386/pc/serial.c: Move to ...
18264 * term/serial.c: ... here. All users updated.
18265 * util/i386/pc/grub-mkimage.c: Move to ...
18266 * util/grub-mkrawimage.c: ... here. All users updated.
18267 * term/i386/pc/at_keyboard.c: Move to ...
18268 * term/at_keyboard.c: ... here. All users updated.
18269 * conf/mips-qemu-mips.rmk: New file.
18270 * conf/mips-yeeloong.rmk: Likewise.
18271 * conf/mips.rmk: Likewise.
18272 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18273 mipsel-qemu-mips.
18274 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18275 to port addresses.
18276 (grub_ata_pciinit): Support CS5536.
18277 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18278 * font/font_cmd.c (loadfont_command): Open file before passing it to
18279 grub_font_load.
18280 (pseudo_file_read): New function.
18281 (pseudo_file_close): Likewise.
18282 (pseudo_fs): New structure.
18283 (load_font_module): New function.
18284 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18285 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18286 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18287 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18288 * include/grub/i386/at_keyboard.h: Split into ...
18289 * include/grub/at_keyboard.h: ... this ...
18290 * include/grub/i386/at_keyboard.h: ... and this.
18291 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18292 New prototype.
18293 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18294 updated.
18295 (grub_elf64_size): Likewise.
18296 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18297 filename.
18298 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18299 * include/grub/i386/coreboot/serial.h: Rewritten.
18300 * include/grub/i386/ieee1275/serial.h: Include
18301 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18302 * include/grub/i386/pc/serial.h: Moved from here ...
18303 * include/grub/serial.h: ... to here. All users updated.
18304 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18305 (GRUB_PCI_NUM_BUS): Likewise.
18306 (GRUB_PCI_NUM_DEVICES): Likewise.
18307 (grub_pci_device_map_range): Add missing volatile keyword.
18308 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18309 * include/grub/mips/at_keyboard.h: New file.
18310 * include/grub/mips/cache.h: Likewise.
18311 * include/grub/mips/io.h: Likewise.
18312 * include/grub/mips/kernel.h: Likewise.
18313 * include/grub/mips/libgcc.h: Likewise.
18314 * include/grub/mips/pci.h: Likewise.
18315 * include/grub/mips/qemu-mips/boot.h: Likewise.
18316 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18317 * include/grub/mips/qemu-mips/loader.h: Likewise.
18318 * include/grub/mips/qemu-mips/memory.h: Likewise.
18319 * include/grub/mips/qemu-mips/serial.h: Likewise.
18320 * include/grub/mips/qemu-mips/time.h: Likewise.
18321 * include/grub/mips/relocator.h: Likewise.
18322 * include/grub/mips/time.h: Likewise.
18323 * include/grub/mips/types.h: Likewise.
18324 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18325 * include/grub/mips/yeeloong/boot.h: Likewise.
18326 * include/grub/mips/yeeloong/kernel.h: Likewise.
18327 * include/grub/mips/yeeloong/loader.h: Likewise.
18328 * include/grub/mips/yeeloong/memory.h: Likewise.
18329 * include/grub/mips/yeeloong/pci.h: Likewise.
18330 * include/grub/mips/yeeloong/serial.h: Likewise.
18331 * include/grub/mips/yeeloong/time.h: Likewise.
18332 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18333 * kern/elf.c (grub_elf32_size): New parameter. All users
18334 updated.
18335 (grub_elf64_size): Likewise.
18336 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18337 Load modules before saying "Welcome to GRUB!".
18338 Call grub_refresh after saying "Welcome to GRUB!".
18339 * kern/mips/cache.S: New file.
18340 * kern/mips/cache_flush.S: Likewise.
18341 * kern/mips/dl.c: Likewise.
18342 * kern/mips/init.c: Likewise.
18343 * kern/mips/qemu-mips/init.c: Likewise.
18344 * kern/mips/startup.S: Likewise.
18345 * kern/mips/yeeloong/init.c: Likewise.
18346 * kern/term.c (grub_putcode): Handle NULL terminal.
18347 (grub_getcharwidth): Likewise.
18348 (grub_getkey): Likewise.
18349 (grub_checkkey): Likewise.
18350 (grub_getkeystatus): Likewise.
18351 (grub_getxy): Likewise.
18352 (grub_getwh): Likewise.
18353 (grub_gotoxy): Likewise.
18354 (grub_cls): Likewise.
18355 (grub_setcolorstate): Likewise.
18356 (grub_setcolor): Likewise.
18357 (grub_getcolor): Likewise.
18358 (grub_refresh): Likewise.
18359 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18360 (write_jump): Add hatch nop.
18361 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18362 * lib/mips/setjmp.S: New file.
18363 * loader/mips/linux.c: Likewise.
18364 * term/i386/pc/at_keyboard.c: Move from here ...
18365 * term/at_keyboard.c: ... to here.
18366 * term/i386/pc/serial.c: Moved from here ...
18367 * term/serial.c: ... to here. All users updated.
18368 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18369 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18370 (serial_translate_key_sequence): Avoid deadlock.
18371 (grub_serial_getkey): Handle backspace.
18372 (grub_serial_putchar): Fix newline handling.
18373 * util/i386/pc/grub-mkimage.c: Move from here ...
18374 * util/grub-mkrawimage.c: ... to here. All users updated.
18375 (generate_image): New parameters 'font_path' and 'format'.
18376 Support embedding font.
18377 Use grub_host_to_target* instead of grub_cpu_to_le*.
18378 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18379 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18380 (options): New option "--font".
18381 (usage): Likewise.
18382 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18383 (main): Handle "--font".
18384 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18385 (grub_virtual_screen_setup): Set bg_color_display.
18386 (redraw_screen_rect): Use bg_color_display instead of incorrect
18387 bg_color.
18388 (grub_gfxterm_cls): Likewise.
18389 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18390 Support embedding config file.
18391 (add_segments): Likewise.
18392 (options): New option "--config".
18393 (main): Handle "--config".
18394 * video/sm712.c: New file.
18395
25c2b5b3
RM
183962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18397
18398 Fix parallel builds.
18399
18400 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18401 font.c depend on ascii.h).
18402
184032010-01-12 Carles Pina i Estany <carles@pina.cat>
18404
18405 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18406
184072010-01-11 Carles Pina i Estany <carles@pina.cat>
18408
18409 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18410 By default: disabled.
18411 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18412 parameter.
18413
184142010-01-10 Carles Pina i Estany <carles@pina.cat>
18415
18416 * font/font.c: Update copyright years.
18417 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18418
184192010-01-10 Carles Pina i Estany <carles@pina.cat>
18420
18421 * font/font.c: Include `ascii.h'.
18422 (ASCII_BITMAP_SIZE): New macro.
18423 (ascii_font_glyph): Define.
18424 (ascii_glyph_lookup): New function.
18425 (grub_font_get_string_width): Change comment. If glyph not found, use
18426 ascii_glyph_lookup.
18427 (grub_font_get_glyph_with_fallback): If glyph not available returns
18428 ascii_glyph_lookup.
18429 * util/grub-mkfont.c (file_formats): New enum.
18430 (options): Add `ascii-bitmaps' new option.
18431 (usage): Add `asii-bitmaps' new option.
18432 (write_font_ascii_bitmap): New function.
18433 (write_font): Rename to ...
18434 (write_font_p2): ... this. Remove print_glyphs call.
18435 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18436 used. Call print_glyphs.
18437 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18438
184392010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18440
18441 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18442 (grub_bin2h_SOURCES): New variable.
18443 * util/bin2h.c: New file.
18444
915fc1b8
VS
184452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 * include/multiboot.h: Resynced with spec.
18448 * include/multiboot2.h: Likewise.
18449 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18450 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18451
9444b678
RM
184522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18453
18454 * include/grub/term.h (grub_term_register_input,
18455 grub_term_register_output): Check return of terminal init()
18456 routines, and abort if errors are raised.
18457
18458 * commands/terminal.c: Update copyright year.
18459
cba98e8d
RM
184602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18461
18462 * commands/terminal.c (grub_cmd_terminal_input)
18463 (grub_cmd_terminal_output): Check return of terminal init()
18464 routines, and abort if errors are raised.
18465
6f7db5d6
VS
184662010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * include/grub/i386/bsd.h: Fix include pathes.
18469
262bff8d
VS
184702010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 Add missing *BSD copyright headers.
18473
18474 * include/grub/aout.h: Add BSD licence.
18475 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18476 * include/grub/i386/freebsd_linker.h: ... here,
18477 * include/grub/i386/freebsd_reboot.h: ... here,
18478 * include/grub/i386/netbsd_bootinfo.h: ... here,
18479 * include/grub/i386/netbsd_reboot.h: ... here,
18480 * include/grub/i386/openbsd_bootarg.h: ... here,
18481 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18482 licence to each file.
18483
b2cab848
RM
184842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18485
18486 * acinclude.m4: Remove `nop' assembly instruction; it's not
18487 implemented by all architectures.
18488
2cb6be4b
RM
184892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18490
18491 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18492 ELILO. This is no longer necessary.
18493
a2eaee15
BC
184942010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18495
18496 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18497
18498 * util/grub-script-check.c: grub-script-check tool.
18499 * conf/common.rmk: Make rules for grub-script-check.
18500
88d17012
RM
185012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18502
18503 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18504 spotting it back in 2008. Shame on me for forgetting he did.
18505
18506 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18507
8040619d
RM
185082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18509
18510 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18511 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18512 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18513 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18514 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18515 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18516
a0c2a0f6
RM
185172010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18518
18519 * include/grub/test.h: Add license header.
18520 * tests/example_functional_test.c: Likewise.
18521 * tests/example_unit_test.c: Likewise.
18522 * tests/lib/functional_test.c: Likewise.
18523 * tests/lib/test.c: Likewise.
18524 * tests/lib/unit_test.c: Likewise.
18525
b0b13907
VS
185262010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 Use flag-based instead of hook-based video mode selection and "auto"
18529 keyword.
18530
18531 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18532 (grub_video_set_mode): Changed prototype. All users updated.
18533 (grub_video_check_mode_flag): New inline function.
18534 * video/video.c (parse_modespec): New function.
18535 (grub_video_set_mode): Parse flags and keywords.
18536
ea379330 185372010-01-17 Carles Pina i Estany <carles@pina.cat>
18538
18539 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18540 fprintf call.
18541
e15c215e
FZ
185422010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18543
18544 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18545
409ae1c9 185462010-01-16 Carles Pina i Estany <carles@pina.cat>
18547
18548 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18549 string.
18550 * util/grub-emu.c (usage): Likewise.
18551 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18552 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18553 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18554 * util/i386/pc/grub-setup.c (usage): Likewise.
18555
70a14d3d 185562010-01-16 Carles Pina i Estany <carles@pina.cat>
18557
18558 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18559 the message.
18560 (grub_util_info): Likewise.
18561 (grub_util_error): Likewise.
18562 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18563 and/or new lines in `grub_util_warna', `grub_util_info',
18564 `grub_util_error' calls.
18565 * util/getroot.c: Likewise.
18566 * util/grub-editenv.c: Likewise.
18567 * util/grub-emu.c: Likewise.
18568 * util/grub-fstest.c: Likewise.
18569 * util/grub-mkdevicemap.c: Likewise.
18570 * util/grub-mkfont.c: Likewise.
18571 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18572 * util/grub-mkrelpath.c: Likewise.
18573 * util/grub-pe2elf.c: Likewise.
18574 * util/grub-probe.c: Likewise.
18575 * util/hostdisk.c: Likewise.
18576 * util/i386/efi/grub-mkimage.c: Likewise.
18577 * util/i386/pc/grub-mkimage.c: Likewise.
18578 * util/i386/pc/grub-setup.c: Likewise.
18579 * util/ieee1275/ofpath.c: Likewise.
18580 * util/mkisofs/eltorito.c: Likewise.
18581 * util/mkisofs/rock.c: Likewise.
18582 * util/mkisofs/write.c: Likewise.
18583 * util/raid.c: Likewise.
18584 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18585 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18586
a0b766fc
VS
185872010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 Enable multiboot on non-pc.
18590
18591 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18592 multiboot.mod and multiboot2.mod to ...
18593 * conf/i386.rmk (pkglib_MODULES): ... here.
18594 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18595 Moved to ...
18596 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18597 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18598 Moved to ...
18599 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18600 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18601 Moved to ...
18602 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18603 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18604 Moved to ...
18605 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18606 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18607 relocator.mod.
18608 (ata_mod_SOURCES): Removed.
18609 (ata_mod_CFLAGS): Likewise.
18610 (ata_mod_LDFLAGS): Likewise.
18611 (relocator_mod_SOURCES): Removed.
18612 (relocator_mod_CFLAGS): Likewise.
18613 (relocator_mod_ASFLAGS): Likewise.
18614 (relocator_mod_LDFLAGS): Likewise.
18615 Include i386.mk.
18616 * include/grub/x86_64/multiboot.h: New file.
18617 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18618 Terminate EFI.
18619
884ade56
VS
186202010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Video multiboot support.
18623
18624 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18625 New prototype.
18626 * include/multiboot.h: Resynced with multiboot specification.
18627 * include/multiboot2.h: Likewise.
18628 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18629 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18630 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18631 (HAS_VGA_TEXT): Likewise.
18632 (accepts_video): New variable.
18633 (grub_multiboot_set_accepts_video): New function.
18634 (grub_multiboot_get_mbi_size): Account for video structures.
18635 (set_video_mode): New function.
18636 (retrieve_video_parameters): Likewise.
18637 (grub_multiboot_make_mbi): Fill video fields.
18638
0d90e8a6
VS
186392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 Video driver ids.
18642
18643 * include/grub/video.h (grub_video_driver_id): New type.
18644 (grub_video_adapter): New member 'id'. All users updated.
18645 (grub_video_get_driver_id): New proto.
18646 * video/video.c (grub_video_get_driver_id): New function.
18647
5c71db1b 186482010-01-14 Carles Pina i Estany <carles@pina.cat>
18649
18650 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18651 `var=val'.
18652
cca15b52 186532010-01-14 Carles Pina i Estany <carles@pina.cat>
18654
18655 * normal/cmdline.c (print_completion): Gettextizze.
18656
c586fbb2 186572001-01-14 Carles Pina i Estany <carles@pina.cat>
18658
18659 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18660
ba2f6848 186612010-01-14 Carles Pina i Estany <carles@pina.cat>
18662
18663 * gettext/gettext.c (grub_gettext_translate): Push and pop
18664 grub_errno.
18665 (grub_gettext_delete_list): Change comment style.
18666 * kern/err.c (grub_error): Gettextizze.
18667 (grub_fatal): Gettextizze.
18668
0a46429a
RM
186692010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18670
18671 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18672 (grub_linux16_real_boot): ... this.
18673 * kern/i386/loader.S: Likewise.
18674 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18675 (grub_linux16_boot): New function. Switches to text mode and calls
18676 grub_linux16_real_boot().
18677
18678 * loader/i386/bsd.c: Include `<grub/video.h>'.
18679 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18680 text mode before calling grub_unix_real_boot().
18681
18682 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18683 (grub_multiboot_boot): Switch to text mode before calling
18684 grub_relocator32_boot().
18685
18686 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18687 (grub_chainloader_boot): Switch to text mode before calling
18688 grub_chainloader_real_boot().
18689
d6f93a66
RM
186902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
186912010-01-05 Colin Watson <cjwatson@ubuntu.com>
18692
18693 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18694 non-empty value.
18695
186962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
186972010-01-05 Colin Watson <cjwatson@ubuntu.com>
18698
18699 * util/grub.d/00_header.in: Define a "savedefault" function for use
18700 in menu entries.
18701 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18702
187032010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
187042010-01-05 Colin Watson <cjwatson@ubuntu.com>
18705
18706 * util/grub-mkconfig_lib.in (save_default_entry): Only set
18707 saved_entry if boot_once is unset.
18708 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
18709 previous saved entry (i.e. grub-reboot).
18710
187112009-12-08 Colin Watson <cjwatson@ubuntu.com>
18712
18713 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
18714
187152009-12-08 Colin Watson <cjwatson@ubuntu.com>
18716
18717 * util/grub.d/00_header.in: Use `set var=val' rather than plain
18718 `var=val'.
18719 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
18720
187212009-12-08 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * util/grub-reboot.in: Fix --version output.
18724 * util/grub-set-default.in: Likewise.
18725
187262009-12-08 Colin Watson <cjwatson@ubuntu.com>
18727
18728 * util/grub.d/00_header.in: Silently ignore zero-sized environment
18729 blocks.
18730
187312009-12-08 Colin Watson <cjwatson@ubuntu.com>
18732
18733 * util/grub.d/00_header.in: Quote the value assigned to `default',
18734 in case it contains spaces.
18735
187362009-12-08 Colin Watson <cjwatson@ubuntu.com>
18737
18738 * util/grub.d/30_os-prober.in: Fix merge error that moved a
18739 `save_default_entry' call from the macosx case to the linux case.
18740
187412009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
187422009-10-25 Colin Watson <cjwatson@ubuntu.com>
18743
18744 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
18745 in `chosen' environment variable.
18746 * normal/menu_text.c (get_entry_number): Check if the variable
18747 matches the title of a menu entry.
18748 (run_menu): Pass menu to get_entry_number.
18749
18750 * util/grub-reboot.in: New file.
18751 * util/grub-set-default.in: New file.
18752 * conf/common.rmk (grub-reboot): New utility.
18753 (grub-set-default): New utility.
18754
18755 * util/grub-mkconfig_lib.in (save_default_entry): New function.
18756 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
18757 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
18758 move it to `saved_entry' for the next boot. Load environment on
18759 initialisation.
18760 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
18761 * util/grub.d/10_hurd.in: Likewise.
18762 * util/grub.d/10_linux.in (linux_entry): Likewise.
18763 * util/grub.d/10_windows.in: Likewise.
18764 * util/grub.d/30_os-prober.in: Likewise.
18765
18766 * util/grub-install.in: Create environment block.
18767 * util/i386/efi/grub-install.in: Likewise.
18768 * util/ieee1275/grub-install.in: Likewise.
18769 * util/sparc64/ieee1275/grub-install.in: Likewise.
18770
0934d184
BC
187712010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
18772
18773 Unit testing framework for GRUB.
18774
18775 * Makefile.in: Test framework build rules for 'make check'.
18776 * conf/tests.rmk: Build rules for individual tests and framework.
18777
18778 * include/grub/test.h: Header file for whitebox tests.
18779 * tests/lib/functional_test.c: Framework support for whitebox
18780 functional tests.
18781 * tests/lib/test.c: Common whitebox testing code for unit and
18782 functional tests.
18783 * tests/lib/unit_test.c: Framework support for whitebox unit
18784 tests.
18785
18786 * tests/util/grub-shell-tester.in: Support utility for grub-script
18787 tests.
18788 * tests/util/grub-shell.in: Utility to execute grub-script
18789 commands in a Qemu instance.
18790
18791 * tests/example_functional_test.c: Example whitebox functional
18792 test.
18793 * tests/example_grub_script_test.in: Example grub-script test.
18794 * tests/example_scripted_test.in: Example scripted test.
18795 * tests/example_unit_test.c: Example whitebox unit test.
18796
9c4ffeeb
VS
187972010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
18800 Add loader/i386/multiboot_mbi.c.
18801 (multiboot2_mod_SOURCES): Likewise.
18802 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
18803 (multiboot2_mod_SOURCES): Likewise.
18804 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
18805 (grub_multiboot_make_mbi): Likewise.
18806 (grub_multiboot_free_mbi): Likewise.
18807 (grub_multiboot_init_mbi): Likewise.
18808 (grub_multiboot_add_module): Likewise.
18809 (grub_multiboot_set_bootdev): Likewise.
18810 * loader/i386/multiboot.c (mbi): Removed.
18811 (mbi_dest): Likewise.
18812 (alloc_mbi): New variable.
18813 (grub_multiboot_payload_size): Removed. All users updated.
18814 (grub_multiboot_pure_size): New variable.
18815 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
18816 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
18817 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
18818 (grub_fill_multiboot_mmap): Likewise.
18819 (grub_multiboot_get_bootdev): Likewise.
18820 (grub_multiboot): Use multiboot_mbi functions.
18821 * loader/i386/multiboot_mbi.c: New file.
18822
17383dfe
VS
188232010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
18826 it would result in module crash.
18827
c1f28820
VS
188282010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
18831 (grub_ofconsole_getwh): Split to ...
18832 (grub_ofconsole_getwh): ... this.
18833 (grub_ofconsole_dimensions): ...and this.
18834 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
18835
58655a16
RM
188362010-01-13 Robert Millan <rmh.grub@aybabtu.com>
18837
18838 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
18839
10891398
VS
188402010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 * loader/i386/pc/multiboot2.c: Removed stalled file.
18843
0b8a223c
VS
188442010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
18847 Reported by: Grégoire Sutre
18848
92ab12b0
RM
188492010-01-11 Robert Millan <rmh.grub@aybabtu.com>
18850
18851 * util/misc.c (canonicalize_file_name): New function.
18852 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
18853 instead of realpath().
18854
a788afb6
CW
188552010-01-11 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * util/grub-install.in (usage): Clarify meaning of --root-directory,
18858 and make it clearer that it's optional. Based on confusion
18859 witnessed on IRC.
18860
ffa8e3d2
VS
188612010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
18864 in premature implicit newline.
18865
e9060a9d
VS
188662010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
18869 which resulted in garbled command line at the end of screen.
18870
f0d0c0b7
RM
188712010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18872
18873 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18874 initialization with similar approach as with other Linux loaders.
18875
0e60bae7
RM
188762010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18877
18878 Fix i386-ieee1275 build.
18879
18880 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18881 and grub_term_height() for video_{width,height} initialization.
18882
188832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
18884
18885 Fix grub-emu build.
18886
18887 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18888
cdb3f378
RM
188892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
188902010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18891
18892 Support for multiple terminals.
18893
18894 * Makefile.in (pkglib_DATA): terminal.lst.
18895 (terminal.lst): New target.
18896 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18897 (GRUB_MOD_INIT(handler)): Likewise.
18898 (GRUB_MOD_FINI(handler)): Likewise.
18899 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18900 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18901 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18902 (grub_cmd_sleep): Use grub_term_save_pos.
18903 * commands/terminal.c: New file.
18904 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18905 commands/terminal.c and lib/charset.c.
18906 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18907 (pkglib_MODULES): Add terminal.mod.
18908 (terminal_mod_SOURCES): New variable.
18909 (terminal_mod_CFLAGS): Likewise.
18910 (terminal_mod_LDFLAGS): Likewise.
18911 * genhandlerlist.sh: Don't handle terminals.
18912 * genmk.rb: Generate terminal-*.lst.
18913 * genterminallist.sh: New file.
18914 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18915 (grub_is_valid_utf8): Likewise.
18916 (grub_utf8_to_ucs4_alloc): Likewise.
18917 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18918 (grub_menu_register_viewer): Changed argument.
18919 (grub_menu_try_text): New proto.
18920 (grub_gfxmenu_try_hook): New declaration.
18921 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18922 (grub_menu_init_page): Additional argument term.
18923 (grub_normal_init_page): Likewise.
18924 (grub_cmdline_get): Arguments simplified.
18925 (grub_utf8_to_ucs4_alloc): Removed.
18926 (grub_print_ucs4): Additional argument term.
18927 (grub_getstringwidth): Likewise.
18928 (grub_print_message_indented): Likewise.
18929 (grub_menu_text_register_instances): New proto.
18930 (grub_show_menu): Likewise.
18931 (read_terminal_list): Likewise.
18932 (grub_set_more): Likewise.
18933 * include/grub/parser.h: Include handler.h.
18934 * include/grub/reader.h: Rewritten.
18935 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18936 (GRUB_TERM_WIDTH): Changed to function.
18937 (GRUB_TERM_HEIGHT): Likewise.
18938 (GRUB_TERM_BORDER_WIDTH): Likewise.
18939 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18940 (GRUB_TERM_NUM_ENTRIES): Likewise.
18941 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18942 (GRUB_TERM_CURSOR_X): Likewise.
18943 (grub_term_input_class): Likewise.
18944 (grub_term_output_class): Likewise.
18945 (grub_term_outputs_disabled): New declaration.
18946 (grub_term_inputs_disabled): Likewise.
18947 (grub_term_outputs): Likewise.
18948 (grub_term_inputs): Likewise.
18949 (grub_term_register_input): Rewritten.
18950 (grub_term_register_output): Likewise.
18951 (grub_term_unregister_input): Likewise.
18952 (grub_term_unregister_output): Likewise.
18953 (FOR_ACTIVE_TERM_INPUTS): New macro.
18954 (FOR_DISABLED_TERM_INPUTS): Likewise.
18955 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18956 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18957 * include/grub/terminfo.h: Add oterm argument to all protypes.
18958 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18959 Use grub_rescue_run.
18960 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18961 All users updated.
18962 * kern/reader.c: Removed. All users updated.
18963 * kern/rescue_reader.c (grub_rescue_init): Removed.
18964 (grub_rescue_reader): Likewise.
18965 (grub_register_rescue_reader): Likewise.
18966 (grub_rescue_run): New function based on kern/reader.c.
18967 * kern/term.c: Adapted for multiterm.
18968 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18969 (grub_is_valid_utf8): Likewise.
18970 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18971 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18972 right terminal.
18973 * loader/i386/linux.c (grub_linux_boot): Likewise.
18974 * normal/auth.c (grub_username_get): New function.
18975 (grub_auth_check_authentication): Use grub_username_get.
18976 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18977 * normal/color.c: Adapt for multiterm.
18978 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18979 (grub_normal_init_page): Additional argument term.
18980 (read_lists): Call read_terminal_lists.
18981 (grub_enter_normal_mode): Call grub_cmdline_run.
18982 Handle grub_normal_exit_level.
18983 (grub_cmd_normal): Make reentrant.
18984 (grub_cmd_normal_exit): New function.
18985 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18986 * normal/menu.c: Adapt for multiterm.
18987 * normal/menu_entry.c: Likewise.
18988 * normal/menu_text.c: Likewise.
18989 * normal/menu_viewer.c: Removed. All users updated.
18990 * normal/term.c: New file.
18991 * util/console.c: Change order of includes to workaround a bug in
18992 ncurses headers.
18993 * term/terminfo.c: New argument oterm on all exported functions.
18994 All users updated.
18995 * util/grub-editenv.c (grub_term_input_class): Removed.
18996 (grub_term_output_class): Likewise.
18997
1a064917
RM
189982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18999
19000 Make loader output a bit more user-friendly.
19001
19002 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19003 is being loaded. Likewise for the Hurd.
19004
19005 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19006 that kernel of FreeBSD ${version} is being loaded.
19007
19008 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19009 grub_dprintf().
19010 (grub_cmd_initrd): Likewise.
19011 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19012 that Linux ${version} is being loaded. Likewise for initrd.
19013
5ce0a83a 190142010-01-09 Carles Pina i Estany <carles@pina.cat>
19015
19016 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19017
809bbfeb 190182010-01-08 Carles Pina i Estany <carles@pina.cat>
19019
19020 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19021 (GRUB_MOD_INIT): Gettextizze.
19022 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19023 (GRUB_MOD_INIT): Gettextizze.
19024 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19025 (grub_cmd_linux): Capitalise Linux.
19026 (GRUB_MOD_INIT): Gettextizze.
19027 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19028 (grub_cmd_linux): Capitalise Linux.
19029 (GRUB_MOD_INIT): Gettextizze.
19030 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19031 (grub_cmd_linux): Capitalise Linux.
19032 (GRUB_MOD_INIT): Gettextizze.
19033 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19034 (GRUB_MOD_INIT): Gettextizze.
19035 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19036 (grub_cmd_linux): Capitalise Linux.
19037 (GRUB_MOD_INIT): Gettextizze.
19038 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19039 (grub_cpu_xnu_init): Gettextizze.
19040 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19041 (GRUB_MOD_INIT): Gettextizze.
19042 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19043 (GRUB_MOD_INIT): Gettextizze.
19044 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19045 (grub_linux_load64): Capitalise Linux.
19046 (GRUB_MOD_INIT): Gettextizze.
19047 * loader/xnu.c: Include `<grub/i18n.h>'.
19048 (GRUB_MOD_INIT): Gettextizze.
19049 * po/POTFILES: Add `loader/efi/appleloader.c',
19050 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19051 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19052 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19053 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19054 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19055 and `loader/xnu.c'.
19056
b394b2ca
RM
190572010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19058
19059 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19060
190612010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19062
19063 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19064 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19065 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19066
bc8b32b3
RM
190672010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19068
19069 Reset Multiboot 2 support. New loader implements the draft in
19070 /branches/multiboot2 and shares as much code as possible with the
19071 production Multiboot 1 implementation.
19072
19073 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19074 * loader/multiboot2.c: Likewise.
19075 * loader/i386/multiboot_helper.S: Likewise.
19076 * include/multiboot2.h: Replace with latest version from the draft
19077 in /branches/multiboot2.
19078
19079 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19080 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19081 and `loader/multiboot2.c'.
19082 (pkglib_MODULES): Add `multiboot2.mod'.
19083 (multiboot2_mod_SOURCES): New variable.
19084 (multiboot2_mod_LDFLAGS): Likewise.
19085 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19086
19087 * conf/i386-pc.rmk: Likewise.
19088
19089 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19090 (multiboot_mod_SOURCES): Remove variable.
19091 (multiboot_mod_LDFLAGS): Likewise.
19092 (multiboot_mod_CFLAGS): Likewise.
19093
19094 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19095 `<multiboot2.h>' instead of `<multiboot.h>'.
19096 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19097 (MULTIBOOT_HEADER_MAGIC): New macros.
19098
19099 * loader/multiboot_loader.c (module_version_status): Remove variable.
19100 (find_multi_boot2_header): Remove function.
19101 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19102 logic. Always check for the Multiboot version we're compiling for.
19103 (grub_cmd_module_loader): Likewise.
19104 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19105 command instead of `multiboot'.
19106
5d2c52b8
RM
191072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19108
19109 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19110 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19111 all users.
19112
53108d92
RM
191132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
191142010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 Fix breakage introduced with previous commit.
19117
19118 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19119 commands.
19120 * normal/handler.c (read_handler_list): Revert part of previous commit
19121 affecting this file.
19122 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19123 (grub_normal_execute): ... here.
19124
e2e936b2
RM
191252010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19126
19127 Merge prefix-redefinition-fix branch.
19128
19129 * normal/autofs.c (read_fs_list): Make function capable of being
19130 run multiple times, gracefuly replacing the previous data
19131 structures.
19132 * normal/dyncmd.c (read_command_list): Likewise.
19133 * normal/handler.c (read_handler_list): Likewise.
19134 * normal/main.c (read_lists): New function. Calls all the
19135 list reading functions.
19136 (grub_normal_execute): Use read_lists() instead of calling all
19137 list reading functions explicitly. Register read_lists() as a
19138 variable hook attached to ${prefix}.
19139
607a3701
VS
191402010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 Merge crypto branch.
19143
19144 * Makefile.in (pkglib_DATA): Add crypto.lst.
19145 (crypto.lst): New target.
19146 * commands/hashsum.c: New file.
19147 * commands/password.c (check_password): Use grub_crypto_memcmp.
19148 * commands/password_pbkdf2.c: New file.
19149 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19150 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19151 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19152 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19153 -I$(srcdir)/lib/libgcrypt_wrap.
19154 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19155 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19156 password_pbkdf2.mod.
19157 (crypto_mod_SOURCES): New variable.
19158 (crypto_mod_CFLAGS): Likewise.
19159 (crypto_mod_LDFLAGS): Likewise.
19160 (hashsum_mod_SOURCES): New variable.
19161 (hashsum_mod_CFLAGS): Likewise.
19162 (hashsum_mod_LDFLAGS): Likewise.
19163 (pbkdf2_mod_SOURCES): New variable.
19164 (pbkdf2_mod_CFLAGS): Likewise.
19165 (pbkdf2_mod_LDFLAGS): Likewise.
19166 (password_pbkdf2_mod_SOURCES): New variable.
19167 (password_pbkdf2_mod_CFLAGS): Likewise.
19168 (password_pbkdf2_mod_LDFLAGS): Likewise.
19169 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19170 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19171 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19172 Include conf/gcry.rmk.
19173 * include/grub/auth.h: Rewritten.
19174 * include/grub/crypto.h: New file.
19175 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19176 * include/grub/normal.h (read_crypto_list): New prototype.
19177 * lib/crypto.c: New file.
19178 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19179 * lib/pbkdf2.c: Likewise.
19180 * normal/auth.c (grub_auth_strcmp): Removed.
19181 (grub_iswordseparator): Likewise.
19182 (grub_auth_strword): Likewise.
19183 (is_authenticated): Use grub_strword.
19184 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19185 and grub_strword. Pass entered password to authentication callback.
19186 * normal/crypto.c: New file.
19187 * normal/main.c: Call read_crypto_list.
19188 * util/grub-mkpasswd-pbkdf2.c: New file.
19189 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19190
42841caa
VS
191912010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 Fix descent and ascent calculation.
19194
19195 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19196 (options): New option "asce".
19197 (usage): Likewise.
19198 (add_char): Ignore invalid glyphs for descent calculation.
19199 Calculate ascent from actual content.
19200 (print_glyphs): Use 'asce'.
19201 (write_font): Likewise. Allow ascent override.
19202 (main): Handle "asce" option.
19203
e7730de7 192042010-01-06 Carles Pina i Estany <carles@pina.cat>
19205
19206 * kern/err.c: Include `<grub/i18n.h>'.
19207 (grub_print_error): Add full stop. Gettextizze.
19208 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19209 (grub_bsd_load_elf): Capitalise ELF.
19210 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19211 (grub_cmd_freebsd_module): Likewise.
19212 (grub_cmd_freebsd_module_elf): Likewise.
19213 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19214
40e3a41f 192152010-01-06 Carles Pina i Estany <carles@pina.cat>
19216
19217 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19218 * commands/search_file.c (HELP_MESSAGE): New macro.
19219 * commands/search_label.c (HELP_MESSAGE): Likewise.
19220 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19221 * po/POTFILES: Add `commands/search_file.c',
19222 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19223 `commands/search.c'.
19224
83507e68
RM
192252010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19226
19227 * config.rpath: Update from Gnulib.
19228
465c787b
YB
192292010-01-05 Yves Blusseau <blusseau@zetam.org>
19230
19231 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19232
6581dd3a
YB
192332010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19234
19235 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19236
3bff18c5
CW
192372010-01-05 Colin Watson <cjwatson@ubuntu.com>
19238
19239 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19240 arguments to fread so that we get a return value in bytes, rather
19241 than something that will normally be rounded down to 0.
19242 Adjust error handling to avoid producing garbage when size_t is not
19243 the same size as long long.
19244
a1368118
CW
192452010-01-05 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * util/mkisofs/write.c (padblock_write): Check return value of
19248 fread.
19249
7c302978
RM
192502010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19251
19252 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19253 floppy images now.
19254
19255 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19256
e33ace06
RM
192572010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19258
19259 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19260 instead of manual alignment.
19261 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19262 verbose). Avoid attempts to read past end of the device
19263 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19264 but GRUB_DISK_CACHE_SIZE may exceed that).
19265
4b856776
RM
192662010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19267
19268 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19269 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19270 it to upper layer.
19271
52c2d97f
VS
192722010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19275 New constant.
19276 (grub_efi_piwg_device_path): New structure
19277 (grub_efi_piwg_device_path_t): New type.
19278 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19279 (devpath_1): Transform to a structure. All users updated.
19280 (devpath_2): Likewise.
19281 (devpath_3): Likewise.
19282 (devpath_4): Likewise.
19283 (devpath_5): Likewise.
19284
98ff6a54
VS
192852010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * loader/efi/appleloader.c: Restored. Update all users.
19288
3a73dcb6
RM
192892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19290
19291 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19292
19293 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19294 (struct boot_blocklist): Move from here ...
19295 * include/grub/i386/pc/boot.h [ASM_FILE]
19296 (struct grub_boot_blocklist): ... to here. Update all users.
19297 (setup): Only initialize `start' member of `first_block'
19298 structure. Add assert() calls to verify the other members.
19299
19300 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19301 (generate_image): Fix broken blocklist length initialization.
19302 Add assert() call to verify blocklist `segment' field.
19303
ab0eeb0c
RM
193042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19305
19306 * loader/efi/appleloader.c: Remove. Update all users.
19307
58bc8bd5
RM
193082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19309
19310 * boot/i386/pc/boot.S: Update copyright year.
19311 * boot/i386/pc/cdboot.S: Likewise.
19312 * boot/i386/pc/diskboot.S: Likewise.
19313 * boot/i386/pc/lnxboot.S: Likewise.
19314 * boot/i386/pc/pxeboot.S: Likewise.
19315 * bus/pci.c: Likewise.
19316 * commands/cmp.c: Likewise.
19317 * commands/help.c: Likewise.
19318 * commands/hexdump.c: Likewise.
19319 * commands/i386/pc/halt.c: Likewise.
19320 * commands/i386/pc/play.c: Likewise.
19321 * commands/i386/pc/vbeinfo.c: Likewise.
19322 * commands/ls.c: Likewise.
19323 * commands/test.c: Likewise.
19324 * disk/dmraid_nvidia.c: Likewise.
19325 * disk/i386/pc/biosdisk.c: Likewise.
19326 * disk/ieee1275/nand.c: Likewise.
19327 * disk/ieee1275/ofdisk.c: Likewise.
19328 * disk/lvm.c: Likewise.
19329 * disk/raid.c: Likewise.
19330 * disk/raid6_recover.c: Likewise.
19331 * disk/scsi.c: Likewise.
19332 * fs/affs.c: Likewise.
19333 * fs/cpio.c: Likewise.
19334 * fs/ext2.c: Likewise.
19335 * fs/hfs.c: Likewise.
19336 * fs/iso9660.c: Likewise.
19337 * fs/ntfs.c: Likewise.
19338 * fs/sfs.c: Likewise.
19339 * fs/udf.c: Likewise.
19340 * fs/ufs.c: Likewise.
19341 * fs/xfs.c: Likewise.
19342 * gencmdlist.sh: Likewise.
19343 * genmk.rb: Likewise.
19344 * include/grub/disk.h: Likewise.
19345 * include/grub/efi/api.h: Likewise.
19346 * include/grub/efi/efi.h: Likewise.
19347 * include/grub/efi/pe32.h: Likewise.
19348 * include/grub/elf.h: Likewise.
19349 * include/grub/fs.h: Likewise.
19350 * include/grub/i386/at_keyboard.h: Likewise.
19351 * include/grub/i386/pc/memory.h: Likewise.
19352 * include/grub/i386/pc/vbe.h: Likewise.
19353 * include/grub/i386/pci.h: Likewise.
19354 * include/grub/i386/tsc.h: Likewise.
19355 * include/grub/ieee1275/ieee1275.h: Likewise.
19356 * include/grub/ntfs.h: Likewise.
19357 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19358 * include/grub/sparc64/libgcc.h: Likewise.
19359 * include/grub/symbol.h: Likewise.
19360 * include/grub/types.h: Likewise.
19361 * include/multiboot2.h: Likewise.
19362 * io/gzio.c: Likewise.
19363 * kern/device.c: Likewise.
19364 * kern/disk.c: Likewise.
19365 * kern/efi/efi.c: Likewise.
19366 * kern/efi/mm.c: Likewise.
19367 * kern/elf.c: Likewise.
19368 * kern/file.c: Likewise.
19369 * kern/i386/dl.c: Likewise.
19370 * kern/i386/pc/init.c: Likewise.
19371 * kern/i386/pc/startup.S: Likewise.
19372 * kern/ieee1275/ieee1275.c: Likewise.
19373 * kern/ieee1275/init.c: Likewise.
19374 * kern/main.c: Likewise.
19375 * kern/mm.c: Likewise.
19376 * kern/powerpc/dl.c: Likewise.
19377 * kern/sparc64/dl.c: Likewise.
19378 * kern/x86_64/dl.c: Likewise.
19379 * lib/hexdump.c: Likewise.
19380 * loader/efi/appleloader.c: Likewise.
19381 * loader/i386/ieee1275/linux.c: Likewise.
19382 * loader/i386/pc/chainloader.c: Likewise.
19383 * loader/i386/pc/linux.c: Likewise.
19384 * loader/i386/pc/multiboot2.c: Likewise.
19385 * loader/ieee1275/multiboot2.c: Likewise.
19386 * loader/multiboot2.c: Likewise.
19387 * loader/multiboot_loader.c: Likewise.
19388 * loader/powerpc/ieee1275/linux.c: Likewise.
19389 * normal/completion.c: Likewise.
19390 * normal/menu_entry.c: Likewise.
19391 * partmap/apple.c: Likewise.
19392 * util/grub.d/10_hurd.in: Likewise.
19393 * util/hostfs.c: Likewise.
19394 * video/readers/png.c: Likewise.
19395
e2d70b5c
CW
193962010-01-03 Colin Watson <cjwatson@ubuntu.com>
19397
19398 * include/grub/misc.h (GNUC_PREREQ): New macro.
19399 (ATTRIBUTE_ERROR): New macro.
19400 * include/grub/list.h (grub_bad_type_cast_real): Use
19401 ATTRIBUTE_ERROR.
19402
a173283f 194032010-01-03 Carles Pina i Estany <carles@pina.cat>
19404
19405 * normal/menu_text.c (print_message): Change messages.
19406
7fa7ff74 194072010-01-03 Carles Pina i Estany <carles@pina.cat>
19408
19409 * normal/menu_entry.c (store_completion): Gettextizze.
19410
136d24f6 194112010-01-03 Carles Pina i Estany <carles@pina.cat>
19412
19413 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19414
f936862e 194152010-01-03 Carles Pina i Estany <carles@pina.cat>
19416
19417 * po/POTFILES: Sort correctly.
19418
29c44ad1 194192010-01-03 Carles Pina i Estany <carles@pina.cat>
19420
19421 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19422 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19423 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19424 full stop.
19425 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19426 summary. Gettextizze the strings.
19427 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19428 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19429 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19430 full stop.
19431 (GRUB_MOD_INIT): Remove command name from summary.
19432 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19433 summary.
19434 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19435 * term/i386/pc/serial.c (options): Add full stops.
19436 (GRUB_MOD_INIT): Remove command name from the summary.
19437
77a79592 194382010-01-03 Carles Pina i Estany <carles@pina.cat>
19439
19440 * commands/acpi.c: Gettextizze help strings and/or options. Include
19441 `grub/i18n.h' if needed.
19442 * commands/blocklist.c: Likewise.
19443 * commands/boot.c: Likewise.
19444 * commands/cat.c: Likewise.
19445 * commands/cmp.c: Likewise.
19446 * commands/configfile.c: Likewise.
19447 * commands/crc.c: Likewise.
19448 * commands/date.c: Likewise.
19449 * commands/echo.c: Likewise.
19450 * commands/efi/fixvideo.c: Likewise.
19451 * commands/efi/loadbios.c: Likewise.
19452 * commands/gptsync.c: Likewise.
19453 * commands/halt.c: Likewise.
19454 * commands/handler.c: Likewise.
19455 * commands/hdparm.c: Likewise.
19456 * commands/hexdump.c: Likewise.
19457 * commands/i386/cpuid.c: Likewise.
19458 * commands/i386/pc/drivemap.c: Likewise.
19459 * commands/i386/pc/halt.c: Likewise.
19460 * commands/i386/pc/pxecmd.c: Likewise.
19461 * commands/i386/pc/vbeinfo.c: Likewise.
19462 * commands/i386/pc/vbetest.c: Likewise.
19463 * commands/ieee1275/suspend.c: Likewise.
19464 * commands/keystatus.c: Likewise.
19465 * commands/loadenv.c: Likewise.
19466 * commands/ls.c: Likewise.
19467 * commands/lsmmap.c: Likewise.
19468 * commands/lspci.c: Likewise.
19469 * commands/memrw.c: Likewise.
19470 * commands/minicmd.c: Likewise.
19471 * commands/parttool.c: Likewise.
19472 * commands/password.c: Likewise.
19473 * commands/probe.c: Likewise.
19474 * commands/read.c: Likewise.
19475 * commands/reboot.c: Likewise.
19476 * commands/search.c: Likewise.
19477 * commands/sleep.c: Likewise.
19478 * commands/test.c: Likewise.
19479 * commands/true.c: Likewise.
19480 * commands/usbtest.c: Likewise.
19481 * commands/videotest.c: Likewise.
19482 * commands/xnu_uuid.c: Likewise.
19483 * disk/loopback.c: Likewise.
19484 * hello/hello.c: Likewise.
19485 * loader/i386/bsd.c: Likewise.
19486 * term/i386/pc/serial.c: Likewise.
19487 * po/POTFILES: Add new files.
19488
da8d5c53
CW
194892010-01-02 Colin Watson <cjwatson@ubuntu.com>
19490
19491 * term/i386/pc/at_keyboard.c
19492 (keyboard_controller_wait_untill_ready): Rename to ...
19493 (keyboard_controller_wait_until_ready): ... this. Update all users.
19494
33937904 194952010-01-01 Carles Pina i Estany <carles@pina.cat>
19496
19497 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19498 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19499 string using string width.
19500 * normal/menu_text.c (grub_print_message_indented): Use
19501 grub_print_spaces and not print_spaces.
19502 (print_timeout): Likewise.
19503 (print_spaces): Move to...
19504 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19505
3fd3b8d8
RM
195062010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19507
19508 Import from Gnulib.
19509
19510 * gnulib/getdelim.c: New file.
19511 * gnulib/getline.c: Likewise.
19512
33433555
VS
195132009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19514
19515 * include/grub/list.h (grub_assert_fail): Removed.
19516 (grub_bad_type_cast_real): New function.
19517 (grub_bad_type_cast): New macro.
19518 (GRUB_AS_LIST): Use grub_bad_type_cast.
19519 (GRUB_AS_LIST_P): Likewise.
e44721e8 19520 (GRUB_AS_NAMED_LIST): Likewise.
33433555 19521 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 19522 (GRUB_AS_PRIO_LIST): Likewise.
33433555 19523 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 19524 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 19525
f5a51306
VS
195262009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19529 Fix syntax error.
19530
90d1e879
RM
195312009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19532
19533 * configure.ac: Check for TARGET_CFLAGS initialization before we
19534 initialize it ourselves (sigh).
19535 Move a few modifications to TARGET_CFLAGS to be unconditional
19536 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19537 eh_frame)
19538
19539 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19540 * term/i386/pc/at_keyboard.c
19541 (keyboard_controller_wait_untill_ready): Likewise.
19542 (keyboard_controller_led): Rename `led_status' paramter to avoid
19543 name conflict.
19544
465b5a81 195452009-12-28 Carles Pina i Estany <carles@pina.cat>
19546
19547 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19548 quotes.
19549
c181849b
VS
195502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19553
9c8739a4
VS
195542009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * normal/menu_text.c (grub_print_message_indented): Prevent
19557 past-the-end-of-array dereference.
19558
3e74249c
VS
195592009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19562 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19563
64fd18ed 195642009-12-27 Carles Pina i Estany <carles@pina.cat>
19565
19566 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19567 * normal/main.c (grub_normal_read_line): Remove a space from the
19568 default prompt.
19569
714af9b9 195702009-12-27 Carles Pina i Estany <carles@pina.cat>
19571
19572 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19573 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19574 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19575 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19576 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19577 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19578 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19579
82f3e412 195802009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 19581
19582 * video/readers/jpeg.c (cmd): Declare.
19583 (grub_cmd_jpegtest): Use `grub_command_t' type.
19584 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19585 Assign to `cmd'.
19586 (GRUB_MOD_FINI): Use `cmd' to unregister.
19587 * video/readers/png.c (cmd): Declare.
19588 (grub_cmd_pngtest): Use `grub_command_t' type.
19589 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19590 Assign to `cmd'.
19591 (GRUB_MOD_FINI): Use `cmd' to unregister.
19592 * video/readers/tga.c (cmd): Declare.
19593 (grub_cmd_tgatest): Use `grub_command_t' type.
19594 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19595 Assign to `cmd'.
19596 (GRUB_MOD_FINI): Use `cmd' to unregister.
19597
82f3e412 195982009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 19599
19600 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19601 stops.
19602 * kern/corecmd.c (grub_register_core_commands): Likewise.
19603 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19604 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19605 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19606 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19607 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19608 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19609 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19610 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19611 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19612 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19613 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19614 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19615 * normal/handler.c (insert_handler): Likewise.
19616 * normal/main.c (GRUB_MOD_INIT): Likewise.
19617 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19618
fdcdbb66 196192009-12-26 Carles Pina i Estany <carles@pina.cat>
19620
19621 * commands/help.c (grub_cmd_help): Print the command name before the
19622 summary.
19623 (GRUB_MOD_INIT): Remove command name from the summary.
19624 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 19625 string as summary.
fdcdbb66 19626 * lib/arg.c (find_long): Print the command name before the summary.
19627 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19628 summary.
19629 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19630 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19631 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19632 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19633 * commands/crc.c (GRUB_MOD_INIT): Likewise.
19634 * commands/date.c (GRUB_MOD_INIT): Likewise.
19635 * commands/echo.c (GRUB_MOD_INIT): Likewise.
19636 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
19637 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19638 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19639 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19640 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19641 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19642 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19643 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19644 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19645 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19646 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19647 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19648 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19649 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19650 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19651 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19652 * commands/password.c (GRUB_MOD_INIT): Likewise.
19653 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19654 * commands/read.c (GRUB_MOD_INIT): Likewise.
19655 * commands/search.c (GRUB_MOD_INIT): Likewise.
19656 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19657 * commands/test.c (GRUB_MOD_INIT): Likewise.
19658 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19659 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19660 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19661 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19662 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19663 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19664 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19665 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19666 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19667 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19668 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19669 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19670 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19671 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19672
9c288be2
VS
196732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 Use search command for preliminar UUID search.
19676
19677 * commands/search.c: Split into ...
19678 * commands/search_wrap.c: ...this
19679 * commands/search.c: ...and this.
19680 * commands/search_file.c: New file.
19681 * commands/search_label.c: New file.
19682 * commands/search_uuid.c: New file.
19683 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19684 Add commands/search_wrap.c, commands/search_file.c,
19685 commands/search_label.c and commands/search_uuid.c.
19686 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19687 (search_mod_SOURCES): Set to commands/search_wrap.c.
19688 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19689 search_label.mod.
19690 (search_fs_file_mod_SOURCES): New variable.
19691 (search_fs_file_mod_CFLAGS): Likewise.
19692 (search_fs_file_mod_LDFLAGS): Likewise.
19693 (search_label_mod_SOURCES): Likewise.
19694 (search_label_mod_CFLAGS): Likewise.
19695 (search_label_mod_LDFLAGS): Likewise.
19696 (search_fs_uuid_mod_SOURCES): New variable.
19697 (search_fs_uuid_mod_CFLAGS): Likewise.
19698 (search_fs_uuid_mod_LDFLAGS): Likewise.
19699 (fs_file_mod_SOURCES): Removed.
19700 (fs_file_mod_CFLAGS): Likewise.
19701 (fs_file_mod_LDFLAGS): Likewise.
19702 (fs_uuid_mod_SOURCES): Removed.
19703 (fs_uuid_mod_CFLAGS): Likewise.
19704 (fs_uuid_mod_LDFLAGS): Likewise.
19705 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
19706 Set to util/grub-install.in.
19707 * disk/fs_file.c: Removed.
19708 * disk/fs_uuid.c: Likewise.
19709 * include/grub/search.h: New file.
19710 * util/grub-install.in: Handle sparc64.
19711 Create and use load.cfg.
19712 * util/sparc64/ieee1275/grub-install.in: Removed.
19713
db943399
VS
197142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
19717 Ignore return status if CF is cleared.
19718 (grub_biosdisk_get_diskinfo_standard): Likewise.
19719
3fdae612
RM
197202009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19721
19722 * term/i386/pc/at_keyboard.c
19723 (keyboard_controller_wait_untill_ready): New function.
19724 (grub_keyboard_controller_write, grub_keyboard_controller_read)
19725 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
19726 for keyboard polling, rather than duplicate the same loop. This
19727 saves a few bytes in code size.
19728
7ebaa2b4
VS
197292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 Support for (pxe[:server[:gateway]]) syntax and
19732 use environment variable for PXE.
19733
19734 * commands/i386/pc/pxecmd.c (options): Removed.
19735 (print_ip): Removed.
19736 (grub_cmd_pxe): Removed
19737 (grub_cmd_pxe_unload): New function.
19738 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
19739 (grub_pxe_your_ip): Made static.
19740 (grub_pxe_default_server_ip): Likewise.
19741 (grub_pxe_default_gateway_ip): Likewise.
19742 (grub_pxe_blksize): Likewise.
19743 (parse_ip): New function.
19744 (grub_pxe_open): Support server and gateway specification.
19745 (grub_pxe_close): Free disk->data.
19746 (grub_pxefs_open): Use disk->data.
19747 (grub_pxefs_read): Likewise.
19748 (grub_env_write_readonly): New function.
19749 (set_mac_env): Likewise.
19750 (set_env_limn_ro): Likewise.
19751 (parse_dhcp_vendor): Likewise.
19752 (grub_pxe_detect): Set the environment variables.
19753 (set_ip_env): New function.
19754 (write_ip_env): Likewise.
19755 (grub_env_write_pxe_default_server): Likewise.
19756 (grub_env_write_pxe_default_gateway): Likewise.
19757 (grub_env_write_pxe_blocksize): Likewise.
19758 (GRUB_MOD_INIT(pxe)): Set environment variables.
19759 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
19760 (grub_pxe_mac_addr_t): ... this. All users updated.
19761 (grub_pxe_your_ip): Removed.
19762 (grub_pxe_server_ip): Likewise.
19763 (grub_pxe_gateway_ip): Likewise.
19764 (grub_pxe_blksize): Likewise.
19765
ec5f98ab 197662009-12-25 Carles Pina i Estany <carles@pina.cat>
19767
19768 * commands/help.c: Include `<grub/i18n.h>'.
19769 (grub_cmd_help): Gettextizze.
19770 (GRUB_MOD_INIT): Likewise.
19771 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
19772 (GRUB_MOD_INIT): Gettextizze.
19773 * commands/search.c: Include `<grub/i18n.h>'.
19774 (options): Gettextizze.
19775 (GRUB_MOD_INIT): Gettextizze.
19776 * lib/arg.c: Include `<grub/i18n.h>'.
19777 (help_options): Gettextizze.
19778 (find_long): Likewise.
19779 (grub_arg_show_help): Likewise.
19780 * normal/dyncmd.c: Include `<grub/i18n.h>'.
19781 (read_command_list): Gettextizze.
19782 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 19783 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 19784
22815526
RM
197852009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19786
19787 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
19788 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
19789 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
19790 (led_status): New variable.
19791 (keyboard_controller_led): New function.
19792 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
19793 update led status for caps lock, num lock and scroll lock.
19794
0ad46fd7
FZ
197952009-12-25 Felix Zielcke <fzielcke@z-51.de>
19796
19797 * util/hostdisk.c (open_device): Fix a comment.
19798
d0e158c2
RM
197992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19800
19801 * util/grub-install.in (host_os): New variable.
19802 * util/i386/efi/grub-install.in (host_os): Likewise.
19803
401c0ad6
RM
198042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19805
19806 * util/mkisofs/write.c (padblock_write): Abort when given an
19807 excedingly large embed image, instead of silently truncating it.
19808
d14d3370
RM
198092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19810
19811 * include/multiboot.h: Indentation fixes.
19812
eeed10b4
RM
198132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19814
19815 * include/multiboot.h (struct multiboot_aout_symbol_table)
19816 (struct multiboot_elf_section_header_table): New structure
19817 declarations (stolen from GRUB Legacy).
19818 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
19819 table information.
19820
19821 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
19822 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
19823 type aliases.
19824
681c70ab
RM
198252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19826
19827 * include/multiboot.h: Make comments src2texi-friendly.
19828
e4d47d8d
RM
198292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19830
19831 For consistency with [multiboot]/docs/boot.S.
19832
19833 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
19834 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
19835 (MULTIBOOT_MAGIC2): Rename from this ...
19836 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
19837
a0b70bda
RM
198382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19839
19840 * include/multiboot.h: Remove `<grub/types.h>'.
19841 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
19842 types. Update all users.
19843
61ba42be 198442009-12-25 Carles Pina i Estany <carles@pina.cat>
19845
19846 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
19847 `couldn't' and `can not' by `cannot'.
19848 * commands/i386/pc/drivemap.c: Likewise.
19849 * disk/ata.c: Likewise.
19850 * disk/ieee1275/nand.c: Likewise.
19851 * fs/affs.c: Likewise.
19852 * fs/fat.c: Likewise.
19853 * fs/hfs.c: Likewise.
19854 * fs/hfsplus.c: Likewise.
19855 * fs/iso9660.c: Likewise.
19856 * fs/jfs.c: Likewise.
19857 * fs/minix.c: Likewise.
19858 * fs/reiserfs.c: Likewise.
19859 * fs/sfs.c: Likewise.
19860 * fs/udf.c: Likewise.
19861 * fs/ufs.c: Likewise.
19862 * fs/xfs.c: Likewise.
19863 * loader/powerpc/ieee1275/linux.c: Likewise.
19864 * loader/sparc64/ieee1275/linux.c: Likewise.
19865 * util/grub-probe.c: Likewise.
19866 * util/misc.c: Likewise.
19867
7fd0baee 198682009-12-24 Carles Pina i Estany <carles@pina.cat>
19869
19870 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19871 grub_errno calls.
19872 * commands/acpi.c: Likewise.
19873 * commands/blocklist.c: Likewise.
19874 * commands/efi/loadbios.c: Likewise.
19875 * commands/i386/pc/drivemap.c: Likewise.
19876 * commands/loadenv.c: Likewise.
19877 * commands/memrw.c: Likewise.
19878 * commands/password.c: Likewise.
19879 * commands/videotest.c: Likewise.
19880 * disk/ata.c: Likewise.
19881 * disk/ata_pthru.c: Likewise.
19882 * disk/dmraid_nvidia.c: Likewise.
19883 * disk/ieee1275/nand.c: Likewise.
19884 * disk/ieee1275/ofdisk.c: Likewise.
19885 * disk/loopback.c: Likewise.
19886 * disk/lvm.c: Likewise.
19887 * disk/mdraid_linux.c: Likewise.
19888 * disk/raid.c: Likewise.
19889 * disk/raid6_recover.c: Likewise.
19890 * disk/scsi.c: Likewise.
19891 * efiemu/main.c: Likewise.
19892 * efiemu/mm.c: Likewise.
19893 * efiemu/pnvram.c: Likewise.
19894 * efiemu/symbols.c: Likewise.
19895 * font/font.c: Likewise.
19896 * fs/cpio.c: Likewise.
19897 * fs/hfsplus.c: Likewise.
19898 * fs/iso9660.c: Likewise.
19899 * fs/jfs.c: Likewise.
19900 * fs/minix.c: Likewise.
19901 * fs/ntfs.c: Likewise.
19902 * fs/ntfscomp.c: Likewise.
19903 * fs/reiserfs.c: Likewise.
19904 * fs/ufs.c: Likewise.
19905 * fs/xfs.c: Likewise.
19906 * gettext/gettext.c: Likewise.
19907 * include/grub/auth.h: Likewise.
19908 * kern/elf.c: Likewise.
19909 * kern/file.c: Likewise.
19910 * kern/ieee1275/init.c: Likewise.
19911 * kern/ieee1275/mmap.c: Likewise.
19912 * kern/ieee1275/openfw.c: Likewise.
19913 * kern/powerpc/dl.c: Likewise.
19914 * kern/sparc64/dl.c: Likewise.
19915 * lib/arg.c: Likewise.
19916 * loader/i386/bsd.c: Likewise.
19917 * loader/i386/bsdXX.c: Likewise.
19918 * loader/i386/efi/linux.c: Likewise.
19919 * loader/i386/efi/xnu.c: Likewise.
19920 * loader/i386/ieee1275/linux.c: Likewise.
19921 * loader/i386/linux.c: Likewise.
19922 * loader/i386/multiboot.c: Likewise.
19923 * loader/i386/pc/linux.c: Likewise.
19924 * loader/i386/pc/multiboot2.c: Likewise.
19925 * loader/i386/xnu.c: Likewise.
19926 * loader/ieee1275/multiboot2.c: Likewise.
19927 * loader/macho.c: Likewise.
19928 * loader/machoXX.c: Likewise.
19929 * loader/multiboot2.c: Likewise.
19930 * loader/multiboot_loader.c: Likewise.
19931 * loader/powerpc/ieee1275/linux.c: Likewise.
19932 * loader/sparc64/ieee1275/linux.c: Likewise.
19933 * loader/xnu.c: Likewise.
19934 * loader/xnu_resume.c: Likewise.
19935 * mmap/i386/pc/mmap.c: Likewise.
19936 * normal/menu_viewer.c: Likewise.
19937 * partmap/acorn.c: Likewise.
19938 * partmap/amiga.c: Likewise.
19939 * partmap/apple.c: Likewise.
19940 * script/lexer.c: Likewise.
19941 * term/gfxterm.c: Likewise.
19942 * term/i386/pc/serial.c: Likewise.
19943 * term/i386/pc/vga.c: Likewise.
19944 * term/ieee1275/ofconsole.c: Likewise.
19945 * term/terminfo.c: Likewise.
19946 * video/bitmap.c: Likewise.
19947 * video/efi_gop.c: Likewise.
19948 * video/efi_uga.c: Likewise.
19949 * video/fb/video_fb.c: Likewise.
19950 * video/i386/pc/vbe.c: Likewise.
19951 * video/readers/tga.c: Likewise.
19952 * video/video.c: Likewise.
19953
0ad46fd7 199542009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
19955
19956 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19957 * commands/lspci.c: Likewise.
19958 * commands/probe.c: Likewise.
19959 * commands/xnu_uuid.c: Likewise.
19960 * conf/i386-coreboot.rmk: Likewise.
19961 * conf/i386-efi.rmk: Likewise.
19962 * conf/i386-ieee1275.rmk: Likewise.
19963 * conf/i386-pc.rmk: Likewise.
19964 * conf/powerpc-ieee1275.rmk: Likewise.
19965 * conf/sparc64-ieee1275.rmk: Likewise.
19966 * conf/x86_64-efi.rmk: Likewise.
19967 * fs/i386/pc/pxe.c: Likewise.
19968 * gettext/gettext.c: Likewise.
19969 * include/grub/efi/graphics_output.h: Likewise.
19970 * include/grub/i386/pc/memory.h: Likewise.
19971 * kern/env.c: Likewise.
19972 * kern/i386/qemu/startup.S: Likewise.
19973 * lib/i386/pc/biosnum.c: Likewise.
19974 * lib/i386/relocator.c: Likewise.
19975 * lib/i386/relocator_asm.S: Likewise.
19976 * lib/relocator.c: Likewise.
19977 * loader/i386/bsd.c: Likewise.
19978 * loader/i386/multiboot.c: Likewise.
19979 * loader/i386/pc/chainloader.c: Likewise.
19980 * loader/i386/xnu.c: Likewise.
19981 * loader/xnu.c: Likewise.
19982 * normal/main.c: Likewise.
19983 * normal/menu_text.c: Likewise.
19984 * util/getroot.c: Likewise.
19985 * util/grub-mkconfig_lib.in: Likewise.
19986 * util/grub.d/00_header.in: Likewise.
19987 * util/i386/pc/grub-mkimage.c: Likewise.
19988 * util/mkisofs/eltorito.c: Likewise.
19989 * util/mkisofs/exclude.h: Likewise.
19990 * util/mkisofs/hash.c: Likewise.
19991 * util/mkisofs/iso9660.h: Likewise.
19992 * util/mkisofs/joliet.c: Likewise.
19993 * util/mkisofs/mkisofs.c: Likewise.
19994 * util/mkisofs/mkisofs.h: Likewise.
19995 * util/mkisofs/multi.c: Likewise.
19996 * util/mkisofs/name.c: Likewise.
19997 * util/mkisofs/rock.c: Likewise.
19998 * util/mkisofs/tree.c: Likewise.
19999 * util/mkisofs/write.c: Likewise.
20000 * video/efi_gop.c: Likewise.
20001
009ec743
VS
200022009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20005 size counting.
20006
0ad46fd7 200072009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20008
20009 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20010 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20011
d3d30ea0
VS
200122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20015 (GRUB_MOD_INIT(memrw)): Update help line.
20016
a34f5c70
VS
200172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20020 Use grub_extcmd_t. All users updated.
20021 (options): New variable.
20022 (grub_cmd_read): Restructure for readability. Support "-v" option.
20023 (grub_cmd_write): Restructure for readability.
20024
0ad46fd7 200252009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20026
20027 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20028
0ad46fd7 200292009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20030
20031 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20032 with the actual contents of the correspondending make variable.
20033 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20034 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20035 specifying `*.lst' and `efiemu??.o'
20036
0ad46fd7 200372009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20038
20039 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20040 after function name.
20041 Noticed by Rene Engelhard <rene@debian.org>.
20042
dc77a799
VS
200432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20046 (options): New variable.
20047 (iospace): Likewise.
20048 (grub_lspci_iter): List IO spaces if "-i" was given.
20049 (grub_cmd_lspci): Parse options.
20050 (GRUB_MOD_INIT(lspci)): Use extcmd.
20051 (GRUB_MOD_FINI(lspci)): Likewise.
20052
0ad46fd7 200532009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20054
20055 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20056 `function' keyword.
20057 Patch by Tony Mancill <tmancill@debian.org>.
20058
b5d5993b
VS
200592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20060
20061 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20062 (grub_uhci_portstatus): Likewise.
20063 (grub_uhci_portstatus): Add necessary delay.
11d18281 20064 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20065
941903f2 200662009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20067
941903f2 20068 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20069 (GRUB_MOD_INIT): Likewise.
20070 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20071 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20072 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20073 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20074 (enable_rom_area): Likewise.
20075 (GRUB_MOD_INIT): Likewise.
20076 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20077 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20078 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20079 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20080 * commands/hexdump.c (options): Likewise.
20081 * commands/i386/cpuid.c (options): Likewise.
20082 (GRUB_MOD_INIT): Likewise.
20083 * commands/i386/pc/drivemap.c (options): Likewise.
20084 (GRUB_MOD_INIT): Likewise.
20085 * commands/i386/pc/halt (options): Likewise.
20086 (GRUB_MOD_INIT): Likewise.
20087 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20088 * commands/i386/pc/pxecmd.c (options): Likewise.
20089 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20090 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20091 * commands/keystatus.c (options): Likewise.
20092 (GRUB_MOD_INIT): Likewise.
20093 * commands/loadenv.c (options): Likewise.
20094 * commands/ls.c (options): Likewise.
20095 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20096 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20097 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20098 * commands/parttool.c (helpmsg): Likewise.
20099 * commands/probe.c (options): Likewise.
20100 * commands/read.c (GRUB_MOD_INIT): Likewise.
20101 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20102 * commands/search.c (options): Likewise.
20103 * commands/sleep.c (options): Likewise.
20104 * commands/test.c (GRUB_MOD_INIT): Likewise.
20105 * commands/true.c (GRUB_MOD_INIT): Likewise.
20106 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20107 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20108 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20109 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20110 `$(XGETTEXT)'.
98a50553 20111 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20112
0ad46fd7 201132009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20114
ef3c2c3a 20115 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20116 instead of specifying them explicit.
20117
7922f68b
RM
201182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20119
20120 * NEWS: Add grub-probe support for GNU/Hurd.
20121
537ce47f
RM
201222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 * NEWS: gettext was added after 1.97.
20125
9b214e3a
RM
201262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20127
20128 * util/mkisofs/msdos_partition.h: New file (based on
20129 include/grub/msdos_partition.h).
20130 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20131 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20132 (ld_options, main): Recognize --protective-msdos-label.
20133 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20134 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20135 (padblock_write): If `use_protective_msdos_label' is set, patch a
20136 protective DOS-style label in the output image.
20137
20138 * util/grub-mkrescue.in: Use --protective-msdos-label.
20139
e9309813
RM
201402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20141
20142 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20143 boot.
20144
0ae56929
RM
201452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20146
20147 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20148 variables.
20149 (ld_options, main): Recognize `--embedded-boot'.
20150 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20151 declarations.
20152 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20153 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20154 (padblock_write): Likewise. Rewrite to support embedded boot image.
20155
20156 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20157 for BIOS-based disk boot instead of only ElTorito.
20158
b15937b1
RM
201592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20162 build (not needed for bootstrap).
20163
52cc3ce0
RM
201642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20165
20166 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20167 from i386-pc build (not needed for bootstrap).
20168 Rewrite a pair of strings.
20169
36f5ff04
RM
201702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20171
20172 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20173
973c6c85 201742009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20175
20176 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20177
05d21547
AB
201782009-12-21 Andreas Born <futur.andy@googlemail.com>
20179
20180 * kern/env.c (grub_env_context_open): Mark exported variable for
20181 reexport.
20182
0175d51f
AB
201832009-12-21 Andreas Born <futur.andy@googlemail.com>
20184
20185 * kern/env.c (grub_env_export): Create nonexistent variables before
20186 exporting.
20187
7f39d92f 201882009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20189
7f39d92f 20190 * include/grub/auth.h: Include `<grub/i18n.h>'.
20191 (GRUB_GET_PASSWORD): Gettextizze string.
20192 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20193 menu_text.c.
20194 (grub_utf8_to_ucs4_alloc): Fix indentation.
20195 (grub_print_ucs4): Likewise.
20196 (grub_getstringwidth): Likewise.
20197 (print_message_indented): New declaration.
20198 * normal/auth.c: Include `<grub/i18n.h>'.
20199 (grub_auth_check_authentication): Gettexttize string.
20200 * normal/cmdline.c: Include `<grub/i18n.h>'.
20201 (grub_cmdline_get): Gettextizze.
20202 * normal/color.c: Include `<grub/i18n.h>'.
20203 (grub_parse_color_name_pair): Gettexttize strings.
20204 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20205 string (use `print_message_indented').
20206 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20207 `include/grub/normal.h'.
20208 (print_message_indented): Renamed to ...
20209 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20210 used in normal/main.c).
20211 (print_message): Use `grub_print_message_indented' instead of
20212 `print_message_indented'.
20213 (print_timeout): Likewise.
20214 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20215 (grub_normal_print_device_info): Gettexttize strings.
20216 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20217
3041d898
VS
202182009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20221 of arguments. Return number of tokens and not arguments. All users
20222 updated.
20223
de15bf8e
VS
202242009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20227 non-MSDOS paritions.
20228
e0a6ca52
VS
202292009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * include/grub/types.h (UNUSED): Removed since it conflicts with
20232 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20233 Reported by Grégoire Sutre.
20234
b99518d1 202352009-12-19 Carles Pina i Estany <carles@pina.cat>
20236
20237 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20238 (grub_print_ucs4_alloc): Likewise.
20239 (grub_getstringwidth): Likewise.
20240 * normal/main.c (grub_normal_init_page): Gettextize version string.
20241 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20242 (getstringwidth): Renamed to ...
20243 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20244 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20245 (grub_print_ucs4): Remove `static' qualifer (now used in
20246 normal/main.c).
20247 * po/POTFILES: Add normal/main.c.
20248
bfd5e52b 202492009-12-19 Carles Pina i Estany <carles@pina.cat>
20250
20251 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20252 (print_message_indented): Add `margin_left' and `margin_right'
20253 parameters.
20254 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20255 strings.
20256 (print_timeout): Use `print_message_indented' to print the message.
20257 Deletes `second_stage' parameter.
20258 (run_menu): Update `print_timeout' calls.
20259
5a1ad2b9
VS
202602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 Fix console palette on OpenFirmware.
20263
20264 * term/ieee1275/ofconsole.c (MAX): Removed.
20265 (colors): Redone based on VGA palette.
20266 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20267 colors are supported.
20268 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20269
b045f00a
VS
202702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20271
20272 Fix potential EfiEmu double prepare.
20273
20274 * efiemu/main.c (prepared): New variable
20275 (grub_efiemu_unload): Set prepare to '0'.
20276 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20277
20278 set_virtual_address_map support.
20279
20280 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20281 prototype.
20282 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20283 prototype.
20284 (grub_efiemu_crc32): Likewise.
20285 (grub_efiemu_crc64): Likewise.
20286 (grub_efiemu_set_virtual_address_map): Likewise.
20287 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20288 New definition.
20289 (grub_autoefi_set_virtual_address_map): Likewise.
20290 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20291 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20292 Restructure flow to accomodate it.
20293 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20294 (grub_efiemu_crc): Recompute CRC32.
20295 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20296 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20297 * efiemu/symbols.c (relocated_handle): New variable.
20298 (grub_efiemu_free_syms): Free relocated_handle.
20299 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20300 (grub_efiemu_write_sym_markers): New function.
20301 (grub_efiemu_set_virtual_address_map): Likewise.
20302
20303 Newer XNU parameters.
20304
20305 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20306 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20307 (grub_xnu_fill_devicetree): New prototype.
20308 (grub_xnu_heap_real_start): New variable.
20309 * loader/xnu.c (get_name_ptr): New function.
20310 (grub_xnu_load_driver): Fill namelen and name.
20311
20312 64-bit xnu support.
20313
20314 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20315 and 'loader/macho64.c'.
20316 * conf/i386-pc.rmk: Likewise.
20317 * conf/x86_64-efi.rmk: Likewise.
20318 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20319 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20320 * include/grub/macho.h (grub_macho_segment64): New structure.
20321 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20322 (grub_macho_size32): ... to this.
20323 (grub_macho32_get_entry_point): Renamed from ...
20324 (grub_macho_get_entry_point32): ... to this.
20325 (grub_macho_contains_macho64): New prototype.
20326 (grub_macho_size64): Likewise.
20327 (grub_macho_get_entry_point64): Likewise.
20328 (grub_macho32_load): Renamed from ...
20329 (grub_macho_load32): ... to this.
20330 (grub_macho32_filesize): Renamed from ...
20331 (grub_macho_filesize32): ... to this.
20332 (grub_macho32_readfile): Renamed from ...
20333 (grub_macho_readfile32): ... to this.
20334 (grub_macho_filesize64): New prototype.
20335 (grub_macho_readfile64): Likewise.
20336 (grub_macho_parse32): Likewise.
20337 (grub_macho_parse64): Likewise.
20338 * loader/macho.c: Split into ...
20339 * loader/machoXX.c: ... and this. Replace 32 with XX.
20340 * loader/macho32.c: New file.
20341 * loader/macho64.c: Likewise.
20342 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20343 (grub_cmd_xnu_kernel): Make 32-bit only.
20344 (grub_cmd_xnu_kernel64): New function.
20345 (grub_xnu_load_driver): Support Mach-O 64.
20346 (grub_cmd_xnu_mkext): Likewise.
20347 * util/grub.d/30_os-prober.in (osx_entry): New function.
20348 Generate entries for 64-bit boot too.
20349
20350 Eliminate ad-hoc tree format in XNU and EfiEmu.
20351
20352 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20353 * efiemu/pnvram.c: Rewritten to use environment variables.
20354 All users updated.
20355
20356 Inline utf16_to_utf8.
20357
20358 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20359 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20360 All users updated.
20361 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20362
20363 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20364 * commands/usbtest.c (grub_usb_get_string): ... move here.
20365 (usb_print_str): Fix error handling.
20366 * include/grub/usb.h (grub_usb_get_string): Remove.
20367
20368 UTF-8 to UTF-16 transformation.
20369
20370 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20371 (charset_mod_SOURCES): New variable.
20372 (charset_mod_CFLAGS): Likewise.
20373 (charset_mod_LDFLAGS): Likewise.
20374 * include/grub/utf.h: New file.
20375 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20376
20377 Support for device properties.
20378
20379 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20380 (grub_xnu_devprop_device_header): Likewise.
20381 (grub_xnu_devprop_device_descriptor): Likewise.
20382 (grub_xnu_devprop_add_device): New prototype.
20383 (grub_xnu_devprop_remove_device): Likewise.
20384 (grub_xnu_devprop_remove_property): Likewise.
20385 (grub_xnu_devprop_add_property_utf8): Likewise.
20386 (grub_xnu_devprop_add_property_utf16): Likewise.
20387 (grub_cpu_xnu_init): Likewise.
20388 (grub_cpu_xnu_fini): Likewise.
20389 (grub_cpu_xnu_unload): Likewise.
20390 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20391 (property_descriptor): Likewise.
20392 (devices): New variable.
20393 (grub_xnu_devprop_remove_property): New function.
20394 (grub_xnu_devprop_add_device): Likewise.
20395 (grub_xnu_devprop_remove_device): Likewise.
20396 (grub_xnu_devprop_add_property): Likewise.
20397 (grub_xnu_devprop_add_property_utf8): Likewise.
20398 (grub_xnu_devprop_add_property_utf16): Likewise.
20399 (hextoval): Likewise.
20400 (grub_cpu_xnu_fill_devprop): Likewise.
20401 (grub_cmd_devprop_load): Likewise.
20402 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20403 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20404 (cmd_devprop_load): New variable.
20405 (grub_cpu_xnu_init): New function.
20406 (grub_cpu_xnu_fini): Likewise.
20407 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20408 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20409 (grub_cmd_xnu_devtree): Likewise.
20410 (hextoval): New function.
20411 (unescape): Likewise.
20412 (grub_xnu_fill_devicetree): Likewise.
20413
20414 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20415 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20416
0945f181
VS
204172009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 Workaround for broken ATI VBE.
20420
20421 * video/i386/pc/vbe.c (last_set_mode): New variable.
20422 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20423 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20424 (grub_video_vbe_setup): Don't check for reserved flag.
20425
0ad46fd7 204262009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
20427
20428 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20429 the `find' command.
20430
c179ebe4
VS
204312009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 UUID support for HFS.
20434
20435 * fs/hfs.c (grub_hfs_uuid): New function.
20436 (grub_hfs_fs): New value .uuid.
20437 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20438
0ad46fd7 204392009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
20440
20441 Fix a segfault with parsing unknown long options.
20442
20443 * util/grub-mkrelpath.c (options): Zero terminate it.
20444
c4a3e41a
CPE
204452009-12-13 Carles Pina i Estany <carles@pina.cat>
20446
20447 * include/grub/misc.h (grub_puts): New declaration.
20448 (grub_puts_): Likewise.
a22008a6 20449 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
20450 (grub_puts_): Likewise.
20451
2e8a7602
RM
204522009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20453
20454 * util/grub-probe.c (probe): Improve error message.
20455
b50b77b9
RM
204562009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20457
20458 * loader/i386/multiboot_elfxx.c
20459 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20460 initialization.
20461
204622009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 Relocator framework
20465
20466 * loader/i386/xnu_helper.S: Removed. All users updated.
20467 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20468 (relocator_mod_SOURCES): New variable.
20469 (relocator_mod_CFLAGS): Likewise.
20470 (relocator_mod_LDFLAGS): Likewise.
20471 (relocator_mod_ASFLAGS): Likewise.
20472 * conf/x86_64.rmk: Likewise.
20473 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20474 (grub_multiboot_payload_entry_offset): Likewise.
20475 (grub_multiboot_forward_relocator): Likewise.
20476 (grub_multiboot_forward_relocator_end): Likewise.
20477 (grub_multiboot_backward_relocator): Likewise.
20478 (grub_multiboot_backward_relocator_end): Likewise.
20479 (grub_multiboot_payload_eip): New variable.
20480 (grub_multiboot_payload_orig): Likewise.
20481 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20482 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20483 * include/grub/i386/memory.h
20484 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20485 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20486 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20487 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20488 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20489 * include/grub/i386/relocator.h: New file.
20490 * include/grub/x86_64/relocator.h: Likewise.
20491 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20492 (XNU_RELOCATOR): New macro.
20493 (grub_xnu_launcher_start): Remove.
20494 (grub_xnu_launcher_end): Likewise.
20495 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20496 (grub_xnu_heap_real_start): Remove.
20497 (grub_xnu_heap_start): Change to void *. All users updated.
20498 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20499 * lib/i386/relocator.c: New file.
20500 * lib/i386/relocator_asm.S: Likewise.
20501 * lib/i386/relocator_backward.S: Likewise.
20502 * lib/mips/relocator.c: Likewise.
20503 * lib/mips/relocator_asm.S: Likewise.
20504 * lib/relocator.c: Likewise.
20505 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20506 (entry): Removed.
20507 (playground): Likewise.
20508 (grub_multiboot_payload_orig): New variable.
20509 (grub_multiboot_payload_dest): Likewise.
20510 (grub_multiboot_payload_size): Likewise.
20511 (grub_multiboot_payload_eip): Likewise.
20512 (grub_multiboot_payload_esp): Likewise.
20513 (grub_multiboot_boot): Use grub_relocator32_boot.
20514 (grub_multiboot_unload): Free relocators.
20515 (grub_multiboot): Setup stack. Use relocators.
20516 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20517 (grub_multiboot_load_elfXX): Use relocators.
20518 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20519 (grub_multiboot_payload_size): Likewise.
20520 (grub_multiboot_payload_dest): Likewise.
20521 (grub_multiboot_payload_entry_offset): Likewise.
20522 (grub_multiboot_forward_relocator): Likewise.
20523 (grub_multiboot_backward_relocator): Likewise.
20524 (grub_multiboot_real_boot): Likewise.
20525 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20526 (grub_xnu_entry_point): Likewise.
20527 (grub_xnu_arg1): Likewise.
20528 (grub_xnu_stack): Likewise.
20529 (grub_xnu_launch): Removed.
20530 (grub_xnu_boot_resume): New function.
20531 (grub_xnu_boot): Use relocators.
20532 * loader/i386/xnu_helper.S: Removed.
20533 * loader/xnu.c (grub_xnu_heap_start): New variable.
20534 (grub_xnu_heap_size): Likewise.
20535 (grub_xnu_heap_malloc): Use relocators.
20536 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20537
29eb90c6
VS
205382009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20541 anything.
20542
31027430
CPE
205432009-12-13 Carles Pina i Estany <carles@pina.cat>
20544
20545 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20546 GRUB_ERR_NONE before calling grub_env_set.
20547
dc0c71d9
RM
205482009-12-12 Robert Millan <rmh@aybabtu.com>
20549
20550 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20551 * genmk.rb (video): New variable.
20552 (CLEANFILES, VIDEOFILES): Add #{video}.
20553 (#{video}): New target rule.
20554 * genvideolist.sh: New file.
20555 * Makefile.in (pkglib_DATA): Add video.lst.
20556 (video.lst): New target rule.
20557 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20558 `video.lst'.
20559 * util/grub.d/30_os-prober.in: Replace `vbe' with
20560 ${GRUB_VIDEO_BACKEND}.
20561
2a4bfcf0
RM
205622009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20563
20564 * THANKS: Add David Miller.
20565
2a3aa4d5
RM
205662009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 libpciaccess support.
20569
20570 * Makefile.in (LIBPCIACCESS): New variable.
20571 (enable_grub_emu_pci): Likewise.
20572 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20573 util/pci.c and commands/lspci.c.
20574 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20575 * configure.ac (grub-emu-pci): New option.
20576 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20577 (grub_pci_device_unmap_range): Likewise.
20578 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20579 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20580 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20581 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20582 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20583 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20584 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20585 * include/grub/pciutils.h: New file.
20586 * util/pci.c: Likewise.
20587
0ad46fd7 205882009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
20589
20590 * util/misc.c: Don't include <errno.h> twice.
20591
0ad46fd7 205922009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
20593
20594 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20595 name in an error message.
20596 (grub_biosdisk_rw): Likewise.
20597
2e59983c
VS
205982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 Eliminate NTFS 4Gib barrier.
20601
20602 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20603 (read_run_data): Likewise.
20604 (grub_ntfs_read_run_list): Likewise.
20605 (grub_ntfs_read_block): Likewise.
20606 (grub_ntfs_iterate_dir): Likewise.
20607 (read_mft): Likewise.
20608 (read_data): Likewise.
20609 Use COM_LOG_LEN.
20610 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20611 to avoid 64-bit division
20612 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20613 (grub_ntfs_rlst): Use grub_disk_addr_t.
20614
71ee178a
VS
206152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20616
20617 Eliminate grub-fstest 4Gib barrier.
20618
20619 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20620 (read_file): Fix error reporting.
20621
2520d4b8
VS
206222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 Eliminate hexdump 4Gib barrier.
20625
20626 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20627 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20628
e1f27065
VS
206292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20632 Fixes amarsh bug.
20633
1a0f7f45
RM
206342009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
20635
20636 Remove miscellaneous files in distclean target.
20637
20638 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20639
c631d9fb
CW
206402009-12-09 Colin Watson <cjwatson@ubuntu.com>
20641
20642 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20643 if they're already set. This resolves the conflict between my
20644 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20645 fixing the --grub-probe option again.
20646 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20647 change on 2009-10-06, so that we now once again source
20648 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20649
7c7b6106
RM
206502009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20651
20652 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20653 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20654 `util/devicemap.c'.
20655
e3069ec1
CPE
206562009-12-08 Carles Pina i Estany <carles@pina.cat>
20657
20658 * include/grub/misc.h (grub_printf_): New declaration.
20659 * kern/misc.c (grub_printf_): New definition.
20660 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20661 instead of `grub_printf' and `_'.
20662 * normal/menu_entry.c (store_completion): Likewise.
20663 (run): Likewise.
20664 (grub_menu_entry_run): Likewise.
20665 * normal/menu_text.c (grub_wait_after_message): Likewise.
20666 (notify_booting): Likewise.
20667 (notify_fallback): Likewise.
20668 (notify_execution_failure): Likewise.
20669
d6ceebf1
CW
206702009-12-07 Colin Watson <cjwatson@ubuntu.com>
20671
20672 * configure.ac: Check for vasprintf.
20673 * util/misc.c (asprintf): Move allocation from here ...
20674 (vasprintf): ... to here. New function.
20675 (xasprintf): New function.
20676 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20677 prototypes.
20678 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20679 * util/grub-mkfont.c (write_font): Likewise.
20680 * util/grub-probe.c (probe): Likewise.
20681 * util/hostdisk.c (make_device_name): Likewise.
20682
de6daa8b
DM
206832009-12-06 David S. Miller <davem@sunset.davemloft.net>
20684
20685 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20686 anything even prefixed with 'cdrom' as a cdrom.
20687
0ad46fd7 206882009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
20689
20690 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20691 mount points.
20692
98d3dc02
CPE
206932009-12-05 Carles Pina i Estany <carles@pina.cat>
20694
20695 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20696 grub_gettext_msg_list.
20697 (grub_gettext_gettranslation_from_position): Return const char *
20698 and not char *.
a2c1332b 20699 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
20700 returns from the list if existing there.
20701 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20702 (grub_gettext_delete_list): Delete the list.
20703 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
20704 lang environment variable is changed.
20705 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
20706
b283f108
VS
207072009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 Rename kernel.mod to kernel.img.
20710
20711 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
20712 (kernel_mod_EXPORTS): Rename to ...
20713 (kernel_img_EXPORTS): ... this.
20714 (kernel_mod_SOURCES): Rename to ...
20715 (kernel_img_SOURCES): ... this.
20716 (kernel_mod_HEADERS): Rename to ...
20717 (kernel_img_HEADERS): ... this. All users updated.
20718 (kernel_mod_CFLAGS): Rename to ...
20719 (kernel_img_CFLAGS): ... this.
20720 (kernel_mod_ASFLAGS): Rename to ...
20721 (kernel_img_ASFLAGS): ... this.
20722 (kernel_mod_LDFLAGS): Rename to ...
20723 (kernel_img_LDFLAGS): ... this.
20724 * conf/x86_64-efi.rmk: Likewise.
20725 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
20726 (read_kernel_image): ... this. All users updated.
20727 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
20728
69055f8a
CPE
207292009-12-05 Carles Pina i Estany <carles@pina.cat>
20730
20731 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
20732 (print_spaces): New function.
20733 (grub_print_ucs4): New function.
20734 (getstringwidth): New function.
20735 (print_message_indented): New function.
20736 (print_message): Gettexttize strings using print_message_indented.
20737 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
20738 width.
20739 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 20740 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
20741 Gettextize.
20742 * normal/menu_entry.c (store_completion): Cleanup the gettextized
20743 string.
20744 (run): Likewise.
20745 (grub_menu_entry_run): Likewise.
20746 * PO/POTFILES: Add normal/menu_entry.c.
20747
f616f51c
VS
207482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20749
20750 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
20751
57bbe3be
CPE
207522009-12-05 Carles Pina i Estany <carles@pina.cat>
20753
20754 * util/grub-install.in: Install gettext .mo files.
20755 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
20756
013d67a1
CPE
207572009-12-05 Carles Pina i Estany <carles@pina.cat>
20758
20759 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
20760 grub_dprintf.
20761
fb954db0
RM
207622009-12-05 Robert Millan <rmh.grub@aybabtu.com>
20763
20764 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
20765 non-firmware-dependant one in realmode.S takes precedence.
20766
6b8474f8
RM
207672009-12-04 Robert Millan <rmh.grub@aybabtu.com>
20768
20769 * commands/halt.c: Replace misc arch-specific headers with
20770 `<grub/misc.h>'.
20771 * commands/reboot.c: Likewise.
20772 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
20773 `<grub/misc.h>'.
20774 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
20775 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
20776 (kernel_img_SOURCES): ... to here.
20777
20778 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
20779 * include/grub/i386/pc/init.h: Likewise.
20780 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20781 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20782
20783 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
20784
20785 * include/grub/i386/halt.h: Remove.
20786 * include/grub/i386/reboot.h: Likewise.
20787
20788 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
20789
4b2e6ca2
DM
207902009-12-03 David S. Miller <davem@sunset.davemloft.net>
20791
20792 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
20793 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
20794 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
20795 "progname.h"
20796 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20797 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20798 (usage): Add missing comma in printf.
20799
5239348f
RM
208002009-12-02 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 Use the same reboot approach on i386 coreboot and qemu as we do on
20803 BIOS.
20804
20805 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
20806 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
20807 * kern/i386/reboot.c: Remove.
20808 * include/grub/i386/reboot.h (grub_reboot): Export function.
20809 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
20810 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
20811 0xf000:0xfff0 instead of 0xffff:0x0000.
20812 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
20813 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
20814
ef34cbd4
RM
208152009-11-30 Robert Millan <rmh.grub@aybabtu.com>
20816
20817 Fix $srcdir != $objdir build.
20818
20819 * Makefile.in (po/%.po): Rewrite as ...
20820 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
20821
dc9837ea
ST
208222009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
20823
20824 Fix GNU/Hurd grub-install crash.
20825 * util/grub-probe.c (probe): Try to access `path' only when it is not
20826 NULL.
20827
2f857f98
VS
208282009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20829
20830 Correct module naming.
20831
20832 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20833 (GRUB_MOD_INIT(efi_uga)): ... to this
20834 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20835 (GRUB_MOD_FINI(efi_uga)): ... to this
20836 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20837 (GRUB_MOD_INIT(efi_gop)): ... to this
20838 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20839 (GRUB_MOD_FINI(efi_gop)): ... to this
20840
c5448046
RM
208412009-11-28 Robert Millan <rmh.grub@aybabtu.com>
20842
20843 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
20844 translatable.
20845 (usage): Translate `arg' strings using gettext().
20846 Thanks to Jordi Mallach for the suggestion.
20847
c85184ad
VS
208482009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 GOP support. Based on patch from Bean
20851 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20852
20853 * video/efi_gop.c: New file.
20854 * include/grub/efi/graphics_output.h: Likewise.
20855 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
20856 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20857 variables.
20858 * conf/x86_64-efi.rmk: Likewise.
20859
8a4c48d8
VS
208602009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 Rename efi_fb to efi_uga.
20863
20864 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20865 'efi_uga.mod'.
20866 (efi_fb_mod_SOURCES): Rename this ...
20867 (efi_uga_mod_SOURCES): ... to this.
20868 (efi_fb_mod_CFLAGS): Rename this ...
20869 (efi_uga_mod_CFLAGS): ... to this.
20870 (efi_fb_mod_LDFLAGS): Rename this ...
20871 (efi_uga_mod_LDFLAGS): ... to this.
20872 * conf/x86_64-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 * video/efi_fb.c: Move this ...
20881 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20882
fb6c1a7b
RM
208832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20884
20885 * po/README: New file. Explain our PO file workflow.
20886
3bc7896c
RM
208872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20888
20889 * po/ChangeLog: Remove. Move relevant entries back to ...
20890 * ChangeLog: ... here.
20891 * po/ca.po: Remove (now handled by TLP).
20892 * po/id.po: Likewise.
20893 * po/zh_CN.po: Likewise.
20894 * Makefile.in (LINGUAS): Initialize in a way that supports
20895 empty set.
20896
9ed4841d
RM
208972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20898
20899 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20900 reliing on po/LINGUAS.
20901 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20902 (po/%.po): ... this.
20903
0ad46fd7 209042009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
20905
20906 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20907 (main): Use `program_name' instead of nonexistent `progname'.
20908
e30dd392
FZ
209092009-11-26 Felix Zielcke <fzielcke@z-51.de>
20910
20911 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20912 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20913
7656de4f
RM
209142009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20915
20916 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20917 commit.
20918 * conf/i386-efi.rmk: Likewise.
20919 * conf/i386-ieee1275.rmk: Likewise.
20920 * conf/powerpc-ieee1275.rmk: Likewise.
20921 * conf/sparc64-ieee1275.rmk: Likewise.
20922 * conf/x86_64-efi.rmk: Likewise.
20923
db77c4d4
FZ
209242009-11-26 Felix Zielcke <fzielcke@z-51.de>
20925
20926 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20927
a755bb04
FZ
209282009-11-26 Felix Zielcke <fzielcke@z-51.de>
20929
20930 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20931
8a4c07fd
RM
209322009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20933
20934 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20935 (grub_mkdevicemap_SOURCES): New variable.
20936 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20937 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20938 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20939 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20940 (grub_mkdevicemap_SOURCES): Remove.
20941 * conf/i386-efi.rmk: Likewise.
20942 * conf/i386-ieee1275.rmk: Likewise.
20943 * conf/i386-pc.rmk: Likewise.
20944 * conf/powerpc-ieee1275.rmk: Likewise.
20945 * conf/sparc64-ieee1275.rmk: Likewise.
20946 * conf/x86_64-efi.rmk: Likewise.
20947 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20948 (usage): Fix strings to use `program_name'.
20949 (main): Initialize gettext.
20950 * util/grub-editenv.c: Likewise.
20951 * util/grub-emu.c: Likewise.
20952 * util/grub-fstest.c: Likewise.
20953 * util/grub-mkdevicemap.c: Likewise.
20954 * util/grub-mkfont.c: Likewise.
20955 * util/grub-mkrelpath.c: Likewise.
20956 * util/grub-pe2elf.c: Likewise.
20957 * util/grub-probe.c: Likewise.
20958 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20959 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20960 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20961
20962 * util/misc.c: Include `"progname.h"'.
20963 (progname): Remove variable.
20964 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20965
6f61ed55
FZ
209662009-11-25 Felix Zielcke <fzielcke@z-51.de>
20967
20968 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20969 printf and print a newline after the menuentry header line.
20970 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20971
f022876b
FZ
209722009-11-25 Felix Zielcke <fzielcke@z-51.de>
20973
20974 autoconf >= 2.60 support $(localedir).
20975
20976 * INSTALL: Note that autoconf 2.60 is required.
20977 * configure.ac (AC_PREREQ): Bump to 2.60.
20978 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20979 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20980
6717926e
YB
209812009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20982
20983 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20984 aclocal is run.
20985
08806a54
RM
209862009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20987
20988 * normal/main.c (grub_normal_read_line): Fix off-by-one
20989 buffer overflow.
20990
13b33fba
RM
209912009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20992
20993 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
20994 "parser.grub" in grub_command_execute() call.
20995
4a8572e9
CPE
209962009-11-24 Carles Pina i Estany <carles@pina.cat>
20997
20998 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
20999 * conf/i386-efi.rmk: Likewise.
21000 * conf/i386-ieee1275.rmk: Likewise.
21001 * conf/i386-pc.rmk: Likewise.
21002 * conf/powerpc-ieee1275.rmk: Likewise.
21003 * conf/sparc64-ieee1275.rmk: Likewise.
21004 * conf/x86_64-efi.rmk: Likewise.
21005 * gettext/gettex.c: Include <grub/i18n.h>.
21006 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21007 here ...
21008 * include/grub/i18n.h: ... to here
21009 * include/grub/i18n.h: ... to here.
21010 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21011 (grub_gettext_dummy): Move above user.
4a8572e9 21012
bee48093
FZ
210132009-11-24 Felix Zielcke <fzielcke@z-51.de>
21014
21015 * util/Makefile.in (install-local): Convert a `for' into a normal
21016 shell expansion.
21017
a031e91c
RM
210182009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21019
21020 * autogen.sh: Add automake call.
21021 * config.guess: Remove.
21022 * config.sub: Likewise.
21023 * install-sh: Likewise.
21024
26bec39d
FZ
210252009-11-24 Felix Zielcke <fzielcke@z-51.de>
21026
21027 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21028
8e2532fd
FZ
210292009-11-24 Felix Zielcke <fzielcke@z-51.de>
21030
21031 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21032 function to a normal shell `for'.
21033
fefa1b7d
FZ
210342009-11-24 Felix Zielcke <fzielcke@z-51.de>
21035
21036 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21037
4501250b
FZ
210382009-11-24 Felix Zielcke <fzielcke@z-51.de>
21039
21040 * util/grub-mkrelpath.c: New file.
21041 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21042 (grub_mkrelpath_SOURCES): New variable.
21043 * include/grub/util/misc.h: New function prototype.
21044 * util/misc.c (make_system_path_relative_to_its_root): New function.
21045
21046 * util/grub-mkconfig_lib.in (bindir): New variable.
21047 (grub_mkrelpath): Likewise.
21048 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21049
21050 * util/probe.c (probe): Make the file path relative to its root.
21051 Change a info message to use the GRUB path. Enable again the
21052 check if we can read the file with GRUB facilities.
21053
21054 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21055 to its root.
21056
11d9778b
FZ
210572009-11-24 Felix Zielcke <fzielcke@z-51.de>
21058
21059 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21060 platform.
21061
4465287d
FZ
210622009-11-24 Felix Zielcke <fzielcke@z-51.de>
21063
21064 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21065 strncmp().
21066
62b47f22
FZ
210672009-11-24 Felix Zielcke <fzielcke@z-51.de>
21068
21069 * util/getroot.c (grub_util_is_dmraid): New function.
21070 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21071 devices as normal ones, not as LVM.
21072
1eafb9b9 210732009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21074
21075 * conf/common.rmk: Add grub-gettext_lib target and updates
21076 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21077 LDFLAGS.
21078 * gettext/gettext.c: New file. (Reads mo files).
21079 * include/grub/file.h (grub_file_pread): New prototype.
21080 * include/grub/i18n.h (_): New prototype.
21081 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21082 prototypes.
21083 * kern/misc.c (grub_gettext_dummy): New function.
21084 * normal/menu_text.c: Include <grub/i18n.h>.
21085 * normal/menu_text.c (print_timeout): Gettexttize string.
21086 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21087 * po/POTFILES: Add `normal/menu_text.c'.
21088 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21089 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21090 gettext module and defines locale_dir and lang in grub.cfg.
21091 * NEWS: Add gettext support.
21092
0fdb2568
RM
210932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21094
21095 * util/hostdisk.c: Include `<grub/i18n.h>'.
21096 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21097 (make_device_name): Rewrite using asprintf.
21098 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21099 (find_system_device): If a device is not found, generate one just
21100 by reusing the OS path name.
21101 (read_device_map): Make it permissible for device.map not to exist.
21102
f515aa62
RM
211032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21104
21105 * script/sh/execute.c: Move from here ...
21106 * script/execute.c: ... to here. Update all users.
21107 * script/sh/function.c: Move from here ...
21108 * script/function.c: ... to here. Update all users.
21109 * script/sh/lexer.c: Move from here ...
21110 * script/lexer.c: ... to here. Update all users.
21111 * script/sh/main.c: Move from here ...
21112 * script/main.c: ... to here. Update all users.
21113 * script/sh/parser.y: Move from here ...
21114 * script/parser.y: ... to here. Update all users.
21115 * script/sh/script.c: Move from here ...
21116 * script/script.c: ... to here. Update all users.
21117
f84b481b
RM
211182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21119
21120 * configure.ac: Detect all `emu' platforms. Define
21121 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21122 --enable-grub-emu logic. Disable include/grub/machine
21123 symlink on `emu' platforms.
21124
21125 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21126 * gensymlist.sh.in: Likewise.
21127
21128 * include/grub/i386/coreboot/machine.h: Remove file.
21129 * include/grub/i386/efi/machine.h: Likewise.
21130 * include/grub/i386/ieee1275/machine.h: Likewise.
21131 * include/grub/i386/pc/machine.h: Likewise.
21132 * include/grub/i386/qemu/machine.h: Likewise.
21133 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21134 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21135 * include/grub/x86_64/efi/machine.h: Likewise.
21136
21137 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21138 * commands/halt.c: Likewise.
21139 * commands/reboot.c: Likewise.
21140 * include/grub/autoefi.h: Likewise.
21141 * include/grub/i386/at_keyboard.h: Likewise.
21142 * include/grub/i386/kernel.h: Likewise.
21143 * include/grub/i386/loader.h: Likewise.
21144 * include/grub/i386/pc/memory.h: Likewise.
21145 * kern/dl.c: Likewise.
21146 * kern/i386/coreboot/init.c: Likewise.
21147 * loader/i386/bsd.c: Likewise.
21148 * loader/i386/linux.c: Likewise.
21149 * loader/multiboot_loader.c: Likewise.
21150 * term/i386/pc/serial.c: Likewise.
21151 * term/usb_keyboard.c: Likewise.
21152
21153 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21154 `<grub/machine/machine.h>'
21155 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21156 * util/misc.c: Remove `<grub/machine/machine.h>' and
21157 `<grub/machine/time.h>'.
21158
21159 * Makefile.in (enable_grub_emu): Remove variable.
21160 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21161
21162 * conf/any-emu.rmk: New file.
21163 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21164 (grub_emu_init.c): Move from here ...
21165 * conf/any-emu.rmk: ... to here.
21166
21167 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21168 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21169 * conf/any-emu.rmk: ... to here.
21170
4efeab03
RM
211712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21172
21173 * include/grub/parser.h (grub_parser_register): Document need
21174 of `name' parameter.
21175 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21176 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21177 "sh" to "grub".
21178
ea1dd8bf
RM
211792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21182 `$(XGETTEXT)'.
21183 * include/grub/i18n.h (N_): New macro.
21184 * util/mkisofs/mkisofs.h: Likewise.
21185 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21186 around N_().
21187 (usage): Use gettext() to translate help strings when printing them.
21188
0c140626
RM
211892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21190
21191 Based on patch from Bean
21192 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21193
21194 * video/efi_fb.c: New file.
21195 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21196 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21197 variables.
21198 * conf/x86_64-efi.rmk: Likewise.
21199
87d58298
RM
212002009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21201
21202 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21203 * util/i386/pc/grub-setup.c: Likewise.
21204
994cc3a3
ST
212052009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21206
21207 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21208 <hurd/fs.h>
21209 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21210 file_get_storage_info to implement grub_guess_root_device.
21211
26a61d6a
FZ
212122009-11-21 Felix Zielcke <fzielcke@z-51.de>
21213
21214 * Makefile.in (target): Use make's builtin $(shell) function
21215 instead of calling directly $(SHELL) to create the locale directories,
21216 inside the $(foreach) function.
21217
74ff1dd5
FZ
212182009-11-21 Felix Zielcke <fzielcke@z-51.de>
21219
21220 * util/grub-mkrescue.in: Print an error and usage if output option
21221 has not been given.
21222
0b787d0e
FZ
212232009-11-21 Felix Zielcke <fzielcke@z-51.de>
21224
21225 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21226 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21227 root and /boot are on different devices.
21228
1164b270
RM
212292009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21230
21231 Fix build for srcdir != objdir.
21232
21233 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21234 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21235 $(srcdir).
21236 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21237 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21238 reference for input.
21239
13774a2f
RM
212402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21241
21242 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21243 or hardlinking it). Remove -J option, Joliet is not compatible with
21244 multiple source directories.
21245
efda854e
RM
212462009-11-21 Carles Pina i Estany <carles@pina.cat>
212472009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21248
21249 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21250 (process_input_dir): New function. Process an arbitrary input
21251 directory.
21252 Misc adjustments to support both "override mode" and system-wide mode.
21253
6c09890c
FZ
212542009-11-20 Felix Zielcke <fzielcke@z-51.de>
21255
21256 * configure.ac (UNIFONT_BDF): Rename to ...
21257 (FONT_SOURCE): ... this. Update all users.
21258
a797824f
FZ
212592009-11-20 Felix Zielcke <fzielcke@z-51.de>
21260
21261 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21262 to the list of unifont files to look for.
21263
cd4f42b0
RM
212642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21265
21266 Patch from Joe Auricchio <jauricchio@gmail.com>
21267 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21268 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21269 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21270
393c783d
FZ
212712009-11-19 Felix Zielcke <fzielcke@z-51.de>
21272
21273 * Makefile.in (install-local): Add a missing backslash.
21274
b2f1e327
FZ
212752009-11-19 Felix Zielcke <fzielcke@z-51.de>
21276
21277 * include/grub/x86_64/io.h: New file.
21278
f577f7a0
RM
212792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21280
21281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21282 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21283 Include `"progname.h"'.
21284 (main): Initialize gettext.
21285 * util/i386/pc/grub-setup.c: Gettexttize.
21286 * util/i386/pc/grub-mkimage.c: Likewise.
21287
21288 * Makefile.in (po/*.po): Redefine as ...
21289 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21290
3bc7896c
RM
21291 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21292
c37943b6
RM
212932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21294
21295 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21296 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21297 (program_name): Remove.
21298 (main): Initialize gettext support.
6323f705
RM
21299 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21300 Include `<libintl.h>'.
21301 (_): New macro.
c37943b6
RM
21302
21303 * util/mkisofs/eltorito.c: Gettexttize.
21304 * util/mkisofs/joliet.c: Likewise.
21305 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21306 * util/mkisofs/multi.c: Likewise.
21307 * util/mkisofs/rock.c: Likewise.
21308 * util/mkisofs/tree.c: Likewise.
21309 * util/mkisofs/write.c: Likewise.
21310
3bc7896c
RM
21311 * po/POTFILES: Update with new files.
21312
5ce77c6e
RM
213132009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21314
21315 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21316 * util/mkisofs/iso9660.h: Likewise.
21317 * util/mkisofs/joliet.c: Likewise.
21318 * util/mkisofs/mkisofs.c: Likewise.
21319 * util/mkisofs/mkisofs.h: Likewise.
21320 * util/mkisofs/rock.c: Likewise.
21321 * util/mkisofs/tree.c: Likewise.
21322 * util/mkisofs/write.c: Likewise.
21323
21324 * util/mkisofs/eltorito.c (rcsid): Remove.
21325 * util/mkisofs/hash.c: Likewise.
21326 * util/mkisofs/joliet.c: Likewise.
21327 * util/mkisofs/name.c: Likewise.
21328 * util/mkisofs/rock.c: Likewise.
21329 * util/mkisofs/tree.c: Likewise.
21330 * util/mkisofs/write.c: Likewise.
21331
1dabbc77
RM
213322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21333
21334 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21335 instead of static allocation.
21336 * util/mkisofs/match.h: Likewise.
21337
633877cb
RM
213382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21339
3bc7896c
RM
21340 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21341 and `util/grub.d/10_linux.in'.
633877cb
RM
21342 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21343 translatable Shell files.
21344
af1c0c85
RM
213452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21346
21347 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21348
769ae37b
RM
213492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21350
21351 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21352 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21353 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21354 Add gettext initialization.
21355 (kfreebsd_entry): Make menuentry output translatable.
21356
213572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21358
21359 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21360 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21361 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21362 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21363 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21364 * po/LINGUAS: New file.
769ae37b
RM
21365
213662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21367
21368 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21369 other things).
21370 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21371 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21372 bindtextdomain() calls for gettext initialization.
21373
213742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21375
21376 * gnulib/progname.c: New file (imported from Gnulib).
21377 * gnulib/progname.h: Likewise.
21378 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21379 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21380 (usage): Replace `progname' with `program_name'.
21381 (main): Use set_program_name() for program name initialization.
21382
213832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21384
21385 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21386 from here ...
21387 * Makefile.in (CPPFLAGS): ... to here.
21388
213892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21390
21391 * aclocal.m4: Move from here ...
21392 * acinclude.m4: ... to here.
21393 * autogen.sh: Add call to `aclocal'.
21394 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21395
213962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21397
21398 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21399 (LINGUAS): New variable.
21400 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21401 (install-local): Install MO files.
21402 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21403 * include/grub/i18n.h: New file.
3bc7896c
RM
21404 * po/POTFILES: New file.
21405 * po/ca.po: New file.
769ae37b
RM
21406 * util/grub.d/10_linux.in (bindir): New variable.
21407 Add gettext initialization.
21408 (linux_entry): Make menuentry output translatable.
21409 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21410 (usage): Make --help output translatable.
21411 (main): Initialize gettext.
21412
02c0a6ad
RM
214132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21414
21415 * import_gcry.py: New file (written by Vladimir with minor
21416 adjustments).
21417 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21418 ciphers.
21419 * INSTALL: Document that Python is required for bootstrap.
21420
214212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21422
21423 Import ciphers from libgcrypt 1.4.4.
21424
21425 * lib/libgcrypt/cipher/ChangeLog
21426 * lib/libgcrypt/cipher/ac.c
21427 * lib/libgcrypt/cipher/arcfour.c
21428 * lib/libgcrypt/cipher/bithelp.h
21429 * lib/libgcrypt/cipher/blowfish.c
21430 * lib/libgcrypt/cipher/camellia-glue.c
21431 * lib/libgcrypt/cipher/camellia.c
21432 * lib/libgcrypt/cipher/camellia.h
21433 * lib/libgcrypt/cipher/cast5.c
21434 * lib/libgcrypt/cipher/cipher.c
21435 * lib/libgcrypt/cipher/crc.c
21436 * lib/libgcrypt/cipher/des.c
21437 * lib/libgcrypt/cipher/dsa.c
21438 * lib/libgcrypt/cipher/ecc.c
21439 * lib/libgcrypt/cipher/elgamal.c
21440 * lib/libgcrypt/cipher/hash-common.c
21441 * lib/libgcrypt/cipher/hash-common.h
21442 * lib/libgcrypt/cipher/hmac-tests.c
21443 * lib/libgcrypt/cipher/md.c
21444 * lib/libgcrypt/cipher/md4.c
21445 * lib/libgcrypt/cipher/md5.c
21446 * lib/libgcrypt/cipher/primegen.c
21447 * lib/libgcrypt/cipher/pubkey.c
21448 * lib/libgcrypt/cipher/rfc2268.c
21449 * lib/libgcrypt/cipher/rijndael-tables.h
21450 * lib/libgcrypt/cipher/rijndael.c
21451 * lib/libgcrypt/cipher/rmd.h
21452 * lib/libgcrypt/cipher/rmd160.c
21453 * lib/libgcrypt/cipher/rsa.c
21454 * lib/libgcrypt/cipher/seed.c
21455 * lib/libgcrypt/cipher/serpent.c
21456 * lib/libgcrypt/cipher/sha1.c
21457 * lib/libgcrypt/cipher/sha256.c
21458 * lib/libgcrypt/cipher/sha512.c
21459 * lib/libgcrypt/cipher/tiger.c
21460 * lib/libgcrypt/cipher/twofish.c
21461 * lib/libgcrypt/cipher/whirlpool.c
21462
af2f93ac
RM
214632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21464
21465 Fix build for systems without error().
21466
21467 * gnulib/error.c: New file (imported from Gnulib).
21468 * gnulib/error.h: Likewise.
21469 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21470 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21471 (this variable is now used by error()).
21472
73fb3dd5
FZ
214732009-11-16 Felix Zielcke <fzielcke@z-51.de>
21474
814f5e96
FZ
21475 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21476 instead of relying that char is signed.
73fb3dd5 21477
a691ca33
VS
214782009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21479
21480 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21481 blocksize different from specified.
21482 (grub_pxefs_read): Likewise.
21483
2af8f0f4
FZ
214842009-11-16 Felix Zielcke <fzielcke@z-51.de>
21485
21486 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21487
21488 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21489 (grub_ata_readwrite): Likewise. Update 2 format strings.
21490 (grub_atapi_read): Likewise.
21491
21492 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21493 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21494 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21495 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21496 (ata_mod_LDFLAGS): Move from here ...
21497 * conf/i386.rmk: ... to here ...
21498 * conf/x86_64-efi.rmk: ... and here.
21499 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21500 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21501
83bdecaf
RM
215022009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21503
21504 Relicense multiboot.h, with RMS' blessing.
21505
21506 * include/multiboot.h: Change to X11 license.
21507
fd6fd3d7
RM
215082009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21509
21510 Support --version in grub-mkisofs.
21511
21512 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21513 (OPTION_VERSION): New macro.
21514 (ld_options): Recognize --version.
21515 (usage): Move `program_name' from here ...
21516 (program_name): ... to here. Add `static' qualifier.
21517 (main): Recognize `OPTION_VERSION'.
21518
16a88c49
FZ
215192009-11-15 Felix Zielcke <fzielcke@z-51.de>
21520
21521 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21522 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21523
a4158476
RM
215242009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21525
21526 Fix help2man generation for mkisofs.
21527
21528 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21529 (usage): Send output to stdout (rather than stderr).
21530
fc2208b0
RM
215312009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21532
21533 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21534 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21535 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21536 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21537 (bin_SCRIPTS): Add `grub-mkfloppy'.
21538 (grub_mkfloppy_SOURCES): New variable.
21539
21540 * util/grub-mkrescue.in: New file.
21541 * util/i386/pc/grub-mkfloppy.in: New file.
21542
21543 * util/i386/coreboot/grub-mkrescue.in: Remove.
21544 * util/i386/pc/grub-mkrescue.in: Remove.
21545
8d0edf4a
RM
215462009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21547
21548 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21549 from here ...
21550 * include/multiboot.h (struct multiboot_header): ... to here. Update
21551 all users.
21552 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21553 from here ...
21554 * include/multiboot.h (struct multiboot_info): ... to here. Update
21555 all users.
21556 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21557 from here ...
21558 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21559 Update all users.
21560 * include/grub/multiboot.h (struct grub_mod_list): Move
21561 from here ...
21562 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21563 Update all users.
21564
a73f5969
RM
215652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21566
21567 * include/multiboot2.h (multiboot_word): Rename from this ...
21568 (multiboot2_word): ... to this. Update all users.
21569 (multiboot_header): Rename from this ...
21570 (multiboot2_header): ... to this. Update all users.
21571 (multiboot_tag_header): Rename from this ...
21572 (multiboot2_tag_header): ... to this. Update all users.
21573 (multiboot_tag_start): Rename from this ...
21574 (multiboot2_tag_start): ... to this. Update all users.
21575 (multiboot_tag_name): Rename from this ...
21576 (multiboot2_tag_name): ... to this. Update all users.
21577 (multiboot_tag_module): Rename from this ...
21578 (multiboot2_tag_module): ... to this. Update all users.
21579 (multiboot_tag_memory): Rename from this ...
21580 (multiboot2_tag_memory): ... to this. Update all users.
21581 (multiboot_tag_unused): Rename from this ...
21582 (multiboot2_tag_unused): ... to this. Update all users.
21583 (multiboot_tag_end): Rename from this ...
21584 (multiboot2_tag_end): ... to this. Update all users.
21585
1c8927f0
RM
215862009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21587
21588 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21589 this platform we should support Multiboot1 first.
21590
21591 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21592 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21593 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21594
6e1e0d89
RM
215952009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21596
21597 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21598 of write calls (converting them to fwrite() if they aren't already).
21599 (get_torito_desc): Likewise.
21600 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21601
7f2b34d8
RM
216022009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21603
21604 * util/i386/pc/grub-install.in: Move from here ...
21605 * util/grub-install.in: ... to here. Update all users.
21606
c0ef3311
CW
216072009-11-11 Colin Watson <cjwatson@ubuntu.com>
21608
21609 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21610
e1f240ff
RM
216112009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21612
21613 Support for El Torito without floppy emulation.
21614
21615 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21616 (init_boot_catalog): Improve error handling.
21617 (get_torito_desc): Don't use floppy emulation unless requested by
21618 user. Patch boot information table when requested via
21619 `-boot-info-table'.
21620 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21621 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21622 (use_boot_info_table): New variables.
21623 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21624 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21625 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21626 `--eltorito-emul-floppy'.
21627 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21628 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21629 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21630 (use_boot_info_table, get_731): New prototypes.
21631 * util/mkisofs/write.c (get_731): New function.
21632
af7d4de5
FZ
216332009-11-11 Felix Zielcke <fzielcke@z-51.de>
21634
21635 Fix the generation of the man page.
21636
21637 * util/pc/i386/grub-install.in: Source
21638 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21639
2c55dbc0
RM
216402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21641
21642 Large file support for grub-mkisofs.
21643
21644 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21645 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21646 (session_start): Upgrade type to `uint64_t'. Update all users.
21647 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21648 (struct directory_entry): Upgrade type of `starting_block' and
21649 `size' to `uint64_t'. Update all users.
21650 (struct deferred): Remove unused structure.
21651 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21652 Update all users.
21653 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21654 file is larger than `UINT32_MAX'.
21655 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21656 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21657 return value.
21658 (struct deferred_write): Upgrade type of `extent' and `size' to
21659 `uint64_t'. Update all users.
21660 (last_extent_written): Upgrade type to `uint64_t'. Update all
21661 users.
21662 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21663 Update all users. Upgrade type of `remain' to `int64_t' and
21664 `use' to `size_t'. Use error() to handle fread() errors.
21665 (write_files): Rely on write_one_file() rather than calling
21666 xfwrite() directly.
21667
6a9cead5
FZ
216682009-11-09 Felix Zielcke <fzielcke@z-51.de>
21669
21670 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21671
4825d790
RM
216722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21673
21674 * util/mkisofs/fnmatch.c: Remove.
21675 * util/mkisofs/getopt1.c: Likewise.
21676 * util/mkisofs/getopt.c: Likewise.
21677 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21678 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21679 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21680 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21681 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21682
21683 * configure.ac: Detect `mingw32msvc' host_os.
21684 Check for lstat(), getuid() and getgid().
21685
21686 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21687 instances of `u_char' with `uint8_t'.
21688
21689 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21690 [!HAVE_GETUID] (getuid): New function (stub).
21691 [!HAVE_GETGID] (getgid): Likewise.
21692 [!HAVE_LSTAT] (lstat): Likewise.
21693 [!S_IROTH] (S_IROTH): New macro (dummy).
21694 [!S_IRGRP] (S_IRGRP): Likewise.
21695
84b860d8
RM
216962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21697
21698 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21699 conditional expression).
21700
66e9b712
RM
217012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21702
21703 Import from Gnulib.
21704
21705 * gnulib/fnmatch.c: New file.
21706 * gnulib/fnmatch.h: Likewise.
21707 * gnulib/fnmatch_loop.c: Likewise.
21708 * gnulib/getopt.c: Likewise.
21709 * gnulib/getopt.h: Likewise.
21710 * gnulib/getopt1.c: Likewise.
21711 * gnulib/getopt_int.h: Likewise.
21712 * gnulib/gettext.h: Likewise.
21713
34f4a5b0
RM
217142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21715
21716 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
21717 * normal/handler.c (read_handler_list): Likewise.
21718
ac451143
RM
217192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21720
21721 Misc cleanup.
21722
21723 * kern/command.c (grub_register_command_prio): Use
21724 grub_zalloc() instead of explicitly zeroing data.
21725 * kern/list.c: Include `<grub/mm.h>'.
21726 (grub_named_list_find): Replace `0' with `NULL'.
21727 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
21728 (fs_module_list): Change type to `grub_named_list_t'. Update all
21729 users.
21730 * normal/dyncmd.c (read_command_list): Add space between function
21731 call and parenthesis.
21732 * normal/handler.c (read_handler_list): Likewise.
21733
4089b167
RM
217342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21735
21736 * normal/auth.c (punishment_delay): Moved from here ...
21737 (grub_auth_strcmp): ... to here (inside function).
21738
325f5037
RM
217392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21740
21741 * include/grub/list.h (struct grub_named_list): Remove `const'
21742 qualifier from `name'.
21743 (struct grub_prio_list): Likewise.
21744
7aea29a3
RM
217452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21746
21747 * normal/auth.c: Include `<grub/time.h>'.
21748 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
21749
3fd6f044
RM
217502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21751
21752 * normal/auth.c (punishment_delay): New variable.
21753 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
21754 (grub_auth_check_authentication): Punish failed login attempts with
21755 an incremental (2^N) delay.
21756
a4cd68e4
RM
217572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21758
21759 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
21760 path with $(srcdir).
21761
7ad12f43
VS
217622009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
21765
c1129f03
RM
217662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21767
21768 * util/i386/coreboot/grub-mkrescue.in: New file.
21769 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
21770 variables.
21771
21772 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
21773 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
21774 * configure.ac: Add header and function checks to satisfy grub-mkisofs
21775 requirements.
21776 * util/mkisofs/defaults.h: New file.
21777 * util/mkisofs/eltorito.c: Likewise.
21778 * util/mkisofs/exclude.h: Likewise.
21779 * util/mkisofs/fnmatch.c: Likewise.
21780 * util/mkisofs/getopt.c: Likewise.
21781 * util/mkisofs/getopt1.c: Likewise.
21782 * util/mkisofs/hash.c: Likewise.
21783 * util/mkisofs/include/fctldefs.h: Likewise.
21784 * util/mkisofs/include/mconfig.h: Likewise.
21785 * util/mkisofs/include/prototyp.h: Likewise.
21786 * util/mkisofs/include/statdefs.h: Likewise.
21787 * util/mkisofs/iso9660.h: Likewise.
21788 * util/mkisofs/joliet.c: Likewise.
21789 * util/mkisofs/match.c: Likewise.
21790 * util/mkisofs/match.h: Likewise.
21791 * util/mkisofs/mkisofs.c: Likewise.
21792 * util/mkisofs/mkisofs.h: Likewise.
21793 * util/mkisofs/multi.c: Likewise.
21794 * util/mkisofs/name.c: Likewise.
21795 * util/mkisofs/rock.c: Likewise.
21796 * util/mkisofs/tree.c: Likewise.
21797 * util/mkisofs/write.c: Likewise.
21798
ec8bb77d
VS
217992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21800
21801 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
21802 being insecure.
21803
3716b12c
RM
218042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21805
21806 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
21807 `grub-mkimage' (and use $0 when possible).
21808
b97b7b91
RM
218092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21810
21811 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
21812 error message for excessively large memory map.
21813
04114812
RM
218142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21815
21816 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
21817 executable bit.
21818
e4eb2373
RM
218192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21820
21821 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
21822 message for coreboot users.
21823
c926e1d5 218242009-11-07 Robert Millan <rmh.grub@aybabtu.com>
21825
21826 Fix build with GNU gold.
21827
21828 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
21829 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
21830 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
21831 link addresses.
21832 * aclocal.m4: Likewise.
21833
86e5b1db 218342009-11-04 Felix Zielcke <fzielcke@z-51.de>
21835
21836 * configure.ac (AC_PREREQ): Bump to 2.59d.
21837 * INSTALL: Make it more clear when Autoconf and Ruby are
21838 needed and when to run `./autogen.sh'.
21839
246cd78f 218402009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
21841
21842 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
21843 OSes.
21844
4f9dfb37 218452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21846
21847 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
21848
b82bd5e1 218492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21850
21851 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
21852 giving it to GNU Mach.
21853
ff1a9bca 218542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21855
21856 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
21857 GNU partition number to get internal GRUB partition number.
21858
61697d9c 218592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21860
21861 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
21862 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
21863
a50569e1 218642009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21865
21866 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
21867 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
21868 case.
21869
5b153867 218702009-11-01 Felix Zielcke <fzielcke@z-51.de>
21871
21872 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21873
d9e2cd70 218742009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21875
21876 Fix build problem.
21877
21878 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21879 `-isystem=$(srcdir)/include'.
21880
805111a4 218812009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21882
21883 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21884 checked (grub-install doesn't currently rely on it).
21885
fa6e945f 218862009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21887
21888 Revert SVN r2660.
21889
21890 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21891 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21892 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21893 * conf/i386-ieee1275.rmk: Likewise.
21894 * conf/i386-pc.rmk: Likewise.
21895 * conf/powerpc-ieee1275.rmk: Likewise.
21896 * conf/sparc64-ieee1275.rmk: Likewise.
21897 * conf/x86_64-efi.rmk: Likewise.
21898
cee15086 218992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21900
21901 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21902
95b9239e 219032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21904
21905 * include/grub/misc.h: Stop checking for APPLE_CC.
21906
2ed19dfd 219072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21910 doesn't cause an infinite call loop.
21911
fdcdde19 219122009-10-28 Felix Zielcke <fzielcke@z-51.de>
21913
21914 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21915 strings.
21916
cefabfe1 219172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21918
21919 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21920 variable.
21921 * Makefile.in: Likewise.
21922
ed96ab6d 219232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21924
21925 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21926
0579b753 219272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21928
21929 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21930
478df409 219312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21934
083d1679 219352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21936
21937 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21938 from here ...
21939 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21940
5947ae32 219412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21942
21943 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21944 in $(MAKEINFO) invocation. This makes it clear in output that
21945 errors are being ignored.
21946
94180ff6 219472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21948
21949 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21950 from here ...
21951 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21952 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21953 * conf/i386-ieee1275.rmk: Likewise.
21954 * conf/i386-pc.rmk: Likewise.
21955 * conf/powerpc-ieee1275.rmk: Likewise.
21956 * conf/sparc64-ieee1275.rmk: Likewise.
21957 * conf/x86_64-efi.rmk: Likewise.
21958
9031b03a 219592009-10-26 Colin Watson <cjwatson@ubuntu.com>
21960
21961 * util/grub-editenv.c (main): If only a command is given, use
21962 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21963 (usage): FILENAME is now optional and has a default.
21964
e4f6809b 219652009-10-26 Colin Watson <cjwatson@ubuntu.com>
21966
21967 Improve grub-mkconfig performance when there are several menu
21968 entries on a single filesystem.
21969
21970 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21971 prepare_grub_to_access_device.
21972 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21973 * util/grub.d/30_os-prober.in: Likewise.
21974
67937d4d 219752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21976
21977 * util/grub.d/10_freebsd.in: Remove.
21978 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21979 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21980
ee3756cc 219812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21982
5c35048e 21983 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 21984
4dea1c6f 219852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21986
21987 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21988 grub_util_error() call.
21989
042484d7 219902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21991
21992 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
21993 `reserved_first_sector' member.
21994 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
21995 `reserved_first_sector' to 1.
21996 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
21997 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
21998 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
21999 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22000 filesystems which begin at first sector.
22001 (options): New option --skip-fs-probe.
22002 (main): Handle --skip-fs-probe and pass it to setup().
22003
d64448a7 220042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22005
22006 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22007 (memset): Fix function prototype.
22008
508d42ec 220092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
220102009-10-25 Vasily Averin <vvs@parallels.com>
22011
22012 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22013 `dirent.direntlen == 0'.
22014
b240e30c 220152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22016
22017 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22018 `cpio'.
22019 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22020
346e7fbe 220212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22022
22023 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22024 `__trampoline_setup' and `__ucmpdi2'.
22025 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22026 that libgcc provides.
22027
cdb308b0 220282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22031 * include/grub/sparc64/libgcc.h (memset): Likewise.
22032 * include/grub/misc.h (memset, memcmp): New function prototypes.
22033
fb26abc2 220342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22035
22036 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22037 `cpio'.
22038 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22039
f6693890 220402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22041
22042 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22043 * docs/grub.cfg: Compensate for recent change in multiboot
22044 loader (since 2009-08-14 it won't pass filename to payload).
22045 * util/grub.d/10_hurd.in: Likewise.
22046
0933cdc0 220472009-10-21 Felix Zielcke <fzielcke@z-51.de>
22048
22049 * config.guess: Update to latest version from config git
22050 repository.
22051 * config.sub: Likewise.
22052
3b2fe8c2 220532009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22054
22055 Fix build on sparc64.
22056
22057 * configure.ac: Perform checks for libgcc symbols before
22058 adding `-nostdlib' to LDFLAGS.
22059
46695a62 220602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 Let user specify OpenBSD root device.
22063
22064 * loader/i386/bsd.c (openbsd_root): New variable.
22065 (openbsd_opts): New option 'root'.
22066 (OPENBSD_ROOT_ARG): New macro.
22067 (grub_openbsd_boot): Use 'openbsd_root'.
22068 (grub_cmd_openbsd): Fill 'openbsd_root'.
22069
d2b6b7fc 220702009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22071
22072 * NEWS: Misc adjustments.
22073
421bd7ac 220742009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22075
22076 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22077
f1d29d87 220782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * configure.ac: Bump version to 1.97.
22081
6f3cd880 220822009-10-16 Colin Watson <cjwatson@ubuntu.com>
22083
22084 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22085 -mno-3dnow on x86 architectures. Some toolchains enable these
22086 features by default, but they rely on registers that aren't enabled
22087 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22088
035f7122 220892009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22090
22091 Make entry text a bit more readable.
22092
22093 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22094
44998e58 220952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22098
cd2851b3 220992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22102 operations.
22103
c6f3b249 221042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22105
22106 * configure.ac: Add missing dollar.
22107
6b5886ba 221082009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22111
22112 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22113 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22114 exports.
22115 * include/grub/sparc64/libgcc.h: Likewise. Use
22116 preprocessor conditionals.
22117
e9d66f6d 221182009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22119
22120 * conf/common.rmk (grub-dumpbios): Remove rule.
22121 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22122 * util/grub-dumpbios.in: Remove file.
22123
9155bc17 221242009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22127 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22128
22129 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22130 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22131 users.
22132
22133 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22134 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22135 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22136 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22137 users.
22138
bf7f7a18 221392009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22140
22141 * term/tparm.c: Switch to GPLv3.
22142
86564c26 221432009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22144
22145 * include/grub/i386/cpuid.h: Add header protection.
22146
5c936493 221472009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22148
22149 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22150
22151 * include/grub/i386/cpuid.h: New file.
22152 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22153 (has_longmode): Rename to ...
22154 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22155 `static' attribute.
22156 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22157 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22158 on a CPU that doesn't implement AMD64 instruction set.
22159
186e7cf2 221602009-10-06 Colin Watson <cjwatson@ubuntu.com>
22161
22162 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22163 that version.texi is rebuilt on version number changes.
22164
83b65c4a 221652009-10-06 Colin Watson <cjwatson@ubuntu.com>
22166
22167 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22168 Fixes bug #27602.
22169
d244281c 221702009-10-06 Colin Watson <cjwatson@ubuntu.com>
22171
22172 * util/i386/pc/grub-install.in: Source
22173 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22174 that the --grub-probe option will work.
22175 * util/sparc64/ieee1275/grub-install.in: Likewise.
22176
da25306d 221772009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22178
22179 * configure.ac: Bump version to 1.97~beta4.
22180
e8ee83c0 221812009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22182
22183 Resync grub-mkdevicemap in x86_64-efi.
22184
22185 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22186 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22187 `util/devicemap.c'.
22188
50dcabcf 221892009-10-01 Colin Watson <cjwatson@ubuntu.com>
22190
22191 * util/grub-editenv.c (create_envblk_file): Write new block with a
22192 .new suffix and then rename it into place, to ensure atomic
22193 creation.
22194
0e51c3a7 221952009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22196
22197 Do not automatically install headers.
22198
22199 * Makefile.in (include_DATA): Remove. Update all users.
22200
31299a95 222012009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22202
22203 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22204 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22205
22206 * util/osdetect.lua: Remove.
22207 * script/lua/lauxlib.c: Likewise.
22208 * script/lua/ldebug.c: Likewise.
22209 * script/lua/grub_main.c: Likewise.
22210 * script/lua/lauxlib.h: Likewise.
22211 * script/lua/ldebug.h: Likewise.
22212 * script/lua/ltablib.c: Likewise.
22213 * script/lua/liolib.c: Likewise.
22214 * script/lua/lstrlib.c: Likewise.
22215 * script/lua/lualib.h: Likewise.
22216 * script/lua/ldo.c: Likewise.
22217 * script/lua/ldump.c: Likewise.
22218 * script/lua/ldo.h: Likewise.
22219 * script/lua/loslib.c: Likewise.
22220 * script/lua/lundump.c: Likewise.
22221 * script/lua/grub_lib.c: Likewise.
22222 * script/lua/ldblib.c: Likewise.
22223 * script/lua/lundump.h: Likewise.
22224 * script/lua/lmem.c: Likewise.
22225 * script/lua/grub_lib.h: Likewise.
22226 * script/lua/lmathlib.c: Likewise.
22227 * script/lua/lstate.c: Likewise.
22228 * script/lua/ltm.c: Likewise.
22229 * script/lua/lvm.c: Likewise.
22230 * script/lua/lmem.h: Likewise.
22231 * script/lua/lstate.h: Likewise.
22232 * script/lua/ltm.h: Likewise.
22233 * script/lua/ltable.c: Likewise.
22234 * script/lua/lvm.h: Likewise.
22235 * script/lua/llex.c: Likewise.
22236 * script/lua/lgc.c: Likewise.
22237 * script/lua/grub_lua.h: Likewise.
22238 * script/lua/loadlib.c: Likewise.
22239 * script/lua/lfunc.c: Likewise.
22240 * script/lua/lopcodes.c: Likewise.
22241 * script/lua/lparser.c: Likewise.
22242 * script/lua/ltable.h: Likewise.
22243 * script/lua/llex.h: Likewise.
22244 * script/lua/lgc.h: Likewise.
22245 * script/lua/lfunc.h: Likewise.
22246 * script/lua/lbaselib.c: Likewise.
22247 * script/lua/lopcodes.h: Likewise.
22248 * script/lua/lparser.h: Likewise.
22249 * script/lua/lzio.c: Likewise.
22250 * script/lua/linit.c: Likewise.
22251 * script/lua/lobject.c: Likewise.
22252 * script/lua/llimits.h: Likewise.
22253 * script/lua/lstring.c: Likewise.
22254 * script/lua/lzio.h: Likewise.
22255 * script/lua/lapi.c: Likewise.
22256 * script/lua/lcode.c: Likewise.
22257 * script/lua/lua.h: Likewise.
22258 * script/lua/lobject.h: Likewise.
22259 * script/lua/lstring.h: Likewise.
22260 * script/lua/lapi.h: Likewise.
22261 * script/lua/lcode.h: Likewise.
22262 * script/lua/luaconf.h: Likewise.
22263
cb8a2c38 222642009-09-26 Colin Watson <cjwatson@ubuntu.com>
22265
22266 * docs/grub.texi (Command-line and menu entry commands): Document
22267 date and echo commands.
22268
6b9b6276 222692009-09-24 Pavel Roskin <proski@gnu.org>
22270
22271 * include/grub/kernel.h (struct grub_module_header): Remove
22272 `grub_module_header_types'. Make `type' unsigned. Make `size'
22273 32-bit on all platforms.
22274 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22275 8-bit field. Use grub_host_to_target32() for `size'.
22276 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22277 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22278 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22279
4e5a02a7 222802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22281
22282 Fix "lost keypress" bug in at_keyboard.
22283
22284 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22285 Checks for readyness of input buffer (without flushing it).
22286 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22287 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22288
c6dcedf6 222892009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22290
22291 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22292 size check within GRUB_MACHINE_PCBIOS section.
22293
74c958b1 222942009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22295
22296 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22297 return value.
22298 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22299 KEYBOARD_ISREADY check.
22300 (grub_at_keyboard_checkkey): Rename to ...
22301 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22302 Remove gratuitous cast.
22303
ff420223 223042009-09-23 Colin Watson <cjwatson@ubuntu.com>
22305
22306 * configure.ac: Call AC_PROG_MKDIR_P.
22307 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22308 version.texi in $(builddir) rather than $(srcdir).
22309 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22310 to makeinfo's @include search path.
22311
d96875df 223122009-09-23 Felix Zielcke <fzielcke@z-51.de>
22313
22314 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22315
9b3f8365 223162009-09-23 Felix Zielcke <fzielcke@z-51.de>
22317
22318 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22319 for `*.dpkg-new'.
22320
c44c90db 223212009-09-21 Colin Watson <cjwatson@ubuntu.com>
22322
22323 Build info documentation. Some code borrowed from Automake.
22324
22325 * configure.ac: Check for makeinfo.
22326 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22327 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22328 docs/version.texi.
22329 (MOSTLYCLEANFILES): Add vti.tmp.
22330 (docs/version.texi, docs/stamp-vti): Update automatically.
22331 (docs/grub.info): Build info documentation. Use --force and ignore
22332 errors for now.
22333 (all-local): Add $(INFOS).
22334 (install-local): Install info files.
22335 (uninstall): Uninstall info files.
22336 * docs/version.texi: Remove from revision control. This file is
22337 automatically generated on build now.
22338 * gendistlist.sh: Add `*.info'.
22339
e0b37bb5 223402009-09-21 Felix Zielcke <fzielcke@z-51.de>
22341
22342 * kern/term.c: Fix indentation.
22343
5a78865b 223442009-09-21 Felix Zielcke <fzielcke@z-51.de>
22345
22346 * util/hostdisk.c: Fix a comment.
22347
dace7e8a 223482009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22349
22350 Fix regression introduced in r2539.
22351
22352 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22353 to 0xA1.
22354
a83d079b 223552009-09-19 Colin Watson <cjwatson@ubuntu.com>
22356
22357 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22358 os-prober. Under normal operation, it does not print anything to
22359 stderr; if it does, we need to debug it, and throwing away stderr
22360 makes that excessively difficult.
a83d079b 22361
be94a509 223622009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22365
63f745e8 223662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22369 AC_LANG_PROGRAM from autoconf.
22370 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22371 prototypes (fixes warning).
22372
22373 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22374 `--disable-werror' was used.
22375
bbb2a70f 223762009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22377
22378 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22379 uninitialized `lastaddr'.
22380
77c24f1d 223812009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22382
0f0b8c87 22383 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 22384
07197f23 223852009-09-14 Colin Watson <cjwatson@ubuntu.com>
22386
22387 * commands/test.c (get_fileinfo): Return immediately if
22388 grub_fs_probe fails.
22389
dabf1798 223902009-09-14 José Martínez <xosemp@gmail.com>
22391
22392 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22393
d52109a7 223942009-09-14 Colin Watson <cjwatson@ubuntu.com>
22395
22396 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22397 output.
22398
56532179 223992009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 * configure.ac: Remove --enable-grub-pe2elf. Only build
22402 grub-pe2elf when needed by the build system itself.
22403 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22404
8ef070f5 224052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22406
22407 * configure.ac: Bump version to 1.97~beta3.
22408 * docs/version.texi: Likewise.
22409
61229557 224102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22411
22412 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22413 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22414 from here ...
22415 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22416 (grub_linux_setup_video): ... to here (with some adjustments).
22417
5c9f8d84 224182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22419
22420 Fix memory corruption issue (spotted by Colin Watson).
22421
22422 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22423 causing returned size to be stored in an incorrect memory location.
22424 Fix use of uninitialized value when storing the returned size.
22425
e8f5d6e9 224262009-09-12 Yves Blusseau <blusseau@zetam.org>
22427
22428 Change clean rules to properly remove files
22429
22430 * genmk.rb: add new clean rules
22431 * Makefile.in (clean): add the new targets
22432 (mostlyclean): likewise
22433
cda2a409 224342009-09-11 Colin Watson <cjwatson@ubuntu.com>
22435
22436 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22437 to grub_uint64_t.
22438 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22439 non-resident files.
22440
86695375 224412009-09-11 Colin Watson <cjwatson@ubuntu.com>
22442
22443 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22444 part of bug #27349.
22445
8aa1541a 224462009-09-10 Felix Zielcke <fzielcke@z-51.de>
22447
22448 * util/grub-mkconfig.in: Make the created config mode 400 and
22449 print a warning if it fails.
22450
48d9bb0a 224512009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22452
22453 * util/grub.d/40_custom.in: Ask user to type custom entries below
22454 comment, rather than below 'exec tail' line.
22455
3b0521be 224562009-09-10 Colin Watson <cjwatson@ubuntu.com>
22457
22458 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22459 visible in grub.cfg.
22460
50051d55 224612009-09-10 Colin Watson <cjwatson@ubuntu.com>
22462
22463 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22464 file.
22465
c0d34387 224662009-09-10 Felix Zielcke <fzielcke@z-51.de>
22467
22468 * docs/grub.cfg: Add an example menu entry for memtest86+.
22469
80a608f3 224702009-09-09 Felix Zielcke <fzielcke@z-51.de>
22471
a2094832 22472 * config.guess: Update to latest version from config git.
80a608f3 22473 * config.sub: Likewise.
22474
99423078 224752009-09-08 Colin Watson <cjwatson@ubuntu.com>
22476
22477 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22478 unknown-command case. Fixes bug #27320.
22479
44454e4c 224802009-09-08 Felix Zielcke <fzielcke@z-51.de>
22481
22482 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22483 `help' if the command exists.
22484
e30d87ad 224852009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22486
22487 * INSTALL: Require GCC 4.1.3 or later.
22488
9a86f1ec 224892009-09-06 Yves Blusseau <blusseau@zetam.org>
22490
22491 * Makefile.in (RMKFILES): add i386-qemu.rmk
22492 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22493 $(srcdir)/stamp-h.in
22494
7f26d466 224952009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22496
22497 * util/grub-probe.c (probe): Comment out buggy codepath, which
22498 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22499 should be re-enabled after 1.97.
22500
3a613259 225012009-09-05 Felix Zielcke <fzielcke@z-51.de>
22502
22503 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22504 find searches for.
22505
197f76c7 225062009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22507
22508 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22509 unnecessary calls to grub_error.
22510
70ba68ce 225112009-09-04 Colin Watson <cjwatson@ubuntu.com>
22512
22513 * NEWS: Mention `keystatus' and Unicode fonts.
22514
4ff0d7a4 225152009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22516
22517 * configure.ac: Bump version to 1.97~beta2.
22518 * docs/version.texi: Likewise.
22519
77c55a87 225202009-09-03 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22523 containing unwind information in some cases where it previously did
22524 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22525 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22526 discussion.
22527
f79572cd 225282009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22529
22530 Embedding loadenv module into grub-emu
22531
22532 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22533 commands/loadenv.c
22534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22536 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22538 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22540
93a81088 225412009-09-03 Magnus Granberg <zorry@ume.nu>
22542
22543 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22544 include -fPIE in the default specs.
22545 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22546 to TARGET_CFLAGS.
22547
160034b2 225482009-09-03 Felix Zielcke <fzielcke@z-51.de>
22549
22550 * INSTALL: Note that GNU Bison 2.3 or later is required.
22551
087c07c4 225522009-09-03 Colin Watson <cjwatson@ubuntu.com>
22553
22554 * kern/i386/pc/startup.S: Fix typo.
22555
cbf978c0 225562009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22559 according to GCS.
22560
225612009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 22562
22563 * docs/grub.texi (Naming convention): Describe one-based partition
22564 numbering.
22565 (Device syntax): Likewise.
22566 (File name syntax): Likewise.
22567 (Block list syntax): Likewise.
22568 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22569 menu.lst.
22570 (File name syntax): Likewise.
22571 (Command-line and menu entry commands): Document acpi, blocklist,
22572 crc, export, insmod, keystatus, ls, set, and unset commands.
22573
f3e8cdfd 225742009-09-02 Colin Watson <cjwatson@ubuntu.com>
22575
22576 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22577 to avoid implying that only one of --shift, --ctrl, or --alt may be
22578 used.
22579
c0bc232b 225802009-09-02 Colin Watson <cjwatson@ubuntu.com>
22581
22582 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22583 rather than comparing against S_IFREG, which will almost never work.
22584
aa0f752d 225852009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22588 (write_blocklists): Likewise.
22589
ecb3166a 225902009-09-01 Colin Watson <cjwatson@ubuntu.com>
22591
22592 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22593 argument to grub_printf.
22594
c403a125 225952009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 22596
22597 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 22598 non GNU test.
31aba781 22599
b5e7312c 226002009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * kern/file.c (grub_file_read): Spelling fix
22603
fe00f472 226042009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22607 loading of headers in some cases.
22608
cc55302e 226092009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22610
22611 * configure.ac: Bump version to 1.97~beta1.
22612 * docs/version.texi: Likewise.
22613
5c90cdd2 226142009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 22615
22616 * include/grub/i386/xnu.h: Add license header.
22617 include grub/err.h explicitly.
22618
c90edae4 226192009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22620
22621 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22622 to `ufs' in the vfs.root.mountfrom kernel parameter.
22623
d8888b5c 226242009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22625
22626 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22627
22628 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22629 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22630
22631 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22632 `ARRAY_SIZE' macro.
22633
6f07b921 226342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 * kern/file.c (grub_file_read): Check offset.
22637 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22638 * fs/jfs.c (grub_jfs_read_file): Likewise.
22639 * fs/ntfs.c (grub_ntfs_read): Likewise.
22640 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22641 * fs/minix.c (grub_minix_read_file): Correct offset check.
22642 * fs/ufs.c (grub_ufs_read_file): Likewise.
22643
b4f34077 226442009-08-28 Colin Watson <cjwatson@ubuntu.com>
22645
22646 * term/i386/pc/console.c (bios_data_area): Cast
22647 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22648
e7c69859 226492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 1-bit optimised blitters.
22652
22653 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22654 prototype.
22655 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22656 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22657 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22658 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22659 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22660 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22661 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22662 function.
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/video_fb.c (common_blitter): Use 1-bit optimised blitters
22670 when possible.
22671 * video/video.c (grub_video_get_blit_format): Return
22672 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22673
a57da43f 226742009-08-28 Colin Watson <cjwatson@ubuntu.com>
22675
22676 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22677 the first argument to grub_printf.
22678
4cbe67e5 226792009-08-28 Colin Watson <cjwatson@ubuntu.com>
226802009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22681
22682 Add `getkeystatus' terminal method. Add a new `keystatus' command
22683 to query it.
22684
22685 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22686 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22687 modifier key bitmasks.
22688 (struct grub_term_input): Add `getkeystatus' member.
22689 (grub_getkeystatus): Add prototype.
22690 * kern/term.c (grub_getkeystatus): New function.
22691
22692 * include/grub/i386/pc/memory.h
22693 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22694 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22695 Data Area layout.
22696 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22697 (grub_console_term_input): Set `getkeystatus' member.
22698 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22699 constants.
22700 (grub_usb_keyboard_getreport): Likewise.
22701 (grub_usb_keyboard_checkkey): Likewise.
22702 (grub_usb_keyboard_getkeystatus): New function.
22703 (grub_usb_keyboard_term): Set `getkeystatus' member.
22704
22705 * commands/keystatus.c: New file.
22706 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
22707 (keystatus_mod_SOURCES): New variable.
22708 (keystatus_mod_CFLAGS): Likewise.
22709 (keystatus_mod_LDFLAGS): Likewise.
22710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
22711 commands/keystatus.c.
22712 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22714 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22716 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22717 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 22718
6e2a9085 227192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22720
22721 Split befs.mod and afs.mod into *_be.mod and *.mod
22722
22723 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
22724 (grub_fstest_SOURCES): Likewise.
22725 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
22726 (afs_be_mod_SOURCES): New variable.
22727 (afs_be_mod_CFLAGS): Likewise.
22728 (afs_be_mod_LDFLAGS): Likewise.
22729 (befs_be_mod_SOURCES): Likewise.
22730 (befs_be_mod_CFLAGS): Likewise.
22731 (befs_be_mod_LDFLAGS): Likewise.
22732 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
22733 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22734 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22735 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22736 (grub_emu_SOURCES): Likewise.
22737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22738 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22739 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22740 * fs/afs_be.c: New file.
22741 * fs/befs_be.c: New file.
22742 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
22743 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
22744 (U16): Replaced with ...
22745 (grub_afs_to_cpu16): ...this. All users updated.
22746 (U32): Replaced with ...
22747 (grub_afs_to_cpu32): ...this. All users updated.
22748 (U64): Replaced with ...
22749 (grub_afs_to_cpu64): ...this. All users updated.
22750 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
22751 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 22752 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 22753 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22754 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22755 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22756 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22757 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22758 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22759 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22760 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22761
32a71655 227622009-08-26 Bean <bean123ch@gmail.com>
22763
22764 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
22765 64-bit number.
22766 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
22767 (grub_xfs_inode_block): Change return type to grub_uint64_t.
22768 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
22769
552bf6c5 227702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22771
22772 NetBSD memory map support.
22773
22774 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
22775 (grub_netbsd_btinfo_mmap_header): New structure.
22776 (grub_netbsd_btinfo_mmap_entry): Likewise.
22777 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
22778
1ae2078c 227792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22780
22781 Enable bsd.mod on coreboot.
22782
22783 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
22784 (bsd_mod_SOURCES): New variable.
22785 (bsd_mod_CFLAGS): Likewise.
22786 (bsd_mod_LDFLAGS): Likewise.
22787 (bsd_mod_ASFLAGS): Likewise.
22788 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
22789 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
22790
beefc598 227912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 Cleanup NetBSD root support.
22794
22795 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
22796 grub_bsd_get_device.
22797 Fix typo.
22798
3b76e68b 227992009-08-25 Felix Zielcke <fzielcke@z-51.de>
22800
22801 * util/grub.d/00_header.in: Move check for the video backend of
22802 gfxterm from here ...
22803 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
22804 a suitable video backend.
22805
aea664ea 228062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22807
22808 Fix breakage in grub-setup.
22809
22810 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
22811 "msdos_partition_map".
22812
ff747d50 228132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22814
22815 Fix breakage in normal/auth.c.
22816
22817 * normal/auth.c (grub_iswordseparator): New function.
22818
e7e1f93f 228192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 Authentication support.
22822
22823 * commands/password.c: New file.
22824 * conf/common.rmk (pkglib_MODULES): Add password.mod.
22825 (password_mod_SOURCES): New variable.
22826 (password_mod_CFLAGS): Likewise.
22827 (password_mod_LDFLAGS): Likewise.
22828 (normal_mod_SOURCES): Add normal/auth.c.
22829 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
22830 normal/auth.c.
22831 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22832 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22833 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22836 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22837 * include/grub/auth.h: New file.
22838 * include/grub/err.h (grub_err_t): New enum value
22839 GRUB_ERR_ACCESS_DENIED.
22840 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
22841 'users'.
22842 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
22843 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
22844 users updated.
22845 * normal/auth.c: New file.
22846 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
22847 (grub_cmdline_run): Don't allow to go to command line without
22848 authentication.
22849 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
22850 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
22851 menuentry without superuser rights.
22852 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
22853 user isn't a superuser.
22854
70f1161d 228552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22856
22857 Save space by inlining misc.c functions.
22858
22859 * kern/misc.c (grub_iswordseparator): Made static.
22860 * kern/misc.c (grub_strcat): Moved from here ...
22861 * include/grub/misc.h (grub_strcat): ... here. Inlined.
22862 * kern/misc.c (grub_strncat): Moved from here ...
22863 * include/grub/misc.h (grub_strncat): ... here. Inlined.
22864 * kern/misc.c (grub_strcasecmp): Moved from here ...
22865 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
22866 * kern/misc.c (grub_strncasecmp): Moved from here ...
22867 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
22868 * kern/misc.c (grub_isalpha): Moved from here ...
22869 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22870 * kern/misc.c (grub_isdigit): Moved from here ...
22871 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22872 * kern/misc.c (grub_isgraph): Moved from here ...
22873 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22874 * kern/misc.c (grub_tolower): Moved from here ...
22875 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22876
48e40bff 228772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22878
22879 * script/sh/function.c (grub_script_function_find): Cut error message
22880 not to flood terminal.
22881 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22882 limit.
22883 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22884
c385bfc3 228852009-08-24 Colin Watson <cjwatson@ubuntu.com>
22886
22887 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22888 `report' grub_uint8_t *.
22889 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22890 Use a 50-millisecond timeout rather than just repeating
22891 grub_usb_keyboard_getreport 50 times.
22892 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22893
2d21e3e8 228942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 Rename *_partition_map to part_*
22897
22898 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22899 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22900 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22901 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22902 All users updated.
22903 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22904 All users updated.
22905 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22906 * util/grub-probe.c (probe_partmap): Don't transform partition name
22907 to get module name.
22908
dd103c4e 229092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22910
22911 Fix OpenBSD and NetBSD support.
22912
22913 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22914 memory address conflict.
22915 (OPENBSD_MMAP_ACPI): New definition.
22916 (OPENBSD_MMAP_NVS): Likewise.
22917 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22918 and OPENBSD_MMAP_NVS.
22919 Add memory map terminator
22920 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 22921 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 22922
16c84d74 229232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 Let user specify NetBSD root device.
22926
22927 * loader/i386/bsd.c (netbsd_root): New variable.
22928 (netbsd_opts): New option 'root'.
22929 (NETBSD_ROOT_ARG): New macro.
22930 (grub_netbsd_boot): Use 'netbsd_root'.
22931 (grub_bsd_unload): Free 'netbsd_root'.
22932 (grub_cmd_netbsd): Fill 'netbsd_root'.
22933
adb29902 229342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 Support for 64-bit NetBSD.
22937
22938 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22939 point when booting non-FreeBSD.
22940
f5ae9f74 229412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 Support --no-smp and --no-acpi for NetBSD.
22944
22945 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22946 (NETBSD_AB_NOACPI): Likewise.
22947 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22948 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22949
de74f136 229502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22951
22952 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22953 errors.
22954 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22955 errors. Call grub_error when needed.
22956
e9a925da 229572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22958
22959 * commands/search.c (search_fs): Try searching without autoload first.
22960 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22961 filesystem module explicitly for faster booting.
22962
5174302b 229632009-08-23 Colin Watson <cjwatson@ubuntu.com>
22964
22965 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22966
c8c80635 229672009-08-23 Colin Watson <cjwatson@ubuntu.com>
22968
22969 * util/grub.d/30_os-prober.in: Disable os-prober if
22970 `GRUB_DISABLE_OS_PROBER' was set to true.
22971
71acf5e5 229722009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22973
22974 * partmap/pc.c: Rename to ...
22975 * partmap/msdos.c: ... this. Update all users.
22976 (grub_pc_partition_map): Rename to ...
22977 (grub_msdos_partition_map): ... this. Update all users.
22978
22979 * parttool/pcpart.c: Rename to ...
22980 * parttool/msdospart.c: ... this. Update all users.
22981
22982 * include/grub/pc_partition.h: Rename to ...
22983 * include/grub/msdos_partition.h: ... this. Update all users.
22984 (grub_pc_partition_bsd_entry): Rename to ...
22985 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22986 (grub_pc_partition_disk_label): Rename to ...
22987 (grub_msdos_partition_disk_label): ... this. Update all users.
22988 (grub_pc_partition_entry): Rename to ...
22989 (grub_msdos_partition_entry): ... this. Update all users.
22990 (grub_pc_partition_mbr): Rename to ...
22991 (grub_msdos_partition_mbr): ... this. Update all users.
22992 (grub_pc_partition): Rename to ...
22993 (grub_msdos_partition): ... this. Update all users.
22994 (grub_pc_partition_is_empty): Rename to ...
22995 (grub_msdos_partition_is_empty): ... this. Update all users.
22996 (grub_pc_partition_is_extended): Rename to ...
22997 (grub_msdos_partition_is_extended): ... this. Update all users.
22998 (grub_pc_partition_is_bsd): Rename to ...
22999 (grub_msdos_partition_is_bsd): ... this. Update all users.
23000
23001 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23002 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23003 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23004 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23005 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23006 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23007 (gpt_mod_LDFLAGS): Rename to ...
23008 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23009 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23010 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23011 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23012 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23013 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23014 (part_gpt_mod_LDFLAGS): ... this.
23015 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23016 `pcpart.mod' to `msdospart.mod'.
23017 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23018 to ...
23019 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23020 (msdospart_mod_LDFLAGS): ... this.
23021
c11fded5 230222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23023
23024 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23025 (openbsd_opts): Likewise.
23026 (netbsd_opts): Likewise.
23027 (freebsd_flags): Added 0 terminator.
23028 (openbsd_flags): Likewise.
23029 (netbsd_flags): Likewise.
23030 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23031 (grub_cmd_freebsd): Transformed into extended command.
23032 (grub_cmd_openbsd): Likewise.
23033 (grub_cmd_netbsd): Likewise.
23034 (cmd_freebsd): Changed type to grub_extcmd_t.
23035 (cmd_openbsd): Likewise.
23036 (cmd_netbsd): Likewise.
23037 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23038 grub_cmd_openbsd as extended commands.
23039 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23040 cmd_netbsd and cmd_openbsd
23041
11d1c769 230422009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23045
7a9094e5 230462009-08-21 Pavel Roskin <proski@gnu.org>
23047
5496c37e 23048 * Makefile.in (install-local): When checking if a file is in the
23049 build directory, use "test -e" to detect symlinks.
23050
7a9094e5 23051 * Makefile.in (install-local): Remove all files in
23052 $(DESTDIR)$(pkglibdir) before installing new files there.
23053
e53cea11 230542009-08-18 Felix Zielcke <fzielcke@z-51.de>
23055
23056 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23057 grub-mkelfimage.
23058
9aced544 230592009-08-18 Felix Zielcke <fzielcke@z-51.de>
23060
23061 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23062 explicitly specified by the user.
23063
b7da6bab 230642009-08-18 Pavel Roskin <proski@gnu.org>
23065
23066 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23067 grub_uint8_t pointer for data.
23068 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23069 Likewise.
23070 * video/fb/fbutil.c: Remove unnecessary casts.
23071
19f1b335 230722009-08-17 Michal Suchanek <hramrach@centrum.cz>
23073
23074 VBE cleanup.
23075
23076 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23077 (grub_vbe_set_video_mode): Save active mode info
23078 only after setting the mode.
23079 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23080 second argument.
23081
2f467aa9 230822009-08-17 Michal Suchanek <hramrach@centrum.cz>
23083
23084 Rename variables for clarity.
23085
23086 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23087 (active_vbe_mode_info): ... this. All users updated.
23088 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23089 All users updated.
23090 (initial_mode): Rename to ...
23091 (initial_vbe_mode): ... this. All users updated.
23092 (mode_in_use): Rename to ..
23093 (vbe_mode_in_use): ... this. All users updated.
23094 (mode_list): Rename to ..
23095 (vbe_mode_list): ... this. All users updated.
23096 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23097 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23098 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23099 'mode_list_size' to 'vbe_mode_list_size'.
23100 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23101 'best_mode_info' to 'best_vbe_mode_info' and
23102 'best_mode' to 'best_vbe_mode'
23103
6025fcd7 231042009-08-17 Michal Suchanek <hramrach@centrum.cz>
23105
23106 Remove duplicate grub_video_fb_get_video_ptr.
23107
23108 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23109 (grub_video_fb_get_video_ptr): ... this.
23110 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23111 * video/fb/fbutil.c: Add comment about addressing.
23112 (get_data_ptr): Rename to ...
23113 (grub_video_fb_get_video_ptr): ... this. All users updated.
23114 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23115
cc8c6faf 231162009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23117
23118 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23119 grub_dprintf() that was just added.
23120
08aa61f0 231212009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23122
23123 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23124 (DEFAULT_VIDEO_MODE): Remove macros.
23125 (grub_linux_boot): Remove assumption that Linux has FB support,
23126 and use "text" as default video mode.
23127
7cef4f75 231282009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23129
23130 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23131 grub_dprintf.
23132 * fs/fat.c (grub_fat_read_data): Likewise.
23133
e1f39873 231342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23137 payload.
23138 (grub_module): Likewise.
23139
c166d79e 231402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23141
23142 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23143 mbi->cmdline but free playground.
23144
c60cee8e 231452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23146
23147 Handle group offset on UFS1.
23148
23149 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23150 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23151
c0d8b5d4 231522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 Split ufs.mod into ufs1.mod and ufs2.mod.
23155
23156 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23157 (grub_fstest_SOURCES): Likewise.
23158 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23159 (ufs_mod_SOURCES): Remove.
23160 (ufs_mod_CFLAGS): Likewise.
23161 (ufs_mod_LDFLAGS): Likewise.
23162 (ufs1_mod_SOURCES): New variable.
23163 (ufs1_mod_CFLAGS): Likewise.
23164 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23165 (ufs2_mod_SOURCES): New variable.
23166 (ufs2_mod_CFLAGS): Likewise.
23167 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23168 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23169 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23170 Likewise.
23171 (grub_emu_SOURCES): Likewise.
23172 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23173 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23174 (grub_setup_SOURCES): Likewise.
23175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23176 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23177 (grub_setup_SOURCES): Likewise.
23178 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23179 Likewise.
23180 * fs/ufs2.c: New file.
23181 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23182
d3539132 231832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 Framebuffer split.
23186
23187 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23188 subsystem at the end.
23189 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23190 (video_fb_mod_SOURCES): New variable.
23191 (video_fb_mod_CFLAGS): Likewise.
23192 (video_fb_mod_LDFLAGS): Likewise.
23193 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23194 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23195 * video/i386/pc/vbeblit.c: Moved from here ...
23196 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23197 * video/i386/pc/vbefill.c: Moved from here ...
23198 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23199 * video/i386/pc/vbeutil.c: Moved from here ...
23200 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23201 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23202 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23203 * include/grub/i386/pc/vbefill.h: Moved from here ...
23204 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23205 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23206 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23207 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23208 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23209 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23210 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23211 (grub_video_adapter): Added 'get_info_and_fini'.
23212 (grub_video_get_info_and_fini): New prototype.
23213 (grub_video_set_mode): make modestring const char *.
23214 * loader/i386/linux.c (grub_linux_setup_video): Use
23215 grub_video_get_info_and_fini.
23216 (grub_linux_boot): Move modesetting just before booting.
23217 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23218 grub_video_get_info_and_fini.
23219 * video/i386/pc/vbe.c: Moved framebuffer part ...
23220 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23221 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23222 grub_video_fbstd_colors and grub_video_fb_set_palette.
23223 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23224 grub_video_fb_init.
23225 (grub_video_vbe_fini): Use grub_video_fb_fini.
23226 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23227 render_target and use grub_video_fb_set_active_render_target and
23228 grub_video_fb_set_palette.
23229 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23230 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23231 (grub_video_vbe_adapter): Use framebuffer.
23232 * video/video.c (grub_video_get_info_and_fini): New function.
23233 (grub_video_set_mode): Make modestring const char *.
23234 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23235 values are already initialised.
23236
d404ee56 232372009-08-14 Pavel Roskin <proski@gnu.org>
23238
23239 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23240 ABS and APPLE_CC.
23241 * boot/i386/pc/diskboot.S: Likewise.
23242 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23243 sectors allow compilation on MacOSX.
23244 * conf/i386-pc.rmk: Enable unconditional compilation of
23245 lnxboot.img.
23246
9a10df16 232472009-08-13 Colin Watson <cjwatson@ubuntu.com>
23248
23249 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23250 * util/grub.d/00_header.in: Enter interruptible sleep if
23251 GRUB_HIDDEN_TIMEOUT is set.
23252
be3c9ca7 232532009-08-13 Yves Blusseau <blusseau@zetam.org>
23254
23255 * include/grub/symbol.h: Add the LOCAL macro.
23256 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23257 starting with "L_".
23258
1f9e557e 232592009-08-13 Pavel Roskin <proski@gnu.org>
23260
9ca62843 23261 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23262 any modern compilers we support.
23263
1f9e557e 23264 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23265 Use local labels starting with "L_" so that Apple assembler
23266 knows they are local.
23267
81623db6 232682009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23269
23270 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23271 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23272 (bsd_kernel_types): ... this enum.
23273
23274 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23275 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23276 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23277
23278 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23279 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23280 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23281 messages.
23282
f5d35e7a 232832009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23284
23285 * util/grub-dumpdevtree: Moved from here ...
23286 * util/i386/efi/grub-dumpdevtree: ... to here.
23287 (hexify): New function. Converts a string to its hex version.
23288 Generate hex versions of "efi" and "device-properties" by calling
23289 hexify() on the ASCII strings rather than by hardcoding numbers.
23290
d1e1d527 232912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 * fs/jfs.c: Update copyright year.
23294
1ebbe064 232952009-08-08 Felix Zielcke <fzielcke@z-51.de>
23296
23297 * util/grub.d/00_header.in: Fix a comment.
23298 * util/grub.d/10_linux.in: Likewise.
23299 * util/grub.d/10_windows.in: Likewise.
23300 * util/grub.d/10_hurd.in: Likewise.
23301
a78c8d24 233022009-08-08 Felix Zielcke <fzielcke@z-51.de>
23303
23304 * util/grub-mkconfig.in: Allow the user to specify the used font
23305 with GRUB_FONT.
23306
29a6b9e8 233072009-08-08 Pavel Roskin <proski@gnu.org>
23308
b5f16cc4 23309 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23310 available, xfs.mod needs it now.
23311
2f5cb827 23312 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23313 the "g" modifier in sed when the intention is to strip something
23314 once. This fixes comparison of kernels with multiple dashes.
23315
29a6b9e8 23316 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23317 on it. Add missing space before closing bracket. Fix
23318 misleading formatting.
23319
892a3d98 233202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23321
23322 * docs/grub.texi: Major overhaul. Remove all sections that are
23323 specific to GRUB Legacy, or mostly composed of Legacy-specific
23324 information.
23325
ed94253f 233262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23327
23328 * docs/version.texi: New file. Provides version information for
23329 grub.texi.
23330
126d6628 233312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23332
23333 * docs/grub.texi: Update CVS information to SVN.
23334 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23335
998b5aa9 233362009-08-07 Felix Zielcke <fzielcke@z-51.de>
23337
23338 * util/grub-mkconfig.in: Remove a wrong `fi'.
23339
818e094a 233402009-08-07 Felix Zielcke <fzielcke@z-51.de>
23341
23342 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23343 (grub_jfs_uuid): New function.
23344 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23345
b969c52f 233462009-08-07 Felix Zielcke <fzielcke@z-51.de>
23347
23348 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23349 of it to ...
23350 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23351 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23352
7a4894cc 233532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23354
23355 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23356 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23357 Update all users.
23358
23359 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23360 not just "vmlinu[zx]".
23361 Moved from here ...
23362 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23363 all users.
23364
23365 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23366 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23367 all users.
23368
4e2171f8 233692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23370
23371 * util/grub.d/10_freebsd.in: Use an absolute device path for
23372 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23373
6dcfcb32 233742009-08-06 Felix Zielcke <fzielcke@z-51.de>
23375
23376 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23377 handling of multiple abstraction modules.
23378
f56a8756 233792009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23380
23381 Fix a bug resulting in black screen when loading Linux using a
23382 packed video mode.
23383
23384 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23385 function.
23386
23387 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23388 (grub_vbe_bios_getset_dac_palette_width): New function.
23389 (grub_vbe_bios_get_dac_palette_width)
23390 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23391 grub_vbe_bios_getset_dac_palette_width()).
23392
23393 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23394 check for return status.
23395 (grub_vbe_get_video_mode_info): When getting information for a packed
23396 mode (<= 8 bpp), obtain DAC palette width using
23397 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23398 {red,green,blue}_mark_size.
23399
222671b2 234002009-08-04 Felix Zielcke <fzielcke@z-51.de>
23401
ecb1a6d9 23402 * commands/search.c (options): Fix help output to match actual code.
222671b2 23403
f84114f5 234042009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23407 of homegrown code.
23408
bd288a20 234092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 23410
23411 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23412 on XFS or ReiserFS.
23413
8aab5e25 234142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23415
23416 Support Apple partition map with sector size different from 512 bytes.
23417
23418 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23419 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23420 and 'apart.partmap_size'.
23421
6ad6258a 234222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
234232009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 Fix cpuid command.
23426
23427 * commands/i386/cpuid.c (options): New variable.
23428 (grub_cmd_cpuid): Return real error.
23429 (GRUB_MOD_INIT(cpuid)): Declare options.
23430
67459bc6 234312009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23434 valid.
23435
fbc6ab54 234362009-07-31 Bean <bean123ch@gmail.com>
23437
23438 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23439 log2_inode.
23440 (grub_fshelp_node): Move inode field to the end.
23441 (grub_xfs_data): Remove inode field.
23442 (grub_xfs_inode_block): Calculate inode size using sblock.
23443 (grub_xfs_inode_offset): Likewise.
23444 (grub_xfs_read_inode): Calculate inode size using sblock.
23445 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23446 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23447 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23448 to match inode size.
23449 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23450 not accessible when data is null.
23451 (grub_xfs_open): Likewise.
23452
f45d6cfc 234532009-07-31 Bean <bean123ch@gmail.com>
23454
23455 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23456 Don't change pv->disk if it's already set.
23457
23458 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23459 (grub_raid_register): ... here.
23460 (grub_raid_rescan): Removed.
23461
23462 * include/grub/raid.h (grub_raid_rescan): Removed.
23463
23464 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23465 (fstest): Replace grub_raid_rescan with module fini function followed
23466 by init function.
23467
23468 * util/grub-probe.c: Add include file <grub/raid.h>.
23469 (probe_raid_level): New function.
23470 (probe): Detect abstraction by walking the disk device, support two
23471 level of abstraction (LVM on RAID) when detecting partition map.
23472
24443b5a 234732009-07-31 Pavel Roskin <proski@gnu.org>
23474
23475 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23476 to grub_zalloc(), it was erroneous.
23477 Reported by Bean <bean123ch@gmail.com>
23478
a275d9e7 234792009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 23482 embedding zone, not only the first one.
a275d9e7 23483
56c5a47f 234842009-07-29 Joe Auricchio <jauricchio@gmail.com>
23485
23486 * term/gfxterm.c (clear_char): New function.
23487 (grub_virtual_screen_setup): Use clear_char.
23488 (scroll_up): Likewise.
23489 (grub_virtual_screen_cls): Likewise.
23490
67bb323a 234912009-07-29 Felix Zielcke <fzielcke@z-51.de>
23492
23493 * util/deviceiter.c (get_acceleraid_disk_name): New static
23494 function.
23495 (grub_util_iterate_devices): Handle Accelraid devices.
23496 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23497
388a7c75 234982009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23499
23500 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23501 separator for the suggested gfxpayload string (';' collides with the
23502 parser and needs escaping).
23503
3bb7abcf 235042009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23507 Clear direction flag before jumping to OS.
23508 (grub_multiboot2_real_boot): Likewise.
23509
2ddd36d7 235102009-07-28 Felix Zielcke <fzielcke@z-51.de>
23511
23512 * util/i386/pc/grub-install: Fix parsing of --disk-module
23513 option.
23514
c521b62b 235152009-07-28 Felix Zielcke <fzielcke@z-51.de>
23516
23517 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23518 when embedding.
23519
880e0a0c 235202009-07-26 Felix Zielcke <fzielcke@z-51.de>
23521
23522 * util/grub-mkconfig.in (package_version): New variable.
23523 Use it do display the version.
23524
2366e356 235252009-07-25 Felix Zielcke <fzielcke@z-51.de>
23526
23527 * kern/file.c (grub_file_open): Revert to previous check with
23528 grub_errno.
23529
7ad8c80e 235302009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23533 from help line. It's out of sync with code.
23534
72b9658b 235352009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23536
23537 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23538 entries on failed boot.
23539
77435277 235402009-07-25 Felix Zielcke <fzielcke@z-51.de>
23541
23542 * kern/file.c (grub_file_open): Fix an error check.
23543
fcaa8b21 235442009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23545
35d16c74 23546 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23547 partition map couldn't be identified.
fcaa8b21 23548
48904cd1 235492009-07-23 Pavel Roskin <proski@gnu.org>
23550
ef3c317f 23551 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23552 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23553 case of little endian words becomes just an optimization.
23554 Respect const modifier.
ad8ea1f4 23555 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 23556
48904cd1 23557 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23558 to avoid loss of upper bits if align is unsigned and shorter
23559 than addr.
23560
260c9a89 235612009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23562
23563 UUID support for UFS
23564
23565 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23566 (grub_ufs_uuid): New function.
23567 (grub_ufs_fs): add .uuid
23568
f76ce889 235692009-07-21 Pavel Roskin <proski@gnu.org>
23570
23571 * kern/dl.c (grub_dl_check_header): Make static.
23572
6a6cbcaf 235732009-07-21 Felix Zielcke <fzielcke@z-51.de>
23574
23575 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23576 add drivemap for Vista. It breaks Windows 7.
23577
cffcddb2 235782009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23579
23580 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23581 128 bytes
23582
1ef44b80 235832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23584
23585 Add BFS support
23586
23587 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23588 (grub_fstest_SOURCES): Likewise.
23589 (pkglib_MODULES): Add befs.mod.
23590 (befs_mod_SOURCES): New variable.
23591 (befs_mod_CFLAGS): Likewise.
23592 (befs_mod_LDFLAGS): Likewise.
23593 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23594 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23595 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23596 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23597 (grub_setup_SOURCES): Likewise.
23598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23600 (grub_setup_SOURCES): Likewise.
23601 * fs/befs.c: New file.
23602 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23603 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23604 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23605 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23606 (B_KEY_INDEX_ALIGN): New declaration.
23607 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23608 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23609 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23610 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23611 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23612 (grub_afs_mount) [MODE_BFS]: Likewise.
23613 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23614 (grub_afs_fs): Use GRUB_AFS_FSNAME
23615 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23616 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23617 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23618 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23619
4f253044 236202009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23621
23622 * util/getroot.c (find_root_device): Add support for MacOSX.
23623 * util/hostdisk.c: Likewise.
23624
57a55913 236252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * font/font.c (find_glyph): Check whether a font is present to avoid
23628 segmentation fault.
75421ca9 23629
236302009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 23631
23632 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
23633
e98cd0c2 236342009-07-20 Pavel Roskin <proski@gnu.org>
23635
23636 * configure.ac: Trim excessively wordy excuses.
23637
1d2d169a 236382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 Add symlink, mtime and label support to AtheFS.
23641
23642 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23643 (grub_afs_iterate_dir): Handle symlinks.
23644 (grub_afs_open): Use grub_afs_read_symlink.
23645 (grub_afs_dir): Likewise.
23646 Pass mtime.
23647 (grub_afs_label): New function.
23648 (grub_afs_fs): Add grub_afs_label.
23649 (grub_afs_read_symlink): New function.
23650
186f3189 236512009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23652
23653 Fix AtheFS support.
23654
23655 * fs/afs.c: Fix comments style.
23656 (grub_afs_blockrun): Declare as packed.
23657 (grub_afs_datastream): Likewise.
23658 (grub_afs_bnode): Likewise.
23659 (grub_afs_btree): Likewise.
23660 (grub_afs_sblock): Likewise.
23661 Declare `name' as char.
23662 (grub_afs_inode): Declare as packed.
23663 Change void *vnode to grub_uint32_t unused.
23664 (grub_afs_iterate_dir): Check that key_size is positive.
23665 (grub_afs_mount): Don't read superblock twice.
75421ca9 23666 (grub_afs_dir): Don't free node in case of error,
186f3189 23667 grub_fshelp_find_file already handles this.
23668 (grub_afs_open): Likewise.
23669
5680109e 236702009-07-19 Pavel Roskin <proski@gnu.org>
23671
23672 * Makefile.in: Remove LIBLZO and enable_lzo.
23673 * conf/i386-pc.rmk: Remove lzo support.
23674 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23675 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23676 support.
23677 * kern/i386/pc/lzo1x.S: Remove.
23678 * kern/i386/pc/startup.S: Remove lzo support.
23679 * util/i386/pc/grub-mkimage.c: Likewise.
23680
ac70fa32 236812009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23682
23683 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23684 * fs/xfs.c (grub_xfs_dir): Likewise.
23685 * fs/afs.c (grub_afs_dir): Likewise.
23686 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23687 (grub_iso9660_open): Likewise.
23688 * fs/jfs.c (grub_jfs_open): Likewise.
23689 * fs/ext2.c (grub_ext2_dir): Likewise.
23690 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23691 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 23692
eab58da2 236932009-07-16 Pavel Roskin <proski@gnu.org>
23694
d2838156 23695 * configure.ac: Never add "-c" to CFLAGS.
23696
55c70904 23697 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23698
43e6200c 23699 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23700 grub_cv_cc_efiemu should be used.
23701
ce7a733d 23702 * configure.ac: Typo fixes.
23703
eab58da2 23704 * kern/mm.c (grub_zalloc): New function.
23705 (grub_debug_zalloc): Likewise.
23706 * include/grub/mm.h: Declare grub_zalloc() and
23707 grub_debug_zalloc().
23708 * util/misc.c (grub_zalloc): New function.
23709 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
23710 instead of grub_malloc(), remove unneeded initializations.
23711 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
23712 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
23713 * commands/parttool.c (grub_cmd_parttool): Likewise.
23714 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23715 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
23716 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
23717 * disk/usbms.c (grub_usbms_finddevs): Likewise.
23718 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
23719 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
23720 (grub_cmd_efiemu_pnvram): Likewise.
23721 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
23722 * fs/iso9660.c (grub_iso9660_mount): Likewise.
23723 (grub_iso9660_iterate_dir): Likewise.
23724 * fs/jfs.c (grub_jfs_opendir): Likewise.
23725 * fs/ntfs.c (list_file): Likewise.
23726 (grub_ntfs_mount): Likewise.
23727 * kern/disk.c (grub_disk_open): Likewise.
23728 * kern/dl.c (grub_dl_load_core): Likewise.
23729 * kern/elf.c (grub_elf_file): Likewise.
23730 * kern/env.c (grub_env_context_open): Likewise.
23731 (grub_env_set): Likewise.
23732 (grub_env_set_data_slot): Likewise.
23733 * kern/file.c (grub_file_open): Likewise.
23734 * kern/fs.c (grub_fs_blocklist_open): Likewise.
23735 * loader/i386/multiboot.c (grub_module): Likewise.
23736 * loader/xnu.c (grub_xnu_create_key): Likewise.
23737 (grub_xnu_create_value): Likewise.
23738 * normal/main.c (grub_normal_add_menu_entry): Likewise.
23739 (read_config_file): Likewise.
23740 * normal/menu_entry.c (make_screen): Likewise.
23741 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23742 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
23743 * script/sh/script.c (grub_script_parse): Likewise.
23744 * video/bitmap.c (grub_video_bitmap_create): Likewise.
23745 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
23746 * video/readers/png.c (grub_png_output_byte): Likewise.
23747 (grub_video_reader_png): Likewise.
23748
830afef7 237492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 23750
23751 Enable all targets that can be built by default
23752
830afef7 23753 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 23754 grub-mkfont and grub-fstest if they can be built
23755
ee293aee 237562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 Fix hang and segmentation fault in grub-emu-usb
23759
23760 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
23761 * util/usb.c (grub_libusb_devices): likewise
23762 (grub_libusb_init): rename to ...
23763 (GRUB_MOD_INIT (libusb)):...this
23764 (grub_libusb_fini): rename to ..
23765 (GRUB_MOD_FINI (libusb)):...this
23766 * disk/usbms.c (grub_usbms_transfer): fix retry logic
23767 * include/grub/disk.h (grub_raid_init): removed, it's useless
23768 (grub_raid_fini): likewise
23769 (grub_lvm_init): likewise
23770 (grub_lvm_fini): likewise
23771 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
23772 by grub_init_all
23773
94414221 237742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 Fix libusb
23777
23778 * Makefile.in (LIBUSB): new macro
23779 * genmk.rb (Utility/print_tail): new method
23780 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
23781 (top level): call util.print_tail at the end.
23782
59ade63d 237832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 Make FreeBSD accept zpool.cache
23786
23787 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
23788 type is /boot/zfs/zpool.cache
23789
a58da8c7 237902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23791
23792 Fix 64-bit efiemu
23793
23794 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
23795 correct wrong typedef
23796 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
23797
20591577 237982009-07-15 Pavel Roskin <proski@gnu.org>
23799
560ca572 23800 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
23801 * kern/disk.c (struct grub_disk_cache): Likewise.
23802
e8e8e4fd 23803 * commands/probe.c (options): Typo fix.
23804
fde24e10 23805 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
23806 Increase to 0x5a to accommodate FAT32. Adjust other offsets
23807 accordingly.
23808 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
23809
379c54c1 23810 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
23811 the end of "Error" to make the message more readable.
23812
7bd8f5bf 23813 * boot/i386/pc/boot.S (kernel_segment): Remove.
23814 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
23815 for destination.
23816
40b132c5 23817 * boot/i386/pc/boot.S (boot_version): Remove.
23818 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
23819 Remove.
23820
20591577 23821 * include/grub/i386/pc/boot.h: Sort all offsets.
23822 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
23823 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
23824 * boot/i386/pc/boot.S: Assert location of every offset listed in
23825 include/grub/i386/pc/boot.h.
23826
2df32b2c 238272009-07-13 Pavel Roskin <proski@gnu.org>
23828
44b5d879 23829 * include/grub/i386/coreboot/machine.h: Rename
23830 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
23831 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
23832 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
23833
17dc3751 23834 * kern/dl.c: Force native word size to suppress warnings when
23835 compiling grub-emu.
23836
2df32b2c 23837 * kern/device.c (grub_device_iterate): Change struct part_ent to
23838 hold the name, not a pointer to it. Use one grub_malloc() per
23839 partition, not two. Free partition_name if grub_malloc() fails.
23840 Set ents to NULL only before grub_partition_iterate() is called.
23841
75c59f59 238422009-07-11 Bean <bean123ch@gmail.com>
23843
23844 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
23845 childname.
23846
0ae1bf88 238472009-07-10 Bean <bean123ch@gmail.com>
238482009-07-10 Robert Millan <rmh.grub@aybabtu.com>
23849
23850 * kern/ieee1275/openfw.c (grub_children_iterate)
23851 (grub_devalias_iterate): Fix size evaluation for property or path
23852 strings, which was broken since r2132.
23853
8279cade 238542009-07-07 Pavel Roskin <proski@gnu.org>
23855
7d8a52d3 23856 * commands/search.c (search_file): Merge into ...
23857 (search_fs): ... this. Accept search type as argument.
23858 (grub_cmd_search): Pass search type to search_fs().
23859
25f9a05a 23860 * include/grub/util/console.h: New file.
23861 * util/console.c: Use it instead of grub/machine/console.h.
23862 * util/grub-emu.c: Likewise.
23863
8279cade 23864 * lib/arg.c (find_long_option): Remove.
23865 (find_long): Add `len' argument, make `s' const char *.
23866 (grub_arg_parse): Parse long options in place, not in a
23867 temporary buffer.
23868
4a11b60f 238692009-07-06 Pavel Roskin <proski@gnu.org>
23870
99f68041 23871 * commands/search.c (search_fs): Fix potential NULL pointer
23872 dereference.
23873
4a11b60f 23874 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23875 function pointer.
23876
e110f4de 238772009-07-06 Daniel Mierswa <impulze@impulze.org>
23878
23879 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23880 comparison.
23881
46eeb6a2 238822009-07-05 Pavel Roskin <proski@gnu.org>
23883
bab74958 23884 * include/grub/i386/linux.h (struct linux_kernel_params):
23885 Restore padding3, it's still needed.
23886
46eeb6a2 23887 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23888 FreeBSD.
23889 * util/osdetect.lua: Likewise.
23890
b4a1dc79 238912009-07-05 Bean <bean123ch@gmail.com>
23892
23893 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23894
23895 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23896 (grub_lua_getenv): Likewise.
23897 (grub_lua_setenv): Likewise.
23898 (save_errno): New function.
23899 (push_result): Likewise.
23900 (grub_lua_enum_device): Likewise.
23901 (grub_lua_enum_file): Likewise.
23902 (grub_lua_file_open): Likewise.
23903 (grub_lua_file_close): Likewise.
23904 (grub_lua_file_seek): Likewise.
23905 (grub_lua_file_read): Likewise.
23906 (grub_lua_file_getline): Likewise.
23907 (grub_lua_file_getsize): Likewise.
23908 (grub_lua_file_getpos): Likewise.
23909 (grub_lua_file_eof): Likewise.
23910 (grub_lua_file_exist): Likewise.
23911 (grub_lua_add_menu): Likewise.
23912
23913 * script/lua/grub_lua.h (isupper): New inline function.
23914 (islower): Likewise.
23915 (ispunct): Likewise.
23916 (isxdigit): Likewise.
23917 (strcspn): Change to normal function.
23918 (strpbkr): New function declaration.
23919 (memchr): Likewise.
23920
23921 * script/lua/grub_main.c (scan_str): New function.
23922 (strcspn): Likewise.
23923 (strpbrk): Likewise.
23924 (memchr): Likewise.
23925
23926 * script/lua/linit.c (lualibs): Enable the string library.
23927
23928 * util/osdetect.lua: New file.
23929
2da92295 239302009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23931
23932 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23933 `capabilities' member.
23934
b2582ec9 239352009-07-02 Pavel Roskin <proski@gnu.org>
23936
23937 * genparttoollist.sh: Add missing newline at the end.
23938
32622956 239392009-07-01 Pavel Roskin <proski@gnu.org>
23940
87a7339e 23941 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23942
d23af54e 23943 * util/hostdisk.c (open_device): Remove `const' from
23944 `sysctl_size', as sysctlbyname() can change it (in this case it
23945 doesn't actually happen).
23946
c94b18a9 23947 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23948 using signed long int constants.
23949
c6cd3ef0 23950 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23951 constant to avoid a warning on FreeBSD.
23952
0df63420 23953 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23954 where it's needed.
23955
999577f1 23956 * Makefile.in: Install include/grub/machine symlink.
23957
6f41557f 23958 * Makefile.in: When installing symlinks, use "cp -fR", which
23959 works on FreeBSD and MacOSX.
23960 From Yves Blusseau <cl7m42e02@sneakemail.com>
23961
c8d22988 23962 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23963 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23964
1b96e952 23965 * util/misc.c: Move grub_reboot() and grub_halt() ...
23966 * util/grub-emu.c: ... here. Make main_env static.
23967 * include/grub/util/misc.h: Remove main_env.
23968
2ef0084d 23969 * kern/mm.c: Use correct format to print size_t.
23970
32622956 23971 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23972 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23973 * kern/powerpc/dl.c: Likewise.
23974 * kern/sparc64/dl.c: Likewise.
23975 * kern/x86_64/dl.c: Likewise.
23976
3f7f0cd0 239772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 Fix grub-emu build on sparc64-ieee1275.
23980
75421ca9 23981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 23982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23983
211d06b5 239842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23987 (grub_reboot, grub_halt): New functions.
23988
23989 * util/i386/pc/misc.c: Delete. Update all users.
23990 * util/sparc64/ieee1275/misc.c: Likewise.
23991 * util/powerpc/ieee1275/misc.c: Likewise.
23992
aaf53e3c 239932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23994
23995 * conf/i386.rmk (setjmp_mod_SOURCES)
23996 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
23997 * conf/common.rmk (setjmp_mod_SOURCES)
23998 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
23999 to use $(target_cpu).
24000 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24001 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24002 * conf/powerpc-ieee1275.rmk: Likewise.
24003 * conf/sparc64-ieee1275.rmk: Likewise.
24004
24005 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24006 $(target_cpu) for kern/$(target_cpu)/dl.c.
24007 * conf/i386-efi.rmk: Likewise.
24008 * conf/i386-ieee1275.rmk: Likewise.
24009 * conf/x86_64-efi.rmk: Likewise.
24010 * conf/i386-coreboot.rmk: Likewise.
24011 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24012 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24013 kern/$(target_cpu)/cache.S.
24014 * conf/sparc64-ieee1275.rmk: Likewise.
24015
a337130b 240162009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24017
24018 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24019 type to `grub_uint8_t', and adjust `padding9' accordingly.
24020
c6fe4d53 240212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24022
b09db61d 24023 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24024
c6fe4d53 24025 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24026 assembly in final jump, using register constraints.
24027
b09db61d 24028 (grub_linux_boot): For text mode, initialize `have_vga' using
24029 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24030
24031 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24032 right before the final jump.
24033
24034 Set `video_mode' to 0x3.
24035
24036 Document initialization of `video_page', `video_mode' and
24037 `video_ega_bx'.
24038
28333ad0 240392009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24040
24041 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24042 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24043 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24044
02164e1b 240452009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24046
24047 Fix build on Debian / sparc.
24048
24049 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24050
18b6c557 240512009-06-28 Pavel Roskin <proski@gnu.org>
24052
85f2aab6 24053 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24054 fix a warning.
24055
18b6c557 24056 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24057
ad760f81 240582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24061 `err'.
24062
87a4623b 240632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24064
24065 Revert r2338.
24066
24067 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24068 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24069 grub_errno / grub_errmsg appropriately.
87a4623b 24070 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24071
8231fb77 240722009-06-27 Pavel Roskin <proski@gnu.org>
240732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24074
24075 * include/grub/dl.h: Include grub/elf.h.
24076 (struct grub_dl): Add symtab field.
24077 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24078 GRUB_MODULES_MACHINE_READONLY.
24079 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24080 of the header for read-only modules.
24081 (grub_dl_unload): Free mod->symtab for read-only modules.
24082 * kern/i386/dl.c: Use mod->symtab.
24083 * kern/powerpc/dl.c: Likewise.
24084 * kern/sparc64/dl.c: Likewise.
24085 * kern/x86_64/dl.c: Likewise.
24086
24087 * conf/i386-qemu.rmk: New file.
24088 * kern/i386/qemu/startup.S: Likewise.
24089 * kern/i386/qemu/mmap.c: Likewise.
24090 * boot/i386/qemu/boot.S: Likewise.
24091 * include/grub/i386/qemu/time.h: Likewise.
24092 * include/grub/i386/qemu/serial.h: Likewise.
24093 * include/grub/i386/qemu/kernel.h: Likewise.
24094 * include/grub/i386/qemu/console.h: Likewise.
24095 * include/grub/i386/qemu/boot.h: Likewise.
24096 * include/grub/i386/qemu/init.h: Likewise.
24097 * include/grub/i386/qemu/machine.h: Likewise.
24098 * include/grub/i386/qemu/loader.h: Likewise.
24099 * include/grub/i386/qemu/memory.h: Likewise.
24100
24101 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24102 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24103 [qemu] (pkglib_IMAGES): Add `boot.img'.
24104 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24105 [qemu] (boot_img_FORMAT): New variables.
24106 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24107 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24108 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24109 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24110 [qemu] (kernel_img_FORMAT): New variables.
24111
24112 * configure.ac: Recognise `i386-qemu'.
24113
24114 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24115 (for no compression).
24116 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24117 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24118 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24119 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24120 ifdefs).
24121
97fe384e 241222009-06-27 Pavel Roskin <proski@gnu.org>
24123
24124 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24125 read.
24126 * efiemu/prepare32.c: Likewise.
24127 * efiemu/prepare64.c: Likewise.
24128
c402ab17 241292009-06-26 Pavel Roskin <proski@gnu.org>
24130
24131 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24132 * include/grub/elf.h: Define symbols without "32" or "64" based
24133 on GRUB_TARGET_WORDSIZE.
24134 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24135 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24136 ELF definitions.
24137 * efiemu/loadcore64.c: Likewise.
24138 * loader/i386/bsd32.c: Likewise.
24139 * loader/i386/bsd64.c: Likewise.
24140 * kern/dl.c: Remove own ELF definitions.
24141 * util/i386/efi/grub-mkimage.c: Likewise.
24142
9bbdfd4d 241432009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24144
24145 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24146 segment 0x0 unconditionally, because the reference generated by
24147 GAS is an absolute address.
24148
a42ce6e9 241492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24150
24151 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24152 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24153
c952cf92 241542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24155
24156 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24157 indexes. Check for -f explicitly.
cc3752ad 24158 (search_file): Improve error message.
24159 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24160
132a0a59 241612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24164 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24165
387a140c 241662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24167
24168 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24169 * conf/i386-ieee1275.rmk: Likewise.
24170 * conf/i386-coreboot.rmk: Likewise.
24171
24172 * kern/i386/pc/startup.S (grub_stop): Remove function.
24173 * kern/i386/ieee1275/startup.S: Likewise.
24174 * kern/i386/coreboot/startup.S: Likewise.
24175 * kern/i386/misc.S (grub_stop): New function.
24176
41da9665 241772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24178
24179 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24180 * kern/i386/realmode.S (real_to_prot): ... to here.
24181
bf337234 241822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24183
24184 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24185 with `kernel.img'.
24186 (kernel_elf_SOURCES): Rename to ...
24187 (kernel_img_SOURCES): ... this.
24188 (kernel_elf_HEADERS): Rename to ...
24189 (kernel_img_HEADERS): ... this. Update all users.
24190 (kernel_elf_ASFLAGS): Rename to ...
24191 (kernel_img_ASFLAGS): ... this.
24192 (kernel_elf_CFLAGS): Rename to ...
24193 (kernel_img_CFLAGS): ... this.
24194 (kernel_elf_LDFLAGS): Rename to ...
24195 (kernel_img_LDFLAGS): ... this.
24196 * conf/i386-coreboot.rmk: Likewise.
24197 * conf/powerpc-ieee1275.rmk: Likewise.
24198
24199 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24200 with "kernel.img".
24201
f52196ff 242022009-06-21 Pavel Roskin <proski@gnu.org>
24203
c3cee413 24204 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24205 to match nested functions.
24206 * loader/sparc64/ieee1275/linux.c: Likewise.
24207
f52196ff 24208 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24209
58750afc 242102009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24211
24212 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24213 all i386 platforms.
24214
15355c7d 242152009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24216
24217 Fix asm file handling on ELF, and remove workarounds.
24218
24219 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24220 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24221 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24222 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24223
3f3ec72b 242242009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 Load BSD ELF modules
24227
24228 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24229 and loader/i386/bsd64.c
24230 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24231 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24232 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24233 (grub_freebsd_load_elfmodule32): New declaration
24234 (grub_freebsd_load_elfmoduleobj64): Likewise
24235 (grub_freebsd_load_elf_meta32): Likewise
24236 (grub_freebsd_load_elf_meta64): Likewise
24237 (grub_freebsd_add_meta): Likewise
24238 (grub_freebsd_add_meta_module): Likewise
24239 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24240 (grub_freebsd_add_meta_module): Likewise and move module-specific
24241 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24242 (grub_cmd_freebsd): Add elf-kernel specific parts
24243 based on grub_freebsd_add_meta_module
24244 (grub_cmd_freebsd_module): Add type parsing moved from
24245 grub_freebsd_add_meta_module
24246 (grub_cmd_freebsd_module_elf): New function
24247 (cmd_freebsd_module_elf): New variable
24248 (GRUB_MOD_INIT): Register freebsd_module_elf
24249 * loader/i386/bsd32.c: New file
24250 * loader/i386/bsd64.c: Likewise
24251 * loader/i386/bsdXX.c: Likewise
24252 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24253 (grub_elf64_load): Likewise
24254 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24255 All users updated
24256 (grub_elf64_load_hook_t): Likewise
24257
0db15301 242582009-06-21 Colin Watson <cjwatson@ubuntu.com>
24259
24260 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24261 variable.
24262 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24263 don't write a menu entry for recovery mode.
24264
546796c1 242652009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24266
24267 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24268 after it's no longer needed.
24269
cd7310d5 242702009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24271
24272 * include/grub/i386/loader.h (grub_linux_prot_size)
24273 (grub_linux_tmp_addr, grub_linux_real_addr)
24274 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24275 GRUB_MACHINE_PCBIOS.
24276 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24277 common grub_util_info() call to ...
24278 (generate_image): ... here.
24279 Fix use of uninitialized memory, comparison of signed with
24280 unsigned integers and memory leak.
24281 Remove bogus module address message.
24282
ab32d3b5 242832009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24284
24285 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24286 grub_raid_register
24287 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24288
024ef597 242892009-06-19 Pavel Roskin <proski@gnu.org>
24290
24291 * configure.ac: Remove stray AC_MSG_CHECKING.
24292
3ac72b51 242932009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24294
24295 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24296
e14cd814 242972009-06-18 Pavel Roskin <proski@gnu.org>
24298
24299 * conf/common.rmk: Add fs_file.mod.
24300 * disk/fs_file.c: New file.
24301 * include/grub/disk.h (enum grub_disk_dev_id): Add
24302 GRUB_DISK_DEVICE_FILE_ID.
24303
26586d98 243042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24305
24306 Fix build with Apple's toolchain. Part 2
24307
24308 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24309 a fake start
24310
26de2bcd 243112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 Fix build with Apple's toolchain. Part 1
24314
24315 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24316 for long calls
24317 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24318 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24319 Apple's toolchain
24320
09b3490b 243212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 Fix warnings
24324
24325 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24326 (decomp_block): initialize ch
24327 use grub_memcpy instead of memcpy
24328
c22a006a 243292009-06-17 Pavel Roskin <proski@gnu.org>
24330
d3638678 24331 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24332 version, use declarations needed to use vga_text as the startup
24333 console.
24334
c22a006a 24335 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24336 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24337 the kernel.
24338 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24339 and grub_at_keyboard_fini(), it's done on module load and
24340 unload.
24341
05b129e0 243422009-06-17 Felix Zielcke <fzielcke@z-51.de>
24343
24344 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24345 file can't be found.
24346 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24347
cf24ed9e 243482009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 Fix newline handling
24351
24352 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24353 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24354 (grub_script_yylex): don't segfault on unterminated script
24355 newline terminates command and variable
24356
74aa8e4b 243572009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 avoid double grub_adjust_range call. Bug reported by David Simner
24360
24361 * kern/disk.c (grub_disk_write): change to raw disk access before
24362 calling disk_read
24363
1bd265f3 243642009-06-17 Colin Watson <cjwatson@ubuntu.com>
24365
24366 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24367 spaces, for the benefit of help2man.
24368 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24369
a2d08c06 243702009-06-16 Pavel Roskin <proski@gnu.org>
24371
24372 * kern/i386/halt.c: Include grub/machine/init.h.
24373 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24374
b97bcb19 243752009-06-16 Felix Zielcke <fzielcke@z-51.de>
24376
24377 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24378 drivemap menuentry.
24379
0644f96c 243802009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24381
24382 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24383 `echo' command.
24384
3ef17a2e 243852009-06-16 Pavel Roskin <proski@gnu.org>
24386
24387 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24388 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24389 save %dx, we only need %dl and we never change it.
24390 * boot/i386/pc/cdboot.S: Don't set the root drive.
24391 * boot/i386/pc/pxeboot.S: Likewise.
24392 * include/grub/i386/pc/boot.h: Remove
24393 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24394 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24395 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24396 * kern/i386/pc/init.c (make_install_device): Remove references
24397 to grub_root_drive.
24398 * kern/i386/pc/startup.S: Likewise.
24399 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24400
693fe637 244012009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24402
24403 xnu_uuid command
24404
24405 * commands/xnu_uuid.c: new file
24406 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24407 (xnu_uuid_mod_SOURCES): new variable
24408 (xnu_uuid_mod_CFLAGS): likewise
24409 (xnu_uuid_mod_LDFLAGS): likewise
24410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24411 * conf/i386-ieee1275.rmk: likewise
24412 * conf/i386-pc.rmk: likewise
24413 * conf/powerpc-ieee1275.rmk: likewise
24414 * conf/sparc64-ieee1275.rmk: likewise
24415 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24416
c9da87d0 244172009-06-16 Pavel Roskin <proski@gnu.org>
24418
24419 * configure.ac: Avoid '==' in test command, it's not portable.
24420
9c6f4596 244212009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24422
24423 Probe command
24424
24425 * commands/probe.c: new file
24426 * conf/common.rmk (pkglib_MODULES): add probe.mod
24427 (probe_mod_SOURCES): new variable
24428 (probe_mod_CFLAGS): likewise
24429 (probe_mod_LDFLAGS): likewise
24430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24431 * conf/i386-ieee1275.rmk: likewise
24432 * conf/i386-pc.rmk: likewise
24433 * conf/powerpc-ieee1275.rmk: likewise
24434 * conf/sparc64-ieee1275.rmk: likewise
24435
70b7f9fd 244362009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 Fix handling of string like \"hello\" and "a
24439 b"
24440
24441 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24442 (grub_script_yylex): fix parsing of quoting, escaping and newline
24443
71c79a6b 244442009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24445
dd74360c 24446 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 24447 handling
dd74360c 24448
0644f96c 244492009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 24450
24451 * util/grub-mkconfig.in: Fix parsing of --output option.
24452
e40893c3 244532009-06-12 Pavel Roskin <proski@gnu.org>
24454
24455 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24456 genmk.rb don't need to be generated or installed.
24457
3a1acfe2 244582009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * commands/i386/pc/drivemap_int13h.S: add more comments
24461
3a4575d4 244622009-06-11 Pavel Roskin <proski@gnu.org>
24463
0658e928 24464 * Makefile.in (uninstall): Uninstall manuals.
24465
ca0388f0 24466 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24467 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24468 and update-grub_lib in two places.
24469 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24470
e3b27c39 24471 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24472 a compiler warning.
24473
3a4575d4 24474 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24475 `entry_lo' to fix variable shadowing.
24476
af1f4f55 244772009-06-11 Christian Franke <franke@computer.org>
24478
24479 * kern/misc.c (__enable_execute_stack): Add missing return type
24480 to prevent gcc warning.
24481
5225e649 244822009-06-11 Felix Zielcke <fzielcke@z-51.de>
24483
24484 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24485
7d83bd47 244862009-06-11 Pavel Roskin <proski@gnu.org>
24487
c1cb63ba 24488 * Makefile.in: Don't rely on any scripts being executable.
24489 Always use $(SHELL) to run shell scripts.
24490
7d83bd47 24491 * configure.ac: Always define ___main if using -nostdlib. This
24492 fixes tests on Cygwin.
24493
948f48e7 244942009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24495
24496 UDF fix
24497
7d83bd47 24498 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 24499 is in bytes and not in blocks
7d83bd47 24500
8ada9bc1 245012009-06-11 Pavel Roskin <proski@gnu.org>
24502
24503 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24504 warning.
24505
25ad2323 245062009-06-11 Felix Zielcke <fzielcke@z-51.de>
24507
24508 * util/grub.d/30_os-prober.in: Fix a comment. Source
24509 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24510 to set the root device. Place drivemap command in the generated
24511 chain entry.
24512
e65acb0c 245132009-06-11 Pavel Roskin <proski@gnu.org>
24514
24515 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24516 have long been resolved.
24517
f285fe2d 245182009-06-11 Colin Watson <cjwatson@ubuntu.com>
24519
bd47b0b5 24520 * util/grub.d/10_linux.in: Capitalise "Linux".
24521
f285fe2d 24522 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24523
a0c62e4e 245242009-06-11 Pavel Roskin <proski@gnu.org>
24525
b6783cb2 24526 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24527 fix a gcc warning and ensure that the function won't ever exit.
24528
dde032e8 24529 * kern/i386/ieee1275/init.c: Add missing prototype for
24530 grub_stop_floppy().
24531
22cd079d 24532 * loader/ieee1275/multiboot2.c [__i386__]: Include
24533 grub/cpu/multiboot.h.
24534
a0c62e4e 24535 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24536 casts to short - they are not portable and cause warnings. Fix
24537 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24538
63963d17 245392009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Drivemap fixes
24542
24543 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24544 new function
24545 (grub_get_root_biosnumber_saved): new variable
24546 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24547 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 24548 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 24549 %dx after the call if necessary
24550 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24551 (boot_mod_SOURCES): remove
24552 (boot_mod_CFLAGS): remove
24553 (boot_mod_LDFLAGS): remove
24554 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24555 (boot_mod_SOURCES): new variable
24556 (boot_mod_CFLAGS): likewise
24557 (boot_mod_LDFLAGS): likewise
24558 * conf/i386-efi.rmk: likewise
24559 * conf/i386-ieee1275.rmk: likewise
24560 * conf/i386-pc.rmk: likewise
24561 * conf/powerpc-ieee1275.rmk: likewise
24562 * conf/sparc64-ieee1275.rmk: likewise
24563 * conf/x86_64-efi.rmk: likewise
24564 * include/grub/i386/pc/biosnum.h: new file
24565 * lib/i386/pc/biosnum.c: likewise
24566 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24567 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24568 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 24569
33abf7ae 245702009-06-10 Pavel Roskin <proski@gnu.org>
24571
5ac35b35 24572 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24573 Use separate variables. Read only the file size at the end, but
24574 not the checksum that we don't use.
24575
5c5215d5 24576 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24577 Adjust all callers.
24578
27d5fef7 24579 * kern/ieee1275/openfw.c: Remove libc includes.
24580 * kern/ieee1275/cmain.c: Likewise.
24581 * include/grub/ieee1275/ieee1275.h: Likewise.
24582
33abf7ae 24583 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24584 compiler warnings.
24585
19d50c2b 245862009-06-10 Felix Zielcke <fzielcke@z-51.de>
24587
24588 * Makefile.in: Remove all trailing whitespace.
24589 * conf/i386-pc.rmk: Likewise.
24590 * conf/powerpc-ieee1275.rmk: Likewise.
24591 * conf/sparc64-ieee1275.rmk: Likewise.
24592 * docs/grub.texi: Likewise.
24593 * docs/texinfo.tex: Likewise.
24594 * disk/fs_uuid.c: Likewise.
24595 * disk/lvm.c: Likewise.
24596 * disk/scsi.c: Likewise.
24597 * disk/ata.c: Likewise.
24598 * disk/ieee1275/ofdisk.c: Likewise.
24599 * disk/i386/pc/biosdisk.c: Likewise.
24600 * disk/host.c: Likewise.
24601 * disk/raid.c: Likewise.
24602 * disk/efi/efidisk.c: Likewise.
24603 * disk/usbms.c: Likewise.
24604 * disk/memdisk.c: Likewise.
24605 * disk/loopback.c: Likewise.
24606 * kern/powerpc/dl.c: Likewise.
24607 * kern/device.c: Likewise.
24608 * kern/dl.c: Likewise.
24609 * kern/sparc64/dl.c: Likewise.
24610 * kern/ieee1275/ieee1275.c: Likewise.
24611 * kern/term.c: Likewise.
24612 * kern/fs.c: Likewise.
24613 * kern/i386/dl.c: Likewise.
24614 * kern/i386/pc/startup.S: Likewise.
24615 * kern/i386/pc/init.c: Likewise.
24616 * kern/i386/pc/mmap.c: Likewise.
24617 * kern/i386/pc/lzo1x.S: Likewise.
24618 * kern/i386/ieee1275/init.c: Likewise.
24619 * kern/i386/realmode.S: Likewise.
24620 * kern/i386/tsc.c: Likewise.
24621 * kern/partition.c: Likewise.
24622 * kern/corecmd.c: Likewise.
24623 * kern/file.c: Likewise.
24624 * kern/efi/efi.c: Likewise.
24625 * kern/efi/init.c: Likewise.
24626 * kern/efi/mm.c: Likewise.
24627 * kern/main.c: Likewise.
24628 * kern/err.c: Likewise.
24629 * kern/env.c: Likewise.
24630 * kern/disk.c: Likewise.
24631 * kern/generic/millisleep.c: Likewise.
24632 * kern/generic/rtc_get_time_ms.c: Likewise.
24633 * kern/misc.c: Likewise.
24634 * kern/parser.c: Likewise.
24635 * genmk.rb: Likewise.
24636 * configure.ac: Likewise.
24637 * boot/i386/pc/diskboot.S: Likewise.
24638 * boot/i386/pc/pxeboot.S: Likewise.
24639 * boot/i386/pc/boot.S: Likewise.
24640 * boot/i386/pc/lnxboot.S: Likewise.
24641 * boot/i386/pc/cdboot.S: Likewise.
24642 * parttool/pcpart.c: Likewise.
24643 * video/readers/tga.c: Likewise.
24644 * video/video.c: Likewise.
24645 * video/bitmap.c: Likewise.
24646 * lib/envblk.c: Likewise.
24647 * lib/i386/setjmp.S: Likewise.
24648 * fs/xfs.c: Likewise.
24649 * fs/afs.c: Likewise.
24650 * fs/fat.c: Likewise.
24651 * fs/ntfs.c: Likewise.
24652 * fs/udf.c: Likewise.
24653 * fs/affs.c: Likewise.
24654 * fs/iso9660.c: Likewise.
24655 * fs/hfs.c: Likewise.
24656 * fs/fshelp.c: Likewise.
24657 * fs/ext2.c: Likewise.
24658 * fs/jfs.c: Likewise.
24659 * fs/reiserfs.c: Likewise.
24660 * fs/hfsplus.c: Likewise.
24661 * fs/minix.c: Likewise.
24662 * fs/cpio.c: Likewise.
24663 * fs/sfs.c: Likewise.
24664 * fs/ufs.c: Likewise.
24665 * efiemu/prepare.c: Likewise.
24666 * efiemu/loadcore_common.c: Likewise.
24667 * efiemu/runtime/efiemu.sh: Likewise.
24668 * efiemu/runtime/efiemu.S: Likewise.
24669 * efiemu/runtime/efiemu.c: Likewise.
24670 * efiemu/pnvram.c: Likewise.
24671 * efiemu/main.c: Likewise.
24672 * efiemu/i386/pc/cfgtables.c: Likewise.
24673 * efiemu/i386/loadcore64.c: Likewise.
24674 * efiemu/i386/loadcore32.c: Likewise.
24675 * efiemu/loadcore.c: Likewise.
24676 * efiemu/symbols.c: Likewise.
24677 * efiemu/mm.c: Likewise.
24678 * include/grub/autoefi.h: Likewise.
24679 * include/grub/datetime.h: Likewise.
24680 * include/grub/term.h: Likewise.
24681 * include/grub/hfs.h: Likewise.
24682 * include/grub/lvm.h: Likewise.
24683 * include/grub/i386/tsc.h: Likewise.
24684 * include/grub/i386/linux.h: Likewise.
24685 * include/grub/i386/xnu.h: Likewise.
24686 * include/grub/i386/efiemu.h: Likewise.
24687 * include/grub/i386/pc/biosdisk.h: Likewise.
24688 * include/grub/i386/pc/memory.h: Likewise.
24689 * include/grub/i386/pc/vbe.h: Likewise.
24690 * include/grub/parttool.h: Likewise.
24691 * include/grub/video.h: Likewise.
24692 * include/grub/memory.h: Likewise.
24693 * include/grub/fs.h: Likewise.
24694 * include/grub/partition.h: Likewise.
24695 * include/grub/xnu.h: Likewise.
24696 * include/grub/efi/api.h: Likewise.
24697 * include/grub/efi/pe32.h: Likewise.
24698 * include/grub/efi/memory.h: Likewise.
24699 * include/grub/multiboot.h: Likewise.
24700 * include/grub/usbdesc.h: Likewise.
24701 * include/grub/multiboot2.h: Likewise.
24702 * include/grub/acpi.h: Likewise.
24703 * include/grub/efiemu/efiemu.h: Likewise.
24704 * include/grub/disk.h: Likewise.
24705 * include/grub/ieee1275/ieee1275.h: Likewise.
24706 * include/grub/net.h: Likewise.
24707 * include/grub/machoload.h: Likewise.
24708 * include/grub/macho.h: Likewise.
24709 * include/multiboot.h: Likewise.
24710 * genmoddep.awk: Likewise.
24711 * normal/main.c: Likewise.
24712 * normal/menu_entry.c: Likewise.
24713 * normal/menu_viewer.c: Likewise.
24714 * normal/completion.c: Likewise.
24715 * normal/cmdline.c: Likewise.
24716 * normal/misc.c: Likewise.
24717 * normal/datetime.c: Likewise.
24718 * bus/usb/usbtrans.c: Likewise.
24719 * bus/usb/ohci.c: Likewise.
24720 * bus/usb/uhci.c: Likewise.
24721 * bus/usb/usb.c: Likewise.
24722 * mmap/efi/mmap.c: Likewise.
24723 * mmap/i386/pc/mmap_helper.S: Likewise.
24724 * mmap/i386/pc/mmap.c: Likewise.
24725 * mmap/i386/mmap.c: Likewise.
24726 * mmap/i386/uppermem.c: Likewise.
24727 * mmap/mmap.c: Likewise.
24728 * commands/acpi.c: Likewise.
24729 * commands/echo.c: Likewise.
24730 * commands/blocklist.c: Likewise.
24731 * commands/loadenv.c: Likewise.
24732 * commands/usbtest.c: Likewise.
24733 * commands/boot.c: Likewise.
24734 * commands/parttool.c: Likewise.
24735 * commands/search.c: Likewise.
24736 * commands/cat.c: Likewise.
24737 * commands/i386/pc/play.c: Likewise.
24738 * commands/i386/pc/drivemap.c: Likewise.
24739 * commands/i386/pc/vbeinfo.c: Likewise.
24740 * commands/i386/pc/acpi.c: Likewise.
24741 * commands/i386/pc/vbetest.c: Likewise.
24742 * commands/ls.c: Likewise.
24743 * commands/cmp.c: Likewise.
24744 * commands/test.c: Likewise.
24745 * commands/efi/acpi.c: Likewise.
24746 * commands/gptsync.c: Likewise.
24747 * commands/help.c: Likewise.
24748 * partmap/amiga.c: Likewise.
24749 * partmap/apple.c: Likewise.
24750 * partmap/acorn.c: Likewise.
24751 * partmap/pc.c: Likewise.
24752 * partmap/sun.c: Likewise.
24753 * partmap/gpt.c: Likewise.
24754 * script/sh/lexer.c: Likewise.
24755 * script/sh/function.c: Likewise.
24756 * font/font.c: Likewise.
24757 * font/font_cmd.c: Likewise.
24758 * loader/powerpc/ieee1275/linux.c: Likewise.
24759 * loader/efi/chainloader.c: Likewise.
24760 * loader/multiboot_loader.c: Likewise.
24761 * loader/macho.c: Likewise.
24762 * loader/i386/multiboot.c: Likewise.
24763 * loader/i386/linux.c: Likewise.
24764 * loader/i386/pc/linux.c: Likewise.
24765 * loader/i386/pc/multiboot2.c: Likewise.
24766 * loader/i386/pc/chainloader.c: Likewise.
24767 * loader/i386/pc/xnu.c: Likewise.
24768 * loader/i386/bsd_trampoline.S: Likewise.
24769 * loader/i386/efi/linux.c: Likewise.
24770 * loader/i386/multiboot_elfxx.c: Likewise.
24771 * loader/i386/bsd_helper.S: Likewise.
24772 * loader/i386/bsd.c: Likewise.
24773 * loader/i386/linux_trampoline.S: Likewise.
24774 * loader/i386/xnu_helper.S: Likewise.
24775 * loader/i386/xnu.c: Likewise.
24776 * loader/i386/bsd_pagetable.c: Likewise.
24777 * loader/i386/multiboot_helper.S: Likewise.
24778 * loader/xnu.c: Likewise.
24779 * loader/xnu_resume.c: Likewise.
24780 * io/gzio.c: Likewise.
24781 * term/efi/console.c: Likewise.
24782 * term/terminfo.c: Likewise.
24783 * term/ieee1275/ofconsole.c: Likewise.
24784 * term/i386/pc/serial.c: Likewise.
24785 * term/i386/pc/vesafb.c: Likewise.
24786 * term/i386/pc/vga.c: Likewise.
24787 * term/usb_keyboard.c: Likewise.
24788 * term/gfxterm.c: Likewise.
24789 * aclocal.m4: Likewise.
24790 * util/lvm.c: Likewise.
24791 * util/grub.d/30_os-prober.in: Likewise.
24792 * util/grub.d/10_hurd.in: Likewise.
24793 * util/console.c: Likewise.
24794 * util/grub-macho2img.c: Likewise.
24795 * util/grub-probe.c: Likewise.
24796 * util/hostfs.c: Likewise.
24797 * util/i386/pc/grub-mkimage.c: Likewise.
24798 * util/i386/pc/grub-setup.c: Likewise.
24799 * util/i386/efi/grub-mkimage.c: Likewise.
24800 * util/grub-mkconfig.in: Likewise.
24801 * util/raid.c: Likewise.
24802 * util/resolve.c: Likewise.
24803 * util/grub-mkdevicemap.c: Likewise.
24804 * util/grub-emu.c: Likewise.
24805 * util/getroot.c: Likewise.
24806 * util/hostdisk.c: Likewise.
24807 * util/usb.c: Likewise.
24808 * util/grub-editenv.c: Likewise.
24809 * util/misc.c: Likewise.
24810
d2d49665 248112009-06-10 Felix Zielcke <fzielcke@z-51.de>
24812
24813 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
24814 `genparttoollist.sh'.
24815 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
24816 Add `*.sh' to the list find searches for and change `mdate.sh'
24817 to `mdate-sh'.
24818
fe052e37 248192009-06-10 Pavel Roskin <proski@gnu.org>
24820
2763ac18 24821 * include/grub/multiboot2.h: Provide compatibility defines for
24822 multiboot2.h.
24823 * include/multiboot2.h: Include stdint.h only if needed, using
24824 angle brackets.
24825 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
24826 grub/multiboot2.h.
24827 * loader/ieee1275/multiboot2.c: Likewise.
24828 * loader/multiboot2.c: Likewise.
24829 * loader/multiboot_loader.c: Likewise.
24830
437e6adc 24831 * configure.ac: Use -nostdlib when probing for the target. It
24832 should not be required to have libc for the target.
24833
06a6836c 24834 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
24835 they fail without libc headers for the target.
24836 * include/grub/powerpc/libgcc.h: Use weak attribute for all
24837 exports.
24838 * include/grub/sparc64/libgcc.h: Likewise. Don't use
24839 preprocessor conditionals.
24840
fe052e37 24841 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
24842 build system doesn't need to be aware of the tar.c internals.
24843
afd22553 248442009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 24845
afd22553 24846 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 24847
6b787c4f 248482009-06-09 Robert Millan <rmh.grub@aybabtu.com>
24849
24850 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
24851 disk limit to 26 for IDE, Virtio, Xen and SCSI.
24852
248532009-06-09 Felix Zielcke <fzielcke@z-51.de>
24854
24855 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 24856 aren't available if ata.mod gets used.
6b787c4f 24857
473d1e45 248582009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 24859
473d1e45 24860 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 24861 initialising controller.
473d1e45 24862 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 24863
255a27d4 248642009-06-08 Felix Zielcke <fzielcke@z-51.de>
24865
24866 * util/i386/pc/grub-install.in: Add a parameter --disk-module
24867 to choose between ata and biosdisk module on i386-pc.
24868
473d1e45 248692009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 24870
d55842d8 24871 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24872 Subclass and Programming Interface fields in terms of the 3 byte
24873 Class Code register.
24874 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24875
fa5db0b1 24876 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24877 interface is OHCI. Add grub_dprintf for symmetry with
24878 bus/usb/uhci.c.
24879 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24880 interface is UHCI. Add interf variable for programming
24881 interface. Print interface with class/subclass.
24882
c0947beb 24883 * bus/usb/ohci.c: Set interf with correct field.
24884
69da8877 24885 * bus/usb/uhci.c: Remove unneeded doubled lines.
24886 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24887 Remove whitespace inside comment.
24888
9e172e30 248892009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24890
24891 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24892 as fallback an equivalent option without depth.
24893
de65ee2b 248942009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 Not fail if unable to retrieve C/H/S on LBA disks
24897
473d1e45 24898 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 24899 if unable to retrieve C/H/S on LBA disks
24900
b57ea2c9 249012009-06-08 Pavel Roskin <proski@gnu.org>
24902
24903 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24904 about aliasing.
24905
af361263 249062009-06-08 Felix Zielcke <fzielcke@z-51.de>
24907
24908 * Makefile.in (uninstall): Remove all $lib_DATA files.
24909
4c9ec6b3 249102009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 Bugfix: install on partitionless device
24913
24914 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24915 is a whole disk
24916
e76fc924 249172009-06-08 Felix Zielcke <fzielcke@z-51.de>
24918
24919 * Makefile.in (uninstall): Remove all $include_DATA files.
24920
ba5a0d05 249212009-06-08 Felix Zielcke <fzielcke@z-51.de>
24922
24923 * commands/true.c: New file. Implement the true and false commands.
24924 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24925 (true_mod_SOURCES): New variable.
24926 (true_mod_CFLAGS): Likewise.
24927 (true_mod_LDFLAGS): Likewise.
24928
c8048e32 249292009-06-05 Colin D Bennett <colin@gibibit.com>
24930
24931 Optimized font character lookup using binary search instead of linear
24932 search. Fonts now are required to have the character index ordered by
24933 code point.
24934
24935 * font/font.c (load_font_index): Verify that fonts have ordered
24936 character indices.
24937 (find_glyph): Use binary search instead of linear search to find a
24938 character in a font.
24939
408305be 249402009-06-05 Michael Scherer <misc@mandriva.org>
24941
24942 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24943 uses case sensitive btree.
24944 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24945 only for case insensitive filesystems.
24946
8ee1e0d9 249472009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24950 * conf/common.rmk (search_mod_CFLAGS): likewise
24951
a9966eb1 249522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24953
473d1e45 24954 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 24955 compensate a compiler bug
24956
9e7100fb 249572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24958
473d1e45 24959 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 24960 instead of '\b'
473d1e45 24961
ede21d71 249622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 Definitions for creating asm symbols with Apple's CC
24965
24966 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24967 [APPLE_CC] (VARIABLE): likewise
24968
9dbf7653 249692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24970
24971 Disable lnxboot.img when compiled
24972 with Apple's CC
24973
24974 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24975 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24976 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24977 [! APPLE_CC] (CODE_LENG): skip
24978 [! APPLE_CC] (setup_sects): likewise
24979 [! APPLE_CC]: skip filling
473d1e45 24980
e93cdc3d 249812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 Address in trampolines based on 32-bit registers when compiled
24984 with Apple's CC
24985
473d1e45 24986 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 24987 for addresses
24988 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24989
6c688477 249902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 Avoid aliases when compiling with Apple's CC for PCBIOS machine
24993
24994 * kern/misc.c [APPLE_CC] (memcpy): new function
24995 [APPLE_CC] (memmove): likewise
24996 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 24997 (memcpy): define alias conditionally on !APPLE_CC
6c688477 24998 (memset): likewise
24999 (abort): likewise
25000 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25001 APPLE_CC are defined
25002 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25003 (grub_assert_fail): make prototype conditional
25004
e37ffc5c 250052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25008
473d1e45 25009 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25010 grub-macho2img
e37ffc5c 25011 (CLEANFILES): add grub-macho2img
25012 (grub_macho2img_SOURCES): new variable
25013 * kern/i386/pc/startup.S (bss_start): new variable
25014 (bss_end): likewise
25015 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25016 * util/grub-macho2img.c: new file
25017
cf00df31 250182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25019
25020 Use objconv when compiling with Apple's CC
25021
25022 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25023 (efiemu64.o): likewise
25024 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25025 when compiling with Apple's CC
25026 (efiemu64_s.o): likewise
25027 * configure.ac: check for objconv when compiling with Apple's CC
25028 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25029
d119a20c 250302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 Define segment as well as section when compiling with
25033 Apple's CC
25034
25035 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25036 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25037 (efiemu_convert_pointer): likewise
25038 (efiemu_set_virtual_address_map): likewise
25039 (efiemu_convert_pointer): likewise
25040 (efiemu_getcrc32): likewise
25041 (init_crc32_table): likewise
25042 (reflect): likewise
25043 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25044 (GRUB_MOD_DEP): likewise
473d1e45 25045
c8600122 250462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 Allow a compilation without -mcmodel=large
25049
25050 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25051 when compiled without -mcmodel=large
473d1e45 25052 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25053 without -mcmodel=large
473d1e45 25054 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25055 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25056
e8df1d4e 250572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25058
25059 Remove nested functions in efiemu core
25060
25061 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25062
cc6c3ac1 250632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25066
25067 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25068 temporary storage
473d1e45 25069 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25070 using Apple's CC
cc6c3ac1 25071 (grub_cpu_is_tsc_supported): likewise
25072 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25073
3e325901 250742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25075
25076 Absolute addressing through constant with Apple's cc
25077
25078 * kern/i386/pc/startup.S: Define necessary constants
25079 and address through it when using ABS with Apple's CC
25080 * boot/i386/pc/diskboot.S: likewise
25081 * boot/i386/pc/boot.S: likewise
25082 * boot/i386/pc/lnxboot.S: likewise
25083 * boot/i386/pc/cdboot.S: likewise
25084 * mmap/i386/pc/mmap_helper.S: likewise
25085 * commands/i386/pc/drivemap_int13h.S: likewise
25086
2b167a72 250872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 Check if compiler is apple cc
25090
25091 * Makefile.in (ASFLAGS): new variable
25092 (TARGET_ASFLAGS): likewise
25093 (TARGET_MODULE_FORMAT): likewise
25094 (TARGET_APPLE_CC): likewise
25095 (OBJCONV): likewise
25096 (TARGET_IMG_CFLAGS): likewise
25097 (TARGET_CPPFLAGS): add includedir
25098 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25099 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25100 Check for linker script only if compiler isn't Apple's CC
25101 (TARGET_MODULE_FORMAT): set
25102 (TARGET_APPLE_CC): likewise
25103 (TARGET_ASFLAGS): likewise
25104 (ASFLAGS): likewise
25105 Check for objcopy only if compiler isn't Apple's CC
25106 Check for BSS symbol only if compiler isn't Apple's CC
25107 * genmk.rb: adapt nm options if we use Apple's utils
25108 * aclocal.m4 (grub_apple_cc): new test
25109 (grub_apple_target_cc): likewise
473d1e45 25110
fb14123e 251112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25112
25113 Simplify sed expressions and improve awk
25114
25115 * Makefile.in (install-local): simplify sed expression
25116 * gencmdlist.sh: likewise
25117 * genmoddep.awk: avoid adding module as a dependency of itself
25118
5b889789 251192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 Add missing start symbols
25122
25123 * boot/i386/pc/boot.S: add start
fb14123e 25124 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25125
fd2bf2e3 251262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25127
25128 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25129
25130 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25131 (relocate_addresses): consider both r_addend and value at offset
25132 (make_mods_section): zerofill modinfo and header
25133 (convert_elf): write prefix here
473d1e45 25134
5389763d 251352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25136
25137 Use .asciz instead of .string
25138
25139 * i386/pc/diskboot.S: use .asciz instead of .string
25140 * i386/pc/boot.S: likewise
25141 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25142 (GRUB_MOD_NAME): likewise
473d1e45 25143
3eb5ed4e 251442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 gfxpayload support
25147
25148 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25149 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25150 (grub_video_setup): remove
25151 (grub_video_set_mode): new prototype
25152 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25153 (vid_mode): remove
25154 (linux_vesafb_res): compile only on PCBIOS
25155 (grub_linux_boot): support gfxpayload
25156 * loader/i386/pc/xnu.c (video_hook): new function
25157 (grub_xnu_set_video): support gfxpayload
25158 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25159 (DEFAULT_VIDEO_HEIGHT): likewise
25160 (DEFAULT_VIDEO_FLAGS): likewise
25161 (DEFAULT_VIDEO_MODE): new definition
25162 (video_hook): new function
25163 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25164 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25165 loading xnu
25166 * video/video.c (grub_video_setup): removed
473d1e45 25167 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25168 grub_video_setup
25169
4b0e1143 251702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 Avoid calling biosdisk in drivemap
25173
25174 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25175 (revparse_biosdisk): likewise
25176 (list_mappings): derive name from id directly
25177 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25178
fda6cb98 251792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 Script fixes
25182
25183 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25184 (grub_lexer_param): add tokenonhold
25185 (grub_script_create_cmdline): remove cmdline. All callers updated
25186 (grub_script_function_create): make functionname
25187 grub_script_arg. All callers updated
25188 (grub_script_execute_argument_to_string): new prototype
25189 * kern/parser.c (state_transitions): reorder
25190 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25191 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25192 make global
25193 (grub_script_execute_cmdline): use new format
25194 * script/sh/function.c (grub_script_function_create): make functionname
25195 grub_script_arg. All callers updated
473d1e45 25196 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25197 (grub_script_yylex): remove
25198 (grub_script_yylex2): renamed to ...
25199 (grub_script_yylex): ...renamed
25200 parse the expressions like a${b}c
25201 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25202 (GRUB_PARSER_TOKEN_VAR): remove
25203 (GRUB_PARSER_TOKEN_NAME): likewise
25204 ("if"): declare as typeless
25205 ("while"): likewise
25206 ("function"): likewise
25207 ("else"): likewise
25208 ("then"): likewise
25209 ("fi"): likewise
25210 (text): remove
25211 (argument): likewise
25212 (script): accept empty scripts and make exit on error
25213 (arguments): use GRUB_PARSER_TOKEN_ARG
25214 (function): likewise
25215 (command): move error handling to script
25216 (menuentry): move grub_script_lexer_ref before
473d1e45 25217 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25218 argument. All callers updated
25219
f4448a07 252202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25221
25222 Prevent GRUB from probing floppies during boot.
25223
25224 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25225 * commands/search.c (options): Add --no-floppy.
25226 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25227 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25228 --no-floppy when searching for UUIDs.
25229
2bf5885a 252302009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25231
25232 Simplify the code duplication in commands/search.c.
25233
25234 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25235 (search_fs): ... this. Update all users.
25236
f6fd460a 252372009-06-03 Felix Zielcke <fzielcke@z-51.de>
25238
25239 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25240
cbb3c83e 252412009-05-28 Pavel Roskin <proski@gnu.org>
25242
57788cfd 25243 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25244 Remove the original symlink explicitly.
25245
cbb3c83e 25246 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25247 just one slash. That's how grub_fshelp_find_file() does it.
25248
cd0d5e30 252492009-05-26 Pavel Roskin <proski@gnu.org>
25250
f0f8bbe2 25251 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25252 to `str'.
25253
cd0d5e30 25254 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25255 possibly unused.
25256
8c2cab51 252572009-05-25 Christian Franke <franke@computer.org>
25258
25259 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25260 register.
25261 (grub_atapi_identify): Add wait after drive select.
25262 (grub_ata_identify): Do more strict status register check before
25263 calling grub_atapi_identify (). Suppress error message if status
25264 register is 0x00 after command failure. Add status register
25265 check after PIO read to avoid bogus identify due to stuck DRQ.
25266 Thanks to Pavel Roskin for testing.
25267 (grub_device_initialize): Remove unsafe status register check.
25268 Thanks to 'phcoder' for problem report and patch.
25269 Prevent sign extension in debug message.
25270
230c0ad6 252712009-05-23 Colin D Bennett <colin@gibibit.com>
25272
25273 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25274 definition file, and functions defined in `normal/menu.c' have had
25275 their prototypes moved to `include/grub/menu.h' for consistency.
25276
25277 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25278 from normal.h.
25279 (grub_menu_get_entry): Likewise.
25280 (grub_menu_get_timeout): Likewise.
25281 (grub_menu_set_timeout): Likewise.
25282 (grub_menu_execute_entry): Likewise.
25283 (grub_menu_execute_with_fallback): Likewise.
25284 (grub_menu_entry_run): Likewise.
25285
25286 * include/grub/normal.h: Re-ordered and grouped function
25287 prototypes by file that the function is defined in.
25288 (grub_menu_execute_callback): Removed; moved to menu.h.
25289 (grub_menu_get_entry): Likewise.
25290 (grub_menu_get_timeout): Likewise.
25291 (grub_menu_set_timeout): Likewise.
25292 (grub_menu_execute_entry): Likewise.
25293 (grub_menu_execute_with_fallback): Likewise.
25294 (grub_menu_entry_run): Likewise.
25295 (grub_menu_addentry): Renamed from this ...
25296 (grub_normal_add_menu_entry): ... to this.
25297
25298 * normal/main.c (grub_menu_addentry): Renamed from this ...
25299 (grub_normal_add_menu_entry): ... to this.
25300
25301 * script/sh/execute.c (grub_script_execute_menuentry): Update
25302 reference to renamed grub_menu_addentry function.
25303
861f03a5 253042009-05-23 Felix Zielcke <fzielcke@z-51.de>
25305
25306 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25307
96b1619a 253082009-05-22 Pavel Roskin <proski@gnu.org>
25309
bf6a5fb2 25310 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25311 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25312 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25313 compiling for the i386 targets, but not for the utilities.
25314
96b1619a 25315 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25316 to grub_uint8_t.
25317 (grub_root_drive): Likewise.
25318 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25319 remove alignment.
25320 (grub_root_drive): Change size to byte.
25321 (grub_start_addr): Remove.
25322 (grub_end_addr): Likewise.
25323 (grub_apm_bios_info): Likewise.
25324
b729776b 253252009-05-21 Felix Zielcke <fzielcke@z-51.de>
25326
25327 * normal/i386: Remove.
25328 * normal/powerpc: Likewise.
25329 * normal/sparc64: Likewise.
25330 * normal/x86_64: Likewise.
25331
0a15ce80 253322009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25335 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25336 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25337
33db9015 253382009-05-18 Colin D Bennett <colin@gibibit.com>
25339
d6da58e6 25340 Display error messages when parsing a Lua statement fails.
25341 Previously, executing a syntactically invalid statement like
25342 ")foo" or "bar;" would silently fail.
33db9015 25343
25344 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25345 (grub_lua_parse_line): Improved reporting of Lua parser and
25346 execution errors.
33db9015 25347
46422c89 253482009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 Remove -Werror which causes build to fail on some systems
25351
25352 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25353 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25354 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25355
22f53a96 253562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 trampoline for linux on 64-bit platform
25359
18f547ad 25360 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25361 loader/i386/efi/linux_trampoline.S
25362 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25363 declaration
d6da58e6 25364 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25365 here
22f53a96 25366 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25367 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25368 trampoline
22f53a96 25369 (jumpvector): removed
25370 (grub_linux_trampoline_start): new declaration
25371 (grub_linux_trampoline_end): likewise
25372 (grub_linux_boot): use trampoline when on 64-bit platform
25373 * loader/i386/linux.c: likewise
25374
cb5a0f40 253752009-05-16 Pavel Roskin <proski@gnu.org>
25376
25377 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25378 const to avoid a warning.
25379 (grub_lua_setenv): Likewise.
25380 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25381 lmsg to fix a warning.
25382
334f2c28 253832009-05-16 Felix Zielcke <fzielcke@z-51.de>
25384
25385 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 25386 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25387 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25388 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25389 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25390 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25391 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25392 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 25393
59e5d3ec 253942009-05-16 Felix Zielcke <fzielcke@z-51.de>
25395
25396 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25397
9d87a1ba 253982009-05-16 Bean <bean123ch@gmail.com>
25399
25400 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25401 (lua_mod_SOURCES): New variable.
25402 (lua_mod_CFLAGS): Likewise.
25403 (lua_mod_LDFLAGS): Likewise.
25404
25405 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25406 (setjmp_mod_SOURCES): New variable.
25407 (setjmp_mod_CFLAGS): Likewise.
25408 (setjmp_LDFLAGS): Likewise.
25409
25410 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25411 (setjmp_mod_SOURCES): New variable.
25412 (setjmp_mod_CFLAGS): Likewise.
25413 (setjmp_LDFLAGS): Likewise.
25414
25415 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25416 (setjmp_mod_SOURCES): New variable.
25417 (setjmp_mod_CFLAGS): Likewise.
25418 (setjmp_LDFLAGS): Likewise.
25419
25420 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25421 (setjmp_mod_SOURCES): New variable.
25422 (setjmp_mod_CFLAGS): Likewise.
25423 (setjmp_LDFLAGS): Likewise.
25424
25425 * normal/i386/setjmp.S: Moved from here ...
25426 * lib/i386/setjmp.S: ... Moved here
25427 * normal/x86_64/setjmp.S: Moved from here ...
25428 * lib/x86_64/setjmp.S: ... Moved here
25429 * normal/powerpc/setjmp.S: Moved from here ...
25430 * lib/powerpc/setjmp.S: ... Moved here
25431 * normal/sparc64/setjmp.S: Moved from here ...
25432 * lib/sparc64/setjmp.S: ... Moved here
25433
25434 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25435 returns_twice in mingw.
25436
25437 * script/lua/grub_lib.c: New file.
25438 * script/lua/grub_lib.h: Likewise.
25439 * script/lua/grub_lua.h: Likewise.
25440 * script/lua/grub_main.c: Likewise.
25441 * script/lua/lapi.c: Likewise.
25442 * script/lua/lapi.h: Likewise.
25443 * script/lua/lauxlib.c: Likewise.
25444 * script/lua/lauxlib.h: Likewise.
25445 * script/lua/lbaselib.c: Likewise.
25446 * script/lua/lcode.c: Likewise.
25447 * script/lua/lcode.h: Likewise.
25448 * script/lua/ldblib.c: Likewise.
25449 * script/lua/ldebug.c: Likewise.
25450 * script/lua/ldebug.h: Likewise.
25451 * script/lua/ldo.c: Likewise.
25452 * script/lua/ldo.h: Likewise.
25453 * script/lua/ldump.c: Likewise.
25454 * script/lua/lfunc.c: Likewise.
25455 * script/lua/lfunc.h: Likewise.
25456 * script/lua/lgc.c: Likewise.
25457 * script/lua/lgc.h: Likewise.
25458 * script/lua/linit.c: Likewise.
25459 * script/lua/liolib.c: Likewise.
25460 * script/lua/llex.c: Likewise.
25461 * script/lua/llex.h: Likewise.
25462 * script/lua/llimits.h: Likewise.
25463 * script/lua/lmathlib.c: Likewise.
25464 * script/lua/lmem.c: Likewise.
25465 * script/lua/lmem.h: Likewise.
25466 * script/lua/loadlib.c: Likewise.
25467 * script/lua/lobject.c: Likewise.
25468 * script/lua/lobject.h: Likewise.
25469 * script/lua/lopcodes.c: Likewise.
25470 * script/lua/lopcodes.h: Likewise.
25471 * script/lua/loslib.c: Likewise.
25472 * script/lua/lparser.c: Likewise.
25473 * script/lua/lparser.h: Likewise.
25474 * script/lua/lstate.c: Likewise.
25475 * script/lua/lstate.h: Likewise.
25476 * script/lua/lstring.c: Likewise.
25477 * script/lua/lstring.h: Likewise.
25478 * script/lua/lstrlib.c: Likewise.
25479 * script/lua/ltable.c: Likewise.
25480 * script/lua/ltable.h: Likewise.
25481 * script/lua/ltablib.c: Likewise.
25482 * script/lua/ltm.c: Likewise.
25483 * script/lua/ltm.h: Likewise.
25484 * script/lua/lua.h: Likewise.
25485 * script/lua/luaconf.h: Likewise.
25486 * script/lua/lualib.h: Likewise.
25487 * script/lua/lundump.c: Likewise.
25488 * script/lua/lundump.h: Likewise.
25489 * script/lua/lvm.c: Likewise.
25490 * script/lua/lvm.h: Likewise.
25491 * script/lua/lzio.c: Likewise.
25492 * script/lua/lzio.h: Likewise.
25493
5e898c9d 254942009-05-16 Bean <bean123ch@gmail.com>
25495
25496 * include/grub/kernel.h (grub_module_header_types): Add type
25497 OBJ_TYPE_CONFIG.
25498
25499 * kern/main.c (grub_load_config): New function.
25500 (grub_main): Call grub_load_config to read boot config.
25501
25502 * grub-mkimage (generate_image): New parameter config_path.
25503 (options): New option --config.
25504 (main): Parse --config option, and pass it to generate_image.
25505
cf353a47 255062009-05-14 Christian Franke <franke@computer.org>
25507
25508 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25509 This fixes build on Cygwin.
25510
3834887f 255112009-05-14 Pavel Roskin <proski@gnu.org>
25512
25513 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25514 jump. This saves two bytes, so the typical case of 2 swapped
25515 drives would fit 32 bytes.
25516
8090fc01 255172009-05-13 Pavel Roskin <proski@gnu.org>
25518
ac963883 25519 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25520 grub_uint32_t to avoid a warning.
25521
8090fc01 25522 * loader/i386/linux.c (allocate_pages): When assigning
25523 real_mode_mem, cast through grub_size_t to fix a warning. The
25524 code already makes sure that the value would fit a pointer.
25525 (grub_linux_setup_video): Cast render_target->data to
25526 grub_size_t to fix a warning.
25527
18f547ad 255282009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 25529
25530 * commands/i386/pc/drivemap.c: New file - implement drivemap
25531 command.
25532 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25533 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25534
6f6a8b28 255352009-05-13 Pavel Roskin <proski@gnu.org>
25536
25537 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25538 embedding_area_exists.
25539
15fbf4c4 255402009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25541
25542 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25543 it easier to understand / work with.
59978c8a 25544 Improve warning messages for cases where there's no embedding area,
25545 or when it is too small (or core.img too large).
15fbf4c4 25546
238e871f 255472009-05-13 Pavel Roskin <proski@gnu.org>
25548
0ab3a9a4 25549 * loader/i386/pc/multiboot2.c: Add necessary includes for
25550 grub_multiboot2_real_boot().
25551
a2c8c5f8 25552 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25553 PX record is always little-endian. We only need the lower 2
25554 bytes of the mode.
25555
faec96af 25556 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25557 facilitate code reuse.
25558 (grub_cpio_mount): Use "struct head", not a char buffer. This
25559 fixes a warning reported by gcc 4.4.
25560
238e871f 25561 * kernel/disk.c (grub_disk_read): Use void pointer for the
25562 buffer.
25563 (grub_disk_write): Use const void pointer for the buffer.
25564 Adjust all callers. Remove unnecessary casts.
25565
901d2f0c 255662009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25567
25568 * util/i386/pc/grub-install.in: Update copyright year.
25569
18f547ad 255702009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 25571
25572 gptsync
25573
25574 * commands/gptsync.c: new file
25575 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25576 (gptsync_mod_SOURCES): new variable
25577 (gptsync_mod_CFLAGS): likewise
25578 (gptsync_mod_LDFLAGS): likewise
18f547ad 25579 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 25580 new definition
25581 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25583 * conf/i386-ieee1275.rmk: likewise
25584 * conf/i386-pc.rmk: likewise
25585 * conf/powerpc-ieee1275.rmk: likewise
25586
b4ba690a 255872009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25588
25589 Fixed grub-emu
25590
25591 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25592 (grub_dl_ref): likewise
25593
317e1a44 255942009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25595
25596 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25597 split in two functions (one for msdos and one for gpt).
25598
041b8094 255992009-05-08 Pavel Roskin <proski@gnu.org>
25600
752473c2 25601 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25602 not modified.
25603
041b8094 25604 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25605 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25606 Initialize them with -1. Add sanity check for bad1. Eliminate
25607 nerr variable.
25608
172800ce 256092009-05-08 David S. Miller <davem@davemloft.net>
25610
25611 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25612
29aa5e81 256132009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25614
25615 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 25616 existence.
29aa5e81 25617
96613b62 256182009-05-05 Felix Zielcke <fzielcke@z-51.de>
25619
25620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 25621 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 25622
eef73c8a 256232009-05-05 David S. Miller <davem@davemloft.net>
25624
25625 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25626
119494b5 256272009-05-05 Pavel Roskin <proski@gnu.org>
25628
25629 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25630 of grub_dl_ref() and grub_dl_unref().
25631 * commands/parttool.c: Remove preprocessor conditionals around
25632 grub_dl_ref() and grub_dl_unref().
25633 * fs/affs.c: Likewise.
25634 * fs/afs.c: Likewise.
25635 * fs/cpio.c: Likewise.
25636 * fs/ext2.c: Likewise.
25637 * fs/fat.c: Likewise.
25638 * fs/hfs.c: Likewise.
25639 * fs/hfsplus.c: Likewise.
25640 * fs/iso9660.c: Likewise.
25641 * fs/jfs.c: Likewise.
25642 * fs/minix.c: Likewise.
25643 * fs/ntfs.c: Likewise.
25644 * fs/reiserfs.c: Likewise.
25645 * fs/sfs.c: Likewise.
25646 * fs/udf.c: Likewise.
25647 * fs/ufs.c: Likewise.
25648 * fs/xfs.c: Likewise.
25649 * include/grub/dl.h: Likewise.
25650 * loader/xnu.c: Likewise.
25651
de5fd76e 256522009-05-04 Pavel Roskin <proski@gnu.org>
25653
25654 * commands/acpi.c: Remove unused variable my_mod.
25655 * partmap/amiga.c: Likewise.
25656 * partmap/apple.c: Likewise.
25657 * partmap/gpt.c: Likewise.
25658 * partmap/pc.c: Likewise.
25659 * partmap/sun.c: Likewise.
25660 * term/gfxterm.c: Likewise.
25661 * term/i386/pc/vesafb.c: Likewise.
25662 * term/i386/pc/vga.c: Likewise.
25663
983598ad 256642009-05-04 David S. Miller <davem@davemloft.net>
25665
25666 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25667 pointer args to grub_ieee1275_get_property().
25668
8aadec43 25669 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25670
9554b15e 25671 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25672 devices, and do not traverse down under controller nodes.
25673
67e23c90 25674 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25675 (grub_ofdisk_open): Use it to un-escape "," characters.
25676 * kern/disk.c (find_part_sep): New.
25677 (grub_disk_open): Use it to find the first non-escaped ','
25678 character in the disk name.
25679 * util/ieee1275/devicemap.c (escape_of_path): New.
25680 (grub_util_emit_devicemap_entry): Use it.
25681 * util/sparc64/ieee1275/grub-install.in: Update script to
25682 strip partition specifiers properly by not triggering on
25683 '\' escaped ',' characters.
25684
74bfdd2f 256852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25686
25687 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25688 to 0x300.
25689 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25690 resolutions.
25691 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25692 on documentation from Wikipedia).
25693
4241d2b1 256942009-05-04 Pavel Roskin <proski@gnu.org>
25695
25696 * disk/ata.c: Spelling fixes.
25697 * disk/raid.c: Likewise.
25698 * disk/usbms.c: Likewise.
25699 * disk/dmraid_nvidia.c: Likewise.
25700 * kern/ieee1275/openfw.c: Likewise.
25701 * kern/ieee1275/init.c: Likewise.
25702 * kern/ieee1275/cmain.c: Likewise.
25703 * boot/i386/pc/cdboot.S: Likewise.
25704 * video/readers/png.c: Likewise.
25705 * video/i386/pc/vbe.c: Likewise.
25706 * fs/udf.c: Likewise.
25707 * fs/hfs.c: Likewise.
25708 * fs/reiserfs.c: Likewise.
25709 * efiemu/runtime/efiemu.c: Likewise.
25710 * efiemu/main.c: Likewise.
25711 * efiemu/mm.c: Likewise.
25712 * include/grub/elf.h: Likewise.
25713 * include/grub/xnu.h: Likewise.
25714 * include/grub/usbdesc.h: Likewise.
25715 * include/grub/usb.h: Likewise.
25716 * include/grub/script_sh.h: Likewise.
25717 * include/grub/lib/LzmaEnc.h: Likewise.
25718 * include/grub/efiemu/efiemu.h: Likewise.
25719 * include/grub/command.h: Likewise.
25720 * normal/menu.c: Likewise.
25721 * normal/main.c: Likewise.
25722 * normal/datetime.c: Likewise.
25723 * bus/usb/uhci.c: Likewise.
25724 * mmap/i386/uppermem.c: Likewise.
25725 * mmap/mmap.c: Likewise.
25726 * commands/acpi.c: Likewise.
25727 * commands/test.c: Likewise.
25728 * partmap/apple.c: Likewise.
25729 * font/font.c: Likewise.
25730 * loader/sparc64/ieee1275/linux.c: Likewise.
25731 * loader/macho.c: Likewise.
25732 * loader/i386/bsd_trampoline.S: Likewise.
25733 * loader/i386/bsd.c: Likewise.
25734 * loader/xnu.c: Likewise.
25735 * term/i386/pc/vesafb.c: Likewise.
25736 * term/usb_keyboard.c: Likewise.
25737 * util/resolve.c: Likewise.
25738 * util/getroot.c: Likewise.
25739
0cfc0083 257402009-05-04 Felix Zielcke <fzielcke@z-51.de>
25741
25742 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
25743
7c1d00cd 257442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25745
25746 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
25747 build error.
25748
b01f0548 257492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25750
25751 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
25752 parameter only available on BIOS.
25753
ecc3eb22 257542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25755
25756 Removed wrong semicolon in declaration
25757
25758 * grub/misc.h (grub_dprintf): remove semicolon
25759
112972a9 257602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25761
25762 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
25763 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
25764 is done by grub_cmd_linux() now).
25765 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
25766 restore video to text mode.
25767 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
25768 indicates lack of "vga=" parameter. "vga=0" is mapped to
25769 `GRUB_LINUX_VID_MODE_NORMAL'.
25770
afd5c115 257712009-05-04 Felix Zielcke <fzielcke@z-51.de>
25772
25773 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
25774 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
25775 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 25776 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 25777 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
25778 `grub_script.tab.c'.
25779
25780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25784 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25785
faa517ce 25786 * Makefile.in: Remove duplicated 2008 in Copyright line.
25787
ae0c0bdc 257882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25789
473d1e45 25790 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 25791 unconditionally.
25792 * include/grub/util/misc.h (grub_util_warn): New declaration.
25793
25794 * util/i386/pc/grub-install.in: Understand --force and pass it down
25795 to grub-setup.
25796
25797 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
25798 down to setup().
25799 (setup): Improve error messages and add warnings when requested to
25800 install in odd layouts. Refuse to install using blocklists unless
25801 --force was set.
25802
18f547ad 258032009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 25804
25805 * disk/raid.c (grub_raid_scan_device): Improve debug message.
25806
6d260daa 258072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25808
25809 Updated copyright year
25810
25811 * fs/hfsplus.c: updated copyright year
18f547ad 25812
69f853f8 258132009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 HFS+ UUID
25816
18f547ad 25817 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 25818 in the space previously used by unused3
25819 (grub_hfsplus_uuid): new function
25820 (grub_hfsplus_fs): added uuid field
25821
4c402e73 258222009-05-03 Pavel Roskin <proski@gnu.org>
25823
25824 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
25825 suppress warnings. It's no longer needed.
25826 * disk/host.c: Likewise.
25827 * disk/ata_pthru.c: Likewise.
25828 * disk/loopback.c: Likewise.
25829 * hook/datehook.c: Likewise.
25830 * parttool/pcpart.c: Likewise.
25831 * fs/i386/pc/pxe.c: Likewise.
25832 * fs/ntfscomp.c: Likewise.
25833 * efiemu/main.c: Likewise.
25834 * mmap/mmap.c: Likewise.
25835 * commands/crc.c: Likewise.
25836 * commands/hexdump.c: Likewise.
25837 * commands/hdparm.c: Likewise.
25838 * commands/acpi.c: Likewise.
25839 * commands/echo.c: Likewise.
25840 * commands/minicmd.c: Likewise.
25841 * commands/blocklist.c: Likewise.
25842 * commands/memrw.c: Likewise.
25843 * commands/loadenv.c: Likewise.
25844 * commands/usbtest.c: Likewise.
25845 * commands/lsmmap.c: Likewise.
25846 * commands/boot.c: Likewise.
25847 * commands/parttool.c: Likewise.
25848 * commands/configfile.c: Likewise.
25849 * commands/search.c: Likewise.
25850 * commands/ieee1275/suspend.c: Likewise.
25851 * commands/cat.c: Likewise.
25852 * commands/i386/pc/pxecmd.c: Likewise.
25853 * commands/i386/pc/play.c: Likewise.
25854 * commands/i386/pc/halt.c: Likewise.
25855 * commands/i386/pc/vbeinfo.c: Likewise.
25856 * commands/i386/pc/vbetest.c: Likewise.
25857 * commands/lspci.c: Likewise.
25858 * commands/date.c: Likewise.
25859 * commands/handler.c: Likewise.
25860 * commands/ls.c: Likewise.
25861 * commands/test.c: Likewise.
25862 * commands/cmp.c: Likewise.
25863 * commands/efi/loadbios.c: Likewise.
25864 * commands/efi/fixvideo.c: Likewise.
25865 * commands/halt.c: Likewise.
25866 * commands/help.c: Likewise.
25867 * commands/reboot.c: Likewise.
25868 * hello/hello.c: Likewise.
25869 * script/sh/main.c: Likewise.
25870 * loader/xnu.c: Likewise.
25871 * term/terminfo.c: Likewise.
25872 * term/i386/pc/serial.c: Likewise.
25873 * term/usb_keyboard.c: Likewise.
25874
515b5079 258752009-05-03 David S. Miller <davem@davemloft.net>
25876
25877 * normal/menu.c: Include grub/parser.h
25878
dfc31a22 258792009-05-03 Pavel Roskin <proski@gnu.org>
25880
2fee74f1 25881 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25882 not char*.
25883 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25884 Suggested by Javier Martín <lordhabbit@gmail.com>
25885
dfc31a22 25886 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25887 efiemu??.o doesn't exist.
25888 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25889 copying.
25890
18f547ad 258912009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 25892
25893 FreeBSD 64-bit support
25894
18f547ad 25895 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 25896 and loader/i386/bsd_trampoline.S
25897 (bsd_mod_ASFLAGS): new variable
25898 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25899 (FREEBSD_MODTYPE_KERNEL64): likewise
25900 (grub_bsd64_trampoline_start): likewise
25901 (grub_bsd64_trampoline_end): likewise
25902 (grub_bsd64_trampoline_selfjump): likewise
25903 (grub_bsd64_trampoline_gdt): likewise
25904 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25905 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25906 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25907 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 25908 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 25909 of "attrib" member
25910 * loader/i386/bsd_pagetable.c: new file
25911 * loader/i386/bsd_trampoline.S: likewise
25912 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25913 (ALIGN_VAR): likewise
25914 (entry_hi): new variable
25915 (kern_end_mdofs): likewise
25916 (is_64bit): likewise
25917 (grub_freebsd_add_meta): use ALIGN_VAR
25918 (grub_e820_mmap): new declaration
25919 (grub_freebsd_add_mmap): new function
25920 (grub_freebsd_add_meta_module): support 64 bit kernels
25921 (grub_freebsd_list_modules): use ALIGN_VAR
25922 (gdt_descriptor): new declaration
25923 (grub_freebsd_boot): support 64 bit kernels
25924 (grub_bsd_elf64_hook): new function
25925 (grub_bsd_load_elf): support elf64
25926
038c5720 259272009-05-03 Bean <bean123ch@gmail.com>
25928
25929 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25930 after we get the result of if statement.
25931
fc45fb58 259322009-05-03 Bean <bean123ch@gmail.com>
25933
25934 * Makefile.in (enable_efiemu): New variable.
25935
25936 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25937 set.
25938 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25939 path.
25940 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25941 path, add -mno-red-zone option.
25942 (efiemu64_s.o): Likewise.
25943 (efiemu64.o): Use macro $^ for source file.
25944
25945 * configure.ac (--enable-efiemu): New option.
25946
bbee0f2b 259472009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 xnu support
25950
25951 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25952 (pkglib_MODULES): add xnu.mod
25953 (xnu_mod_SOURCES): new variable
25954 (xnu_mod_CFLAGS): likewise
25955 (xnu_mod_LDFLAGS): likewise
25956 (xnu_mod_ASFLAGS): likewise
25957 * conf/i386-pc.rmk: likewise
25958 * conf/x86_64-efi.rmk: likewise
7dd4a573 25959 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 25960 new declaration
25961 * include/grub/i386/macho.h: new file
25962 * include/grub/i386/xnu.h: likewise
25963 * include/grub/macho.h: likewise
25964 * include/grub/machoload.h: likewise
25965 * include/grub/x86_64/macho.h: likewise
25966 * include/grub/x86_64/xnu.h: likewise
25967 * include/grub/xnu.h: likewise
25968 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25969 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25970 * loader/i386/efi/xnu.c: new file
25971 * loader/i386/pc/xnu.c: likewise
25972 * loader/i386/xnu.c: likewise
25973 * loader/i386/xnu_helper.S: likewise
25974 * loader/macho.c: likewise
25975 * loader/xnu.c: likewise
25976 * loader/xnu_resume.c: likewise
25977 * util/grub-dumpdevtree: likewise
25978 * include/grub/i386/pit.h: include grub/err.h
25979 (grub_pit_wait): export
25980 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 25981
5caf964d 259822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25983
25984 Efiemu
7dd4a573 25985
5caf964d 25986 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 25987 _linux_efi, linux_efi.
25988 new files in grub-emu
5caf964d 25989 new targets efiemu32.o and efiemu64.o
25990 * loader/linux_normal_efiemu.c: likewise
25991 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 25992 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 25993 files to copy
25994 * include/grub/autoefi.h: new file
7dd4a573 25995 * include/grub/i386/efiemu.h: likewise
5caf964d 25996 * include/grub/i386/pc/efiemu.h: likewise
25997 * include/grub/efi/api.h: add LL suffix when necessary
25998 new definitions relating to tables
25999 * include/grub/efiemu/efiemu.h: new file
26000 * include/grub/efiemu/runtime.h: likewise
26001 * efiemu/prepare.c: likewise
26002 * efiemu/loadcore_common.c: likewise
26003 * efiemu/loadcore64.c: likewise
26004 * efiemu/runtime/efiemu.sh: likewise
26005 * efiemu/runtime/efiemu.S: likewise
26006 * efiemu/runtime/efiemu.c: likewise
26007 * efiemu/runtime/config.h: likewise
26008 * efiemu/prepare32.c: likewise
26009 * efiemu/main.c: likewise
26010 * efiemu/modules/pnvram.c: likewise
26011 * efiemu/modules/i386: likewise
26012 * efiemu/modules/i386/pc: likewise
26013 * efiemu/modules/acpi.c: likewise
26014 * efiemu/i386/pc/cfgtables.c: likewise
26015 * efiemu/i386/loadcore64.c: likewise
26016 * efiemu/i386/loadcore32.c: likewise
26017 * efiemu/prepare64.c: likewise
26018 * efiemu/loadcore.c: likewise
26019 * efiemu/symbols.c: likewise
26020 * efiemu/mm.c: likewise
26021 * efiemu/loadcore32.c: likewise
7dd4a573 26022
260232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26024
26025 ACPI spoofing
26026
26027 * commands/acpi.c: new file
26028 * commands/i386/pc/acpi.c: likewise
26029 * commands/efi/acpi.c: likewise
26030 * include/grub/acpi.h: likewise
26031 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26032 (acpi_mod_SOURCES): new variable
26033 (acpi_mod_CFLAGS): likewise
26034 (acpi_mod_LDFLAGS): likewise
26035 * conf/i386-efi.rmk: likewise
26036 * conf/x86_64-efi.rmk: likewise
26037
7dd4a573 260382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26039
26040 Missing part from mmap patch
26041
26042 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26043 (grub_mmap_unregister)
26044 (grub_mmap_free_and_unregister): use grub_mmap_register
26045
7dd4a573 260462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26047
26048 Mmap services
26049
26050 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26051 * loader/i386/linux.c (find_mmap_size): likewise
26052 (allocate_pages): likewise
26053 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26054 (grub_fill_multiboot_mmap): likewise
26055 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26056 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26057 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26058 (OPENBSD_MMAP_RESERVED): likewise
26059 * include/grub/i386/pc/memory.h: include grub/memory.h
26060 (grub_lower_mem): removed
26061 (grub_upper_mem): likewise
26062 (GRUB_MACHINE_MEMORY_ACPI): new definition
26063 (GRUB_MACHINE_MEMORY_NVS): likewise
26064 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26065 (GRUB_MACHINE_MEMORY_HOLE): likewise
26066 (grub_machine_mmap_register): likewise
26067 (grub_machine_mmap_unregister): likewise
26068 (grub_machine_get_upper): likewise
26069 (grub_machine_get_lower): likewise
26070 (grub_machine_get_post64): likewise
26071 * include/grub/i386/efi/memory.h: new file
26072 * include/grub/x86_64/efi/memory.h: likewise
26073 * include/grub/efi/memory.h: likewise
26074 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26075 (mmap_mod_SOURCES): new variable
26076 (mmap_mod_LDFLAGS): likewise
26077 (mmap_mod_ASFLAGS): likewise
26078 * conf/i386-coreboot.rmk: likewise
26079 * conf/i386-ieee1275.rmk: likewise
26080 * conf/i386-efi.rmk: likewise
26081 * conf/x86_64-efi.rmk: likewise
26082 * include/grub/types.h (UINT_TO_PTR): new macro
26083 (PTR_TO_UINT32): likewise
26084 (PTR_TO_UINT64): likewise
26085 * include/grub/memory.h: new file
26086 * mmap/i386/pc/mmap.c: likewise
26087 * mmap/i386/pc/mmap_helper.S: likewise
26088 * mmap/i386/uppermem.c: likewise
26089 * mmap/mmap.c: likewise
26090 * mmap/efi/mmap.c: likewise
7dd4a573 26091 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26092 grub_upper_mem
26093 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26094 (grub_upper_mem): likewise
26095 (grub_machine_init): don't use grub_upper_mem,
26096 make grub_lower_mem local
26097 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26098 grub_mmap_iterate and grub_mmap_get_upper
26099 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26100
d558e6b5 261012009-05-02 Bean <bean123ch@gmail.com>
26102
26103 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26104 script/sh/parser.y.
26105 (pkglib_MODULES): Add normal.mod and sh.mod.
26106 (normal_SOURCES): New variable.
26107 (normal_mod_CFLAGS): Likewise.
26108 (normal_mod_LDFLAGS): Likewise.
26109 (sh_mod_SOURCES): Likewise.
26110 (sh_mod_CFLAGS): Likewise.
26111 (sh_mod_LDFLAGS): Likewise.
26112
26113 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26114 script/sh/lexer.c_DEPENDENCIES.
26115 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26116 kern/rescue_reader.c and kern/rescue_parser.c.
26117 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26118 (grub_emu_SOURCES): Change source files.
26119 (pkglib_MODULES): Remove normal.mod.
26120 (normal_SOURCES): Removed.
26121 (normal_mod_CFLAGS): Likewise.
26122 (normal_mod_LDFLAGS): Likewise.
26123 * conf/i386-coreboot.rmk: Likewise.
26124 * conf/i386-efi.rmk: Likewise.
26125 * conf/i386-ieee1276.rmk: Likewise.
26126 * conf/powerpc-ieee1275.rmk: Likewise.
26127 * conf/sparc64-ieee1275.rmk: Likewise.
26128 * conf/x86_64-efi.rmk: Likewise.
26129
26130 * include/grub/command.h (grub_command_execute): New inline function.
26131
26132 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26133
26134 * include/grub/normal.h: Remove <grub/setjmp.h>.
26135 (grub_fs_module_list): Moved to normal/autofs.c.
26136 (grub_exit_env): Removed.
26137 (grub_command_execute): Likewise.
26138 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26139 parameter script.
26140 (read_command_list): New function declaration.
26141 (read_fs_list): Likewise.
26142
26143 * include/parser.h: Include <grub/reader.h>.
26144 (grub_parser_split_cmdline): Change type of getline parameter.
26145 (grub_parser): New structure.
26146 (grub_parser_class): New variable.
26147 (grub_parser_execute): New function declaration.
26148 (grub_register_rescue_parser): Likewise.
26149 (grub_parser_register): New inline function.
26150 (grub_parser_unregister): Likewise.
26151 (grub_parser_get_current): Likewise.
26152 (grub_parser_set_current): Likewise.
26153
26154 * include/grub/reader.h: New file.
26155 * kern/reader.c: Likewise.
26156 * kern/rescue_parser.c: Likewise.
26157 * kern/rescue_reader.c: Likewise.
26158 * normal/autofs.c: Likewise.
26159 * normal/dyncmd.c: Likewise.
26160
26161 * include/grub/rescue.h: Removed.
26162 * normal/command.h: Likewise.
26163
26164 * include/grub/script.h: Moved to ...
26165 * include/grub/script_sh.h: ... Moved here.
26166 * normal/execute.c: Moved to ...
26167 * script/sh/execute.c: ... Moved here.
26168 * normal/function.c: Moved to ...
26169 * script/sh/function.c: ... Moved here.
26170 * normal/lexer.c: Moved to ...
26171 * script/sh/lexer.c: ... Moved here.
26172 * normal/parser.y: Moved to ...
26173 * script/sh/parser.y: ... Moved here.
26174 * normal/script.c: Moved to ...
26175 * script/sh/script.c: ... Moved here.
26176
26177 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26178 <grub/reader.h>.
26179 (grub_exit_env): Removed.
26180 (fs_module_list): Moved to normal/autofs.c.
26181 (grub_file_getline): Don't handle comment here.
26182 (free_menu): Skip removed field entry->commands.
26183 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26184 script parameter.
26185 (read_config_file): Removed nested parameter, change getline function.
26186 (grub_enter_normal_mode): Removed.
26187 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26188 (read_command_list): Likewise.
26189 (autoload_fs_module): Moved to normal/autofs.c.
26190 (read_fs_list): Likewise.
26191 (reader_nested): New variable.
26192 (grub_normal_execute): Run parser.sh to switch to sh parser.
26193 (grub_cmd_rescue): Removed.
26194 (cmd_normal): Removed.
26195 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26196 rescue command.
26197 (grub_cmdline_run): New function.
26198 (grub_normal_reader_init): Likewise.
26199 (grub_normal_read_line): Likewise.
26200 (grub_env_write_pager): Likewise.
26201 (cmdline): New variable.
26202 (grub_normal_reader): Likewise.
26203 (GRUB_MOD_INIT): Register normal reader and set as current, register
26204 pager hook, register normal command with grub_register_command_prio,
26205 so that it won't show up in command.lst.
26206 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26207 grub_fs_autoload_hook.
26208
26209 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26210 (grub_menu_execute_entry): Replace grub_script_execute with
26211 grub_parser_execute, change parameter to grub_command_execute.
26212
26213 * normal/menu_text.c: Remove <grub/script.h>.
26214
26215 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26216 and <grub/parser.h>.
26217 (run): Change editor_getline to use new parser interface. Change
26218 parameter to grub_command_execute.
26219
26220 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26221 <grub/reader.h> and <grub/parser.h>.
26222 (grub_load_normal_mode): Execute normal command.
26223 (grub_main): Call grub_register_core_commands,
26224 grub_register_rescue_parser and grub_register_rescue_reader, use
26225 grub_reader_loop to enter input loop.
26226
7dd4a573 26227 * kern/parser.c (grub_parser_split_cmdline): Change type of
26228 getline parameter.
d558e6b5 26229 (grub_parser_class): New variable.
26230 (grub_parser_execute): New function.
26231
26232 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26233 * loader/multiboot2.c: Likewise.
26234 * loader/sparc64/ieee1275/linux.c: Likewise.
26235
26236 * util/grub-emu.c (read_command_list): New dummy function.
26237
18db813d 262382009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26239
26240 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26241 count to 16 for CCISS and IDA.
26242
6c67de15 262432009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26244
26245 * normal/menu_text.c (grub_wait_after_message): Print a newline
26246 after waiting for user input.
26247
26248 * loader/i386/linux.c: Include `<grub/normal.h>'.
26249 (grub_cmd_linux): Improve the error message about `ask' mode, by
26250 waiting for user input so it's not missed (we can do this, since
26251 user requested interaction).
26252
d9dc87b0 262532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26254
26255 Added missing lst to grub-mkrescue
26256
26257 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26258 and ${input_dir}/parttool.lst
26259
ac8a2baa 262602009-04-30 David S. Miller <davem@davemloft.net>
26261
ad22a610 26262 * util/hostdisk.c (device_is_wholedisk): New function.
26263 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26264 zero only if device_is_wholedisk() returns true.
26265
6966215d 26266 * util/hostdisk.c (convert_system_partition_to_system_disk):
26267 Handle virtual disk devices named /dev/vdiskX as found on sparc
26268 and powerpc.
26269
ac8a2baa 26270 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26271 lettered partition specifier is found, convert to numbered.
26272
979b4fb4 262732009-04-29 David S. Miller <davem@davemloft.net>
26274
e2bf39b2 26275 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26276 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26277
3c64e104 26278 * normal/command.c: Add missing newline at end of file.
26279
979b4fb4 26280 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26281 warnings.
26282 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26283 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26284 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26285 ihandles have a 32-bit type but need to be stored in a "void *".
26286
136d9f82 262872009-04-28 Pavel Roskin <proski@gnu.org>
26288
9459c306 26289 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26290 not disk. Adjust all dependencies.
2e08a26a 26291 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26292 grub_disk_close().
26293
136d9f82 26294 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26295 parent's partition, don't copy it by reference, as it gets freed
26296 on close.
26297
7dd4a573 262982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26299
26300 Preboot hooks support
26301
26302 * commands/boot.c (struct grub_preboot_t): new declaration
26303 (preboots_head): new variable
26304 (preboots_tail): likewise
26305 (grub_loader_register_preboot_hook): new function
26306 (grub_loader_unregister_preboot_hook): likewise
26307 (grub_loader_set): launch preboot hooks
26308 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26309 (grub_loader_register_preboot_hook): new declaration
26310 (grub_loader_unregister_preboot_hook): likewise
26311
5af922b5 263122009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26313
26314 Warning fix
26315
7dd4a573 26316 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26317 calling grub_dprintf
26318
a5562c30 263192009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26320
26321 Bug and warning fixes
26322
7dd4a573 26323 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26324 declaration
26325 * commands/test.c (test_parse): fixed bug with file tests and corrected
26326 declaration of find_file
26327
4006f85c 263282009-04-26 Pavel Roskin <proski@gnu.org>
26329
26330 * Makefile.in: Don't install empty manual pages if help2man is
26331 missing. Use help2man option for output, not shell redirection.
26332
5c77c3de 263332009-04-26 David S. Miller <davem@davemloft.net>
26334
26335 * util/grub-mkdevicemap.c (make_device_map): Add missing
26336 NESTED_FUNC_ATTR to process_device().
26337
033b10a8 263382009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 Test command
26341
26342 * commands/test.c: rewritten to use bash-like test
26343
e4343593 263442009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26345
26346 Parttool autoloading and improvements
26347
7dd4a573 26348 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26349 (parttool.lst): new target
26350 * genmk.rb: generate parttool-*
26351 (CLEANFILES): add #{parttool}
26352 (PARTTOOLFILES): new variable
26353 * genparttoollist.sh: new file
7dd4a573 26354 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26355 (grub_pcpart_type): likewise
26356 * commands/parttool.c (helpmsg): new variable
26357 (grub_cmd_parttool): output help if not enough arguments are supplied
26358 autoload modules
26359 (GRUB_MOD_INIT(parttool)): use helpmsg
26360
0d312500 263612009-04-24 David S. Miller <davem@davemloft.net>
26362
7dd4a573 26363 Avoiding opening same device multiple times in device iterator.
0d312500 26364
26365 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26366 and use it to build a list of partitions in iterate_disk() and
0d312500 26367 iterate_partition().
26368
ac20caff 26369 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26370 on disk->data.
26371
0dcf7495 26372 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26373 grub_devalias_iterate() result instead of unconditional 0.
26374 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26375 Also, capture hook return value, either directly or via
26376 grub_children_iterate(), and propagate to caller.
26377 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26378 grub_children_iterate): Return value is now 'int' instead of
26379 'grub_err_t'.
26380 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26381 like a proper iterator, stopping when hooks return non-zero.
26382 (grub_devalias_iterate): Likewise.
26383
c8c08833 263842009-04-23 David S. Miller <davem@davemloft.net>
26385
26386 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26387
f01005a8 263882009-04-22 David S. Miller <davem@davemloft.net>
26389
26390 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26391 is larger than address_cells, use that value for address_cells too.
26392
4e8269da 26393 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26394 IEEE1275_MAX_PATH_LEN): Define.
26395 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26396 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26397 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26398 'devtype'. Explicitly NULL terminate devalias expansion.
26399
a1447506 26400 * util/sparc64/ieee1275/misc.c: New file.
26401 * util/sparc64/ieee1275/grub-setup.c: New file.
26402 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26403 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26404 * util/sparc64/ieee1275/grub-install.in: New file.
26405 * util/ieee1275/ofpath.c: New file.
26406 * util/ieee1275/devicemap.c: New file.
26407 * util/devicemap.c: New file.
26408 * util/deviceiter.c: New file.
26409 * kern/sparc64/ieee1275/init.c: New file.
26410 * include/grub/util/ofpath.h: New file.
26411 * include/grub/util/deviceiter.h: New file.
26412 * util/grub-mkdevicemap.c: Include deviceiter.h.
26413 Implement using grub_util_emit_devicemap_entry and
26414 grub_util_iterate_devices.
26415 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26416 util/devicemap.c into grub-mkdevicemap
26417 * conf/i386-efi.rmk: Likewise.
26418 * conf/i386-ieee1275.rmk: Likewise.
26419 * conf/i386-pc.rmk: Likewise.
26420 * conf/powerpc-ieee1275.rmk: Likewise.
26421 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26422 images and installation utilities. Build kernel as image
26423 instead of as elf binary. Use common rules as much as possible.
26424
7dd4a573 264252009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 26426
26427 Correct GPT definition
26428
7dd4a573 26429 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 26430 of "attrib" member
26431
c6c5219f 264322009-04-19 Felix Zielcke <fzielcke@z-51.de>
26433
26434 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26435
0552ff9f 264362009-04-19 David S. Miller <davem@davemloft.net>
26437
26438 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26439 (grub_rescue_cmd_linux): Rename to...
26440 (grub_cmd_linux): and fix prototype.
26441 (grub_rescue_cmd_initrd): Rename to...
26442 (grub_cmd_initrd): and fix prototype.
26443 (cmd_linux, cmd_initrd): New.
26444 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26445 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26446
d1a282fc 264472009-04-17 Pavel Roskin <proski@gnu.org>
26448
07c5039f 26449 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26450 format.
26451 (grub_ohci_transfer): Likewise.
26452
b012002d 26453 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26454
1bc09c35 26455 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26456 return without a value. Fix inconsistent indentation.
26457
e0ff9126 26458 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26459 match struct grub_fs.
26460
d1a282fc 26461 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26462 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26463 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26464 * commands/lspci.c (grub_lspci_iter): Likewise.
26465
a96df3f2 264662009-04-16 Bean <bean123ch@gmail.com>
26467
26468 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26469 value.
26470
41bb0fe9 264712009-04-15 Pavel Roskin <proski@gnu.org>
26472
26473 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26474 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26475 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26476 definitions.
26477
596c6970 264782009-04-15 Felix Zielcke <fzielcke@z-51.de>
26479
26480 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 26481 that no multiple data or metadata areas are supported and `Unknown
596c6970 26482 metadata header'.
26483
7dd4a573 264842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 26485
26486 Move loader out of the kernel
26487
26488 * kern/loader.c: moved to ...
26489 * commands/boot.c: ... moved here
26490 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26491 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26492 * include/grub/kernel.h (grub_machine_fini): export
26493 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26494 (grub_loader_set): likewise
26495 (grub_loader_unset): likewise
26496 (grub_loader_boot): likewise
26497 * conf/common.rmk: new module boot.mod
26498 (pkglib_MODULES): add boot.mod
26499 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26500 (grub_emu_SOURCES): likewise
26501 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26502 (grub_emu_SOURCES): likewise
26503 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26504 (grub_emu_SOURCES): likewise
26505 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26506 (grub_emu_SOURCES): likewise
26507 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26508 (grub_emu_SOURCES): likewise
7dd4a573 26509 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26510 (grub_emu_SOURCES): likewise
0d5d5653 26511 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 26512 (grub_emu_SOURCES): likewise
0d5d5653 26513
7dd4a573 265142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 26515
26516 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 26517
5999d619 26518 * kern/misc.c (grub_itoa): Removed function
26519 (grub_ltoa): likewise
26520 (grub_vsprintf): use grub_lltoa
26521
7dd4a573 265222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 26523
26524 Restore grub-emu
26525
26526 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26527 * conf/i386-coreboot.rmk: likewise
26528 * conf/i386-ieee1275.rmk: likewise
26529 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26530
20318222 265312009-04-15 Felix Zielcke <fzielcke@z-51.de>
26532
26533 * INSTALL: Add that `./autogen.sh' needs to be run before
26534 `./configure.'.
26535
d05f0df3 265362009-04-14 Bean <bean123ch@gmail.com>
26537
26538 * Makefile.in (pkglib_DATA): Add handler.lst.
26539 (handler.lst): New rule.
26540
26541 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26542 * conf/i386-coreboot.rmk: Likewise.
26543 * conf/i386-ieee1275.rmk: Likewise.
26544 * conf/i386-efi.rmk: Likewise.
26545 * conf/x86_64-efi.rmk: Likewise.
26546 * conf/powerpc-ieee1275.rmk: Likewise.
26547 * conf/sparc64-ieee1275.rmk: Likewise.
26548
26549 * genhandlerlist.sh: New file.
26550
26551 * genmk.rb: Add rules to generate handler.lst.
26552
26553 * include/grub/normal.h (grub_file_getline): New function definition.
26554 (read_handler_list): Likewise.
26555 (free_handler_list): Likewise.
26556
26557 * include/grub/term.h (grub_term_register_input): Add name parameter
26558 for auto generation of handler.lst.
26559 (grub_term_register_output): Likewise.
26560
26561 * normal/handler.c: New file.
26562
26563 * normal/main.c (get_line): Renamed to grub_file_getline.
26564 (read_config_file): Use the newly renamed grub_file_getline.
26565 (read_command_list): Likewise.
26566 (read_fs_list): Likewise.
26567 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26568 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26569
26570 * term/efi/console.c (grub_console_init): Add name parameter for auto
26571 generation of handler.lst.
26572 * term/gfxterm.c: Likewise.
26573 * term/i386/pc/at_keyboard.c: Likewise.
26574 * term/i386/pc/console.c: Likewise.
26575 * term/i386/pc/serial.c: Likewise.
26576 * term/i386/pc/vesafb.c: Likewise.
26577 * term/i386/pc/vga.c: Likewise.
26578 * term/i386/pc/vga_text.c: Likewise.
26579 * term/ieee1275/ofconsole.c: Likewise.
26580 * term/usb_keyboard.c: Likewise.
26581
33c846be 265822009-04-14 Bean <bean123ch@gmail.com>
26583
26584 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26585 properly with null character.
26586
4484e01e 265872009-04-14 Felix Zielcke <fzielcke@z-51.de>
26588
26589 * configure: Remove.
26590 * config.h.in: Likewise.
f93d668e 26591 * stamp-h.in: Likewise.
4484e01e 26592 * DISTLIST: Likewise.
26593 * conf/common.mk: Likewise.
26594 * conf/i386-coreboot.mk: Likewise.
26595 * conf/i386-efi.mk: Likewise.
26596 * conf/i386-ieee1275.mk: Likewise.
26597 * conf/i386.mk: Likewise.
26598 * conf/i386-pc.mk: Likewise.
26599 * conf/powerpc-ieee1275.mk: Likewise.
26600 * conf/sparc64-ieee1275.mk: Likewise.
26601 * conf/x86_64-efi.mk: Likewise.
26602
26603 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26604 develop on GRUB.
26605
7dd4a573 266062009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 26607 David S. Miller <davem@davemloft.net>
26608
26609 * util/hostdisk.c (make_device_name): Fix buffer length
26610 calculations.
26611
e25b5a8c 266122009-04-14 Felix Zielcke <fzielcke@z-51.de>
26613
26614 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26615 <sys/param.h> and <sys/sysctl.h>.
26616 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26617 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26618 opening the device and reset them afterwards.
26619
1f1f580c 266202009-04-13 Pavel Roskin <proski@gnu.org>
26621
26622 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26623 Reported by John Stanley <jpsinthemix@verizon.net>
26624
7ebc2d6b 266252009-04-13 Robert Millan <rmh@aybabtu.com>
26626
26627 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 26628 that name for menuentries when appropriate.
7ebc2d6b 26629
d8ba3667 266302009-04-13 Felix Zielcke <fzielcke@z-51.de>
26631
26632 * util/grub.d/10_freebsd.in: Add a missing `fi'.
26633
cba416eb 266342009-04-13 Robert Millan <rmh@aybabtu.com>
26635
26636 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
26637 to Linux, simply abort telling the user it's no longer supported.
26638
a547a745 266392009-04-13 Felix Zielcke <fzielcke@z-51.de>
26640
26641 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 26642 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 26643 `freebsd_loadenv' only when devices.hints exist.
26644
232a769c 266452009-04-13 Pavel Roskin <proski@gnu.org>
26646
26647 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26648
c3012039 266492009-04-13 Felix Zielcke <fzielcke@z-51.de>
26650
26651 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26652 partition number.
26653 (grub_drive): Likewise.
26654
234022fe 266552009-04-13 David S. Miller <davem@davemloft.net>
26656
26657 * kern/sparc64/ieee1275/ieee1275.c: New file.
26658 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26659 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26660 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26661 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26662 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26663 grub_ieee1275_alloc_physmem): Declare new exported functions.
26664
d8e1836c 26665 * include/grub/sparc64/ieee1275/loader.h: New file.
26666 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26667 * include/grub/sparc64/kernel.h: Likewise.
26668 * loader/sparc64/ieee1275/linux.c: Likewise.
26669
96bd81ec 26670 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26671 (grub_fstest_SOURCES): Likewise.
26672
6a4737e5 26673 * util/hostdisk.c (make_device_name): Do not make any assumptions
26674 about the length of drive names.
26675
1d7a72fd 26676 * kern/dl.c (grub_dl_load_file): Close file immediately when
26677 we are done using it.
26678
56bc2471 266792009-04-12 David S. Miller <davem@davemloft.net>
26680
26681 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26682 values. Noticed by Pavel Roskin.
26683
df38d0bb 26684 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26685 target compiler.
7dd4a573 26686
e382e93a 26687 * genmk.rb: Add more flexible image type specification, also
26688 pass --strip-unneeded to objcopy.
26689 * conf/i386-pc.rmk: Use *_FORMAT.
26690 * conf/i386-pc.mk: Rebuilt.
26691
f5dbbca9 26692 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26693 (OFDISK_HASH_SZ): Define.
26694 (ofdisk_hash): New hash table.
26695 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26696 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26697 instead of device phandle which is not unique.
26698
91c88b12 26699 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26700 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26701 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26702 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26703 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
26704 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
26705 GRUB_KERNEL_MACHINE_DATA_END): Define.
26706 (grub_kernel_image_size, grub_total_module_size): Declare.
26707
5b5d4aa5 267082009-04-12 Pavel Roskin <proski@gnu.org>
26709
7dd4a573 26710 * configure.ac: Change the logic when we check for target tools.
26711 Do it when the target is specified and it's different from the
26712 specified value of the host.
5b5d4aa5 26713
c91e1793 267142009-04-11 Felix Zielcke <fzielcke@z-51.de>
26715
26716 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
26717 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
26718 GNU/kFreeBSD. Check if a device is a character device. Use
26719 DIOCGMEDIASIZE to get the size.
26720 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
26721 support for GNU/kFreeBSD.
26722 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
26723 is a character device instead of a block device. Add support for
26724 FreeBSD device names.
26725
26726 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
26727 is a character device instead of a block device.
26728
26729 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
26730 is a character device instead of a block device.
26731
b1ac8644 267322009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
26733
26734 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
26735 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
26736 FreeBSD. Check if a device is a character device. Use
26737 DIOCGMEDIASIZE to get the size.
26738 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
26739 support for FreeBSD.
26740 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
26741 is a character device instead of a block device. Add support for
26742 FreeBSD device names.
26743
26744 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
26745 a character device instead of a block device.
26746 (grub_util_check_char_device): New function.
26747
26748 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
26749 a character device instead of a block device.
26750
26751 * include/grub/util/getroot.h (grub_util_check_char_device): New
26752 prototype.
26753
a3f7515a 267542009-04-11 David S. Miller <davem@davemloft.net>
26755
26756 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
26757 static libgcc.
26758 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
26759 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
26760 function, if present.
26761 (__bswapdi2): Likewise.
26762
0d44993d 26763 * include/grub/sparc64/ieee1275/boot.h: New file.
26764 * boot/sparc64/ieee1275/boot.S: Likewise.
26765 * boot/sparc64/ieee1275/diskboot.S: Likewise.
26766
ed3d2bc2 26767 * kern/misc.c (grub_ltoa): New function.
26768 (grub_vsprintf): Use it to format 'long' integers.
26769
d3bfb59c 267702009-04-10 David S. Miller <davem@davemloft.net>
26771
26772 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
26773 slots are of type grub_ieee1275_cell_t.
26774 (grub_nand_read): Likewise.
26775 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
26776 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
26777 macros are used to compare values in arg/ret block of the call.
26778 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26779 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
26780 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
26781 grub_ieee1275_instance_to_path, grub_ieee1275_write,
26782 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
26783 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
26784 grub_ieee1275_close, grub_ieee1275_set_property,
26785 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
26786 grub_ieee1275_cell_t.
26787 * kern/ieee1275/openfw.c (grub_map): Likewise.
26788 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
26789 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
26790
450e2238 26791 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
26792 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
26793 (grub_devalias_iterate): Likewise.
26794
7dd4a573 267952009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 26796
26797 UFS improvements
26798
26799 * fs/ufs.c (INODE_NBLOCKS): new definition
26800 (struct grub_ufs_dirent): added fields for non-BSD dirents
26801 (grub_ufs_get_file_block): fixed double indirect handling
26802 (grub_ufs_lookup_symlink): use more robust way to determine whether
26803 symlink is inline
26804 (grub_ufs_find_file): support for non-BSD dirents
26805 (grub_ufs_dir): support for non-BSD dirents
26806
e7e6862a 268072009-04-10 Bean <bean123ch@gnail.com>
26808
26809 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
26810 attribute, otherwise the size would be wrong for i386 platform.
26811
26812 * include/grub/pci.h (grub_pci_read_word): New inline function.
26813 (grub_pci_read_byte): Likewise.
26814 (grub_pci_write): Likewise.
26815 (grub_pci_write_word): Likewise.
26816 (grub_pci_write_byte): Likewise.
26817
26818 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
26819
26820 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
26821 (find_framebuf): Scan pci to locate the frame buffer address.
26822
26823 * commands/efi/fixvideo.c: New file.
26824
26825 * commands/efi/loadbios.c: Likewise.
26826
26827 * commands/memrw.c: Likewise.
26828
26829 * util/grub-dumpbios.in: Likewise.
26830
26831 * conf/common.rmk (grub-dumpbios): New utility.
26832 (pkglib_MODULES): New module memrw.mod.
26833 (memrw_mod_SOURCE): New macro.
26834 (memrw_mod_CFLAGS): Likewise.
26835 (memrw_mod_LDFLAGS): Likewise.
26836
7dd4a573 26837 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26838 fixvideo.mod.
26839 (loadbios_mod_SOURCE): New macro.
26840 (loadbios_mod_CFLAGS): Likewise.
26841 (loadbios_mod_LDFLAGS): Likewise.
26842 (fixvideo_mod_SOURCE): Likewise.
26843 (fixvideo_mod_CFLAGS): Likewise.
26844 (fixvideo_mod_LDFLAGS): Likewise.
26845
7dd4a573 26846 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 26847 fixvideo.mod.
26848 (loadbios_mod_SOURCE): New macro.
26849 (loadbios_mod_CFLAGS): Likewise.
26850 (loadbios_mod_LDFLAGS): Likewise.
26851 (fixvideo_mod_SOURCE): Likewise.
26852 (fixvideo_mod_CFLAGS): Likewise.
26853 (fixvideo_mod_LDFLAGS): Likewise.
26854
af63ada2 268552009-04-08 Felix Zielcke <fzielcke@z-51.de>
26856
26857 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
26858
c2cdde70 268592009-04-07 David S. Miller <davem@davemloft.net>
26860
26861 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
26862 support for R_SPARC_OLO10 relocations. Fix compile warning for
26863 R_SPARC_WDISP30 case.
ea3f72cf 26864 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 26865
761319cf 268662009-04-06 Pavel Roskin <proski@gnu.org>
26867
1007d1f5 26868 * include/grub/misc.h (ARRAY_SIZE): New macro.
26869 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26870 New macro.
26871 * loader/i386/linux.c (allocate_pages): Use free_pages().
26872 (grub_linux_unload): Don't use free_pages().
26873 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26874 wrong index. Treat all other modes as text modes.
26875 (grub_cmd_linux): Initialize vid_mode unconditionally to
26876 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26877
761319cf 26878 * commands/help.c (print_command_help): Use cmd->prio, not
26879 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26880
ea761d40 268812009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 26882
ea761d40 26883 Parttool
26884
26885 * parttool/pcpart.c: new file
26886 * commands/parttool.c: likewise
26887 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26888 (parttool_mod_SOURCES): new variable
26889 (parttool_mod_CFLAGS): likewise
26890 (parttool_mod_LDFLAGS): likewise
26891 (pcpart_mod_SOURCES): likewise
26892 (pcpart_mod_CFLAGS): likewise
26893 (pcpart_mod_LDFLAGS): likewise
7dd4a573 26894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 26895 and parttool/pcpart.c
26896 * conf/i386-efi.rmk: likewise
26897 * conf/i386-ieee1275.rmk: likewise
26898 * conf/i386-pc.rmk: likewise
26899 * conf/powerpc-ieee1275.rmk: likewise
26900 * conf/sparc64-ieee1275.rmk: likewise
26901 * conf/x86_64-ieee1275.rmk: likewise
26902
05aaebfb 269032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26904
26905 Support for mtime and further expandability of dir command
26906
26907 * include/grub/lib/datetime.h: moved to ...
7dd4a573 26908 * include/grub/datetime.h: ... moved here and added
05aaebfb 26909 declaration of grub_unixtime2datetime. All users updated
7dd4a573 26910 * include/grub/fs.h: new syntax for dir and mtime functions in
26911 struct grub_fs
05aaebfb 26912 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26913 and GRUB_FSHELP_FLAGS_MASK
26914 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26915 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26916 (grub_ext2_mtime): new function
26917 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26918 (grub_hfsplus_mtime): new function
26919 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26920 (GRUB_UFS_ATTR_FILE): likewise
26921 (GRUB_UFS_ATTR_LNK): likewise
26922 (struct grub_ufs_sblock): new fields mtime
26923 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26924 all users updated
26925 (grub_ufs_dir): mtime support
26926 (grub_ufs_mtime): new function
26927 * fs/affs.c (grub_affs_dir): use new dir syntax
26928 * fs/afs.c (grub_afs_dir): likewise
26929 * fs/cpio.c (grub_cpio_dir): likewise
26930 * fs/fat.c (grub_fat_find_dir): likewise
26931 * fs/hfs.c (grub_hfs_dir): likewise
26932 * fs/iso9660.c (grub_iso9660_dir): likewise
26933 * fs/jfs.c (grub_jfs_dir): likewise
26934 * fs/minix.c (grub_minix_dir): likewise
26935 * fs/ntfs.c (grub_ntfs_dir): likewise
26936 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26937 * fs/sfs.c (grub_sfs_dir): likewise
26938 * fs/xfs.c (grub_xfs_dir): likewise
26939 * util/hostfs.c (grub_hostfs_dir): likewise
26940 * lib/datetime.c: moved to ...
26941 * normal/datetime.c: ... moved here
26942 (grub_unixtime2datetime): new function
26943 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 26944 * normal/completion.c (iterate_dir): use new dir syntax
26945 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 26946 last modification time of a volume
7dd4a573 26947 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 26948 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 26949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 26950 (normal_mod_SOURCES): likewise
26951 (datetime_mod_SOURCES): Removed lib/datetime.c
26952 * conf/i386-efi.rmk: likewise
7dd4a573 26953 * conf/i386-ieee1275.rmk: likewise
05aaebfb 26954 * conf/i386-pc.rmk: likewise
26955 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 26956 * conf/sparc64-ieee1275.rmk: likewise
26957 * conf/x86_64-efi.rmk: likewise
05aaebfb 26958
8a7e1a14 269592009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26960
26961 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 26962
26963 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 26964 on grub_fat_find_dir
26965 (grub_fat_find_dir): use grub_fat_iterate_dir
26966 (grub_fat_label): likewise
26967
04186a9c 269682009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26969
7dd4a573 26970 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 26971 and command.h
26972 remove extraneous kernel_elf_HEADERS
26973
da4c0bb6 269742009-04-04 Bean <bean123ch@gnail.com>
26975
26976 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26977
26978 * util/misc.c: Likewise.
26979
54ad9555 269802009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26981
26982 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26983 instead of grub_printf.
26984
7a6bf9f2 269852009-04-03 Robert Millan <rmh@aybabtu.com>
26986
26987 * loader/i386/linux.c (grub_linux_setup_video): Fill
26988 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26989 values from `mode info' structure instead of hardcoded
26990 values.
26991
3fcc2083 269922009-04-01 Pavel Roskin <proski@gnu.org>
26993
26994 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
26995 unused now.
26996 * genmk.rb: Likewise.
26997 * configure.ac: Likewise.
26998
5ec9740b 269992009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27000
27001 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27002 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27003
5270cec8 270042009-04-01 David S. Miller <davem@davemloft.net>
27005
27006 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27007 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27008 (grub_setjmp): Mark with 'returns_twice' attribute.
27009 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27010 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27011 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27012
9c3dd854 270132009-04-01 Robert Millan <rmh@aybabtu.com>
27014
27015 Reapply fix from 2008-07-28 which was accidentally reverted; also
27016 perform the same fix to a similar check in same function.
27017
27018 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27019 with the same number are found, just use issue a warning with
27020 grub_dprintf(), as this error has been reported to be non-fatal.
27021
0d818b7e 270222009-03-31 Pavel Roskin <proski@gnu.org>
27023
27024 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27025 for cross-compilation.
27026
95646d92 270272009-03-30 Robert Millan <rmh@aybabtu.com>
27028
27029 Fix i386-ieee1275 build.
27030
27031 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27032 Remove declaration.
27033
6a003ed1 270342009-03-30 Pavel Roskin <proski@gnu.org>
27035
27036 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27037 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27038 zero-terminated, rely only on the strlen value. Fix comparison
27039 of strings differing in length.
27040
92f33540 270412009-03-30 Robert Millan <rmh@aybabtu.com>
27042
27043 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27044 checking for abi version. Improve error messages on BIOS to notify
27045 user about `linux16' command.
27046
a8c48fd5 270472009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27048
f968172e 27049 Leak fixes
a8c48fd5 27050
f968172e 27051 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27052 in case of collision
27053 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27054
9c323f09 270552009-03-29 Robert Millan <rmh@aybabtu.com>
27056
27057 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27058 set `vid_mode' accordingly.
27059 (grub_linux_boot): Process `vid_mode' and set video mode.
27060
ae68f423 270612009-03-29 Robert Millan <rmh@aybabtu.com>
27062
27063 * util/grub.d/10_linux.in (linux_entry): New function.
27064 Factorize generation of Linux boot entries.
27065
5709cfc4 270662009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27067
27068 Make the format of Environment Block plain text. The boot loader
27069 part is not tested well yet.
7dd4a573 27070
5709cfc4 27071 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27072 (buffer): Removed.
27073 (envblk): Likewise.
27074 (usage): Remove "info" and "clear". Add "unset". Update the
27075 description of "set", as this does not delete variables any
27076 longer.
27077 (create_envblk_file): Complete rewrite.
27078 (open_envblk_file): Likewise.
27079 (cmd_info): Removed.
27080 (cmd_list): Likewise.
27081 (cmd_set): Likewise.
27082 (cmd_clear): Likewise.
27083 (list_variables): New function.
27084 (write_envblk): Likewise.
27085 (set_variables): Likewise.
27086 (unset_variables): Likewise.
27087 (main): Complete rewrite.
27088
27089 * commands/loadenv.c (buffer): Removed.
27090 (envblk): Likewise.
27091 (open_envblk_file): New function.
27092 (read_envblk_file): Complete rewrite.
27093 (grub_cmd_load_env): Likewise.
27094 (grub_cmd_list_env): Likewise.
27095 (struct blocklist): New struct.
27096 (free_blocklists): New function.
27097 (check_blocklists): Likewise.
27098 (write_blocklists): Likewise.
27099 (grub_cmd_save_env): Complete rewrite.
27100
27101 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27102 a plain text signature.
27103 (GRUB_ENVBLK_MAXLEN): Removed.
27104 (struct grub_envblk): Complete rewrite.
27105 (grub_envblk_find): Removed.
27106 (grub_envblk_insert): Likewise.
27107 (grub_envblk_open): New prototype.
27108 (grub_envblk_set): Likewise.
27109 (grub_envblk_delete): Put const to VALUE.
27110 (grub_envblk_iterate): Put const to NAME and VALUE.
27111 (grub_envblk_close): New prototype.
27112 (grub_envblk_buffer): New inline function.
27113 (grub_envblk_size): Likewise.
27114
27115 * lib/envblk.c: Include grub/mm.h.
27116 (grub_env_find): Removed.
27117 (grub_envblk_open): New function.
27118 (grub_envblk_close): Likewise.
27119 (escaped_value_len): Likewise.
27120 (find_next_line): Likewise.
27121 (grub_envblk_insert): Removed.
27122 (grub_envblk_set): New function.
27123 (grub_envblk_delete): Complete rewrite.
27124 (grub_envblk_iterate): Likewise.
27125
a9368fd3 271262009-03-28 Robert Millan <rmh@aybabtu.com>
27127
27128 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27129 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27130 variables. Use 16-bit loader.
27131 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27132 loader.
27133 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27134 (grub_linux16_boot): ... this. Update all users.
27135 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27136 (grub_linux_boot): ... this. Update all users.
27137
27138 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27139 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27140 commands to `linux16' and `initrd16'.
27141 (GRUB_MOD_FINI(linux)): Rename to ...
27142 (GRUB_MOD_FINI(linux16)): ... this.
27143
e4dd5a7e 271442009-03-24 Pavel Roskin <proski@gnu.org>
27145
27146 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27147 not just for compilation.
27148
c04d6e05 271492009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27150
27151 Move multiboot helper out of kernel
27152
27153 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27154 `loader/i386/multiboot_helper.S'.
27155 * conf/i386-coreboot.rmk: Likewise
27156 * conf/i386-ieee1275.rmk: Likewise
27157
27158 * kern/i386/loader.S: Move multiboot helpers from here...
27159 * loader/i386/multiboot_helper.S: ...moved here
27160 * include/grub/i386/loader.h: Move declarations of multiboot
27161 helpers from here...
27162 * include/grub/i386/multiboot.h: ...moved here
27163 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27164
42a5b3fc 271652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27166
27167 * kern/env.c (grub_env_context_open): Added an argument to specify
27168 whether a new context inherits exported variables from current
27169 one. This is useful when making a sandbox to interpret a config
27170 file.
27171 All callers updated.
27172
27173 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27174
b28bbc4e 271752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27176
27177 * kern/env.c (grub_env_context_close): Fix memory leaks.
27178
f04f02e4 271792009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27180
27181 * normal/main.c (grub_normal_execute): Added an argument
27182 BATCH to specify if an interactive interface should be provided
27183 after reading a config file.
27184 All callers updated.
27185 (read_command_list): Prevent being executed twice.
27186 (read_fs_list): Likewise.
27187
42a5b3fc 27188 * include/grub/normal.h (grub_normal_execute): Updated the
27189 prototype.
f04f02e4 27190
41473ac2 271912009-03-22 Pavel Roskin <proski@gno.org>
27192
fbc00b0c 27193 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27194 _start.
27195 * kern/i386/pc/startup.S: Likewise.
27196 * kern/i386/efi/startup.S: Likewise.
27197 * kern/i386/ieee1275/startup.S: Likewise.
27198 * kern/i386/coreboot/startup.S: Likewise.
27199 * kern/x86_64/efi/startup.S: Likewise.
27200
41473ac2 27201 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27202 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27203 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27204
2274cc8f 272052009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27206
27207 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27208
27209 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27210 limit detection.
27211 Use vaddr of correct segment for entry_point.
27212
b1b797cb 272132009-03-21 Bean <bean123ch@gmail.com>
27214
27215 * commands/blocklist.c: Add include file <grub/command.h>, remove
27216 <grub/normal.h> and <grub/arg.h>.
27217 (grub_cmd_blocklist): Use the new command interface.
27218 (GRUB_MOD_INIT): Likewise.
27219 (GRUB_MOD_FINI): Likewise.
27220 * commands/boot.c: Likewise.
27221 * commands/cat.c: Likewise.
27222 * commands/cmp.c: Likewise.
27223 * commands/configfile.c: Likewise.
27224 * commands/crc.c: Likewise.
27225 * commands/echo.c: Likewise.
27226 * commands/halt.c: Likewise.
27227 * commands/handler.c: Likewise.
27228 * commands/hdparm.c: Likewise.
27229 * commands/help.c: Likewise.
27230 * commands/hexdump.c: Likewise.
27231 * commands/loadenv.c: Likewise.
27232 * commands/ls.c: Likewise.
27233 * commands/lsmmap.c: Likewise.
27234 * commands/lspci.c: Likewise.
27235 * commands/loadenv.c: Likewise.
27236 * commands/read.c: Likewise.
27237 * commands/reboot.c: Likewise.
27238 * commands/search.c: Likewise.
27239 * commands/sleep.c: Likewise.
27240 * commands/test.c: Likewise.
27241 * commands/usbtest.c: Likewise.
27242 * commands/videotest.c: Likewise.
27243 * commands/i386/cpuid.c: Likewise.
27244 * commands/i386/pc/halt.c: Likewise.
27245 * commands/i386/pc/play.c: Likewise.
27246 * commands/i386/pc/pxecmd.c: Likewise.
27247 * commands/i386/pc/vbeinfo.c: Likewise.
27248 * commands/i386/pc/vbetest.c: Likewise.
27249 * commands/ieee1275/suspend.c: Likewise.
27250 * disk/loopback.c: Likewise.
27251 * font/font_cmd.c: Likewise.
27252 * hello/hello.c: Likewise.
27253 * loader/efi/appleloader.c: Likewise.
27254 * loader/efi/chainloader.c: Likewise.
27255 * loader/i386/bsd.c: Likewise.
27256 * loader/i386/efi/linux.c: Likewise.
27257 * loader/i386/ieee1275/linux.c: Likewise.
27258 * loader/i386/linux.c: Likewise.
27259 * loader/i386/pc/chainloader.c: Likewise.
27260 * loader/i386/pc/linux.c: Likewise.
27261 * loader/powerpc/ieee1275/linux.c: Likewise.
27262 * loader/multiboot_loader.c: Likewise.
27263 * term/gfxterm.c: Likewise.
27264 * term/i386/pc/serial.c: Likewise.
27265 * term/terminfo.c: Likewise.
27266
27267 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27268 * term/i386/pc/vga.c: Likewise.
27269 * video/readers/jpeg.c: Likewise.
27270 * video/readers/png.c: Likewise.
27271 * video/readers/tga.c: Likewise.
27272
27273 * util/grub-fstest (cmd_loopback): Removed.
27274 (cmd_blocklist): Likewise.
27275 (cmd_ls): Likewise.
27276 (grub_register_command): Likewise.
27277 (grub_unregister_command): Likewise.
27278 (execute_command): Use grub_command_find to locate command and execute
27279 it.
27280
27281 * include/grub/efi/chainloader.h: Removed.
27282 * loader/efi/chainloader_normal.c: Likewise.
27283 * loader/i386/bsd_normal.c: Likewise.
27284 * loader/i386/pc/chainloader_normal.c: Likewise.
27285 * loader/i386/pc/multiboot_normal.c: Likewise.
27286 * loader/linux_normal.c: Likewise.
27287 * loader/multiboot_loader_normal.c: Likewise.
27288 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27289
27290 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27291 and grub_register_command_p1.
27292
27293 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27294 kern/command.c, lib/arg.c and commands/extcmd.c.
27295 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27296 (minicmd_mod_SOURCES): New variable.
27297 (minicmd_mod_CFLAGS): Likewise.
27298 (minicmd_mod_LDFLAGS): Likewise.
27299 (extcmd_mod_SOURCES): Likewise.
27300 (extcmd_mod_CFLAGS): Likewise.
27301 (extcmd_mod_LDFLAGS): Likewise.
27302 (boot_mod_SOURCES): Removed.
27303 (boot_mod_CFLAGS): Likewise.
27304 (boot_mod_LDFLAGS): Likewise.
27305
27306 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27307 kern/corecmd.c.
27308 (kernel_img_HEADERS): Add command.h.
27309 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27310 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27311 and lib/arg.c.
27312 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27313 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27314 remove the corresponding normal mode command.
27315 (normal_mod_SOURCES): Remove normal/arg.c.
27316 * conf/i386-coreboot.rmk: Likewise.
27317 * conf/i386-efi.rmk: Likewise.
27318 * conf/i386-ieee1275.rmk: Likewise.
27319 * conf/powerpc-ieee1275.rmk: Likewise.
27320 * conf/x86_64-efi.rmk: Likewise.
27321
27322 * include/grub/arg.h: Move from here ...
27323 * include/grub/lib/arg.h: ... to here.
27324
27325 * normal/arg.c: Move from here ...
27326 * lib/arg.c: ... to here.
27327
27328 * commands/extcmd.c: New file.
27329 * commands/minicmd.c: Likewise.
27330 * include/grub/command.h: Likewise.
27331 * include/grub/extcmd.h: Likewise.
27332 * kern/command.c: Likewise.
27333 * kern/corecmd.c: Likewise.
27334
27335 * kern/list.c (grub_list_iterate): Return int instead of void.
27336 (grub_list_insert): New function.
27337 (grub_prio_list_insert): Likewise.
27338
27339 * kern/rescue.c (grub_rescue_command): Removed.
27340 (grub_rescue_command_list): Likewise.
27341 (grub_rescue_register_command): Likewise.
27342 (grub_rescue_unregister_command): Likewise.
27343 (grub_rescue_cmd_boot): Move to minicmd.c
27344 (grub_rescue_cmd_help): Likewise.
27345 (grub_rescue_cmd_info): Likewise.
27346 (grub_rescue_cmd_boot): Likewise.
27347 (grub_rescue_cmd_testload): Likewise.
27348 (grub_rescue_cmd_dump): Likewise.
27349 (grub_rescue_cmd_rmmod): Likewise.
27350 (grub_rescue_cmd_lsmod): Likewise.
27351 (grub_rescue_cmd_exit): Likewise.
27352 (grub_rescue_print_devices): Moved to corecmd.c.
27353 (grub_rescue_print_files): Likewise.
27354 (grub_rescue_cmd_ls): Likewise.
27355 (grub_rescue_cmd_insmod): Likewise.
27356 (grub_rescue_cmd_set): Likewise.
27357 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27358 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27359 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27360 commands, remove grub_rescue_register_command calls.
b1b797cb 27361
7d074e3c 27362 * normal/command.c (grub_register_command): Removed.
b1b797cb 27363 (grub_unregister_command): Likewise.
27364 (grub_command_find): Likewise.
27365 (grub_iterate_commands): Likewise.
27366 (rescue_command): Likewise.
27367 (export_command): Moved to corecmd.c.
27368 (set_command): Removed.
27369 (unset_command): Likewise.
27370 (insmod_command): Likewise.
27371 (rmmod_command): Likewise.
27372 (lsmod_command): Likewise.
27373 (grub_command_init): Likewise.
27374
27375 * normal/completion.c (iterate_command): Use cmd->prio to check for
27376 active command.
27377 (complete_arguments): Use grub_extcmd_t structure to find options.
27378 (grub_normal_do_completion): Change function grub_iterate_commands to
27379 grub_command_iterate.
27380
27381 * normal/execute.c (grub_script_execute_cmd): No need to parse
27382 argument here.
27383
27384 * normal/main.c (grub_dyncmd_dispatcher): New function.
27385 (read_command_list): Register unload commands as dyncmd.
27386 (grub_cmd_normal): Use new command interface, register rescue,
27387 unregister normal at entry, register normal, unregister rescue at exit.
27388
27389 * include/grub/list.h (grub_list_test_t): New type.
27390 (grub_list_iterate): Return int instead of void.
27391 (grub_list_insert): New function.
27392 (GRUB_AS_NAMED_LIST_P): New macro.
27393 (GRUB_AS_PRIO_LIST): Likewise.
27394 (GRUB_AS_PRIO_LIST_P): Likewise.
27395 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27396 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27397 (grub_prio_list): New structure.
27398 (grub_prio_list_insert): New function.
27399 (grub_prio_list_remove): New inline function.
27400
27401 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27402 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27403 (GRUB_COMMAND_FLAG_MENU): Likewise.
27404 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27405 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27406 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27407 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27408 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27409 (grub_command): Likewise.
27410 (grub_register_command): Likewise.
27411 (grub_command_find): Likewise.
27412 (grub_iterate_commands): Likewise.
27413 (grub_command_init): Likewise.
27414 (grub_arg_parse): Likewise.
27415 (grub_arg_show_help): Likewise.
27416
27417 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27418 (grub_rescue_unregister_command): Likewise.
27419
27420 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27421 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27422 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27423
27424 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27425 grub_rescue_cmd_initrd.
27426 * include/grub/i386/loader.h: Likewise.
27427 * include/grub/x86_64/loader.h: Likewise.
27428
27429 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27430
1f4147aa 274312009-03-21 Bean <bean123ch@gmail.com>
27432
27433 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27434 instead of stat in mingw environment.
27435
27436 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27437
27438 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27439
27440 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27441 AC_CONFIG_LINKS.
27442
2156d5ba 274432009-03-21 Bean <bean123ch@gmail.com>
27444
27445 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27446 out of range error.
27447
177b82ca 274482009-03-18 Michel Dänzer <michel@daenzer.net>
27449
27450 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27451 checking inode flags for EXT4_EXTENTS_FLAG.
27452
14aad807 274532009-03-18 Robert Millan <rmh@aybabtu.com>
27454
27455 * loader/i386/linux.c: Include `<grub/video.h>' and
27456 `<grub/i386/pc/vbe.h>'..
27457 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27458 (grub_linux32_boot): Attempt to configure video settings with
27459 grub_linux_setup_video().
27460 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27461 to avoid grub_console_fini() which would step out of graphical mode
27462 unconditionally.
27463
8cf83a27 274642009-03-14 Robert Millan <rmh@aybabtu.com>
27465
27466 Fix build on powerpc.
27467 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27468
40164e75 274692009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27470
27471 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27472 background image command.
27473
c58bc32a 274742009-03-12 Colin D Bennett <colin@gibibit.com>
27475
27476 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27477 (grub_gfxterm_putchar): Extract pairs of identical calls to
27478 draw_cursor out of conditional blocks.
27479
5415144a 274802009-03-11 Pavel Roskin <proski@gnu.org>
27481
27482 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27483 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27484
6394042e 274852009-03-11 Robert Millan <rmh@aybabtu.com>
27486
27487 * loader/i386/multiboot_elfxx.c
27488 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27489
b7b50e5f 274902009-03-11 Felix Zielcke <fzielcke@z-51.de>
27491
27492 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27493 `kern/handler.c'.
27494
1ca7fc96 274952009-03-11 Robert Millan <rmh@aybabtu.com>
27496
27497 * loader/i386/multiboot.c (code_size): New variable.
27498 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 27499 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 27500 4-byte alignment to MBI and others by increasing
7d074e3c 27501 `boot_loader_name_length' appropriately.
1ca7fc96 27502
27503 * loader/i386/multiboot_elfxx.c
27504 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27505
a83ea1d2 275062009-03-09 Felix Zielcke <fzielcke@z-51.de>
27507
27508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27509 `fs/ext2.c'.
27510
aa9f3bff 275112009-03-08 Robert Millan <rmh@aybabtu.com>
27512
27513 Make loader/i386/linux.c usable on i386-pc again.
27514
27515 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27516 memory to heap.
27517 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27518 `#error' stanza.
27519
d8b3b60e 275202009-03-07 Bean <bean123ch@gmail.com>
27521
27522 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27523 allocation.
27524
b362c9e9 275252009-03-06 Robert Millan <rmh@aybabtu.com>
27526
27527 Fix display issue on terminals with screen size other than 80x25
27528 (e.g. gfxterm with resolution higher than 640x480).
27529
27530 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 27531 position relative to the center of the terminal instead of relying
b362c9e9 27532 on a hardcoded offset.
27533
9304eef1 275342009-03-04 Robert Millan <rmh@aybabtu.com>
27535
27536 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27537 installed.
27538
27539 * Makefile.in (host_kernel): New variable.
27540 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27541 scripts instead of just the windows one.
27542 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27543
eabc95fb 275442009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 27545
27546 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27547 `kern/handler.c'.
27548 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27549 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27550 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27552 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27553 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27554
ceb1223c 275552009-03-04 Felix Zielcke <fzielcke@z-51.de>
27556
27557 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27558 or if there's no space for the disk label and print the partition number on a
27559 invalid magic.
27560
4910684a 275612009-03-04 Felix Zielcke <fzielcke@z-51.de>
27562
27563 * util/misc.c: Include <time.h>.
27564 (grub_millisleep): New function.
27565
7e9ca17a 275662009-03-04 Bean <bean123ch@gmail.com>
27567
27568 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27569 another option -mno-red-zone.
27570
27571 * commands/handler.c: Change module description.
27572
27573 * kern/handler.c: Add missing space at the end of description line.
27574
27575 * kern/list.c: Likewise.
27576
f501677c 275772009-03-03 Robert Millan <rmh@aybabtu.com>
27578
27579 Move more components to the relocation area, and fix mbi pointer
27580 handling to use the destination rather than the origin (thanks to
27581 Vladimir Serbinenko for spotting).
27582
27583 * loader/i386/multiboot.c (mbi_dest): New variable.
27584 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27585 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27586 relocation area.
27587
9902d047 275882009-03-01 Bean <bean123ch@gmail.com>
27589
50fb7002 27590 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 27591 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27592 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27593 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27594
27595 * loader/i386/efi/linux.c (acpi_guid): New variable.
27596 (acpi_guid): Likewise.
27597 (EBDA_SEG_ADDR): New constant.
27598 (LOW_MEM_ADDR): Likewise.
27599 (FAKE_EBDA_SEG): Likewise.
27600 (fake_bios_data): New function.
27601 (grub_linux_boot): Call fake_bios_data.
27602
71b9f361 276032009-03-01 Bean <bean123ch@gmail.com>
27604
27605 * commands/terminal.c: Removed.
27606
27607 * commands/handler.c: New file.
27608
27609 * include/grub/list.h: Likewise.
27610
27611 * include/grub/handler.h: Likewise.
27612
27613 * kern/list.c: Likewise.
27614
27615 * kern/handler.c: Likewise.
27616
27617 * kern/term.h: Include header file <grub/handler.h>.
27618 (grub_term_input): Move next field to the beginning.
27619 (grub_term_output): Likewise.
27620 (grub_term_input_class): New variable.
27621 (grub_term_output_class): Likewise.
27622 (grub_term_register_input): Changed to inline function.
27623 (grub_term_register_output): Likewise.
27624 (grub_term_unregister_input): Likewise.
27625 (grub_term_unregister_output): Likewise.
27626 (grub_term_set_current_input): Likewise.
27627 (grub_term_set_current_output): Likewise.
27628 (grub_term_get_current_input): Likewise.
27629 (grub_term_get_current_output): Likewise.
27630 (grub_term_iterate_input): Removed.
27631 (grub_term_iterate_output): Likewise.
27632
27633 * kern/term.c (grub_term_list_input): Removed.
27634 (grub_term_list_output): Likewise.
27635 (grub_term_input_class): New variable.
27636 (grub_term_output_class): Likewise.
50fb7002 27637 (grub_cur_term_input): Change variable as macro.
71b9f361 27638 (grub_cur_term_output): Likewise.
27639 (grub_term_register_input): Removed.
27640 (grub_term_register_output): Likewise.
27641 (grub_term_unregister_input): Likewise.
27642 (grub_term_unregister_output): Likewise.
27643 (grub_term_set_current_input): Likewise.
27644 (grub_term_set_current_output): Likewise.
27645 (grub_term_iterate_input): Likewise.
27646 (grub_term_iterate_output): Likewise.
27647 (grub_term_get_current_input): Likewise.
27648 (grub_term_get_current_output): Likewise.
27649
27650 * util/grub-editenv.c: Include header file <grub/handler.h>.
27651 (grub_term_get_current_input): Removed.
27652 (grub_term_get_current_output): Likewise.
27653 (grub_term_input_class): New variable.
50fb7002 27654 (grub_term_output_class): Likewise.
71b9f361 27655
27656 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27657 (grub_term_get_current_output): Likewise.
27658 (grub_term_input_class): New variable.
50fb7002 27659 (grub_term_output_class): Likewise.
71b9f361 27660
27661 * util/grub-probe.c (grub_term_get_current_input): Removed.
27662 (grub_term_get_current_output): Likewise.
27663 (grub_term_input_class): New variable.
50fb7002 27664 (grub_term_output_class): Likewise.
71b9f361 27665
27666 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27667 (grub_term_get_current_output): Likewise.
27668 (grub_term_input_class): New variable.
50fb7002 27669 (grub_term_output_class): Likewise.
71b9f361 27670
27671 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27672 (terminal_mod_SOURCES): Likewise.
27673 (terminal_mod_CFLAGS): Likewise.
27674 (terminal_mod_LDFLAGS): Likewise.
27675
27676 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27677 handler.c.
27678 (kernel_img_SOURCES): Add list.c and handler.c.
27679 (kernel_img_HEADERS): Add list.h and handler.h.
27680
27681 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27682 handler.c.
27683 (kernel_mod_SOURCES): Add list.c and handler.c.
27684 (kernel_mod_HEADERS): Add list.h and handler.h.
27685
27686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27687 handler.c.
27688 (kernel_elf_SOURCES): Add list.c and handler.c.
27689 (kernel_elf_HEADERS): Add list.h and handler.h.
27690
27691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27692 handler.c.
27693 (kernel_elf_SOURCES): Add list.c and handler.c.
27694 (kernel_elf_HEADERS): Add list.h and handler.h.
27695
27696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27697 handler.c.
27698 (kernel_mod_SOURCES): Add list.c and handler.c.
27699 (kernel_mod_HEADERS): Add list.h and handler.h.
27700
27701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27702 handler.c.
27703 (kernel_elf_SOURCES): Add list.c and handler.c.
27704 (kernel_elf_HEADERS): Add list.h and handler.h.
27705
8a31787f 277062009-02-27 Robert Millan <rmh@aybabtu.com>
27707
27708 Factorize elf32 / elf64 code in Multiboot loader. This will
27709 prevent it from getting out of sync again.
27710
27711 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
27712 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
27713 grub_multiboot_load_elf64): Move from here ...
27714 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
27715 grub_multiboot_load_elf): ... to here (new file).
27716
51cd3dfc 277172009-02-27 Robert Millan <rmh@aybabtu.com>
27718
27719 * util/grub.d/10_linux.in: Rename "single-user mode" to
27720 "recovery mode".
27721
6e8c9c3a 277222009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
27723
27724 Don't leak in SCSI code.
27725 * disk/scsi.c (grub_scsi_close): free `scsi'.
27726
4b6bf4f9 277272009-02-27 Robert Millan <rmh@aybabtu.com>
27728
27729 * loader/i386/pc/multiboot.c: Move from here ...
27730 * loader/i386/multiboot.c: ... to here. Update all users.
27731
b9413424 277322009-02-27 Robert Millan <rmh@aybabtu.com>
27733
27734 Patch from Alexandre Bique <bique.alexandre@gmail.com>
27735 * util/i386/pc/grub-setup.c (setup): Fix directory path.
27736
50fb7002 277372009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 27738
27739 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
27740 b-tree.
27741
8cc50345 277422009-02-27 Robert Millan <rmh@aybabtu.com>
27743
27744 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
27745 `0x' qualifier as 0 when base is specified as parameter).
27746
6e09b8b7 277472009-02-24 Bean <bean123ch@gmail.com>
27748
27749 * configure.ac: Check for -mcmodel=large in x86_64 target.
27750
27751 * include/grub/efi/api.h (efi_call_10): New macro.
27752 (efi_wrap_10): New function.
27753
27754 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
27755 (GRUB_PE32_REL_BASED_HIGH): Likewise.
27756 (GRUB_PE32_REL_BASED_LOW): Likewise.
27757 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
27758 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
27759 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
27760 (GRUB_PE32_REL_BASED_SECTION): Likewise.
27761 (GRUB_PE32_REL_BASED_REL): Likewise.
27762 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
27763 (GRUB_PE32_REL_BASED_DIR64): Likewise.
27764 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
27765
27766 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
27767 issue.
27768
27769 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
27770 (efi_wrap_10): New function.
27771
27772 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
27773
27774 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
27775 MB/MBP model (NV chipset).
27776 (devdata_devs): Add devpath_5 to the list.
27777
27778 * load/i386/efi/linux.c (video_base): Remove variable.
27779 (RGB_MASK): New macro.
27780 (RGB_MAGIC): Likewise.
27781 (LINE_MIN): Likewise.
27782 (LINE_MAX): Likewise.
27783 (FBTEST_STEP): Likewise.
27784 (FBTEST_COUNT): Likewise.
27785 (fb_list): New variable.
27786 (grub_find_video_card): Remove function.
27787 (find_framebuf): New function.
27788 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
27789 line length.
27790
27791 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
27792 problem for x86_64.
27793
74b21bee 277942009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
27795
27796 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
27797
27798 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
27799 coding tool name.
27800
a455f472 278012009-02-22 Robert Millan <rmh@aybabtu.com>
27802
27803 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
27804 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
27805 in our relocation, instead of using it directly from heap. Also
27806 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
27807
6374daf3 278082009-02-21 Robert Millan <rmh@aybabtu.com>
27809
27810 Implement USB keyboard support (based on patch by Marco Gerards)
27811
27812 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
27813 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
27814 (usb_keyboard_mod_LDFLAGS): New variables.
27815
27816 * term/usb_keyboard.c: New file.
27817
8fa4ea70 278182009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 Corrected wrong declaration
27821
27822 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
27823
353976ac 278242009-02-14 Christian Franke <franke@computer.org>
27825
27826 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
27827 (grub_lspci_iter): Print class code and programming interface byte.
27828
6aa1169b 278292009-02-14 Christian Franke <franke@computer.org>
27830
27831 * gendistlist.sh: Ignore `.svn' directories.
27832
265372ca 278332009-02-14 Felix Zielcke <fzielcke@z-51.de>
27834
27835 * fs/fat.c: Add 2009 to Copyright line.
27836
9ff516f3 278372009-02-14 Christian Franke <franke@computer.org>
27838
27839 * commands/hdparm.c: New file. Provides `hdparm' command
27840 which sends ATA commands via grub_disk_ata_pass_through ().
27841
27842 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
27843
27844 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
27845 and <grub/cpu/io.h> to include/grub/ata.h.
27846 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
27847 (GRUB_CDROM_SECTOR_SIZE): Remove.
27848 (GRUB_ATA_*): Move to include/grub/ata.h.
27849 (GRUB_ATAPI_*): Likewise.
27850 (enum grub_ata_commands): Likewise.
27851 (enum grub_ata_timeout_milliseconds): Likewise.
27852 (struct grub_ata_device): Likewise.
27853 (grub_ata_regset): Likewise.
27854 (grub_ata_regget): Likewise.
27855 (grub_ata_regset2): Likewise.
27856 (grub_ata_regget2): Likewise.
27857 (grub_ata_check_ready): Likewise.
27858 (grub_ata_wait_not_busy): Remove static, exported in
27859 include/grub/ata.h.
27860 (grub_ata_wait_drq): Likewise.
27861 (grub_ata_pio_read): Likewise.
27862
27863 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
27864 function for hdparm.mod.
27865
27866 * include/grub/ata.h: New file, contains declarations from
27867 disk/ata.c.
27868 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
27869
27870 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27871 (grub_disk_ata_pass_through): New exported variable.
27872
27873 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27874
772e23da 278752009-02-13 Colin D Bennett <colin@gibibit.com>
27876
27877 Support multiple fallback entries, and provide an API to support
27878 executing default+fallback menu entries. Renamed the `terminal' menu
27879 viewer to `text'.
27880
27881 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27882 variable declaration.
27883 (grub_menu_execute_callback): New structure declaration.
27884 (grub_menu_execute_callback_t): New typedef.
27885 (grub_menu_execute_with_fallback): New function declaration.
27886 (grub_menu_get_entry): Likewise.
27887 (grub_menu_get_timeout): Likewise.
27888 (grub_menu_set_timeout): Likewise.
27889
27890 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27891
27892 * normal/menu.c (grub_wait_after_message): Moved to
27893 `normal/menu_text.c'.
27894 (draw_border): Likewise.
27895 (print_message): Likewise.
27896 (print_entry): Likewise.
27897 (print_entries): Likewise.
27898 (grub_menu_init_page): Likewise.
27899 (get_entry_number): Likewise.
27900 (print_timeout): Likewise.
27901 (run_menu): Likewise.
27902 (grub_menu_execute_entry): Likewise.
27903 (show_text_menu): Likewise.
27904 (get_and_remove_first_entry_number): New function.
27905 (grub_menu_execute_with_fallback): Likewise.
27906 (get_entry): Renamed to ...
27907 (grub_menu_get_entry): .. this and made it global.
27908 (get_timeout): Renamed to ...
27909 (grub_menu_get_timeout): ... this and made it global.
27910 (set_timeout): Renamed to ...
27911 (grub_menu_set_timeout): ... this and made it global.
27912 (grub_normal_terminal_menu_viewer): Renamed to ...
27913 (grub_normal_text_menu_viewer): ... this.
27914
27915 * normal/menu_text.c: New file. Extracted text-menu-specific code
27916 from normal/menu.c.
27917
27918 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27919 (normal_mod_SOURCES): Likewise.
27920
27921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27922 (normal_mod_SOURCES): Likewise.
27923
27924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27925 (normal_mod_SOURCES): Likewise.
27926
27927 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27928 (normal_mod_SOURCES): Likewise.
27929
27930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27931 (normal_mod_SOURCES): Likewise.
27932
27933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27934 (normal_mod_SOURCES): Likewise.
27935
27936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27937 (normal_mod_SOURCES): Likewise.
27938
16ac430e 279392009-02-11 Robert Millan <rmh@aybabtu.com>
27940
27941 * util/grub.d/00_header.in: Update old reference to `font' command.
27942
06ff20fc 279432009-02-10 Felix Zielcke <fzielcke@z-51.de>
27944
27945 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27946
27947 Based on patch from Javier Martín.
27948
96da9407 279492009-02-09 Felix Zielcke <fzielcke@z-51.de>
27950
27951 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 27952 to avoid false positives with FAT.
96da9407 27953 (grub_fstest_SOURCES): Likewise.
27954 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27955 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27958 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27959 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27960
6dca6fe4 279612009-02-09 Felix Zielcke <fzielcke@z-51.de>
27962
06ff20fc 27963 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 27964 bpb.version_specific.fat12_or_fat16.fstype and
27965 bpb.version_specific.fat32.fstype.
27966
2550c62f 279672009-02-08 Robert Millan <rmh@aybabtu.com>
27968
be110b30 27969 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 27970
56978920 279712009-02-08 Robert Millan <rmh@aybabtu.com>
27972
27973 * Makefile.in (host_os, host_cpu): New variables.
27974 (target_os): Remove. Update all users.
27975
d64399b5 279762009-02-08 Marco Gerards <marco@gnu.org>
27977
27978 * Makefile.in (enable_grub_emu_usb): New variable.
27979 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27980 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27981 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27982 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27983 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27984 `usbtest.mod' and `usbms.mod'.
27985 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27986 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27987 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27988 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27989 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27990 variables.
27991
27992 * disk/usbms.c: New file.
27993
27994 * include/grub/usb.h: Likewise.
27995
27996 * include/grub/usbtrans.h: Likewise.
27997
27998 * include/grub/usbdesc.h: Likewise.
27999
28000 * bus/usb/usbtrans.c: Likewise.
28001
28002 * bus/usb/ohci.c: Likewise.
28003
28004 * bus/usb/uhci.c: Likewise.
28005
28006 * bus/usb/usbhub.c: Likewise.
28007
28008 * bus/usb/usb.c: Likewise.
28009
28010 * commands/usbtest.c: Likewise.
28011
28012 * util/usb.c: Likewise.
50fb7002 28013
d64399b5 28014 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28015
28016 * configure.ac: Test for libusb presence.
50fb7002 28017
d64399b5 28018 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28019
2b40d6bb 280202009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28021
28022 * kern/mm.c: Add more comments.
28023
73a4ce81 280242009-02-08 Robert Millan <rmh@aybabtu.com>
28025
28026 Patch from Javier Martín.
28027 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28028 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28029
f821ce59 280302009-02-08 Robert Millan <rmh@aybabtu.com>
28031
28032 * fs/cpio.c: Split tar functionality to ...
28033 * fs/tar.c: ... here (new file). Update all users.
28034
aebfc4b0 280352009-02-07 Robert Millan <rmh@aybabtu.com>
28036
28037 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28038 backward-incompatible features.
28039
28040 Based on patch from Javier Martín, with some adjustments.
28041
50fb7002 280422009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28043
28044 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28045
0bb5115e 280462009-02-07 Robert Millan <rmh@aybabtu.com>
28047
28048 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28049 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28050 after the RAID stuff.
28051
38a0f8e7 280522009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28053
50fb7002 28054 Fixes problem when running vbetest command as reported by
38a0f8e7 28055 Vladimir Serbinenko <phcoder@gmail.com>.
28056
28057 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28058
3143cc1c 280592009-02-04 Felix Zielcke <fzielcke@z-51.de>
28060
28061 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28062 /dev/md/NpN style mdraid devices.
28063
9cba6fce 280642009-02-03 Felix Zielcke <fzielcke@z-51.de>
28065
28066 * util/unifont2pff.rb: Remove.
28067
e507a2c1 280682009-02-03 Felix Zielcke <fzielcke@z-51.de>
28069
28070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28071 `#'.
28072
d2c2b4cd 280732009-02-03 Felix Zielcke <fzielcke@z-51.de>
28074
28075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28077 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28078 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28082
b4315fb0 280832009-02-02 Christian Franke <franke@computer.org>
28084
28085 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28086
de3aa260 280872009-02-01 Felix Zielcke <fzielcke@z-51.de>
28088
7c3ff286 28089 * INSTALL: Note that we now require at least autoconf 2.59 and
28090 that LZO is optional.
de3aa260 28091
825a182b 280922009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28093
28094 Base on patch on bug #24154 created by Tomas Tintera
28095 <trosos@seznam.cz>.
28096
28097 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28098
a69ef770 280992009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28100
7c3ff286 28101 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28102 <bero@arklinux.org>.
28103
28104 * normal/parser.y (script_init): Add missing semicolon.
28105
6fa42fa6 281062009-01-31 Colin D Bennett <colin@gibibit.com>
28107
7c3ff286 28108 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28109 (free_menu_entry_classes): Added.
28110 (grub_normal_menu_addentry): Added class property handling.
28111 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28112 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28113
28114 * normal/menu_viewer.c: New file.
28115
28116 * normal/menu.c (run_menu_entry): Renamed to ...
28117 (grub_menu_execute_entry): ... this and made it as global.
28118 (grub_menu_run): Renamed to ...
28119 (show_text_menu): ... this and made it local.
28120 (show_text_menu): Adapt to new function names.
28121 (grub_normal_terminal_menu_viewer): New global variable.
28122
28123 * include/grub/menu.h: New file.
28124
28125 * include/grub/menu_viewer.h: New file.
28126
28127 * include/grub/normal.h: Added include to grub/menu.h.
28128 (grub_menu_entry): Moved to include/grub/menu.h.
28129 (grub_menu_entry_t): Likewise.
28130 (grub_menu): Likewise.
28131 (grub_menu_t): Likewise.
28132 (grub_normal_terminal_menu_viewer): Added.
28133 (grub_menu_execute_entry): Likewise.
28134 (grub_menu_run): Removed.
28135
28136 * DISTLIST: Added include/grub/menu.h.
28137 Added include/grub/menu_viewer.h.
28138 Added normal/menu_viewer.c.
28139
281402009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28141
28142 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28143 arglist for menutitle arguments.
28144
28145 * normal/main.c (grub_normal_menu_addentry): Likewise.
28146
28147 * normal/parser.y (menuentry): Likewise.
28148
28149 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28150
28151 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28152 (grub_script_create_cmdmenu): Likewise.
28153
28154 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28155
28156 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28157 changes.
28158
28159 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28160
28161 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28162
28163 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28164
28165 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28166
28167 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28168
28169 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28170
56192c23 281712009-01-30 Christian Franke <franke@computer.org>
28172
28173 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28174 in option help text.
28175
d72521b3 281762009-01-27 Pavel Roskin <proski@gnu.org>
28177
28178 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28179
994b5e84 281802009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28181
28182 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28183
28184 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28185
28186 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28187 unregister function.
28188
6a7eab2c 281892009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28190
28191 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28192
28193 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28194
28195 * util/grub-mkfont.c (usage): Fix typo.
28196
28197 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28198
1806b56e 281992009-01-26 Daniel Mierswa <impulze@impulze.org>
28200
3fb18f09 28201 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28202
336e1fb9 28203 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28204
1806b56e 28205 * kern/misc.c (grub_strcasecmp): New function.
28206 (grub_strcasecmp): Use grub_size_t instead of int for length.
28207 Fix return value.
28208 * include/grub/misc.h: Update function prototypes.
28209
580b2a0f 282102009-01-26 Robert Millan <rmh@aybabtu.com>
28211
28212 * configure.ac: Fix cross-compilation check.
ef257b36 28213
d31c24f1 282142009-01-22 Christian Franke <franke@computer.org>
28215
28216 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28217 (precision) digit string. Allow `.format2' without `format1' (width).
28218 Limit input chars for `%s' output to `format2' if specified. This is
28219 compatible with standard printf ().
28220
3138b44c 282212009-01-22 Christian Franke <franke@computer.org>
28222
28223 * disk/ata.c (grub_ata_wait_status): Replace by ...
28224 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28225 other status bits may be invalid while BSY is asserted.
28226 (grub_ata_check_ready): New function.
28227 (grub_ata_cmd): Removed.
28228 (grub_ata_wait_drq): New function.
28229 (grub_ata_strncpy): Remove inline.
28230 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28231 and error check now done by grub_ata_wait_drq ().
28232 (grub_ata_pio_write): Likewise.
28233 (grub_atapi_identify): Set DEV before check for !BSY. Use
28234 grub_ata_wait_drq () to wait for data.
28235 (grub_ata_device_initialize): Add status register check to
28236 detect missing SATA slave devices. Add debug messages.
28237 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28238 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28239 transfer loop by grub_ata_pio_write ().
28240 (grub_ata_identify): Set DEV before check for !BSY. Use
28241 grub_ata_wait_drq () to wait for data.
ef257b36 28242 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28243 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28244 read/write in one loop. Fix invalid command on write. Fix incomplete
28245 command on (size % batch) == 0. Add missing error check after write of
28246 last block. Add debug messages.
28247 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28248
59a64ef6 282492009-01-19 Christian Franke <franke@computer.org>
28250
28251 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28252 (GRUB_ATAPI_IREASON_*): Likewise.
28253 (grub_ata_pio_write): Fix timeout error return.
28254 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28255 (grub_atapi_wait_drq): New function.
28256 (grub_atapi_packet): New parameter `size'.
28257 Use grub_atapi_wait_drq () and direct write instead of
28258 grub_ata_pio_write ().
28259 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28260 reads the number of bytes requested by the device for each DRQ
28261 assertion.
28262 (grub_atapi_write): Remove old implementation, return not
28263 implemented instead.
28264
1cfe20b3 282652009-01-19 Christian Franke <franke@computer.org>
28266
28267 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28268 of 512 to calculate data size.
28269 (grub_scsi_read12): Likewise.
28270 (grub_scsi_write10): Likewise.
28271 (grub_scsi_write12): Likewise.
28272 (grub_scsi_read): Adjust size according to blocksize.
28273 Add checks for invalid blocksize and unaligned transfer.
28274
bee5fe5d 282752009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28276
28277 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28278
ef257b36 28279 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28280 width glyphs.
28281
3e643f8c 282822009-01-19 Robert Millan <rmh@aybabtu.com>
28283
28284 * config.guess: Update to latest version from config git.
28285 * config.sub: Likewise.
28286
4fa80998 282872009-01-17 Felix Zielcke <fzielcke@z-51.de>
28288
28289 * Makefile.in: Change font compilation to use new grub-mkfont instead
28290 of java version.
28291
28292 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28293 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28294 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28295 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28296 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28297 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28298 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28299 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28300 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28301
7086085b 283022009-01-16 Christian Franke <franke@computer.org>
28303
28304 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28305 (enum grub_ata_timeout_milliseconds): New enum.
28306 (grub_ata_wait_status): Add parameter milliseconds.
28307 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28308 recovery from timed-out commands.
28309 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28310 return grub_errno instead of REG_ERROR.
28311 (grub_ata_pio_write): Add parameter milliseconds.
28312 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28313 Pass milliseconds to grub_ata_wait_status () and
28314 grub_ata_pio_read ().
28315 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28316 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28317 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28318 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28319 It is not suitable for device detection, because DEV bit is ignored,
28320 the command may run too long, and not all devices set the signature
28321 properly.
28322 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28323 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28324 Fix device selection, DEV bit must be set first to address the registers
28325 of the correct device.
28326 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28327 grub_ata_pio_read/write ().
28328 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28329 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28330
4a412913 283312009-01-13 Carles Pina i Estany <carles@pina.cat>
28332
28333 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28334
7795c55e 283352009-01-13 Bean <bean123ch@gmail.com>
d913988c 28336
28337 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28338
7795c55e 283392009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28340
28341 * Makefile.in: (enable_grub_mkfont): New variable.
28342 (freetype_cflags): Likewise.
28343 (freetype_libs): Likewise.
28344
28345 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28346 (grub_mkfont_SOURCES): New variable.
28347 (grub_mkfont_CFLAGS): Likewise.
28348 (grub_mkfont_LDFLAGS): Likewise.
28349
28350 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28351 library if `--enable-grub-mkfont' is requested.
28352 (enable_grub_mkfont): New variable.
28353 (freetype_cflags): Likewise.
28354 (freetype_libs): Likewise.
28355
28356 * util/grub-mkfont.c: New file.
28357
093af1fe 283582009-01-12 Christian Franke <franke@computer.org>
28359
28360 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28361 mode check. Fix setting of compat_use[].
28362
f36cc108 283632009-01-10 Robert Millan <rmh@aybabtu.com>
28364
28365 Update a few copyright years which we forgot to do in 2008 (only for
28366 files whose changes made in 2008 were copyright-significant)
28367
28368 * Makefile.in: Add 2008 to Copyright line.
28369 * disk/ieee1275/ofdisk.c: Likewise.
28370 * disk/efi/efidisk.c: Likewise.
28371 * kern/dl.c: Likewise.
28372 * kern/sparc64/ieee1275/init.c: Likewise.
28373 * kern/mm.c: Likewise.
28374 * kern/efi/mm.c: Likewise.
28375 * boot/i386/pc/boot.S: Likewise.
28376 * genfslist.sh: Likewise.
28377 * fs/iso9660.c: Likewise.
28378 * fs/hfs.c: Likewise.
28379 * fs/jfs.c: Likewise.
28380 * fs/minix.c: Likewise.
28381 * fs/ufs.c: Likewise.
28382 * gensymlist.sh.in: Likewise.
28383 * genkernsyms.sh.in: Likewise.
28384 * include/grub/misc.h: Likewise.
28385 * include/grub/types.h: Likewise.
28386 * include/grub/symbol.h: Likewise.
28387 * include/grub/elf.h: Likewise.
28388 * include/grub/kernel.h: Likewise.
28389 * include/grub/disk.h: Likewise.
28390 * include/grub/dl.h: Likewise.
28391 * include/grub/i386/linux.h: Likewise.
28392 * include/grub/i386/pc/biosdisk.h: Likewise.
28393 * include/grub/efi/api.h: Likewise.
28394 * include/grub/efi/pe32.h: Likewise.
28395 * include/grub/util/misc.h: Likewise.
28396 * normal/execute.c: Likewise.
28397 * normal/arg.c: Likewise.
28398 * normal/completion.c: Likewise.
28399 * normal/lexer.c: Likewise.
28400 * normal/parser.y: Likewise.
28401 * normal/misc.c: Likewise.
28402 * commands/i386/pc/vbeinfo.c: Likewise.
28403 * commands/hexdump.c: Likewise.
28404 * commands/terminal.c: Likewise.
28405 * commands/ls.c: Likewise.
28406 * commands/help.c: Likewise.
28407 * partmap/pc.c: Likewise.
28408 * loader/efi/chainloader.c: Likewise.
28409 * loader/multiboot_loader.c: Likewise.
28410 * loader/i386/pc/multiboot2.c: Likewise.
28411 * term/efi/console.c: Likewise.
28412 * term/i386/pc/serial.c: Likewise.
28413 * util/lvm.c: Likewise.
28414 * util/console.c: Likewise.
28415 * util/i386/efi/grub-mkimage.c: Likewise.
28416 * util/raid.c: Likewise.
28417
7f02114b 284182009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28419
28420 * commands/videotest.c: Removed include to grub/machine/memory.h.
28421
28422 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28423 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28424 (video_mod_SOURCES): Removed.
28425 (video_mod_CFLAGS): Likewise.
28426 (video_mod_LDFLAGS): Likewise.
28427 (gfxterm_mod_SOURCES): Likewise.
28428 (gfxterm_mod_CFLAGS): Likewise.
28429 (gfxterm_mod_LDFLAGS): Likewise.
28430 (videotest_mod_SOURCES): Likewise.
28431 (videotest_mod_CFLAGS): Likewise.
28432 (videotest_mod_LDFLAGS): Likewise.
28433 (bitmap_mod_SOURCES): Likewise.
28434 (bitmap_mod_CFLAGS): Likewise.
28435 (bitmap_mod_LDFLAGS): Likewise.
28436 (tga_mod_SOURCES): Likewise.
28437 (tga_mod_CFLAGS): Likewise.
28438 (tga_mod_LDFLAGS): Likewise.
28439 (jpeg_mod_SOURCES): Likewise.
28440 (jpeg_mod_CFLAGS): Likewise.
28441 (jpeg_mod_LDFLAGS): Likewise.
28442 (png_mod_SOURCES): Likewise.
28443 (png_mod_CFLAGS): Likewise.
28444 (png_mod_LDFLAGS): Likewise.
28445
28446 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28447 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28448 (video_mod_SOURCES): Added.
28449 (video_mod_CFLAGS): Likewise.
28450 (video_mod_LDFLAGS): Likewise.
28451 (videotest_mod_SOURCES): Likewise.
28452 (videotest_mod_CFLAGS): Likewise.
28453 (videotest_mod_LDFLAGS): Likewise.
28454 (bitmap_mod_SOURCES): Likewise.
28455 (bitmap_mod_CFLAGS): Likewise.
28456 (bitmap_mod_LDFLAGS): Likewise.
28457 (tga_mod_SOURCES): Likewise.
28458 (tga_mod_CFLAGS): Likewise.
28459 (tga_mod_LDFLAGS): Likewise.
28460 (jpeg_mod_SOURCES): Likewise.
28461 (jpeg_mod_CFLAGS): Likewise.
28462 (jpeg_mod_LDFLAGS): Likewise.
28463 (png_mod_SOURCES): Likewise.
28464 (png_mod_CFLAGS): Likewise.
28465 (png_mod_LDFLAGS): Likewise.
28466 (gfxterm_mod_SOURCES): Likewise.
28467 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 28468 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 28469
28470 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28471 grub/machine/console.h.
28472
644fff97 284732009-01-04 Jerone Young <jerone@gmail.com>
28474
28475 Make on screen instructions clearer
28476
28477 Based on patch created by Jidanni <jidanni@jidanni.org>
28478
28479 * normal/menu.c: print clearer instructions on the screen
28480
1e901a75 284812009-01-02 Colin D Bennett <colin@gibibit.com>
28482
28483 New font engine.
34c44600 28484
1e901a75 28485 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28486 build system and fixed gfxterm.c to work with different sized fonts.
28487
28488 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 28489
1e901a75 28490 * configure: Re-generated.
34c44600 28491
1e901a75 28492 * DISTLIST: Removed font/manager.c.
28493 Added font/font.c.
28494 Added font/font_cmd.c.
34c44600 28495
1e901a75 28496 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28497 compilation.
34c44600 28498
1e901a75 28499 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 28500
28501 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 28502
28503 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 28504
1e901a75 28505 * normal/menu.c: Likewise.
34c44600 28506
1e901a75 28507 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28508 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 28509
1e901a75 28510 * include/grub/font.h: Replaced with new file.
34c44600 28511
1e901a75 28512 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28513 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28514 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28515 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28516 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 28517 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 28518 fg_red, fg_green, fg_blue, fg_alpha.
28519 (grub_video_adapter): Removed blit_glyph.
34c44600 28520 (grub_video_blit_glyph): Removed.
28521
1e901a75 28522 * font/manager.c: Removed file.
34c44600 28523
28524 * font/font.c: New file.
28525
1e901a75 28526 * font/font_cmd.c: Likewise.
34c44600 28527
1e901a75 28528 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 28529
1e901a75 28530 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28531 (grub_video_vbe_map_rgba): Likewise.
28532 (grub_video_vbe_unmap_color_int): Likewise.
28533 (grub_video_vbe_blit_glyph): Removed.
28534 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 28535
1e901a75 28536 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28537 (get_pixel): Likewise.
34c44600 28538 (set_pixel): Likewise.
28539
1e901a75 28540 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 28541
1e901a75 28542 * term/gfxterm.c: Adapted to new font engine.
34c44600 28543
1e901a75 28544 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 28545
1e901a75 28546 * term/i386/pc/vga.c: Likewise.
34c44600 28547
1e901a75 28548 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 28549
1e901a75 28550 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 28551
1e901a75 28552 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28553
1e901a75 28554 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 28555
1e901a75 28556 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 28557
1e901a75 28558 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 28559
1e901a75 28560 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 28561
1e901a75 28562 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 28563
1e901a75 28564 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28565
28566 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 28567
1e901a75 28568 * util/grub-mkconfig_lib.in: Changed font extension.
28569
278922e8 285702008-12-28 Felix Zielcke <fzielcke@z-51.de>
28571
28572 * util/getroot.c (grub_util_get_grub_dev): Add support for
28573 /dev/md/dNNpNN style partitionable mdraid devices.
28574
3ced05cf 285752008-12-12 Alex Smith <alex@alex-smith.me.uk>
28576
28577 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28578 at a time limit of the PXE TFTP API correctly.
28579 (grub_pxefs_close): Likewise.
28580
7fd0ee30 285812008-11-29 Robert Millan <rmh@aybabtu.com>
28582
34c44600 28583 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 28584 grub_ata_device_initialize() calls.
28585
34c44600 285862008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 28587
28588 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28589 iteration failed.
28590 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28591
89313780 285922008-11-28 Robert Millan <rmh@aybabtu.com>
28593
28594 Fix build on powerpc-ieee1275. Based on patch created by
28595 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28596 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28597 `kern/ieee1275/mmap.c'.
28598 * include/grub/powerpc/ieee1275/memory.h: New file.
28599
15257703 28600 Provide grub-install on coreboot.
28601 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28602 (grub_install_SOURCES): New variable.
28603 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28604 usable on coreboot.
28605
9fc5388a 286062008-11-25 Felix Zielcke <fzielcke@z-51.de>
28607
28608 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28609 to `grub_term_input_t'.
28610 (grub_term_get_current_output): Change return type to
28611 `grub_term_output_t'.
28612
bc3a2f31 286132008-11-22 Robert Millan <rmh@aybabtu.com>
28614
34c44600 28615 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 28616 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28617 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28618 grub_vga_text_cls().
28619
80fc88f2 28620 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 28621 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 28622
cbf36fd3 28623 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28624 to 0x200000 (avoids trouble with some OFW implementations, and matches
28625 with the one in Yaboot).
28626 Reported by Manoel Abranches
28627
73e8e268 286282008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 28629
28630 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28631 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28632
73e8e268 28633 * util/grub-mkconfig_lib.in (grub_warn): New function.
28634 (convert_system_path_to_grub_path): Use grub_warn() when issuing
28635 warnings, to obtain consistent formatting.
28636 * util/grub.d/00_header.in: Likewise.
28637 * util/update-grub_lib.in: Likewise.
28638
e94045a1 28639 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 28640 Move comment text to `#error' stanza.
e94045a1 28641
79d29fd7 28642 Harmonize ieee1275's grub_available_iterate() with the generic
28643 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28644 build problem on i386-ieee1275):
28645 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28646 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28647 parameter `type'. Update all users of this function.
28648 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28649 `kern/ieee1275/mmap.c'.
28650 * kern/ieee1275/init.c
28651 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28652 with ...
28653 (grub_machine_mmap_iterate): ... this.
28654 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28655 return type to `grub_err_t'. Update all implementations of this
28656 function prototype.
28657 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28658 Likewise.
28659
60d6b16e 28660 Add `lsmmap' command (lists firmware-provided memory map):
28661 * commands/lsmmap.c: New file.
28662 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28663 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28664 variables.
28665 * conf/powerpc-ieee1275.rmk: Likewise.
28666 * conf/i386-coreboot.rmk: Likewise.
28667 * conf/i386-ieee1275.rmk: Likewise.
28668
ebaaf49b 286692008-11-19 Robert Millan <rmh@aybabtu.com>
28670
28671 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 28672 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28673 constraints to initrd allocation (based on code from
28674 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28675 for Linux to find it.
ebaaf49b 28676
dfab719f 286772008-11-14 Robert Millan <rmh@aybabtu.com>
28678
28679 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28680 order to cope with duplicate slashes.
28681
10fc3eb9 286822008-11-14 Robert Millan <rmh@aybabtu.com>
28683
28684 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28685 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28686 don't want to mess with lower memory, because it is used in the Linux
28687 loader.
28688
28689 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 28690 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 28691 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28692 is in our heap (probably as a result of it being corrupted during
2f2a3442 28693 decompression). Add #error instance with comment to explain why this
28694 loader isn't currently usable on PC/BIOS.
10fc3eb9 28695
e2e07847 286962008-11-14 Robert Millan <rmh@aybabtu.com>
28697
28698 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 28699 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 28700
fe8e8d69 287012008-11-12 Robert Millan <rmh@aybabtu.com>
28702
28703 Make loader/i386/linux.c buildable on i386-pc (although disabled).
28704
28705 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
28706 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
28707 from here ...
28708 * include/grub/i386/pc/memory.h: ... to here.
28709
976b07d0 287102008-11-12 Robert Millan <rmh@aybabtu.com>
28711
28712 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
28713 split).
28714
28715 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
28716 (grub_console_cur_color, grub_console_real_putchar)
28717 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28718 (grub_console_setcolorstate, grub_console_setcolor)
28719 (grub_console_getcolor): Move from here ...
28720 * include/grub/i386/vga_common.h: ... to here (new file).
28721
28722 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
28723 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
28724 `<grub/i386/io.h>'.
28725 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
28726 `<grub/i386/vga_common.h>'.
28727
76679cd3 287282008-11-12 Robert Millan <rmh@aybabtu.com>
28729
28730 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
28731 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
28732 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
28733 variables.
28734 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28735 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
28736
28737 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
28738 grub_console_init() with call to grub_vga_text_init().
28739 (grub_machine_fini): Replace call to
28740 grub_console_fini() with call to grub_vga_text_fini() and
28741 grub_at_keyboard_fini().
28742
28743 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
28744 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28745 (grub_console_setcolorstate, grub_console_setcolor)
28746 (grub_console_getcolor): New function prototypes.
28747
28748 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
28749 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
28750 (grub_vga_text_setcursor): Static-ize.
28751 (grub_vga_text_term): New structure.
28752 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
28753
28754 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
28755 (grub_console_cur_color, grub_console_standard_color)
28756 (grub_console_normal_color, grub_console_highlight_color)
28757 (map_char, grub_console_putchar, grub_console_getcharwidth)
28758 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
28759 (grub_console_getcolor): Move from here ...
28760 * term/i386/vga_common.c: ... to here (same function names).
28761
95b841d3 287622008-11-12 Robert Millan <rmh@aybabtu.com>
28763
28764 Use newly-added Multiboot support in coreboot.
28765
28766 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28767 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
28768
28769 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
28770 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
28771 (codestart): Store the MBI in `startup_multiboot_info' when we're
28772 being loaded using Multiboot.
28773
28774 * kern/i386/coreboot/init.c (grub_machine_init): Move
28775 grub_at_keyboard_init() call to beginning of function (useful for
28776 debugging). Call grub_machine_mmap_init() before attempting to use
28777 grub_machine_mmap_iterate().
28778 (grub_lower_mem, grub_upper_mem): Move from here ...
28779 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
28780 here (new file).
28781
28782 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
28783 function prototype.
28784
761ca975 287852008-11-12 Robert Millan <rmh@aybabtu.com>
28786
28787 Fix a regression introduced by the at_keyboard.mod split. Because
28788 some terminals are default on some platforms and non-default on
28789 others, the first terminal being registered determines which is
28790 going to be default.
28791
28792 * kern/term.c (grub_term_register_input): If this is the first
28793 terminal being registered, set it as the current one.
28794 (grub_term_register_output): Likewise.
28795
28796 * term/efi/console.c (grub_console_init): Do not call
28797 grub_term_set_current_output() or grub_term_set_current_input().
28798 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
28799 * term/i386/pc/console.c (grub_console_init): Likewise.
28800 (grub_console_fini): Do not call grub_term_set_current_input()
28801 (but leave grub_term_set_current_output() to restore text mode).
28802
6c529df7 288032008-11-10 Robert Millan <rmh@aybabtu.com>
28804
28805 * util/grub.d/00_header.in: Add backward compatibility check for
28806 versions of terminal.mod that don't understand `terminal_input' or
28807 `terminal_output'.
28808
132e4113 288092008-11-09 Robert Millan <rmh@aybabtu.com>
28810
28811 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
28812 `terminal_input' / `terminal_output', not `terminal'.
28813
ac293d50 288142008-11-08 Robert Millan <rmh@aybabtu.com>
28815
28816 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 28817 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 28818
0025933a 288192008-11-08 Robert Millan <rmh@aybabtu.com>
28820
28821 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 28822 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 28823 members. Update all users.
28824 * util/console.c (grub_ncurses_term): Split in ...
28825 (grub_ncurses_term_input): ... this, and ...
28826 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 28827 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 28828
37c86336 288292008-11-08 Robert Millan <rmh@aybabtu.com>
28830
28831 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
28832 (PKGDATA): Add $(pkgdata_SRCDIR).
28833 (pkglib_BUILDDIR): New variable.
28834 (pkgdata_SRCDIR): New variable.
28835 (build_env.mk): New target.
28836 (include_DATA): New variable.
28837 (install-local): Install $(include_DATA) files in $(includedir).
28838
b6c15a2d 288392008-11-07 Pavel Roskin <proski@gnu.org>
28840
d99d46f1 28841 * gendistlist.sh: Use C locale for sorting to ensure consistent
28842 output on all systems.
28843
b6c15a2d 28844 * util/grub.d/00_header.in: Remove incorrect space before
28845 "serial".
28846
c32ee8c9 288472008-11-07 Robert Millan <rmh@aybabtu.com>
28848
28849 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
28850 per specification.
28851 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
28852 * loader/multiboot_loader.c (find_multi_boot2_header): New function
28853 (based on find_multi_boot1_header).
28854 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
28855 using find_multi_boot2_header(), and abort if neither Multiboot or
28856 Multiboot headers were found.
28857
651c29b7 288582008-11-07 Robert Millan <rmh@aybabtu.com>
28859
28860 Modularize at_keyboard.mod:
28861
28862 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
28863 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28864 (at_keyboard_mod_LDFLAGS): New variables.
28865
28866 Actual terminal split:
28867
28868 * include/grub/term.h (struct grub_term): Split in ...
28869 (struct grub_term_input): ... this, and ...
28870 (struct grub_term_output): ... this. Update all users.
28871 (grub_term_set_current): Split in ...
28872 (grub_term_set_current_input): ... this, and ...
28873 (grub_term_set_current_output): ... this.
28874 (grub_term_get_current): Split in ...
28875 (grub_term_get_current_input): ... this, and ...
28876 (grub_term_get_current_output): ... this.
28877 (grub_term_register): Split in ...
28878 (grub_term_register_input): ... this, and ...
28879 (grub_term_register_output): ... this.
28880 (grub_term_unregister): Split in ...
28881 (grub_term_unregister_input): ... this, and ...
28882 (grub_term_unregister_output): ... this.
28883 (grub_term_iterate): Split in ...
28884 (grub_term_iterate_input): ... this, and ...
28885 (grub_term_iterate_output): ... this.
28886
28887 * kern/term.c (grub_term_list): Split in ...
28888 (grub_term_list_input): ... this, and ...
28889 (grub_term_list_output): ... this. Update all users.
28890 (grub_cur_term): Split in ...
28891 (grub_cur_term_input): ... this, and ...
28892 (grub_cur_term_output): ... this. Update all users.
28893 (grub_term_set_current): Split in ...
28894 (grub_term_set_current_input): ... this, and ...
28895 (grub_term_set_current_output): ... this.
28896 (grub_term_get_current): Split in ...
28897 (grub_term_get_current_input): ... this, and ...
28898 (grub_term_get_current_output): ... this.
28899 (grub_term_register): Split in ...
28900 (grub_term_register_input): ... this, and ...
28901 (grub_term_register_output): ... this.
28902 (grub_term_unregister): Split in ...
28903 (grub_term_unregister_input): ... this, and ...
28904 (grub_term_unregister_output): ... this.
28905 (grub_term_iterate): Split in ...
28906 (grub_term_iterate_input): ... this, and ...
28907 (grub_term_iterate_output): ... this.
28908
28909 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28910 a check for input and one for output (and only attempt to get keys
28911 from user when input works).
28912
28913 * util/grub-probe.c (grub_term_get_current): Split in ...
28914 (grub_term_get_current_input): ... this, and ...
28915 (grub_term_get_current_output): ... this.
28916 * util/grub-fstest.c: Likewise.
28917 * util/i386/pc/grub-setup.c: Likewise.
28918 * util/grub-editenv.c: Likewise.
28919
28920 Portability adjustments:
28921
28922 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28923 `term/i386/pc/at_keyboard.c'.
28924 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28925 grub_keyboard_controller_init() (now handled by terminal .init).
28926 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28927 grub_at_keyboard_init().
28928 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28929 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28930 at_keyboard.mod via input terminal interface).
28931 * include/grub/i386/coreboot/console.h: Convert into a stub for
28932 `<grub/i386/pc/console.h>'.
28933
28934 Migrate full terminals to new API:
28935
28936 * term/efi/console.c (grub_console_term): Split into ...
28937 (grub_console_term_input): ... this, and ...
28938 (grub_console_term_output): ... this. Update all users.
28939 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28940 (grub_ofconsole_init): Split into ...
28941 (grub_ofconsole_init_input): ... this, and ...
28942 (grub_ofconsole_init_output): ... this.
28943 (grub_ofconsole_term): Split into ...
28944 (grub_ofconsole_term_input): ... this, and ...
28945 (grub_ofconsole_term_output): ... this. Update all users.
28946 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28947 (grub_serial_term_input): ... this, and ...
28948 (grub_serial_term_output): ... this. Update all users.
28949 * term/i386/pc/console.c (grub_console_term): Split into ...
28950 (grub_console_term_input): ... this, and ...
28951 (grub_console_term_output): ... this. Update all users.
28952 (grub_console_term_input): Only enable it on PC/BIOS platform.
28953 (grub_console_init): Remove grub_keyboard_controller_init() call.
28954
28955 Migrate input terminals to new API:
28956
28957 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28958 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28959 i386-specific anyway).
28960 (grub_console_checkkey): Rename to ...
28961 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28962 users.
28963 (grub_keyboard_controller_orig): New variable.
28964 (grub_console_getkey): Rename to ...
28965 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28966 users.
28967 (grub_keyboard_controller_init): Static-ize. Save original
28968 controller value so that it can be restored ...
28969 (grub_keyboard_controller_fini): ... here (new function).
28970 (grub_at_keyboard_term): New structure.
28971 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28972 functions.
28973
28974 Migrate output terminals to new API:
28975
28976 * term/i386/pc/vga.c (grub_vga_term): Change type to
28977 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28978 members. Update all users.
28979 * term/gfxterm.c (grub_video_term): Change type to
28980 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28981 members. Update all users.
28982 * include/grub/i386/pc/console.h (grub_console_checkkey)
28983 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28984 etc).
28985
28986 Migrate `terminal' command and userland tools to new API:
28987
28988 * commands/terminal.c (grub_cmd_terminal): Split into ...
28989 (grub_cmd_terminal_input): ... this, and ...
28990 (grub_cmd_terminal_output): ... this.
28991 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
28992 `terminal_input' and `terminal_output'.
28993 * util/grub.d/00_header.in: Adjust `terminal' calls to new
28994 `terminal_input' / `terminal_output' API.
28995 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
28996 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
28997 provided ${GRUB_TERMINAL}, convert it).
28998
96e5d876 289992008-11-04 Robert Millan <rmh@aybabtu.com>
29000
29001 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29002 for FreeBSD.
29003 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29004
556f3775 290052008-11-03 Bean <bean123ch@gmail.com>
29006
29007 * kern/elf.c (grub_elf32_load): Revert to previous code.
29008 (grub_elf64_load): Likewise.
29009
29010 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29011
926b9823 290122008-11-01 Robert Millan <rmh@aybabtu.com>
29013
29014 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29015 (TARGET_CPPFLAGS): Likewise.
29016 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29017
1432e958 290182008-11-01 Carles Pina i Estany <carles@pina.cat>
29019
29020 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29021
dba3f844 290222008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29023
29024 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29025 addition of objects until the code is not going to be able to fail.
29026
dba3f844 290272008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29028
29029 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29030 (add a missing NULL check, and correct them by moving the pointer
29031 operations after the actual check).
29032
7ab28c21 290332008-10-29 Robert Millan <rmh@aybabtu.com>
29034
29035 * util/i386/pc/grub-install.in: Handle empty string as output from
29036 make_system_path_relative_to_its_root().
29037
1b7748eb 290382008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29039
29040 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29041 circular metadata worst case scenario. If the metadata is circular
29042 then copy the wrap in place.
29043 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29044 project lib/format_text/layout.h
29045 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29046
c9618ab2 290472008-10-03 Felix Zielcke <fzielcke@z-51.de>
29048
7a36edca 29049 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29050
bf981c62 290512008-10-03 Felix Zielcke <fzielcke@z-51.de>
29052
29053 * util/update-grub_lib.in: Mention filename in warning message.
29054
6d994591 290552008-09-29 Felix Zielcke <fzielcke@z-51.de>
29056
29057 * NEWS: Update for rename of update-grub to grub-mkconfig.
29058
18ade780 290592008-09-29 Felix Zielcke <fzielcke@z-51.de>
29060
29061 * util/update-grub_lib.in: Copy to ...
29062 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29063 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29064 * util/update-grub.in: Rename to ...
29065 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29066 option. Add `--output' option to allow users to specify the generated
29067 configuration file. Default to stdout.
29068 (update_grub_dir): Rename to ...
29069 (grub_mkconfig_dir): ... this.
29070 (grub_cfg): Default to an empty string.
29071 * conf/common.rmk (update-grub): Rename to ...
29072 (grub-mkconfig): ... this.
29073 (update-grub_lib): Copy to ...
29074 (grub-mkconfig_lib): ... this.
29075 (update-grub_SCRIPTS): Copy to ...
29076 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29077 (update-grub_DATA): Rename to ...
29078 (grub-mkconfig_DATA): ... this.
29079
556ce6ac 290802008-09-28 Robert Millan <rmh@aybabtu.com>
29081
29082 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29083 to `modified'. Add the real `created' field.
29084 (grub_iso9660_uuid): Use `modified' rather than `created' for
29085 constructing the UUID.
29086
290872008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29088
29089 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29090 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29091
92274e85 290922008-09-28 Bean <bean123ch@gmail.com>
29093
29094 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29095 Thanks to Christian Franke for finding this bug.
29096
add6f17a 290972008-09-25 Robert Millan <rmh@aybabtu.com>
29098
29099 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29100 instances of grub_util_get_disk_name() (see previous commit).
29101
d2a367b8 291022008-09-25 Robert Millan <rmh@aybabtu.com>
29103
29104 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29105 `util/i386/get_disk_name.c'.
29106 * conf/i386-efi.rmk: Likewise.
29107 * conf/x86_64-efi.rmk: Likewise.
29108 * conf/i386-coreboot.rmk: Likewise.
29109 * conf/i386-ieee1275.rmk: Likewise.
29110 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29111 `util/ieee1275/get_disk_name.c'.
29112 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29113 * util/ieee1275/get_disk_name.c: Remove file.
29114 * util/i386/get_disk_name.c: Remove file.
29115 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29116 "hd%d" for device.map entries, rather than using
29117 grub_util_get_disk_name().
29118
81a06771 291192008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29120
29121 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29122 warning.
29123 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29124
5a004279 291252008-09-24 Carles Pina i Estany <carles@pina.cat>
29126
29127 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29128 Changed to 0x5100.
29129 (GRUB_TERM_PPAGE): Changed to 0x4900.
29130
397093d3 291312008-09-24 Robert Millan <rmh@aybabtu.com>
29132
29133 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29134 macros (they were i386-pc specific).
29135 * include/grub/sparc64/ieee1275/console.h: Likewise.
29136 * include/grub/efi/console.h: Likewise.
29137
a91b6c7c 291382008-09-22 Bean <bean123ch@gmail.com>
29139
29140 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29141 resident and in attribute list.
29142
29143 * include/grub/ntfs.h (BMP_LEN): Removed.
29144
c40fd116 291452008-09-22 Bean <bean123ch@gmail.com>
29146
81a06771 29147 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29148 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29149
29150 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29151 error occurs, as grub_disk_open will call grub_disk_close, which will
29152 call p->close (scsi).
29153
81a06771 291542008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29155
29156 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29157 (AC_PREREQ): Bumped to 2.59.
29158 (AC_TRY_COMPILE): Replace obsolete macro with ...
29159 (AC_COMPILE_IFELSE): ... this.
29160 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29161 (AC_LINK_IFELSE): ... this.
29162
5dc43410 291632008-09-21 Felix Zielcke <fzielcke@z-51.de>
29164
29165 * autogen.sh: Add a call to `gendistlist.sh'.
29166
9035dce4 291672008-09-19 Christian Franke <franke@computer.org>
29168
29169 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29170 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29171 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29172 Export __enable_execute_stack() to modules.
29173 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29174 New function.
29175
7fd75377 291762008-09-09 Felix Zielcke <fzielcke@z-51.de>
29177
040030b3 29178 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29179 Sort the list.
29180
291812008-09-09 Felix Zielcke <fzielcke@z-51.de>
29182
29183 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29184 #include <grub/util/hostdisk.h>.
29185
89d5ffcf 291862008-09-08 Robert Millan <rmh@aybabtu.com>
29187
29188 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29189 segments when their filesz is zero (grub_file_read() interprets
81a06771 29190 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29191 Use `lowest_segment' rather than 0 for calculating the current
29192 segment load address.
29193
40da438f 291942008-09-08 Robert Millan <rmh@aybabtu.com>
29195
29196 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29197 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29198 clobbered useful information.
29199
ddbf5556 292002008-09-08 Robert Millan <rmh@aybabtu.com>
29201
29202 * include/grub/util/biosdisk.h: Move to ...
29203 * include/grub/util/hostdisk.h: ... here. Update all users.
29204 * util/biosdisk.c: Move to ...
29205 * util/hostdisk.c: ... here. Update all users.
29206
783d0f48 292072008-09-07 Robert Millan <rmh@aybabtu.com>
29208
29209 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29210 variables.
29211 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29212 and length can be stored directly in the `mbi->mmap_addr' and
29213 `mbi->mmap_length' struct fields.
29214
548e2ea5 292152008-09-07 Robert Millan <rmh@aybabtu.com>
29216
29217 * conf/i386.rmk: New file. Provides declaration for building
29218 `cpuid.mod'.
29219 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29220 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29221 variables.
29222 Include `conf/i386.mk'.
29223 * conf/i386-efi.rmk: Likewise.
29224 * conf/x86_64-efi.rmk: Likewise.
29225 * conf/i386-coreboot.rmk: Likewise.
29226 * conf/i386-ieee1275.rmk: Likewise.
29227
0ea85a37 292282008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29229
29230 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29231 Adds optimization support for BGR based modes.
29232
29233 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29234 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29235 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29237 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29238 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29239 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29240 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29241 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29242 (grub_video_i386_vbeblit_index_index): Likewise.
29243 (grub_video_i386_vbeblit_replace_directN): Added.
29244 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29245 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29246 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29247 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29248 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29249 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29250 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29251 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29252 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29253 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29254 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29255 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29256 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29257
29258 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29259 (grub_video_i386_vbefill_R8G8B8): Likewise.
29260 (grub_video_i386_vbefill_index): Likewise.
29261 (grub_video_i386_vbefill_direct32): Added.
29262 (grub_video_i386_vbefill_direct24): Likewise.
29263 (grub_video_i386_vbefill_direct16): Likewise.
29264 (grub_video_i386_vbefill_direct8): Likewise.
29265
81a06771 29266 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29267 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29268 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29269 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29270 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29271 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29272
0ea85a37 29273 * video/video.c (grub_video_get_blit_format): Updated to use new
29274 blit formats. Added handling for 16 bit color modes.
81a06771 29275
29276 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29277 fillers.
29278 (common_blitter): Updated to use new blitters.
29279
29280 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29281 Removed.
29282 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29283 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29284 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29285 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29286 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29287 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29288 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29289 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29290 (grub_video_i386_vbeblit_index_index): Likewise.
29291 (grub_video_i386_vbeblit_replace_directN): Added.
29292 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29293 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29294 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29295 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29296 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29297 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29298 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29299 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29300 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29301 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29302 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29303 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29304 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29305
0ea85a37 29306 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29307 (grub_video_i386_vbefill_R8G8B8): Likewise.
29308 (grub_video_i386_vbefill_index): Likewise.
29309 (grub_video_i386_vbefill_direct32): Added.
29310 (grub_video_i386_vbefill_direct24): Likewise.
29311 (grub_video_i386_vbefill_direct16): Likewise.
29312 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29313
0ea85a37 29314 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29315 types.
81a06771 29316
0ea85a37 29317 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29318 types.
81a06771 29319
0ea85a37 29320 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29321 blitter types.
81a06771 29322
0ea85a37 29323 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29324 types.
29325
e8a83df6 293262008-09-06 Felix Zielcke <fzielcke@z-51.de>
29327
29328 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29329 RAID level 1.
29330
6bcd8ee5 293312008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29332
6bcd8ee5 29333 * fs/iso9660.c (grub_iso9660_date): New structure.
29334 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29335 (grub_iso9660_uuid): New function.
c375ae58 29336
59261157 293372008-09-05 Bean <bean123ch@gmail.com>
29338
29339 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29340
29341 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29342 insensitive bit for names in Win32 and Win32 & DOS namespace.
29343
29344 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29345
29346 * include/grub/types.h (LONG_MAX): Likewise.
29347
58b6645a 293482008-09-04 Felix Zielcke <fzielcke@z-51.de>
29349
4ee55921 29350 * util/getroot.c: Include <config.h>.
29351 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29352 add support for /dev/md/N devices and handle LVM double dash escaping.
29353
293542008-09-04 Felix Zielcke <fzielcke@z-51.de>
29355
29356 * config.guess: Update to latest version from config git.
29357 * config.sub: Likewise.
58b6645a 29358
9124f65d 293592008-09-03 Robert Millan <rmh@aybabtu.com>
29360
29361 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29362 `disk->total_sectors'.
29363
81a06771 293642008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29365
29366 * include/grub/normal.h: Fixed incorrect comment for
29367 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29368
81a06771 293692008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29370
29371 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29372 values with defines.
29373
29374 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29375 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29376 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29377 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29378 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29379 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29380 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29381 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29382 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29383 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29384 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29385 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29386 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29387 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29388 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29389 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29390 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29391 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29392 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29393
93d5cbf8 293942008-08-31 Robert Millan <rmh@aybabtu.com>
29395
29396 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29397 declaration.
29398 (grub_multiboot): Fix a few warnings.
29399
21751d50 294002008-08-31 Robert Millan <rmh@aybabtu.com>
29401
29402 * loader/i386/pc/multiboot.c: Update comment not to say that
29403 boot_device support is unimplemented.
29404
e27a75c5 294052008-08-31 Robert Millan <rmh@aybabtu.com>
29406
29407 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29408 or memory map support are unimplemented.
29409
81a06771 294102008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 29411
29412 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29413
81a06771 294142008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 29415
29416 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29417 total video memory in 'vbeinfo' output; show color format details for
29418 each video mode.
29419
7c5d8d95 294202008-08-30 Pavel Roskin <proski@gnu.org>
29421
29422 * util/genmoddep.c: Remove for real this time.
29423 * DISTLIST: Remove util/genmoddep.c.
29424
4cebd25a 294252008-08-30 Robert Millan <rmh@aybabtu.com>
29426
29427 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29428 as required by Multiboot spec (it was already 4-byte aligned, but
29429 only by chance).
29430
b497a269 294312008-08-29 Pavel Roskin <proski@gnu.org>
29432
e3925185 29433 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29434 * kern/powerpc/ieee1275/startup.S: ... this.
29435 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29436 * DISTLIST: Likewise.
29437
b497a269 29438 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29439 grub/cpu/kernel.h. Add start label for consistency with other
29440 platforms. Add grub_prefix immediately after start. Add jump
29441 to the code after grub_prefix.
29442 * include/grub/powerpc/kernel.h: Provide valid values for
29443 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29444
6e5a42fe 294452008-08-29 Bean <bean123ch@gmail.com>
29446
29447 * configure.ac: Change host_os to cygwin for mingw.
29448 (asprintf): New check for function.
29449
29450 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29451 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29452
29453 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 29454 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 29455 sync, sleep and grub_util_get_disk_size for mingw.
29456
29457 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29458 to get size in mingw.
29459 (open_device): Use flag O_BINARY if it's defined.
29460 (find_root_device): Add dummy code for mingw.
29461
29462 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29463 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29464 (get_scsi_disk_name): Return 0 for mingw.
29465
29466 * util/hostfs.c: #include <grub/util/misc.h>.
29467 (grub_hostfs_open): Use "rb" flag to open file, use
29468 grub_util_get_disk_size to get disk size for mingw.
29469
29470 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29471 (asprintf): New function if HAVE_ASPRINTF is not set.
29472 (sync): New function for mingw.
29473 (sleep): Likewise.
29474 (grub_util_get_disk_size): Likewise.
29475
ab3f2673 294762008-08-28 Pavel Roskin <proski@gnu.org>
29477
29478 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29479 kern/time.c.
29480
1c282483 294812008-08-28 Robert Millan <rmh@aybabtu.com>
29482
29483 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29484
678e849c 294852008-08-28 Robert Millan <rmh@aybabtu.com>
29486
29487 Change find_grub_drive() syntax so it doesn't prevent it from
29488 detecting NULL names as errors.
29489
29490 * util/biosdisk.c (find_grub_drive): Move free slot search code
29491 from here ...
29492 (find_free_slot): ... to here.
29493 (read_device_map): Use find_free_slot() to search for free slots.
29494
965c75ca 294952008-08-27 Marco Gerards <marco@gnu.org>
29496
29497 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29498 (scsi_mod_SOURCES): New variable.
29499 (scsi_mod_CFLAGS): Likewise
29500 (scsi_mod_LDFLAGS): Likewise.
29501
29502 * disk/scsi.c: New file.
29503
29504 * include/grub/scsi.h: Likewise.
29505
29506 * include/grub/scsicmd.h: Likewise.
29507
29508 * disk/ata.c: Include <grub/scsi.h>.
29509 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29510 instead.
29511 (grub_ata_iterate): Skip ATAPI devices.
29512 (grub_ata_open): Only handle ATAPI devices.
29513 (struct grub_atapi_read): Removed.
29514 (grub_atapi_readsector): Likewise.
29515 (grub_ata_read): No longer handle ATAPI devices.
29516 (grub_ata_write): Likewise.
29517 (grub_atapi_iterate): New function.
29518 (grub_atapi_read): Likewise.
29519 (grub_atapi_write): Likewise.
29520 (grub_atapi_open): Likewise.
29521 (grub_atapi_close): Likewise.
29522 (grub_atapi_dev): New variable.
29523 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29524 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29525
29526 * include/grub/disk.h (enum grub_disk_dev_id): Add
29527 `GRUB_DISK_DEVICE_SCSI_ID'.
29528
c07ae501 295292008-08-26 Robert Millan <rmh@aybabtu.com>
29530
29531 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29532 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29533 descriptive.
29534
5ed20adc 295352008-08-23 Bean <bean123ch@gmail.com>
29536
29537 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29538 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29539 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29540 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29541 dm_nv.mod.
29542 (raid5rec_mod_SOURCES): New macro.
29543 (raid5rec_mod_CFLAGS): Likewise.
29544 (raid5rec_mod_LDFLAGS): Likewise.
29545 (raid6rec_mod_SOURCES): Likewise.
29546 (raid6rec_mod_CFLAGS): Likewise.
29547 (raid6rec_mod_LDFLAGS): Likewise.
29548 (mdraid_mod_SOURCES): Likewise.
29549 (mdraid_mod_CFLAGS): Likewise.
29550 (mdraid_mod_LDFLAGS): Likewise.
29551 (dm_nv_mod_SOURCES): Likewise.
29552 (dm_nv_mod_CFLAGS): Likewise.
29553 (dm_nv_mod_LDFLAGS): Likewise.
29554
29555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29556 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29557 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29558
29559 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29560 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29561
29562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29563
29564 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29565
29566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29567
29568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29569
29570 * disk/raid5_recover.c: New file.
29571
29572 * disk/raid6_recover.c: Likewise.
29573
29574 * disk/mdraid_linux.c: Likewise.
29575
29576 * disk/dmraid_nvidia.c: Likewise.
29577
29578 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29579 ULONG_MAX.
29580
29581 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29582 calculate the size of raid device.
29583 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29584 different layout of raid5.
29585 (grub_raid_scan_device): Remove code specific to mdraid.
29586 (grub_raid_list): New variable.
29587 (free_array): New function.
29588 (grub_raid_register): Likewise.
29589 (grub_raid_unregister): Likewise.
29590 (grub_raid_rescan): Likewise.
29591 (GRUB_MOD_INIT): Don't iterate device here.
29592 (GRUB_MOD_FINI): Use free_array to release resource.
29593
29594 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29595 (grub_raid5_recover_func_t): New function variable type.
29596 (grub_raid6_recover_func_t): Likewise.
29597 (grub_raid5_recover_func): New variable.
29598 (grub_raid6_recover_func): Likewise.
29599 (grub_raid_register): New function.
29600 (grub_raid_unregister): Likewise.
29601 (grub_raid_rescan): Likewise.
29602 (grub_raid_block_xor): Likewise.
29603
29604 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29605 (CMD_CRC): New macro.
29606 (part): Removed.
29607 (read_file): Handle device as well as file.
29608 (cmd_crc): New function.
29609 (fstest): Handle multiple disks.
29610 (options): Remove part, raw and long, add root and diskcount.
29611 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 29612 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 29613 add handling for the new options, support multiple disks.
29614
29615 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29616
29c18915 296172008-08-23 Bean <bean123ch@gmail.com>
29618
29619 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29620
29621 * genfslist.sh: Ignore kernel.mod.
29622
29623 * genpartmaplist.sh: Likewise.
29624
8415f261 296252008-08-23 Robert Millan <rmh@aybabtu.com>
29626
29627 * util/getroot.c (find_root_device): Skip anything that starts with
29628 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29629
d5a7dc5b 296302008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 29631
d5a7dc5b 29632 * util/update-grub.in (GRUB_GFXMODE): Export variable.
29633 * util/grub.d/00_header.in: Allow the administrator to change default
29634 gfxmode via ${GRUB_GFXMODE}.
29635
380cfbb4 296362008-08-21 Felix Zielcke <fzielcke@z-51.de>
29637
29638 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29639
c9baafe7 296402008-08-21 Robert Millan <rmh@aybabtu.com>
29641
29642 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29643 loader.
29644 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29645 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29646
e290bef2 296472008-08-20 Carles Pina i Estany <carles@pina.cat>
29648
29649 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29650 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29651
f9dbfc96 296522008-08-19 Robert Millan <rmh@aybabtu.com>
29653
29654 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29655 (struct grub_virtual_screen): Remove `cursor_color'.
29656 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29657 initialization.
29658 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29659
dd6bd6ab 296602008-08-18 Robert Millan <rmh@aybabtu.com>
29661
29662 Unify (identical) linux_normal.c files.
29663 * loader/i386/efi/linux_normal.c: Move from here ...
29664 * loader/linux_normal.c: ... to here. Update all users.
29665 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29666 * loader/i386/ieee1275/linux_normal.c: Likewise.
29667
7f42f83e 296682008-08-18 Robert Millan <rmh@aybabtu.com>
29669
29670 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29671 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29672 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29673 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29674 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29675 New macros.
29676 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29677 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29678 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29679 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29680 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29681 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29682 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29683 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29684 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29685 portably using grub_getxy().
29686 Replace `-EFI' with `-bzImage' in boot message.
29687
38487ddb 296882008-08-17 Robert Millan <rmh@aybabtu.com>
29689
29690 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29691
deceb3ec 296922008-08-17 Robert Millan <rmh@aybabtu.com>
29693
29694 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29695
29696 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29697 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29698 (grub_machine_mmap_iterate): New function declaration.
29699 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29700 structure.
29701 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29702 macros.
29703
29704 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
29705 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
29706 Move e820 parsing from here ...
29707 * kern/i386/pc/mmap.c: New file.
29708 (grub_machine_mmap_iterate): ... to here.
29709
29710 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
29711 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
29712 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
29713 (grub_available_iterate): Redeclare to return `void', and redeclare
29714 its hook to use grub_uint64_t as addr and size parameters, and rename
29715 to ...
29716 (grub_machine_mmap_iterate): ... this. Update all users.
29717
29718 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
29719 to make it more readable. Rename to ...
29720 (grub_machine_mmap_iterate): ... this.
29721
29722 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
29723 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
29724 (grub_multiboot): Allocate an extra region after the payload, and fill
29725 it with a Multiboot memory map. Adjust a.out loader to calculate size
29726 with the extra space.
29727 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
29728 with the extra space.
29729
f8aa0f43 297302008-08-17 Carles Pina i Estany <carles@pina.cat>
29731
9807deb9 29732 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 29733
605f5bb6 297342008-08-17 Felix Zielcke <fzielcke@z-51.de>
29735
29736 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
29737 mdate-sh to the list `find' searches for.
29738 * DISTLIST: Regenerated.
29739
210db6c6 297402008-08-16 Felix Zielcke <fzielcke@z-51.de>
29741
29742 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
29743 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 29744 genmoddep.awk, gensymlist.sh.in.
29745 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 29746 * DISTLIST: Regenerated.
48cdbfd4 29747 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 29748
1082b929 297492008-08-16 Robert Millan <rmh@aybabtu.com>
29750
29751 * disk/raid.c (grub_raid_init): Handle/report errors set by
29752 grub_device_iterate().
29753 * disk/lvm.c (grub_lvm_init): Likewise.
29754
42ce5170 297552008-08-15 Bean <bean123ch@gmail.com>
29756
29757 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29758 and datehook.mod.
29759 (datetime_mod_SOURCES): New macro.
29760 (datetime_mod_CFLAGS): Likewise.
29761 (datetime_mod_LDFLAGS): Likewise.
29762 (date_mod_SOURCES): Likewise.
29763 (date_mod_CFLAGS): Likewise.
29764 (date_mod_LDFLAGS): Likewise.
29765 (datehook_mod_SOURCES): Likewise.
29766 (datehook_mod_CFLAGS): Likewise.
29767 (datehook_mod_LDFLAGS): Likewise.
29768
29769 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29770 and datehook.mod.
29771 (datetime_mod_SOURCES): New macro.
29772 (datetime_mod_CFLAGS): Likewise.
29773 (datetime_mod_LDFLAGS): Likewise.
29774 (date_mod_SOURCES): Likewise.
29775 (date_mod_CFLAGS): Likewise.
29776 (date_mod_LDFLAGS): Likewise.
29777 (datehook_mod_SOURCES): Likewise.
29778 (datehook_mod_CFLAGS): Likewise.
29779 (datehook_mod_LDFLAGS): Likewise.
29780
29781 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29782 and datehook.mod.
29783 (datetime_mod_SOURCES): New macro.
29784 (datetime_mod_CFLAGS): Likewise.
29785 (datetime_mod_LDFLAGS): Likewise.
29786 (date_mod_SOURCES): Likewise.
29787 (date_mod_CFLAGS): Likewise.
29788 (date_mod_LDFLAGS): Likewise.
29789 (datehook_mod_SOURCES): Likewise.
29790 (datehook_mod_CFLAGS): Likewise.
29791 (datehook_mod_LDFLAGS): Likewise.
29792
29793 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29794 and datehook.mod.
29795 (datetime_mod_SOURCES): New macro.
29796 (datetime_mod_CFLAGS): Likewise.
29797 (datetime_mod_LDFLAGS): Likewise.
29798 (date_mod_SOURCES): Likewise.
29799 (date_mod_CFLAGS): Likewise.
29800 (date_mod_LDFLAGS): Likewise.
29801 (datehook_mod_SOURCES): Likewise.
29802 (datehook_mod_CFLAGS): Likewise.
29803 (datehook_mod_LDFLAGS): Likewise.
29804
29805 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29806 and datehook.mod.
29807 (datetime_mod_SOURCES): New macro.
29808 (datetime_mod_CFLAGS): Likewise.
29809 (datetime_mod_LDFLAGS): Likewise.
29810 (date_mod_SOURCES): Likewise.
29811 (date_mod_CFLAGS): Likewise.
29812 (date_mod_LDFLAGS): Likewise.
29813 (datehook_mod_SOURCES): Likewise.
29814 (datehook_mod_CFLAGS): Likewise.
29815 (datehook_mod_LDFLAGS): Likewise.
29816
29817 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
29818
29819 * commands/date.c: New file.
29820
29821 * hook/datehook.c: Likewise.
29822
29823 * include/grub/lib/datetime.h: Likewise.
29824
29825 * include/grub/i386/cmos.h: Likewise.
29826
29827 * lib/datetime.c: Likewise.
29828
29829 * lib/i386/datetime.c: Likewise.
29830
29831 * lib/efi/datetime.c: Likewise.
29832
0e9242da 298332008-08-14 Robert Millan <rmh@aybabtu.com>
29834
29835 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
29836 (grub_mkelfimage_SOURCES): New variable.
29837 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
29838
29839 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
29840 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
29841 * conf/powerpc-ieee1275.rmk: Likewise.
29842 * conf/i386-ieee1275.rmk: Likewise.
29843
29844 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
29845 * kern/i386/coreboot/init.c: Likewise.
29846
29847 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
29848 with `<grub/cpu/kernel.h>'.
29849 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
29850 to ...
29851 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
29852 * kern/i386/coreboot/startup.S: Likewise.
29853
29854 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
29855 (GRUB_MOD_GAP): Remove.
29856 * include/grub/powerpc/kernel.h: New file.
29857 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
29858 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29859 * include/grub/i386/kernel.h: New file.
29860 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
29861 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
29862 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29863
29864 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
29865 `grub-mkelfimage'.
29866 Use --directory when invoking grub_mkimage.
29867
29868 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
29869 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29870 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29871 and GRUB_KERNEL_CPU_PREFIX.
29872
b86408f8 298732008-08-14 Felix Zielcke <fzielcke@z-51.de>
29874
d5e619ca 29875 * include/grub/err.h (grub_err_printf): New function prototype.
29876 * util/misc.c (grub_err_printf): New function.
29877 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29878 grub_printf.
29879 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 29880
7161f0e0 298812008-08-13 Robert Millan <rmh@aybabtu.com>
29882
29883 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29884
a1967522 298852008-08-13 Robert Millan <rmh@aybabtu.com>
29886
29887 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29888 boot entry.
29889
371458b5 298902008-08-12 Robert Millan <rmh@aybabtu.com>
29891
29892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29893 of the relocation code from here ...
29894 (grub_multiboot): ... to here.
29895 (forward_relocator, backward_relocator): Move from here ...
29896 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29897 (grub_multiboot_backward_relocator): ... to here.
29898 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29899 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29900 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29901 (grub_multiboot_forward_relocator_end)
29902 (grub_multiboot_backward_relocator)
29903 (grub_multiboot_backward_relocator_end): New variables.
29904
05f9452b 299052008-08-12 Bean <bean123ch@gmail.com>
29906
29907 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29908
20024ab0 299092008-08-11 Robert Millan <rmh@aybabtu.com>
29910
29911 * kern/i386/linuxbios/startup.S: Move from here ...
29912 * kern/i386/coreboot/startup.S: ... to here.
29913
29914 * kern/i386/linuxbios/init.c: Move from here ...
29915 * kern/i386/coreboot/init.c: ... to here.
29916
29917 * kern/i386/linuxbios/table.c: Move from here ...
29918 * kern/i386/coreboot/mmap.c: ... to here.
29919
29920 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29921
e352e9cd 299222008-08-11 Robert Millan <rmh@aybabtu.com>
29923
29924 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29925 errors. Leave it to the upper layer to handle them.
29926
2d05bc6a 299272008-08-09 Christian Franke <franke@computer.org>
29928
29929 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29930 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29931 Install `grub.d/10_windows' only on Cygwin.
29932 * configure.ac: Add subst of `target_os'.
29933 Check `target_os' also before setting TARGET_OBJ2ELF.
29934 Add `--enable-grub-pe2elf'.
29935
042bd419 299362008-08-08 Robert Millan <rmh@aybabtu.com>
29937
29938 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29939 (grub_last_time): Change type to grub_uint64_t.
29940 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29941 (grub_disk_close): Likewise.
29942
29943 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29944 (run_menu): Migrate code from to using grub_get_time_ms().
29945
29946 * util/misc.c (grub_get_time_ms): New function.
29947
7f280db5 299482008-08-08 Marco Gerards <marco@gnu.org>
29949
29950 * disk/ata.c (grub_ata_regget): Change return type to
29951 `grub_uint8_t'.
29952 (grub_ata_regget2): Likewise.
29953 (grub_ata_wait_status): New function.
29954 (grub_ata_wait_busy): Removed function, updated all users to use
29955 `grub_ata_wait_status'.
29956 (grub_ata_wait_drq): Likewise.
29957 (grub_ata_cmd): New function.
29958 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29959 error handling.
29960 (grub_ata_pio_write): Add error handling.
29961 (grub_atapi_identify): Likewise.
29962 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29963 handling.
29964 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29965 handling. Actually use the detected registers. Reorder the
29966 detection logic such that it is easier to read.
29967 (grub_ata_pciinit): Do not assign the same ID to each controller.
29968 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29969 handling.
29970 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29971
29972 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29973
1fbc5e66 299742008-08-08 Marco Gerards <marco@gnu.org>
29975
29976 * NEWS: Update.
29977
819ce6c0 299782008-08-07 Bean <bean123ch@gmail.com>
29979
29980 * include/grub/x86_64/pci.h: New file.
29981
5c41d44d 299822008-08-07 Christian Franke <franke@computer.org>
29983
29984 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29985 (TIMER2_GATE): Likewise.
29986 (grub_pit_wait): Add enable/disable of the timer2 gate
29987 bit of port 0x61. This fixes a possible infinite loop.
29988
5ebc275d 299892008-08-07 Bean <bean123ch@gmail.com>
29990
29991 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
29992 kern/i386/tsc.c and kern/i386/pit.c.
29993
29994 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
29995 x86_64 platform.
29996
29997 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
29998 <grub/i386/tsc.h>.
29999
30000 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30001
e383b3d0 300022008-08-07 Bean <bean123ch@gmail.com>
30003
30004 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30005
30006 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30007
30008 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30009 multiple inclusion. Add #include <grub/types.h>.
30010
1cbb58ac 300112008-08-06 Christian Franke <franke@computer.org>
30012
30013 * conf/common.rmk: Build and install `10_windows'.
30014 * util/grub.d/10_windows.in: New script.
30015
337f5a1e 300162008-08-06 Pavel Roskin <proski@gnu.org>
30017
30018 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30019
057bc4ac 300202008-08-06 Robert Millan <rmh@aybabtu.com>
30021
30022 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30023 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30024
2b99f123 300252008-08-06 Bean <bean123ch@gmail.com>
30026
30027 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30028 (grub_pxefs_fs_int): Remove dummy definition.
30029 (grub_pxefs_open): Use data->block_size to store the current block
30030 size setting.
30031 (grub_pxefs_read): Use block size stored in data->block_size. As the
30032 value of grub_pxe_blksize can be changed after the file is opened.
30033
9f0234cb 300342008-08-06 Bean <bean123ch@gmail.com>
30035
30036 * fs/i386/pc/pxe.c (curr_file): new variable.
30037 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30038 require the dummy internal file system anymore.
30039 (grub_pxefs_read): Removed.
30040 (grub_pxefs_close): Likewise.
30041 (grub_pxefs_fs_int): Likewise.
30042 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30043 connection when we switch file.
30044 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30045
a55d42e0 300462008-08-06 Robert Millan <rmh@aybabtu.com>
30047
30048 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30049 `halt.mod'.
30050 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30051 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30052
30053 * kern/i386/halt.c: New file.
30054 * kern/i386/reboot.c: Likewise.
30055 * include/grub/i386/reboot.h: Likewise.
30056 * include/grub/i386/halt.h: Likewise.
30057
30058 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30059 Include `<grub/cpu/halt.h>'.
30060 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30061 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30062
30063 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30064 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30065 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30066 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30067 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30068 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30069 from here ...
30070 * include/grub/i386/at_keyboard.h: ... to here.
30071
24371d26 300722008-08-05 Robert Millan <rmh@aybabtu.com>
30073
30074 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30075 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30076 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30077 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30078 `kern/generic/millisleep.c'.
30079
30080 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30081 instead of grub_get_rtc().
30082 (grub_tsc_init): Initialize `tsc_boot_time'.
30083
30084 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30085 (grub_machine_init): Use grub_tsc_init() rather than
30086 installing an RTC-based handler via grub_install_get_time_ms().
30087
30088 * kern/i386/pit.c: New file.
30089 * include/grub/i386/pit.h: Likewise.
30090
9e7007b3 300912008-08-05 Bean <bean123ch@gmail.com>
30092
30093 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30094
30095 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30096 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30097 (pxe_mod_SOURCES): New macro.
30098 (pxe_mod_CFLAGS): Likewise.
30099 (pxe_mod_LDFLAGS): Likewise.
30100 (pxecmd_mod_SOURCES): Likewise.
30101 (pxecmd_mod_CFLAGS): Likewise.
30102 (pxecmd_mod_LDFLAGS): Likewise.
30103
30104 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30105 (grub_pxe_call): Likewise.
30106
30107 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30108
30109 * commands/i386/pc/pxecmd.c: New file.
30110
9f0234cb 30111 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30112
30113 * include/grub/i386/pc/pxe.h: Likewise.
30114
6977d49f 301152008-08-05 Bean <bean123ch@gmail.com>
30116
30117 * util/console.c (grub_console_cur_color): New variable.
30118 (grub_console_standard_color): Likewise.
30119 (grub_console_normal_color): Likewise.
30120 (grub_console_highlight_color): Likewise.
30121 (color_map): Likewise.
30122 (use_color): Likewise.
30123 (NUM_COLORS): New macro.
30124 (grub_ncurses_setcolorstate): Handle color properly.
30125 (grub_ncurses_setcolor): Don't change color here, just remember the
30126 settings, color will be set in grub_ncurses_setcolorstate.
30127 (grub_ncurses_getcolor): New function.
30128 (grub_ncurses_init): Initialize color pairs.
30129 (grub_ncurses_term): New member grub_ncurses_getcolor.
30130
9c2ff3ee 301312008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30132
9c2ff3ee 30133 High resolution timer support. Implemented for x86 CPUs using TSC.
30134 Extracted generic grub_millisleep() so it's linked in only as needed.
30135 This requires a Pentium compatible CPU; if the RDTSC instruction is
30136 not supported, then it falls back on the generic grub_get_time_ms()
30137 implementation that uses the machine's RTC.
30138
30139 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30140 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30141 `kern/generic/millisleep.c'.
30142
30143 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30144 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30145
30146 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30147 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30148
30149 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30150
30151 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30152 `kern/generic/millisleep.c'.
30153
30154 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30155
30156 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30157
30158 * kern/generic/rtc_get_time_ms.c: New file.
30159
30160 * kern/generic/millisleep.c: New file.
337f5a1e 30161
9c2ff3ee 30162 * kern/misc.c: Don't include
30163 <kern/time.h> anymore.
30164 (grub_millisleep_generic): Removed.
30165
30166 * commands/sleep.c (grub_interruptible_millisleep): Uses
30167 grub_get_time_ms() instead of grub_get_rtc().
30168
30169 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30170 function.
30171 (grub_cpu_is_cpuid_supported): New inline function.
30172 (grub_cpu_is_tsc_supported): New inline function.
30173 (grub_tsc_init): New function prototype.
30174 (grub_tsc_get_time_ms): New function prototype.
30175
30176 * kern/i386/tsc.c (grub_get_time_ms): New file.
30177
30178 * include/grub/time.h: Include <grub/types.h.
30179 (grub_millisleep_generic): Removed.
30180 (grub_get_time_ms): New prototype.
30181 (grub_install_get_time_ms): New prototype.
30182 (grub_rtc_get_time_ms): New prototype.
30183
30184 * kern/time.c (grub_get_time_ms): New function.
30185 (grub_install_get_time_ms): New function.
30186
30187 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30188 <grub/time.h> anymore.
30189 (grub_millisleep): Removed.
30190 (grub_machine_init): Call grub_tsc_init.
30191
30192 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30193 get_time_ms() implementation.
30194
30195 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30196 (ieee1275_get_time_ms): New function.
30197 (grub_machine_init): Install get_time_ms() implementation.
30198
30199 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30200 (grub_machine_init): Call grub_tsc_init().
30201 (grub_millisleep): Removed.
bf06a93f 30202
9c2ff3ee 30203 * kern/ieee1275/init.c (grub_millisleep): Removed.
30204 (grub_machine_init): Install ieee1275_get_time_ms()
30205 implementation.
30206 (ieee1275_get_time_ms): New function.
30207 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30208 real work.
30209
9ec92aaf 302102008-08-05 Marco Gerards <marco@gnu.org>
30211
30212 * disk/ata.c: Include <grub/pci.h>.
30213 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30214 (grub_ata_initialize): Rewritten.
30215 (grub_ata_device_initialize): New function.
30216
8d23f507 302172008-08-04 Pavel Roskin <proski@gnu.org>
30218
30219 * kern/main.c: Include grub/mm.h.
30220
5e15ee3d 302212008-08-04 Robert Millan <rmh@aybabtu.com>
30222
30223 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30224 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30225 corruption problem).
30226
a9053f8f 302272008-08-04 Robert Millan <rmh@aybabtu.com>
30228
30229 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30230 warnings introduced in my last commit.
30231
dd19c7d7 302322008-08-03 Robert Millan <rmh@aybabtu.com>
30233
30234 Make PCI available on all i386 architectures.
30235
30236 * include/grub/i386/pc/pci.h: Move from here ...
30237 * include/grub/i386/pci.h: ... to here.
30238
30239 * include/grub/i386/pc/pci.h: Remove.
30240 * include/grub/i386/efi/pci.h: Remove.
30241 * include/grub/x86_64/efi/pci.h: Remove.
30242
30243 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30244 `<grub/cpu/pci.h>'.
30245
30246 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30247 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30248 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30249
30250 * conf/i386-ieee1275.rmk: Likewise.
30251
e14a6184 302522008-08-03 Robert Millan <rmh@aybabtu.com>
30253
30254 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30255 (grub_console_setcursor): Make it possible to set cursor off.
30256
52768e37 302572008-08-03 Robert Millan <rmh@aybabtu.com>
30258
30259 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30260 of modules instead of assuming which platform provides what.
30261 * util/update-grub.in: Likewise.
30262
2d52f57f 302632008-08-03 Robert Millan <rmh@aybabtu.com>
30264
30265 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30266 instead of `grub_install_dos_part' to determine whether a drive needs
30267 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30268 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30269
2a5cd121 302702008-08-02 Robert Millan <rmh@aybabtu.com>
30271
30272 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30273
93808428 302742008-08-02 Robert Millan <rmh@aybabtu.com>
30275
30276 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30277 of informational grub_dprintf() calls.
30278
3bd0a12a 302792008-08-02 Robert Millan <rmh@aybabtu.com>
30280
30281 * disk/memdisk.c (memdisk_size): Don't initialize.
30282 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30283
30284 * include/grub/i386/pc/kernel.h
30285 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30286 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30287 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30288 (grub_arch_memdisk_size): Remove.
30289
30290 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30291 field (was only used to transfer a constant). Add `type' field to
30292 support multiple module types.
30293 (grub_module_iterate): New function.
30294
30295 * kern/device.c (grub_device_open): Do not hide error messages
30296 when grub_disk_open() fails. Use grub_print_error() instead.
30297
30298 * kern/i386/pc/init.c (grub_arch_modules_addr)
30299 (grub_arch_memdisk_size): Remove functions.
30300 (grub_arch_modules_addr): Return the module address in high memory
30301 (now that it isn't copied anymore).
30302
30303 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30304 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30305 decompression routine (grub_total_module_size already includes that
30306 now). Don't copy modules back to low memory.
30307
30308 * kern/main.c: Include `<grub/mm.h>'.
30309 (grub_load_modules): Split out (and use) ...
30310 (grub_module_iterate): ... this function, which iterates through
30311 module objects and runs a hook.
30312 Comment out grub_mm_init_region() call, as it would cause non-ELF
30313 modules to be overwritten.
30314
30315 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30316 the memdisk image in its own region, make it part of the module list.
30317 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30318 (main): Parse --memdisk|-m option, and pass user-provided path as
30319 parameter to generate_image().
30320 (add_segments): Pass `memdisk_path' down to load_modules().
30321 (load_modules): Embed memdisk image in module section when requested.
30322 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30323 `header.type' instead of `header.offset'.
30324
30325 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30326 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30327 (memdisk_mod_LDFLAGS): New variables.
30328 * conf/i386-coreboot.rmk: Likewise.
30329 * conf/i386-ieee1275.rmk: Likewise.
30330
a927cc73 303312008-08-02 Robert Millan <rmh@aybabtu.com>
30332
30333 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30334 (backward_relocator): New variables. Used to allocate and relocate
30335 the payload, respectively.
30336 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30337 address, install the appropriate relocator code in each bound of
a927cc73 30338 the payload, and set the entry point such that
30339 grub_multiboot_real_boot() will jump to one of them.
30340
30341 * kern/i386/loader.S (grub_multiboot_payload_size)
30342 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30343 (grub_multiboot_payload_entry_offset): New variables.
30344 (grub_multiboot_real_boot): Set cpu context to what the relocator
30345 expects, and jump to the relocator instead of the payload.
30346
30347 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30348 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30349 (grub_multiboot_payload_entry_offset): Export.
30350
b15d8a0c 303512008-08-01 Bean <bean123ch@gmail.com>
30352
30353 * normal/menu_entry.c (editor_getline): Don't return the original
30354 string as result, as it will be released by lexer once it has done
30355 using it.
30356
cdfb3d22 303572008-08-01 Robert Millan <rmh@aybabtu.com>
30358
30359 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30360 within menuentries, not before them.
30361 util/grub.d/10_hurd.in: Likewise.
30362
9175e93d 303632008-08-01 Bean <bean123ch@gmail.com>
30364
30365 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30366 (bufio_mod_SOURCES): New macro.
30367 (bufio_mod_CFLAGS): Likewise.
30368 (bufio_mod_LDFLAGS): Likewise.
30369
30370 * include/grub/bufio.h: New file.
30371
30372 * io/bufio.c: Likewise.
30373
30374 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30375 (grub_video_reader_png): Use grub_buffile_open to open file.
30376
30377 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30378 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30379
30380 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30381 (grub_video_reader_tga): Use grub_buffile_open to open file.
30382
30383 * font/manager.c: Include <grub/bufio.h>.
30384 (add_font): Use grub_buffile_open to open file.
30385
3d8383e7 303862008-07-31 Robert Millan <rmh@aybabtu.com>
30387
30388 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30389 ELF segments, use a macro for arbitrarily accessing any of them instead
30390 of preparing a pointer that allows access to one at a time.
30391 (grub_multiboot_load_elf64): Likewise.
30392
16e641b6 303932008-07-31 Bean <bean123ch@gmail.com>
30394
30395 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30396 GRUB_KERNEL_MACHINE_DATA_END.
30397
59198b72 303982008-07-30 Robert Millan <rmh@aybabtu.com>
30399
30400 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30401 Increase from 0x50 to 0x60.
30402 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30403 use UUIDs to identify the root drive for them. If that's not
30404 possible, abort.
30405 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30406 check, for cross-disk installs.
30407
ae88bca3 304082008-07-30 Robert Millan <rmh@aybabtu.com>
30409
30410 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30411 is non-empty, use it to set the `prefix' environment variable instead
30412 of the usual approach.
30413 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30414 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30415 environment variable instead of dummy make_install_device().
30416
30417 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30418 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 30419 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 30420
30421 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30422 New variable reference.
30423 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30424 New macro. Defines offset of `grub_prefix' within startup.S (relative
30425 to `start').
30426 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30427 section within startup.S (relative to `start').
30428 * include/grub/i386/coreboot/kernel.h: Likewise.
30429
30430 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30431 Overwrite grub_prefix with its contents, at the beginning of the
30432 first segment.
30433 (main): Understand -p|--prefix.
30434
14f41dd1 304352008-07-30 Robert Millan <rmh@aybabtu.com>
30436
30437 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30438
4ca049a3 304392008-07-30 Robert Millan <rmh@aybabtu.com>
30440
30441 * term/i386/pc/vga_text.c (grub_console_cls): Use
30442 grub_console_gotoxy() to go back to beginning of the screen.
30443 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30444
2921d337 304452008-07-29 Christian Franke <franke@computer.org>
30446
30447 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30448 Add conversion of emulated mount points on Cygwin.
30449
b609876d 304502008-07-29 Christian Franke <franke@computer.org>
30451
30452 * util/update-grub.in: Add a check for admin
30453 group on Cygwin.
30454 Remove old `grub.cfg.new' before creation.
30455 Add `-f' to `mv' to handle the different filesystem
30456 semantics of Windows.
30457
e93e4679 304582008-07-29 Bean <bean123ch@gmail.com>
30459
30460 * normal/main.c (get_line): Fix buffer overflow bug.
30461
41694fd0 304622008-07-28 Robert Millan <rmh@aybabtu.com>
30463
30464 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30465 (struct grub_apple_header): New struct. Describes the layout of
30466 the partmap header.
30467 (apple_partition_map_iterate): Check the header magic as well as the
30468 partition magic (which was already being checked).
30469
cfd0b4e6 304702008-07-28 Pavel Roskin <proski@gnu.org>
30471
30472 * genmk.rb: Add a warning to the beginning of the output that
30473 it's a generated file and should not be edited.
30474
93cce016 304752008-07-28 Robert Millan <rmh@aybabtu.com>
30476
30477 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30478 with the same number are found, just use issue a warning with
30479 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 30480
cd1df915 304812008-07-27 Robert Millan <rmh@aybabtu.com>
30482
30483 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30484 information.
30485
b70a8427 304862008-07-27 Bean <bean123ch@gmail.com>
30487
30488 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30489 (grub_fat_find_dir): Ignore case when comparing filename.
30490
8f5e379f 304912008-07-27 Bean <bean123ch@gmail.com>
30492
30493 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30494 smallino, as it's more descriptive, and i8count can be confused with
30495 the other field count.
30496 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30497 inode type.
30498
a85cd5a0 304992008-07-27 Bean <bean123ch@gmail.com>
30500
30501 * commands/crc.c: New file.
30502
30503 * lib/crc.c: Likewise.
30504
30505 * include/grub/lib/crc.h: Likewise.
30506
30507 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30508
30509 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30510 (hexdump): Move this function to ...
30511
30512 * lib/hexdump.c: ... here.
30513
30514 * include/grub/hexdump.h: Renamed to ...
30515
30516 * include/grub/lib/hexdump.h: ... this.
30517
30518 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30519
30520 * util/grub-editenv.c: Likewise.
30521
30522 * include/envblk.h: Renamed to ...
30523
30524 * include/lib/envblk.h: ... this.
30525
30526 * util/envblk.c: Renamed to ...
30527
30528 * lib/envblk.c: ... this.
30529
30530 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30531 lib/hexdump.c.
30532 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30533 (pkglib_MODULES): Add crc.mod.
30534 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30535 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30536 (crc_mod_SOURCES): New macro.
30537 (crc_mod_CFLAGS): Likewise.
30538 (crc_mod_LDFLAGS): Likewise.
30539
30540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30541
30542 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30543
30544 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30545
30546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30547
30548 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30549
c298def0 305502008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 30551
30552 * commands/help.c: Include <grub/term.h>.
30553 (TERM_WIDTH): Removed. Updated all users.
30554
cc349fb3 305552008-07-27 Pavel Roskin <proski@gnu.org>
30556
30557 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30558 spurious warnings about a comment within a comment.
30559
9051607e 305602008-07-25 Robert Millan <rmh@aybabtu.com>
30561
30562 * util/getroot.c (find_root_device): Skip devices that match
30563 /dev/dm-[0-9]. This lets the real device be found for any type of
30564 abstraction (LVM, EVMS, RAID..).
30565 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30566 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30567 device is found first, find_root_device() will now skip it.
30568
01453bfc 305692008-07-24 Pavel Roskin <proski@gnu.org>
30570
30571 * include/grub/types.h: Use __builtin_bswap32() and
30572 __builtin_bswap64() with gcc 4.3 and newer.
30573
6af9849f 305742008-07-24 Christian Franke <franke@computer.org>
30575
3a0fa256 30576 * util/i386/pc/grub-install.in: If `--debug' is specified,
30577 pass `--verbose' to grub-setup.
30578 Abort script if make_system_path_relative_to_its_root() fails.
30579
7810e747 305802008-07-24 Bean <bean123ch@gmail.com>
30581
30582 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30583 variable `target_platform' should be `platform'.
30584
42290e17 305852008-07-24 Bean <bean123ch@gmail.com>
30586
51cc5193 30587 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 30588 (grub_png_init_fixed_block): New function.
30589 (grub_png_decode_image_data): Handle fixed huffman code compression.
30590
2a8a80e4 305912008-07-24 Bean <bean123ch@gmail.com>
30592
30593 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30594 (grub_pe2elf_SOURCES): New macro.
30595 (CLEANFILES): Add grub-pe2elf.
30596
30597 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30598 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30599 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30600 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30601 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30602 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30603 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30604 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30605 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30606 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30607 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30608 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30609 (GRUB_PE32_DT_FUNCTION): Likewise.
30610 (GRUB_PE32_REL_I386_DIR32): Likewise.
30611 (GRUB_PE32_REL_I386_REL32): Likewise.
30612 (grub_pe32_symbol): New structure.
30613 (grub_pe32_reloc): Likewise.
30614
30615 * util/grub-pe2elf.c: New file.
30616
30617 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30618 start symbol in non pc platform.
30619
30620 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30621
30622 The following patches are from Christian Franke.
30623
30624 * include/grub/dl.h: Remove .previous, gas supports this only
30625 for ELF format.
30626
30627 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30628 Remove .type, gas supports this only for ELF format.
30629
30630 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30631 nullbytes in symbol table. This fixes an infinite loop if table is
30632 zero filled.
30633
30634 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
30635 TARGET_IMG_LDFLAGS and EXEEXT.
30636
30637 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30638 TARGET_IMG_LDFLAGS_AC.
30639 (grub_CHECK_STACK_ARG_PROBE): New function.
30640
30641 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30642
30643 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30644
30645 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30646 to set TARGET_IMG_LD* accordingly.
30647 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30648 Add call to grub_CHECK_STACK_ARG_PROBE.
30649 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30650
30651 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30652
30653 * genmk.rb: Add EXEEXT to CLEANFILES.
30654
12ccdb75 306552008-07-23 Robert Millan <rmh@aybabtu.com>
30656
30657 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30658 define the codes for arrows and lines used for the menu).
30659 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30660 as well.
30661
30662 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30663 fonts, because the latter are too slow.
30664
18eeaf04 306652008-07-21 Bean <bean123ch@gmail.com>
30666
30667 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30668 a20. Run keyboard test last, as it will cause macbook to halt.
30669
b095e2ad 306702008-07-18 Pavel Roskin <proski@gnu.org>
30671
30672 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30673 load foreign architecture modules correctly anyway. Keep
30674 support for loading host architecture modules, whether we
30675 compile them or not.
30676
737feb35 306772008-07-17 Pavel Roskin <proski@gnu.org>
30678
3f4ce737 30679 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30680 change target_cpu. The compiler default can mismatch target_cpu
30681 in any case.
30682
4ad2d049 30683 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30684 * kern/efi/efi.c: Likewise.
30685
f6130a12 30686 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30687 target compiler is functional.
30688 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30689 are set up.
30690
58393a2d 30691 * configure.ac: Default to efi platform for x86_64-apple. Allow
30692 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30693 adjustments from the rest, only do them if target is not
30694 explicitly given. Merge other adjustments with the final sanity
30695 check. Remove an extraneous check for supported CPU. Be
30696 specific which CPU and which platform is not supported.
30697
737feb35 30698 * configure.ac: Default to pc platform for x86_64.
30699
546f966a 307002008-07-17 Robert Millan <rmh@aybabtu.com>
30701
30702 Partial LinuxBIOS -> Coreboot rename.
30703
30704 * conf/i386-linuxbios.rmk: Renamed to ...
30705 * conf/i386-coreboot.rmk: ... this.
30706 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
30707 * configure.ac: Accept "coreboot" as input platform (but maintain
30708 compatibility with "linuxbios").
30709 * include/grub/i386/linuxbios: Renamed to ...
30710 * include/grub/i386/coreboot: ... this.
30711
20011694 307122008-07-17 Bean <bean123ch@gmail.com>
30713
30714 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 30715 (appleldr_mod_SOURCE): New variable.
20011694 30716 (appleldr_mod_CFLAGS): Likewise.
30717 (appleldr_mod_LDFLAGS): Likewise.
30718 (pci_mod_SOURCES): Likewise.
30719 (pci_mod_CFLAGS): Likewise.
30720 (pci_mod_LDFLAGS): Likewise.
30721 (lspci_mod_SOURCES): Likewise.
30722 (lspci_mod_CFLAGS): Likewise.
30723 (lspci_mod_LDFLAGS): Likewise.
30724
30725 * conf/x86_64-efi.rmk: New file.
30726
30727 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
30728 macro.
30729 (grub_efidisk_write): Likewise.
30730
30731 * include/efi/api.h (efi_call_0): New macro.
30732 (efi_call_1): Likewise.
30733 (efi_call_2): Likewise.
30734 (efi_call_3): Likewise.
30735 (efi_call_4): Likewise.
30736 (efi_call_5): Likewise.
30737 (efi_call_6): Likewise.
30738
30739 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
30740 grub_rescue_cmd_chainloader.
30741
30742 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
30743 (grub_pe32_optional_header): Change some fields based on i386 or
30744 x86_64 platform.
30745 (GRUB_PE32_PE32_MAGIC): Likewise.
30746
30747 * include/grub/efi/uga_draw.h: New file.
30748
30749 * include/grub/elf.h (STN_ABS): New constant.
30750 (R_X86_64_NONE): Relocation constant for x86_64.
30751 (R_X86_64_64): Likewise.
30752 (R_X86_64_PC32): Likewise.
30753 (R_X86_64_GOT32): Likewise.
30754 (R_X86_64_PLT32): Likewise.
30755 (R_X86_64_COPY): Likewise.
30756 (R_X86_64_GLOB_DAT): Likewise.
30757 (R_X86_64_JUMP_SLOT): Likewise.
30758 (R_X86_64_RELATIVE): Likewise.
30759 (R_X86_64_GOTPCREL): Likewise.
30760 (R_X86_64_32): Likewise.
30761 (R_X86_64_32S): Likewise.
30762 (R_X86_64_16): Likewise.
30763 (R_X86_64_PC16): Likewise.
30764 (R_X86_64_8): Likewise.
30765 (R_X86_64_PC8): Likewise.
30766
30767 * include/grub/i386/efi/pci.h: New file.
30768
30769 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
30770 Change it value based on platform.
30771 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
30772 (GRUB_E820_RAM): Likewise.
30773 (GRUB_E820_RESERVED): Likewise.
30774 (GRUB_E820_ACPI): Likewise.
30775 (GRUB_E820_NVS): Likewise.
30776 (GRUB_E820_EXEC_CODE): Likewise.
30777 (GRUB_E820_MAX_ENTRY): Likewise.
30778 (grub_e820_mmap): New structure.
30779 (linux_kernel_header): Change the efi field according to different
30780 kernel version, also field from linux_kernel_header.
30781
30782 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
30783
30784 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
30785 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
30786 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
30787 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
30788 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
30789 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
30790 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
30791 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
30792 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
30793 (GRUB_PCI_ADDR_IO_MASK): Likewise.
30794
30795 * include/grub/x86_64/efi/kernel.h: New file.
30796
30797 * include/grub/x86_64/efi/loader.h: Likewise.
30798
30799 * include/grub/x86_64/efi/machine.h: Likewise.
30800
30801 * include/grub/x86_64/efi/pci.h: Likewise.
30802
30803 * include/grub/x86_64/efi/time.h: Likewise.
30804
30805 * include/grub/x86_64/linux.h: Likewise.
30806
30807 * include/grub/x86_64/setjmp.h: Likewise.
30808
30809 * include/grub/x86_64/time.h: Likewise.
30810
30811 * include/grub/x86_64/types.h: Likewise.
30812
30813 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
30814 GRUB_TARGET_SIZEOF_VOID_P.
30815
30816 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
30817 (grub_efi_locate_handle): Likewise.
30818 (grub_efi_open_protocol): Likewise.
30819 (grub_efi_set_text_mode): Likewise.
30820 (grub_efi_stall): Likewise.
30821 (grub_exit): Likewise.
30822 (grub_reboot): Likewise.
30823 (grub_halt): Likewise.
30824 (grub_efi_exit_boot_services): Likewise.
30825 (grub_get_rtc): Likewise.
30826
30827 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
30828 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
30829 (grub_efi_allocate_pages): Wrap efi calls.
30830 (grub_efi_free_pages): Wrap efi calls.
30831 (grub_efi_get_memory_map): Wrap efi calls.
30832
30833 * kern/x86_64/dl.c: New file.
30834
30835 * kern/x86_64/efi/callwrap.S: Likewise.
30836
30837 * kern/x86_64/efi/startup.S: Likewise.
30838
30839 * loader/efi/appleloader.c: Likewise.
30840
30841 * loader/efi/chainloader.c (cmdline): New variable.
30842 (grub_chainloader_unload): Wrap efi calls.
30843 (grub_chainloader_boot): Likewise.
30844 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
30845 command line.
30846
30847 * loader/efi/chainloader_normal.c (chainloader_command):
30848 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
30849 command line.
30850
30851 * loader/i386/efi/linux.c (allocate_pages): Change allocation
30852 method.
30853 (grub_e820_add_region): New function.
30854 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
30855 booting.
30856 (grub_find_video_card): New function.
30857 (grub_linux_setup_video): New function.
30858 (grub_rescue_cmd_linux): Probe for video information.
30859
30860 * normal/x86_64/setjmp.S: New file.
30861
30862 * term/efi/console.c (map_char): New function.
30863 (grub_console_putchar): Map unicode char.
30864 (grub_console_checkkey): Wrap efi calls.
30865 (grub_console_getkey): Likewise.
30866 (grub_console_getwh): Likewise.
30867 (grub_console_gotoxy): Likewise.
30868 (grub_console_cls): Likewise.
30869 (grub_console_setcolorstate): Likewise.
30870 (grub_console_setcursor): Likewise.
30871
30872 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30873
59652a20 308742008-07-16 Pavel Roskin <proski@gnu.org>
30875
ef294055 30876 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30877 format strings.
30878
59652a20 30879 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30880 pointer, not an integer. This fixes a warning and prevents
30881 precision loss on 64-bit systems.
30882 (relocate_addresses): Remove unneeded cast.
30883
afc3b5d7 308842008-07-15 Pavel Roskin <proski@gnu.org>
30885
506b2b3e 30886 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30887
62ead89c 30888 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30889
c4cd51d7 30890 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30891 Fix comparison between signed and unsigned.
30892
0d3d8f28 30893 * include/grub/i386/ieee1275/console.h: Declare
30894 grub_console_init() and grub_console_fini().
30895
8804b286 30896 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30897 It's empty and unused.
30898
ee01cf35 30899 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30900 beginning to avoid warnings with some compilers.
30901
afc3b5d7 30902 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30903 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30904
e4e8eaa5 309052008-07-14 Pavel Roskin <proski@gnu.org>
30906
407aceb4 30907 * kern/env.c (grub_register_variable_hook): Don't copy empty
30908 string, it leaks memory. Pass "" to grub_env_set(), it should
30909 handle constant strings.
30910
e4e8eaa5 30911 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30912 * commands/cmp.c (grub_cmd_cmp): Likewise.
30913 * kern/dl.c (grub_dl_flush_cache): Likewise.
30914 (grub_dl_load_core): Likewise.
30915 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30916 (grub_elf64_load_phdrs): Likewise.
30917
d4e2dad3 309182008-07-13 Pavel Roskin <proski@gnu.org>
30919
30920 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30921 between signed and unsigned.
30922 (LzmaEnc_Finish): Fix warning about an unused parameter.
30923
aa24b516 309242008-07-13 Bean <bean123ch@gmail.com>
30925
30926 * Makefile.in (enable_lzo): New rule.
30927
30928 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30929
30930 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30931
30932 * boot/i386/pc/lnxboot.S: #include <config.h>.
30933
30934 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 30935 its value according to the compression algorithm used, lzo or lzma.
aa24b516 30936
30937 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30938 compression algorithm according to configure macro.
30939
30940 * kern/i386/pc/startup.S (codestart): Likewise.
30941
30942 * kern/i386/pc/lzma_decode.S: New file.
30943
30944 * include/grub/lib/LzFind.h: Likewise.
30945
30946 * include/grub/lib/LzHash.h: Likewise.
30947
30948 * include/grub/lib/LzmaDec.h: Likewise.
30949
30950 * include/grub/lib/LzmaEnc.h: Likewise.
30951
30952 * include/grub/lib/LzmaTypes.h: Likewise.
30953
30954 * lib/LzFind.c: Likewise.
30955
30956 * lib/LzmaDec.c: Likewise.
30957
30958 * lib/LzmaEnc.c: Likewise.
30959
4ae821ac 309602008-07-13 Bean <bean123ch@gmail.com>
30961
30962 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30963 (grub_ext4_extent_header): New structure.
30964 (grub_ext4_extent): Likewise.
30965 (grub_ext4_extent_idx): Likewise.
30966 (grub_ext4_find_leaf): New function.
30967 (grub_ext2_read_block): Handle extents.
30968
9a745147 309692008-07-12 Robert Millan <rmh@aybabtu.com>
30970
30971 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30972
d49a4cf6 309732008-07-11 Robert Millan <rmh@aybabtu.com>
30974
30975 * util/grub.d/40_custom.in: New file. Example on how to add custom
30976 entries to /etc/grub.d.
30977 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30978 40_custom (implicitly, by merging all the grub.d rules).
30979
947414b4 309802008-07-11 Pavel Roskin <proski@gnu.org>
30981
0059cf6f 30982 * commands/read.c (grub_getline): Fix invalid memory access.
30983 Don't add newline to the variable value.
30984
947414b4 30985 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30986 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30987 (serial_hw_get_port): Check validity of the port number.
30988 (grub_cmd_serial): Check return value of serial_hw_get_port().
30989
62a02d00 309902008-07-07 Pavel Roskin <proski@gnu.org>
30991
30992 * boot/i386/pc/diskboot.S (notification_string): Replace
30993 "Loading kernel" with just "loading". This is shorter, less
30994 confusing and saves a few bytes for possible future changes.
30995
3e5581b0 309962008-07-05 Pavel Roskin <proski@gnu.org>
30997
ea387a48 30998 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
30999 size for ATAPI devices, they are undefined. Output sector
31000 number in decimal form.
31001
3e5581b0 31002 * disk/ata.c: Use named constants for status bits.
31003
fdecb8fd 310042008-07-04 Pavel Roskin <proski@gnu.org>
31005
bcd35b90 31006 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31007 grub_addr_t before casting it to the void pointer to fix a
31008 warning. Non-addressable regions are discarded earlier.
31009 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31010 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31011 (check_signature): Don't shadow table_header.
31012 (grub_linuxbios_table_iterate): Cast numeric constants to
31013 grub_linuxbios_table_header_t.
31014 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31015 grub_stop().
31016
af58ab3d 31017 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31018 prevent warnings.
31019
1759aa57 31020 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31021 pointer, which can cause warnings. Support 64-bit addresses.
31022
fdecb8fd 31023 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31024 of sizeof(long). This fixes PowerPC image generation on x86_64.
31025
8516d2a8 310262008-07-04 Robert Millan <rmh@aybabtu.com>
31027
31028 This fixes a performance issue when pc & gpt partmap iterators
31029 didn't abort iteration even after our hook found what it was
fe987087 31030 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31031
31032 Some callers relied on previous buggy behaviour, since they would
34c44600 31033 raise an error when their own hooks caused early abortion of its
8516d2a8 31034 iteration.
31035
31036 * kern/device.c (grub_device_open): Improve error message.
31037 * disk/lvm.c (grub_lvm_open): Likewise.
31038 * disk/raid.c (grub_raid_open): Likewise.
31039
31040 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31041 when hook requests it, independently of grub_errno.
31042 (pc_partition_map_probe): Do not fail when find_func() caused
31043 early abortion of pc_partition_map_iterate().
31044
31045 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31046 when hook requests it, independently of grub_errno.
31047 (gpt_partition_map_probe): Do not fail when find_func() caused
31048 early abortion of gpt_partition_map_iterate().
31049
31050 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31051 when hook requests it, independently of grub_errno. Do not fail when
31052 part_map_iterate_hook() caused early abortion of p->iterate().
31053
31054 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31055 when grub_partition_iterate() returned with non-zero.
31056
277d0de9 310572008-07-03 Pavel Roskin <proski@gnu.org>
31058
31059 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31060 like we do in grub_ata_pio_read().
31061 (grub_ata_readwrite): Always write individual sectors. Fix the
31062 sector count for the remainder.
31063 (grub_ata_write): Enable writing to ATA devices. Correctly
31064 report error for ATAPI devices.
31065
d4c9b428 310662008-07-02 Pavel Roskin <proski@gnu.org>
31067
e43fc690 31068 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31069 warning.
31070
f707af42 31071 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31072 for every read sector, we already increment it for the whole
31073 batch. This fixes reading more than 256 sectors at once.
31074
11e16b15 31075 * util/grub-editenv.c (cmd_info): Cast argument to long
31076 explicitly. ptrdiff_t reduces to int on i386.
31077
cbabfdd4 31078 * util/grub-editenv.c (main): Be specific which parameter is
31079 missing.
31080
b8fbce0a 31081 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31082 (memdisk): Make memdisk_orig_addr a pointer.
31083
c9c8e606 31084 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31085 for file offsets, use grub_off_t instead. Fix printf format
31086 warnings.
31087
ca62e598 31088 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31089 there. Real unexpected warnings should not drown in the noise
31090 about known problems.
31091
ce8d1766 31092 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31093 grub_disk_addr_t for memory addresses.
31094
00c7a56a 31095 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31096 explicitly to fix a warning.
31097
08d3ef09 31098 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31099
cb71ba20 31100 * Makefile.in (MODULE_LDFLAGS): New variable.
31101 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31102 the linker accepts --build-id=none.
31103 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31104 MODULE_LDFLAGS.
31105 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31106
d4c9b428 31107 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31108 those in Linux XFS code. Provide a way to access 64-bit parent
31109 inode.
31110 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31111 the end of struct grub_xfs_dir_header.
31112
d4156eee 311132008-07-02 Bean <bean123ch@gmail.com>
31114
31115 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31116 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31117 and GRUB_IEEE1275_FLAG_NO_ANSI.
31118
31119 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31120 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31121 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31122
31123 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31124 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31125
31126 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31127 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31128
31129 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31130 esc sequence on non ANSI terminal.
31131 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31132
31133 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31134 beginning of file.
31135
2270f77b 311362008-07-02 Bean <bean123ch@gmail.com>
31137
31138 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31139 (grub_editenv_SOURCES): New variable.
31140 (pkglib_MODULES): Add loadenv.mod.
31141 (loadenv_mod_SOURCES): New variable.
31142 (loadenv_mod_CFLAGS): Likewise.
31143 (loadenv_mod_LDFLAGS): Likewise.
31144
31145 * include/grub/envblk.h: New file.
31146
31147 * util/envblk.c: New file.
31148
31149 * util/grub-editenv.c: New file.
31150
31151 * commands/loadenv.c: New file.
31152
0e9e51ec 311532008-07-01 Pavel Roskin <proski@gnu.org>
31154
d89b7634 31155 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31156 not unsigned char. This fixes warnings and is consistent with
31157 other tags.
31158
bf1835b1 31159 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31160
8222a04b 31161 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31162
6a42d99d 31163 * term/tparm.c (analyze): Always set *popcount.
31164
10b159d1 31165 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31166 cast to fix a warning.
31167
b8789f6c 31168 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31169 cast to suppress a warning.
31170
29d7e38a 31171 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31172 grub_fshelp_read_file() expects.
31173
f341f669 31174 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31175 write uuid as a 32-bit value in CPU byte order, so declare and
31176 use it as such.
31177
0e9e51ec 31178 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31179 long if the format specifier expects it.
31180 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31181 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31182 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31183 long to fix a warning.
31184 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31185 grub_dprintf() arguments to fix warnings.
31186
3aefa857 311872008-06-30 Pavel Roskin <proski@gnu.org>
31188
56c7668b 31189 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31190 install_bsd_part immediately before core.img is embedded or
31191 modified on disk. This fixes core.img verification if core.img
31192 cannot be embedded.
31193
3aefa857 31194 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31195 core_path to calculate the blocklist.
31196 Patch from Javier Martín <lordhabbit@gmail.com>
31197
5444088d 311982008-06-29 Robert Millan <rmh@aybabtu.com>
31199
31200 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31201 block to disk block.
31202 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31203 Patch from Niels Böhm <bitbucket@arcor.de>
31204
674835c8 312052008-06-29 Robert Millan <rmh@aybabtu.com>
31206
31207 * util/update-grub_lib.in (font_path): Search for fonts in
31208 /boot/grub first, which is more likely to be readable (we aren't
31209 deciding where fonts live, just looking for them).
31210
f527dbc8 312112008-06-26 Pavel Roskin <proski@gnu.org>
31212
6c2d8df6 31213 * util/biosdisk.c (read_device_map): Don't leave dead map
31214 entries for devices failing stat() check.
31215
f527dbc8 31216 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31217 core_path_dev for the core.img path on the target device.
31218
aebe3d13 312192008-06-26 Robert Millan <rmh@aybabtu.com>
31220
31221 * disk/fs_uuid.c: New file.
31222 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31223 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31224 (fs_uuid_mod_LDFLAGS): New variables.
31225 * include/grub/disk.h (grub_disk_dev_id): Add
31226 `GRUB_DISK_DEVICE_UUID_ID'.
31227 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31228 implement iterate().
31229
37aaf354 312302008-06-26 Robert Millan <rmh@aybabtu.com>
31231
31232 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31233 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31234 Linux image includes no initrd.
31235
25ff262a 312362008-06-21 Javier Martín <lordhabbit@gmail.com>
31237
31238 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31239 call to resolve the core image location that effectively appended the
31240 name twice.
31241
76a2bd44 312422008-06-21 Robert Millan <rmh@aybabtu.com>
31243
31244 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31245 call from here ...
31246
31247 * util/grub.d/10_hurd.in: ... to here ...
31248 * util/grub.d/10_linux.in: ... and here.
31249
650e1c79 312502008-06-19 Robert Millan <rmh@aybabtu.com>
31251
fe987087 31252 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31253 after it has been set by grub_machine_set_prefix().
31254
6ce63911 312552008-06-19 Robert Millan <rmh@aybabtu.com>
31256
31257 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31258 search result when not saving to variable, not the other way around.
31259 When saving to variable, abort iteration as soon as a match is found.
31260
73940cec 312612008-06-19 Robert Millan <rmh@aybabtu.com>
31262
31263 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31264 check for partition that provides /boot/grub. Its logic is flawed,
31265 as it prevents prepare_grub_to_access_device() from being called
31266 multiple times.
31267
3c62a39d 312682008-06-19 Robert Millan <rmh@aybabtu.com>
31269
31270 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31271 "insmod" command directly when abstraction modules are needed,
fe987087 31272 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31273 since it had already been processed).
31274
47395a42 312752008-06-19 Pavel Roskin <proski@gnu.org>
31276
31277 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31278 changed. This is needed in case GRUB_LIBDIR changes.
31279 * conf/i386-ieee1275.rmk: Likewise.
31280 * conf/i386-linuxbios.rmk: Likewise.
31281 * conf/i386-pc.rmk: Likewise.
31282 * conf/powerpc-ieee1275.rmk: Likewise.
31283
a145ac2d 312842008-06-18 Pavel Roskin <proski@gnu.org>
31285
31286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31287 kernel_elf_symlist.c to symlist.c for consistency with other
31288 architectures. Update all users.
31289 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31290
7847c51e 312912008-06-18 Robert Millan <rmh@aybabtu.com>
31292
31293 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31294 it in prefix.
31295
31296 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31297 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31298 a RAID device, run setup() for all members independently on whether
31299 LVM abstraction is being used.
31300 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31301 If grub-mkimage has set `*install_dos_part == -2', don't override this
31302 value.
31303 Perform *install_dos_part adjustments independently on whether
31304 we're embedding or not.
31305 Clarify error message when image is too big for embedding.
31306 Remove duplicate *install_dos_part stanza.
31307
b23e5644 313082008-06-17 Robert Millan <rmh@aybabtu.com>
31309
31310 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31311 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31312 variables.
31313 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31314 values in grub_ofconsole_normal_color and
31315 grub_ofconsole_highlight_color (they're not directly related to
31316 background and foreground).
31317 (grub_ofconsole_setcolorstate): Extract background and foreground
31318 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31319
0aac2f79 313202008-06-17 Robert Millan <rmh@aybabtu.com>
31321
31322 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31323 /boot/grub for the check in last commit, not /boot (they could be
31324 different partitions).
31325
3cca7ef3 313262008-06-16 Robert Millan <rmh@aybabtu.com>
31327
31328 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31329 asked to setup access for the same partition that provides /boot,
31330 don't bother using UUIDs since our root already has the value we
31331 want.
31332
347396d8 313332008-06-16 Robert Millan <rmh@aybabtu.com>
31334
31335 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31336 I2O devices.
31337 Patch from Sven Mueller <sven@debian.org>.
31338
991477f8 313392008-06-16 Robert Millan <rmh@aybabtu.com>
31340
31341 * util/update-grub.in: Check for $EUID instead of $UID.
31342 Reported by Vincent Zweije.
31343
d31a32a1 313442008-06-16 Bean <bean123ch@gmail.com>
31345
fe987087 31346 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31347 (grub_ext2_read_block): Likewise.
31348 (grub_ext2_read_inode): Likewise.
31349 (grub_ext2_mount): Likewise.
31350 (grub_ext2_close): Likewise.
31351 (grub_ext3_get_journal): Removed.
31352
fe987087 31353 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31354 (grub_reiserfs_read_symlink): Likewise.
31355 (grub_reiserfs_mount): Likewise.
31356 (grub_reiserfs_open): Likewise.
31357 (grub_reiserfs_read): Likewise.
31358 (grub_reiserfs_close): Likewise.
31359 (grub_reiserfs_get_journal): Removed.
31360
31361 * fs/fshelp.c (grub_fshelp_read): Removed.
31362 (grub_fshelp_map_block): Likewise.
31363
31364 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31365 (grub_fshelp_journal): Likewise.
31366 (grub_fshelp_read): Likewise.
31367 (grub_fshelp_map_block): Likewise.
31368
3540a760 313692008-06-16 Pavel Roskin <proski@gnu.org>
31370
31371 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31372 floating point anymore.
31373 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31374
95614c84 313752008-06-15 Pavel Roskin <proski@gnu.org>
31376
31377 * commands/ls.c (grub_ls_list_files): Use integer calculations
31378 for human readable format, avoid floating point use.
31379 * kern/misc.c (grub_ftoa): Remove.
31380 (grub_vsprintf): Remove floating point support.
31381
50465dd6 313822008-06-15 Robert Millan <rmh@aybabtu.com>
31383
fe6b695a 31384 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 31385 devices.
31386 Reported by Max Vozeler.
31387
a9207284 313882008-06-15 Robert Millan <rmh@aybabtu.com>
31389
31390 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31391 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31392 skipped later.
31393 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31394 the beginning of the prefix.
31395
31396 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31397 It is assumed that if we have a memdisk, grub-mkimage has set
31398 grub_prefix to include the "(memdisk)" drive in it.
31399
a7cbd45a 314002008-06-15 Robert Millan <rmh@aybabtu.com>
31401
31402 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31403 Initialize keyboard controller after registering the terminal, so that
31404 grub_printf() can be called from grub_keyboard_controller_init().
31405
21cf716a 314062008-06-15 Robert Millan <rmh@aybabtu.com>
31407
31408 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31409 extent-btree which is written as big endian on disk.
31410 Reported by Alain Greppin <al@chilibi.org>.
31411
23a64d8e 314122008-06-14 Robert Millan <rmh@aybabtu.com>
31413
31414 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31415 * util/i386/pc/grub-install.in (modules): Likewise.
31416
d687651c 314172008-06-13 Pavel Roskin <proski@gnu.org>
31418
31419 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31420
dfe9ddd4 314212008-06-13 Bean <bean123ch@gmail.com>
31422
31423 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31424
31425 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31426
31427 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31428 to indicate sparse block.
31429
16ae7781 314302008-06-12 Pavel Roskin <proski@gnu.org>
31431
e6d1a308 31432 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31433 number, grub_fshelp_read() does it for us.
31434
16ae7781 31435 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31436 linear disk read with journal translation.
31437 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31438 * include/grub/fshelp.h: Declare grub_fshelp_read().
31439
40fd3a2b 314402008-06-09 Pavel Roskin <proski@gnu.org>
31441
31442 * fs/minix.c (grub_minix_mount): Handle error reading
31443 superblock.
31444
f5679726 314452008-06-08 Robert Millan <rmh@aybabtu.com>
31446
31447 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31448 don't append the RAID prefix afterwards.
31449 Reported by Clint Adams.
31450
ce525529 314512008-06-08 Robert Millan <rmh@aybabtu.com>
31452
31453 Based on description from Pavel:
31454 * kern/disk.c (grub_disk_check_range): Rename to ...
31455 (grub_disk_adjust_range): ... this. Add a comment explaining the
31456 tasks performed by this function.
31457
ad4936a0 314582008-06-08 Robert Millan <rmh@aybabtu.com>
31459
31460 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31461 `num_serial' (for consistency with other variables).
31462 (struct grub_ntfs_data): Add `uuid' member.
31463 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31464 (grub_ntfs_uuid): New function.
31465 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31466
dc20b0f9 314672008-06-07 Pavel Roskin <proski@gnu.org>
31468
31469 * util/biosdisk.c (open_device): Revert last change to the
31470 function, it broke installation. The sector needs to be
31471 different dependent on which device is opened.
31472
c5e3cfba 314732008-06-06 Robert Millan <rmh@aybabtu.com>
31474
31475 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31476 rest of GRUB, and breakage doesn't happen if its value were modified.
31477
31478 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31479 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31480 a constant (same value).
31481 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31482 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31483
26a1f8c4 314842008-06-06 Robert Millan <rmh@aybabtu.com>
31485
31486 * util/biosdisk.c (open_device): Do not modify sector offset when
31487 accessing a partition. kern/disk.c already handles this for us.
31488
25d6b327 314892008-06-06 Robert Millan <rmh@aybabtu.com>
31490
31491 * util/grub-emu.c (grub_machine_init): Move code in this function from
31492 here ...
31493 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31494 segfault in case grub_printf() is called).
31495
31496 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31497 grub_probe. Update all users not to explicitly add it again.
31498 (grub_device): New variable; contains corresponding device for grubdir.
31499 (fs_module, partmap_module, devabstraction_module): Pass
31500 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31501 every time.
31502
9ece62fb 315032008-06-05 Robert Millan <rmh@aybabtu.com>
31504
31505 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31506 is found, print it (same layout as with labels).
31507
1ad36d37 315082008-06-04 Robert Millan <rmh@aybabtu.com>
31509
31510 * util/biosdisk.c (get_drive): Rename to ...
31511 (find_grub_drive): ... this. Update all users.
31512
31513 (get_os_disk): Rename to ...
31514 (convert_system_partition_to_system_disk): ... this. Update all users.
31515
31516 (find_drive): Rename to ...
31517 (find_system_device): ... this. Update all users.
31518
e6a30859 315192008-06-04 Robert Millan <rmh@aybabtu.com>
31520
31521 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31522 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31523 (make_device_map): Likewise.
31524
00c108a4 315252008-06-01 Robert Millan <rmh@aybabtu.com>
31526
31527 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31528 before dereferencing it.
31529
31530 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31531 union with fat12/fat16-specific ones. Add some new fields, including
31532 `num_serial' for both versions.
31533 (struct grub_fat_data): Add `uuid' member.
31534 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31535 names. Initialize `data->uuid' using `num_serial'.
31536 (grub_fat_uuid): New function.
31537 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31538
31539 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31540 (grub_reiserfs_uuid): New function.
31541 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31542 member.
31543
31544 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31545 (grub_xfs_uuid): New function.
31546 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31547
1385c5bb 315482008-06-01 Robert Millan <rmh@aybabtu.com>
31549
31550 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31551 code that is backward compatible with pre-uuid search command.
31552
c682dfd7 315532008-05-31 Robert Millan <rmh@aybabtu.com>
31554
31555 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31556 floppies after everything else, to ensure floppy drive isn't accessed
31557 unnecessarily (patch from Bean).
31558
b7db5d47 315592008-05-31 Robert Millan <rmh@aybabtu.com>
31560
31561 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31562 not print device names when we were asked to set a variable.
31563
6e037aa9 315642008-05-31 Robert Millan <rmh@aybabtu.com>
31565
31566 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31567 using "cursor-on" and "cursor-off" commands (understood at least by
31568 the Open Firmware flavour on OLPC).
31569
41305bc8 315702008-05-31 Michael Gorven <michael@gorven.za.net>
31571
31572 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31573 on and off sequences.
31574
69ba137e 315752008-05-31 Robert Millan <rmh@aybabtu.com>
31576
31577 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31578 * util/update-grub.in: Likewise.
31579
520ae21b 315802008-05-30 Pavel Roskin <proski@gnu.org>
31581
31582 * util/biosdisk.c (linux_find_partition): Simplify logic and
31583 make the code more universal. Keep special processing for
31584 devfs, but use a simple rule for all other devices. If the
31585 device ends with a number, append 'p' and the partition number.
31586 Otherwise, append only the partition number.
31587
5786569b 315882008-05-30 Robert Millan <rmh@aybabtu.com>
31589
31590 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31591 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31592 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31593 the `root' parameter to Linux.
31594
51500452 315952008-05-30 Robert Millan <rmh@aybabtu.com>
31596
31597 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31598 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31599 --fs_uuid with --fs-uuid.
31600 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31601 all filesystems support them).
31602
811d3878 316032008-05-30 Robert Millan <rmh@aybabtu.com>
31604
31605 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 31606 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 31607
cab63c95 316082008-05-30 Robert Millan <rmh@aybabtu.com>
31609
31610 * util/grub.d/00_header.in: Remove obsolete comment referencing
31611 convert_system_path_to_grub_path().
31612 * util/update-grub.in: Likewise.
31613 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31614 (convert_system_path_to_grub_path): Add a warning message explaining
31615 that this function is deprecated. Rely on is_path_readable_by_grub()
31616 for the readability checks.
31617 (font_path): Use is_path_readable_by_grub() for the readability
31618 check rather than convert_system_path_to_grub_path().
31619
972e2f7a 316202008-05-30 Robert Millan <rmh@aybabtu.com>
31621
31622 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31623 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31624 converting it first.
31625 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31626 grub.cfg for access to font file, and afterwards call it again to set
31627 the root device.
31628
62191274 316292008-05-30 Robert Millan <rmh@aybabtu.com>
31630
31631 * commands/search.c (options): Add --fs_uuid option.
31632 (search_fs_uuid): New function.
31633 (grub_cmd_search): Fix --set argument passing.
31634 Use search_fs_uuid() when requested via --fs_uuid.
31635 (grub_search_init): Update help message.
31636 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
31637 and redeclare it as an array of 16-bit words.
31638 (grub_ext2_uuid): New function.
31639 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31640 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31641 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31642 (GRUB_DEVICE_BOOT_UUID): New variables.
31643 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31644 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31645 whenever possible.
31646 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31647 just assume `root' variable has the right value.
31648 * util/grub.d/10_linux.in: Likewise.
31649 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31650 via PRINT_FS_UUID.
31651 (main): Recognise `-t fs_uuid' argument.
31652
01b73ec8 316532008-05-30 Robert Millan <rmh@aybabtu.com>
31654
31655 * util/biosdisk.c (map): Redefine structure to hold information
31656 about GRUB drive name.
fe6b695a 31657 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 31658 drive names.
31659 (call_hook): Remove.
31660 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31661 member. Assume drive has partitions.
31662 (grub_util_biosdisk_open): Access device names via `.device' struct
31663 member.
31664 (open_device): Likewise.
31665 (find_drive): Likewise.
31666 (read_device_map): Adjust map[] usage to match the new struct
31667 definition. Don't check for duplicates (still possible, but not cheap
31668 anymore).
31669 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31670 (make_device_name): Remove assumption of BIOS-like drive names.
31671
22f16596 316722008-05-30 Pavel Roskin <proski@gnu.org>
31673
31674 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31675 compiling execute.c doesn't need grub_script.tab.h anymore.
31676 (normal/command.c_DEPENDENCIES): Likewise.
31677 (normal/function.c_DEPENDENCIES): Likewise.
31678 * conf/i386-ieee1275.rmk: Likewise.
31679 * conf/i386-linuxbios.rmk: Likewise.
31680 * conf/i386-pc.rmk: Likewise.
31681 * conf/powerpc-ieee1275.rmk: Likewise.
31682 * conf/sparc64-ieee1275.rmk: Likewise.
31683
528ad8f2 316842008-05-29 Pavel Roskin <proski@gnu.org>
31685
d1dff95d 31686 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31687 when scanning metadata for volume group name.
31688
528ad8f2 31689 * include/grub/script.h: Don't include grub_script.tab.h. It's
31690 a generated file, which may only be included from the files with
31691 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31692 use union YYSTYPE, as the later allows forward declaration.
31693 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31694
47248e08 316952008-05-29 Robert Millan <rmh@aybabtu.com>
31696
31697 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31698 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31699 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31700 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31701 scan codes.
31702
ee632529 317032008-05-29 Robert Millan <rmh@aybabtu.com>
31704
31705 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
31706 control key combinations.
31707
eee96e08 317082008-05-29 Robert Millan <rmh@aybabtu.com>
31709
31710 * util/powerpc/ieee1275/grub-install.in: Move from here ...
31711 * util/ieee1275/grub-install.in: ... to here.
31712 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
31713 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
31714 (grub_install_SOURCES): Likewise.
31715
da9a6a94 317162008-05-29 Robert Millan <rmh@aybabtu.com>
31717
31718 * fs/affs.c: Update copyright year.
31719 * fs/ext2.c: Likewise.
31720 * fs/fshelp.c: Likewise.
31721 * fs/hfsplus.c: Likewise.
31722 * fs/ntfs.c: Likewise.
31723 * fs/xfs.c: Likewise.
31724 * include/grub/fshelp.h: Likewise.
31725 * util/grub-mkdevicemap.c: Likewise.
31726
12e65f3a 317272008-05-28 Robert Millan <rmh@aybabtu.com>
31728
31729 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
31730 might need to be fatfs to support some firmware implementations
31731 (e.g. OFW or EFI).
31732
23023641 317332008-05-28 Robert Millan <rmh@aybabtu.com>
31734
31735 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
31736 devices.
31737 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31738 (make_device_map): Likewise.
31739
887d2619 317402008-05-20 Bean <bean123ch@gmail.com>
31741
31742 * fs/fshelp.c (grub_fshelp_map_block): New function.
31743 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
31744 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
31745
31746 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
31747 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
31748 (grub_fshelp_journal): New structure.
31749 (grub_fshelp_map_block): New function prototype.
31750 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
31751 (grub_fshelp_map_block): Likewise.
31752
31753 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
31754 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
31755 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
31756 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
31757 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
31758 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
31759 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
31760 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
31761 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
31762 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
31763 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
31764 (grub_ext2_sblock): New members for journal support.
31765 (grub_ext3_journal_header): New structure.
31766 (grub_ext3_journal_revoke_header): Likewise.
31767 (grub_ext3_journal_block_tag): Likewise.
31768 (grub_ext3_journal_sblock): Likewise.
31769 (grub_fshelp_node): New members logfile and journal.
31770 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
31771 grub_fshelp_map_block to get real block number.
31772 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
31773 number.
31774 (grub_ext2_read_inode): Likewise.
31775 (grub_ext3_get_journal): New function.
31776 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
31777 (grub_ext2_close): Release memory used by journal.
31778
31779 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
31780 (REISERFS_MAGIC_DESC_BLOCK): New macro.
31781 (grub_reiserfs_transaction_header): Renamed to
31782 grub_reiserfs_description_block, replace field data with real_blocks.
31783 (grub_reiserfs_commit_block): New structure.
31784 (grub_reiserfs_data): New member journal.
31785 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
31786 number.
31787 (grub_reiserfs_read_symlink): Likewise.
31788 (grub_reiserfs_iterate_dir): Likewise.
31789 (grub_reiserfs_open): Likewise.
31790 (grub_reiserfs_read): Likewise.
31791 (grub_reiserfs_get_journal): New function.
31792 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
31793 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
31794 using grub_reiserfs_get_journal.
31795 (grub_reiserfs_close): Release memory used by journal.
31796
31797 * fs/affs.c (grub_affs_read_block): Change block type to
31798 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
31799
31800 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
31801
31802 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
31803
31804 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
31805
31806 * fs/udf.c (grub_udf_read_block): Change block type to
31807 grub_disk_addr_t. Use type cast to avoid warning.
31808
31809 * fs/xfs.c (grub_xfs_read_block): Likewise.
31810
b7c6bed5 318112008-05-16 Christian Franke <franke@computer.org>
31812
31813 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
31814 to ensure that break with ESC will always work.
31815 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
31816 Remove ESC from keyboard queue.
31817
eedf167f 318182008-05-16 Christian Franke <franke@computer.org>
31819
31820 * util/biosdisk.c: [__CYGWIN__] Add includes.
31821 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
31822 (get_os_disk): Move variable declarations to OS specific
31823 parts to avoid warning.
31824 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
31825 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
31826 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
31827 Cygwin.
31828 * util/getroot.c: [__CYGWIN__] Add includes.
31829 (strip_extra_slashes): Fix "/" case.
31830 [__CYGWIN__] (get_win32_path): New function.
31831 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
31832 [__CYGWIN__] (find_root_device): Disable.
31833 [__CYGWIN__] (get_bootsec_serial): New function.
31834 [__CYGWIN__] (find_cygwin_root_device): Likewise.
31835 [__linux__] (grub_guess_root_device): Add early returns to simplify
31836 structure.
31837 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
31838 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
31839 check for Linux only.
31840
a079699e 318412008-05-15 Bean <bean123ch@gmail.com>
31842
31843 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
31844 keyboard hang problem in apple's intel mac.
31845
1cf4059a 318462008-05-09 Robert Millan <rmh@aybabtu.com>
31847
31848 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
31849 devices.
31850 * util/grub-mkdevicemap.c (get_virtio_disk_name)
31851 (make_device_map): Likewise.
31852 Reported by Aurelien Jarno <aurel32@debian.org>
31853
ed759390 318542008-05-07 Ian Campbell <ijc@hellion.org.uk>
31855
31856 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
31857 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
31858 (make_device_map): Output entries for xvd type disks.
31859
b56c4eaa 318602008-05-07 Robert Millan <rmh@aybabtu.com>
31861
31862 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
31863 devices.
31864 * util/grub-mkdevicemap.c (get_cciss_disk_name)
31865 (make_device_map): Likewise.
31866 Reported by Roland Dreier <rdreier@cisco.com>
31867
7f8866ed 318682008-05-07 Robert Millan <rmh@aybabtu.com>
31869
31870 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31871 grub_strstr() call. Correct a few mistakes in failure path handling.
31872
b0346e0f 318732008-05-06 Robert Millan <rmh@aybabtu.com>
31874
31875 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31876 Do not print a trailing slash (therefore, the root directory is an
31877 empty string).
31878 (convert_system_path_to_grub_path): Do not remove trailing slash
31879 from make_system_path_relative_to_its_root() output.
31880
31881 * util/i386/pc/grub-install.in: Add trailing slash to output from
31882 make_system_path_relative_to_its_root().
31883
6cf12cbd 318842008-05-06 Robert Millan <rmh@aybabtu.com>
31885
31886 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31887 ensures that output lines aren't intermangled with those sent to
31888 stderr (via grub_util_info()).
31889 * util/grub-probe.c (grub_refresh): Likewise.
31890 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31891
0fbb3117 318922008-05-05 Christian Franke <franke@computer.org>
31893
31894 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31895 Add Cygwin device names.
31896 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31897 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31898 (check_device): Return error instead of success on empty name.
31899 (make_device_map): Move label inside linux specific code to
31900 prevent compiler warning.
31901
8124cdb7 319022008-04-30 Robert Millan <rmh@aybabtu.com>
31903
31904 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31905 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31906 first boot option.
31907 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31908
094c01d0 319092008-04-29 Robert Millan <rmh@aybabtu.com>
31910
31911 * docs/grub.cfg: New file (example GRUB configuration).
31912
f4b1fc02 319132008-04-26 Robert Millan <rmh@aybabtu.com>
31914
329ce2a5 31915 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31916 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31917 and `disk/ieee1275/nand.c'.
f4b1fc02 31918
25f16ec1 319192008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 31920
25f16ec1 31921 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31922 i386-linuxbios.
31923
31924 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31925 change the buffer size to 4096 for cdrom device.
31926
31927 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31928 and nand.mod.
31929 (_linux_mod_SOURCES): New variable.
31930 (_linux_mod_CFLAGS): Likewise.
31931 (_linux_mod_LDFLAGS): Likewise.
31932 (linux_mod_SOURCES): Likewise.
31933 (linux_mod_CFLAGS): Likewise.
31934 (linux_mod_LDFLAGS): Likewise.
31935 (nand_mod_SOURCES): Likewise.
31936 (nand_mod_CFLAGS): Likewise.
31937 (nand_mod_LDFLAGS): Likewise.
31938
31939 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31940 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31941 type property. (nand device in olpc don't have this property)
31942
31943 * include/grub/disk.h (grub_disk_dev_id): New macro
31944 GRUB_DISK_DEVICE_NAND_ID.
31945
31946 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31947 function prototype.
31948 (grub_rescue_cmd_initrd): Likewise.
31949
31950 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31951 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31952 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 31953
25f16ec1 31954 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31955 GRUB_MACHINE_IEEE1275 is defined.
31956
31957 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31958 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31959
31960 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31961 on nested function heap_init.
31962 (grub_upper_mem): New variable for i386-ieee1275.
31963 (grub_get_extended_memory): New function for i386-ieee1275.
31964 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31965
31966 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31967 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31968 property.
f19dbdb7 31969
25f16ec1 31970 * loader/i386/ieee1275/linux.c: New file.
31971
31972 * loader/i386/ieee1275/linux_normal.c: New file.
31973
31974 * disk/ieee1275/nand.c: New file.
31975
e89d61e9 319762008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31977
31978 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31979 value.
31980 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31981
602566f6 319822008-04-18 Robert Millan <rmh@aybabtu.com>
31983
31984 Restructures early code path on ieee1275 to unify grub_main() as
31985 the first C function that is executed in every platform.
31986
31987 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31988 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31989 cmain().
31990 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31991 * kern/ieee1275/cmain.c (cmain): Rename to ...
31992 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
31993 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
31994 at the beginning.
31995
57490c2b 319962008-04-18 Robert Millan <rmh@aybabtu.com>
31997
31998 * util/update-grub.in: Fix syntax error when setting
31999 `GRUB_PRELOAD_MODULES'.
32000 Reported by Stephane Chazelas <stephane@artesyncp.com>
32001
1977517d 320022008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32003
32004 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32005 section into account, newer toolchains generate unique build ids
32006 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32007 we want build ids to be preserved
1977517d 32008 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32009 far from other sections don't cause the raw binary images grow
32010 size
32011
bfb1f1a2 320122008-04-15 Robert Millan <rmh@aybabtu.com>
32013
32014 * disk/lvm.c: Update copyright year.
32015 * kern/misc.c: Likewise.
32016
01979850 320172008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32018
32019 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32020 there is no memory left for physical volume name.
01979850 32021
0a1150e2 320222008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32023
32024 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32025 volume name mapping to support bigger than 9 character names properly.
32026
82ead3fe 320272008-04-13 Robert Millan <rmh@aybabtu.com>
32028
32029 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32030 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32031
e54a72f5 320322008-04-13 Christian Franke <franke@computer.org>
32033
32034 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32035 to create a floppy emulation boot CD when non emulation mode
32036 does not work.
32037 Enable Joliet CD filesystem extension.
32038
9fe86034 320392008-04-13 Robert Millan <rmh@aybabtu.com>
32040
32041 * kern/misc.c (grub_strncat): Fix off-by-one error.
32042 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32043
32044 * kern/env.c (grub_env_context_close): Clear current context, not
32045 previous one.
32046 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32047
32048 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32049
7ceeee39 320502008-04-13 Robert Millan <rmh@aybabtu.com>
32051
32052 Improve robustness when handling LVM.
32053
32054 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32055 (and leave `*p' unmodified).
7ceeee39 32056 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32057 through it.
32058 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32059 iterating through it.
32060 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32061 through it.
fe6b695a 32062 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32063 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32064 Don't assume `vg->pvs != NULL' when iterating through it.
32065
58cd3d85 320662008-04-13 Robert Millan <rmh@aybabtu.com>
32067
32068 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32069 * genmk.rb (partmap): New variable.
32070 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32071 (#{partmap}): New target rule.
32072 * genpartmaplist.sh: New file.
32073 * Makefile.in (pkglib_DATA): Add partmap.lst.
32074 (partmap.lst): New target rule.
32075 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32076 modules (including all partition maps), instead of preloading them.
32077
78b51059 320782007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32079
32080 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32081 `linux-boot-prober' (if installed) to detect other operating
32082 systems which are installed on the computer and add them to
32083 the boot menu.
32084 * conf/common.rmk: Build and install 30_os-prober.
32085
a91627b4 320862008-04-12 Robert Millan <rmh@aybabtu.com>
32087
32088 * kern/powerpc/ieee1275/init.c: Move from here ...
32089 * kern/ieee1275/init.c: ... to here. Update all users.
32090
32091 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32092 * kern/ieee1275/cmain.c: ... to here. Update all users.
32093
32094 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32095 * kern/ieee1275/openfw.c: ... to here. Update all users.
32096
32097 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32098 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32099
322562ea 321002008-04-10 Pavel Roskin <proski@gnu.org>
32101
32102 * configure.ac: Always use "_cv_" in cache variables for
32103 compatibility with Autoconf 2.62.
32104
a02a73c5 321052008-04-07 Robert Millan <rmh@aybabtu.com>
32106
32107 Revert grub/machine/init.h addition by Pavel (since it breaks on
32108 i386-ieee1275 and others):
32109 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32110 * util/powerpc/ieee1275/misc.c: Likewise.
32111
25c024b1 321122008-04-07 Robert Millan <rmh@aybabtu.com>
32113
32114 * util/grub-probe.c (probe): Improve error message.
32115
3cbd2f98 321162008-04-07 Robert Millan <rmh@aybabtu.com>
32117
32118 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32119 (this prevents the presence of a bogus entry from ruining the whole
32120 thing).
32121
87a297bf 321222008-04-06 Pavel Roskin <proski@gnu.org>
32123
36747a62 32124 * util/biosdisk.c: Include grub/util/biosdisk.h.
32125 * util/grub-fstest.c (execute_command): Make static.
32126 * util/grub-mkdevicemap.c (check_device): Likewise.
32127 * util/i386/pc/misc.c: Include grub/machine/init.h.
32128 * util/powerpc/ieee1275/misc.c: Likewise.
32129 * util/lvm.c: Include grub/util/lvm.h.
32130 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32131 grub/cache.h.
32132 * util/raid.c: Include grub/util/raid.h.
32133 (grub_util_getdiskname): Make static.
32134
87a297bf 32135 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32136 grub_hostfs_fini(), as they are called from grub_init_all() and
32137 grub_fini_all() respectively. This fixes an infinite loop in
32138 grub-fstest due to double registration of hostfs.
32139 Reported by Christian Franke <Christian.Franke@t-online.de>
32140
f6ce7629 321412008-04-05 Pavel Roskin <proski@gnu.org>
32142
32143 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32144 all 8 functions. Otherwise, probe function 0 only.
32145
070e49e4 321462008-04-04 Pavel Roskin <proski@gnu.org>
32147
8b088a4c 32148 * commands/lspci.c (grub_lspci_iter): Print the bus number
32149 correctly.
32150
4f657021 32151 * commands/lspci.c (grub_pci_classes): Fix typos.
32152 (grub_lspci_iter): Don't print func twice. Print vendor ID
32153 before device ID, as it's normally done.
32154
070e49e4 32155 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32156 Fix signedness warnings.
32157 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32158 Likewise.
32159 * util/ieee1275/get_disk_name.c: Include config.h so that
32160 _GNU_SOURCE is defined and getline() is declared. Mark an
32161 unused argument as such. Fix a signedness warning.
32162
ba7328dc 321632008-04-02 Pavel Roskin <proski@gnu.org>
32164
26887f22 32165 * genkernsyms.sh.in: Use more robust assignments for CC and
32166 srcdir. Quote srcdir.
32167 * gensymlist.sh.in: Likewise. Assert at the compile time that
32168 the symbol table is not empty.
32169
ba7328dc 32170 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32171 * fs/cpio.c (grub_cpio_read): Likewise.
32172
0f582c6b 321732008-04-01 Pavel Roskin <proski@gnu.org>
32174
4b6e1995 32175 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32176 * disk/host.c (grub_host_open): Likewise.
32177 * disk/loopback.c (grub_loopback_open): Likewise.
32178 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32179 disk->id as in disk/host.c, not a multi-character constant.
32180
828a2768 32181 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32182 later is obsolete, potentially dangerous and sets a bad example.
32183 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32184 * util/misc.c (grub_util_get_image_size): Likewise.
32185
2bb4fb47 32186 * disk/loopback.c (options): Improve help for "--partitions".
32187
0f582c6b 32188 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32189 options to align them with the short options, e.g. "echo -e".
32190
a33224e0 321912008-03-31 Bean <bean123ch@gmail.com>
32192
32193 * video/reader/png.c (grub_png_data): New member is_16bit and
32194 image_data.
32195 (grub_png_decode_image_header): Detect 16 bit png image.
32196 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32197 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32198 (grub_video_reader_png): Release memory occupied by image_data.
32199
32200 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32201 4096 bytes.
32202 (grub_nfs_mount): Skip the test for sector per cluster.
32203
32204 * include/grub/ntfs.h (MAX_SPC): Removed.
32205
86cb4f54 322062008-03-31 Bean <bean123ch@gmail.com>
32207
32208 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32209 (grub_probe_SOURCES): Add fs/afs.c.
32210 (grub_fstest_SOURCES): Likewise.
32211 (afs_mod_SOURCES): New variable.
32212 (afs_mod_CFLAGS): Likewise.
32213 (afs_mod_LDFLAGS): Likewise.
32214
32215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32216 (grub_emu_SOURCES): Likewise.
32217
32218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32219
32220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32221
32222 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32223
32224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32225
32226 * fs/afs.c: New file.
32227
17c74c21 322282008-03-30 Pavel Roskin <proski@gnu.org>
32229
4cb68e89 32230 * disk/host.c: Include grub/misc.h to fix a warning.
32231 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32232 warnings about implicit declarations.
32233
8790bb04 32234 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32235 variable.
32236 * include/grub/i386/loader.h: Change declaration of
32237 grub_linux_boot() to match what grub_loader_set() expects.
32238 * util/getroot.c (grub_guess_root_device): Return const char* to
32239 fix a warning.
32240 * util/grub-probe.c (probe): Fix a warning about uninitialized
32241 abstraction_name variable.
32242 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32243 second argument as unused to fix a warning.
32244
9a3f3296 32245 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32246 missing grub_error() call.
32247
0ecef90d 32248 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32249 2.60 and newer uses it to define datadir.
32250
0bf6d401 32251 * commands/sleep.c: Fix warning about implicit declaration.
32252 * disk/memdisk.c: Likewise.
32253 * loader/aout.c: Likewise.
32254 * loader/i386/bsd_normal.c: Likewise.
32255 * util/grub-probe.c: Likewise.
32256
7cdacf97 32257 * commands/i386/cpuid.c (has_longmode): Make static.
32258 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32259 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32260
17c74c21 32261 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32262 GDT. This is more robust, as %ds can change.
32263 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32264 calling real_to_prot().
32265 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32266
80a3e68b 322672008-03-28 Pavel Roskin <proski@gnu.org>
32268
32269 * kern/i386/pc/startup.S: Assert that uncompressed functions
32270 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32271 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32272 code, as they push parts of the code (error handlers) beyond
32273 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32274 code as correctness and size.
32275
77bcd272 322762008-03-28 Pavel Roskin <proski@gnu.org>
32277
32278 * kern/i386/pc/startup.S
32279 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32280 data block address to the real mode, keep offset minimal. This
32281 works around a bug in AWARD BIOS on old Athlon systems, which
32282 makes CD detection hang.
32283
c5dfd43b 322842008-03-26 Pavel Roskin <proski@gnu.org>
32285
32286 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32287 const.
32288 * include/grub/normal.h: Add grub_parse_color_name_pair()
32289 declaration.
32290
bf962df2 322912008-03-24 Bean <bean123ch@gmail.com>
32292
32293 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32294 (cd_count): Removed.
32295 (cd_drive): New variable.
32296 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32297 (grub_biosdisk_call_hook): Likewise.
32298 (grub_biosdisk_iterate): Change cdrom detection method.
32299 (grub_biosdisk_open): Replace cd_start with cd_drive.
32300 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32301 detect cdrom device.
32302
32303 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32304 Removed.
32305 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32306 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32307 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32308 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32309 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32310 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32311 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32312 (grub_biosdisk_cdrp): New structure.
32313 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32314
32315 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32316
32317 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32318 device.
32319
32320 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32321 New function.
32322
68e7fc7a 323232008-03-20 Robert Millan <rmh@aybabtu.com>
32324
32325 Remove 2 TiB limit in ata.mod.
32326 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32327 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32328 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32329 grub_uint64_t instead of grub_uint32_t.
32330
38ad2cf5 323312008-03-05 Bean <bean123ch@gmail.com>
32332
32333 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32334 (grub_multiboot): Set boot device.
32335
32336 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32337
2b89344e 323382008-03-02 Bean <bean123ch@gmail.com>
32339
32340 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32341 symlink_buffer.
32342
87a95d1f 323432008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32344
32345 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32346 texinfo.tex.
32347
32348 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32349 modified.
32350
32351 * docs/fdl.texi: New file.
f19dbdb7 32352
87a95d1f 32353 * docs/mdate-sh: New file. Copied from gnulib.
32354 * docs/texinfo.tex: Likewise.
32355
32356 * config.guess: Updated from gnulib.
32357 * install-sh: Likewise.
32358
7dc15d8e 323592008-02-28 Robert Millan <rmh@aybabtu.com>
32360
32361 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32362 (aout_mod_SOURCES): New variable.
32363 (aout_mod_CFLAGS): Likewise.
32364 (aout_mod_LDFLAGS): Likewise.
32365
32366 * conf/i386-ieee1275.rmk: Likewise.
32367
b00ab696 323682008-02-28 Robert Millan <rmh@aybabtu.com>
32369
32370 * util/update-grub.in: Reorganise terminal validity check. Accept
32371 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32372 Based on suggestion by Franklin PIAT.
32373
79ca2d78 323742008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32375
32376 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32377 function.
32378 * util/getroot.c (grub_util_check_block_device): New function that
32379 returns the given argument if it is a block device and returns NULL else.
32380 * util/grub-probe.c (argument_is_device): New variable.
32381 (probe): Promote device_name from a variable to an argument. Receive
32382 device_name from grub_util_check_block_device() if path is NULL and from
32383 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 32384 (options): Introduce new parameter '-d, --device'.
79ca2d78 32385 (main): Add description of the new parameter to the help screen.
32386 Rename path variable to argument. Set argument_is_device if the '-d'
32387 option is given. Pass argument to probe() depending on
32388 argument_is_device.
32389
0d16e571 323902008-02-24 Bean <bean123ch@gmail.com>
32391
32392 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32393 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32394 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32395 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32396 (GRUB_ISO9660_VOLDESC_END): Likewise.
32397 (grub_iso9660_primary_voldesc): New member escape.
32398 (grub_iso9660_data): New member joliet.
32399 (grub_iso9660_convert_string): New function.
32400 (grub_iso9660_mount): Detect joliet extension.
32401 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32402 (grub_iso9660_iso9660_label): Likewise.
32403
32404 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32405 (grub_setup_SOURCES): Add fs/udf.c.
32406 (grub_fstest_SOURCES): Likewise.
32407 (udf_mod_SOURCES): New variable.
32408 (udf_mod_CFLAGS): Likewise.
32409 (udf_mod_LDFLAGS): Likewise.
32410
32411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32412 (grub_emu_SOURCES): Likewise.
32413
32414 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32415
32416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32417
32418 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32419
32420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32421
32422 * fs/udf.c: New file.
32423
8a594a17 324242008-02-24 Robert Millan <rmh@aybabtu.com>
32425
32426 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32427 (normal/lexer.c_DEPENDENCIES): New variables.
32428 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32429 (normal/lexer.c_DEPENDENCIES): Likewise.
32430 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32431 (normal/lexer.c_DEPENDENCIES): Likewise.
32432 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32433 (normal/lexer.c_DEPENDENCIES): Likewise.
32434 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32435 (normal/lexer.c_DEPENDENCIES): Likewise.
32436 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32437 (normal/lexer.c_DEPENDENCIES): Likewise.
32438
2dc33c03 324392008-02-23 Robert Millan <rmh@aybabtu.com>
32440
32441 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32442 since they were intended to be in hex. This didn't break previously
32443 because of a bug in gpt_partition_map_iterate() (see below).
32444
32445 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32446 when checking the validity of GPT header.
32447 Remove `partno', since it always provides the same information as `i'.
32448
f6f4cfb0 324492008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32450
32451 * include/grub/efi/time.h: Fix a wrong comment.
32452
79ff665f 324532008-02-19 Pavel Roskin <proski@gnu.org>
32454
32455 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32456 message.
32457
d38e24c2 324582008-02-19 Bean <bean123ch@gmail.com>
32459
32460 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32461 (aout_mod_SOURCES): New variable.
32462 (aout_mod_CFLAGS): Likewise.
32463 (aout_mod_LDFLAGS): Likewise.
32464 (_bsd_mod_SOURCES): New variable.
32465 (_bsd_mod_CFLAGS): Likewise.
32466 (_bsd_mod_LDFLAGS): Likewise.
32467 (bsd_mod_SOURCES): New variable.
32468 (bsd_mod_CFLAGS): Likewise.
32469 (bsd_mod_LDFLAGS): Likewise.
32470
32471 * include/grub/aout.h: New file.
32472
32473 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32474
32475 * include/grub/i386/bsd.h: New file.
32476
32477 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32478 to make it public.
32479
32480 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32481 function is called, so that it's possible to change it inside the hook.
32482 (grub_elf64_load): Likewise.
32483 (grub_elf_file): Don't close the file if elf header is not found.
32484 (grub_elf_close): Close the file if grub_elf_file fails (The new
32485 grub_elf_file won't close it).
32486 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32487 (grub_elf64_size): Likewise.
32488
32489 * kern/i386/loader.S (grub_unix_real_boot): New function.
32490
32491 * loader/aout.c: New file.
32492
32493 * loader/i386/bsd.c: New file.
32494
32495 * loader/i386/bsd_normal.c: New file.
32496
32497 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32498
32499 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 32500 can test other formats.
d38e24c2 32501
b93bdb0f 325022008-02-19 Robert Millan <rmh@aybabtu.com>
32503
32504 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32505 (grub_gpt_partition_type_empty): Redefine with macro from
32506 `<grub/gpt_partition.h>'.
32507 (gpt_partition_map_iterate): Adjust partition type comparison.
32508
32509 Export `entry' as partmap-specific `part.data' struct.
32510 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32511
32512 * include/grub/gpt_partition.h (grub_gpt_header)
32513 (grub_gpt_partentry): ... to here (new file).
32514
32515 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32516
32517 (grub_gpt_partition_type_bios_boot): New const variable, defined
32518 with macro from `<grub/gpt_partition.h>'.
32519
32520 (setup): Replace `first_start' with `embed_region', which keeps
32521 track of the embed region (and is partmap-agnostic).
32522
32523 Replace find_first_partition_start() with find_usable_region(),
32524 which finds a usable region for embedding using partmap-specific
32525 knowledge (supports PC/MSDOS and GPT).
32526
32527 Fix all assumptions that the embed region start at sector 1, using
32528 `embed_region.start' from now on. Similarly, use `embed_region.end'
32529 rather than `first_start' to calculate available size.
32530
32531 In grub_util_info() message, replace "into after the MBR" with an
32532 indication of the specific sector our embed region starts at.
32533
66cb40f6 325342008-02-19 Robert Millan <rmh@aybabtu.com>
32535
32536 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32537 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32538 `commands/reboot.c'.
32539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32540 (halt_mod_SOURCES): Likewise.
32541 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32542 (halt_mod_SOURCES): Likewise.
32543
b7202015 325442008-02-17 Christian Franke <franke@computer.org>
32545
32546 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32547
32b0fc49 325482008-02-17 Robert Millan <rmh@aybabtu.com>
32549
32550 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32551 set `first_start' to 0 for non-PC/MSDOS partition maps.
32552
aca63502 325532008-02-16 Robert Millan <rmh@aybabtu.com>
32554
32555 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32556 do not assume partition map is PC/MSDOS before performing checks that
32557 are specific to that layout.
32558
0de8be86 325592008-02-13 Robert Millan <rmh@aybabtu.com>
32560
32561 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32562 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32563 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32564
c3db8364 325652008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32566
32567 * configure.ac: Only a cosmetic change on the handling of
32568 -fno-stack-protector.
32569
f714229e 325702008-02-12 Alexandre Boeglin <alex@boeglin.org>
32571
c3db8364 32572 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32573 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32574 reboot.c.
f714229e 32575 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32576 (halt_mod_SOURCES): New variable.
32577 (halt_mod_CFLAGS): Likewise.
32578 (halt_mod_LDFLAGS): Likewise.
32579 (reboot_mod_SOURCES): Likewise.
32580 (reboot_mod_CFLAGS): Likewise.
32581 (reboot_mod_LDFLAGS): Likewise.
32582
c3db8364 32583 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32584 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32585 reboot.c.
f714229e 32586 (halt_mod_SOURCES): Likewise.
32587 (reboot_mod_SOURCES): Likewise.
32588
c3db8364 32589 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32590 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 32591 (reboot_mod_SOURCES): Likewise.
32592
32593 * commands/i386/pc/reboot.c: merge this file ...
32594
32595 * commands/ieee1275/reboot.c: ... and this file ...
32596
32597 * commands/reboot.c: ... to this file.
c3db8364 32598 Add some precompiler directive to include the correct header for
32599 each machine.
f714229e 32600
32601 * commands/ieee1275/halt.c: move this file ...
32602
32603 * commands/halt.c: ... to here.
c3db8364 32604 Add some precompiler directive to include the correct header for
32605 each machine.
f714229e 32606
32607 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32608 (grub_halt): Likewise.
32609
32610 * kern/efi/efi.c (grub_reboot): New function.
32611 (grub_halt): Likewise.
32612
c74493e0 326132008-02-12 Robert Millan <rmh@aybabtu.com>
32614
32615 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32616 /dev (like it is done for /dev/mapper). This doesn't provide support
32617 for EVMS, but at least it is now easy to identify the problem when it
32618 arises.
32619
d0db4b04 326202008-02-11 Robert Millan <rmh@aybabtu.com>
32621
32622 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32623 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32624 comparing it with -1, not 0.
32625
bf748642 326262008-02-10 Robert Millan <rmh@aybabtu.com>
32627
32628 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32629 `disk/lvm.c'.
32630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32631 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32632
32633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
32634 `disk/lvm.c' to the end of the list.
32635 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32636 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32637
b5db202a 326382008-02-10 Robert Millan <rmh@aybabtu.com>
32639
32640 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32641 grub_print_error() instead. This will let user know why we're entering
32642 rescue mode.
32643 Based on suggestions from Sam Morris.
32644
83abee31 326452008-02-10 Alexandre Boeglin <alex@boeglin.org>
32646
32647 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32648 on remaining N args, instead of "--" arg N times.
32649
78d5a08b 326502008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32651
32652 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32653 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32654 pattern for unknown glyphs.
32655
68807e5f 326562008-02-09 Robert Millan <rmh@aybabtu.com>
32657
32658 * configure.ac: Probe for `help2man'.
32659 * Makefile.in (builddir): New variable.
32660 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32661 or otherwise add a few flags/options to it.
32662 (install-local): For every executable utility or script that is
32663 installed, invoke $(HELP2MAN) to install a manpage based on --help
32664 output.
32665
32666 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32667 that it doesn't prevent --help from working in build tree.
32668
32669 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32670 with `bug-grub@gnu.org'.
32671 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32672 * util/update-grub.in (usage): New function.
32673 Implement proper argument check, with support for --help and --version
32674 (as well as existing -y).
32675
326762008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 32677
32678 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32679 avoid overwriting previous output.
32680 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32681
c1962162 326822008-02-09 Robert Millan <rmh@aybabtu.com>
32683
32684 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32685 drawing the menu.
32686
3dac2e3f 326872008-02-09 Robert Millan <rmh@aybabtu.com>
32688
32689 * commands/sleep.c: New file.
32690 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32691 (sleep_mod_SOURCES): New variable.
32692 (sleep_mod_CFLAGS): Likewise.
32693 (sleep_mod_LDFLAGS): Likewise.
32694
7a634e08 326952008-02-09 Robert Millan <rmh@aybabtu.com>
32696
32697 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32698 situations in which we can deduce the RAID size and the superblock
32699 doesn't match it.
32700
b92f0c18 327012008-02-09 Robert Millan <rmh@aybabtu.com>
32702
32703 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
32704 and return a grub_diskmemberlist_t composed of LVM physical volumes.
32705 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
32706
32707 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
32708 and return a grub_diskmemberlist_t composed of physical array members.
32709 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
32710
32711 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
32712 prototype.
32713 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
32714 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
32715 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
32716
32717 * util/grub-probe.c (probe): Move partmap probing code from here ...
32718 (probe_partmap): ... to here.
32719 (probe): Use probe_partmap() once for the disk we're probing, and
32720 additionally, when such disk contains a memberlist() struct member,
32721 once for each disk that is contained in the structure returned by
32722 memberlist().
32723
91a4bf68 327242008-02-09 Robert Millan <rmh@aybabtu.com>
32725
32726 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
32727 environment variable to 'all' in order to obtain debug output from
32728 non-util/ code.
32729 * util/i386/pc/grub-setup.c (main): Likewise.
32730
a96f9caa 327312008-02-08 Robert Millan <rmh@aybabtu.com>
32732
32733 * disk/raid.c (grub_raid_scan_device): Check for
32734 `array->device[sb.this_disk.number]' rather than for
32735 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 32736 guaranteed to be accessible.
a96f9caa 32737
b37a9222 327382008-02-08 Robert Millan <rmh@aybabtu.com>
32739
32740 * disk/raid.c: Update copyright.
32741 * fs/cpio.c: Likewise.
32742 * include/grub/raid.h: Likewise.
32743 * loader/i386/pc/multiboot.c: Likewise.
32744 * util/hostfs.c: Likewise.
32745
5626aee1 327462008-02-08 Robert Millan <rmh@aybabtu.com>
32747
32748 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
32749 to a grub_disk_t array.
32750 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
32751 `device[x]'.
32752 (grub_raid_scan_device): Replace `device[x].name' accesses with
32753 `device[x]->name'. Simplify initialization of `array->device[x]'.
32754
554f0187 327552008-02-08 Robert Millan <rmh@aybabtu.com>
32756
32757 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
32758 grub_dprintf() calls.
32759 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
32760 error message.
32761
1ec8425d 327622008-02-07 Christian Franke <franke@computer.org>
32763
32764 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
32765 instead of fseek and ftell to support large files.
32766 (grub_hostfs_read): Likewise.
32767
f2156fda 327682008-02-07 Robert Millan <rmh@aybabtu.com>
32769
32770 Patch from Jeroen Dekkers.
32771 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 32772 failure, since successfully reading all array members might not be
f2156fda 32773 required.
32774
9216e0e7 327752008-02-06 Robert Millan <rmh@aybabtu.com>
32776
32777 * util/grub-probe.c (probe): Simplify partmap probing (with the
32778 assumption that the first word up to the underscore equals to
32779 the module name).
32780
b0dfd29a 327812008-02-06 Christian Franke <franke@computer.org>
32782
32783 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
32784 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
32785 last block of a cpio or tar stream.
32786 Check for "TRAILER!!!" instead of any empty data
32787 block to detect last block of a cpio stream.
32788 (grub_cpio_dir): Fix constness of variable np.
32789 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
32790 cpio or tar trailer is detected. This fixes a crash
32791 on open of a non existing file.
32792
c32865bf 327932008-02-05 Bean <bean123ch@gmail.com>
32794
32795 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
32796 address of entry.
32797 (grub_multiboot_load_elf64): Likewise.
32798 (grub_multiboot): Initialize mbi structure.
32799
32800 * util/grub-fstest.c: Don't include unused header file script.h.
32801
fe6b695a 32802 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 32803 of file.
32804 (grub_fstest_SOURCES): Likewise.
32805
409480b7 328062008-02-05 Robert Millan <rmh@aybabtu.com>
32807
32808 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
32809 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
32810 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
32811 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
32812
32813 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
32814 (translation_table): Replace hardcoded values with macros
32815 provided by `<grub/term.h>'.
32816
32817 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
32818 (keyboard_map): Correct/add a few values, with macros provided
32819 by `<grub/term.h>'.
32820 (keyboard_map_shift): Zero values that don't differ from their
32821 `keyboard_map' equivalents.
32822 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
32823 Discard the second scan code that is always sent by Caps lock.
32824 Only use `keyboard_map_shift' when it provides a non-zero value,
32825 otherwise fallback to `keyboard_map'.
32826
99fadbaa 328272008-02-04 Bean <bean123ch@gmail.com>
32828
32829 * Makefile.in (enable_grub_fstest): New variable.
32830
32831 * conf/common.rmk (grub_fstest_init.lst): New rule.
32832 (grub_fstest_init.h): Likewise.
32833 (grub_fstest_init.c): Likewise.
32834 (util/grub-fstest.c_DEPENDENCIES): New variable.
32835 (grub_fstest_SOURCES): Likewise.
32836
32837 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
32838
32839 * util/grub-fstest.c: New file.
32840
bf567c50 328412008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32842
32843 Make grub-setup handle a separate root device.
f19dbdb7 32844
bf567c50 32845 * util/i386/pc/grub-setup.c (setup): Always open the root device,
32846 so that the root device can be compared with the destination
32847 device.
32848 When embedding the core image, if the root and destination devices
32849 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
32850 0xFF.
32851 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 32852
9be6b98b 328532008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32854
32855 Add support for having a grub directory in a different drive. This
32856 is still only the data handling part.
f19dbdb7 32857
9be6b98b 32858 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
32859 (codestart): Save %dh in GRUB_ROOT_DRIVE.
32860 (grub_root_drive): New variable.
32861
32862 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
32863 instead of GRUB_BOOT_DRIVE to construct a device name. Set
32864 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
32865 as it was.
32866
32867 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
32868
32869 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32870 macro.
32871 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32872
32873 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32874 is bogus, because PXE booting does not specify any drive
32875 correctly.
32876
32877 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32878 am not sure if this is really correct.
32879
32880 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32881 is always identical to the boot drive when booting from a CD.
32882
32883 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32884 longer.
32885 (root_drive): New variable.
32886 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32887 (setup_sectors): Push %dx right after popping it, because %dh will
32888 be modified later.
32889 (copy_buffer): Restore %dx.
32890
e0ca0677 328912008-02-03 Robert Millan <rmh@aybabtu.com>
32892
32893 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32894 use `cdboot.img' for cdrom images.
32895
3b3f6629 328962008-02-03 Robert Millan <rmh@aybabtu.com>
32897
32898 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32899 only setup gfxterm when `font' command has succeeded.
32900
d42b3672 329012008-02-03 Robert Millan <rmh@aybabtu.com>
32902
32903 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32904 (grub_rescue_cmd_multiboot_loader)
32905 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32906
fa370ea6 329072008-02-03 Pavel Roskin <proski@gnu.org>
32908
e0c5dacb 32909 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 32910 %edx and %esi from stack only after grub_gate_a20() is called.
32911 grub_gate_a20() clobbers %edx.
32912
f2a76e1d 329132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32914
32915 * configure.ac (AC_INIT): Bumped to 1.96.
32916
32917 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32918 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32919 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32920 video/readers/png.c.
32921
90fd32d1 329222008-02-03 Bean <bean123ch@gmail.com>
9be665dd 32923
32924 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32925 (cdboot_img_SOURCES): New variable.
32926 (cdboot_img_ASFLAGS): New variable.
32927 (cdboot_img_LDFLAGS): New variable.
32928
32929 * boot/i386/pc/cdboot.S: New file.
32930
32931 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32932 (cd_count): Likewise.
32933 (grub_biosdisk_get_drive): Add support for cd device.
32934 (grub_biosdisk_call_hook): Likewise.
32935 (grub_biosdisk_iterate): Likewise.
32936 (grub_biosdisk_open): Likewise.
32937 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32938 (grub_biosdisk_rw): Support reading from cd device.
32939 (GRUB_MOD_INIT): Iterate cd devices.
32940
32941 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32942 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32943 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32944
32945 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32946
4020aa53 329472008-02-02 Robert Millan <rmh@aybabtu.com>
32948
32949 * commands/read.c: New file.
32950 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32951 (read_mod_SOURCES): New variable.
32952 (read_mod_CFLAGS): Likewise.
32953 (read_mod_LDFLAGS): Likewise.
32954
e03a1132 329552008-02-02 Robert Millan <rmh@aybabtu.com>
32956
32957 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32958 determining whether menu has to be displayed.
32959
58c69220 329602008-02-02 Marco Gerards <marco@gnu.org>
32961
32962 * bus/pci.c: New file.
32963
32964 * include/grub/pci.h: Likewise.
32965
32966 * include/grub/i386/pc/pci.h: Likewise.
32967
32968 * commands/lspci.c: Likewise.
32969
32970 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32971 `lspci.mod'.
32972 (pci_mod_SOURCES): New variable.
32973 (pci_mod_CFLAGS): Likewise.
32974 (pci_mod_LDFLAGS): Likewise.
32975 (lspci_mod_SOURCES): Likewise.
32976 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 32977 (lspci_mod_LDFLAGS): Likewise.
58c69220 32978
c004e1b4 329792008-02-02 Bean <bean123ch@gmail.com>
32980
32981 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32982 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32983
32984 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32985 (grub_xfs_btree_node): New structure.
32986 (grub_xfs_btree_root): New structure.
32987 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32988 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32989 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32990 (GRUB_XFS_EXTENT_SIZE): Likewise.
32991 (grub_xfs_read_block): Support btree format type.
32992 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
32993 Use directory block as basic unit.
32994
32995 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
32996
32997 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
32998 __attribute__ ((__regparm__ (1))).
32999
f95562bf 330002008-02-01 Robert Millan <rmh@aybabtu.com>
33001
33002 Correct a mistake in previous commit.
33003
33004 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33005 top.
33006 (normal/command.c_DEPENDENCIES): New variable.
33007
7d31f41f 330082008-02-01 Robert Millan <rmh@aybabtu.com>
33009
33010 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33011 top.
33012 (normal/command.c_DEPENDENCIES): New variable.
33013 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33014 * conf/i386-ieee1275.rmk: Likewise.
33015 * conf/i386-linuxbios.rmk: Likewise.
33016 * conf/i386-pc.rmk: Likewise.
33017 * conf/sparc64-ieee1275.rmk: Likewise.
33018 * conf/powerpc-ieee1275.rmk: Likewise.
33019 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33020
33021 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33022
60b6be74 330232008-02-01 Robert Millan <rmh@aybabtu.com>
33024
33025 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33026 call at beginning of function.
33027
078522ab 330282008-01-31 Pavel Roskin <proski@gnu.org>
33029
33030 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33031 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33032 (grub_mkrescue_SOURCES): Likewise.
078522ab 33033 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33034
ccaa8a5f 330352008-01-30 Robert Millan <rmh@aybabtu.com>
33036
33037 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33038 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33039 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33040 (grub_probe_SOURCES): ... to here.
33041
33042 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33043 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33044 * conf/i386-ieee1275.rmk: Likewise.
33045 * conf/i386-linuxbios.rmk: Likewise.
33046 * conf/powerpc-ieee1275.rmk: Likewise.
33047
ae5a9cd7 330482008-01-30 Tristan Gingold <gingold@free.fr>
33049
33050 * kern/rescue.c: Silently accept empty lines.
33051
70bc2ef2 330522008-01-29 Bean <bean123ch@gmail.com>
33053
33054 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33055 (real_code_2): Code cleanup and change comment style.
33056 (move_memory): Avoid using 32-bit address mode.
33057
6a4d50ea 330582008-01-29 Bean <bean123ch@gmail.com>
33059
33060 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33061 (png_mod_SOURCES): New variable.
33062 (png_mod_CFLAGS): Likewise.
33063 (png_mod_LDFLAGS): Likewise.
33064
33065 * video/readers/png.c: New file.
33066
11cc30ac 330672008-01-28 Robert Millan <rmh@aybabtu.com>
33068
33069 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33070 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33071 `ifndef GRUB_MOD_GAP' hack.
33072 * util/elf/grub-mkimage.c (add_segments): Likewise.
33073
3abc589f 330742008-01-27 Robert Millan <rmh@aybabtu.com>
33075
33076 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33077 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33078 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33079
e1907778 330802008-01-27 Robert Millan <rmh@aybabtu.com>
33081
33082 Get grub-emu to build again (including parallel builds).
33083
33084 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33085 Split into ...
33086 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33087 (normal/execute.c_DEPENDENCIES): ... this, ...
33088 (grub-emu_DEPENDENCIES): ... and this.
33089
33090 * conf/i386-efi.rmk: Likewise.
33091 * conf/i386-linuxbios.rmk: Likewise.
33092 * conf/i386-ieee1275.rmk: Likewise.
33093 * conf/powerpc-ieee1275.rmk: Likewise.
33094 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33095
2216b101 330962008-01-27 Robert Millan <rmh@aybabtu.com>
33097
33098 * NEWS: Add a few items.
33099
f75172d9 331002008-01-27 Robert Millan <rmh@aybabtu.com>
33101
33102 Fix parallel builds with grub-emu. Based on earlier commit for
33103 grub-probe and grub-setup.
33104
33105 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33106 (util/grub-emu.c_DEPENDENCIES): ... this.
33107 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33108 (util/grub-emu.c_DEPENDENCIES): ... this.
33109 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33110 (util/grub-emu.c_DEPENDENCIES): ... this.
33111 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33112 (util/grub-emu.c_DEPENDENCIES): ... this.
33113 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33114 (util/grub-emu.c_DEPENDENCIES): ... this.
33115
3f51de77 331162008-01-27 Pavel Roskin <proski@gnu.org>
33117
33118 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33119 to create a gap between _end and the modules added to the image
33120 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33121 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33122 * util/elf/grub-mkimage.c (add_segments): Likewise.
33123
2033f53e 331242008-01-26 Pavel Roskin <proski@gnu.org>
33125
33126 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33127 just return an error.
33128
22da1f6f 331292008-01-26 Bean <bean123ch@gmail.com>
33130
33131 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33132 (grub_reiserfs_get_item): Save offset of the next item.
33133 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33134
2a9525e6 331352008-01-25 Robert Millan <rmh@aybabtu.com>
33136
33137 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33138 make all filesystem sources appear together (possibly fixing omissions
33139 while at it).
33140 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33141 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33142 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33144
33145 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33146 add `kern/file.c'.
33147 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33148 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33149 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33150 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33151
33152 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33153 (probe): Add a sanity check to make sure of our ability to read
33154 requested files when probing for filesystem type.
33155
33156 * genmk.rb: Update copyright year (2007).
33157
33158 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33159 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33160 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33161 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33162 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33163 : Remove function prototypes.
33164
b95f71b5 331652008-01-25 Robert Millan <rmh@aybabtu.com>
33166
33167 Revert my previous commits (based on wrong assumption of how grub_errno
33168 works).
33169
fe6b695a 33170 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33171 * kern/file.c (grub_file_open): Likewise.
33172
d08bbb49 331732008-01-24 Pavel Roskin <proski@gnu.org>
33174
33175 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33176 that hang if GRUB tries to setup colors.
33177 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33178 colors for firmwares that don't support it.
33179 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33180 Recognize Open Hack'Ware, set flags to work around its
33181 limitations.
33182
605e36ed 331832008-01-24 Robert Millan <rmh@aybabtu.com>
33184
33185 * kern/file.c (grub_file_open): Do not account previous failures of
33186 unrelated functions when grub_errno is checked for.
33187 Reported by Oleg Strikov.
33188
bac332a1 331892008-01-24 Bean <bean123ch@gmail.com>
33190
33191 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33192 (grub_ufs_sblock): New member volume name.
33193 (grub_ufs_find_file): Fix string copy bug.
33194 (grub_ufs_label): Implement this function properly.
33195
33196 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33197 (grub_hfs_iterate_records): Use the correct file number for extents
33198 and catalog file. Fix problem in next index calculation.
33199 (grub_hfs_find_node): Replace recursive function call with loop.
33200 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33201
15c80c09 332022008-01-23 Robert Millan <rmh@aybabtu.com>
33203
33204 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33205 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33206 (grub_multiboot2_real_boot): New function prototype.
33207
33208 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33209 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33210
33211 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33212 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33213
305338fd 332142008-01-23 Robert Millan <rmh@aybabtu.com>
33215
33216 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33217 #ifdef'ed out grub_printf().
33218
3ea52685 332192008-01-23 Robert Millan <rmh@aybabtu.com>
33220
33221 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33222 grub_dprintf calls, since they make "debug=all" mode unusable.
33223 (grub_console_checkkey): Likewise.
33224
5882ae4b 332252008-01-23 Robert Millan <rmh@aybabtu.com>
33226
33227 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33228 `term/i386/pc/at_keyboard.c'.
33229 (pkglib_MODULES): Add `serial.mod'.
33230 (serial_mod_SOURCES): New variable.
33231 (serial_mod_CFLAGS): Likewise.
33232 (serial_mod_LDFLAGS): Likewise.
33233
33234 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33235 `<grub/powerpc/ieee1275/console.h>'.
33236 (grub_keyboard_controller_init): New function prototype.
33237 (grub_console_checkkey): Likewise.
33238 (grub_console_getkey): Likewise.
33239
33240 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33241 keyboard on i386.
33242
33243 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33244 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33245
06ab5303 332462008-01-23 Robert Millan <rmh@aybabtu.com>
33247
33248 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33249 present, "(memdisk)/boot/grub" becomes the default prefix.
33250
33251 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33252 a memdisk tarball with all the modules. Add --overlay=DIR option that
33253 allows users to overlay additional files into the image.
33254
dbb475a4 332552008-01-23 Robert Millan <rmh@aybabtu.com>
33256
33257 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33258 and `machine/memory.h'.
33259 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33260 (_multiboot_mod_SOURCES): New variable.
33261 (_multiboot_mod_CFLAGS): Likewise.
33262 (_multiboot_mod_LDFLAGS): Likewise.
33263 (multiboot_mod_SOURCES): Likewise.
33264 (multiboot_mod_CFLAGS): Likewise.
33265 (multiboot_mod_LDFLAGS): Likewise.
33266
33267 * include/grub/i386/ieee1275/loader.h: New file.
33268
33269 * include/grub/i386/ieee1275/machine.h: Likewise.
33270
33271 * include/grub/i386/ieee1275/memory.h: Likewise.
33272
33273 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33274 variable declaration.
33275 (grub_os_area_size): Likewise.
33276
33277 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33278 (grub_lower_mem, grub_upper_mem): New variables.
33279 (grub_stop_floppy): New function (just to make
33280 grub_multiboot2_real_boot() happy).
33281
33282 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33283 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33284 (grub_stop): New function.
33285 Include `"../realmode.S"' and `"../loader.S"'.
33286
33287 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33288 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33289
33290 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33291 rely on grub_multiboot2_real_boot() for final boot.
33292
25638629 332932008-01-22 Robert Millan <rmh@aybabtu.com>
33294
33295 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33296 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33297 device that doesn't look like an SD card.
33298 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33299 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33300 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33301 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33302 found.
33303
9dad816d 333042008-01-22 Robert Millan <rmh@aybabtu.com>
33305
33306 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33307 avoid claiming over our own code.
33308
34842f2d 333092008-01-22 Bean <bean123ch@gmail.com>
33310
33311 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33312 (jpeg_mod_SOURCES): New variable.
33313 (jpeg_mod_CFLAGS): Likewise.
33314 (jpeg_mod_LDFLAGS): Likewise.
33315
33316 * video/readers/jpeg.c : New file.
33317
44023a28 333182008-01-22 Bean <bean123ch@gmail.com>
33319
33320 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33321 there are no more items.
33322
bc2d8ac6 333232008-01-21 Robert Millan <rmh@aybabtu.com>
33324
33325 * kern/mm.c (grub_mm_init_region): Improve debug message.
33326
261bd4bc 333272008-01-21 Robert Millan <rmh@aybabtu.com>
33328
33329 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33330 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33331 address.
33332 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33333 a C macro.
33334 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33335 Indicates start of upper memory.
33336 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33337 (generate_image): Abort when image size is big enough to corrupt
33338 upper memory.
33339
33340 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33341 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33342 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33343 instead of hardcoding 0xA0000.
33344 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33345 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33346 instead of hardcoding 0xA0000.
33347
f970b55e 333482008-01-21 Robert Millan <rmh@aybabtu.com>
33349
33350 * disk/memdisk.c (memdisk_size): New variable.
33351 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33352 `memdisk_size'.
33353 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33354 image to dynamic memory.
33355 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33356 `memdisk_size'. Free memdisk block.
33357
1a8b0526 333582008-01-21 Robert Millan <rmh@aybabtu.com>
33359
33360 Fix detection of very small filesystems (like tar).
33361
33362 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33363 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33364 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33365 a problem with this disk).
33366
6e9b4aab 333672008-01-21 Robert Millan <rmh@aybabtu.com>
33368
33369 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33370 on grub_biosdisk_rw_standard() error.
33371
0d8837b2 333722008-01-21 Robert Millan <rmh@aybabtu.com>
33373
33374 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33375 recent changes.
33376 * kern/elf.c: Likewise.
33377 * kern/ieee1275/ieee1275.c: Likewise.
33378 * kern/powerpc/ieee1275/openfw.c: Likewise.
33379 * term/ieee1275/ofconsole.c: Likewise.
33380
ffd36e34 333812008-01-21 Robert Millan <rmh@aybabtu.com>
33382
33383 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33384
3f0093d0 33385 * include/grub/kernel.h (grub_arch_memdisk_addr)
33386 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 33387
3f0093d0 33388 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33389 (grub_arch_memdisk_size): ... to here.
ffd36e34 33390
6c391b21 333912008-01-21 Robert Millan <rmh@aybabtu.com>
33392
33393 Mostly based on bugfix from Bean.
33394
33395 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33396 attribute with hook() parameter.
33397 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33398 declaration.
33399 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33400 attribute with hook() parameter.
33401 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33402 declaration.
33403
55a581dc 334042008-01-21 Robert Millan <rmh@aybabtu.com>
33405
33406 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33407 (pkglib_MODULES): Add `memdisk.mod'.
33408 (memdisk_mod_SOURCES): New variable.
33409 (memdisk_mod_CFLAGS): Likewise.
33410 (memdisk_mod_LDFLAGS): Likewise.
33411
33412 * disk/memdisk.c: New file.
33413
33414 * include/grub/disk.h (grub_disk_dev_id): Add
33415 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33416
33417 * include/grub/i386/pc/kernel.h
33418 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33419 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33420 (grub_kernel_image_size): New variable declaration.
33421 (grub_total_module_size): Likewise.
33422 (grub_memdisk_image_size): Likewise.
33423
33424 * include/grub/i386/pc/memory.h
33425 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33426
33427 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33428 (grub_arch_memdisk_addr): New variable declaration.
33429 (grub_arch_memdisk_size): Likewise.
33430
33431 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33432 (grub_arch_memdisk_size): Likewise.
33433
33434 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33435 (codestart): Replace hardcoded `0x100000' with
33436 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33437
33438 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33439 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33440 not NULL, append the contents of the file it refers to, at the end of
33441 the compressed kernel image. Initialize `grub_memdisk_image_size'
33442 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33443 (options): Add "memdisk"|'m' option.
33444 (main): Parse --memdisk|-m option, and pass user-provided path as
33445 parameter to generate_image().
33446
3d7f54c9 334472008-01-20 Robert Millan <rmh@aybabtu.com>
33448
33449 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33450 grub_dprintf() calls from here ...
33451 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33452
0bf74728 334532008-01-20 Robert Millan <rmh@aybabtu.com>
33454
33455 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33456
33457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33458 declaration.
33459 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33460 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33461 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 33462 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 33463 property).
33464 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33465 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33466
33bf70a7 334672008-01-19 Robert Millan <rmh@aybabtu.com>
33468
fe6b695a 33469 Get rid of confusing function (superseded by
33bf70a7 33470 `grub_ieee1275_get_integer_property')
33471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33472 prototype.
33473 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33474 function.
33475 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33476 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 33477 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 33478
e2da7d26 334792008-01-19 Robert Millan <rmh@aybabtu.com>
33480
33481 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33482 command after "shut-down", since implementations differ on which
33483 the command for halt is.
33484
59f1fd8d 334852008-01-19 Robert Millan <rmh@aybabtu.com>
33486
33487 * include/grub/i386/linuxbios/console.h: Add header protection.
33488 (grub_keyboard_controller_init): New function prototype.
33489 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33490 (KEYBOARD_COMMAND_READ): Likewise.
33491 (KEYBOARD_COMMAND_WRITE): Likewise.
33492 (KEYBOARD_SCANCODE_SET1): Likewise.
33493 (grub_keyboard_controller_write): New function.
33494 (grub_keyboard_controller_read): Likewise.
33495 (grub_keyboard_controller_init): Likewise.
33496
33497 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33498 (grub_console_init): On coreboot/LinuxBIOS, call
33499 grub_keyboard_controller_init().
33500
5f5a7c15 335012008-01-19 Robert Millan <rmh@aybabtu.com>
33502
33503 PowerPC changes provided by Pavel Roskin.
33504
33505 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33506 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33507 don't rely on cmain() doing it.
33508 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33509 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33510
1210e168 335112008-01-16 Robert Millan <rmh@aybabtu.com>
33512
33513 * include/grub/i386/linuxbios/memory.h
33514 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33515 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33516 receive `table_header' as argument. Instead, probe for it in the
33517 known memory ranges where it can be present.
33518 (grub_available_iterate): Do not pass a fixed `table_header' address
33519 to grub_linuxbios_table_iterate().
33520
3d04eab8 335212008-01-15 Robert Millan <rmh@aybabtu.com>
33522
33523 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33524 * conf/i386-ieee1275.rmk: New file.
33525 * include/grub/i386/ieee1275/console.h: Likewise.
33526 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33527 * include/grub/i386/ieee1275/kernel.h: Likewise.
33528 * include/grub/i386/ieee1275/time.h: Likewise.
33529 * kern/i386/ieee1275/init.c: Likewise.
33530 * kern/i386/ieee1275/startup.S: Likewise.
33531
d1bc1b73 335322008-01-15 Robert Millan <rmh@aybabtu.com>
33533
33534 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33535 when pointers are 32-bit (but still do set it to one when they are
33536 64-bit).
33537
66a65807 335382008-01-15 Robert Millan <rmh@aybabtu.com>
33539
33540 * include/grub/ieee1275/ieee1275.h
33541 (grub_ieee1275_get_integer_property): New function prototype.
33542
33543 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33544 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 33545 grub_ieee1275_get_property() to handle endianness.
66a65807 33546
33547 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33548 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 33549 where appropriate.
66a65807 33550 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33551 (grub_map): Likewise.
33552 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33553
a83ccafd 335542008-01-15 Bean <bean123ch@gmail.com>
33555
33556 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33557 (grub_script_execute_cmdline): Reset grub_errno.
33558
33559 * normal/main.c (read_config_file): Reset grub_errno.
33560
33561 * normal/parse.y (script_init): New.
33562 (script): Move function and menuentry here.
33563 (delimiter): New.
33564 (command): Add delimiter at the end of command.
33565 (commands): Adjust to match the new command.
33566 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 33567 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 33568 (if): Use the new commands.
33569
33570 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33571
df6ecfc6 335722008-01-15 Robert Millan <rmh@aybabtu.com>
33573
33574 * normal/menu.c (run_menu): Move timeout message from here ...
33575 (print_timeout): ... to here.
33576 (run_menu): Use print_timeout() once during initial draw to print
33577 the whole message, and again in every clock tick to update only
33578 the number of seconds.
33579
87ae25eb 335802008-01-15 Robert Millan <rmh@aybabtu.com>
33581
33582 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33583 actual size of `available' from grub_ieee1275_get_property(), and
33584 restrict parsing to that bound.
33585
47bf09a4 335862008-01-15 Christian Franke <franke@computer.org>
33587
33588 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33589 (argp_program_version): Remove variable.
33590 (argp_program_bug_address): Likewise.
33591 (options): Convert from struct argp_option to struct option.
33592 (struct arguments): Remove.
33593 (parse_opt): Remove.
33594 (usage): New function.
33595 (main): Replace struct args members by simple variables.
33596 Replace argp_parse() by getopt_long().
33597 Add switch to evaluate options.
33598 Add missing "(...)" around root_dev in prefix string.
33599
c86f1469 336002008-01-14 Robert Millan <rmh@aybabtu.com>
33601
33602 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33603 for grub_ieee1275_exit(), in order to improve portability.
33604
e622c559 336052008-01-14 Robert Millan <rmh@aybabtu.com>
33606
33607 * util/grub.d/10_linux.in (prefix): Define.
33608 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33609
44cb1ec8 336102008-01-13 Pavel Roskin <proski@gnu.org>
33611
33612 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33613 grub_errno if no errors have been detected.
33614
1eb8c802 336152008-01-12 Robert Millan <rmh@aybabtu.com>
33616
33617 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33618 (grub_util_get_dev_abstraction): New function prototype.
33619
33620 * util/getroot.c: Include `<grub/util/getroot.h>'
33621 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33622 (grub_util_get_dev_abstraction): ... here (new function).
33623
33624 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33625 `PRINT_ABSTRACTION'.
33626 (probe): Probe for abstraction type when requested.
33627 (main): Understand `--target=abstraction'.
33628
33629 * util/i386/efi/grub-install.in: Add abstraction module to core
33630 image when it is found to be necessary.
33631 * util/i386/pc/grub-install.in: Likewise.
33632 * util/powerpc/ieee1275/grub-install.in: Likewise.
33633
33634 * util/update-grub_lib.in (font_path): Return system path without
33635 converting to GRUB path.
33636 * util/update-grub.in: Convert system path returned by font_path()
33637 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33638 abstraction module is needed for loading fonts (if any). Export
33639 that as `GRUB_PRELOAD_MODULES'.
33640 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33641 insmod commands).
33642
52bd3de9 336432008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33644
33645 Remove some unused code from reiserfs.
f19dbdb7 33646
52bd3de9 33647 * fs/reiserfs.c (struct grub_reiserfs_key)
33648 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33649 (struct grub_reiserfs_node_body): Removed.
33650 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33651 Likewise.
33652 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33653 Likewise.
33654 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33655 Likewise.
33656 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33657 Likewise.
33658 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33659 Likewise.
33660 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33661 Likewise.
33662 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33663 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33664 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33665
2f80039d 336662008-01-10 Robert Millan <rmh@aybabtu.com>
33667
33668 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33669 Determines if a file is garbage left by packaging systems, etc.
33670 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33671 for processing /etc/grub.d scripts.
33672 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33673 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33674 as a condition for processing Linux images.
33675
87888032 336762008-01-10 Pavel Roskin <proski@gnu.org>
33677
33678 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33679 to compile reiserfs.c on PowerPC.
33680
7e54fced 336812008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 33682
33683 * kern/device.c (grub_device_iterate): Do not abort device iteration
33684 when one of the devices cannot be opened.
33685 * kern/disk.c (grub_disk_open): Do not account previous failures of
33686 unrelated functions when grub_errno is checked for.
33687
5aa541e6 336882008-01-08 Robert Millan <rmh@aybabtu.com>
33689
33690 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33691 `! grub_linux_is_bzimage', change order of address comparison to make
33692 it more intuitive, and improve "too big zImage" error message.
33693
7076340d 336942008-01-08 Robert Millan <rmh@aybabtu.com>
33695
33696 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33697 `$(update-grub_DATA)'.
33698 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33699 targets.
33700
9ca70333 337012008-01-07 Robert Millan <rmh@aybabtu.com>
33702
33703 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
33704 which instruction is modified by grub-setup during installation
33705 (since it wasn't obvious by only looking at this file).
33706
38ccf575 337072008-01-07 Robert Millan <rmh@aybabtu.com>
33708
33709 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
33710 listing actual TODO items.
33711
f5db4291 337122008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33713
868967cf 33714 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
33715 correctly.
33716 (grub_reiserfs_get_key_offset): Likewise.
33717 (grub_reiserfs_set_key_offset): Likewise.
33718 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 33719 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 33720
33721 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
33722 better to remove the bitfield version completely.
f19dbdb7 33723
868967cf 337242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33725
f5db4291 33726 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
33727 allocated from the heap, due to the fshelp implementation.
33728 (grub_reiserfs_dir): Free NODE, due to the same reason.
33729
492e6d9d 337302008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33731
33732 Mostly from Vincent Pelletier:
f19dbdb7 33733
492e6d9d 33734 * fs/reiserfs.c: New file.
f19dbdb7 33735
492e6d9d 33736 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
33737 (reiserfs_mod_SOURCES): New variable.
33738 (reiserfs_mod_CFLAGS): Likewise.
33739 (reiserfs_mod_LDFLAGS): Likewise.
33740
33741 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
33742 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
33743 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
33744 normal/color.c.
33745
9ce3e7c1 337462008-01-06 Robert Millan <rmh@aybabtu.com>
33747
33748 * normal/color.c: Remove `<grub/env.h>'.
33749
f3b58148 337502008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
33751
33752 * include/grub/normal.h: Include <grub/env.h>.
33753
7ac3bcfa 337542008-01-05 Robert Millan <rmh@aybabtu.com>
33755
33756 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
33757 usage example with `(hd0,1)'.
fb358190 33758 Reported by Samuel Thibault.
7ac3bcfa 33759
c8ee99d7 337602008-01-05 Robert Millan <rmh@aybabtu.com>
33761
33762 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
33763 (grub_linux_boot_zimage): Rename to ...
33764 (grub_linux_boot): ... this.
33765 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
33766 (grub_linux_boot_zimage): Conditionalize zImage copy.
33767
33768 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
33769 (grub_linux_boot_bzimage): Remove prototype.
33770 (grub_linux_boot_zimage): Rename to ...
33771 (grub_linux_boot): ... this.
33772
33773 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
33774 (grub_linux_boot): Remove function.
33775
0ece25b1 337762008-01-05 Robert Millan <rmh@aybabtu.com>
33777
33778 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
33779 (grub_env_write_color_highlight): Likewise.
33780 (grub_wait_after_message): Likewise.
33781
33782 * normal/color.c: New file.
33783
33784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33785 (normal_mod_DEPENDENCIES): Likewise.
33786
33787 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33788 (normal_mod_DEPENDENCIES): Likewise.
33789
33790 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33791 (normal_mod_DEPENDENCIES): Likewise.
33792
33793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33794 (normal_mod_DEPENDENCIES): Likewise.
33795
33796 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
33797 for waiting after a message is printed.
33798 * normal/main.c (read_config_file): Likewise.
33799 (grub_normal_init): Register grub_env_write_color_normal() and
33800 grub_env_write_color_highlight() hooks. Mark `color_normal' and
33801 `color_highlight' variables as global.
33802
33803 * normal/menu.c (grub_wait_after_message): New function.
33804 (grub_color_menu_normal): New variable. Replaces ...
33805 (GRUB_COLOR_MENU_NORMAL): ... this macro.
33806 (grub_color_menu_highlight): New variable. Replaces ...
33807 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
33808 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
33809 `GRUB_TERM_COLOR_STANDARD'.
33810 (print_message): Use `grub_setcolorstate' to reload colors. Rename
33811 `normal_code' and `highlight_code' to `old_color_normal' and
33812 `old_color_highlight', respectively.
33813 (grub_menu_init_page): Update colors when drawing the menu, based on
33814 `menu_color_normal' and `menu_color_highlight' variables.
33815 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
33816 a message is printed.
33817
182dd4e5 338182008-01-05 Robert Millan <rmh@aybabtu.com>
33819
33820 * kern/env.c (grub_env_context_open): Propagate hooks for global
33821 variables to new context.
33822
33823 * kern/main.c (grub_set_root_dev): Export `root' variable.
33824
ddf8f6ad 338252008-01-05 Robert Millan <rmh@aybabtu.com>
33826
33827 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 33828 discs unconditionally, since udev and others have options to provide
ddf8f6ad 33829 them.
33830
d8b43d9b 338312008-01-05 Robert Millan <rmh@aybabtu.com>
33832
33833 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
33834
2bff2de3 338352008-01-04 Christian Franke <franke@computer.org>
33836
33837 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
33838 of eisa_mmap.
33839
97eab917 338402008-01-03 Pavel Roskin <proski@gnu.org>
33841
33842 * kern/i386/linuxbios/init.c: Put "void" to all function
33843 declarations with no arguments.
33844 * kern/powerpc/ieee1275/init.c: Likewise.
33845 * term/i386/pc/at_keyboard.c: Likewise.
33846 * term/i386/pc/vga_text.c: Likewise.
33847 * util/grub-mkdevicemap.c: Likewise.
33848
b9416d00 338492008-01-02 Robert Millan <rmh@aybabtu.com>
33850
33851 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
33852 message when loaded image is out of bounds.
33853 (grub_multiboot_load_elf64): Likewise.
33854
92695df9 338552008-01-02 Pavel Roskin <proski@gnu.org>
33856
33857 * util/grub.d/10_linux.in: Try version without ".old" when
33858 looking for initrd. It's better to use initrd from the newer
33859 kernel of the same version than no initrd at all.
33860
d98d9cad 338612008-01-01 Robert Millan <rmh@aybabtu.com>
33862
33863 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
33864
dbfdce36 338652008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
33866
f19dbdb7 33867 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 33868 grub_video_get_active_render_target.
33869 (grub_video_adapter): Added unmap_color and get_active_render_target.
33870
f19dbdb7 33871 * video/video.c: Added grub_video_unmap_color and
dbfdce36 33872 grub_video_get_active_render_target.
33873 (grub_video_get_info): Changed method to accept NULL pointer as an
33874 argument to allow detection of active video adapter.
33875
33876 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33877 grub_video_vbe_unmap_color_int.
33878 Added grub_video_vbe_unmap_color and
33879 grub_video_vbe_get_active_render_target.
33880 (grub_video_vbe_adapter): Added unmap_color and
33881 get_active_render_target.
33882
f19dbdb7 33883 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 33884 with grub_video_vbe_unmap_color_int.
33885
33886 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33887 (DEFAULT_NORMAL_COLOR): Likewise.
33888 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33889 (DEFAULT_FG_COLOR): Removed.
33890 (DEFAULT_BG_COLOR): Likewise.
33891 (DEFAULT_CURSOR_COLOR): Changed value.
33892 (grub_virtual_screen): Added standard_color_setting,
33893 normal_color_setting, highlight_color_setting and term_color.
33894 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33895 (bitmap_width): Added.
33896 (bitmap_height): Likewise.
33897 (bitmap): Likewise.
33898 (set_term_color): Likewise.
33899 (grub_virtual_screen_setup): Changed to use new terminal coloring
33900 settings.
33901 (grub_gfxterm_init): Added init for bitmap.
33902 (grub_gfxterm_fini): Added destroy for bitmap.
33903 (redraw_screen_rect): Updated to use background bitmap and new
33904 terminal coloring.
33905 (scroll_up): Added optimization for case when there is no bitmap.
33906 (grub_gfxterm_cls): Fixed to use correct background color.
33907 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33908 coloring.
33909 (grub_virtual_screen_setcolor): Likewise.
33910 (grub_virtual_screen_getcolor): Added.
33911 (grub_gfxterm_background_image_cmd): Likewise.
33912 (grub_video_term): Added setcolor and getcolor.
33913 (MOD_INIT): Added registration of background_image command.
33914 (MOD_TERM): Added unregistration for background_image command.
33915
c3c20931 339162007-12-30 Pavel Roskin <proski@gnu.org>
33917
33918 * loader/multiboot_loader.c: Fix multiboot command
33919 unregistration. Fix all typos in the word "multiboot".
33920
df266716 339212007-12-29 Pavel Roskin <proski@gnu.org>
94239199 33922
33923 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33924 support for initrd names used in Fedora.
33925
fc6e896c 339262007-12-26 Bean <bean123ch@gmail.com>
33927
33928 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33929 (cpio_mod_SOURCES): New variable.
33930 (cpio_mod_CFLAGS): Likewise.
33931 (cpio_mod_LDFLAGS): Likewise.
33932
33933 * fs/cpio.c: New file.
33934
33935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33936
33937 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33938
33939 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33940
33941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33942
533110ad 339432007-12-25 Robert Millan <rmh@aybabtu.com>
33944
33945 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33946 (grub_getcolor): New function.
33947
33948 * kern/term.c (grub_getcolor): New function.
33949 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33950 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33951 (print_entry): Set normal and highlight colors to
33952 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33953 respectively, before printing and restore them to old
33954 values afterwards.
33955 (grub_menu_init_page): Likewise. Fill an additional colored space
33956 that would otherwise be left blank.
33957
33958 * term/efi/console.c (grub_console_getcolor): New function.
33959 (struct grub_console_term.getcolor): New variable.
33960 * term/i386/pc/console.c (grub_console_getcolor): New function.
33961 (struct grub_console_term.getcolor): New variable.
33962 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33963 (struct grub_console_term.getcolor): New variable.
33964
33965 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33966 (struct grub_console_term.setcolor): Remove variable.
33967 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33968 (struct grub_console_term.setcolor): Remove variable.
33969 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33970 (struct grub_console_term.setcolor): Remove variable.
33971 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33972 (struct grub_console_term.setcolor): Remove variable.
33973
4931827f 339742007-12-25 Robert Millan <rmh@aybabtu.com>
33975
33976 * configure.ac: Search for possible unifont.hex locations, and
33977 define UNIFONT_HEX if found.
33978
33979 * Makefile.in (UNIFONT_HEX): Define variable.
33980 (DATA): Rename to ...
33981 (PKGLIB): ... this. Update all users.
33982 (PKGDATA): New variable.
33983 (pkgdata_IMAGES): Rename to ...
33984 (pkglib_IMAGES): ... this. Update all users.
33985 (pkgdata_MODULES): Rename to ...
33986 (pkglib_MODULES): ... this. Update all users.
33987 (pkgdata_PROGRAMS): Rename to ...
33988 (pkglib_PROGRAMS): ... this. Update all users.
33989 (pkgdata_DATA): Rename to ...
33990 (pkglib_DATA): ... this. Update all users.
33991 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
33992 (unicode.pff, ascii.pff): New rules.
33993 (all-local): Add `$(PKGDATA)' dependency.
33994 (install-local): Process `$(PKGDATA)'.
33995
33996 * util/update-grub_lib.in (font_path): Search for *.pff files in
33997 a few more locations, including `${pkgdata}'.
33998
57e57e31 339992007-12-23 Robert Millan <rmh@aybabtu.com>
34000
34001 Patch from Bean <bean123ch@gmail.com>:
34002 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34003 `size'.
34004
4bc72aa9 340052007-12-21 Bean <bean123ch@gmail.com>
34006
34007 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34008 (ntfscomp_mod_SOURCES): New variable.
34009 (ntfscomp_mod_CFLAGS): Likewise.
34010 (ntfscomp_mod_LDFLAGS): Likewise.
34011
34012 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34013 (grub_probe_SOURCES): Likewise.
34014 (grub_emu_SOURCES): Likewise.
34015
34016 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34017 (grub_emu_SOURCES): Likewise.
34018
34019 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34020 (grub_emu_SOURCES): Likewise.
34021
34022 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34023 (grub_emu_SOURCES): Likewise.
34024
34025 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34026 (read_run_list): Renamed to grub_ntfs_read_run_list.
34027 (decomp_nextvcn): Moved to ntfscomp.c.
34028 (decomp_getch): Likewise.
34029 (decomp_get16): Likewise.
34030 (decomp_block): Likewise.
34031 (read_block): Likewise.
34032 (read_data): Partially moved to ntfscomp.c.
34033 (fixup): Change unsigned to grub_uint16_t.
34034 (read_mft): Change unsigned long to grub_uint32_t.
34035 (read_attr): Likewise.
34036 (read_data): Likewise.
34037 (read_run_data): Likewise.
34038 (read_run_list): Likewise.
34039 (read_mft): Likewise.
34040
34041 * fs/ntfscomp.c: New file.
34042
34043 * include/grub/ntfs.h: New file.
34044
af680a87 340452007-12-16 Robert Millan <rmh@aybabtu.com>
34046
34047 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34048 IDE disk check, since Linux is known to support 20 IDE disks.
34049 Reported by Colin Watson.
34050
84be7599 340512007-12-15 Bean <bean123ch@gmail.com>
34052
34053 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34054 (lnxboot_img_SOURCES): New variable.
34055 (lnxboot_img_ASFLAGS): Likewise.
34056 (lnxboot_img_LDFLAGS): Likewise.
34057
34058 * boot/i386/pc/lnxboot.S: New file.
34059
6af9db01 340602007-11-24 Pavel Roskin <proski@gnu.org>
34061
34062 * configure.ac: Test if '--build-id=none' is supported by the
34063 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34064 objcopy to generate incorrect binary files (binutils
34065 2.17.50.0.18-1 as shipped by Fedora 8).
34066 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34067 linking, so that build ID doesn't break the test.
34068
7361cfe6 340692007-11-24 Pavel Roskin <proski@gnu.org>
34070
34071 * include/grub/i386/time.h: use "void" in the argument list
34072 of grub_cpu_idle().
34073 * include/grub/powerpc/time.h: Likewise.
34074 * include/grub/sparc64/time.h: Likewise.
34075
1593e10c 340762007-11-18 Christian Franke <franke@computer.org>
34077
34078 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34079 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34080 This fixes the problem that function keys did not work in grub-emu.
34081
3b8db1a8 340822007-11-18 Christian Franke <franke@computer.org>
34083
34084 * disk/host.c (grub_host_open): Remove attribute unused from
34085 name parameter. Add check for "host". This fixes the problem
34086 that grub-emu does not find partitions.
34087
2e29408d 340882007-11-18 Christian Franke <franke@computer.org>
34089
34090 * util/hostfs.c (is_dir): New function.
34091 (grub_hostfs_dir): Handle missing dirent.d_type case.
34092 (grub_hostfs_read): Add missing fseek().
34093 (grub_hostfs_label): Clear label pointer. This fixes a crash
34094 of grub-emu on "ls (host)".
34095
398cd047 340962007-11-18 Christian Franke <franke@computer.org>
34097
34098 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34099 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34100 to 64 bit boundary by default.
34101
c405c391 341022007-11-18 Bean <bean123ch@gmail.com>
34103
34104 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34105 (hexdump_mod_SOURCES): New variable.
34106 (hexdump_mod_CFLAGS): Likewise.
34107 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34108
c405c391 34109 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34110
34111 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34112
34113 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34114
34115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34116
34117 * include/grub/hexdump.h: New file.
34118
34119 * commands/hexdump.c: New file.
34120
5cced7fd 341212007-11-10 Robert Millan <rmh@aybabtu.com>
34122
34123 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34124 in grub_outb() calls.
34125 (beep_on): Likewise.
34126
8b714eb0 341272007-11-10 Christian Franke <franke@computer.org>
34128
34129 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34130 (grub_menu_run): Likewise.
34131
ce0f1839 341322007-11-10 Robert Millan <rmh@aybabtu.com>
34133
34134 * include/grub/i386/efi/machine.h: New file.
34135 * include/grub/i386/linuxbios/machine.h: Likewise.
34136 * include/grub/i386/pc/machine.h: Likewise.
34137 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34138 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34139
34140 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34141 (serial_hw_io_addr): New variable.
34142 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34143 instead of `(unsigned short *) 0x400'.
34144
270c237d 341452007-11-10 Bean <bean123ch@gmail.com>
34146
34147 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34148
a87783bf 341492007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34150
34151 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34152 (vga_mod_SOURCES): Added.
34153 (vga_mod_CFLAGS): Likewise.
34154 (vga_mod_LDFLAGS): Likewise.
34155
34156 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34157 grub_outb() calls.
34158 (set_map_mask): Likewise.
34159 (set_read_map): Likewise.
34160 (set_read_address): Likewise.
34161 (vga_font): Removed variable.
34162 (get_vga_glyph): Removed function.
34163 (invalidate_char): Likewise.
34164 (write_char): Changed to use grub_font_get_glyph() for font
34165 information.
34166 (grub_vga_putchar): Likewise.
34167 (grub_vga_getcharwidth): Likewise.
34168
6433b448 341692007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34170
34171 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34172 flags.
34173 (pxeboot_img_LDFLAGS): Likewise.
34174 (diskboot_img_LDFLAGS): Likewise.
34175 (kernel_img_LDFLAGS): Likewise.
34176
49178511 341772007-11-06 Robert Millan <rmh@aybabtu.com>
34178
34179 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34180 in grub_outb() calls.
34181 (serial_hw_init): Likewise.
34182
53b052de 341832007-11-05 Robert Millan <rmh@aybabtu.com>
34184
34185 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34186 spaces. Skip non-regular files.
34187
5ab33bba 341882007-11-05 Robert Millan <rmh@aybabtu.com>
34189
34190 * kern/disk.c (grub_disk_firmware_fini)
34191 (grub_disk_firmware_is_tainted): New variables.
34192
34193 * include/grub/disk.h (grub_disk_firmware_fini)
34194 (grub_disk_firmware_is_tainted): Likewise.
34195
34196 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34197 (grub_disk_biosdisk_fini): ... to here.
34198 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34199 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34200 is set. Register grub_disk_biosdisk_fini() in
34201 `grub_disk_firmware_fini'.
34202
34203 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34204 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34205 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34206 to finish existing firmware disk interface.
34207
34208 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34209 (ata_mod_SOURCES): New variable.
34210 (ata_mod_CFLAGS): Likewise.
34211 (ata_mod_LDFLAGS): Likewise.
34212
0149ab7c 342132007-11-05 Robert Millan <rmh@aybabtu.com>
34214
34215 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34216 (grub_ata_wait): Reimplement using grub_millisleep().
34217
34218 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34219 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34220
be7ac41e 342212007-11-03 Marco Gerards <marco@gnu.org>
34222
34223 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34224 (CRTC_ADDR_PORT): New macro.
34225 (CRTC_DATA_PORT): Likewise.
34226 (CRTC_CURSOR): Likewise.
34227 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34228 (CRTC_CURSOR_ADDR_LOW): Likewise.
34229 (update_cursor): New function.
34230 (grub_console_real_putchar): Call `update_cursor'.
34231 (grub_console_gotoxy): Likewise.
34232 (grub_console_cls): Set the default color when clearing the
34233 screen.
34234 (grub_console_setcursor): Implemented.
34235
bb06ab2e 342362007-11-03 Marco Gerards <marco@gnu.org>
34237
34238 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34239 become activate.
34240 (grub_ata_pio_write): Likewise.
34241
34242 (grub_atapi_identify): Wait after issuing an ATA command.
34243 (grub_atapi_packet): Likewise.
34244 (grub_ata_identify): Likewise.
34245 (grub_ata_readwrite): Likewise.
34246
cf8f780b 342472007-11-03 Marco Gerards <marco@gnu.org>
34248
34249 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34250 (grub_ata_pio_write): Likewise.
34251 (grub_ata_readwrite): Use `grub_error', instead of
34252 returning `grub_errno'.
34253
ed649e54 342542007-11-03 Marco Gerards <marco@gnu.org>
34255
34256 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34257 grub_ata_pio_write once for every single sector, instead of for
34258 multiple sectors.
34259
ca25d8f0 342602007-10-31 Robert Millan <rmh@aybabtu.com>
34261
34262 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34263
34264 * conf/i386-linuxbios.rmk: New file.
34265
34266 * kern/i386/pc/hardware.c: Likewise.
34267 * term/i386/pc/at_keyboard.c: Likewise.
34268 * term/i386/pc/vga_text.c: Likewise.
34269
34270 * include/grub/i386/linuxbios/boot.h: Likewise.
34271 * include/grub/i386/linuxbios/console.h: Likewise.
34272 * include/grub/i386/linuxbios/init.h: Likewise.
34273 * include/grub/i386/linuxbios/kernel.h: Likewise.
34274 * include/grub/i386/linuxbios/loader.h: Likewise.
34275 * include/grub/i386/linuxbios/memory.h: Likewise.
34276 * include/grub/i386/linuxbios/serial.h: Likewise.
34277 * include/grub/i386/linuxbios/time.h: Likewise.
34278
34279 * kern/i386/linuxbios/init.c: Likewise.
34280 * kern/i386/linuxbios/startup.S: Likewise.
34281 * kern/i386/linuxbios/table.c: Likewise.
34282
e911ecc1 342832007-10-31 Marco Gerards <marco@gnu.org>
34284
34285 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34286 (ata_mod_SOURCES): New variable.
34287 (ata_mod_CFLAGS): Likewise.
34288 (ata_mod_LDFLAGS): Likewise.
34289
34290 * disk/ata.c: New file.
34291
34292 * include/grub/disk.h (grub_disk_dev_id): Add
34293 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34294
7f66d0e0 342952007-10-31 Robert Millan <rmh@aybabtu.com>
34296
34297 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34298 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34299
34300 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34301 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34302
34303 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34304 `<grub/types.h>'.
34305
34306 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34307
5cd7dd46 343082007-10-27 Robert Millan <rmh@aybabtu.com>
34309
3236ca65 34310 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34311
2ebfc90f 343122007-10-22 Robert Millan <rmh@aybabtu.com>
34313
34314 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34315 `"../realmode.S"'.
34316 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34317
73fcb0f3 343182007-10-22 Robert Millan <rmh@aybabtu.com>
34319
34320 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34321 (pkgdata_MODULES): Add `biosdisk.mod'.
34322 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34323 variables.
34324
34325 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34326 (grub_biosdisk_init): Replace with ...
34327 (GRUB_MOD_INIT(biosdisk)): ... this.
34328 (grub_biosdisk_fini): Replace with ...
34329 (GRUB_MOD_FINI(biosdisk)): ... this.
34330
34331 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34332 (grub_machine_init): Remove call to grub_biosdisk_init().
34333 (grub_machine_fini): Remove call to grub_machine_fini().
34334
34335 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34336
3381d274 343372007-10-22 Robert Millan <rmh@aybabtu.com>
34338
34339 * include/grub/time.h: New file.
34340 * include/grub/i386/time.h: Likewise.
34341 * include/grub/powerpc/time.h: Likewise.
34342 * include/grub/sparc64/time.h: Likewise.
34343
34344 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34345 instances to ...
34346 (KERNEL_MACHINE_TIME_HEADER): ... this.
34347 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34348 instances to ...
34349 (KERNEL_MACHINE_TIME_HEADER): ... this.
34350 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34351 instances to ...
34352 (KERNEL_MACHINE_TIME_HEADER): ... this.
34353
34354 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34355 (grub_millisleep): New function.
34356 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34357 (grub_millisleep): New function.
34358 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34359 Remove `grub/machine/time.h' include.
34360 (grub_millisleep): New function.
34361 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34362 Remove `grub/machine/time.h' include.
34363 (grub_millisleep): New function.
34364
34365 * include/grub/misc.h (grub_div_roundup): New function.
34366
34367 * kern/misc.c: Include `<grub/time.h>'.
34368 (grub_millisleep_generic): New function.
34369
34370 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34371 Add `time.h'.
34372 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34373 Add `time.h'.
34374 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34375 `machine/time.h'. Add `time.h'.
34376 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34377
a39a0312 343782007-10-21 Robert Millan <rmh@aybabtu.com>
34379
34380 * include/grub/misc.h (grub_max): New function.
34381
2aad70e2 343822007-10-21 Robert Millan <rmh@aybabtu.com>
34383
34384 * util/misc.c (grub_util_info): Call fflush() before returning.
34385
54b71c4b 343862007-10-20 Robert Millan <rmh@aybabtu.com>
34387
34388 * genmk.rb (Image): Copy `extra_flags' from here ...
34389 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34390
34391 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34392 to `argc' and `args' arguments.
34393
a979f513 343942007-10-17 Robert Millan <rmh@aybabtu.com>
34395
34396 * kern/i386/loader.S: New file.
34397
34398 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34399 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34400 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34401 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34402 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34403 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34404 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34405 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34406 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34407 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34408 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34409 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34410 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34411 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34412
34413 * kern/i386/realmode.S: New file.
34414
34415 * kern/i386/pc/startup.S (protstack): Moved from here ...
34416 * kern/i386/realmode.S (protstack)... to here.
34417 * kern/i386/pc/startup.S (gdt): Moved from here ...
34418 * kern/i386/realmode.S (gdt)... to here.
34419 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34420 * kern/i386/realmode.S (prot_to_real)... to here.
34421
34422 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34423 `kern/i386/realmode.S'.
34424
825fc8fd 344252007-10-17 Robert Millan <rmh@aybabtu.com>
34426
34427 * include/grub/i386/loader.h: New file.
34428
34429 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34430 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34431 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34432 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34433 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34434 * include/grub/i386/loader.h (grub_linux_prot_size)
34435 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34436 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34437 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34438 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34439
34440 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34441
e179b2f4 344422007-10-15 Robert Millan <rmh@aybabtu.com>
34443
34444 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34445 filesystem when dev->disk is unset.
34446 Do probe for filesystem even when dev->disk->has_partitions is set.
34447 In case a filesystem is found, always report it.
34448 In case it isn't, if dev->disk->has_partitions is set, report that
34449 a partition table was found instead of reporting that no filesystem
34450 could be identified.
34451
5db82af6 344522007-10-12 Robert Millan <rmh@aybabtu.com>
34453
34454 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34455 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34456
68f6ac74 34457 * include/grub/types.h (grub_host_to_target16): New macro.
34458 (grub_host_to_target32): Likewise.
34459 (grub_host_to_target64): Likewise.
34460 (grub_target_to_host16): Likewise.
34461 (grub_target_to_host32): Likewise.
34462 (grub_target_to_host64): Likewise.
5db82af6 34463
34464 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34465 Renamed from to ...
34466 (GRUB_MOD_ALIGN): ...this. Update all users.
34467
68f6ac74 34468 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34469 grub_host_to_target32.
34470 Replace grub_be_to_cpu32 with grub_target_to_host32.
34471 (load_modules): Likewise.
34472 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34473 Replace grub_be_to_cpu32 with grub_target_to_host32.
34474 Replace grub_cpu_to_be16 with grub_host_to_target16.
34475 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 34476
3cf497cc 344772007-10-12 Robert Millan <rmh@aybabtu.com>
34478
34479 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34480 * util/elf/grub-mkimage.c: ... here.
34481
34482 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34483 `util/powerpc/ieee1275/grub-mkimage.c'.
34484
c8cc3692 344852007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 34486
c8cc3692 34487 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34488 and make it easier to figure out.
34489 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34490 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34491 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34492 leave us with less than HEAP_MIN_SIZE total heap.
34493 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 34494
5c58b791 344952007-10-03 Robert Millan <rmh@aybabtu.com>
34496
34497 * include/grub/i386/io.h: New file.
34498 * commands/i386/pc/play.c (inb): Removed.
34499 (outb): Removed.
34500 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34501 with grub_outb().
afcd2ef8 34502 * term/i386/pc/serial.c (inb): Removed.
34503 (outb): Removed.
34504 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34505 with grub_outb().
34506 * term/i386/pc/vga.c (inb): Removed.
34507 (outb): Removed.
34508 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34509 with grub_outb().
5c58b791 34510
1a477ed6 345112007-10-02 Robert Millan <rmh@aybabtu.com>
34512
34513 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34515 Reported by Marcin Kurek.
34516
6b5d80fa 345172007-09-07 Robert Millan <rmh@aybabtu.com>
34518
34519 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34520 SmartFirmware version updates (as released by Sven Luther), and avoid
34521 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34522 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34523 known broken.
34524
5618afbf 345252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34526
34527 From Hitoshi Ozeki:
34528 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34529 when merging two regions.
34530
6139dcd9 345312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34532
508e39ee 34533 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34534 * normal/completion.c (grub_normal_do_completion): Likewise.
34535 Reported by Hitoshi Ozeki.
34536
345372007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34538
6139dcd9 34539 Do not use devices at boot in chainloading.
f19dbdb7 34540
6139dcd9 34541 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34542 (boot_part_addr): Likewise.
34543 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34544 with BOOT_DRIVE and BOOT_PART_ADDR.
34545 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34546 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34547
38da6516 345482007-08-29 Robert Millan <rmh@aybabtu.com>
34549
34550 Patch from Simon Peter <dn.tlp@gmx.net>:
34551 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34552 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34553 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34554 util/i386/pc/grub-setup.c_DEPENDENCIES.
34555 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34556 util/grub-probe.c_DEPENDENCIES.
34557 * conf/powerpc-ieee1275.rmk: Likewise.
34558
29d0928c 345592007-08-28 Robert Millan <rmh@aybabtu.com>
34560
34561 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34562 to tell grub-mkdevicemap how to name devices.
34563 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34564 feature).
34565
34566 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34567 util/i386/get_disk_name.c.
34568 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34569 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34570 util/ieee1275/get_disk_name.c.
34571
34572 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34573
34574 * DISTLIST: Add util/i386/get_disk_name.c and
34575 util/ieee1275/get_disk_name.c.
34576
34577 * util/grub-mkdevicemap.c: Replace device naming logic with
34578 grub_util_get_disk_name() calls.
34579
5a0d3cca 345802007-08-20 Robert Millan <rmh@aybabtu.com>
34581
34582 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34583 (so that it works for both plural and singular quantities).
34584
8b72db2f 345852007-08-05 Robert Millan <rmh@aybabtu.com>
34586
34587 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34588 so that [xz] isn't taken into account when determining order.
34589
352466bf 345902007-08-02 Marco Gerards <marco@gnu.org>
34591
34592 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34593 `include/multiboot2.h', `include/grub/elfload.h',
34594 `include/multiboot.h', `include/grub/multiboot.h',
34595 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34596 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34597 `kern/elf.c', `loader/multiboot_loader.c',
34598 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34599 `loader/i386/pc/multiboot2.c',
34600 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34601 `util/i386/pc/grub-mkrescue.in'. Remove
34602 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34603 `include/grub/i386/pc/util/biosdisk.h' and
34604 `include/grub/powerpc/ieee1275/multiboot.h'.
34605
8f096014 346062007-08-02 Bean <bean123ch@gmail.com>
34607
34608 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34609 (ntfs_mod_SOURCES): New variable.
34610 (ntfs_mod_CFLAGS): Likewise.
34611 (ntfs_mod_LDFLAGS): Likewise.
34612
34613 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34614 (grub_probe_SOURCES): Likewise.
34615 (grub_emu_SOURCES): Likewise.
34616
34617 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34618 (grub_emu_SOURCES): Likewise.
34619
34620 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34621 (grub_emu_SOURCES): Likewise.
f19dbdb7 34622
8f096014 34623 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34624
34625 * fs/ntfs.c: New file.
34626
9959f7db 346272007-08-02 Bean <bean123ch@gmail.com>
34628
34629 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34630
34631 * file.h (grub_file): Likewise.
34632
34633 * fshelp.h (grub_fshelp_read_file): Likewise.
34634
34635 * util/i386/pc/grub-setup.c (setup): Likewise.
34636 (save_first_sector): Likewise.
34637 (save_blocklists): Likewise.
f19dbdb7 34638
9959f7db 34639 * fs/affs.c (grub_affs_read_file): Likewise.
34640
34641 * fs/ext2.c (grub_ext2_read_file): Likewise.
34642
34643 * fs/fat.c (grub_fat_read_data): Likewise.
34644
34645 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34646
34647 * fs/hfs.c (grub_hfs_read_file): Likewise.
34648
34649 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34650
34651 * fs/jfs.c (grub_jfs_read_file): Likewise.
34652
34653 * fs/minix.c (grub_minix_read_file): Likewise.
34654
34655 * fs/sfs.c (grub_sfs_read_file): Likewise.
34656
34657 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 34658
9959f7db 34659 * fs/xfs.c (grub_xfs_read_file): Likewise.
34660
34661 * command/blocklist.c (read_blocklist): Likewise.
34662 (print_blocklist): Likewise.
34663
0a203f83 346642007-08-02 Marco Gerards <marco@gnu.org>
34665
34666 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34667 `util/hostfs.c'.
34668
34669 * disk/host.c: New file.
34670
34671 * util/hostfs.c: Likewise.
34672
34673 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34674 return `GRUB_ERR_BAD_FS'.
34675 * fs/sfs.c (grub_sfs_mount): Likewise.
34676 * fs/xfs.c (grub_xfs_mount): Likewise.
34677
34678 * include/grub/disk.h (enum grub_disk_dev_id): Add
34679 `GRUB_DISK_DEVICE_HOST_ID'.
34680
34681 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34682
e5dfe777 346832007-07-24 Jerone Young <jerone@gmail.com>
34684
f19dbdb7 34685 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 34686 modules for compilation.
34687 * conf/powerpc-ieee1275.rmk: Likewise.
34688
34689 * include/multiboot.h: Move multiboot definitions to one file. Rename
34690 many definitions to not get grub specific.
34691 * include/multiboot2.h: Create header with multiboot 2 definitions.
34692 * include/grub/multiboot.h: Header for grub specific function
34693 prototypes and definitions.
34694 * include/grub/multiboot2.h: Likewise.
34695 * include/grub/multiboot_loader.h: Likewise.
34696 * include/grub/i386/pc/multiboot.h: Removed.
34697 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34698
34699 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34700 and 2 to allow for one multiboot and module commands.
34701 * loader/multiboot2.c: Add multiboot2 functionality.
34702 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34703 and definition names.
34704 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
34705 2 functions.
34706 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
34707 ieee1275 specific multiboot2 code.
34708
34709 * kern/i386/pc/startup.S: Change headers and definition names for
34710 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
34711
daf0f0ba 347122007-07-22 Robert Millan <rmh@aybabtu.com>
34713
34714 * geninitheader.sh: Process file specified in first parameter rather
34715 than hardcoding grub_modules_init.lst.
fe6b695a 34716 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 34717 than hardcoding grub_modules_init.h.
34718
34719 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
34720 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
34721 grub_probe_init.[ch] and grub_setup_init.[ch].
34722
34723 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
34724 grub_modules_init.h with grub_emu_init.h.
34725 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
34726 grub_probe_init.[ch] files.
34727 * conf/i386-efi.rmk: Likewise.
34728 * conf/i386-pc.rmk: Likewise.
34729 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
34730 grub_setup_init.[ch] files.
34731
34732 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
34733 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
34734 to initialize modules rather than a list of hardcoded functions.
34735 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
34736 grub_init_all() to initialize modules rather than a list of hardcoded
34737 functions.
34738
54cdc1cc 347392007-07-22 Robert Millan <rmh@aybabtu.com>
34740
34741 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
34742 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
34743
ad0686cc 347442007-07-22 Robert Millan <rmh@aybabtu.com>
34745
34746 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34747 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
34748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
34749 flag when running on SmartFirmware.
34750 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
34751 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
34752 was set.
34753
34754 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34755 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
34756 rather than decreasing it.
34757
34758 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
34759 there's not enough space to do it, fail in the same way as when it
34760 can't be done because there are no partitions.
34761
34762 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
34763 when nvsetenv failed.
34764
969c02ec 347652007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34766
34767 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
34768 because this rule is automatically generated.
34769 (grub-mkrescue): Removed for the same reason as above.
34770
5a79f472 347712007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34772
34773 Migrate to GNU General Public License Version 3.
f19dbdb7 34774
5a79f472 34775 * COPYING: Replaced with the plain text version of GPLv3.
34776
34777 * config.guess: Updated from gnulib.
34778 * config.sub: Likewise.
34779
34780 * geninit.sh: Output a GPLv3 copyright notice.
34781 * geninitheader.sh: Likewise.
34782 * genmodsrc.sh: Likewise.
34783 * gensymlist.sh.in: Likewise.
34784
34785 * boot/i386/pc/boot.S: Upgraded to GPLv3.
34786 * boot/i386/pc/diskboot.S: Likewise.
34787 * boot/i386/pc/pxeboot.S: Likewise.
34788 * commands/blocklist.c: Likewise.
34789 * commands/boot.c: Likewise.
34790 * commands/cat.c: Likewise.
34791 * commands/cmp.c: Likewise.
34792 * commands/configfile.c: Likewise.
34793 * commands/echo.c: Likewise.
34794 * commands/help.c: Likewise.
34795 * commands/ls.c: Likewise.
34796 * commands/search.c: Likewise.
34797 * commands/terminal.c: Likewise.
34798 * commands/test.c: Likewise.
34799 * commands/videotest.c: Likewise.
34800 * commands/i386/cpuid.c: Likewise.
34801 * commands/i386/pc/halt.c: Likewise.
34802 * commands/i386/pc/play.c: Likewise.
34803 * commands/i386/pc/reboot.c: Likewise.
34804 * commands/i386/pc/vbeinfo.c: Likewise.
34805 * commands/i386/pc/vbetest.c: Likewise.
34806 * commands/ieee1275/halt.c: Likewise.
34807 * commands/ieee1275/reboot.c: Likewise.
34808 * commands/ieee1275/suspend.c: Likewise.
34809 * disk/loopback.c: Likewise.
34810 * disk/lvm.c: Likewise.
34811 * disk/raid.c: Likewise.
34812 * disk/efi/efidisk.c: Likewise.
34813 * disk/i386/pc/biosdisk.c: Likewise.
34814 * disk/ieee1275/ofdisk.c: Likewise.
34815 * font/manager.c: Likewise.
34816 * fs/affs.c: Likewise.
34817 * fs/ext2.c: Likewise.
34818 * fs/fat.c: Likewise.
34819 * fs/fshelp.c: Likewise.
34820 * fs/hfs.c: Likewise.
34821 * fs/hfsplus.c: Likewise.
34822 * fs/iso9660.c: Likewise.
34823 * fs/jfs.c: Likewise.
34824 * fs/minix.c: Likewise.
34825 * fs/sfs.c: Likewise.
34826 * fs/ufs.c: Likewise.
34827 * fs/xfs.c: Likewise.
34828 * hello/hello.c: Likewise.
34829 * include/grub/acorn_filecore.h: Likewise.
34830 * include/grub/arg.h: Likewise.
34831 * include/grub/bitmap.h: Likewise.
34832 * include/grub/boot.h: Likewise.
34833 * include/grub/cache.h: Likewise.
34834 * include/grub/device.h: Likewise.
34835 * include/grub/disk.h: Likewise.
34836 * include/grub/dl.h: Likewise.
34837 * include/grub/elfload.h: Likewise.
34838 * include/grub/env.h: Likewise.
34839 * include/grub/err.h: Likewise.
34840 * include/grub/file.h: Likewise.
34841 * include/grub/font.h: Likewise.
34842 * include/grub/fs.h: Likewise.
34843 * include/grub/fshelp.h: Likewise.
34844 * include/grub/gzio.h: Likewise.
34845 * include/grub/hfs.h: Likewise.
34846 * include/grub/kernel.h: Likewise.
34847 * include/grub/loader.h: Likewise.
34848 * include/grub/lvm.h: Likewise.
34849 * include/grub/misc.h: Likewise.
34850 * include/grub/mm.h: Likewise.
34851 * include/grub/net.h: Likewise.
34852 * include/grub/normal.h: Likewise.
34853 * include/grub/parser.h: Likewise.
34854 * include/grub/partition.h: Likewise.
34855 * include/grub/pc_partition.h: Likewise.
34856 * include/grub/raid.h: Likewise.
34857 * include/grub/rescue.h: Likewise.
34858 * include/grub/script.h: Likewise.
34859 * include/grub/setjmp.h: Likewise.
34860 * include/grub/symbol.h: Likewise.
34861 * include/grub/term.h: Likewise.
34862 * include/grub/terminfo.h: Likewise.
34863 * include/grub/tparm.h: Likewise.
34864 * include/grub/types.h: Likewise.
34865 * include/grub/video.h: Likewise.
34866 * include/grub/efi/api.h: Likewise.
34867 * include/grub/efi/chainloader.h: Likewise.
34868 * include/grub/efi/console.h: Likewise.
34869 * include/grub/efi/console_control.h: Likewise.
34870 * include/grub/efi/disk.h: Likewise.
34871 * include/grub/efi/efi.h: Likewise.
34872 * include/grub/efi/pe32.h: Likewise.
34873 * include/grub/efi/time.h: Likewise.
34874 * include/grub/i386/linux.h: Likewise.
34875 * include/grub/i386/setjmp.h: Likewise.
34876 * include/grub/i386/types.h: Likewise.
34877 * include/grub/i386/efi/kernel.h: Likewise.
34878 * include/grub/i386/efi/loader.h: Likewise.
34879 * include/grub/i386/efi/time.h: Likewise.
34880 * include/grub/i386/pc/biosdisk.h: Likewise.
34881 * include/grub/i386/pc/boot.h: Likewise.
34882 * include/grub/i386/pc/chainloader.h: Likewise.
34883 * include/grub/i386/pc/console.h: Likewise.
34884 * include/grub/i386/pc/init.h: Likewise.
34885 * include/grub/i386/pc/kernel.h: Likewise.
34886 * include/grub/i386/pc/loader.h: Likewise.
34887 * include/grub/i386/pc/memory.h: Likewise.
34888 * include/grub/i386/pc/multiboot.h: Likewise.
34889 * include/grub/i386/pc/serial.h: Likewise.
34890 * include/grub/i386/pc/time.h: Likewise.
34891 * include/grub/i386/pc/vbe.h: Likewise.
34892 * include/grub/i386/pc/vbeblit.h: Likewise.
34893 * include/grub/i386/pc/vbefill.h: Likewise.
34894 * include/grub/i386/pc/vbeutil.h: Likewise.
34895 * include/grub/i386/pc/vga.h: Likewise.
34896 * include/grub/ieee1275/ieee1275.h: Likewise.
34897 * include/grub/ieee1275/ofdisk.h: Likewise.
34898 * include/grub/powerpc/libgcc.h: Likewise.
34899 * include/grub/powerpc/setjmp.h: Likewise.
34900 * include/grub/powerpc/types.h: Likewise.
34901 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34902 * include/grub/powerpc/ieee1275/console.h: Likewise.
34903 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34904 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34905 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34906 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34907 * include/grub/powerpc/ieee1275/time.h: Likewise.
34908 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34909 * include/grub/sparc64/libgcc.h: Likewise.
34910 * include/grub/sparc64/setjmp.h: Likewise.
34911 * include/grub/sparc64/types.h: Likewise.
34912 * include/grub/sparc64/ieee1275/console.h: Likewise.
34913 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34914 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34915 * include/grub/sparc64/ieee1275/time.h: Likewise.
34916 * include/grub/util/biosdisk.h: Likewise.
34917 * include/grub/util/getroot.h: Likewise.
34918 * include/grub/util/lvm.h: Likewise.
34919 * include/grub/util/misc.h: Likewise.
34920 * include/grub/util/raid.h: Likewise.
34921 * include/grub/util/resolve.h: Likewise.
34922 * io/gzio.c: Likewise.
34923 * kern/device.c: Likewise.
34924 * kern/disk.c: Likewise.
34925 * kern/dl.c: Likewise.
34926 * kern/elf.c: Likewise.
34927 * kern/env.c: Likewise.
34928 * kern/err.c: Likewise.
34929 * kern/file.c: Likewise.
34930 * kern/fs.c: Likewise.
34931 * kern/loader.c: Likewise.
34932 * kern/main.c: Likewise.
34933 * kern/misc.c: Likewise.
34934 * kern/mm.c: Likewise.
34935 * kern/parser.c: Likewise.
34936 * kern/partition.c: Likewise.
34937 * kern/rescue.c: Likewise.
34938 * kern/term.c: Likewise.
34939 * kern/efi/efi.c: Likewise.
34940 * kern/efi/init.c: Likewise.
34941 * kern/efi/mm.c: Likewise.
34942 * kern/i386/dl.c: Likewise.
34943 * kern/i386/efi/init.c: Likewise.
34944 * kern/i386/efi/startup.S: Likewise.
34945 * kern/i386/pc/init.c: Likewise.
34946 * kern/i386/pc/lzo1x.S: Likewise.
34947 * kern/i386/pc/startup.S: Likewise.
34948 * kern/ieee1275/ieee1275.c: Likewise.
34949 * kern/powerpc/cache.S: Likewise.
34950 * kern/powerpc/dl.c: Likewise.
34951 * kern/powerpc/ieee1275/cmain.c: Likewise.
34952 * kern/powerpc/ieee1275/crt0.S: Likewise.
34953 * kern/powerpc/ieee1275/init.c: Likewise.
34954 * kern/powerpc/ieee1275/openfw.c: Likewise.
34955 * kern/sparc64/cache.S: Likewise.
34956 * kern/sparc64/dl.c: Likewise.
34957 * kern/sparc64/ieee1275/init.c: Likewise.
34958 * kern/sparc64/ieee1275/openfw.c: Likewise.
34959 * loader/efi/chainloader.c: Likewise.
34960 * loader/efi/chainloader_normal.c: Likewise.
34961 * loader/i386/efi/linux.c: Likewise.
34962 * loader/i386/efi/linux_normal.c: Likewise.
34963 * loader/i386/pc/chainloader.c: Likewise.
34964 * loader/i386/pc/chainloader_normal.c: Likewise.
34965 * loader/i386/pc/linux.c: Likewise.
34966 * loader/i386/pc/linux_normal.c: Likewise.
34967 * loader/i386/pc/multiboot.c: Likewise.
34968 * loader/i386/pc/multiboot_normal.c: Likewise.
34969 * loader/powerpc/ieee1275/linux.c: Likewise.
34970 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34971 * normal/arg.c: Likewise.
34972 * normal/cmdline.c: Likewise.
34973 * normal/command.c: Likewise.
34974 * normal/completion.c: Likewise.
34975 * normal/execute.c: Likewise.
34976 * normal/function.c: Likewise.
34977 * normal/lexer.c: Likewise.
34978 * normal/main.c: Likewise.
34979 * normal/menu.c: Likewise.
34980 * normal/menu_entry.c: Likewise.
34981 * normal/misc.c: Likewise.
34982 * normal/parser.y: Likewise.
34983 * normal/script.c: Likewise.
34984 * normal/i386/setjmp.S: Likewise.
34985 * normal/powerpc/setjmp.S: Likewise.
34986 * normal/sparc64/setjmp.S: Likewise.
34987 * partmap/acorn.c: Likewise.
34988 * partmap/amiga.c: Likewise.
34989 * partmap/apple.c: Likewise.
34990 * partmap/gpt.c: Likewise.
34991 * partmap/pc.c: Likewise.
34992 * partmap/sun.c: Likewise.
34993 * term/gfxterm.c: Likewise.
34994 * term/terminfo.c: Likewise.
34995 * term/efi/console.c: Likewise.
34996 * term/i386/pc/console.c: Likewise.
34997 * term/i386/pc/serial.c: Likewise.
34998 * term/i386/pc/vesafb.c: Likewise.
34999 * term/i386/pc/vga.c: Likewise.
35000 * term/ieee1275/ofconsole.c: Likewise.
35001 * util/biosdisk.c: Likewise.
35002 * util/console.c: Likewise.
35003 * util/genmoddep.c: Likewise.
35004 * util/getroot.c: Likewise.
35005 * util/grub-emu.c: Likewise.
35006 * util/grub-mkdevicemap.c: Likewise.
35007 * util/grub-probe.c: Likewise.
35008 * util/lvm.c: Likewise.
35009 * util/misc.c: Likewise.
35010 * util/raid.c: Likewise.
35011 * util/resolve.c: Likewise.
35012 * util/update-grub.in: Likewise.
35013 * util/update-grub_lib.in: Likewise.
35014 * util/grub.d/00_header.in: Likewise.
35015 * util/grub.d/10_hurd.in: Likewise.
35016 * util/grub.d/10_linux.in: Likewise.
35017 * util/i386/efi/grub-install.in: Likewise.
35018 * util/i386/efi/grub-mkimage.c: Likewise.
35019 * util/i386/pc/grub-install.in: Likewise.
35020 * util/i386/pc/grub-mkimage.c: Likewise.
35021 * util/i386/pc/grub-mkrescue.in: Likewise.
35022 * util/i386/pc/grub-setup.c: Likewise.
35023 * util/i386/pc/misc.c: Likewise.
35024 * util/powerpc/ieee1275/grub-install.in: Likewise.
35025 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35026 * util/powerpc/ieee1275/misc.c: Likewise.
35027 * video/bitmap.c: Likewise.
35028 * video/video.c: Likewise.
35029 * video/i386/pc/vbe.c: Likewise.
35030 * video/i386/pc/vbeblit.c: Likewise.
35031 * video/i386/pc/vbefill.c: Likewise.
35032 * video/i386/pc/vbeutil.c: Likewise.
35033 * video/readers/tga.c: Likewise.
35034
3572d015 350352007-07-02 Robert Millan <rmh@aybabtu.com>
35036
35037 * conf/i386-efi.rmk: Replace obsolete reference to
35038 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35039 with util/getroot.c.
35040 * conf/powerpc-ieee1275.rmk: Likewise.
35041 * conf/sparc64-ieee1275.rmk: Likewise.
35042
35043 * util/grub-emu.c (main): Fix unchecked pointer handling.
35044
2c2a681b 350452007-07-02 Robert Millan <rmh@aybabtu.com>
35046
35047 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35048 invocation to fail, in order to support partition-less media.
35049
35050 * util/i386/pc/grub-install.in: Likewise.
35051
35052 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35053 which fs or partmap modules are needed (akin to its sister scripts).
35054
35055 Also use grub-probe to get rid of unportable /proc/mounts check.
35056
35057 Print the same informational message that the other scripts do, before
fe6b695a 35058 exiting.
2c2a681b 35059
6193defe 350602007-06-23 Robert Millan <rmh@aybabtu.com>
35061
fe6b695a 35062 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35063 a font file can be found and, if so, echo the GRUB path to it.
35064
35065 * util/update-grub.in: Handle multiple terminals depending on user
35066 input, platform availability and font file presence. Propagate
35067 variables of our findings to /etc/grub.d/ children.
35068
35069 * util/grub.d/00_header.in: Handle multiple terminals, based on
35070 environment setup by update-grub.
35071
eface1dc 350722007-06-23 Robert Millan <rmh@aybabtu.com>
35073
ba50d28f 35074 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35075
bf697e28 350762007-06-21 Robert Millan <rmh@aybabtu.com>
35077
35078 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35079 indicate end of data section in kernel image.
35080 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35081 GRUB_KERNEL_MACHINE_DATA_END.
35082
35083 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35084 space for it.
35085 * kern/i386/efi/startup.S: Likewise.
35086
35087 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35088 during image generation. Implement --prefix option to override this
35089 patch.
35090 * util/i386/efi/grub-mkimage.c: Likewise.
35091
35092 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35093 code to make path relative to its root into a separate function.
35094
35095 * util/i386/pc/grub-install.in: Use newly provided
35096 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35097 pass the result to grub-install --prefix.
35098
baa574b4 350992007-06-13 Robert Millan <rmh@aybabtu.com>
35100
35101 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35102 DEFAULT_DEVICE_MAP.
35103 * util/grub-emu.c: Use above definitions from misc.h instead of
35104 defining them.
35105 * util/grub-mkdevicemap.c: Likewise.
35106 * util/i386/pc/grub-setup.c: Likewise.
35107 * util/grub-probe.c: Likewise.
35108 (probe): Abort with grub_util_error() when either
35109 grub_guess_root_device or grub_util_get_grub_dev fails.
35110
0215dcbf 351112007-06-12 Robert Millan <rmh@aybabtu.com>
35112
35113 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35114 "pager" assignment.
35115 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35116 "pcdata".
35117 * util/grub-probe.c (probe): Likewise for "drive_name".
35118
8af2ab7b 351192007-06-11 Robert Millan <rmh@aybabtu.com>
35120
35121 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35122 not just the cdrom one.
35123
59d31694 351242007-06-11 Robert Millan <rmh@aybabtu.com>
35125
35126 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35127 Add --pkglibdir=DIR option to override pkglibdir.
35128 Mention --image-type=TYPE in help output.
35129 Fix --grub-mkimage (it was a no-op).
fe6b695a 35130 Abort gracefully when no parameter is given.
59d31694 35131
7ee367e4 351322007-06-11 Robert Millan <rmh@aybabtu.com>
35133
35134 * util/i386/pc/grub-mkrescue.in: New file.
35135 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35136 * Makefile.in: Handle bin_SCRIPTS.
35137
29b0ed46 351382007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35139
35140 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35141 list of video modes.
35142
c0f90770 351432007-06-06 Robert Millan <rmh@aybabtu.com>
35144
35145 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35146 file doesn't exist, or if it is in a filesystem grub can't read.
35147
35148 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35149 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35150 header comment to fit in 80 columns when the variables are resolved.
35151
35152 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35153 could be identified by update-grub. Remove redundant check for
fe6b695a 35154 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35155 handles that).
35156
fb36dc26 351572007-06-04 Robert Millan <rmh@aybabtu.com>
35158
35159 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35160
35161 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35162
35163 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35164
0c68c93e 351652007-06-04 Robert Millan <rmh@aybabtu.com>
35166
35167 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35168
35169 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35170 grub_apple_partition_map_fini.
35171
35172 * util/biosdisk.c
35173 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35174 to access >2 TiB disks).
35175
35176 Print disk->total_sectors with %llu instead of %lu, since this
35177 variable is always 64-bit (prevents wrong disk size from being displayed
35178 on either >2 TiB disk or big-endian CPU).
35179
35180 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35181 into a generic case that supports all (sane) partition maps.
35182
35183 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35184 breaks big-endian.
35185
35186 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35187 and grub_apple_partition_map_fini() after that.
35188
0f23eb74 351892007-06-01 Robert Millan <rmh@aybabtu.com>
35190
35191 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35192
35193 * util/grub.d/00_header.in: Only enable gfxterm when
35194 convert_system_path_to_grub_path() succeeds.
35195
42c71976 351962007-05-20 Robert Millan <rmh@aybabtu.com>
35197
35198 * util/update-grub_lib.in: New file.
35199 * DISTLIST: Add update-grub_lib.in.
35200 * conf/common.rmk: Generate update-grub_lib and install it in
35201 $(lib_DATA).
35202 * Makefile.in: Add install routine for $(lib_DATA).
35203
35204 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35205 function provided by update-grub_lib to support arbitrary paths of
35206 unifont.pff.
35207 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35208 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35209
5beb2291 352102007-05-19 Robert Millan <rmh@aybabtu.com>
35211
35212 * commands/i386/cpuid.c: New module.
35213 * DISTLIST: Add it.
35214 * conf/i386-efi.rmk: Enable cpuid.mod.
35215 * conf/i386-pc.rmk: Likewise.
35216
7262eca1 352172007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35218
35219 * kern/disk.c (grub_disk_read): Check return value of
35220 grub_realloc().
35221
260ba823 352222007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35223
35224 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35225 arrays.
35226 * disk/raid.c (grub_raid_open): Likewise.
35227
1ecb6cf2 352282007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35229
35230 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35231 stack instead of on the heap.
35232
35233 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35234 before doing a read on it.
35235
35236 * configure.ac: Only use -fno-stack-protector for the target
35237 environment.
f19dbdb7 35238
21c8cbb1 352392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35240
35241 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35242 __attribute_ ((unused)) to mode_type argument.
35243
35244 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35245
21c8cbb1 35246 * kern/misc.c (memcmp): Fix prototype.
35247
35248 * include/grub/partition.h [GRUB_UTIL]
35249 (grub_gpt_partition_map_init): Add prototype.
35250 (grub_gpt_partition_map_fini): Likewise.
35251
35252 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35253 at the right place.
35254
35255 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35256 (grub_fat_read_data): Likewise.
35257 (grub_fat_find_dir): Likewise.
35258
35259 * font/manager.c (find_glyph): Make table a const.
35260 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35261
849d55d3 352622007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35263
35264 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35265 code, first search for device in /dev/mapper, then in /dev.
35266 (grub_util_get_grub_dev): New function.
35267 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35268 prototype.
35269 * util/grub-probe.c (probe): Remove check for RAID, call
35270 grub_util_get_grub_dev() instead of
35271 grub_util_biosdisk_get_grub_dev().
35272 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35273 grub_util_biosdisk_get_grub_dev().
35274 * util/i386/pc/grub-setup.c (main): Likewise.
35275
8fff7c2f 352762007-05-16 Robert Millan <rmh@aybabtu.com>
35277
35278 * DISTLIST: Update for the latest changes.
35279 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35280 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35281 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35282 grub/util/biosdisk.h.
35283 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35284 grub/util/biosdisk.h.
35285
48e12b52 352862007-05-16 Robert Millan <rmh@aybabtu.com>
35287
35288 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35289
46b9d128 352902007-05-16 Robert Millan <rmh@aybabtu.com>
35291
35292 * util/i386/efi/grub-install.in: New.
35293 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35294 newly added grub-install.
35295 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35296 include.
35297 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35298 grub/util/biosdisk.h.
35299 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35300 grub/util/biosdisk.h.
35301
2d1a40a9 353022007-05-16 Robert Millan <rmh@aybabtu.com>
35303
35304 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35305 * include/grub/util/biosdisk.h: ... here.
35306 * util/i386/pc/biosdisk.c: Moved to ...
35307 * util/biosdisk.c: ... here.
35308 * util/i386/pc/getroot.c: Moved to ...
35309 * util/getroot.c: ... here.
35310 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35311 * util/grub-mkdevicemap.c: ... here.
35312 * util/i386/pc/grub-probe.c: Moved to ...
35313 * util/grub-probe.c: ... here.
35314
9e26e3bc 353152007-05-15 Robert Millan <rmh@aybabtu.com>
35316
35317 * util/update-grub.in: Remove duplicated line in grub.cfg header
35318 message.
35319
57f96397 353202007-05-13 Robert Millan <rmh@aybabtu.com>
35321
35322 * util/update-grub.in: Fix a few assumptions about the devices holding
35323 /, /boot and /boot/grub being the same.
35324 * util/grub.d/00_header.in: Likewise.
35325 * util/grub.d/10_hurd.in: Likewise.
35326 * util/grub.d/10_linux.in: Likewise.
35327
35328 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35329 patterns. Use that to define the `.old' suffix as older than `'.
35330
35331 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35332
35333 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35334 the grub.cfg header message.
35335
2e610d62 353362007-05-11 Robert Millan <rmh@aybabtu.com>
35337
35338 * util/update-grub.in: Create device.map if it doesn't already exist,
35339 before attempting to run grub-probe.
35340 Check for grub-probe and grub-mkdevicemap with the same code
35341 grub-install is using.
35342 Remove test mode.
35343
3f6a10ef 353442007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35345
35346 * Makefile.in: Add the datarootdir autoconf variable.
35347
02e7b75e 353482007-05-09 Robert Millan <rmh@aybabtu.com>
35349
35350 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35351 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35352
75f396cc 353532007-05-07 Robert Millan <rmh@aybabtu.com>
35354
35355 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35356 determine partition map module.
35357 * util/i386/pc/grub-install.in: Use this feature to decide which
35358 partition module to load, instead of hardcoding pc and gpt.
35359
da65cb36 353602007-05-07 Robert Millan <rmh@aybabtu.com>
35361
35362 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35363 source directory differs from build directory.
35364
b57d6a91 353652007-05-05 Robert Millan <rmh@aybabtu.com>
35366
35367 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35368 initialisation.
35369
509d00f1 353702007-05-05 Robert Millan <rmh@aybabtu.com>
35371
35372 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35373
c48f23ef 353742007-05-05 Robert Millan <rmh@aybabtu.com>
35375
35376 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35377 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35378
20b97658 353792007-05-05 Robert Millan <rmh@aybabtu.com>
35380
35381 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35382 (grub_probe_SOURCES): Likewise.
35383 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35384 GPT and initialize dos_part and bsd_part accordingly.
35385 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35386 install_bsd_part.
35387 (main): Activate gpt module for use during partition identification,
35388 and deactivate it afterwards.
35389 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35390 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35391 partition identification, and deactivate it afterwards.
35392
99123174 353932007-05-05 Robert Millan <rmh@aybabtu.com>
35394
35395 * term/i386/pc/console.c (grub_console_fini): Call
35396 grub_term_set_current() before grub_term_unregister().
35397
ebd97f6e 353982007-05-04 Robert Millan <rmh@aybabtu.com>
35399
35400 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35401 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35402 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35403 and update-grub_DATA.
35404 * conf/common.rmk: Build and install update-grub components.
35405 * conf/common.mk: Regenerate.
35406 * util/update-grub.in: New. Core of update-grub.
35407 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35408 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35409 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35410 * util/grub.d/README: New. Document grub.d directory layout.
35411
b06a264d 354122007-05-01 Robert Millan <rmh@aybabtu.com>
35413
35414 * util/grub-emu.c: Move initialization functions
35415 grub_util_biosdisk_init() and grub_init_all() before
35416 grub_util_biosdisk_get_grub_dev(), which relies on them.
35417
41f0050e 354182007-04-19 Robert Millan <rmh@aybabtu.com>
35419
35420 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35421 it is used later.
35422
04582bb3 354232007-04-18 Jerone Young <jerone@gmail.com>
35424
f19dbdb7 35425 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 35426 stanza.
35427
08db4632 354282007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 35429
08db4632 35430 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35431 continue on and look for device node with real device name.
35432
801b76be 354332007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 35434
fe6b695a 35435 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 35436 ability.
35437 * Makefile.in: Add autoconf package transformation code.
35438 * util/i386/pc/grub-install.in: Likewise.
35439 * util/powerpc/ieee1275/grub-install.in: Likewise.
35440
6795c4e1 354412007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35442
35443 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35444 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35445 (EXT2_REVISION): Likewise.
35446 (EXT2_INODE_SIZE): Likewise.
35447 (struct grub_ext2_block_group): Added a missing member
35448 "used_dirs".
35449 (grub_ext2_read_inode): Divide by the inode size in a superblock
35450 instead of 128 to obtain INODES_PER_BLOCK.
35451 Use the macro EXT2_INODE_SIZE instead of directly using
35452 SBLOCK->INODE_SIZE.
35453
d70af616 354542007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35455
35456 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35457 superblock instead of the structure size to compute an
35458 offset. This fixes the problem that GRUB could not read a
35459 filesystem when inode size is different from 128-byte.
35460
3b801603 354612007-03-05 Marco Gerards <marco@gnu.org>
35462
35463 * normal/main.c (read_config_file): When "menu" is not set, create
35464 an initial context.
35465
4785bfe4 354662007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35467
35468 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35469 (HEAP_LIMIT): New macro.
35470 (grub_claim_heap): Claim memory up to `heaplimit'.
35471
a0cbb023 354722007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35473
35474 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35475 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35476 (_start): Likewise.
35477 (grub_arch_modules_addr): Return address after `_end'.
35478 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35479 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35480 (add_segments): Calculate `_end' from phdr size and location.
35481 (ALIGN_UP): Moved to ...
35482 * include/grub/misc.h: here.
35483 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35484 New macro.
35485 (GRUB_IEEE1275_MODULE_BASE): Removed.
35486
fd7d8eba 354872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35488
35489 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35490 loop boundary.
35491
9b09e6fc 354922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35493
35494 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35495 All users updated.
35496 (grub_elf64_load_hook_t): Likewise.
35497 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35498 debug output.
35499
3ce27299 355002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35501
35502 * kern/mm.c: Update copyright.
35503 (grub_mm_debug): Correct syntax error.
35504 (grub_mm_dump_free): New function.
35505 (grub_debug_free): Call `grub_free'.
35506 * include/grub/mm.h: Update copyright.
35507 (grub_mm_dump_free): Add declaration.
35508
077d5fee 355092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35510
35511 * include/grub/ieee1275/ieee1275.h: Update copyright.
35512 * kern/powerpc/ieee1275/init.c: Likewise.
35513 * kern/powerpc/ieee1275/openfw.c: Likewise.
35514
35515 * loader/powerpc/ieee1275/linux.c: Likewise.
35516 * include/grub/elfload.h: Likewise.
35517 * kern/elf.c: Likewise.
35518 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35519 callers.
35520 (grub_elf64_load): Likewise.
35521 (grub_elf32_load_segment): Move to a nested function.
35522 (grub_elf64_load_segment): Likewise.
35523
dc946850 355242007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35525
35526 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35527 prototype.
35528 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35529 (grub_heap_len): Likewise.
35530 (HEAP_SIZE): New macro.
35531 (grub_claim_heap): New function.
35532 (grub_machine_init): Don't claim heap directly. Call
35533 `grub_claim_heap'.
35534 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35535 (grub_available_iterate): New function.
35536
baa2a121 355372007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35538
35539 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35540 * configure.ac: Use it for testing the HOST and TARGET compilers.
35541
4fe9862e 355422006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35543
35544 * Makefile.in (enable_grub_emu): New variable.
35545 * configure.ac (--enable-grub-emu): New option.
35546 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35547 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35548 * conf/i386-pc.rmk: Likewise.
35549 * conf/powerpc-ieee1275.rmk: Likewise.
35550 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35551
a8aa5762 355522006-12-12 Marco Gerards <marco@gnu.org>
35553
35554 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35555
35556 * kern/env.c (grub_env_unset): Don't free the member `value' when
35557 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35558 pointer.
35559
35560 * normal/main.c (current_menu): Removed.
35561 (free_menu): Unset the `menu' environment variable.
35562 (grub_normal_menu_addentry): Make use of the environment variable
35563 `menu', instead of using the global `current_menu'. Allocate
35564 memory for the sourcecode of this entry.
35565 (read_config_file): New argument `nested', changed all callers.
35566 Only in the case of a new context, initialize a new menu. Set the
35567 `menu' environment variable.
35568 (grub_normal_execute): Don't set and unset the environment
35569 variable `menu' here anymore. Only free the menu when leaving the
35570 context.
35571
35572 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35573 leak.
35574
957b3a3e 355752006-12-11 Marco Gerards <marco@gnu.org>
35576
35577 * normal/menu_entry.c (run): Fix off by one bug so the last line
35578 is executed. Move the loader check to outside the loop.
35579
ef875714 355802006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35581
35582 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35583
4e739985 355842006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35585
35586 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35587 the number of sectors. Reported by Andrey Shuvikov
35588 <mr_hyro@yahoo.com>.
f19dbdb7 35589
790707f2 355902006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35591
35592 * kern/disk.c (grub_disk_read): When there is a read error, always
35593 try to read only the necessary data.
f19dbdb7 35594
790707f2 35595 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35596 disk/raid.c.
35597 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35598 prototype.
35599 [GRUB_UTIL] (grub_raid_fini): Likewise.
35600 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 35601 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 35602 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35603 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35604 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35605 and grub_raid_fini().
f19dbdb7 35606
03e58196 356072006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35608
35609 * include/grub/types.h (__unused): Rename to UNUSED.
35610 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35611 (grub_elf64_size): Likewise.
f19dbdb7 35612
ae4f23bf 356132006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35614
35615 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35616 grub_error_push and grub_error_pop in the error-handling path.
35617 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35618 length.
35619
2166cc83 356202006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35621
35622 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35623 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35625 (kernel_elf_SOURCES): Likewise.
35626 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35627 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35628 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35629 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35630 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35631 (elf_mod_SOURCES): New variable.
35632 (elf_mod_CFLAGS): Likewise.
35633 (elf_mod_LDFLAGS): Likewise.
35634 * include/grub/types.h (__unused): New macro.
35635 * include/grub/elfload.h: New file.
35636 * kern/elf.c: Likewise.
35637 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35638 (ELF32_LOADMASK): New macro.
35639 (ELF64_LOADMASK): Likewise.
35640 (vmlinux): Removed.
35641 (grub_linux_load32): New function.
35642 (grub_linux_load64): Likewise.
35643 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35644 Use grub_elf_t instead of grub_file_t.
35645
a09d5aa5 356462006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35647
35648 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35649 `catch_result' to struct set_color_args.
35650
d976fc51 356512006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35652
35653 * normal/menu.c: Include grub/script.h.
35654 * normal/menu_entry.c: Likewise.
35655 * include/grub/normal.h: Do not include grub/script.h.
35656
67507549 356572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35658
35659 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35660
69203a99 356612006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35662
35663 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35664 disk.
35665 (grub_disk_close): Print debug messages when closing a disk.
35666 (grub_disk_read): Print debug messages when disk read fails.
35667 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35668 filesystem type.
35669 * kern/partition.c: Include misc.h.
35670 (grub_partition_iterate): Print debug messages when detecting
35671 partition type.
35672
e2b8278c 356732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35674
35675 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35676 is negative.
35677 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35678
97b2f2ff 356792006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35680
35681 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35682 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35683
6555d655 356842006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35685
35686 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35687 instead of sizeof(lv). Patch by Michael Guntsche.
35688
4d42b77f 356892006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35690
35691 * disk/lvm.c: Rename VGS to VG_LIST.
35692 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35693 (grub_lvm_open): Likewise.
35694 Thanks to Michael Guntsche for finding this bug.
35695
5d74d927 356962006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35697
35698 * configure.ac (AC_INIT): Bumped to 1.95.
35699
a1bb27e4 357002006-10-14 Robert Millan <rmh@aybabtu.com>
35701
35702 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35703 with "/dev/.static/dev/md".
35704
e0994b8b 357052006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35706
35707 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
35708 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
35709 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
35710 DRIVE_NAME are always freed.
35711
35712 * util/i386/pc/biosdisk.c (make_device_name): Add one into
35713 DOS_PART, as a DOS partition is counted from one instead of zero
35714 now. Reported by Robert Millan.
35715
ddd5cee9 357162006-10-14 Robert Millan <rmh@aybabtu.com>
35717
35718 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
35719 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
35720 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
35721 string returned by grub_guess_root_device.
35722 * util/i386/pc/grub-setup.c: Likewise.
35723 * util/i386/pc/grub-probefs.c: Likewise.
35724
35725 * util/i386/pc/grub-probefs.c: Rename to ...
35726 * util/i386/pc/grub-probe.c: ... this.
35727 * DISTLIST: Remove grub-probefs, add grub-probe.
35728 * conf/i386-efi.rmk: Likewise.
35729 * conf/i386-pc.rmk: Likewise.
35730 * util/i386/pc/grub-install.in: Likewise.
35731
35732 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
35733 choose which information we want to print.
35734
2b002173 357352006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35736
35737 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
35738 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
35739 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
35740 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
35741 video/readers/tga.c and video/i386/pc/vbeutil.c.
35742
357432006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
35744
35745 Added support for RAID and LVM.
f19dbdb7 35746
2b002173 35747 * disk/lvm.c: New file.
35748 * disk/raid.c: Likewise.
35749 * include/grub/lvm.h: Likewise.
f19dbdb7 35750 * include/grub/raid.h: Likewise.
2b002173 35751 * include/grub/util/lvm.h: Likewise.
35752 * include/grub/util/raid.h: Likewise.
35753 * util/lvm.c: Likewise.
35754 * util/raid.c: Likewise.
35755
35756 * include/grub/disk.h (grub_disk_dev_id): Add
35757 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
35758 (grub_disk_get_size): New prototype.
35759 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
35760 returns a partition.
35761 (grub_disk_get_size): New function.
f19dbdb7 35762
2b002173 35763 * kern/i386/pc/init.c (make_install_device): Copy the prefix
35764 verbatim if grub_install_dos_part is -2.
35765
35766 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
35767 and LVM devices.
35768
35769 * util/i386/pc/grub-setup.c (setup): New argument
35770 MUST_EMBED. Force embedding of GRUB when the argument is
35771 true. Close FILE before returning.
35772 (main): Add support for RAID and LVM.
f19dbdb7 35773
2b002173 35774 * conf/common.rmk: Add RAID and LVM modules.
35775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
35776 util/lvm.c.
35777 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
35778
35779 * kern/misc.c (grub_strstr): New function.
35780 * include/grub/misc.h (grub_strstr): New prototype.
35781
050548d0 357822006-10-10 Tristan Gingold <tristan.gingold@bull.net>
35783
35784 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
35785
da849d2d 357862006-10-05 Tristan Gingold <tristan.gingold@bull.net>
35787
35788 * kern/misc.c (grub_strtoull): Guess the base only if not
35789 specified.
35790
97b2f2ff 357912006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 35792
35793 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
35794 PowerMac support.
35795
97b2f2ff 357962006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 35797
35798 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
35799
35800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
35801 Remove `flags' argument. All callers changed.
35802 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
35803 (IEEE1275_IHANDLE_INVALID): New variable.
35804 (IEEE1275_CELL_INVALID): New variable.
35805 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35806 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
35807 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
35808 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
35809 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
35810 codes from Open Firmware. All callers updated.
35811 (grub_ieee1275_next_property): Directly return Open Firmware return
35812 code.
35813 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35814 Standardize error checking from `grub_ieee1275_get_property'.
35815 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
35816 `devalias' to `aliases'. Correct comments. Consolidate error paths.
35817
97b2f2ff 358182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 35819
35820 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
35821 `instance_to_package_args' to `instance_to_path_args'.
35822
35823 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
35824 `grub_ieee1275_chosen'.
35825
35826 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
35827 `grub_ieee1275_interpret'.
35828
97b2f2ff 358292006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 35830
35831 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
35832
97b2f2ff 358332006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 35834
35835 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
35836 (__cmpdi): Likewise.
35837
35838 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
35839 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
35840 `grub_ssize_t'.
35841
02bb8acc 35842 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 35843
35844 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
35845 to type `grub_ssize_t'.
35846 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
35847
7f9a8531 358482006-09-22 Marco Gerards <marco@gnu.org>
35849
35850 * normal/script.c (grub_script_create_cmdmenu): Skip leading
35851 newlines.
35852
b5ef1102 358532006-09-22 Marco Gerards <marco@gnu.org>
35854
35855 * commands/echo.c: New file.
35856
35857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
35858
35859 * conf/common.rmk (echo_mod_SOURCES): New variable.
35860 (echo_mod_CFLAGS): Likewise.
35861 (echo_mod_LDFLAGS): Likewise.
35862
2cff3677 358632006-09-22 Marco Gerards <marco@gnu.org>
35864
35865 * normal/main.c (get_line): Malloc memory instead of using
35866 preallocated memory. Removed the arguments `cmdline' and
35867 `max_len'. Updated all callers.
35868
6ba4688b 358692006-09-22 Marco Gerards <marco@gnu.org>
35870
35871 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35872 (normal_mod_DEPENDENCIES): Likewise.
35873
35874 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35875 (normal_mod_DEPENDENCIES): Likewise.
35876
35877 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35878
e02ac02c 358792006-09-22 Johan Rydberg <jrydberg@gnu.org>
35880
35881 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35882 programs.
35883 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35884 (normal_mod_DEPENDENCIES): Likewise.
35885 * conf/i386-pc.mk: Regenerate.
35886 * conf/i386-efi.mk: Likewise
35887 * conf/common.mk: Likewise.
35888 * conf/powerpc-ieee1275.mk: Likewise.
35889 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35890
8d252e44 358912006-09-22 Robert Millan <rmh@aybabtu.com>
35892
35893 Sync with i386 version.
35894 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35895 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35896
209bf7ac 358972006-09-21 Robert Millan <rmh@aybabtu.com>
35898
35899 Import from GRUB Legacy (lib/device.c):
35900 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35901 (init_device_map) [__linux__]: Add support for I2O devices.
35902
6b146090 359032006-09-14 Marco Gerards <marco@gnu.org>
35904
35905 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35906 `-melf_i386'.
35907
e38600a8 359082006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 35909
35910 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35911 /boot/grub/*.lst.
78fa1790 35912
2952da5d 35913 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 35914
2952da5d 35915 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35916 before adding it to device.map.
35917
01b82a64 359182006-08-15 Johan Rydberg <jrydberg@gnu.org>
35919
fe6b695a 35920 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 35921 compiles a file; using the -MD option.
35922 * conf/common.mk: Regenerate.
35923 * conf/i386-pc.mk: Likewise.
35924 * conf/i386-efi.mk: Likewise.
35925 * conf/powerpc-ieee1275.mk: Likewise.
35926 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 35927
1064790d 359282006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35929
35930 Move the prototypes of grub_setjmp and grub_longjmp to
35931 cpu/setjmp.h, so that each architecture may specify different
35932 attributes.
f19dbdb7 35933
1064790d 35934 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35935 (grub_longjmp): Likewise.
35936 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35937 (grub_longjmp): Likewise.
35938 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35939 (grub_longjmp): Likewise.
35940
35941 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35942 [!GRUB_UTIL] (grub_longjmp): Removed.
35943
29dda3ed 359442006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35945
35946 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35947 "color!" method does not return any value.
35948
ad2a06ed 359492006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35950
35951 * include/grub/bitmap.h: New file.
35952
35953 * include/grub/i386/pc/vbeutil.h: Likewise.
35954
35955 * video/bitmap.c: Likewise.
35956
35957 * video/readers/tga.c: Likewise.
35958
35959 * video/i386/pc/vbeutil.c: Likewise.
35960
35961 * commands/videotest.c: Code cleanup and updated to reflect to new
35962 video API.
35963
35964 * term/gfxterm.c: Likewise.
35965
35966 * video/video.c: Likewise.
35967
35968 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35969 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35970 (bitmap_mod_SOURCES): New entry.
35971 (bitmap_mod_CFLAGS): Likewise.
35972 (bitmap_mod_LDFLAGS): Likewise.
35973 (tga_mod_SOURCES): Likewise.
35974 (tga_mod_CFLAGS): Likewise.
35975 (tga_mod_LDFLAGS): Likewise.
35976
35977 * include/grub/video.h (grub_video_blit_operators): New enum type.
35978 (grub_video_render_target): Changed as forward declaration and moved
35979 actual definition to be video driver specific.
35980 (grub_video_adapter.blit_bitmap): Added blitting operator.
35981 (grub_video_adapter.blit_render_target): Likewise.
35982 (grub_video_blit_bitmap): Likewise.
35983 (grub_video_blit_render_target): Likewise.
35984
35985 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35986 driver specific render target definition.
35987 (grub_video_vbe_map_rgba): Added driver internal helper.
35988 (grub_video_vbe_unmap_color): Updated to use
35989 grub_video_i386_vbeblit_info.
35990 (grub_video_vbe_get_video_ptr): Likewise.
35991
35992 * include/grub/i386/pc/vbeblit.h
35993 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
35994 grub_video_i386_vbeblit_info.
35995 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35996 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35997 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35998 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35999 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36000 (grub_video_i386_vbeblit_index_index): Likewise.
36001 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36002 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36003 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36004 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36005 operator.
36006 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36007 operator.
36008
36009 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36010 include/grub/i386/pc/vbeblit.h.
36011
36012 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36013 Updated to use grub_video_i386_vbeblit_info.
36014 (grub_video_i386_vbefill_R8G8B8): Likewise.
36015 (grub_video_i386_vbefill_index): Likewise.
36016 (grub_video_i386_vbefill): Added generic filler.
36017
36018 * video/i386/pc/vbefill.c: Updated to reflect changes on
36019 include/grub/i386/pc/vbefill.h.
36020
36021 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36022 grub_video_i386_vbeblit_info.
36023 (grub_video_vbe_unmap_color): Likewise.
36024 (grub_video_vbe_blit_glyph): Likewise.
36025 (grub_video_vbe_scroll): Likewise.
36026 (grub_video_vbe_draw_pixel): Removed function.
36027 (grub_video_vbe_get_pixel): Likewise.
36028 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36029 updated code to use it.
36030 (common_blitter): Added common blitter for render target and bitmap.
36031 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36032 (grub_video_vbe_blit_render_target): Likewise.
36033
bc8c036d 360342006-07-30 Johan Rydberg <jrydberg@gnu.org>
36035
36036 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36037 is in text mode if there is no console control protocol instance
36038 available.
36039
684a8eff 360402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36041
36042 * include/grub/video.h: Code cleanup.
36043
36044 * include/grub/i386/pc/vbe.h: Likewise.
36045
36046 * video/i386/pc/vbe.c: Likewise.
36047
36048 * video/i386/pc/vbeblit.c: Likewise.
36049
36050 * video/i386/pc/vbefill.c: Likewise.
36051
36052 * video/video.c: Likewise. Also added more comments.
36053
5915059b 360542006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36055
36056 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36057 (struct grub_biosdisk_dap): Likewise.
36058
36059 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36060 linkage settings for all functions.
36061
90ce5d56 360622006-07-12 Marco Gerards <marco@gnu.org>
36063
36064 * configure.ac (--enable-mm-debug): Fix typo.
36065
36066 * genkernsyms.sh.in: Use proper quoting for `CC'.
36067
43e7f879 360682006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36069
36070 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36071 (normal_mod_ASFLAGS): Remove "-m32".
36072
4889bdec 360732006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36074
36075 * util/misc.c: Include config.h.
36076 [!HAVE_MEMALIGN]: Do not include malloc.h.
36077 (grub_memalign): Use posix_memalign, if present. Then, use
36078 memalign, if present. Otherwise, emit an error.
36079
36080 * util/grub-emu.c: Do not include malloc.h.
36081
36082 * include/grub/util/misc.h: Include unistd.h. This is required for
36083 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36084 D. Eades III <hde@foobar-qux.org>.
36085
36086 * configure.ac (AC_GNU_SOURCE): Added.
36087 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36088 type.
36089
fd39d4da 360902006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36091
36092 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36093 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36094
b786f3b5 360952006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36096
36097 * include/grub/types.h (grub_host_addr_t): Rename to
36098 grub_target_addr_t.
36099 (grub_host_off_t): Rename to grub_target_off_t.
36100 (grub_host_size_t): Rename to grub_target_size_t.
36101 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36102 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36103
36104 * include/grub/kernel.h (struct grub_module_header): Change type
36105 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36106 (grub_module_info): Likewise.
f19dbdb7 36107
051988bb 361082006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36109
36110 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36111 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36112 Velazquez <jesus.velazquez@gmail.com>.
36113
deae281b 361142006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36115
36116 Count partitions from 1 instead of 0 in the string representation
36117 of partitions. Still use 0-based internally.
f19dbdb7 36118
deae281b 36119 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36120 (sun_partition_map_iterate): Use grub_partition_t instead of
36121 struct grub_partition *. Cast DESC->START_CYLINDER to
36122 grub_uint64_t after converting the endian.
36123 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36124 (sun_partition_map_get_name): Add 1 to P->INDEX.
36125
36126 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36127 PCDATA->DOS_PART.
36128 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36129
36130 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36131 zero instead of one.
36132 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36133 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36134
36135 * partmap/apple.c (apple_partition_map_iterate): Change the type
36136 of POS to unsigned.
36137 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36138 (apple_partition_map_get_name): Add 1 into P->INDEX.
36139
36140 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36141 of POS to unsigned.
36142 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36143 calculate the offset of a partition.
36144 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36145 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36146
36147 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36148 SECTOR to grub_disk_addr_t.
36149 (acorn_partition_map_iterate): Likewise.
36150 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36151 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36152 top.
36153 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36154
36155 * kern/i386/pc/init.c (make_install_device): Add 1 into
36156 GRUB_INSTALL_DOS_PART.
36157
36158 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36159 conditional.
36160
524a1e6a 361612006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36162
36163 Clean up the code to support 64-bit addressing in disks and
36164 files. This change is not enough for filesystems yet.
f19dbdb7 36165
524a1e6a 36166 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36167 type of "start" to grub_uint64_t.
36168 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36169 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36170 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36171 convert addresses.
36172
36173 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36174 to grub_disk_addr_t.
36175
36176 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36177 string.
36178
36179 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36180
36181 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36182 to char *.
36183
36184 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36185
36186 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36187
36188 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36189
36190 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36191 to grub_off_t, to detect an error from grub_file_seek.
36192 (grub_multiboot_load_elf32): Likewise.
36193
36194 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36195 maximum unsigned long value when an overflow is detected.
36196 (grub_strtoull): New function.
36197 (grub_divmod64): Likewise.
36198 (grub_lltoa): use grub_divmod64.
36199
36200 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36201 grub_disk_addr_t.
36202 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36203 the pointer to next character. Use grub_strtoull instead of
36204 grub_strtoul.
36205 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36206 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36207 respectively.
36208
fe6b695a 36209 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36210 return value is signed.
36211 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36212 test if OFFSET is less than zero, as OFFSET is unsigned now.
36213
36214 * kern/disk.c (struct grub_disk_cache): Change the type of
36215 "sector" to grub_disk_addr_t.
36216 (grub_disk_cache_get_index): Change the type of SECTOR to
36217 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36218 unsigned after shifting.
36219 (grub_disk_cache_invalidate): Change the type of SECTOR to
36220 grub_disk_addr_t.
36221 (grub_disk_cache_unlock): Likewise.
36222 (grub_disk_cache_store): Likewise.
36223 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36224 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36225 grub_disk_addr_t and grub_uint64_t, respectively.
36226 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36227 body, as the value of OFFSET is tweaked by
36228 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36229 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36230 respectively.
36231 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36232 body, as the value of OFFSET is tweaked by
36233 grub_disk_check_range. Change the types of LEN and N to
36234 grub_size_t.
36235
36236 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36237 and "saved_offset" to grub_off_t.
36238 (test_header): Cast BUF to char *.
36239 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36240 to char *.
36241 (grub_gzio_read): Change the types of OFFSET and SIZE to
36242 grub_off_t and grub_size_t, respectively.
36243
36244 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36245 Removed.
36246 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36247 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36248 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36249 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36250 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36251
36252 * include/grub/types.h (grub_off_t): Unconditionally set to
36253 grub_uint64_t.
36254 (grub_disk_addr_t): Changed to grub_uint64_t.
36255
36256 * include/grub/partition.h (struct grub_partition): Change the
36257 types of "start", "len" and "offset" to grub_disk_addr_t,
36258 grub_uint64_t and grub_disk_addr_t, respectively.
36259 (grub_partition_get_start): Return grub_disk_addr_t.
36260 (grub_partition_get_len): Return grub_uint64_t.
36261
36262 * include/grub/misc.h (grub_strtoull): New prototype.
36263 (grub_divmod64): Likewise.
36264
36265 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36266 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36267 grub_off_t, respectively.
36268 All callers and references changed.
36269
36270 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36271 grub_size_t in "read".
36272 All callers and references changed.
36273
36274 * include/grub/file.h (struct grub_file): Change the types of
36275 "offset" and "size" to grub_off_t and grub_off_t,
36276 respectively. Change the type of SECTOR to grub_disk_addr_t in
36277 "read_hook".
36278 (grub_file_read): Change the type of LEN to grub_size_t.
36279 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36280 grub_off_t.
36281 (grub_file_size): Return grub_off_t.
36282 (grub_file_tell): Likewise.
36283 All callers and references changed.
36284
36285 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36286 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36287 "write".
36288 (struct grub_disk): Change the type of "total_sectors" to
36289 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36290 "read_hook".
524a1e6a 36291 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36292 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36293 (grub_disk_write): Likewise.
36294 All callers and references changed.
36295
36296 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36297 char * for grub_strncmp to silence gcc.
36298 (grub_iso9660_mount): Likewise.
36299 (grub_iso9660_mount): Likewise.
36300 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36301 return statement.
36302 (grub_iso9660_iterate_dir): Likewise.
36303 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36304
36305 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36306 LEN to grub_disk_addr_t and grub_size_t, respectively.
36307
36308 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36309
36310 * fs/jfs.c (grub_jfs_read_file): Likewise.
36311
36312 * fs/minix.c (grub_jfs_read_file): Likewise.
36313
36314 * fs/sfs.c (grub_jfs_read_file): Likewise.
36315
36316 * fs/ufs.c (grub_jfs_read_file): Likewise.
36317
36318 * fs/xfs.c (grub_jfs_read_file): Likewise.
36319
36320 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36321 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36322 respectively.
36323
36324 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36325 BLKNR to -1 instead of returning GRUB_ERRNO.
36326 (grub_ext2_read_file): Change the types of SECTOR and
36327 LEN to grub_disk_addr_t and grub_size_t, respectively.
36328
36329 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36330 LEN to grub_disk_addr_t and grub_size_t, respectively.
36331
36332 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36333 grub_file_read.
36334
36335 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36336 string. Do not cast SECTOR explicitly.
36337
36338 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36339 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36340 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36341 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36342 over 2TB and LBA mode is not supported, raise an error.
36343 (get_safe_sectors): New function.
36344 (grub_biosdisk_read): Use get_safe_sectors.
36345 (grub_biosdisk_write): Likewise.
36346
36347 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36348 (grub_efidisk_write): Likewise.
36349
36350 * disk/loopback.c (delete_loopback): Cosmetic changes.
36351 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36352 correctly.
36353 (grub_loopback_open): Likewise.
36354 (grub_loopback_read): Likewise. Also, change the type of POS to
36355 grub_off_t, and fix the usage of grub_memset.
36356
36357 * commands/i386/pc/play.c: Include grub/machine/time.h.
36358
36359 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36360 print FILE->SIZE.
36361
36362 * commands/configfile.c: Include grub/env.h.
36363
36364 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36365 GRUB_ERRNO directly instead. Change the type of POS to
36366 grub_off_t. Follow the coding standard.
36367
36368 * commands/blocklist.c: Include grub/partition.h.
36369 (grub_cmd_blocklist): Return an error if the underlying device is
36370 not a disk. Take the starting sector of a partition into account,
36371 if a partition is used.
36372
36373 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36374 a length field.
36375 (lba_mode): Support 64-bit addresses.
36376 (chs_mode): Likewise.
36377 (copy_buffer): Adapted to the new offsets of a length field and a
36378 segment field.
36379 (blocklist_default_start): Allocate 64-bit space.
36380
36381 * boot/i386/pc/boot.S (force_lba): Removed.
36382 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36383 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 36384 space.
36385 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36386 is useless.
36387 (lba_mode): Refactored to support a 64-bit address. More size
36388 optimization.
36389 (setup_sectors): Likewise.
36390
53af98ad 363912006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36392
36393 * DISTLIST: Added include/grub/i386/linux.h. Removed
36394 include/grub/i386/pc/linux.h
36395
36396 * configure.ac (AC_INIT): Bumped to 1.94.
36397
36398 * config.guess: Updated from gnulib.
36399 * config.sub: Likewise.
36400 * install-sh: Likewise.
36401 * mkinstalldirs: Likewise.
36402
b4c1940a 364032006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36404
36405 * conf/common.rmk (grub_modules_init.lst): Depended on
36406 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36407 MODSRCFILES.
36408
36409 * genmk.rb (PModule::rule): Reverted the previous change.
36410
cfca1cfd 364112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36412
36413 * conf/common.rmk (grub_modules_init.lst): Depends on
36414 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36415 that the target does not exist before producing.
36416 (grub_modules_init.h): Remove the target before generating.
36417 (grub_emu_init.c): Likewise.
36418
36419 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36420
aa6d7826 364212006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36422
36423 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36424 for the target-specific tests. Make sure that we also have the
36425 up-to-date target variables for those tests.
36426
26c607b9 364272006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36428
36429 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36430 (PModule::rule): Likewise.
36431
0162321a 364322006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36433
36434 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36435 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36436 target-specific flags should be prefixed.
36437 (PModule::rule): Likewise.
36438
6c826348 364392006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36440
36441 * configure.ac (CMP): Check if cmp is available explicitly.
36442
b977bf01 364432006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36444
36445 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36446 (target_cpu): New variable.
36447 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 36448
b977bf01 36449 * util/i386/pc/grub-install.in (host_cpu): Removed.
36450 (target_cpu): New variable.
36451 (pkglibdir): Use target_cpu instead of host_cpu.
36452
36453 * util/genmoddep.c: Removed.
f19dbdb7 36454
b977bf01 36455 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36456 instead of GRUB_HOST_SIZEOF_VOID_P.
36457 * kern/dl.c: Likewise.
36458
36459 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36460 ...
36461 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36462 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36463 (GRUB_TARGET_SIZEOF_LONG): ... this.
36464 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36465 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36466 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36467 to ...
36468 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36469 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36470 (GRUB_TARGET_SIZEOF_LONG): ... this.
36471 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36472 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36473 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36474 to ...
36475 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36476 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36477 (GRUB_TARGET_SIZEOF_LONG): ... this.
36478 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36479 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36480
36481 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36482 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36483 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36484 instead of GRUB_HOST_SIZEOF_LONG.
36485 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36486 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36487 GRUB_CPU_WORDS_BIGENDIAN.
36488 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36489 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36490 grub_host_ssize_t.
36491
36492 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36493 (genmoddep_SOURCES): Likewise.
36494 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36495 (genmoddep_SOURCES): Likewise.
36496 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36497 (genmoddep_SOURCES): Likewise.
36498 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36499 Likewise.
36500 (genmoddep_SOURCES): Likewise.
36501
36502 * genmoddep.awk: New file.
36503
36504 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36505 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36506 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36507 (PModule::rule): Likewise.
36508 (Program::rule): Likewise.
36509 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36510 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36511 respectively.
36512
36513 * configure.ac: Rewritten intensively to use host and target
36514 instead of build and host, respectively.
36515
36516 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36517 (host_cpu): Removed.
36518 (target_cpu): New variable.
36519 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36520 (BUILD_CC): Removed.
36521 (BUILD_CFLAGS): Likewise.
36522 (BUILD_CPPFLAGS): Likewise.
36523 (TARGET_CC): New variable.
36524 (TARGET_CFLAGS): Likewise.
36525 (TARGET_CPPFLAGS): Likewise.
36526 (TARGET_LDFLAGS): Likewise.
36527 (AWK): Likewise.
36528 (include): Use target_cpu instead of host_cpu.
36529 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 36530
b977bf01 36531 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36532
f09771a1 365332006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36534
36535 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36536 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36537 field 'false' to 'exec_on_false'.
36538 (grub_script_create_cmdif): Renamed argument names to reflect above
36539 changes.
36540
36541 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36542
36543 * normal/script.c (grub_script_create_cmdif): Likewise.
36544
118f4fb3 365452006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36546
36547 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36548 top.
36549 (grub_hfsplus_btree_recptr): Likewise.
36550 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36551 FILEBLOCK both to pass a block number and store next block
36552 number.
36553 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36554 overflow file correctly. Specify errors appropriately, because
36555 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36556 grub_hfsplus_btree_recptr to get the pointer to a found key.
36557 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36558 is found.
36559
36560 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36561 linux.mod.
36562 (_linux_mod_SOURCES): New variable.
36563 (_linux_mod_CFLAGS): Likewise.
36564 (_linux_mod_LDFLAGS): Likewise.
36565 (linux_mod_SOURCES): Likewise.
36566 (linux_mod_CFLAGS): Likewise.
36567 (linux_mod_LDFLAGS): Likewise.
36568
36569 * DISTLIST: Added loader/i386/efi/linux.c,
36570 loader/i386/efi/linux_normal.c and
36571 include/grub/i386/efi/loader.h.
36572
36573 * loader/i386/efi/linux.c: New file.
36574 * loader/i386/efi/linux_normal.c: Likewise.
36575 * include/grub/i386/efi/loader.h: Likewise.
36576
89a7d726 365772006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36578
36579 * commands/blocklist.c: New file.
36580
36581 * DISTLIST: Added commands/blocklist.c.
36582
36583 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 36584 color for the background, and a darker color for the foreground.
89a7d726 36585 (grub_console_checkkey): Return READ_KEY.
36586 (grub_console_cls): Set the background to
36587 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36588
36589 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36590
36591 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36592 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36593
36594 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36595 prototype.
36596
36597 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36598 BG. The spec is wrong again.
36599
36600 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36601 prototype.
36602 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36603
36604 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36605 commands/blocklist.c.
36606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 36607
89a7d726 36608 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36609 (blocklist_mod_SOURCES): New variable.
36610 (blocklist_mod_CFLAGS): Likewise.
36611 (blocklist_mod_LDFLAGS): Likewise.
36612
75c8f258 366132006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36614
36615 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36616 duplication.
36617 (lba_mode): Use %eax more intensively to reduce the code size.
36618
da2eb181 366192006-05-20 Marco Gerards <marco@gnu.org>
36620
36621 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36622
36623 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36624 for `menuentry'.
36625 (script): Accept leading newlines.
36626 (newlines): New rule to describe 0 or more newlines.
36627 (commands): Accept `command' with trailing newline. Fixed the
36628 order in which arguments were passed to `grub_script_add_cmd'.
36629 Accept commands separated by newlines.
36630 (function): Changed to accept newlines.
36631 (menuentry) Rewritten.
36632
36633 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
36634 front of the list, instead of to the end.
36635
577b4050 366362006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
36637
36638 * util/i386/pc/grub-install.in (bindir): New variable.
36639 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36640 Shaver <lbgwjl@gmail.com>.
36641
0d6e1189 366422006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36643
36644 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36645 grub/machine/linux.h
36646 * loader/i386/pc/linux.c: Likewise.
36647
36648 * include/grub/i386/pc/linux.h: Moved to ...
36649 * include/grub/i386/linux.h: ... here.
36650
36651 * include/grub/i386/linux.h (struct linux_kernel_params): New
36652 struct.
f19dbdb7 36653
31b86e9f 366542006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36655
36656 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36657 checking.
36658 (grub_video_vbe_blit_glyph): Likewise.
36659 (grub_video_vbe_blit_bitmap): Likewise.
36660 (grub_video_vbe_blit_render_target): Likewise.
36661
83b984de 366622006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36663
36664 * configure.ac (--with-platform): Properly quote the square
36665 brackets.
36666
5f0413bd 366672006-05-08 Marco Gerards <marco@gnu.org>
36668
36669 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36670 this...
36671 (kernel_elf_HEADERS): ...to this. Updated all users.
36672 (grubof_symlist.c): Renamed from this...
36673 (kernel_elf_symlist.c): ...to this. Updated all users.
36674 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36675 (grubof_SOURCES): Renamed from this...
36676 (kernel_elf_SOURCES): ...to this.
36677 (grubof_HEADERS): Renamed from this...
36678 (kernel_elf_HEADERS): ...to this.
36679 (grubof_CFLAGS): Renamed from this...
36680 (kernel_elf_CFLAGS): ...to this.
36681 (grubof_ASFLAGS): Renamed from this...
36682 (kernel_elf_ASFLAGS): ...to this.
36683 (grubof_LDFLAGS): Renamed from this...
36684 (kernel_elf_LDFLAGS): ...to this.
36685
36686 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36687 this...
36688 (kernel_elf_HEADERS): ...to this. Updated all users.
36689 (grubof_symlist.c): Renamed from this...
36690 (kernel_elf_symlist.c): ...to this. Updated all users.
36691 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36692 (grubof_SOURCES): Renamed from this...
36693 (kernel_elf_SOURCES): ...to this.
36694 (grubof_HEADERS): Renamed from this...
36695 (kernel_elf_HEADERS): ...to this.
36696 (grubof_CFLAGS): Renamed from this...
36697 (kernel_elf_CFLAGS): ...to this.
36698 (grubof_ASFLAGS): Renamed from this...
36699 (kernel_elf_ASFLAGS): ...to this.
36700 (grubof_LDFLAGS): Renamed from this...
36701 (kernel_elf_LDFLAGS): ...to this.
36702
36703 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
36704 `kernel.elf' instead of `grubof'.
36705
05568c2e 367062006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
36707
36708 Add --with-platform to configure. Use pkglibdir instead of
36709 pkgdatadir. This is reported by Roger Leigh.
36710
36711 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
36712 (host_vendor): Likewise.
36713 (host_os): Likewise.
36714 (pkgdatadir): Likewise.
36715 (platform): New variable.
36716 (pkglibdir): Likewise.
36717 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 36718
05568c2e 36719 * util/i386/pc/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.
36726
36727 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
36728 instead of GRUB_DATADIR.
36729 (main): Likewise.
36730 * util/i386/pc/grub-mkimage.c (usage): Likewise.
36731 (main): Likewise.
36732 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36733 (main): Likewise.
36734
36735 * configure.ac (--with-platform): New option.
36736 Use PLATFORM instead of HOST_VENDOR to specify a platform.
36737
36738 * Makefile.in: Include a makefile based on PLATFORM instead of
36739 HOST_VENDOR.
36740 (pkgdatadir): Not appended by the machine type.
36741 (pkglibdir): Appended by the machine type.
36742 (host_vendor): Removed.
36743 (platform): New variable.
36744 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
36745 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
36746 (uninstall): Likewise.
36747
4e93851c 367482006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
36749
36750 Use the environment context in the menu. Remove the commands
36751 "default" and "timeout", and use variables instead.
f19dbdb7 36752
4e93851c 36753 * normal/menu.c: Include grub/env.h.
36754 (print_entry): Cast TITLE to silence gcc.
36755 (get_timeout): New function.
36756 (set_timeout): Likewise.
36757 (get_entry_number): Likewise.
36758 (run_menu): Use a default entry, a fallback entry and a timeout
36759 in the environment variables "default", "fallback" and
36760 "timeout". Also, tweak the default entry if it is not within the
36761 current menu entries.
36762 (grub_menu_run): Use a fallback entry in the environment variable
36763 "fallback".
36764
36765 * normal/main.c (read_config_file): Do not initialize
36766 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
36767 NEWMENU->TIMEOUT.
36768 (grub_normal_execute): Use a data slot to store the menu.
36769
36770 * include/grub/normal.h (struct grub_menu): Removed default_entry,
36771 fallback_entry and timeout.
36772 (struct grub_menu_list): Removed.
36773 (grub_menu_list_t): Likewise.
36774 (struct grub_context): Likewise.
36775 (grub_context_t): Likewise.
36776 (grub_context_get): Likewise.
36777 (grub_context_get_current_menu): Likewise.
36778 (grub_context_push_menu): Likewise.
36779 (grub_context_pop_menu): Likewise.
36780 (grub_default_init): Likewise.
36781 (grub_default_fini): Likewise.
36782 (grub_timeout_init): Likewise.
36783 (grub_timeout_fini): Likewise.
36784
36785 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
36786 and timeout.mod.
36787 (normal_mod_SOURCES): Removed normal/context.c.
36788
36789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
36790 commands/default.c, commands/timeout.c and normal/context.c.
36791 (normal_mod_SOURCES): Removed normal/context.c.
36792
36793 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
36794 commands/timeout.c and normal/context.c.
36795 (normal_mod_SOURCES): Removed normal/context.c.
36796
36797 * conf/i386-efi.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/common.rmk (pkgdata_MODULES): Removed default.mod and
36802 timeout.mod.
36803 (default_mod_SOURCES): Removed.
36804 (default_mod_CFLAGS): Likewise.
36805 (default_mod_LDFLAGS): Likewise.
36806 (timeout_mod_SOURCES): Removed.
36807 (timeout_mod_CFLAGS): Likewise.
36808 (timeout_mod_LDFLAGS): Likewise.
36809
36810 * DISTLIST: Removed commands/default.c, commands/timeout.c and
36811 normal/context.c.
36812
36813 * commands/default.c: Removed.
36814 * commands/timeout.c: Likewise.
36815 * normal/context.c: Likewise.
36816
1eb9cc1d 368172006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
36818
36819 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
36820
385bd9c1 368212006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
36822
36823 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
36824 "next" to "prev" for readability.
36825 (struct grub_env_sorted_var): New struct.
36826 (grub_env_context): Renamed to ...
36827 (initial_context): ... this.
36828 (grub_env_var_context): Renamed to ...
36829 (current_context): ... this.
36830 (grub_env_find): Look only at CURRENT_CONTEXT.
36831 (grub_env_context_open): Rewritten to copy exported variables from
36832 previous context.
36833 (grub_env_context_close): Rewritten according to the new
36834 scheme. Also, add an assertion to prevent the initial context from
36835 removed.
36836 (grub_env_insert): Removed the code for the sorted list.
36837 (grub_env_remove): Likewise.
36838 (grub_env_export): Simply mark the variable with
36839 GRUB_ENV_VAR_GLOBAL.
36840 (grub_env_set): A cosmetic change for naming consistency.
36841 (grub_env_get): Likewise.
36842 (grub_env_unset): Likewise.
36843 (grub_env_iterate): Rewritten to sort variables within this
36844 function.
36845 (grub_register_variable_hook): Fixed for naming consistency. Call
36846 grub_env_find again, only if NAME is not found at the first time.
36847 (mangle_data_slot_name): New function.
36848 (grub_env_set_data_slot): Likewise.
36849 (grub_env_get_data_slot): Likewise.
36850 (grub_env_unset_data_slot): Likewise.
36851
36852 * include/grub/env.h (grub_env_var_type): New enum.
36853 (GRUB_ENV_VAR_LOCAL): New constant.
36854 (GRUB_ENV_VAR_GLOBAL): Likewise.
36855 (GRUB_ENV_VAR_DATA): Likewise.
36856 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
36857 "type".
36858 (grub_env_set): Replace VAR with NAME for consistency.
36859 (grub_register_variable_hook): Likewise.
36860 (grub_env_export): Specify the name of the argument.
36861 (grub_env_set_data_slot): New prototype.
36862 (grub_env_get_data_slot): Likewise.
36863 (grub_env_unset_data_slot): Likewise.
36864
7f362539 368652006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36866
36867 Extend the loader so that GRUB can accept a loader which comes
36868 back to GRUB when a loaded image exits. Also, this change adds
36869 support for a chainloader on EFI.
f19dbdb7 36870
7f362539 36871 * term/efi/console.c: Include grub/misc.h.
36872 (grub_console_checkkey): Display a scan code on the top for
36873 debugging. This will be removed once the EFI port gets stable.
36874 Correct the scan code mapping.
36875
36876 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36877 allocate memory from larger regions, in order to reduce the number
36878 of allocated regions. Otherwise, the MacOSX loader panics.
36879 (filter_memory_map): Avoid less than 1MB for compatibility with
36880 other loaders.
36881 (add_memory_regions): Allocate from the tail of a region, if
36882 possible, to avoid allocating a region near to 1MB, for the MacOSX
36883 loader.
36884
36885 * kern/efi/init.c (grub_efi_set_prefix): Specify
36886 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36887
36888 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36889 argument IMAGE_HANDLE and specify it to get a loaded image.
36890 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36891 grub_efi_get_loaded_image.
fe6b695a 36892 (grub_efi_get_filename): Divide the length by the size of
7f362539 36893 grub_efi_char16_t.
36894 (grub_efi_get_device_path): New function.
36895 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36896 the length by the size of grub_efi_char16_t for a file path device
36897 path node.
36898
36899 * kern/loader.c (grub_loader_noreturn): New variable.
36900 (grub_loader_set): Accept a new argument NORETURN. Set
36901 GRUB_LOADER_NORETURN to NORETURN.
36902 All callers changed.
36903 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36904 grub_machine_fini.
36905
36906 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36907 prototype.
36908 (grub_efi_get_loaded_image): Take an argument to specify an image
36909 handle.
36910
36911 * include/grub/loader.h (grub_loader_set): Added one more argument
36912 NORETURN.
36913
36914 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36915 instead of grub_efi_open_protocol.
36916 (grub_efidisk_get_device_name): Likewise.
36917 (grub_efidisk_close): Print a newline.
36918 (grub_efidisk_get_device_handle): Fixed to use
36919 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36920 GRUB_EFI_DEVICE_PATH_TYPE.
36921
36922 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36923 * kern/efi/efi.c (device_path_guid): ... here.
36924
36925 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36926 chain.mod.
36927 (kernel_mod_HEADERS): Added efi/disk.h.
36928 (_chain_mod_SOURCES): New variable.
36929 (_chain_mod_CFLAGS): Likewise.
36930 (_chain_mod_LDFLAGS): Likewise.
36931 (chain_mod_SOURCES): Likewise.
36932 (chain_mod_CFLAGS): Likewise.
36933 (chain_mod_LDFLAGS): Likewise.
36934
36935 * DISTLIST: Added include/grub/efi/chainloader.h,
36936 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36937
36938 * include/grub/efi/chainloader.h: New file.
36939 * loader/efi/chainloader.c: Likewise.
36940 * loader/efi/chainloader_normal.c: Likewise.
36941
c0111d6e 369422006-04-30 Marco Gerards <marco@gnu.org>
36943
36944 * commands/configfile.c (grub_cmd_source): New function.
36945 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36946 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36947
df5341da 369482006-04-30 Marco Gerards <marco@gnu.org>
36949
36950 * normal/execute.c (grub_script_execute_cmd): Change the return
36951 type to `grub_err_t'. Correctly return the error.
36952 (grub_script_execute_cmdline): In case a command line is not a
36953 command or a function, try to interpret it as an assignment.
36954
f85934bd 369552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36956
36957 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36958 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36959 skip a node whose name is obviously invalid as UTF-16,
36960 i.e. contains a NUL character. Stop the iteration when the last
36961 directory entry is found. Instead of using the return value of
36962 grub_hfsplus_btree_iterate_node, store the value in RET and use
36963 it, because the iterator can be stopped by the last directory
36964 entry.
36965
8f8a2cf8 369662006-04-30 Marco Gerards <marco@gnu.org>
36967
36968 * include/grub/env.h (grub_env_export): New prototype. Reported
36969 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36970
a27e84ce 369712006-04-30 Marco Gerards <marco@gnu.org>
36972
36973 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36974 size of the extents in a catalog file record.
36975
eaef0553 369762006-04-29 Marco Gerards <marco@gnu.org>
36977
36978 * commands/configfile.c (grub_cmd_configfile): Execute the
36979 configfile within its own context.
36980
36981 * include/grub/env.h (grub_env_context_open): New prototype.
36982 (grub_env_context_close): Likewise.
36983
36984 * kern/env.c (grub_env): Removed.
36985 (grub_env_sorted): Likewise.
36986 (grub_env_context): New variable.
36987 (grub_env_var_context): Likewise.
36988 (grub_env_find): Search both the active context and the global
36989 context.
36990 (grub_env_context_open): New function.
36991 (grub_env_context_close): Likewise.
36992 (grub_env_insert): Likewise.
36993 (grub_env_remove): Likewise.
36994 (grub_env_export): Likewise.
36995 (grub_env_set): Changed to use helper functions to avoid code
36996 duplication.
36997 (grub_env_iterate): Rewritten so both the current context and the
36998 global context are being used.
36999
37000 * normal/command.c (export_command): New function.
37001 (grub_command_init): Register the `export' function.
37002
7b455f4d 370032006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37004
37005 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37006 explicitly to suppress gcc's warnings.
37007 * fs/fat.c (grub_fat_find_dir): Likewise.
37008 (grub_fat_label): Likewise.
37009 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37010 (grub_xfs_mount): Likewise.
37011 (grub_xfs_label): Likewise.
37012 * fs/affs.c (grub_affs_mount): Likewise.
37013 (grub_affs_label): Likewise.
37014 (grub_affs_iterate_dir): Likewise.
37015 * fs/sfs.c (grub_sfs_mount): Likewise.
37016 (grub_sfs_iterate_dir): Likewise.
37017 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37018 * fs/hfs.c (grub_hfs_mount): Likewise.
37019 (grub_hfs_cmp_catkeys): Likewise.
37020 (grub_hfs_find_dir): Likewise.
37021 (grub_hfs_dir): Likewise.
37022 (grub_hfs_label): Likewise.
37023 * fs/jfs.c (grub_jfs_mount): Likewise.
37024 (grub_jfs_opendir): Likewise.
37025 (grub_jfs_getent): Likewise.
37026 (grub_jfs_lookup_symlink): Likewise.
37027 (grub_jfs_label): Likewise.
37028 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37029 (grub_hfsplus_iterate_dir): Likewise.
37030 (grub_hfsplus_btree_iterate_node): Made static.
37031
37032 * util/grub-emu.c (prefix): New variable.
37033 (grub_machine_set_prefix): New function.
37034 (main): Do not set the environment variable "prefix" here. Only
37035 set PREFIX, which is used later by grub_machine_set_prefix.
37036
37037 * include/grub/video.h: Do not include grub/symbol.h.
37038 (grub_video_register): Not exported. This symbol is not defined in
37039 the kernel.
37040 (grub_video_unregister): Likewise.
37041 (grub_video_iterate): Likewise.
37042 (grub_video_setup): Likewise.
37043 (grub_video_restore): Likewise.
37044 (grub_video_get_info): Likewise.
37045 (grub_video_get_blit_format): Likewise.
37046 (grub_video_set_palette): Likewise.
37047 (grub_video_get_palette): Likewise.
37048 (grub_video_set_viewport): Likewise.
37049 (grub_video_get_viewport): Likewise.
37050 (grub_video_map_color): Likewise.
37051 (grub_video_map_rgb): Likewise.
37052 (grub_video_map_rgba): Likewise.
37053 (grub_video_fill_rect): Likewise.
37054 (grub_video_blit_glyph): Likewise.
37055 (grub_video_blit_bitmap): Likewise.
37056 (grub_video_blit_render_target): Likewise.
37057 (grub_video_scroll): Likewise.
37058 (grub_video_swap_buffers): Likewise.
37059 (grub_video_create_render_target): Likewise.
37060 (grub_video_delete_render_target): Likewise.
37061 (grub_video_set_active_render_target): Likewise.
37062
37063 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37064 Undefined.
37065 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37066
37067 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37068 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37069 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37070 instead of $(srcdir)/genkernsyms.sh.
37071
37072 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37073 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37074 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37075 instead of $(srcdir)/genkernsyms.sh.
37076
37077 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37078 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37079 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37080 instead of $(srcdir)/genkernsyms.sh.
37081
37082 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37083 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37084 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37085 instead of $(srcdir)/genkernsyms.sh.
37086
37087 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37088 genkernsyms.sh.
37089
37090 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37091 genkernsyms.sh.
37092 (gensymlist.sh): New target.
37093 (genkernsyms.sh): Likewise.
37094
37095 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37096 genkernsyms.sh.in and gensymlist.sh.in.
37097
37098 * genkernsyms.sh: Removed.
37099 * gensymlist.sh: Likewise.
f19dbdb7 37100
7b455f4d 37101 * genkernsyms.sh.in: New file.
37102 * gensymlist.sh.in: Likewise.
37103
1885bb27 371042006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37105
37106 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37107 clobber "prefix", since we may have already set it manually.
37108
71538dff 371092006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37110
37111 * kern/misc.c (abort): New alias for grub_abort.
37112
2965c7cc 371132006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37114
37115 A new machine-specific function "grub_machine_set_prefix" is
37116 defined. This is called after loading modules, so that a prefix
37117 initialization can use modules. Also, this change adds an
37118 intensive debugging feature for the memory manager via the
37119 configure option "--enable-mm-debug".
f19dbdb7 37120
2965c7cc 37121 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37122 PART.LEN.
37123
37124 * kern/sparc64/ieee1275/init.c (abort): Removed.
37125 (grub_stop): Likewise.
37126 (grub_exit): New function.
37127 (grub_set_prefix): Renamed to ...
37128 (grub_machine_set_prefix): ... this.
37129 (grub_machine_init): Do not call grub_set_prefix.
37130
37131 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37132 (grub_machine_set_prefix): ... this.
37133 (grub_machine_init): Do not call grub_set_prefix.
37134
37135 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37136 (grub_machine_init): Do not set the prefix here.
37137
37138 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37139
37140 * kern/efi/init.c: Include grub/mm.h.
37141 (grub_efi_set_prefix): New function.
37142
37143 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37144 (grub_efi_get_filename): New function.
37145 (grub_print_device_path): Renamed to ...
37146 (grub_efi_print_device_path): ... this.
37147
37148 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37149 [MM_DEBUG] (grub_realloc): Likewise.
37150 [MM_DEBUG] (grub_free): Likewise.
37151 [MM_DEBUG] (grub_memalign): Likewise.
37152 [MM_DEBUG] (grub_mm_debug): New variable.
37153 [MM_DEBUG] (grub_debug_malloc): New function.
37154 [MM_DEBUG] (grub_debug_free): New function.
37155 [MM_DEBUG] (grub_debug_realloc): New function.
37156 [MM_DEBUG] (grub_debug_memalign): New function.
37157
37158 * kern/misc.c (grub_abort): Print a newline to distinguish
37159 the message.
37160
37161 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37162 grub_set_root_dev after loading modules. This is necessary when
37163 setting a prefix depends on modules.
37164
37165 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37166 (grub_efi_print_device_path): ... this.
37167 (grub_efi_get_filename): New prototype.
37168 (grub_efi_set_prefix): Likewise.
37169
37170 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37171 and grub/disk.h.
37172 (grub_efidisk_get_device_handle): New prototype.
37173 (grub_efidisk_get_device_name): Likewise.
37174
37175 * include/grub/mm.h: Include config.h.
37176 (MM_DEBUG): Removed.
37177 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37178 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37179 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37180 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37181 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37182 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37183 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37184 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37185 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37186
37187 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37188
37189 * disk/efi/efidisk.c: Include grub/partition.h.
37190 (iterate_child_devices): New function.
37191 (add_device): First, compare only last device path nodes, so that
37192 devices are sorted by the types.
37193 (grub_efidisk_get_device_handle): New function.
37194 (grub_efidisk_get_device_name): Likewise.
37195
37196 * configure.ac (--enable-mm-debug): New option to enable the
37197 memory manager debugging feature. This makes the binary much
37198 bigger, so is disabled by default.
37199
9cacaa17 372002006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37201
37202 Use grub_abort instead of grub_stop, and grub_exit must be
37203 define in each architecture now. Also, this change adds support
37204 for EFI disks.
f19dbdb7 37205
9cacaa17 37206 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37207 (grub_getkey): New function.
37208 (grub_term_get_current): Likewise.
37209
37210 * util/i386/pc/grub-setup.c: Include grub/term.h.
37211 (grub_getkey): New function.
37212 (grub_term_get_current): Likewise.
37213
37214 * util/misc.c (grub_stop): Renamed to ...
37215 (grub_exit): ... this.
37216
37217 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37218 (grub_exit): ... this.
37219 (grub_machine_init): Use grub_abort instead of abort.
37220 (grub_stop): Removed.
37221
37222 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37223 abort.
37224
37225 * kern/i386/pc/startup.S (grub_exit): New function.
37226 (cold_reboot): New label.
37227
37228 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37229 (grub_efi_init): Call grub_efidisk_init.
37230 (grub_efi_fini): Call grub_efidisk_fini.
37231
37232 * kern/efi/efi.c: Include grub/mm.h.
37233 (grub_efi_console_control_guid): Renamed to ...
37234 (console_control_guid): ... this.
37235 (grub_efi_loaded_image_guid): Renamed to ...
37236 (loaded_image_guid): ... this.
37237 (grub_efi_locate_handle): New function.
37238 (grub_efi_open_protocol): Likewise.
37239 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37240 GRUB_EFI_CONSOLE_CONTROL_GUID.
37241 (grub_efi_exit): Removed.
37242 (grub_stop): Likewise.
37243 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37244 (grub_exit): New function.
37245 (grub_print_device_path): Likewise.
37246
37247 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37248 (grub_enter_rescue_mode): Register "exit".
37249
37250 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37251 (grub_abort): New function.
37252
37253 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37254
37255 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37256
37257 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37258
37259 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37260 (grub_print_device_path): New prototype.
37261 (grub_efi_locate_handle): Likewise.
37262 (grub_efi_open_protocol): Likewise.
37263
37264 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37265 * disk/efi/efidisk.c: Likewise.
37266
37267 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37268
37269 * include/grub/efi/console_control.h
37270 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37271
37272 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37273 last 8 bytes as an array.
37274 (GRUB_EFI_DISK_IO_GUID): New macro.
37275 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37276 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37277 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37278 grub_uint8_t.
37279 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37280 (struct grub_efi_device_path): Rename the member "sub_type" to
37281 "subtype".
37282 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37283 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37284 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37285 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37286 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37287 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37288 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37289 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37290 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37291 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37292 (struct grub_efi_pci_device_path): New structure.
37293 (grub_efi_pci_device_path_t): New type.
37294 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37295 (struct grub_efi_pccard_device_path): New structure.
37296 (grub_efi_pccard_device_path_t): New type.
37297 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37298 (struct grub_efi_memory_mapped_device_path): New structure.
37299 (grub_efi_memory_mapped_device_path_t): New type.
37300 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37301 (struct grub_efi_vendor_device_path): New structure.
37302 (grub_efi_vendor_device_path_t): New type.
37303 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37304 (struct grub_efi_controller_device_path): New structure.
37305 (grub_efi_controller_device_path_t): New type.
37306 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37307 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37308 (struct grub_efi_acpi_device_path): New structure.
37309 (grub_efi_acpi_device_path_t): New type.
37310 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37311 (struct grub_efi_expanded_acpi_device_path): New structure.
37312 (grub_efi_expanded_acpi_device_path_t): New type.
37313 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37314 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37315 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37316 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37317 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37318 (struct grub_efi_atapi_device_path): New structure.
37319 (grub_efi_atapi_device_path_t): New type.
37320 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37321 (struct grub_efi_fibre_channel_device_path): New structure.
37322 (grub_efi_fibre_channel_device_path_t): New type.
37323 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37324 (struct grub_efi_1394_device_path): New structure.
37325 (grub_efi_1394_device_path_t): New type.
37326 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37327 (struct grub_efi_usb_device_path): New structure.
37328 (grub_efi_usb_device_path_t): New type.
37329 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37330 (struct grub_efi_usb_class_device_path): New structure.
37331 (grub_efi_usb_class_device_path_t): New type.
37332 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37333 (struct grub_efi_i2o_device_path): New structure.
37334 (grub_efi_i2o_device_path_t): New type.
37335 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37336 (struct grub_efi_mac_address_device_path): New structure.
37337 (grub_efi_mac_address_device_path_t): New type.
37338 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37339 (struct grub_efi_ipv4_device_path): New structure.
37340 (grub_efi_ipv4_device_path_t): New type.
37341 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37342 (struct grub_efi_ipv6_device_path): New structure.
37343 (grub_efi_ipv6_device_path_t): New type.
37344 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37345 (struct grub_efi_infiniband_device_path): New structure.
37346 (grub_efi_infiniband_device_path_t): New type.
37347 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37348 (struct grub_efi_uart_device_path): New structure.
37349 (grub_efi_uart_device_path_t): New type.
37350 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37351 (struct grub_efi_vendor_messaging_device_path): New structure.
37352 (grub_efi_vendor_messaging_device_path_t): New type.
37353 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37354 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37355 (struct grub_efi_hard_drive_device_path): New structure.
37356 (grub_efi_hard_drive_device_path_t): New type.
37357 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37358 (struct grub_efi_cdrom_device_path): New structure.
37359 (grub_efi_cdrom_device_path_t): New type.
37360 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37361 (struct grub_efi_vendor_media_device_path): New structure.
37362 (grub_efi_vendor_media_device_path_t): New type.
37363 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37364 (struct grub_efi_file_path_device_path): New structure.
37365 (grub_efi_file_path_device_path_t): New type.
37366 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37367 (struct grub_efi_protocol_device_path): New structure.
37368 (grub_efi_protocol_device_path_t): New type.
37369 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37370 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37371 (struct grub_efi_bios_device_path): New structure.
37372 (grub_efi_bios_device_path_t): New type.
37373 (struct grub_efi_disk_io): New structure.
37374 (grub_efi_disk_io_t): New type.
37375 (struct grub_efi_block_io_media): New structure.
37376 (grub_efi_block_io_media_t): New type.
37377 (struct grub_efi_block_io): New structure.
37378 (grub_efi_block_io_t): New type.
37379
37380 * include/grub/misc.h (grub_stop): Removed.
37381 (grub_exit): New prototype.
37382 (grub_abort): Likewise.
37383
37384 * include/grub/disk.h (enum grub_disk_dev_id): Added
37385 GRUB_DISK_DEVICE_EFIDISK_ID.
37386
37387 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37388 disk/efi/efidisk.c.
37389 (kernel_syms.lst): Remove the target if an error occurs.
37390
49986a9f 373912006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37392
37393 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37394 as it was simply too buggy.
37395
970d3b8a 373962006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37397
37398 * kern/misc.c (grub_lltoa): New function.
37399 (grub_vsprintf): Added support for the long long suffix,
37400 i.e. "ll".
37401
ff04ec24 374022006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37403
37404 * Makefile.in (LDFLAGS): Add variable.
37405 (LD): Remove variable.
37406 * configure.ac: Add -m32 to LDFLAGS.
37407 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37408 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37409 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37410 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37411 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37412 variables.
37413 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37414 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37415 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37416
37e5e1a4 374172006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37418
37419 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37420 length for unknown glyph.
37421
c352d8dd 374222006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37423
2eab1c0d 37424 Add support for pre-loaded modules into the EFI port.
f19dbdb7 37425
2eab1c0d 37426 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37427 completely. Accept one more argument DIR. The caller has changed.
37428
37429 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37430
37431 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37432 (grub_efi_loaded_image_guid): New variable.
37433 (grub_efi_get_loaded_image): New function.
37434 (grub_arch_modules_addr): Likewise.
37435
37436 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37437 prototype.
37438
37439 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37440 (struct grub_efi_loaded_image): New structure.
37441 (grub_efi_loaded_image_t): New type.
37442
374432006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37444
c352d8dd 37445 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37446 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37447 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37448
6d01d6b4 374492006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37450
37451 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37452
976a4ea0 374532006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37454
37455 * DISTLIST: Added include/grub/efi/console.h,
37456 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37457 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37458
37459 * include/grub/efi/console.h: New file.
37460 * include/grub/efi/time.h: Likewise.
37461 * include/grub/i386/efi/kernel.h: Likewise.
37462 * kern/efi/init.c: Likewise.
37463 * kern/efi/mm.c: Likewise.
37464 * term/efi/console.c: Likewise.
f19dbdb7 37465
976a4ea0 37466 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37467 (grub_stop): Removed.
37468 (grub_get_rtc): Likewise.
37469 (grub_machine_init): Simply call grub_efi_init.
37470 (grub_machine_fini): Call grub_efi_fini.
37471
37472 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37473 (grub_efi_output_string): Removed.
37474 (grub_efi_stall): New function.
37475 (grub_stop): Likewise.
37476 (grub_get_rtc): Likewise.
37477
37478 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37479 (grub_efi_stall): New prototype.
37480 (grub_efi_allocate_pages): Likewise.
37481 (grub_efi_free_pages): Likewise.
37482 (grub_efi_get_memory_map): Likewise.
37483 (grub_efi_mm_init): Likewise.
37484 (grub_efi_mm_fini): Likewise.
37485 (grub_efi_init): Likewise.
37486 (grub_efi_fini): Likewise.
37487
37488 * include/grub/i386/efi/time.h: Do not include
37489 grub/symbol.h. Include grub/efi/time.h.
37490 (GRUB_TICKS_PER_SECOND): Removed.
37491 (grub_get_rtc): Likewise.
37492
37493 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37494 Added padding. The EFI spec is buggy.
37495 (GRUB_EFI_BLACK): New macro.
37496 (GRUB_EFI_BLUE): Likewise.
37497 (GRUB_EFI_GREEN): Likewise.
37498 (GRUB_EFI_CYAN): Likewise.
37499 (GRUB_EFI_RED): Likewise.
37500 (GRUB_EFI_MAGENTA): Likewise.
37501 (GRUB_EFI_BROWN): Likewise.
37502 (GRUB_EFI_LIGHTGRAY): Likewise.
37503 (GRUB_EFI_BRIGHT): Likewise.
37504 (GRUB_EFI_DARKGRAY): Likewise.
37505 (GRUB_EFI_LIGHTBLUE): Likewise.
37506 (GRUB_EFI_LIGHTGREEN): Likewise.
37507 (GRUB_EFI_LIGHTCYAN): Likewise.
37508 (GRUB_EFI_LIGHTRED): Likewise.
37509 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37510 (GRUB_EFI_YELLOW): Likewise.
37511 (GRUB_EFI_WHITE): Likewise.
37512 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37513 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37514 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37515 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37516 (GRUB_EFI_BACKGROUND_RED): Likewise.
37517 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37518 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37519 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37520 (GRUB_EFI_TEXT_ATTR): Likewise.
37521
37522 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37523 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37524 (kernel_mod_HEADERS): Added efi/time.h.
37525
83709125 375262006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37527
37528 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37529 include/grub/efi/api.h, include/grub/efi/console_control.h,
37530 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37531 include/grub/i386/efi/time.h, kern/efi/efi.c,
37532 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37533 and util/i386/efi/grub-mkimage.c.
37534
37535 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37536
37537 * genmk.rb (PModule#rule): Do not export symbols if
37538 #{prefix}_EXPORTS is set to "no".
37539
37540 * conf/i386-efi.mk: New file.
37541 * conf/i386-efi.rmk: Likewise.
37542 * include/grub/efi/api.h: Likewise.
37543 * include/grub/efi/console_control.h: Likewise.
37544 * include/grub/efi/efi.h: Likewise.
37545 * include/grub/efi/pe32.h: Likewise.
37546 * include/grub/i386/efi/time.h: Likewise.
37547 * kern/efi/efi.c: Likewise.
37548 * kern/i386/efi/init.c: Likewise.
37549 * kern/i386/efi/startup.S: Likewise.
37550 * util/i386/efi/grub-mkimage.c: Likewise.
37551
375522006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 37553
37554 * include/grub/script.h: Include <grub/parser.h> and
37555 "grub_script.tab.h".
37556 (struct grub_lexer_param): New struct.
37557 (struct grub_parser_param): Likewise.
37558 (grub_script_create_arglist): Pass the state in an argument.
37559 (grub_script_add_arglist): Likewise.
37560 (grub_script_create_cmdline): Likewise.
37561 (grub_script_create_cmdblock): Likewise.
37562 (grub_script_create_cmdif): Likewise.
37563 (grub_script_create_cmdmenu): Likewise.
37564 (grub_script_add_cmd): Likewise.
37565 (grub_script_arg_add): Likewise.
37566 (grub_script_lexer_ref): Likewise.
37567 (grub_script_lexer_deref): Likewise.
37568 (grub_script_lexer_record_start): Likewise.
37569 (grub_script_lexer_record_stop): Likewise.
37570 (grub_script_mem_record): Likewise.
37571 (grub_script_mem_record_stop): Likewise.
37572 (grub_script_malloc): Likewise.
37573 (grub_script_yylex): Likewise.
37574 (grub_script_yyparse): Likewise.
37575 (grub_script_yyerror): Likewise.
37576 (grub_script_yylex): Likewise.
37577 (grub_script_lexer_init): Return the state.
37578
37579 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37580 (grub_script_lexer_done): Likewise.
37581 (grub_script_lexer_getline): Likewise.
37582 (grub_script_lexer_refs): Likewise.
37583 (script): Likewise.
37584 (newscript): Likewise.
37585 (record): Likewise.
37586 (recording): Likewise.
37587 (recordpos): Likewise.
37588 (recordlen): Likewise.
37589 (grub_script_lexer_init): Return the state instead of setting
37590 global variables.
37591 (grub_script_lexer_ref): Use the newly added argument for state
37592 instead of globals.
37593 (grub_script_lexer_deref): Likewise.
37594 (grub_script_lexer_record_start): Likewise.
37595 (grub_script_lexer_record_stop): Likewise.
37596 (recordchar): Likewise.
37597 (nextchar): Likewise.
37598 (grub_script_yylex2): Likewise.
37599 (grub_script_yylex): Likewise.
37600 (grub_script_yyerror): Likewise.
37601
37602 * normal/parser.y (func_mem): Removed variable.
37603 (menu_entry): Likewise.
37604 (err): Likewise.
37605 (%lex-param): New parser option.
37606 (%parse-param): Likewise.
37607 (script): Always return the AST.
37608 (argument): Pass the state around.
37609 (arguments): Likewise.
37610 (grubcmd): Likewise.
37611 (commands): Likewise.
37612 (function): Likewise.
37613 (menuentry): Likewise.
37614 (if_statement): Likewise.
37615 (if): Likewise.
37616
37617 * normal/script.c (grub_script_memused): Removed variable.
37618 (grub_script_parsed): Likewise.
37619 (grub_script_malloc): Added a state argument. Use that instead of
37620 global variables.
37621 (grub_script_mem_record): Likewise.
37622 (grub_script_mem_record_stop): Likewise.
37623 (grub_script_arg_add): Likewise.
37624 (grub_script_add_arglist): Likewise.
37625 (grub_script_create_cmdline): Likewise.
37626 (grub_script_create_cmdif): Likewise.
37627 (grub_script_create_cmdmenu): Likewise.
37628 (grub_script_add_cmd): Likewise.
37629 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 37630
e2a8c904 376312006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 37632
37633 * normal/command.c (grub_command_init): Remove the title command.
37634
37635 * normal/lexer.c (grub_script_yylex): Renamed from this...
37636 (grub_script_yylex2): ... to this.
37637 (grub_script_yylex): New function. Temporary
37638 introduced to filter some tokens.
37639 (grub_script_yyerror): Print a newline.
37640
37641 * normal/main.c (read_config_file): Output information about the
37642 lines that contain errors. Wait for a key after all lines have
37643 been processed. Don't return an empty menu.
37644
37645 * normal/parser.y (func_mem): Don't initialize.
37646 (menu_entry): Likewise.
37647 (err): New variable.
37648 (script): Don't return anything when an error was encountered.
37649 (ws, returns): Removed rules.
37650 (argument): Disabled concatenated variable support.
37651 (arguments): Remove explicit separators.
37652 (grubcmd): Likewise.
37653 (function): Likewise.
37654 (menuentry): Likewise.
37655 (if): Likewise.
37656 (commands): Likewise. Add error handling.
37657
37658 * normal/script.c (grub_script_create_cmdline): If
37659 `grub_script_parsed' is 0, assume the parser encountered an error.
37660
c9a86192 376612006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37662
37663 * configure.ac: Add support for EFI. Fix the typo
37664 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37665
70f3b243 376662006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37667
37668 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37669 foreign multibyte characters should be shown correctly.
37670
65f201ad 376712006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37672
37673 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37674 calculation.
37675 (read_config_file): Made it to close file before returning.
37676
b4b93674 376772006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37678
37679 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37680 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37681 video/i386/pc/vbefill.c.
37682
37683 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37684 video/i386/pc/vbefill.c.
37685
37686 * include/grub/video.h (grub_video_blit_format): New enum.
37687 (grub_video_mode_info): Added new member blit_format.
37688 (grub_video_get_blit_format): New function prototype.
37689
37690 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37691 function prototype.
37692 (grub_video_vbe_map_rgb): Likewise.
37693 (grub_video_vbe_unmap_color): Likewise.
37694
37695 * include/grub/i386/pc/vbeblit.h: New file.
37696
37697 * include/grub/i386/pc/vbefill.h: New file.
37698
37699 * video/video.c (grub_video_get_blit_format): New function.
37700 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37701 (grub_video_vbe_map_rgb): Likewise.
37702 (grub_video_vbe_unmap_color): Likewise.
37703
37704 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
37705 optimized fills.
37706 (grub_video_vbe_blit_render_target): Changed to use more optimized
37707 blits.
37708 (grub_video_vbe_setup): Added detection for optimized settings.
37709 (grub_video_vbe_create_render_target): Likewise.
37710
37711 * video/i386/pc/vbeblit.c: New file.
37712
37713 * video/i386/pc/vbefill.c: New file.
37714
c2379b9c 377152006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
37716
37717 * font/manager.c (grub_font_get_glyph): Removed font fixup from
37718 here...
37719
37720 * util/unifont2pff.rb: ... and moved it to here. Improved argument
37721 parsing to support both hex and dec ranges. If filename was missing
37722 show usage information.
37723
bd0d7896 377242006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
37725
37726 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
37727 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
37728
37729 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
37730 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
37731 (video_mod_SOURCES): Added.
37732 (video_mod_CFLAGS): Likewise.
37733 (video_mod_LDFLAGS): Likewise.
37734 (gfxterm_mod_SOURCES): Likewise.
37735 (gfxterm_mod_CFLAGS): Likewise.
37736 (gfxterm_mod_LDFLAGS): Likewise.
37737 (videotest_mod_SOURCES): Likewise.
37738 (videotest_mod_CFLAGS): Likewise.
37739 (videotest_mod_LDFLAGS): Likewise.
37740 (vesafb_mod_SOURCES): Removed.
37741 (vesafb_mod_CFLAGS): Likewise.
37742 (vesafb_mod_LDFLAGS): Likewise.
37743 (vga_mod_SOURCES): Likewise.
37744 (vga_mod_CFLAGS): Likewise.
37745 (vga_mod_LDFLAGS): Likewise.
37746
37747 * commands/videotest.c: New file.
37748
37749 * font/manager.c (fill_with_default_glyph): Modified to use
37750 grub_font_glyph.
37751 (grub_font_get_glyph): Likewise.
37752 (fontmanager): Renamed from this...
37753 (font_manager): ... to this.
37754
37755 * include/grub/font.h (grub_font_glyph): Added new structure.
37756 (grub_font_get_glyph): Modified to use grub_font_glyph.
37757
37758 * include/grub/misc.h (grub_abs): Added as inline function.
37759
37760 * include/grub/video.h: New file.
37761
37762 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
37763 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
37764 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
37765 (grub_vbe_get_controller_info): Renamed from this...
37766 (grub_vbe_bios_get_controller_info): ... to this.
37767 (grub_vbe_get_mode_info): Renamed from this...
37768 (grub_vbe_bios_get_mode_info): ... to this.
37769 (grub_vbe_set_mode): Renamed from this...
37770 (grub_vbe_bios_set_mode): ... to this.
37771 (grub_vbe_get_mode): Renamed from this...
37772 (grub_vbe_bios_get_mode): ... to this.
37773 (grub_vbe_set_memory_window): Renamed from this...
37774 (grub_vbe_bios_set_memory_window): ... to this.
37775 (grub_vbe_get_memory_window): Renamed from this...
37776 (grub_vbe_bios_get_memory_window): ... to this.
37777 (grub_vbe_set_scanline_length): Renamed from this...
37778 (grub_vbe_set_scanline_length): ... to this.
37779 (grub_vbe_get_scanline_length): Renamed from this...
37780 (grub_vbe_bios_get_scanline_length): ... to this.
37781 (grub_vbe_set_display_start): Renamed from this...
37782 (grub_vbe_bios_set_display_start): ... to this.
37783 (grub_vbe_get_display_start): Renamed from this...
37784 (grub_vbe_bios_get_display_start): ... to this.
37785 (grub_vbe_set_palette_data): Renamed from this...
37786 (grub_vbe_bios_set_palette_data): ... to this.
37787 (grub_vbe_set_pixel_rgb): Removed.
37788 (grub_vbe_set_pixel_index): Likewise.
37789
37790 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
37791 from this...
37792 (grub_vbe_bios_get_controller_info): ... to this.
37793 (grub_vbe_get_mode_info): Renamed from this...
37794 (grub_vbe_bios_get_mode_info): ... to this.
37795 (grub_vbe_set_mode): Renamed from this...
37796 (grub_vbe_bios_set_mode): ... to this.
37797 (grub_vbe_get_mode): Renamed from this...
37798 (grub_vbe_bios_get_mode): ... to this.
37799 (grub_vbe_set_memory_window): Renamed from this...
37800 (grub_vbe_bios_set_memory_window): ... to this.
37801 (grub_vbe_get_memory_window): Renamed from this...
37802 (grub_vbe_bios_get_memory_window): ... to this.
37803 (grub_vbe_set_scanline_length): Renamed from this...
37804 (grub_vbe_set_scanline_length): ... to this.
37805 (grub_vbe_get_scanline_length): Renamed from this...
37806 (grub_vbe_bios_get_scanline_length): ... to this.
37807 (grub_vbe_set_display_start): Renamed from this...
37808 (grub_vbe_bios_set_display_start): ... to this.
37809 (grub_vbe_get_display_start): Renamed from this...
37810 (grub_vbe_bios_get_display_start): ... to this.
37811 (grub_vbe_set_palette_data): Renamed from this...
37812 (grub_vbe_bios_set_palette_data): ... to this.
37813 (grub_vbe_bios_get_controller_info): Fixed problem with registers
37814 getting corrupted after calling it. Added more pushes and pops.
37815 (grub_vbe_bios_set_mode): Likewise.
37816 (grub_vbe_bios_get_mode): Likewise.
37817 (grub_vbe_bios_get_memory_window): Likewise.
37818 (grub_vbe_bios_set_scanline_length): Likewise.
37819 (grub_vbe_bios_get_scanline_length): Likewise.
37820 (grub_vbe_bios_get_display_start): Likewise.
37821 (grub_vbe_bios_set_palette_data): Likewise.
37822
37823 * normal/cmdline.c (cl_set_pos): Refresh the screen.
37824 (cl_insert): Likewise.
37825 (cl_delete): Likewise.
37826
37827 * term/gfxterm.c: New file.
37828
37829 * term/i386/pc/vesafb.c: Removed file.
37830
37831 * video/video.c: New file.
37832
37833 * video/i386/pc/vbe.c (real2pm): Added new function.
37834 (grub_video_vbe_draw_pixel): Likewise.
37835 (grub_video_vbe_get_video_ptr): Likewise.
37836 (grub_video_vbe_get_pixel): Likewise
37837 (grub_video_vbe_init): Likewise.
37838 (grub_video_vbe_fini): Likewise.
37839 (grub_video_vbe_setup): Likewise.
37840 (grub_video_vbe_get_info): Likewise.
37841 (grub_video_vbe_set_palette): Likewise.
37842 (grub_video_vbe_get_palette): Likewise.
37843 (grub_video_vbe_set_viewport): Likewise.
37844 (grub_video_vbe_get_viewport): Likewise.
37845 (grub_video_vbe_map_color): Likewise.
37846 (grub_video_vbe_map_rgb): Likewise.
37847 (grub_video_vbe_map_rgba): Likewise.
37848 (grub_video_vbe_unmap_color): Likewise.
37849 (grub_video_vbe_fill_rect): Likewise.
37850 (grub_video_vbe_blit_glyph): Likewise.
37851 (grub_video_vbe_blit_bitmap): Likewise.
37852 (grub_video_vbe_blit_render_target): Likewise.
37853 (grub_video_vbe_scroll): Likewise.
37854 (grub_video_vbe_swap_buffers): Likewise.
37855 (grub_video_vbe_create_render_target): Likewise.
37856 (grub_video_vbe_delete_render_target): Likewise.
37857 (grub_video_vbe_set_active_render_target): Likewise.
37858 (grub_vbe_set_pixel_rgb): Remove function.
37859 (grub_vbe_set_pixel_index): Likewise.
37860 (index_color_mode): Remove static variable.
37861 (active_mode): Likewise.
37862 (framebuffer): Likewise.
37863 (bytes_per_scan_line): Likewise.
37864 (grub_video_vbe_adapter): Added new static variable.
37865 (framebuffer): Likewise.
37866 (render_target): Likewise.
37867 (initial_mode): Likewise.
37868 (mode_in_use): Likewise.
37869 (mode_list): Likewise.
37870
5f97350b 378712006-03-10 Marco Gerards <marco@gnu.org>
37872
37873 * configure.ac (AC_INIT): Bumped to 1.93.
37874
37875 * DISTLIST: Added `include/grub/hfs.h'.
37876
a3c5c6f8 378772006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37878
37879 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37880 18H, which might help the BIOS falling back to next boot media.
37881
6de53d26 378822006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37883
37884 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37885 Poe Chen <poe.poechen@gmail.com>.
37886
77c4a393 378872006-01-17 Marco Gerards <marco@gnu.org>
37888
37889 * include/grub/normal.h: Include <grub/script.h>.
37890 (grub_command_list): Removed struct.
37891 (grub_command_list_t): Removed type.
37892 (grub_menu_entry): Remove members `num' and `command_list'. Add
37893 members `commands' and `sourcecode'.
37894 * include/grub/script.h: Add inclusion guards.
37895 (grub_script_cmd_menuentry): New struct.
37896 (grub_script_execute_menuentry): New prototype.
37897 (grub_script_lexer_record_start): Likewise.
37898 (grub_script_lexer_record_stop): Likewise.
37899 * normal/execute.c (grub_script_execute_menuentry): New function.
37900 * normal/lexer.c (record, recording, recordpos, recordlen): New
37901 variables.
37902 (grub_script_lexer_record_start): New function.
37903 (grub_script_lexer_record_stop): Likewise.
37904 (recordchar): Likewise.
37905 (nextchar): Likewise.
37906 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37907 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37908 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37909 (current_menu): New variable.
37910 (free_menu): Mainly rewritten.
37911 (grub_normal_menu_addentry): New function.
37912 (read_config_file): Rewritten.
37913 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 37914 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 37915 the menu entry.
37916 (run): Mainly rewritten.
37917 * normal/parser.y (menu_entry): New variable.
37918 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37919 (menuentry): New rule.
37920 (command): Add `menuentry'.
37921 (if_statement): Allow additional returns before `fi'.
37922 * normal/script.c (grub_script_create_cmdmenu): New function.
37923
144f1f98 379242006-01-03 Marco Gerards <marco@gnu.org>
37925
37926 * INSTALL: GNU Bison is required.
37927 * configure.ac: Rewritten the test to detect Bison.
37928 * Makefile.in (YACC): New variable. Reported by Xun Sun
37929 <xun.sun.cn@gmail.com>.
37930
af4b2d89 379312006-01-03 Marco Gerards <marco@gnu.org>
37932
37933 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37934 the HFS+ filesystem to filesystem blocks.
37935 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37936 GCC warning is silenced.
37937
15643b71 379382006-01-03 Marco Gerards <marco@gnu.org>
37939
37940 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37941 read from disk from big endian to host byte order.
37942
00905879 379432006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37944
37945 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37946 documentation.
37947 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37948 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37949 embedded HFS+ filesystem.
37950 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37951 (grub_hfs_sblock): Move from here...
37952 * include/grub/hfs.h: To here... New file.
37953 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37954 documentation.
37955 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37956 New macros.
37957 (grub_hfsplus_volheader): Change type of member `magic' to
37958 `grub_uint16_t'.
37959 (grub_hfsplus_data): Add new member `embedded_offset'.
37960 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37961 returned block.
37962 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37963 Calculate the offset.
37964
8899bc3e 379652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37966
37967 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37968 Removed.
37969 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37970
ae8c0277 379712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37972
37973 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37974 ENV->NAME is NULL after allocating ENV->VALUE.
37975
07084456 379762005-12-25 Marco Gerards <marco@gnu.org>
37977
37978 * kern/env.c (grub_env_set): Rewritten the error handling code.
37979
4750f5f1 379802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37981
37982 * geninit.sh: Made more robust, and more portable.
37983
50214199 379842005-12-25 Marco Gerards <marco@gnu.org>
37985
37986 Add support for Apple HFS+ filesystems.
f19dbdb7 37987
50214199 37988 * fs/hfsplus.c: New file.
37989
37990 * DISTLIST: Added `fs/hfsplus.c'.
37991
37992 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
37993 (hfsplus_mod_SOURCES): New variable.
37994 (hfsplus_mod_CFLAGS): Likewise.
37995 (hfsplus_mod_LDFLAGS): Likewise.
37996 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
37997 (grub_setup_SOURCES): Likewise.
37998 (grub_mkdevicemap_SOURCES): Likewise.
37999 (grub_emu_SOURCES): Likewise.
38000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38001
38002 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38003
38004 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38005
befaed6c 380062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38007
38008 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38009 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38010 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38011 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38012 normal/lexer.c, normal/parser.y, normal/script.c, and
38013 partmap/gpt.c.
38014 Removed kern/sparc64/cache.c.
38015
38016 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38017 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38018 grub_emu_init.c.
38019
38020 * configure.ac (AC_INIT): Bumped to 1.92.
38021
6a124103 380222005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38023
38024 * kern/err.c (grub_error_push): Added new function to support error
38025 stacks.
38026 (grub_error_pop): Likewise.
38027 (grub_error_stack_items): New local variable to support error stacks.
38028 (grub_error_stack_pos): Likewise.
38029 (grub_error_stack_assert): Likewise.
38030 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38031 stack depth.
38032 (grub_print_error): Added support to print errors from error stack.
38033
38034 * include/grub/err.h (grub_error_push): Added function prototype.
38035 (grub_error_pop): Likewise.
38036
be973c1b 380372005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38038
38039 * configure.ac: Accept `powerpc64' as host_cpu.
38040 (amd64): Rename to `biarch32'.
38041
38042 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38043 non-cacheline-aligned addresses.
38044
38045 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38046 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38047 if `size' is non-zero.
38048
b04216ab 380492005-12-03 Marco Gerards <mgerards@xs4all.nl>
38050
38051 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38052 and `cd' to make sure the filename is not prefixed with a
38053 directory name.
38054 (pkgdata_MODULES): Add `gpt.mod'.
38055 (gpt_mod_SOURCES): New variable.
38056 (gpt_mod_CFLAGS): Likewise.
38057 (gpt_mod_LDFLAGS): Likewise.
38058
38059 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38060
38061 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38062 New macro.
38063
38064 * partmap/gpt.c: New file.
38065
38066 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38067 GPT partition map is detected.
38068
41730ed9 380692005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38070
38071 * commands/i386/pc/play.c: New file.
38072 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38073 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38074 macros.
f19dbdb7 38075
95dc3643 380762005-11-27 Marco Gerards <mgerards@xs4all.nl>
38077
38078 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38079 ((unused))' to silence gcc warning.
38080
1569ec51 380812005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38082
38083 * configure.ac: Correct `AC_PROG_YACC' test.
38084
9abde152 380852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38086
38087 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38088 check before installing files.
38089
44b83271 380902005-11-22 Mike Small <smallm@panix.com>
38091
38092 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38093 number regex so multidigit numbers are recognized correctly.
38094
380952005-11-22 Mike Small <smallm@panix.com>
38096
38097 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38098 debugging message before attempting to claim memory.
38099 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38100 multiple addresses in case of failure.
38101
9c12956b 381022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38103
38104 * term/tparm.c (get_space): Remove empty `if' statement.
38105
38106 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38107
38108 * kern/parser.c (check_varstate): Rename `state' to 's'.
38109
aeaf81d9 381102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38111
38112 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38113 variable definitions to the beginning of each function. Sort stack
38114 variables by size.
38115 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38116 `buf' argument to `char *'.
38117
79bbb63f 381182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38119
38120 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38121 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38122 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38123 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38124 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38125 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38126 configfile.mod, search.mod, gzio.mod and test.mod.
38127 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38128 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38129 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38130 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38131 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38132 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38133 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38134 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38135 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38136 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38137 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38138 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38139 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38140 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38141 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38142 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38143 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38144 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38145 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38146 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38147 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38148 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38149 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38150
38151 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38152 `grep --include'.
38153 (pkgdata_MODULES): Add test.mod.
38154
233b1628 381552005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38156
38157 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38158 appending to variables with "+=".
38159 (PModule): Use full pathname to generate *.lst filenames.
38160
38161 * Makefile.in: Fixed list rules moved from genmk.rb.
38162 (.DELETE_ON_ERROR): New special target.
38163 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38164
38165 * conf/i386-pc.rmk: Include conf/common.mk.
38166 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38167 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38168 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38169 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38170 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38171 configfile.mod, search.mod, gzio.mod and test.mod.
38172 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38173 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38174 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38175 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38176 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38177 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38178 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38179 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38180 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38181 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38182 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38183 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38184 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38185 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38186 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38187 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38188 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38189 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38190 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38191 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38192 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38193 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38194 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38195 here...
38196 * conf/common.rmk: ... to here. New file.
38197
38198 * conf/common.mk: New file.
38199
16f820c8 382002005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38201
38202 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38203 (grub_script.tab.c): ... here.
38204
38205 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38206 (grub_script.tab.c): ... here.
38207
38208 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38209 (grub_script.tab.c): ... here.
38210
38211 * normal/command.c (grub_command_find): Fixed a memory leak of
38212 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38213
63ba1554 382142005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38215
38216 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38217 "@" which marks the start of a comment on ARM.
38218 (VARIABLE): Likewise.
38219
7f67dc13 382202005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38221
79bbb63f 38222 Add support for Linux/ADFS partition tables.
7f67dc13 38223
38224 * partmap/acorn.c: New file.
38225
38226 * include/grub/acorn_filecore.h: Likewise.
38227
38228 * DISTLIST: Added `partmap/acorn.c' and
38229 `include/grub/acorn_filecore.h'.
f19dbdb7 38230
7f67dc13 38231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38232 `partmap/acorn.c'.
38233 (pkgdata_MODULES): Add `acorn.mod'.
38234 (acorn_mod_SOURCES): New variable.
38235 (acorn_mod_CFLAGS): Likewise.
38236
38237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38238 `partmap/acorn.c'.
38239 (pkgdata_MODULES): Add `acorn.mod'.
38240 (acorn_mod_SOURCES): New variable.
38241 (acorn_mod_CFLAGS): Likewise.
38242
38243 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38244 (pkgdata_MODULES): Add `acorn.mod'.
38245 (acorn_mod_SOURCES): New variable.
38246 (acorn_mod_CFLAGS): Likewise.
38247 (acorn_mod_LDFLAGS): Likewise.
38248
38249 * include/types.h (grub_disk_addr_t): New typedef.
38250
6d099807 382512005-11-13 Marco Gerards <mgerards@xs4all.nl>
38252
38253 * geninit.sh: New file.
38254
38255 * geninitheader.sh: Likewise.
38256
38257 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38258 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38259 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38260 * commands/configfile.c (grub_configfile_init)
38261 (grub_configfile_fini): Likewise.
38262 * commands/default.c (grub_default_init, grub_default_fini):
38263 Likewise.
38264 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38265 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38266 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38267 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38268 Likewise.
38269 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38270 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38271 Likewise.
38272 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38273 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38274 Likewise.
38275 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38276 Likewise.
fe6b695a 38277 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38278 Likewise.
38279 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38280 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38281 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38282 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38283 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38284 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38285 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38286 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38287 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38288 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38289 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38290 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38291 * partmap/amiga.c (grub_amiga_partition_map_init)
38292 (grub_amiga_partition_map_fini): Likewise.
38293 * partmap/apple.c (grub_apple_partition_map_init)
38294 (grub_apple_partition_map_fini): Likewise.
38295 * partmap/pc.c (grub_pc_partition_map_init)
38296 (grub_pc_partition_map_fini): Likewise.
38297 * partmap/sun.c (grub_sun_partition_map_init,
38298 grub_sun_partition_map_fini): Likewise.
38299 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38300 Likewise.
38301
38302 * util/grub-emu.c: Include <grub_modules_init.h>.
38303 (main): Don't initialize and de-initialize any modules directly,
38304 use `grub_init_all' and `grub_fini_all' instead.
38305
38306 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38307 `grub_vesafb_mod_init'.
38308 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38309 all users.
38310 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38311 `grub_vga_mod_init'. Updated all users.
38312 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38313
6d099807 38314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38315 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38316 rules.
38317
38318 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38319 Generate a function to initialize the module in utilities.
38320 Updated all callers.
38321 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38322 initialize the module in utilities. Updated all callers.
38323
9046bcf0 383242005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38325
38326 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38327 escape sequence and a literal ^L to clear the screen.
38328
38329 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38330 when returning from Open Firmware.
38331
d13ea639 383322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38333
38334 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38335 (grub_ofconsole_height): Likewise.
38336 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38337 manually insert a '\n'.
38338 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38339 `grub_ofconsole_height'. Return early if these are already set.
38340
a8fcf206 383412005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38342
38343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38344 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38345 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38346 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38347 and `normal/script.c'.
38348 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38349 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38350 (test_mod_SOURCES): New variable.
38351 (test_mod_CFLAGS): Likewise.
38352 (test_mod_LDFLAGS): Likewise.
38353 (pkgdata_MODULES): Add `test.mod'.
38354 (grub_script.tab.c): New rule.
38355 (grub_script.tab.h): Likewise.
38356
b6b32745 383572005-11-07 Marco Gerards <mgerards@xs4all.nl>
38358
38359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38360 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38361 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38362 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38363 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38364 (test_mod_SOURCES): New variable.
38365 (test_mod_CFLAGS): Likewise.
38366 (pkgdata_MODULES): Add `test.mod'.
38367 (grub_script.tab.c): New rule.
38368 (grub_script.tab.h): Likewise.
38369
daac212a 383702005-11-06 Marco Gerards <mgerards@xs4all.nl>
38371
38372 Add initial scripting support.
38373
38374 * commands/test.c: New file.
38375 * include/grub/script.h: Likewise.
38376 * normal/execute.c: Likewise.
38377 * normal/function.c: Likewise.
38378 * normal/lexer.c: Likewise.
38379 * normal/parser.y: Likewise.
38380 * normal/script.c: Likewise.
38381
38382 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38383
daac212a 38384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38385 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38386 `normal/function.c' and `normal/script.c'.
38387 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38388 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 38389 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38390 variables.
daac212a 38391 (pkgdata_MODULES): Add `test.mod'.
38392 (grub_script.tab.c): New rule.
38393 (grub_script.tab.h): Likewise.
38394
38395 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38396
38397 * include/grub/normal.h (grub_test_init): New prototype.
38398 (grub_test_fini): Likewise.
f19dbdb7 38399
daac212a 38400 * normal/command.c: Include <grub/script.h>.
38401 (grub_command_execute): Rewritten.
f19dbdb7 38402
daac212a 38403 * util/grub-emu.c (main): Call `grub_test_init' and
38404 `grub_test_fini'.
38405
77500b2b 384062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38407
38408 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38409 to 0.
38410 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38411 there are no pending characters.
38412
e45deb9e 384132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38414
38415 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38416 `grub_strndup' to drop device arguments. Replace unnecessary
38417 `grub_strndup' with `grub_strdup'.
38418
4ce32619 384192005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38420
38421 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38422 `debug' environment variable has been set.
38423
384242005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38425
4ce32619 38426 * Makefile.in (install-local): Use $(DATA).
38427 (uninstall): Likewise.
38428 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38429 (sbin_UTILITIES): ... to here.
38430 (sbin_SCRIPTS): New variable.
38431 (grub_install_SOURCES): New variable.
38432 * util/powerpc/ieee1275/grub-install.in: New file.
38433 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38434 variable.
38435 (add_segments): Call `grub_util_get_path'.
38436
25fe6f03 384372005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38438
38439 From Timothy Baldwin:
38440 * commands/ls.c (grub_ls_list_files): Close FILE with
38441 grub_file_close.
38442 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38443
04ccf3ec 384442005-10-24 Marco Gerards <mgerards@xs4all.nl>
38445
38446 * include/grub/parser.h: New file.
38447
38448 * kern/parser.c: Likewise.
38449
38450 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38451 (grub_setup_SOURCES): Likewise.
38452 (grub_probefs_SOURCES): Likewise.
38453 (grub_emu_SOURCES): Likewise.
38454 (kernel_img_HEADERS): Add `parser.h'.
38455
38456 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38457 (grub_emu_SOURCES): Add `kern/parser.c'.
38458 (grubof_SOURCES): Likewise.
38459
38460 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38461 (grubof_SOURCES): Add `kern/parser.c'.
38462
38463 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38464
38465 * kern/misc.c (grub_split_cmdline): Removed function.
38466
38467 * kern/rescue.c: Include <grub/parser.h>.
38468 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38469 of `grub_split_cmdline'.
38470
38471 * normal/command.c: Include <grub/parser.h>.
38472 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38473 of `grub_split_cmdline'.
38474
38475 * normal/completion.c: Include <grub/parser.h>.
38476 (cmdline_state): New variable.
38477 (iterate_dir): End the filename with a quote depending on the
38478 command line state.
38479 (get_state): new function.
38480 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38481 split the arguments and determine the current argument. When the
38482 argument string is not quoted, escape all spaces.
38483
6d8f4b0e 384842005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38485
38486 * normal/sparc64/setjmp.S: New file.
38487
15cf03ed 384882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38489
38490 * include/grub/sparc64/libgcc.h: New file.
38491 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38492 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38493 normal/sparc64/setjmp.c.
38494
03e8661a 384952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38496
38497 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38498 * kern/sparc64/cache.S: New file.
38499 * kern/sparc64/cache.c: Removed.
38500 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38501 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38502 -mtune=ultrasparc.
38503 (COMMON_LDFLAGS): Add -melf64_sparc.
38504 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38505 (grubof_SOURCES): Use cache.S instead of cache.c.
38506 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38507 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38508 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38509 commented though.
38510 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38511 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38512 (linux_mod_CFLAGS): Commented out.
38513 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38514 out because module isn't built.
38515 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38516 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38517 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38518 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38519 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38520 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38521 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38522 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38523 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38524 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38525 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38526 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38527 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38528 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38529
34eeec8a 385302005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38531
38532 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38533 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38534 longer, because HFS should not be used on PC.
38535
708367a3 385362005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38537
38538 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38539 consistently within the loop.
38540
6fa1251a 385412005-10-15 Marco Gerards <mgerards@xs4all.nl>
38542
38543 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38544 directory can not be read.
38545
4801580b 385462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38547
38548 * configure.ac (AC_INIT): Increase the version number to 1.91.
38549
38550 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38551 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38552 term/i386/pc/serial.c.
38553
219ad426 385542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38555
38556 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38557 file size must be permitted.
38558
38559 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38560 between %ah and %al.
38561
688e5699 385622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38563
38564 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38565 grub_uint64_t.
38566 Call the hook with a NUL-terminated filename.
38567 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38568 grub_cpu_to_be32.
38569
38570 * kern/term.c (cursor_state): New variable.
38571 (grub_term_set_current): Reset the cursor state on a new
38572 terminal.
38573 (grub_setcursor): Rewritten to use CURSOR_STATE.
38574 (grub_getcursor): New function.
38575
38576 * include/grub/term.h (grub_getcursor): New prototype.
38577
38578 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38579 integers on ARM. Reported by Timothy Baldwin
38580 <T.E.Baldwin99@members.leeds.ac.uk>.
38581
bb34586c 385822005-10-11 Marco Gerards <mgerards@xs4all.nl>
38583
38584 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38585 allocated.
38586 (grub_sfs_dir): Likewise.
38587
9a909877 385882005-10-09 Marco Gerards <mgerards@xs4all.nl>
38589
38590 Add support for the SFS filesystem.
38591
38592 * fs/sfs.c: New file.
38593
38594 * DISTLIST: Added `fs/sfs.c'.
38595
38596 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38597 (grub_probefs_SOURCES): Likewise.
38598 (grub_emu_SOURCES): Likewise.
38599 (pkgdata_MODULES): Add `sfs.mod'.
38600 (sfs_mod_SOURCES): New variable.
38601 (sfs_mod_CFLAGS): Likewise.
38602 (sfs_mod_LDFLAGS): Likewise.
38603
38604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38605 (pkgdata_MODULES): Add `sfs.mod'.
38606 (sfs_mod_SOURCES): New variable.
38607 (sfs_mod_CFLAGS): Likewise.
38608
38609 * util/grub-emu.c (main): Call `grub_sfs_init' and
38610 `grub_sfs_fini'.
38611
38612 * include/grub/fs.h (grub_sfs_init): New prototype.
38613 (grub_sfs_fini): Likewise.
38614
57bdbde3 386152005-10-07 Marco Gerards <mgerards@xs4all.nl>
38616
38617 Add support for the AFFS filesystem.
38618
38619 * fs/affs.c: New file.
38620
38621 * DISTLIST: Added `fs/affs.c'.
38622
38623 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38624 (grub_probefs_SOURCES): Likewise.
38625 (grub_emu_SOURCES): Likewise.
38626 (pkgdata_MODULES): Add `affs.mod'.
38627 (affs_mod_SOURCES): New variable.
38628 (affs_mod_CFLAGS): Likewise.
38629 (affs_mod_LDFLAGS): Likewise.
38630
38631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38632 (pkgdata_MODULES): Add `affs.mod'.
38633 (affs_mod_SOURCES): New variable.
38634 (affs_mod_CFLAGS): Likewise.
38635
38636 * util/grub-emu.c (main): Call `grub_affs_init' and
38637 `grub_affs_fini'.
38638
38639 * include/grub/fs.h (grub_affs_init): New prototype.
38640 (grub_affs_fini): Likewise.
38641
047b67e0 386422005-10-01 Marco Gerards <mgerards@xs4all.nl>
38643
38644 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38645
59b8208a 386462005-10-01 Marco Gerards <mgerards@xs4all.nl>
38647
38648 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38649 `-m32' to CFLAGS.
38650
38651 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38652 linking.
f19dbdb7 38653
59b8208a 38654 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38655 (COMMON_LDFLAGS): New variable.
38656 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38657 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38658 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38659 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38660 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38661 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38662 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38663 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38664 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38665 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38666 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38667 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38668 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38669 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38670 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38671 variables.
38672 (normal_mod_ASFLAGS): Add `-m32'.
38673
38674 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38675 (grub_host_size_t, grub_host_ssize_t): New types.
38676 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 38677 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 38678 `GRUB_HOST_SIZEOF_VOID_P'.
38679
38680 * include/grub/kernel.h (struct grub_module_header): Type of
38681 member offset changed to `grub_host_off_t'. Type of member size
38682 changed to `grub_host_size_t'.
38683 (struct grub_module_info): Type of member offset changed to
38684 `grub_host_off_t'. Type of member size changed to
38685 `grub_host_size_t'.
38686
b4093103 386872005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38688
38689 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 38690
b4093103 38691 * kern/i386/pc/startup.S (multiboot_header): New label.
38692 (multiboot_entry): Likewise.
38693 (multiboot_trampoline): Likewise.
38694
38695 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38696 Increased to 0x4A0.
38697
38698 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38699 put parentheses after a question mark.
38700 [!GRUB_UTIL] (my_mod): New variable.
38701
38702 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38703
b2499b29 387042005-09-28 Marco Gerards <mgerards@xs4all.nl>
38705
38706 Adds support for the XFS filesystem. Btrees are not supported
38707 yet.
38708
38709 * fs/xfs.c: New file.
38710
38711 * DISTLIST: Added `fs/xfs.c'.
38712
38713 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
38714 (grub_probefs_SOURCES): Likewise.
38715 (grub_emu_SOURCES): Likewise.
38716 (pkgdata_MODULES): Add `xfs.mod'.
38717 (xfs_mod_SOURCES): New variable.
38718 (xfs_mod_CFLAGS): Likewise.
38719
38720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
38721 (pkgdata_MODULES): Add `xfs.mod'.
38722 (xfs_mod_SOURCES): New variable.
38723 (xfs_mod_CFLAGS): Likewise.
38724
38725 * util/grub-emu.c (main): Call `grub_xfs_init' and
38726 `grub_xfs_fini'.
38727
38728 * include/grub/fs.h (grub_xfs_init): New prototype.
38729 (grub_xfs_fini): Likewise.
38730
f19dbdb7 38731
83d37a62 387322005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
38733
38734 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
38735 color modes, allow greater than 16 colors to be configured as
38736 a default palette.
38737
47d2d65e 387382005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38739
38740 * normal/completion.c (complete_arguments): Add the qualifier
38741 const into OPTIONS.
38742
38743 From Omniflux <omniflux+lists@omniflux.com>:
38744 * include/grub/terminfo.h: New file.
38745 * include/grub/tparm.h: Likewise.
38746 * include/grub/i386/pc/serial.h: Likewise.
38747 * term/terminfo.c: Likewise.
38748 * term/tparm.c: Likewise.
38749 * term/i386/pc/serial.c: Likewise.
38750 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
38751 serial.mod.
38752 (terminfo_mod_SOURCES): New variable.
38753 (terminfo_mod_CFLAGS): Likewise.
38754 (serial_mod_SOURCES): Likewise.
38755 (serial_mod_CFLAGS): Likewise.
38756
48b671ff 387572005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
38758
38759 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
38760 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
38761 and kern/powerpc/ieee1275/cmain.c, respectively.
38762
38763 * boot/powerpc/ieee1275/crt0.S: Moved to ...
38764 * kern/powerpc/ieee1275/crt0.S: ... here.
38765
38766 * boot/powerpc/ieee1275/cmain.c: Moved to ...
38767 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 38768
48b671ff 38769 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
38770 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
38771 instead of boot/powerpc/ieee1275/crt0.S and
38772 boot/powerpc/ieee1275/cmain.c, respectively.
38773
38774 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
38775 sectors. It was not used anyway.
38776
09fc77a7 387772005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38778
38779 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
38780 `unused parameter' warning.
38781
003789c7 387822005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38783
38784 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
38785 function.
38786 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
38787 getcharwidth.
38788
67f44c86 387892005-08-28 Marco Gerards <metgerards@student.han.nl>
38790
38791 * include/grub/normal.h (enum grub_completion_type): Added
38792 `GRUB_COMPLETION_TYPE_ARGUMENT'.
38793
38794 * normal/cmdline.c (print_completion): Handle
38795 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
38796 * normal/menu_entry.c (store_completion): Likewise.
38797
38798 * normal/completion.c (complete_arguments): New function.
38799 (grub_normal_do_completion): Call `complete_arguments' when the
38800 current words start with a dash.
38801
0b5abe02 388022005-08-27 Marco Gerards <metgerards@student.han.nl>
38803
38804 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
38805 `gzio.mod' instead of `io.mod').
38806
d9864ee1 388072005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
38808
38809 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
38810 (DISTDIRS): Added io and video.
38811 Rewrite the search routine to make an output consistently.
38812
38813 * DISTLIST: Added conf/sparc64-ieee1275.mk,
38814 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
38815 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
38816 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
38817 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
38818 util/powerpc/ieee1275/misc.c.
f19dbdb7 38819
d9864ee1 38820 * include/grub/gzio.h: New file.
38821 * io/gzio.c: Likewise.
f19dbdb7 38822
d9864ee1 38823 * kern/file.c (grub_file_close): Call grub_device_close only if
38824 FILE->DEVICE is not NULL.
38825
38826 * include/grub/mm.h [!NULL] (NULL): New macro.
38827
38828 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
38829
38830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
38831 (pkgdata_MODULES): Added gzio.mod.
38832 (gzio_mod_SOURCES): New variable.
38833 (gzio_mod_CFLAGS): Likewise.
38834
38835 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
38836 (pkgdata_MODULES): Added gzio.mod.
38837 (gzio_mod_SOURCES): New variable.
38838 (gzio_mod_CFLAGS): Likewise.
38839
38840 * commands/cat.c: Include grub/gzio.h.
38841 (grub_cmd_cat): Use grub_gzfile_open instead of
38842 grub_file_open.
f19dbdb7 38843
d9864ee1 38844 * commands/cmp.c: Include grub/gzio.h.
38845 (grub_cmd_cmp): Use grub_gzfile_open instead of
38846 grub_file_open.
38847
38848 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
38849 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
38850 grub_file_open.
38851 (grub_rescue_cmd_module): Likewise.
38852
fa46f4b5 388532005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38854
38855 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
38856 kern/sparc64/ieee1275/init.c because it contains _start.
38857 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
38858
e9211b5d 388592005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38860
38861 * configure.ac: Add support for sparc64 host with ieee1275
38862 firmware.
38863 * configure: Generated from configure.ac.
38864 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
38865 instead of int.
38866 (grub_ofdisk_read): Likewise.
38867 (grub_ofdisk_open): Use %p to print pointer values, and cast the
38868 pointers as (void *) to remove a warning.
38869 (grub_ofdisk_close): Likewise.
38870 (grub_ofdisk_read): Likewise.
38871 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38872 returns, so make it return void to remove a warning.
38873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38874 Corresponding prototype change.
38875 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38876 values, and cast the pointers as (void *) to remove a warning.
38877 (grub_mm_dump): Likewise.
38878 * conf/sparc64-ieee1275.mk: New file.
38879 * conf/sparc64-ieee1275.rmk: Likewise.
38880 * include/grub/sparc64/setjmp.h: Likewise.
38881 * include/grub/sparc64/types.h: Likewise.
38882 * include/grub/sparc64/ieee1275/console.h: Likewise.
38883 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38884 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38885 * include/grub/sparc64/ieee1275/time.h: Likewise.
38886 * kern/sparc64/cache.c: Likewise.
38887 * kern/sparc64/dl.c: Likewise.
38888 * kern/sparc64/ieee1275/init.c: Likewise.
38889 * kern/sparc64/ieee1275/openfw.c: Likewise.
38890
385c6a92 388912005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38892
38893 * util/console.c (grub_ncurses_putchar): If C is greater than
38894 0x7f, set C to a question mark.
38895 (grub_ncurses_getcharwidth): New function.
38896 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38897 getcharwidth.
38898
38899 * normal/menu.c (print_entry): Made aware of Unicode. First,
38900 convert TITLE to UCS-4, and predict the cursor position by
38901 grub_getcharwidth.
38902
38903 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38904 const to SRC.
38905 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38906
16ccb8b1 389072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38908
38909 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38910 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38911 grub_strcat.
38912
38913 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38914 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38915 grub_strcpy and grub_strlen. Take it into account that a space
38916 character is inserted as a delimiter.
38917
6a85ce79 389182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38919
38920 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 38921 invalid magic in the error.
6a85ce79 38922
38923 * commands/search.c: New file.
f19dbdb7 38924
6a85ce79 38925 * util/grub-emu.c (main): Call grub_search_init and
38926 grub_search_fini.
38927
38928 * kern/rescue.c (grub_rescue_print_disks): Removed.
38929 (grub_rescue_print_devices): New function.
38930 (grub_rescue_cmd_ls): Use grub_device_iterate with
38931 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38932 grub_rescue_print_disks.
38933
38934 * kern/partition.c (grub_partition_iterate): Return the result of
38935 PARTMAP->ITERATE instead of GRUB_ERRNO.
38936
38937 * kern/device.c: Include grub/partition.h.
38938 (grub_device_iterate): New function.
38939
38940 * include/grub/partition.h (grub_partition_iterate): Return int
38941 instead of grub_err_t.
38942
38943 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38944 prototype.
38945 [GRUB_UTIL] (grub_search_fini): Likewise.
38946
38947 * include/grub/device.h (grub_device_iterate): New prototype.
38948
38949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38950 commands/search.c.
38951 (pkgdata_MODULES): Added search.mod.
38952 (search_mod_SOURCES): New variable.
38953 (search_mod_CFLAGS): Likewise.
38954
38955 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38956 (pkgdata_MODULES): Added search.mod.
38957 (search_mod_SOURCES): New variable.
38958 (search_mod_CFLAGS): Likewise.
38959
38960 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38961 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38962 All callers changed.
38963
38964 * DISTLIST: Added commands/search.c.
38965
ef095434 389662005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38967
38968 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38969 conversion.
38970 (grub_getcharwidth): New function.
38971
38972 * kern/misc.c (grub_utf8_to_ucs4): New function.
38973
38974 * include/grub/term.h (struct grub_term): Added a new member
38975 "getcharwidth".
38976 (grub_getcharwidth): New prototype.
38977
38978 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38979
38980 * term/i386/pc/console.c (map_char): New function. Segregated from
38981 grub_console_putchar.
38982 (grub_console_putchar): Use map_char.
38983 (grub_console_getcharwidth): New function.
38984 (grub_console_term): Specified grub_console_getcharwidth as
38985 getcharwidth.
38986
38987 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38988 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38989
38990 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38991 GRUB_ERRNO.
38992 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
38993 on grub_strtoul completely.
38994 (write_char): Declare local variables in the beginning of the
38995 function.
38996 (grub_vesafb_getcharwidth): New function.
38997 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
38998 getcharwidth.
38999
1f0a95e4 390002005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39001
39002 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39003 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39004 commands/i386/pc/vbetest.c.
39005
39006 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39007 call grub_vbe_get_controller_info again, because the returned
39008 information is volatile.
39009 (grub_vbe_set_video_mode): Mostly rewritten.
39010 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39011 grub_vbe_status_t correctly.
39012 (grub_vbe_get_video_mode_info): Likewise.
39013 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39014 several if statements.
39015
39016 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39017 * commands/i386/pc/vbeinfo.c: ... this.
39018
39019 * commands/i386/pc/vbe_test.c: Renamed to ...
39020 * commands/i386/pc/vbetest.c: ... this.
39021
39022 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39023 ...
39024 (grub_cmd_vbeinfo): ... this. Save video modes before
39025 iterating. Skip a video mode, if it is not available, not enough
39026 information is given or it is monochrome. Show the memory
39027 model. Leave the interpretation of MODEVAR to grub_strtoul
39028 completely.
39029 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39030 (GRUB_MOD_FINI): Likewise.
39031
39032 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39033 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39034 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39035 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39036 grub_strtoul completely.
39037 (real2pm): Removed.
39038 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39039 (GRUB_MOD_FINI): Likewise.
39040
39041 * normal/misc.c: Include grub/mm.h.
39042
39043 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39044 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39045 (vbe_list_modes_mod_SOURCES): Removed.
39046 (vbe_list_modes_mod_CFLAGS): Likewise.
39047 (vbe_test_mod_SOURCES): Likewise.
39048 (vbe_test_mod_CFLAGS): Likewise.
39049 (vbeinfo_mod_SOURCES): New variable.
39050 (vbeinfo_mod_CFLAGS): Likewise.
39051 (vbetest_mod_SOURCES): Likewise.
39052 (vbetest_mod_CFLAGS): Likewise.
39053
992ffbbe 390542005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39055
39056 * normal/misc.c: New file.
39057
39058 * DISTLIST: Added normal/misc.c.
f19dbdb7 39059
992ffbbe 39060 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39061 DISK to HOOK. Call HOOK with DISK.
39062 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39063 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39064 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39065
39066 * normal/menu_entry.c (struct screen): Added a new member
39067 "completion_shown".
39068 (completion_buffer): New global variable.
39069 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39070 (store_completion): New function.
39071 (complete): Likewise.
39072 (clear_completions): Likewise.
39073 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39074 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39075 a tab, call complete.
39076
39077 * normal/completion.c (disk_dev): Removed.
39078 (print_simple_completion): Likewise.
39079 (print_partition_completion): Likewise.
39080 (print_func): New global variable.
39081 (add_completion): Do not take the arguments WHAT or PRINT any
39082 longer. Added a new argument TYPE. Instead of printing directly,
39083 call PRINT_FUNC if not NULL.
39084 All callers changed.
39085 (complete_device): Use a local variable DEV instead of
39086 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39087 (grub_normal_do_completion): Take a new argument HOOK. Do not
39088 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39089 empty string, return NULL instead.
39090 All callers changed.
39091
39092 * normal/cmdline.c (print_completion): New function.
39093
39094 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39095 to HOOK.
39096 All callers changed.
39097
39098 * kern/disk.c (grub_print_partinfo): Removed.
39099
39100 * include/grub/partition.h (struct grub_partition_map): Add a new
39101 argument DISK into HOOK of ITERATE.
39102 (grub_partition_iterate): Add a new argument DISK to HOOK.
39103
39104 * include/grub/normal.h (enum grub_completion_type): New enum.
39105 (grub_completion_type_t): New type.
39106 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39107 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39108 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39109 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39110 (grub_normal_do_completion): Added a new argument HOOK.
39111 (grub_normal_print_device_info): New prototype.
39112
39113 * include/grub/disk.h (grub_print_partinfo): Removed.
39114
39115 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39116 (normal_mod_SOURCES): Likewise.
39117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39118 (normal_mod_SOURCES): Likewise.
39119
39120 * commands/ls.c (grub_ls_list_disks): Use
39121 grub_normal_print_device_info instead of grub_print_partinfo. Free
39122 PNAME.
39123 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39124 duplicating the code.
39125
0bd41162 391262005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39127
39128 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39129 follow GCS more precisely.
39130 * commands/i386/pc/vbe_test.c: Likewise.
39131 * include/grub/i386/pc/vbe.h: Likewise.
39132 * term/i386/pc/vesafb.c: Likewise.
39133 * video/i386/pc/vbe.c: Likewise.
0bd41162 39134
6323696a 391352005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39136
39137 * DISTLIST: Added term/i386/pc/vesafb.c
39138 DISTLIST: Added video/i386/pc/vbe.c
39139 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39140 DISTLIST: Added commands/i386/pc/vbe_test.c.
39141 * commands/i386/pc/vbe_list_modes.c: New file.
39142 * commands/i386/pc/vbe_test.c: Likewise.
39143 * term/i386/pc/vesafb.c: Likewise.
39144 * video/i386/pc/vbe.c: Likewise.
39145 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39146 (grub_vbe_probe) Added prototype.
39147 (grub_vbe_set_video_mode) Likewise.
39148 (grub_vbe_get_video_mode) Likewise.
39149 (grub_vbe_get_video_mode_info) Likewise.
39150 (grub_vbe_set_pixel_rgb) Likewise.
39151 (grub_vbe_set_pixel_index) Likewise.
39152 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39153 (pkgdata_MODULES): Added vesafb.mod.
39154 (pkgdata_MODULES): Added vbe_list_modes.mod.
39155 (pkgdata_MODULES): Added vbe_test.mod.
39156 (vbe_mod_SOURCES): Added.
39157 (vbe_mod_CFLAGS): Likewise.
39158 (vesafb_mod_SOURCES): Likewise.
39159 (vesafb_mod_CFLAGS): Likewise.
39160 (vbe_list_modes_mod_SOURCES): Likewise.
39161 (vbe_list_modes_mod_CFLAGS): Likewise.
39162 (vbe_test_mod_SOURCES): Likewise.
39163 (vbe_test_mod_CFLAGS): Likewise.
39164
0a74e62f 391652005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39166
0a74e62f 39167 * normal/command.c (grub_command_execute): If INTERACTIVE is
39168 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39169 CMDLINE. Disable the pager if INTERACTIVE is true.
39170 All callers are changed.
39171
39172 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39173 before reading a config file.
39174 * normal/main.c (read_config_file): Even if a command is not
39175 found, register it if it is within an entry.
39176
39177 * util/grub-emu.c: Include sys/types.h and unistd.h.
39178 (options): Added --hold.
39179 (struct arguments): Added a new member "hold".
39180 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39181 missing.
39182 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39183 cleared by a debugger, if it is not zero.
39184
39185 * include/grub/normal.h (grub_command_execute): Add an argument
39186 INTERACTIVE.
39187
e51f85ae 391882005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39189
39190 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39191
e9c6f39b 391922005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39193
39194 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39195 program with another one, because the old one didn't detect a bug
39196 in gcc-3.4. Always use regparm 2, because the new test is still
39197 not enough for gcc-4.0. Someone must investigate a simple test
39198 case which detects a bug in gcc-4.0.
39199
8de3495c 392002005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39201
39202 * DISTLIST: Added normal/completion.c.
39203
39204 * normal/completion.c: New file.
f19dbdb7 39205
8de3495c 39206 * term/i386/pc/console.c (grub_console_getwh): New function.
39207 (grub_console_term): Assign grub_console_getwh to getwh.
39208
39209 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39210 function is defined in normal/completion.c as
39211 grub_normal_do_completion.
39212 (grub_cmdline_get): Use grub_normal_do_completion instead of
39213 grub_tab_complete.
39214
39215 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39216 returns non-zero, otherwise return 0.
39217 (grub_partition_iterate): First, probe the partition map. Then,
39218 call ITERATE only for this partition map.
39219
39220 * kern/misc.c (grub_strncmp): Rewritten.
39221
39222 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39223 returns non-zero. Otherwise return 0.
39224
39225 * include/grub/partition.h (grub_partition_map_iterate): Return
39226 int instead of void.
39227
39228 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39229
39230 * include/grub/misc.h (grub_strncmp): Change the type of N to
39231 grub_size_t.
39232
39233 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39234 of void.
39235
39236 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39237 unsigned explicitly before comparing it with I.
8de3495c 39238
39239 * kern/main.c (grub_env_write_root): Add the attribute unused into
39240 VAR.
39241
39242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39243 normal/completion.c.
39244 (normal_mod_SOURCES): Likewise.
39245 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39246 (normal_mod_SOURCES): Likewise.
39247
39248 * normal/command.c (grub_iterate_commands): If ITERATE returns
39249 non-zero, return one immediately.
39250
e85e144b 392512005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39252
39253 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39254 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39255 descriptions.
39256 (grub_vbe_get_controller_info): New function.
39257 (grub_vbe_get_mode_info): Likewise.
39258 (grub_vbe_set_mode): Likewise.
39259 (grub_vbe_get_mode): Likewise.
39260 (grub_vbe_set_memory_window): Likewise.
39261 (grub_vbe_get_memory_window): Likewise.
39262 (grub_vbe_set_scanline_length): Likewise.
39263 (grub_vbe_get_scanline_length): Likewise.
39264 (grub_vbe_set_display_start): Likewise.
39265 (grub_vbe_get_display_start): Likewise.
39266 (grub_vbe_set_palette_data): Likewise.
39267 * include/grub/i386/pc/vbe.h: New file.
39268
c46153d2 392692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39270
39271 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39272 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39273 * DISTLIST: Likewise.
39274 * kern/ieee1275/of.c: Moved to ...
39275 * kern/ieee1275/ieee1275.c: ... here.
39276
0cb90c45 392772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39278
39279 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39280 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39281 Pass 0 as `end' parameter to grub_strtoul().
39282
a19fb360 392832005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39284
39285 * include/grub/powerpc/ieee1275/console.h: Do not include
39286 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39287 ifdef.
39288 (grub_console_cur_color): Remove i386-specific prototype.
39289 (grub_console_real_putchar): Likewise.
39290 (grub_console_checkkey): Likewise.
39291 (grub_console_getkey): Likewise.
39292 (grub_console_getxy): Likewise.
39293 (grub_console_gotoxy): Likewise.
39294 (grub_console_cls): Likewise.
39295 (grub_console_setcursor): Likewise.
39296 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39297 Include <grub/machine/console.h>.
39298 * term/ieee1275/ofconsole.c: Likewise.
39299
4ac9bd04 393002005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39301
39302 * Makefile.in (LIBLZO): New variable.
39303
39304 * configure.ac: Check for LZO version 2.
39305
39306 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39307 lzo/lzo1x.h instead of lzo1x.h.
39308
39309 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39310 of -llzo.
39311
39312 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39313 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39314
39315 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39316 copying the data from PARTITION to P.
39317
f4917dfd 393182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39319
39320 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39321 negative, unload the module.
39322
39323 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39324 map is "pc_partition_map" but not "pc".
39325 (usage): Fix the description. The options are --boot-image and
39326 --core-image but not --boot-file or --core-file.
39327 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39328 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39329 DEFAULT_DIRECTORY.
39330
39331 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39332 --core-file. Specify INSTALL_DEVICE as an argument.
39333
39334 * util/console.c: Include config.h.
39335 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39336 [HAVE_NCURSES_H]: Include ncurses.h.
39337 [HAVE_CURSES_H]: Include curses.h.
39338 [!A_NORMAL] (A_NORMAL): Defined as zero.
39339 [!A_STANDOUT] (A_STANDOUT): Likewise.
39340
39341 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39342 -lncurses.
39343 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39344
39345 * configure.ac: Check for curses libraries and headers.
39346
39347 * Makefile.in (LIBCURSES): New variable.
39348
39349 * genmk.rb (Script::rule): Set the executable bits.
39350
39351 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39352 name of the PC partition map is "pc_partition_map" but not "pc".
39353
0e143073 393542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39355
39356 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39357 (modules): Likewise.
39358 (usage): Added descriptions for --modules and --grub-probefs.
39359 Handle --modules and --grub-probefs. Save the arguments in MODULES
39360 and GRUB_PROBEFS, respectively.
39361 Auto-detect a filesystem module against GRUBDIR. If the result is
39362 empty and modules are not specified explicitly, abort the
39363 installation. Add the result to MODULES.
39364
39365 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39366 disk/powerpc/ieee1275/ofdisk.c,
39367 include/grub/powerpc/ieee1275/init.h and
39368 term/powerpc/ieee1275/ofconsole.c.
39369 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39370 term/ieee1275/ofconsole.c.
39371
39372 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39373
39374 * COPYING: Upgraded to the latest version. Only the address of the
39375 FSF office has changed.
f19dbdb7 39376
efd6e6d5 393772005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39378
39379 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39380 kern/ieee1275.c with kern/ieee1275/of.c.
39381
39382 * kern/ieee1275.c: Moved to ...
39383 * kern/ieee1275/of.c: ... here.
39384
8ceafda2 393852005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39386
39387 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 39388 readability.
8ceafda2 39389
39390 * config.guess: Updated to the latest version from gnulib.
39391 * config.sub: Likewise.
39392 * install.sh: Likewise.
39393 * mkinstalldirs: Likewise.
39394
39395 * include/grub/console.h: Removed. This file is arch-specific. Do
39396 not put this in include/grub.
39397
39398 * include/grub/i386/pc/console.h: Resurrected.
39399
39400 * util/console.c: Include grub/machine/console.h instead of
39401 grub/console.h.
39402 * util/grub-emu.c: Likewise.
39403
267f6cd9 394042005-08-04 Marco Gerards <metgerards@student.han.nl>
39405
39406 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39407 hardcoded value.
f19dbdb7 39408
267f6cd9 39409 From Vincent Pelletier <subdino2004@yahoo.fr>
39410 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39411 Redefined to use grub_getwh.
39412 (grub_term): New member named getwh.
39413 (grub_getwh): New prototype.
39414 * kern/term.c (grub_getwh): New function.
39415 * term/i386/pc/console.c (grub_console_getwh): New function.
39416 (grub_console_term): New member `getwh'.
39417 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39418 (grub_vga_term): New member `getwh'.
0b5abe02 39419 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 39420 grub_ssize_t.
39421 (grub_ofconsole_getw): New function.
39422 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39423 (grub_ofconsole_term): New field named getwh and new initial
39424 value.
39425
3be7266d 394262005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39427
39428 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39429 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39430 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39431 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39432 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39433 of <grub/machine/ieee1275.h>.
39434 * commands/ieee1275/reboot.c: Likewise.
39435 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39436 * kern/ieee1275.c: ... to here. All users updated. Change all
39437 parameter structs to use new type `grub_ieee1275_cell_t'.
39438 * term/powerpc/ieee1275/ofconsole.c: Move ...
39439 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39440 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39441 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39442 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39443 to return int.
39444 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39445 Remove unused prototypes. All users updated.
39446 * include/grub/powerpc/ieee1275/console.h: Removed.
39447 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39448 `grub_ieee1275_cell_t'.
39449 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39450 Cast comparisons with -1 to the correct type.
39451 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39452 type to match `grub_ieee1275_entry_fn'.
39453
8b5f3938 394542005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39455
39456 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39457
39458 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39459 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39460 partmap/sun.c.
39461 (grub_probefs_SOURCES): New variable.
39462
39463 * util/i386/pc/grub-probefs.c: New file.
39464
39465 * util/i386/pc/grub-setup.c (main): Call
39466 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39467 grub_hfs_init and grub_jfs_init to initialize the system. Call
39468 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39469 grub_pc_partition_map_fini to finish the system.
39470
ea409713 394712005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39472
39473 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39474 function.
39475 (grub_multiboot_load_elf32): Likewise.
39476 (grub_multiboot_is_elf64): Likewise.
39477 (grub_multiboot_load_elf64): Likewise.
39478 (grub_multiboot_load_elf): Likewise.
39479 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39480 an ELF32 or ELF64 file.
39481 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39482
39483 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39484 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39485 NULL before calling FS->LABEL.
39486 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39487 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39488 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39489 before calling FS->LABEL.
39490
141a288b 394912005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39492
39493 * util/i386/pc/grub-install.in (datadir): New variable.
39494 (libdir): Removed.
39495 (pkgdatadir): New variable.
39496 (pkglibdir): Removed.
39497
0d5f8a54 394982005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39499
39500 * DISTLIST: Added util/i386/pc/grub-install.in.
39501
39502 * util/i386/pc/grub-install.in: New file.
39503
39504 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39505 (grub_install_SOURCES): Likewise.
39506
39507 * genmk.rb: Added support for scripts.
39508 (Script): New class.
39509 (scripts): New variable.
39510
39511 * Makefile.in (install-local): Install sbin_SCRIPTS by
39512 INSTALL_SCRIPT.
39513 (uninstall): Remove sbin_SCRIPTS.
39514
39515 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39516 device, try to get a GRUB device by
39517 grub_util_biosdisk_get_grub_dev.
39518 Free DEST_DEV.
39519
39520 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39521 description for --device-map.
39522
5f968e1e 395232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39524
39525 Change the semantics of variable hooks. They now return strings
39526 instead of error values.
f19dbdb7 39527
5f968e1e 39528 * util/i386/pc/grub-setup.c: Include grub/env.h.
39529 (setup): Use grub_device_set_root instead of grub_env_set.
39530
39531 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39532 grub_env_get instead of grub_device_set_root and
39533 grub_device_get_root, respectively.
39534
39535 * kern/main.c (grub_env_write_root): New function.
39536 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39537 grub_env_set instead of grub_device_set_root.
39538
39539 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39540 many variables.
39541 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39542 rather than calling ENV->WRITE_HOOK afterwards.
39543 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39544 passing a pointer of a pointer.
39545 (grub_register_variable_hook): Change the types of "read_hook" and
39546 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39547 respectively.
39548 Allocate the default empty string on the heap, because this string
39549 may be freed later.
39550
39551 * kern/device.c: Include grub/env.h.
39552 (grub_device_set_root): Removed.
39553 (grub_device_get_root): Likewise.
39554 (grub_device_open): Use grub_env_get instead of
39555 grub_device_get_root.
39556
39557 * include/grub/env.h (grub_env_read_hook_t): New type.
39558 (grub_env_write_hook_t): Likewise.
39559 (grub_env_var): Change the types of "read_hook" and "write_hook"
39560 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39561 (grub_register_variable_hook): Likewise.
39562
39563 * include/grub/device.h (grub_device_set_root): Removed.
39564 (grub_device_set_root): Likewise.
39565
39566 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39567 make sure that DIRNAME terminates with '/', so that
39568 grub_fat_find_dir will fail if PATH is not a directory.
39569
39570 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39571 from DIRNAME.
39572 Use the qualifier auto for print_files and print_files_long.
39573 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39574 as a regular file.
39575 Put a newline only if there is no error.
39576 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39577 used.
39578
896f0afd 395792005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39580
39581 * kern/partition.c (grub_partition_probe): Initialize PART to
39582 NULL. Otherwise, when no partition map is registered, this returns
39583 a garbage.
39584
b28b81b2 395852005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39586
39587 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39588 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39589 valid.
39590
5f3607e0 395912005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39592
39593 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39594 information on each device, if it does not have partitions. Print
39595 "Device" instead of "Disk", because this function is not specific
39596 to disk devices.
39597
39598 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39599 static to ensure that it is put on the memory rather than a
39600 register.
39601
502c87e8 396022005-07-17 Yoshinori Okuji <okuji@enbug.org>
39603
39604 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39605 (grub_cat_init): Likewise.
39606 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39607 (options): Likewise.
39608 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39609 (grub_configfile_init): Likewise.
39610 * font/manager.c (GRUB_MOD_INIT): Likewise.
39611 * commands/help.c (GRUB_MOD_INIT): Likewise.
39612 (grub_help_init): Likewise.
39613 * normal/command.c (grub_command_init): Likewise.
39614 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39615 * disk/loopback.c (grub_loop_init): Likewise.
39616 (GRUB_MOD_INIT): Likewise.
39617 * commands/ls.c (grub_ls_init): Likewise.
39618 (GRUB_MOD_INIT): Likewise.
39619 (options): Likewise.
39620 * commands/boot.c (grub_boot_init): Likewise.
39621 (GRUB_MOD_INIT): Likewise.
39622 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39623 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39624 (GRUB_MOD_INIT): Likewise.
39625 * commands/cmp.c (grub_cmp_init): Likewise.
39626 (GRUB_MOD_INIT): Likewise.
39627
39628 * normal/arg.c: Use <> instead of "" to include header files.
39629 (SHORT_ARG_HELP): New macro.
39630 (SHORT_ARG_USAGE): Likewise.
39631 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39632 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
39633 descriptions.
39634 (find_short): Check if C is 'h' or 'u' explicitly.
39635 (grub_arg_show_help): Use space characters instead of tabs. Treat
39636 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
39637 are shown with --help and --usage only if they are not used for
39638 the command itself.
39639 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39640 'h' and 'u'.
39641
39642 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39643 const into "longarg". Change the type of "shortarg" to int.
39644
f806d18e 396452005-07-17 Yoshinori Okuji <okuji@enbug.org>
39646
39647 * boot/i386/pc/boot.S (boot_drive_check): New label.
39648
39649 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39650 macro.
39651
39652 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39653 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39654
e293232b 396552005-07-17 Yoshinori Okuji <okuji@enbug.org>
39656
39657 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39658 When turning off Gate A20, skip the check and return immediately,
39659 because this is not fatal usually.
39660
ebedfd00 396612005-07-17 Yoshinori Okuji <okuji@enbug.org>
39662
39663 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39664 be 0x7C00 instead of 0x8000.
39665
39666 * boot/i386/pc/pxeboot.S: Rewritten.
39667
39668 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39669 EXT_C.
39670 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39671 result.
39672
654fc59f 396732005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39674
39675 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39676 robustness. This routine now supports a BIOS call and System
39677 Control Port A to modify the gate A20.
39678
39679 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39680 Increased to 0x440.
39681
09f9923f 396822005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39683
39684 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39685 device path and resulting ihandle.
39686 (grub_ofdisk_close): dprintf the ihandle being closed.
39687 (grub_ofdisk_read): dprintf function parameters.
39688 * kern/mm.c (grub_mm_init_region): Likewise.
39689 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39690 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39691 size, and boot arguments.
39692 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39693 before loading into memory.
39694 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39695 before loading into memory.
39696
7ef504d8 396972005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39698
39699 * kern/mm.c: Added much documentation.
39700 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39701 8, set to 5 instead of 8.
39702
e0f050c2 397032005-07-10 Yoshinori Okuji <okuji@enbug.org>
39704
39705 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
39706
39707 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
39708 (grub_mkdevicemap_SOURCES): New variable.
39709
39710 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
39711 lib/device.c of GRUB Legacy.
39712
7224189a 397132005-07-10 Yoshinori Okuji <okuji@enbug.org>
39714
39715 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
39716 instead of PATH is NULL.
39717
68c864eb 397182005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
39719
39720 * commands/cmp.c (BUFFER_SIZE): New macro.
39721 (grub_cmd_cmp): Close the right file at the right time. Compare
39722 only data just read. Don't report files of different size as
39723 identical. Dynamically allocate buffers. Move variable
39724 declarations at the beginning of function.
39725
e6f3e614 397262005-07-09 Yoshinori Okuji <okuji@enbug.org>
39727
39728 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
39729 reverse.
39730
f8f1559a 397312004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
39732
39733 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
39734 when backspace is pressed at beginning of line.
39735
39c9d41d 397362005-07-03 Yoshinori Okuji <okuji@enbug.org>
39737
39738 * DISTLIST: Added genfslist.sh.
39739
39740 * normal/main.c (fs_module_list): New variable.
39741 (autoload_fs_module): New function.
39742 (read_fs_list): Likewise.
39743 (grub_normal_execute): Call read_fs_list.
39744
39745 * kern/fs.c (grub_fs_autoload_hook): New variable.
39746 (grub_fs_probe): Added support for auto-loading.
39747
39748 * include/grub/normal.h (struct grub_fs_module_list): New struct.
39749 (grub_fs_module_list_t): New type.
39750
39751 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
39752 (grub_fs_autoload_hook): New prototype.
39753
39754 * genfslist.sh: New file.
f19dbdb7 39755
39c9d41d 39756 * genmk.rb: Added a rule to generate a filesystem list.
39757
121c1d83 397582005-06-30 Marco Gerards <metgerards@student.han.nl>
39759
39760 * configure.ac: Fix the test for cross-compiling.
39761
39762 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
39763 define GRUB_UTIL anymore.
39764
39765 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
39766 so this function works on other systems than just big endian.
39767 (load_modules): Likewise.
39768 (add_segments): Likewise.
39769
e75d76e1 397702005-06-23 Hollis Blanchard <hollis@penguinppc.org>
39771
39772 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
39773 contains `l' modifier, get a long from va_arg().
39774
50b5a0a7 397752005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
39776
39777 * kern/mm.c (grub_free): If the next free block which is being
39778 merged is the first free block, set the first block to the block
39779 being freed.
39780 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
39781
89371b20 397822005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39783
39784 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
39785 `grub_ieee1275_chosen'.
39786
168d6e58 397872005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39788
39789 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
39790 (grub_ieee1275_chosen): New variable.
39791 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
39792 `chosen'.
39793 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
39794 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39795 Rename first argument to `phandle' for consistency.
39796 (grub_ieee1275_get_property_length): Likewise.
39797 (grub_ieee1275_next_property): Likewise. Change type of first argument
39798 to grub_ieee1275_phandle_t.
39799 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
39800 Move export next to declaration.
39801 (grub_ieee1275_chosen): New variable.
39802 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
39803 Correct cosmetic typo.
39804 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
39805 `grub_ieee1275_chosen'.
39806 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
39807 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
39808 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
39809 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
39810 `grub_ieee1275_chosen'.
39811
ca5baa3f 398122005-05-10 Hollis Blanchard <hollis@penguinppc.org>
39813
39814 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
39815 /chosen/bootargs.
39816 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
39817 /chosen/bootargs as "variable=value" pairs.
39818
708b345f 398192005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
39820
39821 * include/grub/misc.h (grub_dprintf): New macro.
39822 (grub_real_dprintf): New prototype.
39823 (grub_strword): Likewise.
39824 (grub_iswordseparator): Likewise.
39825 * kern/misc.c (grub_real_dprintf): New function.
39826 (grub_strword): Likewise.
39827 (grub_iswordseparator): Likewise.
39828
f4c5e67c 398292005-04-30 Hollis Blanchard <hollis@penguinppc.org>
39830
39831 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
39832 (roundup): Remove macro.
39833 (grub_ieee1275_flags): Make static.
39834 (grub_ieee1275_realmode): Remove.
39835 (grub_ieee1275_test_flag): New function.
39836 (grub_ieee1275_set_flag): Likewise.
39837 (find_options): Rename to `grub_ieee1275_find_options'; update
39838 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
39839 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
39840 (cmain): New prototype.
39841 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
39842 `grub_ieee1275_flags' directly.
39843 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
39844 machine/biosdisk.h.
39845 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
39846 Don't include grub/machine/init.h.
39847 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
39848 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39849 Remove prototype.
39850 (grub_ieee1275_realmode): Likewise.
39851 (grub_ieee1275_flag): New enum.
39852 (grub_ieee1275_test_flag): New prototype.
39853 (grub_ieee1275_set_flag): New prototype.
39854 * include/grub/powerpc/ieee1275/init.h: Remove file.
39855 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
39856 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
39857 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
39858 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
39859 comment.
39860 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
39861 `grub_ieee1275_test_flag'.
39862 (grub_ieee1275_encode_devname): Likewise.
39863
ed16607e 398642005-04-21 Hollis Blanchard <hollis@penguinppc.org>
39865
39866 * include/grub/powerpc/ieee1275/ieee1275.h
39867 (grub_ieee1275_encode_devname): New prototype.
39868 (grub_ieee1275_get_filename): Likewise.
39869 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39870 function.
39871 (grub_set_prefix): Likewise.
39872 (grub_machine_init): Call grub_set_prefix.
39873 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39874 (grub_parse_type): New enum.
39875 (grub_ieee1275_get_devargs): New function.
39876 (grub_ieee1275_get_devname): Likewise.
39877 (grub_ieee1275_parse_args): Likewise.
39878 (grub_ieee1275_get_filename): Likewise.
39879 (grub_ieee1275_encode_devname): Likewise.
39880
be369920 398812005-03-30 Marco Gerards <metgerards@student.han.nl>
39882
39883 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39884 `grub_loader_unset'.
39885
a5ce3a4a 398862005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39887
39888 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39889 instead of grub_ieee1275_interpret.
39890 (grub_halt_init): New function.
39891 (grub_halt_fini): Likewise.
39892 (GRUB_MOD_INIT): Correct message grammar.
39893 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39894 instead of grub_ieee1275_interpret.
39895 (grub_reboot_init): New function.
39896 (grub_reboot_fini): Likewise.
39897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39898 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39899 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39900 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39901 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39902 function.
39903 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39904 Add prototype.
39905 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39906 prototype.
39907 (grub_halt): Likewise.
39908 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39909 (cmain): Remove __attribute__((unused)).
39910 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39911 (grub_heap_len): Likewise.
39912 (grub_machine_fini): New function.
39913 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39914 (grub_halt): Likewise.
39915 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39916 function.
39917 * util/powerpc/ieee1275/misc.c: New file.
39918
0058f771 399192005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39920
39921 * DISTLIST: New file.
39922 * gendistlist.sh: Likewise.
f19dbdb7 39923
0058f771 39924 * Makefile.in (COMMON_DISTFILES): Removed.
39925 (BOOT_DISTFILES): Likewise.
39926 (CONF_DISTFILES): Likewise.
39927 (DISK_DISTFILES): Likewise.
39928 (FS_DISTFILES): Likewise.
39929 (INCLUDE_DISTFILES): Likewise.
39930 (KERN_DISTFILES): Likewise.
39931 (LOADER_DISTFILES): Likewise.
39932 (TERM_DISTFILES): Likewise.
39933 (UTIL_DISTFILES): Likewise.
39934 (DISTFILES): Likewise.
39935 (uninstall): Uninstall files in $(pkgdata_DATA).
39936 (DISTLIST): New target.
39937 (distdir): Use the contents of the file DISTLIST to get a list of
39938 distributed files.
39939
46b3b8a5 399402005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39941
39942 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39943 descriptor. This is ported from GRUB Legacy.
39944
39945 * gencmdlist.sh: Added an extra semicolon to make it work with
39946 old sed versions. Reported by Robert Bihlmeyer
39947 <robbe@orcus.priv.at>.
39948
5822ff87 399492005-03-08 Yoshinori Okuji <okuji@enbug.org>
39950
39951 Automatic loading of commands is supported.
f19dbdb7 39952
5822ff87 39953 * normal/main.c (read_command_list): New function.
39954 (grub_normal_execute): Call read_command_list.
39955
39956 * normal/command.c (grub_register_command): Return zero or CMD.
39957 Allocate CMD->NAME from the heap.
39958 Initialize CMD->MODULE_NAME to zero.
39959 Find the same name as well. If the same command is found and it is
39960 a dummy command, overwrite members. If it is not a dummy command,
39961 return zero.
39962 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39963 (grub_command_find): If a dummy command is found, load a module
39964 and retry to find a command only once.
39965
39966 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39967 make sure that each command is loaded.
39968
39969 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39970 macro.
39971 (struct grub_command): Remove const from the member `name'.
39972 Add a new member `module_name'.
39973 (grub_register_command): Return grub_command_t.
39974
39975 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39976 sure that each command is loaded.
39977
39978 * genmk.rb (PModule::rule): Specify a module name without the
39979 suffix ".mod" to gencmdlist.sh.
39980
7b1f4b57 399812005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39982
39983 * gencmdlist.sh: New file.
f19dbdb7 39984
7b1f4b57 39985 * genmk.rb (PModule::rule): Generate a rule for a command list.
39986 Clean command.lst.
39987 Generate command.lst from $(COMMANDFILES).
39988
39989 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39990 (DATA): Added $(pkgdata_DATA).
39991 (install-local): Install files in $(pkgdata_DATA).
39992
062aaf39 399932005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39994
39995 * term/i386/pc/vga.c (debug_command): Removed.
39996 (GRUB_MOD_INIT): Do not register the command "debug".
39997
39998 From Hollis Blanchard:
39999 * commands/configfile.c: New file.
40000 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40001 commands/configfile.c.
40002 (pkgdata_MODULES): Added configfile.mod.
40003 (configfile_mod_SOURCES): New variable.
40004 (configfile_mod_CFLAGS): Likewise.
40005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40006 commands/configfile.c.
40007 (pkgdata_MODULES): Added configfile.mod.
40008 (configfile_mod_SOURCES): New variable.
40009 (configfile_mod_CFLAGS): Likewise.
40010 * util/grub-emu.c (main): Call grub_configfile_init and
40011 grub_configfile_fini.
40012 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40013 prototype.
40014 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40015
cee01aa6 400162005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40017
40018 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40019 address.
40020
40021 * commands/help.c (grub_cmd_help): Do not print newlines after
40022 the last command in print_command_help.
40023
93f3a1d8 400242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40025
40026 * commands/default.h: New file.
40027 * commands/timeout.h: Likewise.
40028 * normal/context.c: Likewise.
f19dbdb7 40029
93f3a1d8 40030 * util/misc.c: Do not include sys/times.h.
40031 Include sys/time.h and grub/machine/time.h.
40032 (grub_get_rtc): Rewritten with gettimeofday.
40033
40034 * util/grub-emu.c (main): Call grub_default_init and
40035 grub_timeout_init before grub_normal_init, and call
40036 grub_timeout_fini and grub_default_fini after grub_main.
40037
40038 * util/console.c (grub_ncurses_checkkey): Return the read
40039 character or -1.
40040
40041 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40042 timeouts.
40043
40044 * normal/main.c (read_config_file): Push MENU. If this fails,
40045 print an error and wait for a user input.
40046 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40047 If a menu is empty or an error occurs, pop MENU.
40048 (grub_normal_execute): Pop and free MENU after grub_menu_run
40049 returns.
40050
40051 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40052
40053 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40054 include time.h.
40055 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40056 without GRUB_UTIL.
40057 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40058 time.h.
40059 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40060 without GRUB_UTIL.
40061
40062 * include/grub/normal.h (struct grub_menu_list): New struct.
40063 (grub_menu_list_t): New type.
40064 (struct grub_context): New struct.
40065 (grub_context_t): New type.
40066 (grub_register_command): Got rid of EXPORT_FUNC.
40067 (grub_unregister_command): Likewise.
40068 (grub_context_get): New prototype.
40069 (grub_context_get_current_menu): Likewise.
40070 (grub_context_push_menu): Likewise.
40071 (grub_context_pop_menu): Likewise.
40072 [GRUB_UTIL] (grub_default_init): Likewise.
40073 [GRUB_UTIL] (grub_default_fini): Likewise.
40074 [GRUB_UTIL] (grub_timeout_init): Likewise.
40075 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40076
40077 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40078 commands/timeout.c and normal/context.c.
40079 (pkgdata_MODULES): Added default.mod and timeout.mod.
40080 (normal_mod_SOURCES): Added normal/context.c.
40081 (default_mod_SOURCES): New variable.
40082 (default_mod_CFLAGS): Likewise.
40083 (timeout_mod_SOURCES): Likewise.
40084 (timeout_mod_CFLAGS): Likewise.
40085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40086 conf/i386-pc.rmk.
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
40094 * Makefile.in (all-local): Added $(MKFILES).
40095
4ed2e1dd 400962005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40097
40098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40099 (grub_emu_SOURCES): Likewise.
40100 (pkgdata_MODULES): Add `sun.mod'.
40101 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40103 `partmap/sun.c'.
40104 (pkgdata_MODULES): Add `sun.mod'.
40105 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40106 * include/grub/partition.h (grub_sun_partition_map_init): New
40107 prototype.
40108 (grub_sun_partition_map_fini): Likewise.
40109 * partmap/sun.c: New file.
40110 * util/grub-emu.c (main): Initialize and de-initialize the sun
40111 partitionmap support.
40112
4d4e372e 401132005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40114
40115 This implements an Emacs-like menu entry editor.
f19dbdb7 40116
4d4e372e 40117 * normal/menu_entry.c: New file.
f19dbdb7 40118
4d4e372e 40119 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40120 characters to ASCII.
40121 (saved_char): New variable.
40122 (grub_ncurses_checkkey): Rewritten completely.
40123 (grub_ncurses_getkey): Likewise.
40124 (grub_ncurses_init): Call raw instead of cbreak.
40125
40126 * normal/menu.c (print_entry): Do not put a space.
40127 (init_page): Renamed to ...
40128 (grub_menu_init_page): ... this. All callers changed.
40129 (edit_menu_entry): Removed.
40130 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40131
40132 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40133
40134 * kern/misc.c (grub_vprintf): Call grub_refresh.
40135
40136 * normal/menu.c (DISP_LEFT): Renamed to ...
40137 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40138 * normal/menu.c (DISP_UP): Renamed to ...
40139 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40140 * normal/menu.c (DISP_RIGHT): Renamed to ...
40141 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40142 * normal/menu.c (DISP_DOWN): Renamed to ...
40143 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40144 * normal/menu.c (DISP_HLINE): Renamed to ...
40145 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40146 * normal/menu.c (DISP_VLINE): Renamed to ...
40147 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40148 * normal/menu.c (DISP_UL): Renamed to ...
40149 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40150 * normal/menu.c (DISP_UR): Renamed to ...
40151 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40152 * normal/menu.c (DISP_LL): Renamed to ...
40153 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40154 * normal/menu.c (DISP_LR): Renamed to ...
40155 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40156 * normal/menu.c (TERM_WIDTH): Renamed to ...
40157 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40158 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40159 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40160 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40161 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40162 * normal/menu.c (TERM_MARGIN): Renamed to ...
40163 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40164 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40165 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40166 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40167 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40168 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40169 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40170 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40171 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40172 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40173 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40174 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40175 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40176 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40177 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40178 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40179 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40180 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40181 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40182 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40183 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40184 All callers changed.
40185
40186 * include/grub/normal.h: New prototype.
40187
40188 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40189 normal/menu_entry.c.
40190 (normal_mod_SOURCES): Likewise.
40191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40192 (normal_mod_SOURCES): Likewise.
40193
e6b92c8a 401942005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40195
40196 * include/grub/normal.h (grub_halt_init): New prototype.
40197 (grub_halt_fini): Likewise.
40198 (grub_reboot_init): Likewise.
40199 (grub_reboot_fini): Likewise.
40200
40201 * util/grub-emu.c: Include signal.h.
40202 (main_env): New global variable.
40203 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40204 catch C-c.
40205 (grub_machine_fini): New function.
40206 (main): Call grub_halt_init and grub_reboot_init before
40207 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40208 Call setjmp with MAIN_ENV to go back afterwards.
40209 Call grub_machine_fini right before return.
40210
40211 * include/grub/util/misc.h: Include setjmp.h.
40212 (main_env): New prototype.
40213
40214 * include/grub/kernel.h (grub_machine_fini): New prototype.
40215 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40216 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40217
40218 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40219 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40220 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40221
e6b92c8a 40222 * util/i386/pc/misc.c: New file.
f19dbdb7 40223
e6b92c8a 40224 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40225 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40226 commands/i386/pc/reboot.c.
40227
c642636f 402282005-02-14 Guillem Jover <guillem@hadrons.org>
40229
40230 * include/grub/dl.h (grub_dl_check_header): New prototype.
40231 (grub_arch_dl_check_header): Change return type to grub_err_t,
40232 remove size parameter and export function. Update all callers.
40233 * kern/dl.c (grub_dl_check_header): New function.
40234 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40235 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40236 are inside the core.
40237 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40238 independent ELF header checks.
40239 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40240 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40241 `grub_dl_check_header' instead of explicit checks. Check for the
40242 ELF type.
40243 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40244 `grub_dl_check_header' instead of explicit checks. Remove arch
40245 specific ELF header checks.
40246
e6b92c8a 40247 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40248 argument SIZE.
40249
5eabe94b 402502005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40251
40252 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40253 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40254
1b14a681 402552005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40256
40257 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40258 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40259 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40260 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40261 * partmap/amiga.c (amiga_partition_map_iterate): Return
40262 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40263 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40264
aca108aa 402652005-02-01 Guillem Jover <guillem@hadrons.org>
40266
40267 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40268 help info.
40269
c9f9c556 402702005-01-31 Marco Gerards <metgerards@student.han.nl>
40271
40272 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40273 Removed prototype.
40274 (grub_rescue_cmd_linux): New prototype.
40275 (grub_rescue_cmd_initrd): Likewise.
40276 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40277 `bi_rec'.
40278 (grub_linux_release_mem): Release the memory for the initrd.
40279 (grub_load_linux): Renamed from this...
40280 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40281 Changed `entry' not to be static. Loop over memory regions to
40282 find another one when the default fails.
40283 (grub_rescue_cmd_initrd): New function.
40284 (grub_linux_init): Remove function.
40285 (grub_linux_fini): Likewise.
40286 (GRUB_MOD_INIT): Register `initrd'.
40287 (GRUB_MOD_FINI): Unregister `initrd'.
40288 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40289 Function removed.
40290 (grub_linux_normal_fini): Likewise.
40291 (GRUB_MOD_INIT): Register `initrd'.
40292 (GRUB_MOD_FINI): Unregister `initrd'.
40293
990cf3aa 402942005-01-31 Marco Gerards <metgerards@student.han.nl>
40295
40296 * commands/help.c: New file.
40297 * normal/arg.c (show_help): Renamed to...
40298 (grub_arg_show_help): ... this.
40299 * commands/i386/pc/halt.c: New file.
40300 * commands/i386/pc/reboot.c: Likewise.
40301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40302 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40303 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40304 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40305 variables.
40306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40307 `commands/help.c'.
40308 (pkgdata_MODULES): Add `help.mod'.
40309 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40310 * grub/i386/pc/init.h (grub_reboot): New prototype.
40311 (grub_halt): Likewise.
40312 * include/grub/normal.h (grub_arg_show_help): New prototype.
40313 (grub_help_init): Likewise.
40314 (grub_help_fini): Likewise.
40315 * util/grub-emu.c (main): Initialize and deinitialize the help
40316 command.
40317
40318 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40319
40320 * normal/command.c (grub_command_init): Fixed the description of
40321 the `set' and `unset' commands.
40322
403232005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40324
40325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40326 function.
40327 * commands/ieee1275/halt.c: New file.
40328 * commands/ieee1275/reboot.c: Likewise.
40329 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40330 `__attribute__ ((unused))'. Some GCS related fixed.
40331 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40332 (grub_suspend_fini): Likewise.
40333 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40334 and `halt.mod'.
40335 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40336 (halt_mod_CFLAGS): New variables.
40337 * include/grub/powerpc/ieee1275/ieee1275.h
40338 (grub_ieee1275_interpret): New prototype.
40339
1ab09cc7 403402005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40341
40342 * include/grub/misc.h (memmove): New prototype.
40343 (memcpy): Likewise.
40344
8b8cbdb2 403452005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40346
40347 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40348 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40349
e3741a27 403502005-01-22 Marco Gerards <metgerards@student.han.nl>
40351
40352 * kern/misc.c (grub_strndup): Function rewritten.
40353
776bd780 403542005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40355
40356 * normal/menu.c (TERM_WIDTH): Macro redefined.
40357 (TERM_TOP_BORDER_Y): Likewise.
40358 (draw_border): Replaced while-loop by a for-loop. Make the number
40359 of lines consistent with the number of lines displayed in
40360 print_entries. Added a margin below the rectangle.
40361 (print_entry): Make the entry fit in the rectangle.
40362 (print_entries): Display the scroll arrows next to the right
40363 border.
40364
78026bce 403652005-01-21 Marco Gerards <metgerards@student.han.nl>
40366
40367 * fs/minix.c (grub_minix_find_file): Reserve more space for
40368 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40369 `grub_strncpy' to copy `path' into it.
40370
67bbaf0f 403712005-01-21 Marco Gerards <metgerards@student.han.nl>
40372
40373 Add the loopback device, a device via which files can be accessed
40374 as devices.
f19dbdb7 40375
67bbaf0f 40376 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40377 (pkgdata_MODULES): Add loopback.mod.
40378 (loopback_mod_SOURCES): New variable.
40379 (loopback_mod_CFLAGS): Likewise.
40380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40381 `disk/loopback.c'.
40382 (pkgdata_MODULES): Add loopback.mod.
40383 (loopback_mod_SOURCES): New variable.
40384 (loopback_mod_CFLAGS): Likewise.
40385 * disk/loopback.c: new file.
40386 * include/grub/normal.h (grub_loop_init): New prototype.
40387 (grub_loop_fini): New prototype.
40388 * util/grub-emu.c (main): Initialize and de-initialize loopback
40389 support.
40390 * include/grub/disk.h (grub_disk_dev_id): Add
40391 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40392
6f1c18bd 403932005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40394
40395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40396 function.
40397 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40398 (suspend_mod_SOURCES): New variable.
40399 (suspend_mod_CFLAGS): Likewise.
40400 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40401 New prototype.
40402 * commands/ieee1275/suspend.c: New file.
40403
b38551da 404042005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40405
40406 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 40407 ((unused))' to `__attribute__ ((used))'.
b38551da 40408 (GRUB_MOD_FINI): Likewise.
40409 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40410 * genmk.rb (PModule): Assign space to common symbols when linking
40411 modules.
40412
777aff39 404132005-01-20 Marco Gerards <metgerards@student.han.nl>
40414
40415 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40416 `unsigned' arguments to `grub_size_t'.
40417 (grub_malloc): Likewise.
40418 (grub_realloc): Likewise.
40419 (grub_memalign): Likewise.
40420 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40421 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40422 * util/misc.c (grub_malloc): Likewise.
40423 (grub_realloc): Likewise.
40424 * kern/mm.c (get_header_from_pointer): Change the casts to
40425 `unsigned' into a cast to `grub_size_t'.
40426
40427 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40428 point to `currnode' when `currnode' is changed.
40429
40430 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40431 Schottelius <nico-linux@schottelius.org>.
40432
d0ff18e1 404332005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40434
40435 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40436 (note_path): Remove variable.
40437 (GRUB_IEEE1275_NOTE_NAME): New macro.
40438 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40439 (grub_ieee1275_note_hdr): New structure.
40440 (grub_ieee1275_note_desc): Likewise.
40441 (grub_ieee1275_note): Likewise.
40442 (load_note): Remove `dir' argument. All callers updated. Remove
40443 `note_img' and `path'. Do not load a file from `note_path'.
40444 Initialize a struct grub_ieee1275_note and write that to `out'.
40445 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40446
4ca7004c 404472005-01-05 Marco Gerards <metgerards@student.han.nl>
40448
40449 * util/misc.c (grub_util_read_image): Revert last change. It
40450 called `grub_util_read_at', which seeks from the beginning of the
40451 file.
40452
0b412211 404532005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40454
40455 * TODO: Add note about endianness in grub-mkimage.
40456 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40457 section.
40458 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40459 (grub_mkimage_SOURCES): New target.
40460 * include/grub/kernel.h (grub_start_addr): Remove variable.
40461 (grub_end_addr): Likewise.
40462 (grub_total_module_size): Likewise.
40463 (grub_kernel_image_size): Likewise.
40464 (GRUB_MODULE_MAGIC): New constant.
40465 (grub_module_info): New structure.
40466 (grub_arch_modules_addr): New prototype.
40467 (grub_get_end_addr): Remove prototype.
40468 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40469 * include/grub/powerpc/ieee1275/kernel.h: New file.
40470 * include/grub/util/misc.h (grub_util_get_fp_size): New
40471 prototype.
40472 (grub_util_read_at): Likewise.
40473 (grub_util_write_image_at): Likewise.
40474 * kern/main.c (grub_get_end_addr): Remove function.
40475 (grub_load_modules): Call grub_arch_modules_addr instead of using
40476 grub_end_addr. Look for a grub_module_info struct in memory. Use
40477 the grub_module_info fields instead of calling grub_get_end_addr
40478 as loop conditions. Move grub_add_unused_region code here.
40479 (grub_add_unused_region): Remove function.
40480 * kern/i386/pc/init.c: Include grub/cache.h.
40481 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40482 one call to add_mem_region.
40483 (grub_arch_modules_addr): New function.
40484 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40485 (grub_total_module_size): Likewise.
40486 Include grub/machine/kernel.h.
40487 (grub_arch_modules_addr): New function.
40488 * util/grub-emu.c (grub_end_addr): Remove variable.
40489 (grub_total_module_size): Likewise.
40490 (grub_arch_modules_addr): New function.
40491 * util/misc.c: Include unistd.h.
40492 (grub_util_get_fp_size): New function.
40493 (grub_util_read_at): Likewise.
40494 (grub_util_write_image_at): Likewise.
40495 (grub_util_read_image): Call grub_util_read_at.
40496 (grub_util_write_image): Call grub_util_write_image_at.
40497 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40498 additional memory in kernel_img for a struct grub_module_info.
40499 Fill in that grub_module_info.
40500 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40501
458786f8 405022005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40503
40504 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40505 New function.
40506 * include/grub/powerpc/ieee1275/ieee1275.h
40507 (grub_ieee1275_milliseconds): New prototype.
40508 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40509 Change to 1000.
40510 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40511 grub_ieee1275_milliseconds.
40512
ac507d1b 405132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40514
40515 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40516 variable.
40517 (find_options): New function.
40518 (cmain): Call find_options.
40519 * include/grub/powerpc/ieee1275/ieee1275.h
40520 (grub_ieee1275_realmode): New extern variable.
40521 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40522 grub_map if grub_ieee1275_realmode is false.
40523
6b8fd1c4 405242004-12-29 Marco Gerards <metgerards@student.han.nl>
40525
40526 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40527 lines are inserted and make it work like readline. Reported by
40528 Vincent Pelletier <subdino2004@yahoo.fr>.
40529
8514a1e0 405302004-12-28 Marco Gerards <metgerards@student.han.nl>
40531
40532 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40533
40534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40535 `kern/powerpc/cache.S'.
40536
924b6140 405372004-12-27 Marco Gerards <metgerards@student.han.nl>
40538
40539 * genmk.rb: Handle the `Program' class in the main loop. Written
40540 by Johan Rydberg <jrydberg@gnu.org>.
40541 (Program): New class.
40542 (programs): New variable.
40543 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40544 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40545 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40546 (help_arch): Function removed.
40547 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40548 `powerpc/libgcc.h' and `loader.h'.
40549 (pkgdata_PROGRAMS): New variable.
40550 (sbin_UTILITIES): Variable removed.
40551 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40552 (grubof_SOURCES): Variable re-defined so it only includes the
40553 core functionality.
40554 (grubof_CFLAGS): Remove `-DGRUBOF'.
40555 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40556 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40557 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40558 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40559 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40560 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40561 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40562 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40563 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40564 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40565 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40566 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40567 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40568 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40569 (pc_mod_CFLAGS): New variables.
40570 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40571 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40572 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40573 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40574 Moved from here...
40575 * include/grub/i386/pc/init.h (grub_os_area_addr)
40576 (rub_os_area_size): ... to here.
40577 * include/grub/powerpc/ieee1275/ieee1275.h
40578 (grub_ieee1275_entry_fn): Export symbol.
40579 * include/grub/powerpc/ieee1275/init.h: New file.
40580 * include/grub/powerpc/libgcc.h: Likewise.
40581 * include/grub/cache.h: Likewise.
40582 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40583 <hollis@penguinppc.org>.
40584 * kern/dl.c: Include <grub/cache.h>.
40585 (grub_dl_flush_cache): New function.
40586 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40587 for this module.
40588 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40589 (grub_console_init): Removed prototypes.
40590 (grub_machine_init): Don't initialize the modules anymore.
40591 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40592 static.
40593 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40594 Macro undef removed.
40595 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40596 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40597 relocation `R_PPC_REL32'. Return an error when the relocation is
40598 unknown.
40599 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40600 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40601 * util/misc.c (grub_arch_sync_caches): Likewise.
40602
e4b47e0c 406032004-12-19 Marco Gerards <metgerards@student.han.nl>
40604
40605 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40606 `symlist.c', add `grubof_symlist.c'.
40607 (symlist.c): Variable removed.
40608 (grubof_HEADERS): Variable added.
40609 (grubof_symlist.c): New target.
40610 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40611 `kernel_img_HEADERS'.
40612 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40613 * kern/powerpc/dl.c: New file.
40614 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40615 Function removed.
40616 (grub_arch_dl_relocate_symbols): Likewise.
40617 (grub_register_exported_symbols): Likewise.
40618
4ceb3636 406192004-12-13 Marco Gerards <metgerards@student.han.nl>
40620
40621 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40622 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40623 to fail instead. Reported by Vincent Pelletier
40624 <subdino2004@yahoo.fr>.
40625
40626 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40627 it is not allocated. Reported by Vincent Pelletier
40628 <subdino2004@yahoo.fr>.
40629
40630 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40631 output so the output looks better.
f19dbdb7 40632
3f1578fe 406332004-12-04 Marco Gerards <metgerards@student.han.nl>
40634
40635 Modulize the partition map support and add support for the amiga
40636 partition map.
f19dbdb7 40637
3f1578fe 40638 * commands/ls.c: Include <grub/partition.h> instead of
40639 <grub/machine/partition.h>.
40640 * kern/disk.c: Likewise.
40641 * kern/rescue.c: Likewise.
40642 * loader/i386/pc/chainloader.c: Likewise.
40643 * normal/cmdline.c: Likewise.
40644 * kern/powerpc/ieee1275/init.c: Likewise.
40645 (grub_machine_init): Call `grub_pc_partition_map_init',
40646 `grub_amiga_partition_map_init' and
40647 `grub_apple_partition_map_init'.
40648 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40649 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40650 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40651 `partition.h' and `pc_partition.h'.
40652 (grub_setup_SOURCES): Remove
40653 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40654 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40655 (grub_emu_SOURCES): Likewise.
40656 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40657 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40658 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40660 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40661 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40662 (grubof_SOURCES): Likewise.
40663 * disk/i386/pc/partition.c: File removed.
40664 * disk/powerpc/ieee1275/partition.c: Likewise.
40665 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40666 * include/grub/i386/pc/partition.h: Likewise.
40667 * kern/partition.c: New file.
40668 * partmap/amiga.c: Likewise.
40669 * partmap/apple.c: Likewise.
40670 * partmap/pc.c: Likewise.
40671 * include/grub/partition.h: Likewise..
40672 * include/grub/pc_partition.h: Likewise.
40673 * util/grub-emu.c: Include <grub/partition.h> instead of
40674 <grub/machine/partition.h>.
40675 (main): Call `grub_pc_partition_map_init',
40676 `grub_amiga_partition_map_init' and
40677 `grub_apple_partition_map_init' and deinitialize afterwards.
40678 * util/i386/pc/biosdisk.c: Include `#include
40679 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40680 `<grub/machine/partition.h>'.
40681 * util/i386/pc/grub-setup.c: Likewise.
40682 * util/i386/pc/biosdisk.c: Likewise.
40683 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40684 partition information in case of a PC partition.
40685 * util/i386/pc/grub-setup.c: Include `#include
40686 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40687 `<grub/machine/partition.h>'.
40688 (setup): Only access the PC specific partition information in case
40689 of a PC partition.
40690
0ef4ced9 406912004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40692
0ef4ced9 40693 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40694 (grub_longjmp): Likewise.
40695 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40696 20.
40697 * normal/powerpc/setjmp.S: New file.
40698 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40699 `normal/powerpc/setjmp.S'.
40700 (grubof_CFLAGS): Add `-DGRUBOF'.
40701 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40702 [GRUB_UTIL && !GRUBOF].
f19dbdb7 40703
19950e29 407042004-11-16 Marco Gerards <metgerards@student.han.nl>
40705
40706 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
40707 property named `name'. Correctly handle the error returned by
40708 `grub_ieee1275_finddevice' if a device can not be opened.
40709
a2fea427 407102004-11-02 Hollis Blanchard <hollis@penguinppc.org>
40711
40712 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
40713 `actual' for negativity.
40714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40715 kern/fshelp.c.
40716
41ea0ea3 407172004-11-01 Marco Gerards <metgerards@student.han.nl>
40718
40719 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
40720 (PAGE_OFFSET): New macro.
40721 (CRTC_ADDR_PORT): Likewise.
40722 (CRTC_DATA_PORT): Likewise.
40723 (START_ADDR_HIGH_REGISTER): Likewise.
40724 (START_ADDR_LOW_REGISTER): Likewise.
40725 (GRAPHICS_ADDR_PORT): Likewise.
40726 (GRAPHICS_DATA_PORT): Likewise.
40727 (READ_MAP_REGISTER): Likewise.
40728 (INPUT_STATUS1_REGISTER): Likewise.
40729 (INPUT_STATUS1_VERTR_BIT): Likewise.
40730 (page): New variable.
40731 (wait_vretrace): New function.
40732 (set_read_map): Likewise.
40733 (set_start_address): Likewise.
40734 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
40735 the right page.
40736 (check_vga_mem): Take the page into account.
40737 (write_char): Likewise.
40738 (write_cursor): Likewise.
40739 (scroll_up): Likewise. Copy the page to the page that is not
40740 shown and switch between both pages.
40741 (grub_vga_putchar): Fix off by one error.
40742 (grub_vga_cls): Wait for the vertical retrace. Take the page into
40743 account.
40744
ad0bd20b 407452004-11-01 Marco Gerards <metgerards@student.han.nl>
40746
40747 Add support for iso9660 (including rockridge).
f19dbdb7 40748
ad0bd20b 40749 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40750 (iso9660_mod_SOURCES): New variable.
40751 (iso9660_mod_CFLAGS): Likewise.
40752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40753 * include/grub/fs.h (grub_iso9660_init): New prototype.
40754 * util/grub-emu.c (main): Call `grub_iso9660_init'.
40755 * fs/iso9660.c: New file.
40756
40757 * include/grub/misc.h (grub_strncat): New prototype.
40758 * kern/misc.c (grub_strncat): New function.
f19dbdb7 40759
ad0bd20b 40760 * fs/hfs.c (grub_hfs_mount): Translate the error
40761 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
40762 * fs/jfs.c (grub_jfs_mount): Likewise.
40763 * fs/ufs.c (grub_ufs_mount): Likewise.
40764
a5477a59 407652004-10-28 Hollis Blanchard <hollis@penguinppc.org>
40766
40767 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
40768 which initialized BAT registers.
40769 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
40770 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40771 Move from here...
40772 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
40773 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40774 ... to here.
40775 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
40776 (grub_mapclaim): Likewise.
40777 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
40778 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
40779 hand.
40780
9304c1f8 407812004-10-19 Hollis Blanchard <hollis@penguinppc.org>
40782
40783 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
40784 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
40785 -ffreestanding and -msoft-float.
40786
86f4ae25 407872004-10-15 Hollis Blanchard <hollis@penguinppc.org>
40788
40789 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
40790 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
40791 set in grub_ieee1275_flags.
40792
38912228 407932004-10-14 Hollis Blanchard <hollis@penguinppc.org>
40794
40795 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
40796 prototype.
40797 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
40798 grub_console_init first.
40799 Change the memory range used for grub_ieee1275_claim and
40800 grub_mm_init_region.
40801 Print an error message if the claim fails.
40802 Include <grub/misc.h>.
40803
d1923dc8 408042004-10-13 Hollis Blanchard <hollis@penguinppc.org>
40805
40806 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
40807 Call grub_children_iterate for device nodes of type `scsi',
40808 `ide', or `ata'.
40809 (grub_ofdisk_open): Remove manual device alias resolution.
40810 Fix memory leak when device cannot be opened.
f19dbdb7 40811 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 40812 (grub_children_iterate): New prototype.
40813 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
40814 New function.
40815 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40816 Return -1 if args.size was -1.
40817
4512e4f3 408182004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40819
40820 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
40821 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
40822 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
40823 Open Firmware's memory for it; claim memory from _start to _end.
40824 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
40825 (_end): New extern.
40826 (_start): Zero BSS from __bss_start to _end.
40827 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40828 New extern.
40829 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
40830
4d61feb0 408312004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40832
ad0bd20b 40833 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
40834 -1 if args.base was -1.
4d61feb0 40835
026fa2f9 408362004-10-08 Hollis Blanchard <hollis@penguinppc.org>
40837
40838 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
40839 escape sequence instead of a literal ^L. Also call
40840 grub_ofconsole_gotoxy.
40841
9f2220ef 408422004-10-03 Hollis Blanchard <hollis@penguinppc.org>
40843
40844 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
40845 void * arguments to grub_addr_t. All callers updated. Also make
40846 the `result' argument optional.
40847 (grub_ieee1275_release): change void * arguments to grub_addr_t.
40848 All callers updated.
40849
8a572cd7 408502004-09-22 Hollis Blanchard <hollis@penguinppc.org>
40851
40852 * commands/ls.c (grub_ls_list_files): Use the string following the
40853 initial ')', if present, as the filesystem path.
40854 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
40855
40856 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
40857
18aa81f2 408582004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
40859
40860 Make the source code of the menu interface more readable.
f19dbdb7 40861
18aa81f2 40862 * normal/menu.c: Include grub/mm.h.
40863 (TERM_WIDTH): New macro.
40864 (TERM_HEIGHT): Likewise.
40865 (TERM_INFO_HEIGHT): Likewise.
40866 (TERM_MARGIN): Likewise.
40867 (TERM_SCROLL_WIDTH): Likewise.
40868 (TERM_TOP_BORDER_Y): Likewise.
40869 (TERM_LEFT_BORDER_X): Likewise.
40870 (TERM_BORDER_WIDTH): Likewise.
40871 (TERM_MESSAGE_HEIGHT): Likewise.
40872 (TERM_BORDER_HEIGHT): Likewise.
40873 (TERM_NUM_ENTRIES): Likewise.
40874 (TERM_FIRST_ENTRY_Y): Likewise.
40875 (TERM_ENTRY_WIDTH): Likewise.
40876 (TERM_CURSOR_X): Likewise.
40877 (draw_border): Use macros instead of magic numbers.
40878 (print_entry): Likewise.
40879 (print_entries): Likewise.
40880 (run_menu): Likewise. Also, handle the key 'e'.
40881 (run_menu_entry): Ignore empty command lines.
40882 (print_message): Added a new argument EDIT. If EDIT is true,
40883 print a different message.
40884 (init_page): Likewise.
40885 (edit_menu_entry): New function. Not implemented yet.
40886
b47efe30 408872004-09-17 Marco Gerards <metgerards@student.han.nl>
40888
40889 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40890 can be loaded from normal mode.
f19dbdb7 40891
b47efe30 40892 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40893 `multiboot.mod'.
40894 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40895 (multiboot_mod_CFLAGS): New variables.
40896 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 40897 * loader/i386/pc/multiboot_normal.c: Likewise.
40898
b47efe30 40899 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40900 attribute `unused'.
f19dbdb7 40901
b47efe30 40902 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40903 `fdiro' to read the mode information from instead of `diro'.
40904
40905 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40906 looking up a symlink.
40907
40908 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40909 macro.
40910 * normal/command.c (grub_command_execute): Don't parse the
40911 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40912 flags of the command.
40913
40914 * normal/menu.c (grub_menu_run): Fix typo.
40915
da75ac71 409162004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40917
40918 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40919
40920 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40921 `y + 1' instead of `y - 1'.
40922
40923 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 40924
062b24c2 409252004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40926
40927 From Hollis Blanchard <hollis@penguinppc.org>:
40928 * kern/misc.c (memmove): New alias for grub_memmove.
40929 (memcmp): New alias for grub_memcmp.
40930 (memset): New alias for grub_memset.
f19dbdb7 40931 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 40932 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 40933 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 40934 (grub_ieee1275_get_property): Likewise.
f19dbdb7 40935
8ddad845 409362004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40937
40938 Added normal mode command `chainloader' as module chain.mod, which
40939 depends on normal.mod and _chain.mod.
f19dbdb7 40940
8ddad845 40941 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40942 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40943 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40944 Deleted prototype.
40945 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40946 but arguments parsing moved to ...
40947 (grub_chainloader_cmd): ... here. New function.
40948 * include/grub/i386/pc/chainloader.h: New file.
40949 * loader/i386/pc/chainloader_normal.c: Likewise.
40950
2c1f4ce3 409512004-09-11 Marco Gerards <metgerards@student.han.nl>
40952
40953 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40954 (grub_mkimage_LDFLAGS): Likewise.
40955 (grub_emu_SOURCES): Likewise.
40956 (kernel_img_HEADERS): Added fshelp.h.
40957 * fs/ext2.c: Include <grub/fshelp.h>.
40958 (FILETYPE_REG): New macro.
40959 (FILETYPE_INO_REG): Likewise.
40960 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40961 Changed all users.
40962 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40963 all users.
40964 (grub_fshelp_node): New struct.
40965 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40966 to a pointer.
40967 (grub_ext2_get_file_block): Removed function.
40968 (grub_ext2_read_block): New function.
40969 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40970 This function was written.
40971 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40972 (grub_ext2_find_file): Removed function.
40973 (grub_ext2_read_symlink): New function.
40974 (grub_ext2_iterate_dir): Likewise.
40975 (grub_ext2_open): Rewritten.
40976 (grub_ext2_dir): Rewritten.
40977 * include/grub/fshelp.h: New file.
40978 * fs/fshelp.c: Likewise.
40979
3c52136a 409802004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40981
40982 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40983 (print_message): Add a missing newline.
40984 (run_menu): Added timeout support.
40985 (run_menu_entry): New local function.
40986 (grub_menu_run): Added support for booting.
40987
40988 * kern/loader.c (grub_loader_is_loaded): New function.
40989
40990 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40991 (grub_get_rtc): Exported.
40992
40993 * include/grub/i386/pc/time.h: Include grub/symbol.h.
40994 (grub_get_rtc): Exported.
40995
40996 * include/grub/normal.h (struct grub_command_list): Remove
40997 constant from the member `command'.
40998
40999 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41000
41001 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41002
41003 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41004
aa033560 410052004-08-28 Marco Gerards <metgerards@student.han.nl>
41006
41007 Add support for the JFS filesystem.
41008
41009 * fs/jfs.c: New file.
41010 * include/grub/fs.h (grub_jfs_init): New prototype.
41011 (grub_jfs_fini): New prototype.
41012 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41013 (grub_emu_SOURCES): Likewise.
41014 (pkgdata_MODULES): Add jfs.mod.
41015 (jfs_mod_SOURCES): New variable.
41016 (jfs_mod_CFLAGS): Likewise.
41017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41018 (grubof_SOURCES): Likewise.
41019 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41020
41021 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41022 endian to the host endian.
41023 (grub_fat_utf16_to_utf8): Move function from there...
41024 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41025 the endianness of the source string anymore.
aa033560 41026 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41027
94bc45af 410282004-08-24 Marco Gerards <metgerards@student.han.nl>
41029
41030 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41031 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41032 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41033 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41034
94bc45af 41035 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41036 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41037 for `node_found' and `it_dir'.
41038 (grub_hfs_dir): Add prototype for `dir_hook'.
41039
41040 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41041 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41042 and `indir32' to silence a gcc warning.
41043
41044 * include/grub/fs.h (grub_hfs_init): New prototype.
41045 (grub_hfs_fini): Likewise.
f19dbdb7 41046
41047
97543f08 410482004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41049
41050 Each disk device has its own id now. This is useful to make use
41051 of multiple disk devices.
f19dbdb7 41052
97543f08 41053 * include/grub/disk.h (grub_disk_dev_id): New enum.
41054 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41055 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41056
41057 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41058 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41059
41060 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41061 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41062
41063 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41064 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41065
41066 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41067 "id" which is used by the cache manager.
41068
41069 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41070 of just "GRUB".
41071
64372eb4 410722004-08-18 Marco Gerards <metgerards@student.han.nl>
41073
41074 * fs/hfs.c: New file.
41075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41076 (grub_emu_SOURCES): Likewise.
41077 (pkgdata_MODULES): Add hfs.mod.
41078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41079 (grubof_SOURCES): Likewise.
41080 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41081
41082 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41083 * kern/misc.c (grub_strncasecmp): Add function.
41084
cc61b58f 410852004-08-14 Marco Gerards <metgerards@student.han.nl>
41086
41087 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41088 with parentheses.
41089
41090 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41091 (grub_ext2_dir): In case the directory entry type is unknown, read
41092 it from the inode.
41093
0ef123f6 410942004-08-02 Peter Bruin <pjbruin@dds.nl>
41095
41096 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41097 grub_load_linux instead of grub_rescue_cmd_linux as second
41098 argument of grub_rescue_register_command.
41099
41100 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41101
a447c5df 411022004-07-27 Marco Gerards <metgerards@student.han.nl>
41103
41104 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41105 function.
41106 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41107 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41108 `loader/powerpc/ieee1275/linux.c',
41109 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41110 * include/grub/powerpc/ieee1275/ieee1275.h
41111 (grub_ieee1275_release): New prototype.
41112 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41113 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41114 normal, boot, linux and linux_normal.
41115 * loader/powerpc/ieee1275/linux.c: New file.
41116 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41117
5a9e3546 411182004-07-12 Marco Gerards <metgerards@student.han.nl>
41119
41120 * normal/arg.c (grub_arg_parse): Correct error handling after
41121 reallocating the argumentlist (check if `argl' is not null instead
41122 of checking if `args' is not null).
41123 * kern/mm.c (grub_realloc): Return the same pointer when using the
41124 same region, instead of returning the header address.
41125
e15199cb 411262004-07-11 Marco Gerards <metgerards@student.han.nl>
41127
41128 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41129 one block instead of two when looking for the initial partition.
41130 (grub_partition_probe): Initialize the local variable `p' with 0.
41131 Use base 10 for the grub_strtoul call.
41132 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41133 need for one local variable.
41134 (grub_strtoul): Don't add the new value to `num', instead of that
41135 just assign it.
41136
020616c2 411372004-07-11 Marco Gerards <metgerards@student.han.nl>
41138
41139 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41140 (pxeboot_img_SOURCES): New variable.
41141 (pxeboot_img_ASFLAGS): Likewise.
41142 (pxeboot_img_LDFLAGS): Likewise.
41143 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41144 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41145 <lode_leroy@hotmail.com>.
41146
6c51eb64 411472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41148
41149 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41150 there was no input.
41151
cfb12aff 411522004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41153
41154 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41155 the history buffer logic.
41156
6eabba74 411572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41158
41159 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41160 (FILETYPE_INO_SYMLINK): New macros.
41161 (grub_ext2_find_file): Check if the node is a directory using the
41162 inode stat information instead of using the filetype in the
41163 dirent. Exclude the first character of an absolute symlink.
41164 (grub_ext2_dir): Mask out the filetype part of the mode member of
41165 the inode.
41166
66e19ef8 411672004-05-24 Marco Gerards <metgerards@student.han.nl>
41168
41169 Add support for UFS version 1 and 2. Add support for the minix
41170 filesystem version 1 and 2, both the variants with 14 and 30 long
41171 filenames.
f19dbdb7 41172
66e19ef8 41173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41174 fs/minix.c.
41175 (grub_emu_SOURCES): Likewise.
41176 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41177 (ufs_mod_SOURCES): New variable.
41178 (ufs_mod_CFLAGS): Likewise.
41179 (minix_mod_SOURCES): Likewise.
41180 (minix_mod_CFLAGS): Likewise.
41181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41182 fs/minix.c.
41183 (grubof_SOURCES): Likewise.
41184 * fs/ufs.c: New file.
41185 * fs/minix.c: New file.
41186 * include/grub/fs.h (grub_ufs_init): New prototype.
41187 (grub_ufs_fini): Likewise.
41188 (grub_minix_init): Likewise.
41189 (grub_minix_fini): Likewise.
41190 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41191 minix fs.
41192
cc2e748a 411932004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41194
41195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41196 commands/ls.c, commands/terminal.c, commands/boot.c,
41197 commands/cmp.c and commands/cat.c.
41198 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41199
41200 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41201 "env.h"
41202
4b13b216 412032004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41204
41205 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41206 and grub_, respectively. Because the conversion is trivial and
41207 mechanical, I omit the details here. Please refer to the CVS
41208 if you need more information.
41209
6a142551 412102004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41211
41212 * include/pupa: Renamed to ...
41213 * include/grub: ... this.
41214 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41215 * util/i386/pc/grub-mkimage.c: ... this.
41216 * util/i386/pc/pupa-setup.c: Renamed to ...
41217 * util/i386/pc/grub-setup.c: ... this.
41218 * util/pupa-emu.c: Renamed to ...
41219 * util/grub-emu.c: ... this.
41220
e56cdf21 412212004-03-29 Marco Gerards <metgerards@student.han.nl>
41222
41223 Add support for the newworld apple macintosh (PPC). This has been
41224 tested on the powerbook 2000 only. It only adds support for
41225 generic ieee1275 functions, console and disk support. This should
41226 be easy to port to other architectures with support for Open
41227 Firmware.
f19dbdb7 41228
e56cdf21 41229 * configure.ac: Accept the powerpc as host_cpu. In the case of
41230 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41231 specific tests are only executed while building for the i386.
41232 Inverse test for crosscompile.
41233 * genmk.rb (Utility): Allow assembler files.
41234 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41235 * conf/powerpc-ieee1275.rmk: New file.
41236 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41237 * disk/powerpc/ieee1275/partition.c: Likewise.
41238 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41239 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41240 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41241 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41242 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41243 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41244 * include/pupa/powerpc/ieee1275/loader.h
41245 * include/pupa/powerpc/setjmp.h: Likewise.
41246 * include/pupa/powerpc/types.h: Likewise.
41247 * kern/powerpc/ieee1275/init.c: Likewise.
41248 * kern/powerpc/ieee1275/openfw.c: Likewise.
41249 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41250
41251 These files were written by Johan Rydberg
41252 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41253
e56cdf21 41254 * boot/powerpc/ieee1275/cmain.c: New file.
41255 * boot/powerpc/ieee1275/crt0.S: Likewise.
41256 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41257 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41258
8c8cc205 412592004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41260
41261 * Makefile.in: Update copyright.
41262 * genmodsrc.sh: Likewise.
41263 * gensymlist.sh: Likewise.
41264 * term/i386/pc/vga.c: Indent correctly.
41265
41266 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41267 bugreporting address.
41268 * util/i386/pc/pupa-setup.c (usage): Likewise,
41269 (main): Call pupa_ext2_init and pupa_ext2_fini.
41270
f19dbdb7 41271 * fs/fat.c (log2): Renamed to ...
8c8cc205 41272 (fat_log2): ... this.
41273 All callers changed.
41274 * kern/misc.c (memcpy): Alias to pupa_memmove.
41275 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41276 lvalue cast.
41277 * util/console.c (pupa_ncurses_fini): Return 0.
41278
41279 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41280 Move fail label here.
41281 [__GNU__]: Don't warn when using stat.
41282 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41283 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41284 long int. Use strtol instead of strtoul.
f19dbdb7 41285
db1771cf 412862004-03-14 Marco Gerards <metgerards@student.han.nl>
41287
41288 * commands/boot.c: New file.
41289 * commands/cat.c: Likewise.
41290 * commands/cmp.c: Likewise.
41291 * commands/ls.c: Likewise.
41292 * commands/terminal.c: Likewise.
41293 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41294 (pupa_register_command): Changed interface to match the new
41295 argument parser.
41296 (pupa_command_execute): Changed (almost rewritten) so it uses
41297 pupa_split_command. Added support for setting variables using the
41298 syntax `foo=bar'.
41299 (rescue_command): Changed to work with the new argument parser.
41300 (terminal_command): Moved from here to commands/terminal.c.
41301 (set_command): New function.
41302 (unset_command): New function.
41303 (insmod_command): New function.
41304 (rmmod_command): New function.
41305 (lsmod_command): New function.
41306 (pupa_command_init): Don't initialize the command terminal
41307 anymore. Initialize the commands set, unset, insmod, rmmod and
41308 lsmod.
41309 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41310 (kernel_img_HEADERS): Add arg.h and env.h.
41311 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41312 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41313 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41314 normal/arg.c.
41315 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41316 terminal.mod.
41317 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41318 (boot_mod_SOURCES): New variable.
41319 (terminal_mod_SOURCES): Likewise.
41320 (ls_mod_SOURCES): Likewise.
41321 (cmp_mod_SOURCES): Likewise.
41322 (cat_mod_SOURCES): Likewise.
41323
41324 * normal/arg.c: New file.
41325 * kern/env.c: Likewise.
41326 * include/pupa/arg.h: Likewise.
41327 * include/pupa/env.h: Likewise.
41328 * font/manager.c (font_command): Changed to match argument parsing
41329 interface changes.
41330 (PUPA_MOD_INIT): Likewise.
41331 * hello/hello.c (pupa_cmd_hello): Likewise.
41332 (PUPA_MOD_INIT): Likewise.
41333 * include/pupa/disk.h: Include <pupa/device.h>.
41334 (pupa_print_partinfo): New prototype.
41335 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41336 (pupa_dl_get_prefix): Likewise.
41337 * include/pupa/misc.h: Include <pupa/err.h>.
41338 (pupa_isgraph): New prototype.
41339 (pupa_isdigit): Likewise.
41340 (pupa_split_cmdline): Likewise.
41341 * include/pupa/normal.h: Include <pupa/arg.h>.
41342 (pupa_command): Changed the prototype of the member `func' to
41343 match the argument parsing interface. Added member `options'.
41344 (pupa_register_command): Updated to match function.
41345 (pupa_arg_parse): New prototype.
41346 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41347 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41348 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41349 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41350 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41351 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41352 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41353 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41354 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41355 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41356 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41357 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41358 * kern/disk.c: Include <pupa/file.h>.
41359 (pupa_print_partinfo): New function.
41360 * kern/dl.c: Include <pupa/env.h>.
41361 (pupa_dl_dir): Variable removed.
41362 (pupa_dl_load): Use the environment variable `prefix' instead of
41363 the variable pupa_dl_dir.
41364 (pupa_dl_set_prefix): Function removed.
41365 (pupa_dl_get_prefix): Likewise.
41366 * kern/i386/pc/init.c: Include <pupa/env.h>.
41367 (pupa_machine_init): Use the environment variable `prefix' instead of
41368 using pupa_dl_set_prefix to set the prefix.
41369 * kern/main.c: Include <pupa/env.h>.
41370 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41371 using pupa_dl_get_prefix to get the prefix.
41372 * kern/misc.c: Include <pupa/env.h>.
41373 (pupa_isdigit): New function.
41374 (pupa_isgraph): Likewise.
41375 (pupa_ftoa): Likewise.
41376 (pupa_vsprintf): Added support for printing values of the type
41377 `double'. Make it possible to format variable output when using
41378 formatting like `%1.2%f'.
41379 (pupa_split_cmdline): New function.
41380 * kern/rescue.c: Include <pupa/env.h>.
41381 (next_word): Removed function.
41382 (pupa_rescue_cmd_prefix): Likewise.
41383 (pupa_rescue_cmd_set): New function.
41384 (pupa_rescue_cmd_unset): New function.
41385 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41386 split the command line instead of splitting it here. Added
41387 support for setting variables using the syntax `foo=bar'. Don't
41388 initialize the prefix command anymore. Initialized the set and
41389 unset commands.
41390 * normal/cmdline.c: Include <pupa/env.h>.
41391 (pupa_tab_complete): Added prototypes for print_simple_completion,
41392 print_partition_completion, add_completion, iterate_commands,
41393 iterate_dev, iterate_part and iterate_dir. Moved code to print
41394 partition information from here to kern/disk.c.
fe6b695a 41395 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 41396 * normal/main.c: Include <pupa/env.h>.
41397 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41398 instead of using pupa_dl_get_prefix to get the prefix.
41399 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41400 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41401 warning.
41402 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41403 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41404 ((unused))' to silence a gcc warning.
41405 (pupa_vga_setcolor): Likewise.
41406 (debug_command): Changed to match argument parsing
41407 interface changes.
41408 * util/pupa-emu.c: Include <pupa/env.h>.
41409 (options): Added 0's for unused fields to silence a gcc warning.
41410 (argp): Likewise.
41411 (main): Use the environment variable `prefix' instead of using
41412 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41413 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41414 and terminal.
41415
41416 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41417 * util/misc.c: Include <malloc.h>.
41418 (pupa_malloc): Rewritten so errors are correctly reported.
41419 (pupa_realloc): Likewise.
41420 (pupa_memalign): Likewise.
41421 (pupa_mm_init_region): Declare unused variables with
41422 `__attribute__ ((unused))' to silence a gcc warning.
41423 * normal/i386/setjmp.S: Remove tab at the end of the file to
41424 silence a gcc warning.
41425 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41426 variables with `__attribute__ ((unused))' to silence a gcc
41427 warning.
41428 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41429 local variable i unsigned to silence a gcc warning.
41430
41431 * kern/term.c: Include <pupa/misc.h>.
41432 (pupa_more_lines): New variable.
41433 (pupa_more): Likewise.
41434 (pupa_putcode): When the pager is active pause at the end of every
41435 screen.
41436 (pupa_set_more): New function.
41437 * include/pupa/term.h (pupa_set_more): New prototype.
41438
41439
3b1139cb 414402004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41441
41442 Now this project is GRUB 2 rather than PUPA. The location of
41443 the CVS repository was moved to GRUB's.
f19dbdb7 41444
3b1139cb 41445 * configure.ac: Use bug-grub as the reporting address.
41446 Use GRUB instead of PUPA.
41447 Change the version number to 1.90.
41448
8367695c 414492004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41450
41451 * genkernsyms.sh: Updated copyright information.
41452 * genmk.rb: Likewise.
41453 * genmodsrc.sh: Likewise.
41454 * gensymlist.sh: Likewise.
41455 * boot/i386/pc/boot.S: Likewise.
41456 * boot/i386/pc/diskboot.S: Likewise.
41457 * disk/i386/pc/biosdisk.c: Likewise.
41458 * disk/i386/pc/partition.c: Likewise.
41459 * font/manager.c: Likewise.
41460 * fs/ext2.c: Likewise.
41461 * fs/fat.c: Likewise.
41462 * include/pupa/boot.h: Likewise.
41463 * include/pupa/device.h: Likewise.
41464 * include/pupa/disk.h: Likewise.
41465 * include/pupa/dl.h: Likewise.
41466 * include/pupa/elf.h: Likewise.
41467 * include/pupa/err.h: Likewise.
41468 * include/pupa/file.h: Likewise.
41469 * include/pupa/font.h: Likewise.
41470 * include/pupa/fs.h: Likewise.
41471 * include/pupa/kernel.h: Likewise.
41472 * include/pupa/loader.h: Likewise.
41473 * include/pupa/misc.h: Likewise.
41474 * include/pupa/mm.h: Likewise.
41475 * include/pupa/net.h: Likewise.
41476 * include/pupa/normal.h: Likewise.
41477 * include/pupa/rescue.h: Likewise.
41478 * include/pupa/setjmp.h: Likewise.
41479 * include/pupa/symbol.h: Likewise.
41480 * include/pupa/term.h: Likewise.
41481 * include/pupa/types.h: Likewise.
41482 * include/pupa/i386/setjmp.h: Likewise.
41483 * include/pupa/i386/types.h: Likewise.
41484 * include/pupa/i386/pc/biosdisk.h: Likewise.
41485 * include/pupa/i386/pc/boot.h: Likewise.
41486 * include/pupa/i386/pc/console.h: Likewise.
41487 * include/pupa/i386/pc/init.h: Likewise.
41488 * include/pupa/i386/pc/kernel.h: Likewise.
41489 * include/pupa/i386/pc/linux.h: Likewise.
41490 * include/pupa/i386/pc/loader.h: Likewise.
41491 * include/pupa/i386/pc/memory.h: Likewise.
41492 * include/pupa/i386/pc/multiboot.h: Likewise.
41493 * include/pupa/i386/pc/partition.h: Likewise.
41494 * include/pupa/i386/pc/time.h: Likewise.
41495 * include/pupa/i386/pc/vga.h: Likewise.
41496 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41497 * include/pupa/util/getroot.h: Likewise.
41498 * include/pupa/util/misc.h: Likewise.
41499 * include/pupa/util/resolve.h: Likewise.
41500 * kern/device.c: Likewise.
41501 * kern/disk.c: Likewise.
41502 * kern/dl.c: Likewise.
41503 * kern/err.c: Likewise.
41504 * kern/file.c: Likewise.
41505 * kern/fs.c: Likewise.
41506 * kern/loader.c: Likewise.
41507 * kern/main.c: Likewise.
41508 * kern/misc.c: Likewise.
41509 * kern/mm.c: Likewise.
41510 * kern/rescue.c: Likewise.
41511 * kern/term.c: Likewise.
41512 * kern/i386/dl.c: Likewise.
41513 * kern/i386/pc/init.c: Likewise.
41514 * kern/i386/pc/lzo1x.S: Likewise.
41515 * kern/i386/pc/startup.S: Likewise.
41516 * loader/i386/pc/chainloader.c: Likewise.
41517 * loader/i386/pc/linux.c: Likewise.
41518 * loader/i386/pc/multiboot.c: Likewise.
41519 * normal/cmdline.c: Likewise.
41520 * normal/command.c: Likewise.
41521 * normal/main.c: Likewise.
41522 * normal/menu.c: Likewise.
41523 * normal/i386/setjmp.S: Likewise.
41524 * term/i386/pc/console.c: Likewise.
41525 * term/i386/pc/vga.c: Likewise.
41526 * util/console.c: Likewise.
41527 * util/genmoddep.c: Likewise.
41528 * util/misc.c: Likewise.
41529 * util/pupa-emu.c: Likewise.
41530 * util/resolve.c: Likewise.
41531 * util/unifont2pff.rb: Likewise.
41532 * util/i386/pc/biosdisk.c: Likewise.
41533 * util/i386/pc/getroot.c: Likewise.
41534 * util/i386/pc/pupa-mkimage.c: Likewise.
41535 * util/i386/pc/pupa-setup.c: Likewise.
41536
e6eced71 415372004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41538
41539 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41540 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41541 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41542 reading and reset it after reading.
41543 (pupa_ext2_close): Return PUPA_ERR_NONE.
41544
41545 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41546 Correct value.
41547 (struct linux_kernel_header): Add kernel_version and
41548 initrd_addr_max.
41549 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41550 pupa_file_read succeeds.
41551 (pupa_rescue_cmd_initrd): Implement.
41552
5aded270 415532003-12-03 Marco Gerards <metgerards@student.han.nl>
41554
41555 * fs/ext2.c (pupa_ext2_label): New function.
41556 (pupa_ext2_fs): Added label.
41557 * fs/fat.c (pupa_fat_label): New function.
41558 (pupa_fat_fs): Added label.
41559 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41560
41561 * kern/misc.c (pupa_strndup): New function.
41562 * include/pupa/misc.h (pupa_strndup): New prototype.
41563
41564 * include/pupa/normal.h: Include <pupa/err.h>.
41565 (pupa_set_history): New prototype.
41566 (pupa_iterate_commands): New prototype.
41567 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41568 <pupa/disk.h>, <pupa/file.h>.
41569 (hist_size): New variable.
41570 (hist_lines): Likewise.
41571 (hist_end): Likewise.
41572 (hist_used): Likewise.
41573 (pupa_set_history): New function.
41574 (pupa_history_get): Likewise.
41575 (pupa_history_add): Likewise.
41576 (pupa_history_replace): Likewise.
41577 (pupa_tab_complete): Likewise.
41578 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41579 completion shows partitionnames while completing partitions, this
41580 feature was suggested by Jeff Bailey.
41581 * normal/command.c (pupa_iterate_commands): New function.
41582 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41583 (pupa_normal_init): Initialize history buffer.
41584 (PUPA_MOD_INIT): Likewise.
41585 (pupa_normal_fini): Free the history buffer.
41586 (PUPA_MOD_FINI): Likewise.
41587
41588 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41589 key.
41590
41591 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41592 * configure.ac [i386]: Check for regparam bug.
41593 (NESTED_FUNC_ATTR) [! i386]: Defined.
41594
1f7315a3 415952003-11-17 Marco Gerards <metgerards@student.han.nl>
41596
41597 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41598 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41599 (pupa_emu_SOURCES): New variable.
41600 (pupa_emu_LDFLAGS): Likewise.
41601 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41602 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41603 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41604 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41605 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41606 (pupa_jmp_buf): New typedef.
41607 (pupa_setjmp) [PUPA_UTIL]: New macro.
41608 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41609 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41610 (pupa_refresh): New prototype.
41611 * include/pupa/util/getroot.h: New file.
41612 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41613 it.
41614 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41615 (pupa_rescue_cmd_cat): Likewise.
41616 (pupa_rescue_cmd_ls): Likewise.
41617 (pupa_rescue_cmd_testload): Likewise.
41618 (pupa_rescue_cmd_lsmod): Likewise.
41619 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41620 * normal/menu.c (run_menu): Likewise.
41621 * kern/term.c (pupa_cls): Likewise.
41622 (pupa_refresh): New function.
41623 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41624 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41625 * util/console.c: New file.
f19dbdb7 41626
1f7315a3 41627 * util/i386/pc/getroot.c: New file.
41628 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41629 (pupa_putchar): New function.
41630 (pupa_refresh): Likewise.
41631 (xgetcwd): Function moved to ...
41632 (strip_extra_slashes): Likewise.
41633 (get_prefix): Likewise.
f19dbdb7 41634 * util/i386/pc/getroot.c: ... here.
1f7315a3 41635 (find_root_device): Function moved and renamed to...
41636 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
41637 Changed all callers.
41638 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41639 and renamed to...
41640 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41641 Changed all callers.
41642 * util/misc.c (pupa_memalign): New function.
41643 (pupa_mm_init_region): Likewise.
41644 (pupa_register_exported_symbols): Likewise.
41645 (pupa_putchar): Function removed.
41646 * util/pupa-emu.c: New file.
41647
9a5c1ade 416482003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41649
41650 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41651 (_multiboot_mod_SOURCES): New variable.
41652 (_multiboot_mod_CFLAGS): Likewise.
41653 * loader/i386/pc/multiboot.c: New file.
41654 * include/pupa/i386/pc/multiboot.h: Likewise.
41655 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41656 (pupa_multiboot_real_boot): New function.
41657 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41658 (pupa_multiboot_real_boot): New prototype.
41659 (pupa_rescue_cmd_multiboot): Likewise
41660 (pupa_rescue_cmd_module): Likewise.
41661
41662 * kern/loader.c (pupa_loader_set): Continue when
41663 pupa_loader_unload_func() fails.
41664 (pupa_loader_unset): New function.
41665 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41666
41667 * kern/misc.c (pupa_stpcpy): New function.
41668 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41669
8e72a9c0 416702003-11-12 Marco Gerards <metgerards@student.han.nl>
41671
41672 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41673 for available extensions.
41674
41675 * include/pupa/i386/pc/time.h: New file.
41676 * kern/disk.c: Include <pupa/machine/time.h>.
41677 (PUPA_CACHE_TIMEOUT): New macro.
41678 (pupa_last_time): New variable.
41679 (pupa_disk_open): Flush the cache when there was a timeout.
41680 (pupa_disk_close): Reset the timer.
41681 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41682 pupa_currticks.
41683 * util/misc.c: Include <sys/times.h>
41684 (pupa_get_rtc): New function.
41685
c4adbd32 416862003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41687
41688 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41689 as blocks.
41690 (pupa_ext2_get_file_block): Use blocks member.
41691
41692 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41693 first block. Return -1 instead of pupa_errno on error.
41694
bfd30f06 416952003-10-27 Marco Gerards <metgerards@student.han.nl>
41696
41697 * README: In the pupa-mkimage example use _chain instead of chain
41698 and ext2 instead of fat.
41699 * TODO: Replace ext2fs with jfs as an example. Add an item for
41700 adding journal playback for ext2fs.
41701 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41702 (pkgdata_MODULES): Added ext2.mod.
41703 (ext2_mod_SOURCES): New variable.
41704 (ext2_mod_CFLAGS): Likewise.
41705 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
41706 * include/pupa/misc.h (pupa_strncpy): New prototype.
41707 (pupa_strcat): Likewise.
41708 (pupa_strncmp): Likewise.
41709 * kern/misc.c (pupa_strcat): Enable function.
41710 (pupa_strncpy): New function.
41711 (pupa_strncmp): Likewise.
41712 * fs/ext2.c: New file.
f19dbdb7 41713
bfd30f06 41714 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
41715 when the read failed before retrying.
41716 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
41717 (_FILE_OFFSET_BITS): Likewise.
41718 * configure.ac: Added AC_SYS_LARGEFILE.
41719
98d15063 417202003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41721
41722 * genmk.rb (PModule#rule): Make sure to get only symbol names
41723 from the output of nm.
59cad637 41724 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 41725
18d9c7cd 417262003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41727
41728 I forgot to check in these changes for a long time. This adds
41729 incomplete support for VGA console, and this is still very
41730 buggy. Also, a lot of consideration is required for I18N,
41731 UNICODE, and VGA font issues. Therefore, assume that this is
41732 such that "better than nothing".
f19dbdb7 41733
18d9c7cd 41734 * font/manager.c: New file.
41735 * include/pupa/font.h: Likewise.
41736 * include/pupa/i386/pc/vga.h: Likewise.
41737 * term/i386/pc/vga.c: Likewise.
41738 * util/unifont2pff.rb: Likewise.
41739
41740 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
41741 (pkgdata_MODULES): Added vga.mod and font.mod.
41742 (vga_mod_SOURCES): New variables.
41743 (vga_mod_CFLAGS): Likewise.
41744 (font_mod_SOURCES): Likewise.
41745 (font_mod_CFLAGS): Likewise.
41746
41747 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
41748
41749 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 41750 (struct pupa_term): Added init and fini.
18d9c7cd 41751 Changed the argument of putchar to pupa_uint32_t.
41752
41753 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
41754 (pupa_console_real_putchar): New prototype.
41755 (pupa_console_putchar): Removed.
41756 (pupa_console_checkkey): Exported.
41757 (pupa_console_getkey): Likewise.
41758
41759 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
41760 characters.
41761
41762 * kern/term.c (pupa_term_set_current): Rewritten.
41763 (pupa_putchar): Likewise.
41764 (pupa_putcode): New function.
41765
41766 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
41767 (pupa_console_real_putchar): ... this.
41768 (pupa_vga_set_mode): New function.
41769 (pupa_vga_get_font): Likewise.
41770
41771 * normal/command.c: Include pupa/term.h.
41772 (terminal_command): New function.
41773 (pupa_command_init): Register the command "terminal".
41774
41775 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
41776 (DISP_UP): Likewise.
41777 (DISP_RIGHT): Likewise.
41778 (DISP_DOWN): Likewise.
41779 (DISP_HLINE): Likewise.
41780 (DISP_VLINE): Likewise.
41781 (DISP_UL): Likewise.
41782 (DISP_UR): Likewise.
41783 (DISP_LL): Likewise.
41784 (DISP_LR): Likewise.
41785
41786 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 41787
977329f5 417882003-02-08 NIIBE Yutaka <gniibe@m17n.org>
41789
41790 * util/resolve.c (pupa_util_resolve_dependencies): BUG
41791 FIX. Reverse the path_list.
41792
41793 * include/pupa/normal.h: Export pupa_register_command and
41794 pupa_unregister_command.
41795
41796 * hello/hello.c (pupa_cmd_hello): New module.
41797 * conf/i386-pc.rmk: Added hello.mod.
41798
1f5ab428 417992003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
41800
41801 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 41802
1f5ab428 41803 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
41804 (compress_kernel): New variable.
41805 (generate_image): Heavily modified to support compressing a
41806 large part of the core image.
41807
41808 * util/misc.c (pupa_util_read_image): Fix a file descriptor
41809 leak.
41810 (pupa_util_load_image): New function.
41811
41812 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
41813 (pupa_compressed_size): New variable.
41814 (codestart): Enable Gate A20 here.
41815 Decompress the compressed part of the core image.
41816 Rearrange the code to put functions and variables which are
41817 required for initialization in the non-compressed part.
41818 Include lzo1x.S.
41819
41820 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
41821 here.
41822
41823 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
41824
f19dbdb7 41825 * include/pupa/i386/pc/kernel.h
1f5ab428 41826 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
41827 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
41828 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41829 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41830 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
41831
41832 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
41833
41834 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
41835 (Utility#rule): Likewise.
41836
41837 * configure.ac: Check if LZO is available.
41838
ce5bf700 418392003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
41840
41841 * include/pupa/normal.h: New file.
41842 * include/pupa/setjmp.h: Likewise.
41843 * include/pupa/i386/setjmp.h: Likewise.
41844 * normal/cmdline.c: Likewise.
41845 * normal/command.c: Likewise.
41846 * normal/main.c: Likewise.
41847 * normal/menu.c: Likewise.
41848 * normal/i386/setjmp.S: Likewise.
f19dbdb7 41849
ce5bf700 41850 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
41851 (pupa_rescue_cmd_initrd): Likewise.
41852
41853 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
41854 Likewise.
41855
41856 * kern/i386/pc/startup.S (translation_table): New variable.
41857 (translate_keycode): New function.
41858 (pupa_console_getkey): Call translate_keycode.
41859
41860 * kern/rescue.c (attempt_normal_mode): New function.
41861 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
41862 it failed, print a message.
41863
41864 * kern/mm.c (pupa_real_malloc): Print more information when a
41865 free magic is broken.
41866 (pupa_free): If the first free header is not free actually, set
41867 it to P.
41868
41869 * kern/main.c (pupa_load_normal_mode): Just load the module
41870 "normal".
41871 (pupa_main): Don't print the message
41872 "Entering into rescue mode..." here.
41873
41874 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41875 Declared.
41876 (pupa_rescue_cmd_initrd): Likewise.
41877 (pupa_rescue_cmd_initrd): Likewise.
41878
41879 * include/pupa/symbol.h (FUNCTION): Specify the type.
41880 (VARIABLE): Likewise.
41881
41882 * include/pupa/err.h (pupa_err_t): Added
41883 PUPA_ERR_UNKNOWN_COMMAND.
41884
41885 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41886 (pupa_dl_get_prefix): Likewise.
41887
41888 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41889 Added _chain.mod and _linux.mod instead of chain.mod and
41890 linux.mod.
41891 (chain_mod_SOURCES): Renamed to ...
41892 (_chain_mod_SOURCES): ... this.
41893 (chain_mod_CFLAGS): Renamed to ...
41894 (_chain_mod_CFLAGS): ... this.
41895 (linux_mod_SOURCES): Renamed to ...
41896 (_linux_mod_SOURCES): ... this.
41897 (linux_mod_CFLAGS): Renamed to ...
41898 (_linux_mod_CFLAGS): ... this.
41899 (normal_mod_SOURCES): New variable.
41900 (normal_mod_CFLAGS): Likewise.
41901 (normal_mod_ASFLAGS): Likewise.
41902
419032003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41904
41905 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41906 possible.
41907
fe6b695a 41908 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 41909 recursively.
41910 (pupa_dl_unref): Unrefer depending modules recursively.
41911 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41912 a module is unloaded before one depending on that module is
41913 unloaded.
41914 (pupa_dl_unload): Unload depending modules explicitly,
41915 if possible.
41916
c04da074 419172003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41918
41919 * include/pupa/i386/pc/linux.h: New file.
41920 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 41921
c04da074 41922 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41923 Removed.
41924 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41925 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41926 of PUPA_CHAINLOADER_BOOT_SECTOR.
41927
41928 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41929 (pupa_linux_prot_size): New variable.
41930 (pupa_linux_tmp_addr): Likewise.
41931 (pupa_linux_real_addr): Likewise.
41932 (pupa_linux_boot_zimage): New function.
41933 (pupa_linux_boot_bzimage): Likewise.
41934
41935 * kern/i386/pc/init.c (struct mem_region): New structure.
41936 (MAX_REGIONS): New macro.
41937 (mem_regions): New variable.
41938 (num_regions): Likewise.
41939 (pupa_os_area_addr): Likewise.
41940 (pupa_os_area_size): Likewise.
41941 (pupa_lower_mem): Likewise.
41942 (pupa_upper_mem): Likewise.
41943 (add_mem_region): New function.
41944 (compact_mem_regions): Likewise.
41945 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41946 the size of the conventional memory and that of so-called upper
41947 memory (before the first memory hole).
41948 Instead of adding each found region to free memory, use
41949 add_mem_region and add them after removing overlaps.
41950 Also, add only 1/4 of the upper memory to free memory. The rest
41951 is used for loading OS images. Maybe this is ad hoc, but this
41952 makes it much easier to relocate OS images when booting.
41953
41954 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41955 (pupa_enter_rescue_mode): Don't register initrd and module.
41956
41957 * kern/mm.c: Include pupa/dl.h.
41958
41959 * kern/main.c: Include pupa/file.h and pupa/device.h.
41960
41961 * kern/loader.c (pupa_loader_load_module_func): Removed.
41962 (pupa_loader_load_module): Likewise.
41963
41964 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41965 ``.o''.
41966
41967 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41968 (pupa_linux_tmp_addr): Likewise.
41969 (pupa_linux_real_addr): Likewise.
41970 (pupa_linux_boot_zimage): Likewise.
41971 (pupa_linux_boot_bzimage): Likewise.
41972
41973 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41974 (pupa_upper_mem): Likewise.
41975 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41976 module is too dangerous.
41977
41978 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41979 (pupa_os_area_size): Likewise.
41980 (pupa_loader_set): Remove the first argument. Loader doesn't
41981 manage modules or initrd any longer.
41982 (pupa_loader_load_module): Removed.
41983
41984 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41985 (linux_mod_SOURCES): New variable.
41986 (linux_mod_CFLAGS): Likewise.
41987
a13f9237 419882003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41989
41990 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41991 the length of a blocklist correctly.
41992
41993 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
41994 Use ioctl only if the OS file is a block device.
41995 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
41996 not very useful for normal files.
41997
41998 * kern/main.c (pupa_set_root_dev): New function.
41999 (pupa_load_normal_mode): Likewise.
42000 (pupa_main): Call those above.
42001
42002 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42003 pupa_uint16_t.
42004
42005 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42006
a5ffe966 420072003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42008
42009 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42010 (setup): Configure the installed partition information and the
42011 dl prefix.
42012
42013 * loader/i386/pc/chainloader.c (my_mod): New variable.
42014 (pupa_chainloader_unload): New function.
42015 (pupa_rescue_cmd_chainloader): Refer itself.
42016 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42017
42018 * kern/i386/pc/startup.S (install_partition): Removed.
42019 (version_string): Likewise.
42020 (config_file): Likewise.
42021 (pupa_install_dos_part): New variable.
42022 (pupa_install_bsd_part): Likewise.
42023 (pupa_prefix): Likewise.
42024 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42025
42026 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42027 and pupa/misc.h.
42028 (make_install_device): New function.
42029 (pupa_machine_init): Set the dl prefix.
42030
42031 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42032 (buf): Renamed to ...
42033 (linebuf): ... this.
42034 (pupa_rescue_cmd_prefix): New function.
42035 (pupa_rescue_cmd_insmod): Likewise.
42036 (pupa_rescue_cmd_rmmod): Likewise.
42037 (pupa_rescue_cmd_lsmod): Likewise.
42038 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42039 rmmod and lsmod.
42040
42041 * kern/mm.c (pupa_memalign): If failed even after invalidating
42042 disk caches, unload unneeded modules and retry.
42043
42044 * kern/misc.c (pupa_memmove): New function.
42045 (pupa_memcpy): Removed.
42046 (pupa_strcpy): New function.
42047 (pupa_itoa): Made static.
42048
42049 * kern/dl.c (pupa_dl_iterate): New function.
42050 (pupa_dl_ref): Likewise.
42051 (pupa_dl_unref): Likewise.
42052 (pupa_dl_unload): Return if succeeded or not.
42053 (pupa_dl_unload_unneeded): New function.
42054 (pupa_dl_unload_all): Likewise.
42055 (pupa_dl_init): Renamed to ...
42056 (pupa_dl_set_prefix): ... this.
42057 (pupa_dl_get_prefix): New function.
42058
42059 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42060 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42061 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42062 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42063 (pupa_install_dos_part): Declared.
42064 (pupa_install_bsd_part): Likewise.
42065 (pupa_prefix): Likewise.
42066 (pupa_boot_drive): Likewise.
42067
42068 * include/pupa/types.h: Fix a typo.
42069
42070 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42071 pupa_memmove.
42072 (pupa_memmove): Declared.
42073 (pupa_strcpy): Likewise.
42074
42075 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42076 pupa_mod_init takes one argument, its own module.
42077 (pupa_dl_unload_unneeded): Declared.
42078 (pupa_dl_unload_all): Likewise.
42079 (pupa_dl_ref): Likewise.
42080 (pupa_dl_unref): Likewise.
42081 (pupa_dl_iterate): Likewise.
42082 (pupa_dl_init): Renamed to ...
42083 (pupa_dl_set_prefix): ... this.
42084 (pupa_dl_get_prefix): Declared.
42085
42086 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42087 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42088 unloaded.
42089 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42090 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42091
42092 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42093 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42094
012d7999 420952003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42096
42097 * util/i386/pc/pupa-setup.c (setup): Define the internal
42098 function find_first_partition_start at the top level, because GCC
42099 3.0.x cannot compile internal functions in deeper scopes
42100 correctly.
42101 (find_root_device): Use lstat instead of stat.
42102 Don't follow symbolic links.
42103 Fix the path-constructing code.
42104
42105 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42106 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42107 by a BLKGETSIZE ioctl first, because block devices don't fill
42108 the member st_mode of the structure stat on Linux.
42109 [__linux__] (linux_find_partition): Use a temporary buffer
42110 REAL_DEV for the working space. Copy it to DEV before returning.
42111 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42112 buffer cache consistent.
42113 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42114 strncmp. The previous value was merely wrong.
42115 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42116
42117 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42118 FAT size is 12. The previous value was merely wrong.
42119
42120 * kern/main.c (pupa_main): Don't split the starting message from
42121 newlines.
42122
42123 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42124 LF, because BIOS goes crazy about character attributes in this
42125 case.
42126
1cc73a62 421272003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42128
42129 * include/i386/pc/util/biosdisk.h: New file.
42130 * util/i386/pc/biosdisk.c: Likewise.
42131 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42132
1cc73a62 42133 * Makefile.in (INCLUDE_DISTFILES): Added
42134 include/pupa/i386/pc/util/biosdisk.h.
42135 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42136 directory util/i386/pc.
42137 (install-local): Added a rule for sbin_UTILITIES.
42138 (uninstall): Likewise.
42139
42140 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42141
42142 * util/misc.c (xrealloc): New function.
42143 (pupa_malloc): Likewise.
42144 (pupa_free): Likewise.
42145 (pupa_realloc): Likewise.
42146 (pupa_stop): Likewise.
42147 (pupa_putchar): Likewise.
42148
42149 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42150
42151 * include/pupa/util/misc.h (xrealloc): Declared.
42152
42153 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42154 macro.
42155 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42156 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42157
42158 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42159 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42160
42161 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42162 way should be implemented.
42163 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42164
42165 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42166 the size of NAME for safety.
42167 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42168 0x88.
42169
42170 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42171 (pupa_setup_SOURCES): Likewise.
42172
42173 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42174
08b70fe8 421752002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42176
42177 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42178 bunch of pushl's from pusha, because this destroys the return
42179 value.
42180
62ddcc8f 421812002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42182
42183 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42184 This means that any missing prototypes could be fatal. Also, you
42185 must take care when writing assembly code. See the comments at
42186 the beginning of startup.S, for more details.
f19dbdb7 42187
62ddcc8f 42188 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42189 compilation mechanism.
42190 (pupa_chainloader_real_boot): Likewise.
42191 (pupa_biosdisk_rw_int13_extensions): Likewise.
42192 (pupa_biosdisk_rw_standard): Likewise.
42193 (pupa_biosdisk_check_int13_extensions): Likewise.
42194 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42195 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42196 (pupa_get_memsize): Likewise.
42197 (pupa_get_mmap_entry): Likewise.
42198 (pupa_console_putchar): Likewise.
42199 (pupa_console_setcursor): Likewise.
42200 (pupa_getrtsecs): Use pushl instead of push.
42201
42202 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42203 memory instead of the stack for a mmap entry, because some
42204 BIOSes may ignore the maximum size and overflow.
42205
42206 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42207
42208 * genmk.rb (PModule#rule): Compile automatically generated
42209 sources with module-specific CFLAGS as well as other sources.
42210
9962ed99 422112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42212
42213 * configure.ac: Check ld.
42214 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42215 respectively, before checking endianness and sizes.
42216
42217 * Makefile.in (LD): New variable.
f19dbdb7 42218
abdfc3c5 422192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42220
42221 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42222
6a161fa9 422232002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42224
42225 * Changelog: New file.
42226