]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
[grub2.git] / ChangeLog
1 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2
3 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4
5 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Fix handling of wide characters in gfxterm.
8
9 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10 (clear_char): Likewise.
11 (paint_char): Skip code == NULL chars.
12 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13
14 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/normal/charset.c: Move comment to right place.
17
18 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
21 (GRUB_AFFS_FLAG_FFS): Put back where it was.
22 (grub_affs_mount): Revert the correct version checking.
23
24 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * docs/grub.texi (Unicode): Mention several other unsupported features.
27
28 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
31 case statements as compile-time one.
32 (direct_read): Prevent spurious warnings.
33 (grub_squash_read_data): Likewise.
34
35 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Various squash4 fixes and LZO and XZ support.
38
39 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
40 Add xzembed source files.
41 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
42 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
43 (grub_squash_inode): New subtype long_dir.
44 (SQUASH_TYPE_LONG_DIR): New inode type.
45 (COMPRESSION): New enum.
46 (XZBUFSIZ): New const.
47 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
48 (read_chunk): Use data->decompress.
49 (zlib_decompress): New function.
50 (lzo_decompress): Likewise.
51 (xz_decompress): Likewise.
52 (squash_mount): Set new data fields.
53 (grub_squash_iterate_dir): Handle long dir.
54 (squash_unmount): Free xzdec and xzbuf.
55 (grub_squash_open): Check ino type.
56 (direct_read): Stylistic fixes. Use data->decompress.
57 (grub_squash_read_data): Likewise.
58 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
59 (get_byte): Likewise.
60 (grub_zlib_disk_read): Removed.
61 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
62 (GRUB_POSIX_BOOL_DEFINED): New define.
63 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
64 * grub-core/lib/xzembed/xz.h: Addmissing includes.
65 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
66 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
67
68 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Don't override more informative errors.
71
72 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
73 * grub-core/font/font.c (open_section): Likewise.
74 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
75 filename. Don't override errors.
76 (grub_cmd_openbsd_ramdisk): Don't override errors.
77 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
78 (grub_cmd_initrd): Likewise.
79 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
80 (grub_cmd_initrd): Likewise.
81 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
82 (grub_cmd_linux): Likewise.
83 (grub_cmd_initrd): Likewise.
84 (grub_cmd_payload): Likewise.
85 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
86 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
87 (grub_cmd_module): Likewise.
88 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
89 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
90 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
91 (grub_cmd_xnu_mkext): Likewise.
92 (grub_cmd_xnu_ramdisk): Likewise.
93 (grub_xnu_check_os_bundle_required): Likewise.
94 (grub_xnu_load_kext_from_dir): Likewise.
95 (grub_cmd_xnu_kextdir): Likewise.
96 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
97
98 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
101 as 1024 in block size field. Found on one of my test images.
102 Small optimisation while on it.
103
104 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
107 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
108 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
109 performance fixes while on it.
110 (grub_sfs_close): Fix memory leak while on it.
111 (grub_sfs_label): Convert Latin1 to UTF-8.
112
113 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
116 space to avoid overflows.
117 (grub_hfs_label): Convert from macroman to UTF-8.
118
119 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
122
123 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
126
127 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * unicode: Import Unicode 6.0 data.
130
131 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
134 outside of range.
135
136 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
137
138 Avoid cutting in the middle of UTF-8 character.
139
140 * include/grub/charset.h (grub_getend): New function.
141 * grub-core/script/function.c (grub_script_function_find): Use
142 grub_getend.
143 * grub-core/normal/completion.c (add_completion): Likewise.
144
145 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
148 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
149 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
150 (GRUB_UNICODE_TAG_END): Likewise.
151 (GRUB_UNICODE_LAST_VALID): Likewise.
152
153 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
156 len and make it smaller. All users updated.
157 * util/import_unicode.py: Put length and not end character.
158 Check length.
159
160 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Make better Unicode-compliant and unify some UTF-8 code pathes.
163
164 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
165 valid character.
166 (grub_is_valid_utf8): Use grub_utf8_process.
167 Check resulting code range.
168 (grub_utf8_to_ucs4): Use grub_utf8_process.
169 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
170 valid character.
171
172 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
175
176 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * docs/grub.texi (Filesystems): Mention AFS.
179
180 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * docs/grub.texi (Filesystems): Clarify restrictions.
183 (Regexp): Mention non-Unicode regexp behaviour.
184 (Other): Mention non-Unicode matching behaviour.
185
186 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Make HFS implementation use MacRoman.
189
190 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
191 (macroman): New const array.
192 (macroman_to_utf8): New function.
193 (utf8_to_macroman): Likewise.
194 (grub_hfs_find_dir): Use utf8_to_macroman.
195 (grub_hfs_dir): Use macroman_to_utf8.
196 Set case_insensitive.
197
198 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
201
202 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Integrate hints into autogeneration scripts.
205
206 * docs/grub.texi (Filesystems): Add a hostdisk example.
207 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
208 (grub-probe): Add ofpath.
209 * gentpl.py: Remove group nosparc64.
210 * grub-core/commands/search.c (cache_entry): New struct.
211 (cache): New var.
212 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
213 * grub-core/commands/search_wrap.c (options): Add platform-specific
214 hint options.
215 (grub_cmd_search): Handle platform-specific hints.
216 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
217 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
218 (grub_util_biosdisk_data): Likewise.
219 (grub_util_biosdisk_open): Set device_map.
220 (read_device_map): Handle "" as indication of no map.
221 Set device_map.
222 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
223 (grub_util_biosdisk_get_compatibility_hint): New function.
224 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
225 * include/grub/emu/hostdisk.h
226 (grub_util_biosdisk_get_compatibility_hint): New proto.
227 * util/grub-install.in: Don't call grub-mkdevicemap.
228 Add platform-specific hint to load.cfg.
229 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
230 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
231 hints. Set root preliminary to compatibility hint, not to OS name.
232 * util/grub-probe.c (PRINT_*): Add hints.
233 (print): Make static.
234 (escape_of_path): New function.
235 (guess_bios_drive): Likewise.
236 (guess_efi_drive): Likewise.
237 (guess_baremetal_drive): Likewise.
238 (print_full_name): Likewise.
239 (probe): Handle hints.
240 (main): Likewise.
241 * util/ieee1275/devicemap.c: Removed.
242 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
243 updated.
244 (grub_util_devname_to_ofpath): Return NULL on failure.
245
246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
247 resource leak.
248 * util/getroot.c (grub_util_pull_device): Fix memory leak.
249
250 * po/POTFILES.in: Regenerated.
251
252 Allow purely long options
253
254 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
255 (SHORT_ARG_USAGE): Likewise.
256 (grub_arg_show_help): Compare opt with help_options.
257 (parse_option): Receive opt as argument. If makes big simplificatons.
258 All users updated
259
260 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
263 Restructure to avoid warning.
264
265 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * util/grub-install.in: Account for possible escaped comma in device
268 name.
269
270 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
273 channel.
274
275 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
278 allocation and zero-setting.
279 (grub_ieee1275_get_devname): Check that alias is complete.
280
281 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
284 unaligned segments.
285
286 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
289 prefix.
290 (grub_ofdisk_open): Check and discard ieee1275 prefix.
291 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
292 Add ieee1275 prefix.
293
294 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * docs/grub.texi (Filesystems): Update.
297
298 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Support odc, newc and bigendian cpio formats.
301
302 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
303 * grub-core/Makefile.core.def (newc): New module.
304 (odc): Likewise.
305 (cpio_be): Likewise.
306 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
307 (MAGIC): Likewise.
308 (MAGIC2): Likewise.
309 (head) [MODE_ODC]: Adapt for the format.
310 (head) [MODE_NEWC]: Likewise.
311 (head) [!MODE_*]: Write fields of interest as arrays.
312 (MAGIC_USTAR): Removed.
313 (read_number) [MODE_NEWC]: Change to hex.
314 (read_number) [!MODE_*]: Parse binary arrays.
315 (grub_cpio_find_file): Factor out the code for better structure and
316 always use read_number.
317 (grub_cpio_mount): Use MAGIC and MAGIC2.
318 (grub_cpio_dir): Exit on first hook non-0 return.
319 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
320 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
321 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
322 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
323 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
324 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
325 * grub-core/fs/newc.c: New file.
326 * grub-core/fs/odc.c: Likewise.
327 * grub-core/fs/cpio_be.c: Likewise.
328
329 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Fix handling of tar numbers occupying the whole field.
332
333 * grub-core/fs/cpio.c (read_number): New function.
334 (grub_cpio_find_file): Use read_number instead of strtoull.
335
336 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
339 occupying the whole field size.
340
341 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
342
343 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
344
345 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
348
349 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
350
351 * grub-core/Makefile.core.def (lzma_decompress): Add missing
352 TARGET_IMG_LDFLAGS.
353
354 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * util/getroot.c (ESCAPED_PATH_MAX): New define.
357 (mountinfo_entry): Increase the field size to take escaping into
358 account.
359 (find_root_device_from_libzfs): Add one byte to size of strings for
360 security.
361
362 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
365 an assert.
366 * util/grub-setup.c (setup): Likewise.
367
368 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
371 _LzmaDecodeA.
372
373 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * docs/grub.texi (Internationalisation): New section.
376
377 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * docs/grub.texi (Loopback booting): New section.
380
381 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
382
383 * util/grub-mkstandalone.in: Fix minor typo errors.
384
385 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
386
387 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
388
389 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
390 net/icmp.c and net/icmp6.c.
391 (http): New module.
392 (priority_queue): Likewise.
393 * grub-core/io/bufio.c: Rewritten.
394 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
395 TYPE_WITH_CONFIGFILE_OPTION.
396 (legacy_commands): Add bootp and dhcp.
397 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
398 (grub_legacy_parse): Likewise.
399 * grub-core/lib/priority_queue.c: New file.
400 * grub-core/net/arp.c: Add missing license header.
401 (arp_find_entry): Removed.
402 (arp_find_entry): Likewise.
403 (grub_net_arp_resolve): Rename to ...
404 (grub_net_arp_send_request): ...this.
405 (grub_net_arp_receive): New card argument.
406 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
407 Set router and DNS server.
408 (grub_net_configure_by_dhcp_ack): Handle routing information.
409 (grub_cmd_bootp): Set checksum.
410 (grub_bootp_init): Remove net_dhcp.
411 * grub-core/net/dns.c: New file.
412 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
413 completion.
414 (get_card_packet): Handle allocation.
415 (grub_efinet_findcards): Set mtu.
416 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
417 (get_card_packet): Handle allocation.
418 (emucard): Set mtu.
419 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
420 (GRUB_MOD_INIT): Set mtu.
421 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
422 mtu.
423 (get_card_packet): Handle allocation.
424 (grub_ofnet_findcards): Set mtu.
425 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
426 assert.
427 (grub_net_recv_ethernet_packet): Handle IPv6.
428 * grub-core/net/http.c: New file.
429 * grub-core/net/icmp.c: Likewise.
430 * grub-core/net/icmp6.c: Likewise.
431 * grub-core/net/ip.c (ip6addr): New type.
432 (ip6hdr): Likewise.
433 (reassemble): Likewise.
434 (cmp): New function.
435 (reassembles): New variable.
436 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
437 (id): New variable.
438 (send_fragmented): New function.
439 (grub_net_send_ip_packet): Rename to ...
440 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
441 Handle non-UDP.
442 (grub_net_recv_ip_packets): Rename to ...
443 (handle_dgram): ... this. Check checksum. Handle non-UDP.
444 (free_rsm): New function.
445 (free_old_fragments): Likewise.
446 (grub_net_recv_ip4_packets): New function.
447 (grub_net_send_ip6_packet): Likewise.
448 (grub_net_send_ip_packet): Likewise.
449 (grub_net_recv_ip6_packets): Likewise.
450 (grub_net_recv_ip_packets): Likewise.
451 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
452 (LINK_LAYER_CACHE_SIZE): New const.
453 (link_layer_find_entry): New function.
454 (grub_net_link_layer_add_address): Likewise.
455 (grub_net_link_layer_resolve_check): Likewise.
456 (grub_net_link_layer_resolve): Likewise.
457 (grub_net_ipv6_get_slaac): Likewise.
458 (grub_net_ipv6_get_link_local): Likewise.
459 (grub_cmd_ipv6_autoconf): Likewise.
460 (parse_ip): Handle one number representation.
461 (parse_ip6): New functoion.
462 (match_net): Handle IPv6.
463 (grub_net_resolve_address): Handle IPv6 and DNS.
464 (grub_net_resolve_net_address): Handle IPv6.
465 (route_cmp): New function.
466 (grub_net_route_address): Find best route.
467 (grub_net_addr_to_str): Handle IPv6.
468 (grub_net_addr_cmp): New function.
469 (grub_net_add_addr): Register local route.
470 (print_net_address): Handle net address.
471 (grub_net_poll_cards): Retransmit TCP.
472 (grub_net_poll_cards_idle_real): Likewise.
473 (have_ahead): New function.
474 (grub_net_seek_real): Use underlying seek.
475 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
476 * grub-core/net/tcp.c: New file.
477 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
478 (cmp): New function.
479 (ack): Likewise.
480 (tftp_receive): Handle unordered input.
481 (destroy_pq): New function.
482 (tftp_close): Close pq.
483 * grub-core/net/udp.c: Put missing license header.
484 (grub_net_udp_socket): New function.
485 (udp_socket_register): Likewise.
486 (grub_net_udp_close): Likewise.
487 (grub_net_recv_udp_packet): Check checksum.
488 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
489 * include/grub/misc.h (grub_memchr): New function.
490 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
491 (grub_net_card_driver): Return buf in recv.
492 (grub_net_slaac_mac_list): New struct.
493 (grub_network_level_protocol_id): Add ipv6.
494 (grub_net_network_level_addr): Likewise.
495 (grub_net_network_level_net_addr): Likewise.
496 (grub_net_app_protocol): Add seek.
497 (grub_net_socket): Removed.
498 (grub_net_sockets): Likewise.
499 (grub_net_socket_register): Likewise.
500 (grub_net_socket_unregister): Likewise.
501 (FOR_NET_SOCKETS): Likewise.
502 (grub_net_add_addr): Add const.
503 (GRUB_NET_BOOTP_*): New enum.
504 (grub_net_addr_cmp): New proto.
505 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
506 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
507 (grub_net_hwaddr_to_str): NEw proto.
508 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
509 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
510 (grub_dns_init): New proto.
511 (grub_dns_fini): Likewise.
512 (grub_net_tcp_retransmit): Likewise.
513 (grub_net_link_layer_add_address): Likewise.
514 (grub_net_link_layer_resolve_check): Likewise.
515 (grub_net_link_layer_resolve): Likewise.
516 (grub_net_dns_lookup): Likewise.
517 (grub_net_add_dns_server): Likewise.
518 (grub_net_remove_dns_server): Likewise.
519 (GRUB_NET_TRIES): New const.
520 (GRUB_NET_INTERVAL): Likewise.
521 * include/grub/net/arp.h: Mostly rewritten.
522 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
523 * include/grub/net/ip.h: Mostly rewritten.
524 * include/grub/net/netbuff.h: Indent.
525 * include/grub/net/tcp.h: New file.
526 * include/grub/net/udp.h: Mostly rewritten.
527 * include/grub/priority_queue.h: New file.
528 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
529 (grub_swap_bytes64_compile_time): Likewise.
530 (grub_cpu_to_be16_compile_time): Likewise.
531 (grub_cpu_to_be32_compile_time): Likewise.
532 (grub_cpu_to_be64_compile_time): Likewise.
533 (grub_be_to_cpu64_compile_time): Likewise.
534
535 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
538 UINT_TO_PTR with cast.
539
540 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
543 don't use them.
544
545 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
548 already there.
549
550 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
553 confusing ipxe.
554
555 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
558 Add missing const attribute.
559 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
560 Likewise.
561 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
562 Likewise.
563
564 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
567 misaligned access.
568 (serpent_setkey): Likewise.
569 (serpent_encrypt_internal): Likewise.
570 (serpent_decrypt_internal): Likewise.
571 (serpent_encrypt): Don't put an alignment-increasing cast.
572 (serpent_decrypt): Likewise.
573 (serpent_test): Likewise.
574
575 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
578
579 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
582
583 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
584 grub_addr_t casts.
585 (PTR_TO_UINT64): Likewise.
586 (PTR_TO_UINT32): Likewise.
587
588 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * util/grub-mkimage.c (generate_image): Decrease the higher limit
591 because of stack.
592 * util/grub-setup.c (setup): Don't add redundancy past the higher load
593 limit.
594
595 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
598 text_width > available width a bit more gracefully.
599
600 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
603 current address calculation.
604
605 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
608 stack.
609 (encode_block): Likewise.
610
611 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
614 certainety.
615
616 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
619 non-RS part to avoid RS messing with GDT.
620 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
621 Increase to suit in realmode routines.
622
623 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/kern/i386/realmode.S: Increase alignment.
626 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
627
628 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
631 be deterministic.
632 (syndroms): Compute 0 syndrom.
633 (rs_recover): Use 0 syndrom.
634
635 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
638
639 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
642 brackets.
643
644 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
647 account.
648 (get_top_pad): Likewise.
649 (get_right_pad): Likewise.
650 (get_bottom_pad): Likewise.
651
652 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
655
656 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
659 attribute as the structure isn't guaranteed to be properly aligned.
660 (grub_efi_pci_device_path): Likewise.
661 (grub_efi_pccard_device_path): Likewise.
662 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
663 specify the size of `memory_type'.
664 (grub_efi_vendor_device_path): Likewise.
665 (grub_efi_controller_device_path): Likewise.
666 (grub_efi_acpi_device_path): Likewise.
667 (grub_efi_expanded_acpi_device_path): Likewise.
668 (grub_efi_atapi_device_path): Likewise.
669 (grub_efi_scsi_device_path): Likewise.
670 (grub_efi_fibre_channel_device_path): Likewise.
671 (grub_efi_1394_device_path): Likewise.
672 (grub_efi_usb_device_path): Likewise.
673 (grub_efi_usb_class_device_path): Likewise.
674 (grub_efi_i2o_device_path): Likewise.
675 (grub_efi_mac_address_device_path): Likewise.
676 (grub_efi_ipv4_device_path): Likewise.
677 (grub_efi_ipv6_device_path): Likewise.
678 (grub_efi_infiniband_device_path): Likewise.
679 (grub_efi_uart_device_path): Likewise.
680 (grub_efi_vendor_messaging_device_path): Likewise.
681 (grub_efi_hard_drive_device_path): Likewise.
682 (grub_efi_cdrom_device_path): Likewise.
683 (grub_efi_vendor_media_device_path): Likewise.
684 (grub_efi_file_path_device_path): Likewise.
685 (grub_efi_protocol_device_path): Likewise.
686 (grub_efi_piwg_device_path): Likewise.
687 (grub_efi_bios_device_path): Likewise.
688
689 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
692 (grub_ucs4_to_utf8_alloc): Likewise.
693 (grub_ucs4_to_utf8): Likewise.
694 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
695 (grub_ucs4_to_utf8_alloc): Likewise.
696
697 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
698
699 AFFS never uses unicode.
700
701 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
702 (grub_latin1_to_utf8): New inline function.
703 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
704
705 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
708 overflow.
709
710 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
713 (grub_squash_dirent_header): Likewise.
714 (read_chunk): Don't double swap.
715 (grub_squash_iterate_dir): Fix swap sizes.
716
717 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
720
721 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
724 (grub_hfs_iterate_dir): Likewise.
725
726 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
727
728 Fix video on platforms where unaligned access is forbidden.
729 Make several optimisations while on it.
730
731 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
732 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
733 (grub_video_fbblit_replace_32bit_1bit): Likewise.
734 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
735 Disable.
736 (grub_video_fbblit_replace_16bit_1bit):
737 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
738 (grub_video_fbblit_replace_8bit_1bit): Likewise.
739 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
740 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
741 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
742 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
743 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
744 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
745 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
746 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
747 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
748 (grub_video_fbblit_replace_index_RGB888): Likewise.
749 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
750 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
751 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
752 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
753 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
754 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
755 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
756 Disable.
757 (grub_video_fbblit_blend_XXX565_1bit):
758 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
759 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
760 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
761 void *.
762 * grub-core/video/fb/video_fb.c (common_blitter)
763 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
764 (grub_video_fb_create_render_target_from_pointer)
765 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
766 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
767 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
768 definition.
769 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
770
771 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
774 HH22 and HM10 relocations.
775
776 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
779
780 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
783 allocation succeeded.
784
785 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
788 argument a u8 pointer. All users updated.
789 Handle unaligned buffers.
790
791 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
794 add_part to workaround compiler bug.
795
796 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
799
800 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
803 Reserve alignment invariants.
804 (grub_multiboot_load): Likewise.
805 (retrieve_video_parameters): Likewise.
806 (grub_multiboot_make_mbi): Likewise.
807
808 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
811 incorrect pointer.
812
813 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
816 (grub_pata_pio_write): Likewise.
817
818 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
819
820 Add noreturn attributes and remove unreachable code.
821
822 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
823 code.
824 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
825 code. Mark as noreturn.
826 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
827 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
828 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
829 unreachable code.
830 * grub-core/kern/main.c (grub_main): Mark as noreturn.
831 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
832 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
833 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
834 * include/grub/kernel.h (grub_main): Mark as noreturn.
835 * include/grub/reader.h (grub_rescue_run): Likewise.
836
837 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
840 redundant declaration.
841
842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * include/grub/net.h (grub_net_network_level_interfaces): Remove
845 redundant declaration.
846 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
847
848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
851 to ensure alignment.
852 (grub_hdparm_print_identify): Make argument uint16 * to ensure
853 alignment. Ensure tmp alignment.
854 (grub_cmd_hdparm): Ensure buf alignment.
855 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
856 to ensure alignment.
857 (grub_ata_dumpinfo): Ensure text alignment.
858 (grub_atapi_identify): Preserve alignment invariant.
859 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
860
861 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
864 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
865 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
866 * include/grub/misc.h (grub_reboot)
867 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
868 (grub_halt) [__mips__]: Likewise.
869
870 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
873 Remove redundant declaration.
874 (grub_mmap_get_post64): Likewise.
875 (grub_mmap_get_upper): Likewise.
876 (grub_mmap_get_lower): Likewise.
877
878 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
881 uint32_t * to ensure alignment.
882 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
883
884 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
887 uint16_t * to ensure alignment.
888 (sun_pc_partition_map_iterate): Make `block' a union to ensure
889 alignment.
890
891 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
894 to ensure alignment.
895 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
896
897 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/fs/ntfs.c (u16at): Make into inline function.
900 Handle unaligned pointers.
901 (u32at): Likewise.
902 (u64at): Likewise.
903 (fixup): Use byte access instead of v16at.
904 (find_attr): Fix imporper usage of v32at.
905 (read_data): Likewise.
906 (list_file): Handle byte-swapping and unaligned strings.
907 (grub_ntfs_label): Likewise.
908
909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
912 as it's not necessarily aligned.
913
914 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
917 redundant declaration.
918 (grub_serial_init): Likewise.
919 (grub_terminfo_init): Likewise.
920
921 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
924 function.
925 (ZAP_HASH_IDX): Likewise.
926 (ZAP_LEAF_HASH_SHIFT): Likewise.
927 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
928 (LEAF_HASH): Likewise.
929 (ZAP_LEAF_NUMCHUNKS): Likewise.
930 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
931 alignment invariants. Return pointer. All users updated.
932 (ZAP_LEAF_ENTRY): Make into inline function.
933 (NBBY): Removed.
934 (xor): LIkewise.
935 (xor_out): Use grub_crypto_xor.
936 (dnode_get_path): Use grub_get_unaligned.
937 (nvlist_find_value): Likewise.
938 (grub_zfs_nvlist_lookup_uint64): Likewise.
939 (grub_zfs_nvlist_lookup_string): Likewise.
940 (get_nvlist_size): Likewise.
941 (grub_zfs_open): Likewise.
942 (fill_fs_info): Likewise.
943 (grub_zfs_dir): Likewise.
944 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
945 alignment invariants.
946 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
947 necessarily aligned.
948
949 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
952
953 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
956 arithmetic to conserve alignment invariants.
957
958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
961 redundant declaration.
962 (grub_efiemu_mm_obtain_request): Likewise.
963 (grub_efiemu_prepare): Likewise.
964
965 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
968 to match types.
969
970 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
973 case of aunaligned recptr.
974 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
975 alignment.
976 (grub_hfsplus_btree_search): Handle unaligned index.
977
978 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
981 to get freetag and skip.
982
983 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
986 array.
987 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
988 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
989
990 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
993 name for checksum and fix allocation algorithm.
994
995 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * include/grub/types.h (grub_properly_aligned_t): New type.
998 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
999 (grub_get_unaligned16): Add explicit casts.
1000 (grub_get_unaligned32): Likewise.
1001 (grub_get_unaligned64): Likewise.
1002 (grub_set_unaligned16): New function.
1003 (grub_set_unaligned32): Likewise.
1004
1005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1008
1009 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1012 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1013 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1014
1015 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1018 conditionals.
1019
1020 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1023 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1024
1025 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Unify and improve RAID and crypto xor.
1028
1029 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1030 changed to grub_crypto_xor
1031 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1032 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1033 Use bigger types when possible.
1034
1035 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/disk/raid.c (scan_devices): Fix condition.
1038
1039 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1042 Make name a const ptr.
1043
1044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1047 first argument a const pointer.
1048 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1050 proto.
1051 (grub_children_iterate): Likewise.
1052 (grub_machine_mmap_iterate): Remove redundant declaration.
1053
1054 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1057 (grub_cmd_acpi) [!x86]: Disable EBDA.
1058
1059 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Enable UTF8 in gnulib regexp.
1062
1063 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1064 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1065 (isupper): Use grub_isupper.
1066 (isascii): New inline function.
1067 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1068 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1069 * grub-core/normal/charset.c (grub_utf8_process): New function.
1070 (grub_utf8_to_utf16): Use grub_utf8_process.
1071 (grub_encode_utf8_character): New function.
1072 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1073 * include/grub/charset.h (grub_utf8_process): New declaration.
1074 (grub_encode_utf8_character): Likewise.
1075 * include/grub/misc.h (grub_islower): New inline function.
1076 (grub_isupper): Likewise.
1077 (grub_strchrsub): Moved down to fix the definitions.
1078
1079 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1082 specification.
1083
1084 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * include/grub/loader.h (grub_loader_register_preboot_hook):
1087 Use struct preboot * and not void * for handle. All users updated.
1088 (grub_loader_unregister_preboot_hook): Likewise.
1089
1090 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1093 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1094 UTF-16-BE. All users updated.
1095 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1096 (grub_hfsplus_iterate_dir): Likewise.
1097 (grub_hfsplus_label): Likewise.
1098
1099 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1102
1103 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Add missing const qualifiers.
1106
1107 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1108 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1109 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1110 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1111 (grub_lvm_check_flag): Likewise.
1112 * grub-core/efiemu/i386/coredetect.c
1113 (grub_efiemu_get_default_core_name): Likewise
1114 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1115 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1116 * grub-core/fs/ntfs.c (fixup): Likewise.
1117 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1118 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1119 (fzap_lookup): Likewise.
1120 (zap_lookup): Likewise.
1121 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1122 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1123 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1124 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1125 (grub_freebsd_add_meta_module): Likewise.
1126 (grub_cmd_freebsd_module): Likewise.
1127 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1128 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1129 (grub_xnu_writetree_get_size): Likewise.
1130 (grub_xnu_writetree_toheap_real): Likewise.
1131 (grub_xnu_find_key): Likewise.
1132 (grub_xnu_create_key): Likewise.
1133 (grub_xnu_create_value): Likewise.
1134 (grub_xnu_register_memory): Likewise.
1135 (grub_xnu_check_os_bundle_required): Likewise.
1136 (grub_xnu_scan_dir_for_kexts): Likewise.
1137 (grub_xnu_load_kext_from_dir): Likewise.
1138 * grub-core/normal/color.c (color_list): Likewise.
1139 * grub-core/normal/completion.c (current_word): Likewise.
1140 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1141 * grub-core/term/serial.c (grub_serial_find): Likewise.
1142 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1143 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1144 Likewise.
1145 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1146 (grub_freebsd_add_meta_module): Likewise.
1147 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1148 * include/grub/net.h (grub_net_card_driver): Likewise.
1149 (grub_net_card): Likewise.
1150 (grub_net_app_protocol): Likewise.
1151 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1152 * include/grub/serial.h (grub_serial_find): Likewise.
1153 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1154 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1155 (grub_xnu_create_value): Likewise.
1156 (grub_xnu_find_key): Likewise.
1157 (grub_xnu_scan_dir_for_kexts): Likewise.
1158 (grub_xnu_load_kext_from_dir): Likewise.
1159
1160 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1161 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1162 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1163 Moved from here ...
1164 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1165
1166 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1167
1168 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1169
1170 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1173 (read_device): Fix size calculation.
1174
1175 2011-11-25 Robert Millan <rmh@gnu.org>
1176
1177 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1178 (find_root_device_from_libzfs): Add zpool output parser to be used
1179 as fallback when libzfs isn't available.
1180
1181 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1182
1183 * po/Makefile.in.in: Add missing escape-continuation.
1184
1185 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1188
1189 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1192
1193 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1196
1197 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1200
1201 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/lib/adler32.c: Add missing license specification.
1204 * grub-core/lib/crc64.c: Likewise.
1205 * grub-core/loader/i386/pc/plan9.c: Likewise.
1206 * grub-core/partmap/plan.c: Likewise.
1207
1208 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1209
1210 Add facility to debug GRUB with gdb under qemu.
1211
1212 * grub-core/gdb_grub.in: New file.
1213 * grub-core/gmodule.pl.in: Likewise.
1214 * grub-core/Makefile.core.def (gmodule.pl): New script.
1215 (gdb_grub): Likewise.
1216
1217 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * util/grub-mount.c (argp_parser): Accept relative pathes.
1220 * util/grub-fstest.c (argp_parser): Likewise.
1221
1222 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Plan9 support.
1225
1226 * Makefile.util.def (libgrubmods): Add
1227 grub-core/partmap/plan.c.
1228 * docs/grub.texi: Notice Plan9 support.
1229 * grub-core/Makefile.core.def (plan9): New module.
1230 (part_plan): Likewise.
1231 * grub-core/loader/i386/pc/plan9.c: New file.
1232 * grub-core/partmap/plan.c: Likewise.
1233 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1234 define.
1235 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1236 * include/grub/mm.h (grub_extend_alloc): New inline function.
1237
1238 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Make Reed-Solomon faster by using power of generator representation of
1241 GF(256)*.
1242
1243 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1244 (gf_double_t): Likewise.
1245 (gf_invert): Removed.
1246 (gf_powx): New array.
1247 (gf_powx_inv): Likewise.
1248 (scratch): Move higher.
1249 (gf_reduce): Removed.
1250 (gf_mul): Use powx.
1251 (gf_invert): Likewise.
1252 (init_inverts): Replaced with ...
1253 (init_powx): ...this. All users updated.
1254 (pol_evaluate): Replace multiplications with additions.
1255 (rs_encode): Likewise.
1256 (gauss_eliminate): Call gf_invert.
1257 (grub_reed_solomon_add_redundancy): Call init_powx.
1258 (grub_reed_solomon_recover): Call init_powx unconditionally.
1259
1260 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1263
1264 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1267 disk->partiton for safety.
1268
1269 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1272 Fix a memory leak.
1273 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1274
1275 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1278
1279 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1282
1283 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Fix spaces handling in proc/self/mountinfo.
1286
1287 * util/getroot.c (unescape): New function.
1288 (grub_find_root_device_from_mountinfo): Use unescape.
1289
1290 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Support ZFS embedding.
1293
1294 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1295 (grub_zfs_fs): Register grub_zfs_embed.
1296
1297 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Fix MIPS compilation.
1300
1301 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1302 * include/grub/offsets.h: Rename decompressor fields from
1303 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1304 * util/grub-mkimage.c (image_targets): Use new names.
1305
1306 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Defer multiboot device parsing until we're in compressed part.
1309
1310 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1311 bsd_part. setdevice has fallen into disuse.
1312 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1313 (bsd_part): Likewise.
1314 (boot_dev): New variable.
1315 (multiboot_trampoline): Don't parse multiboot device.
1316 Pass multiboot device in %edx.
1317 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1318 grub_boot_device.
1319 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1320 Likewise.
1321 * grub-core/kern/i386/pc/startup.S: Save edx.
1322 (grub_boot_drive): Removed.
1323 (grub_install_dos_part): Likewise.
1324 (grub_install_bsd_part): Likewise.
1325 (grub_boot_device): New variable.
1326 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1327 (grub_install_bsd_part): Likewise.
1328 (grub_boot_drive): Likewise.
1329 (grub_boot_device): New variable.
1330 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1331 Removed.
1332 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1333 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1334 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1335 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1336 * util/grub-install.in: Remove redundant condition.
1337
1338 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 Fix bug introduced by previous commit.
1341
1342 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1343
1344 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Use decompressors framework on i386-pc. It increases core size
1347 by 46 bytes but improves compatibility and maintainability.
1348
1349 * grub-core/Makefile.core.def (lzma_decompress): New image.
1350 (kernel): Add i386_pc_ldflags.
1351 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1352 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1353 to real_to_prot, prot_to_real and device info.
1354 * include/grub/offsets.h: Renamed decompressor offsets.
1355 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1356 (image_target_desc): Remove raw_size and rename decompressor fields.
1357 (compress_kernel): Handle lzma.
1358 (generate_image): Handle decompressors on i386-pc.
1359
1360 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * configure.ac: Add -fno-asynchronous-unwind-tables.
1363
1364 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Move assembly code to C by using intwrap. It increases core size
1367 by 88 bytes but improves compatibility and maintainability.
1368
1369 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1370 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1371 ... here. Translated to C.
1372 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1373 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1374 ... here. Translated to C.
1375 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1376 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1377 ... here. Translated to C.
1378 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1379 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1380 ... here. Translated to C.
1381 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1382 * grub-core/term/i386/pc/console.c (grub_console_cls):
1383 ... here. Translated to C.
1384 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1385 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1386 ... here. Translated to C.
1387 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1388 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1389 Translated to C.
1390 * grub-core/term/i386/pc/console.c (int10_9): New function.
1391 (grub_console_putchar): Likewise.
1392 * include/grub/i386/pc/console.h: Removed the not anymore shared
1393 functions.
1394
1395 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Move grub_chainloader_real_boot out of the kernel.
1398
1399 * grub-core/Makefile.am: Remove machine/loader.h.
1400 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1401 Removed.
1402 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1403 variable.
1404 (grub_relocator16_keep_a20_enabled): Likewise.
1405 (grub_relocator16_boot): Fill new variables.
1406 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1407 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1408 relocator.
1409 (grub_chainloader_unload): Likewise.
1410 (grub_chainloader_cmd): Likewise.
1411 * include/grub/i386/pc/loader.h: Removed.
1412 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1413 and esi. All initialisers updated.
1414
1415 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1416 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1417
1418 * Makefile.util.def (grub-mount): New util.
1419 * .bzrignore: Add grub-mount.
1420 * configure.ac: Check for fuse and enable grub-mount if available.
1421 * docs/man/grub-mount.h2m: New file.
1422 * util/grub-mount.c: Likewise.
1423
1424 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/commands/efi/fixvideo.c: Gettextize.
1427 * grub-core/commands/hashsum.c: Likewise.
1428 * grub-core/commands/i386/cmostest.c: Likewise.
1429 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1430 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1431 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1432 * grub-core/commands/lsmmap.c: Likewise.
1433 * grub-core/commands/menuentry.c: Likewise.
1434 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1435 * grub-core/commands/setpci.c: Likewise.
1436 * grub-core/loader/i386/bsd.c: Likewise.
1437 * grub-core/loader/i386/linux.c: Likewise.
1438 * util/getroot.c: Likewise.
1439 * util/grub-editenv.c: Likewise.
1440 * util/grub-fstest.c: Likewise.
1441 * util/grub-mkfont.c: Likewise.
1442 * util/grub-mkimage.c: Likewise.
1443 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1444 * util/grub-pe2elf.c: Likewise.
1445 * util/grub-probe.c: Likewise.
1446 * util/grub-setup.c: Likewise.
1447 * util/ieee1275/ofpath.c: Likewise.
1448 * util/misc.c: Likewise.
1449 * util/raid.c: Likewise.
1450
1451 2011-11-11 Robert Millan <rmh@gnu.org>
1452
1453 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1454 __attribute__((unused)) from `os_dev', which *is* being used.
1455
1456 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1459 forgotten define.
1460 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1461 GRUB_IA64_DL_GOT_ALIGN.
1462 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1463 GRUB_IA64_DL_TRAMP_ALIGN.
1464
1465 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Replace grub_fatal with normal errors in i386 linux loader.
1468
1469 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1470 (allocate_pages): Check find_efi_mmap_size return value.
1471 (grub_e820_add_region): Return error.
1472 (grub_linux_boot): Check mmap return value.
1473
1474 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/commands/acpihalt.c: Gettextized.
1477 * grub-core/commands/cacheinfo.c: Likewise.
1478 * grub-core/commands/cmp.c: Likewise.
1479 * grub-core/commands/efi/loadbios.c: Likewise.
1480 * grub-core/commands/gptsync.c: Likewise.
1481 * grub-core/commands/ieee1275/suspend.c: Likewise.
1482 * grub-core/commands/legacycfg.c: Likewise.
1483 * grub-core/commands/memrw.c: Likewise.
1484 * grub-core/commands/minicmd.c: Likewise.
1485 * grub-core/commands/parttool.c: Likewise.
1486 * grub-core/commands/time.c: Likewise.
1487 * grub-core/commands/videoinfo.c: Likewise.
1488 * grub-core/disk/geli.c: Likewise.
1489 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1490 * grub-core/disk/luks.c: Likewise.
1491 * grub-core/disk/lvm.c: Likewise.
1492 * grub-core/font/font_cmd.c: Likewise.
1493 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1494 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1495 * grub-core/gfxmenu/view.c: Likewise.
1496 * grub-core/kern/emu/hostdisk.c: Likewise.
1497 * grub-core/kern/emu/main.c: Likewise.
1498 * grub-core/kern/emu/misc.c: Likewise.
1499 * grub-core/kern/emu/mm.c: Likewise.
1500 * grub-core/kern/mips/arc/init.c: Likewise.
1501 * grub-core/kern/mips/loongson/init.c: Likewise.
1502 * grub-core/kern/partition.c: Likewise.
1503 * grub-core/lib/i386/halt.c: Likewise.
1504 * grub-core/lib/mips/arc/reboot.c: Likewise.
1505 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1506 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1507 * grub-core/loader/i386/xnu.c: Likewise.
1508 * grub-core/loader/multiboot.c: Likewise.
1509 * grub-core/net/bootp.c: Likewise.
1510 * grub-core/net/net.c: Likewise.
1511 * grub-core/normal/term.c: Likewise.
1512 * grub-core/partmap/bsdlabel.c: Likewise.
1513 * grub-core/parttool/msdospart.c: Likewise.
1514 * grub-core/term/gfxterm.c: Likewise.
1515 * grub-core/term/terminfo.c: Likewise.
1516 * grub-core/video/i386/pc/vbe.c: Likewise.
1517 * util/grub-menulst2cfg.c: Likewise.
1518 * util/grub-mkdevicemap.c: Likewise.
1519 * util/grub-mklayout.c: Likewise.
1520 * util/grub-mkrelpath.c: Likewise.
1521 * util/grub-script-check.c: Likewise.
1522 * util/ieee1275/grub-ofpathname.c: Likewise.
1523 * util/resolve.c: Likewise.
1524
1525 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Support %1$d syntax.
1528
1529 * tests/printf_unit_test.c: New file.
1530 * Makefile.util.def (printf_test): New test.
1531 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1532
1533 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1536 fix.
1537
1538 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1541 dprintf.
1542 * grub-core/font/font.c (grub_font_load): Likewise.
1543
1544 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * util/grub-macho2img.c: Add comment concerning gettext.
1547 * grub-core/lib/legacy_parse.c: Likewise.
1548
1549 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1552 (grub_xvasprintf): Likewise.
1553
1554 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Add const keyword to grub_env_get and gettextize week days.
1557
1558 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1559 (grub_read_hook_datetime): Return const char *.
1560 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1561 updated.
1562 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1563 Mark for gettext.
1564 (grub_get_weekday_name): Return const char *. Call gettext.
1565 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1566 char * and len as the argument. All users updated.
1567 (grub_script_argv_split_append): Receive const char *.
1568 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1569 * include/grub/env.h (grub_env_get): Likewise.
1570 (grub_env_read_hook_t): Return const char *.
1571 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1572 (grub_script_argv_split_append): Likewise.
1573
1574 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1577
1578 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1581 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1582
1583 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1586 Fix prototype.
1587
1588 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 Fix mips compilation.
1591
1592 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1593 normal decoder.
1594 (hashes): Use in embed decoder as well (for sizes).
1595 (dec_stream_header): Fix embed decompressor logic.
1596 (dec_stream_footer): Likewise.
1597
1598 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1601 an error and not a fatal on unrecognised relocation types.
1602
1603 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1606 Issue error rather than printf on unknown arguments.
1607
1608 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1611 Make buf a const.
1612
1613 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1616 Fix module name.
1617
1618 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1621 leftover debug printf.
1622
1623 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1626
1627 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1630 A stylistic fix.
1631
1632 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1635
1636 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1637
1638 Allow all modules to perform serial IO
1639
1640 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1641 * include/grub/serial.h (grub_serial_port_configure): New inline
1642 function.
1643 (grub_serial_port_fetch): Likewise.
1644 (grub_serial_port_put): Likewise.
1645 (grub_serial_port_fini): Likewise.
1646 (grub_serial_find): New proto.
1647
1648 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Put symlink at the end of the node and fix a potential
1651 memory corruption.
1652
1653 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1654 Make symlink into an array.
1655 (set_rockridge): Set have_symlink and alloc_dirents.
1656 (grub_iso9660_read_symlink): Use new layout.
1657 (grub_iso9660_iterate_dir): Fix memory corruption.
1658 Use new layout.
1659 (grub_iso9660_dir): Set have_symlink.
1660 (grub_iso9660_open): Likewise.
1661
1662 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Remove local keyword.
1665
1666 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1667 (version_test_gt): Likewise.
1668 (version_find_latest): Likewise.
1669 (gettext_printf): Likewise.
1670 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1671
1672 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1675
1676 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Fix ZFS memory and resource leaks.
1679
1680 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1681 All users updated.
1682 Free type on exit.
1683 (fill_vdev_info): New parameter inserted. All users updated.
1684 (check_pool_label): Likewise.
1685 (scan_disk): Likewise.
1686 (scan_devices): Close non-inserted disks.
1687 (fzap_iterate): Free l.
1688 (unmount_device): Free children descripto memory.
1689
1690 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1693 argument (access out of bounds).
1694
1695 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1698 >= 6 drives.
1699
1700 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1703 Fix declaration.
1704
1705 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 Fix several memory leaks.
1708
1709 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1710 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1711 (grub_cpio_dir): Likewise.
1712 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1713 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1714 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1715 (grub_romfs_label): Likewise.
1716 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1717 (squash_unmount): New function.
1718 (grub_squash_dir): Fix memory leak.
1719 (grub_squash_open): Likewise.
1720 (grub_squash_read): Likewise.
1721 (grub_squash_mtime): Likewise.
1722 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1723 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1724 * util/grub-fstest.c (fstest): Likewise.
1725
1726 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1729 avoid accessing beyond the array.
1730
1731 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1734
1735 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Several AFFS fixes.
1738
1739 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1740 (GRUB_AFFS_FLAG_FFS): Removed.
1741 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1742 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1743 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1744 (grub_fshelp_node): Make block 32-bit.
1745 Add block_cache and last_block_cache.
1746 (grub_affs_read_block): Fill and use block cache.
1747 (grub_affs_read_file): Removed.
1748 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1749 boot block.
1750 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1751 safety.
1752 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1753 space.
1754 (grub_affs_close): Free block cache.
1755 (grub_affs_read): Use grub_fshelp_read_file directly.
1756
1757 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1760 with no error set.
1761
1762 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1765 used variable.
1766 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1767 Likewise.
1768
1769 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1772
1773 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1774 byteswap when needed.
1775
1776 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 Fix FreeBSD compilation.
1779
1780 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1781 to avoid circular dependency.
1782 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1783 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1784 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1785
1786 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Fix ZFS crypto error types.
1789
1790 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1791 (grub_gcm_decrypt): Likewise.
1792 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1793 from PBKDF2.
1794
1795 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Illumos support.
1798
1799 * Makefile.util.def (10_illumos): New script.
1800 * configure.ac: Set COND_HOST_ILLUMOS.
1801 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1802 Support Illumos calls.
1803 (find_partition_start) [__sun__]: Likewise.
1804 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1805 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1806 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1807 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1808 device.
1809 * util/grub-probe.c (probe) [__sun__]: Do character check.
1810 * util/grub.d/10_illumos.in: New file.
1811
1812 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Support escaped commas in hostdisk.
1815
1816 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1817 (find_grub_drive): Use unescape_cmp.
1818 (make_device_name): Escape commas.
1819
1820 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1823
1824 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1827 variable.
1828
1829 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Support trampoline jumps on powerpc.
1832
1833 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1834 __ia64__ path.
1835 (grub_dl_load_segments): Set mod->sz.
1836 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1837 segments.
1838 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1839 (jump): Likewise.
1840 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1841 function.
1842 (trampoline): New struct.
1843 (trampoline_template): New const.
1844 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1845 * include/grub/dl.h (grub_dl): Add sz element.
1846 [__powerpc__]: Follow __ia64__.
1847 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1848 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1849 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1850 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1851
1852 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 ZFS crypto support.
1855
1856 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1857 * grub-core/Makefile.core.def (zfscrypt): New module.
1858 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1859 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1860 it. All users updated.
1861 (grub_zfs_decrypt): New var.
1862 (grub_zfs_load_key): Likewise.
1863 (zio_checksum_functions): Add SHA256+MAC.
1864 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1865 (zio_read): Handle encrypted blocks.
1866 (zap_verify): Remove incorrect check.
1867 (fzap_iterate): Handle non-standard fzap.
1868 (zap_iterate): Likewise.
1869 (zap_iterate_u64): New function.
1870 (dnode_get_fullpath): Load keys.
1871 * grub-core/fs/zfs/zfscrypt.c: New file.
1872 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1873 (grub_crypto_ecb_encrypt): Make input const.
1874 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1875 (grub_crypto_ecb_encrypt): Make input const.
1876 (GRUB_CIPHER_AES): New macro.
1877 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1878 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1879 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1880 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1881 prefix. All users updated.
1882 (grub_zfs_add_key): New proto.
1883 (grub_zfs_decrypt): Likewise.
1884 (grub_zfs_load_key): Likewise.
1885 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1886 * util/grub-fstest.c (options): Add -K option.
1887 (argp_parser): Likewise.
1888
1889 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 Support zle compression on ZFS.
1892
1893 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1894 (decomp_table): Add zle.
1895 * include/grub/zfs/zio.h (zio_compress): Add zle.
1896
1897 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Support BtrFS embedding.
1900
1901 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1902 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1903 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1904 * util/grub-setup.c (setup): Use fs embedding if available.
1905 Add additional sanity check.
1906
1907 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * util/grub-install.in: Fix condition for config_opt.
1910
1911 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Support third redundancy strip on raidz3.
1914
1915 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1916 Return error on singularity. All users updated.
1917 (read_device): Don't stop on 3rd failure on raidz3.
1918
1919 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 Support case-insensitive ZFS subvolumes.
1922
1923 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1924 All users updated.
1925 (zap_hash): Likewise.
1926 (name_cmp): New function.
1927 (zap_leaf_array_equal): New parameter case_insensitive.
1928 All users updated.
1929 (zap_leaf_lookup): Likewise.
1930 (fzap_lookup): Likewise.
1931 (zap_lookup): Likewise.
1932 (dnode_get_path): New parameter case_insensitive. Retrieve case
1933 sensitiviness of a volume. All users updated.
1934 (dnode_get_fullpath): New parameter case_insensitive.
1935 All users updated.
1936 (grub_zfs_dir): Set info.case_insensitiveness.
1937
1938 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Support second redundancy strip on raidz(2,3).
1941
1942 * grub-core/fs/zfs/zfs.c (powx): New array.
1943 (powx_inv): Likewise.
1944 (poly): New const.
1945 (xor_out): New function.
1946 (gf_mul): Likewise.
1947 (recovery): Likewise.
1948 (read_device): Use second redundancy strip.
1949
1950 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 Use a power of generator representation of GF(256) multiplication group
1953 to save space time and complexity.
1954
1955 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1956 (raid6_table2): Likewise.
1957 (powx): New array.
1958 (powx_inv): Likewise.
1959 (poly): New const.
1960 (grub_raid_block_mul): Replace with ...
1961 (grub_raid_block_mulx): ...this.
1962 (grub_raid6_init_table): Rewritten.
1963 (grub_raid6_recover): Use power of generator representation.
1964
1965 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1968 for the right device.
1969
1970 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1973 expected by grub-mkimage and it's more clear since there is no implicit
1974 padding.
1975
1976 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1979 disk.
1980 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1981
1982 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1983
1984 * util/grub-mkrescue.in: Fix handling xorriso option.
1985
1986 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1989 NULL.
1990
1991 2011-11-03 crocket <crockabiscuit@gmail.com>
1992
1993 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1994
1995 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 XZ CRC64 and SHA256 support.
1998
1999 * Makefile.util.def (libgrubmods): Add crc64.c.
2000 * grub-core/Makefile.core.def (crc64): New module.
2001 * grub-core/lib/crc64.c: New file.
2002 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2003 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2004 Fix the type.
2005 (MAX_HASH_SIZE): New define.
2006 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2007 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2008 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2009 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2010 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2011 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2012 Handle non-crc32 hashes.
2013 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2014 (dec_stream_header): Handle non-crc32 hashes.
2015 (dec_stream_footer): Likewise.
2016 (dec_block_header): Likewise.
2017 (dec_main): Likewise.
2018 (xz_dec_init): Likewise.
2019 (xz_dec_reset): Likewise.
2020 (xz_dec_end): Likewise.
2021 * util/import_gcry.py: Add CRC64 line.
2022
2023 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2026 as well.
2027
2028 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Make reiserfs label retrieval similar to other *_label functions.
2031
2032 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2033 (REISERFS_MAX_LABEL_LENGTH): Removed.
2034 (REISERFS_LABEL_OFFSET): Likewise.
2035 (grub_reiserfs_label): Rewritten.
2036
2037 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2040 field.
2041
2042 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2045
2046 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2049 drive failure on both raidz and raidz2.
2050
2051 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Fix RAIDZ(2) for >= 5 devices.
2054
2055 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2056 asize argument. All users updated.
2057
2058 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Fix RAIDZ(2).
2061
2062 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2063 (fill_vdev_info_real): Set ashift.
2064 (read_device): Rewrite RAIDZ part based on reverse engineering.
2065
2066 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2069 don't report potentially unavialiable fields in debug output.
2070 (find_path): Fix double-free and memory leak.
2071
2072 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Read label on UFS1.
2075
2076 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2077 (grub_ufs_fs): Always set .label.
2078
2079 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 Use shifts in UFS.
2082
2083 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2084 (grub_ufs_data): New field log2_blksz.
2085 (grub_ufs_read_file): Use shifts.
2086 (grub_ufs_mount): Check block size and logarithm it.
2087
2088 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2091 long symlinks.
2092
2093 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 Handle symlinks and long names on tar and cpio.
2096
2097 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2098 (ATTR_FILE): Likewise.
2099 (ATTR_DIR): Likewise.
2100 (ATTR_LNK): Likewise.
2101 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2102 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2103 L and K entries.
2104 (grub_cpio_mount): Zero-fill data.
2105 (handle_symlink): New function.
2106 (grub_cpio_dir): Handle symlinks.
2107 (grub_cpio_open): Likewise.
2108 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2109
2110 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 Fix iso9660 filename limitations and fix memory leaks.
2113
2114 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2115 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2116
2117 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 Fix JFS file name length limitations.
2120
2121 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2122 (grub_jfs_diropen): Fix maximum filename length.
2123 (grub_jfs_getent): Fix filename length.
2124 (grub_jfs_lookup_symlink): Fix size checks.
2125
2126 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2129 string.
2130
2131 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 Leverage BFS implementation to read AFS.
2134
2135 * Makefile.util.def (libgrubmods): Add afs.c.
2136 * grub-core/Makefile.core.def (afs): New module
2137 * grub-core/fs/afs.c: New file.
2138 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2139
2140 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2143
2144 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/fs/bfs.c: Run indent.
2147
2148 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 BFS implementation based on the specification.
2151
2152 * grub-core/fs/bfs.c: New file.
2153 * Makefile.util.def (libgrubmods): Add bfs.c.
2154 * grub-core/Makefile.core.def (bfs): New module.
2155
2156 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * util/grub-fstest.c (cmd_cp): Clarify error message.
2159 (cmd_cmp): Likewise.
2160
2161 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2162
2163 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2164 and befs_be.
2165
2166 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 Remove afs and befs because of copyright problem.
2169
2170 * grub-core/fs/afs.c: Removed.
2171 * grub-core/fs/afs_be.c: Removed.
2172 * grub-core/fs/befs.c: Removed.
2173 * grub-core/fs/befs_be.c: Removed.
2174 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2175 * grub-core/Makefile.core.def (afs): Removed.
2176 (afs_be): Likewise.
2177 (befs): Likewise.
2178 (befs_be): Likewise.
2179
2180 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Prefer rockridge over Joliet.
2183
2184 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2185 to ...
2186 (set_rockridge): ... here.
2187 (grub_iso9660_mount): Check rockridge on the primary label when
2188 discovering. Ignore Joliet if Rockridge is present.
2189
2190 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 Use shifts in nilfs2.
2193
2194 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2195 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2196 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2197 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2198 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2199 (grub_nilfs2_entries_per_block): Replaced with ...
2200 (grub_nilfs2_log_entries_per_block_log): ... this.
2201 (grub_nilfs2_blocks_per_group): Replaced with ...
2202 (grub_nilfs2_blocks_per_group_log): ... this.
2203 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2204 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2205 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2206 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2207 (grub_nilfs2_palloc_entry_offset): Replaced ...
2208 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2209 (grub_nilfs2_dat_translate): Use shifts.
2210 (grub_nilfs2_read_inode): Likewise.
2211 (GRUB_MOD_INIT): Ensure that logs are correct.
2212
2213 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 Use shifts in minix filesystem.
2216
2217 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2218 (GRUB_MINIX_ZONE2SECT): Likewise.
2219 (grub_minix_data): Replace block_size with log_block_size.
2220 (grub_minix_read_file): Use shifts.
2221 (grub_minix_mount): Check block size and take a logarithm.
2222
2223 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Use shifts in squash4.
2226
2227 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2228 (squash_mount): Check block size and take logarithm.
2229 (direct_read): Use shifts.
2230
2231 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Correct befs block counting logic.
2234
2235 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2236 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2237 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2238 (grub_afs_read_inode): Use block_shift.
2239 (RANGE_SHIFT): New definition.
2240 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2241 unexpected conditions, use shifts and appropriate types.
2242 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2243
2244 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/disk/raid.c (scan_devices): Check partition.
2247 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2248
2249 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 Support BFS (befs) UUID.
2252
2253 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2254 (grub_afs_small_data_element_header): New struct.
2255 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2256 (grub_afs_read_attribute) [MODE_BFS]: New function.
2257 (grub_afs_iterate_dir): Allocate for complete inode.
2258 (grub_afs_mount): Likewise.
2259 (grub_afs_uuid) [MODE_BFS]: New function.
2260 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2261
2262 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2265 (zfs_unmount): Fix memory leak.
2266
2267 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Support NTFS reparse points.
2270
2271 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2272 (symlink_descriptor): New struct.
2273 (grub_ntfs_read_symlink): New function.
2274 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2275 (grub_ntfs_open): Likewise.
2276
2277 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2280
2281 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 fstest xnu_uuid subcommand.
2284
2285 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2286 grub-core/commands/xnu_uuid.c.
2287 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2288 (fstest): Handle xnu_uuid.
2289 (options): Document xnu_uuid.
2290 (argp_parser): Parse xnu_uuid.
2291
2292 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2295 -l argument. Add newline at the end if printing.
2296 (GRUB_MOD_INIT): Document -l.
2297
2298 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2301
2302 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 ZFS multi-device and version 33 support.
2305
2306 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2307 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2308 (grub_zfs_data): Add multidev-ice-related fields.
2309 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2310 (dva_get_offset): Make dva const.
2311 (zfs_fetch_nvlist): New function.
2312 (fill_vdev_info_real): Likewise.
2313 (fill_vdev_info): Likewise.
2314 (check_pool_label): Likewise.
2315 (scan_disk): Likewise.
2316 (scan_devices): Likewise.
2317 (read_device): Likewise.
2318 (read_dva): Likewise.
2319 (zio_read_gang): Use read_dva.
2320 (zio_read_data): Likewise.
2321 (zap_leaf_lookup): Add missing endian conversion.
2322 (zap_verify): Add missing endian conversion. All users updated.
2323 (fzap_lookup): Likewise.
2324 (fzap_iterate): Likewise.
2325 (dnode_get_path): Handle SA bonus.
2326 (nvlist_find_value): Make input const. All users updated.
2327 (unmount_device): New function.
2328 (zfs_unmount): Use unmount_device.
2329 (zfs_mount): Use scan_disk.
2330 (zfs_mtime): New function.
2331 (grub_zfs_open): Handle system attributes.
2332 (fill_fs_info): Likewise.
2333 (grub_zfs_dir): Likewise.
2334 (grub_zfs_fs): Add mtime.
2335 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2336 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2337 (SA_MTIME_OFFSET): Likewise.
2338 (SA_SYMLINK_OFFSET): Likewise.
2339 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2340 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2341 (fstest): Support zfsinfo.
2342 (argp_parser): Likewise.
2343
2344 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2347 error.
2348
2349 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 ZFS fixes.
2352
2353 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2354 sharing the same block. Iterate over correct number of indices.
2355 (dnode_get_path): Handle symlinks correctly.
2356
2357 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2360
2361 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 Read label on HFS+.
2364
2365 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2366 (grub_hfsplus_btree_search): Fix types.
2367 (grub_hfsplus_label): Implement.
2368
2369 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2372
2373 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2376
2377 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 Fix symlink handling on iso9660.
2380
2381 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2382 All users updated.
2383 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2384 (grub_iso9660_read_symlink): Moved most of code ...
2385 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2386
2387 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2390 Use union to avoid breaking strict-aliasing rules.
2391
2392 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 Support multi-extent iso files.
2395
2396 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2397 Add node.
2398 (grub_fshelp_node): Revamp. All users updated.
2399 (FLAG_*): New enum.
2400 (read_node): New function.
2401 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2402 All users updated.
2403 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2404 (get_node_size): New function.
2405 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2406 entries.
2407 Fix memory leak on . and ..
2408 (grub_iso9660_read): Use read_node.
2409 (grub_iso9660_close): Free node.
2410
2411 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 Fix tar 4G limit and handle paths containing dot.
2414
2415 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2416 (canonicalize): New function.
2417 (grub_cpio_find_file): Use canonicalize. Store offs in
2418 grub_disk_addr_t.
2419 (grub_cpio_dir): Use grub_disk_addr_t.
2420 (grub_cpio_open): Likewise.
2421
2422 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2425
2426 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2427 unused flags.
2428 (grub_squash_inode): Add long_file and block_size.
2429 (grub_squash_cache_inode): New struct.
2430 (grub_squash_dirent): Make types into enum.
2431 (SQUASH_TYPE_LONG_REGULAR): New type.
2432 (grub_squash_frag_desc): Add field size.
2433 (SQUASH_BLOCK_FLAGS): New enum.
2434 (grub_squash_data): Use grub_squash_cache_inode.
2435 (grub_fshelp_node): Make ino_chunk 64-bit.
2436 (read_chunk): Minor argument change. All users updated.
2437 (squash_mount): Use correct le_to_cpu.
2438 (grub_squash_open): Handle LONG_REGULAR.
2439 (direct_read): New function.
2440 (grub_squash_read_data): Handle blocks correctly.
2441
2442 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2445
2446 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2449
2450 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Fix 2G limit on ZFS.
2453
2454 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2455 types.
2456 (uberblock_verify): Likewise.
2457 (dmu_read): Likewise.
2458 (grub_zfs_read): Likewise. Remove invalid cast.
2459
2460 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2463 (grub_jfs_blkno): Fix incorrect shift.
2464 (grub_jfs_read_file): Use more appropriate types.
2465
2466 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Support triple indirect on minix2 and minix3.
2469
2470 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2471 Declare triple_indir_zone.
2472 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2473 indirect.
2474
2475 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Minix FS fixes.
2478
2479 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2480 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2481 Rename ctime to mtime. All users updated.
2482 (grub_minix_get_file_block): Fix types and double indirect computations.
2483
2484 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2487 if no label is found.
2488 (grub_fat_iterate_dir): Fix file size type.
2489 (grub_fat_iterate_dir): Likewise.
2490
2491 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2494 save some space.
2495 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2496 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2497
2498 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2501
2502 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * util/import_gcry.py: Accept space between # and include.
2505
2506 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2509
2510 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2513
2514 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2515 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2516 yylex_strncpy.
2517 * grub-core/script/yylex.l: Add fine-grained #pragma.
2518
2519 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2522 New inline function.
2523 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2524 Likewise.
2525 (memset) [GRUB_UTIL]: Likewise.
2526 (memcmp) [GRUB_UTIL]: Likewise.
2527
2528 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2531 inline function rather than a define.
2532
2533 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * util/grub-setup.c: Add missing include.
2536
2537 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * util/ieee1275/grub-ofpathname.c: Add missing include.
2540
2541 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2544 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2545 Likewise.
2546
2547 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2550 grub_memcmp usage.
2551
2552 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * util/grub-install.in: Add datarootdir as per automake manual
2555 suggestion.
2556 * util/grub-mknetdir.in: Likewise.
2557
2558 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2561 suggestion.
2562 * util/grub.d/10_kfreebsd.in: Likewise.
2563 * util/grub.d/10_linux.in: Likewise.
2564 * util/grub.d/10_netbsd.in: Likewise.
2565 * util/grub.d/10_windows.in: Likewise.
2566 * util/grub.d/20_linux_xen.in: Likewise.
2567
2568 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Remove redundant grub_kernel_image_size.
2571
2572 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2573 _edata and _start.
2574 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2575 the small code. It moves it only by few bytes but simplifies the code.
2576 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2577 _start.
2578 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2579 (grub_kernel_image_size): Removed.
2580 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2581 (grub_kernel_image_size): Removed.
2582 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2583 compiled with Apple toolchain.
2584 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2585 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2586 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2587 (grub_total_module_size): Likewise.
2588 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2589 Removed.
2590 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2591 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2592 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2593 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2594 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2595 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2596 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2597 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2598 Removed.
2599 (grub_total_module_size): Removed.
2600 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2601 (image_targets): Likewise.
2602 Set .compressed_size to no field on sparc.
2603 (generate_image): Remove kernel_image_size handling.
2604
2605 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2606
2607 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2608 NULL pointer dereference.
2609
2610 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2613 done with a dedicated section.
2614
2615 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2616 Ensure the correct position of boot_path.
2617 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2618 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2619 other fields.
2620 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2621 * include/grub/boot.h: Removed. All references removed.
2622 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2623 Removed.
2624 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2625
2626 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2629 name.
2630
2631 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2634
2635 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2638 Don't add the bogus brackets.
2639
2640 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 ExFAT support.
2643
2644 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2645 * grub-core/Makefile.core.def (exfat): New module.
2646 * grub-core/fs/exfat.c: New file.
2647 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2648 (GRUB_FAT_ATTR_*): Make into an enum.
2649 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2650 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2651 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2652 (GRUB_FAT_MAXFILE): Removed.
2653 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2654 (grub_current_fat_bpb_t): New type.
2655 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2656 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2657 (grub_fat_dir_node_t): New type.
2658 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2659 (fat_log2) [MODE_EXFAT]: Removed.
2660 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2661 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2662 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2663 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2664 (grub_fat_label) [MODE_EXFAT]: New function.
2665 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2666 reserved_first_sector to 0.
2667
2668 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Move grub_reboot out of the kernel.
2671
2672 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2673 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2674 * grub-core/lib/efi/reboot.c: ... here.
2675 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2676 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2677 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2678 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2679 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2680 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2681 * grub-core/lib/ieee1275/reboot.c: ... here.
2682 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2683 * grub-core/lib/mips/arc/reboot.c: ... here.
2684 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2685 * grub-core/lib/mips/loongson/reboot.c: ...here.
2686 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2687 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2688 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2689 * include/grub/i386/reboot.h: New file.
2690 * include/grub/mips/loongson/ec.h: Fix includes.
2691 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2692 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2693 * grub-core/lib/i386/reboot.c: New file.
2694
2695 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 Make grub_prefix into module to fix the arbitrary limit and save
2698 some space.
2699
2700 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2701 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2702 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2703 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2704 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2705 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2706 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2707 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2708 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2709 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2710 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2711 * include/grub/ia64/efi/kernel.h: Removed.
2712 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2713 (grub_prefix): Removed.
2714 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2715 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2716 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2717 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2718 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2719 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2720 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2721 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2722 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2723 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2724 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2725 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2726 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2727 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2728 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2729 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2730 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2731 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2732 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2733 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2734 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2735 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2736 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2737 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2738 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2739 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2740 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2741 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2742 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2743 from module.
2744 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2745 prefix_end.
2746 (image_targets): Likewise.
2747 (generate_image): Put prefix as a module.
2748
2749 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Replace grub_module_iterate with FOR_MODULES.
2752
2753 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2754 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2755 (grub_efi_modules_addr): ...this.
2756 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2757 (grub_efi_init): Set grub_modbase.
2758 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2759 (grub_modbase): New variable.
2760 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2761 (grub_modbase): New variable.
2762 (grub_machine_init): Set grub_modbase.
2763 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2764 (grub_modbase): New variable.
2765 (grub_machine_init): Set grub_modbase.
2766 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2767 (grub_modbase): New variable.
2768 (grub_machine_init): Set grub_modbase.
2769 * grub-core/kern/main.c (grub_module_iterate): Remove.
2770 (grub_modules_get_end): Use grub_modbase.
2771 (grub_load_modules): Use FOR_MODULES.
2772 (grub_load_config): Likewise.
2773 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2774 (grub_modbase): New variable.
2775 (grub_machine_init): Set grub_modbase.
2776 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2777 (grub_modbase): New variable.
2778 (grub_machine_init): Set grub_modbase.
2779 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2780 Removed.
2781 (grub_modbase): New variable.
2782 (grub_machine_init): Set grub_modbase.
2783 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2784 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2785 (grub_module_iterate): Likewise.
2786 (grub_modbase): New variable declaration.
2787 (FOR_MODULES): New macro.
2788
2789 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2792 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2793
2794 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Fix few obvious type discrepancies.
2797
2798 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2799 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2800 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2801 variable.
2802 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2803 and connected types.
2804 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2805 offset.
2806 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2807 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2808 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2809 and connected types.
2810
2811 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Fix python 3.x incompatibilities.
2814
2815 * gentpl.py: Put brackets around print strings.
2816 * util/import_gcry.py: Open explicitly as utf-8.
2817 Use in instead of has_key.
2818
2819 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2822 (GRUB_XFS_INO_AGBITS): Make into inline function.
2823 (GRUB_XFS_INO_INOINAG): Likewise.
2824 (GRUB_XFS_INO_AG): Likewise.
2825 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2826 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2827 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2828 (GRUB_XFS_EXTENT_SIZE): Likewise.
2829 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2830 (GRUB_XFS_NEXT_DIRENT): Likewise.
2831 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2832 (grub_xfs_read_file): Fix offset type.
2833
2834 2011-10-15 Robert Millan <rmh@gnu.org>
2835
2836 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2837
2838 2011-10-15 Robert Millan <rmh@gnu.org>
2839
2840 Fix build problem on FreeBSD and GNU/kFreeBSD.
2841
2842 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2843
2844 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2847
2848 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2849 types.
2850 (grub_hfsplus_btree_recoffset): Likewise.
2851 (grub_hfsplus_btree_recptr): Likewise.
2852 (grub_hfsplus_find_block): Likewise.
2853 (grub_hfsplus_btree_search): Likewise.
2854 (grub_hfsplus_read_block): Likewise.
2855 (grub_hfsplus_read_file): Likewise.
2856 (grub_hfsplus_mount): Likewise.
2857 (grub_hfsplus_btree_iterate_node): Likewise.
2858 (grub_hfsplus_btree_search): Likewise.
2859 (grub_hfsplus_iterate_dir): Likewise.
2860 (grub_hfsplus_read): A small code simplification.
2861
2862 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/kern/emu/hostdisk.c
2865 (convert_system_partition_to_system_disk): Don't assume that children
2866 of mapper nodes are mapper nodes.
2867
2868 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2871 * include/grub/misc.h (grub_isxdigit): New function.
2872 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2873 switched to grub_isxdigit.
2874 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2875 number starting with a letter.
2876
2877 2011-10-09 Robert Millan <rmh@gnu.org>
2878
2879 LVM support for FreeBSD and GNU/kFreeBSD.
2880
2881 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2882 GNU/kFreeBSD.
2883 (LVM_DEV_MAPPER_STRING): Move from here ...
2884 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2885 * util/getroot.c: Include `<grub/util/lvm.h>'.
2886 (grub_util_get_dev_abstraction): Enable
2887 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2888 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2889 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2890 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2891 support it.
2892 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2893 GNU/kFreeBSD.
2894 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2895 when LVM abstraction is required for ${GRUB_DEVICE}.
2896
2897 2011-10-06 Szymon Janc <szymon@janc.net.pl>
2898
2899 Add support for LZO compression in GRUB:
2900 - import of minilzo library,
2901 - LZO decompression for btrfs,
2902 - lzop files decompression.
2903
2904 * grub-core/io/lzopio.c: New file.
2905 * grub-core/lib/adler32.c: Likewise.
2906 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2907 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2908 * grub-core/lib/minilzo/minilzo.c: Likewise.
2909 * grub-core/lib/minilzo/minilzo.h: Likewise.
2910 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2911 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2912 grub-core/lib/minilzo/minilzo.c to common.
2913 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2914 cflags in cppflags.
2915 * grub-core/Makefile.core.def (btrfs): Likewise.
2916 * grub-core/Makefile.core.def (lzopio): New module.
2917 (adler32): Likewise.
2918 * grub-core/fs/btrfs.c: Include minilzo.h.
2919 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2920 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2921 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2922 (grub_btrfs_lzo_decompress): New function.
2923 (grub_btrfs_extent_read): Add support for LZO compression type.
2924 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2925 (GRUB_USHRT_MAX): Likewise.
2926 (GRUB_UINT_MAX): Likewise.
2927 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2928 (UINT_MAX): Likewise.
2929 (CHAR_BIT): Likewise.
2930 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2931 grub-core/lib/posix_wrap/limits.h
2932 (UCHAR_MAX): Likewise.
2933 * include/grub/file.h (grub_file_filter_id): New compression filter
2934 GRUB_FILE_FILTER_LZOPIO.
2935 * include/grub/file.h (grub_file_filter_id): Set
2936 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2937 * include/grub/types.h (grub_get_unaligned16): New function.
2938 (grub_get_unaligned32): Likewise.
2939 (grub_get_unaligned64): Likewise.
2940 * util/import_gcry.py (cryptolist): Add adler32.
2941
2942 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2945 in perspective decreases the complexity of build system and fixes
2946 compilation right now.
2947
2948 2011-10-01 Ales Nesrsta <starous@volny.cz>
2949
2950 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2951 (fixed problem related to using UHCI with coreboot).
2952
2953 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2954
2955 * gentpl.py: Use Autogen macros so that the output template file
2956 (Makefile.tpl) size is reduced.
2957
2958 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
2959
2960 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2961 extra_dist.
2962
2963 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2964
2965 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2966 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2967
2968 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2969
2970 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2971 _fullpath.
2972
2973 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2974
2975 Remove extra declaration of sleep for mingw32.
2976
2977 * util/misc.c (sleep) [__MINGW32__]: Removed.
2978 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2979
2980 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2981
2982 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2983 type and packname.
2984 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2985 Resurrected.
2986 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2987 (grub_netbsd_btinfo_bootwedge): New struct.
2988 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2989 New function.
2990 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2991
2992 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2993
2994 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2995 loader.
2996
2997 2011-09-28 Andreas Born <futur.andy@googlemail.com>
2998
2999 Fix incorrect identifiers in bash-completion.
3000
3001 * util/bash-completion.d/grub-completion.bash.in
3002 (_grub_mkpasswd-pbkdf2): Rename to ...
3003 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3004 (_grub_script-check): Rename to ...
3005 (_grub_script_check): ... this. All users updated.
3006
3007 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3010 Return 0 if disk isn't biosdisk.
3011
3012 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3013
3014 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3015 on NetBSD.
3016 * Makefile.util.def (grub-fstest): Likewise.
3017
3018 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3019
3020 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3021 Get sector size from disk label.
3022
3023 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3024
3025 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3026 */README* as well as README*.
3027 Reported by: Axel Beckert.
3028
3029 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3032 case of less than 256 MiB of RAM.
3033
3034 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/commands/wildcard.c (make_regex): Handle @.
3037
3038 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3041
3042 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3043
3044 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3045 AC_LANG_CONFTEST macros.
3046
3047 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3048
3049 Add grub-fstest option to uncompress data for commands.
3050
3051 * util/grub-fstest.c (uncompress): New var.
3052 (options): New option -u.
3053
3054 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3055
3056 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3057 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3058
3059 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3060
3061 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3062 file type was not recognized correctly (not gzip or corrupted).
3063
3064 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3067 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3068
3069 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3072 loongson.
3073 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3074 video_radeon_fuloong2e.
3075 * grub-core/video/radeon_fuloong2e.c: New file.
3076 * include/grub/video.h (grub_video_id_t): Add new ID
3077 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3078
3079 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3082 define.
3083 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3084 that PRID matches the detected subplatform and reset the subplatform
3085 if it doesn't.
3086
3087 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3090
3091 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Fix PCI iterating on functions >= 4.
3094
3095 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3096 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3097 Removed.
3098 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3099 (grub_pci_read): Fix bitmask.
3100 (grub_pci_read_word): Likewise.
3101 (grub_pci_read_byte): Likewise.
3102 (grub_pci_write): Likewise.
3103 (grub_pci_write_word): Likewise.
3104 (grub_pci_write_byte): Likewise.
3105
3106 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3109 can still be specified in TARGET_CFLAGS)
3110
3111 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3114
3115 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3116 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3117 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3118 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3119 (FULOONG): Rename to ...
3120 (FULOONG2F): ... this. All users updated.
3121 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3122 (machtype_fuloong2f_str): ... this.
3123 (machtype_fuloong2e_str): New string.
3124 Check for machtype_fuloong2e_str.
3125 * grub-core/loader/mips/linux.c (loongson_machtypes)
3126 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3127 * grub-core/term/serial.c (loongson_defserial)
3128 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3129 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3130 loongson_defserial.
3131 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3132 Rename to ...
3133 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3134 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3135 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3136 to IMAGE_FULOONG2F_FLASH. All users updated.
3137 (image_targets): Rename images.
3138 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3139
3140 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3141
3142 Make enable of disk cache statistics code configurable.
3143
3144 * configure.ac: --enable-cache-stats added.
3145 * config.h.in (DISK_CACHE_STATS): New define.
3146 * grub-core/Makefile.core.def (cacheinfo): New command.
3147 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3148 * grub-core/commands/cacheinfo.c: New file.
3149 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3150 moved to cacheinfo.c.
3151 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3152 debug code.
3153 * include/grub/disk.h: Likewise.
3154
3155 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3156
3157 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3158 * grub-core/Makefile.am: Likewise.
3159
3160 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3163 non-zero pull.
3164
3165 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3168 All users updated.
3169 (grub_jfs_lookup_symlink): Use correct starting inode.
3170
3171 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * util/grub-setup.c (main): Add missing gcry initialisation.
3174
3175 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 Don't accept text modes on EFI when booting Linux.
3178
3179 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3180 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3181
3182 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3183 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3184
3185 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3186 use of "/path/.." as in grub-install for EFI as well as handling
3187 symlinks correctly.
3188 Fixes Debian bug #637768.
3189
3190 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3191
3192 * util/grub-probe.c: Remove duplicate #include.
3193
3194 2011-08-10 Robert Millan <rmh@gnu.org>
3195
3196 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3197
3198 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3199 function.
3200 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3201 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3202
3203 2011-08-03 Robert Millan <rmh@gnu.org>
3204
3205 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3206 la_array as packed.
3207 Reported by: Zachary Bedell
3208
3209 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3210
3211 * configure.ac: The Loongson port requires grub-mkfont due to its
3212 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3213 be built.
3214
3215 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3216
3217 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3218 processing arguments (otherwise help2man fails when GRUB has not yet
3219 been installed).
3220
3221 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 New script grub-mkstandalone.
3224
3225 * Makefile.util.def (grub-mkstandalone): New script.
3226 * docs/man/grub-mkstandalone.h2m: New file.
3227 * util/grub-mkstandalone.in: Likewise.
3228
3229 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 Support ATA disks with 4K sectors.
3232
3233 * include/grub/ata.h (grub_ata): New member log_sector_size.
3234 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3235 (grub_ata_identify): Read sector size.
3236 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3237
3238 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * util/grub-install.in: Don't use uhci outside of x86.
3241
3242 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * util/grub-mkrescue.in: Add missing quotes.
3245
3246 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3249 dereference.
3250
3251 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3254
3255 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * include/grub/video.h: add missing EXPORT_FUND on
3258 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3259
3260 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * include/grub/mips/kernel.h: Fix define conflict.
3263
3264 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3267 all four ways.
3268
3269 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3270
3271 Preferred resolution detection for VBE.
3272
3273 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3274 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3275 the Flat Panel extension, in line with the X.org VESA driver.
3276 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3277 New function.
3278 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3279 (grub_vbe_bios_read_edid): Likewise.
3280 (grub_vbe_get_preferred_mode): Likewise.
3281 (grub_video_vbe_setup): When the mode is "auto", try to get the
3282 preferred mode from VBE, and use the largest mode that is no larger
3283 than the preferred mode (some BIOSes expose a preferred mode that is
3284 not in their mode list!). If this fails, fall back to 640x480 as a
3285 safe conservative choice.
3286 (grub_video_vbe_get_edid): New function.
3287 (grub_video_vbe_adapter): Add get_edid.
3288 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3289 (struct grub_video_adapter): Add get_edid.
3290 (grub_video_edid_checksum): Add prototype.
3291 (grub_video_edid_preferred_mode): Likewise.
3292 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3293 structure.
3294
3295 * grub-core/commands/videoinfo.c (print_edid): New function.
3296 (grub_cmd_videoinfo): Print EDID if available.
3297
3298 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3299 is more appropriate on a wider range of platforms than 640x480.
3300 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3301 documentation.
3302
3303 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3306
3307 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * po/POTFILES.in: Regenerate.
3310
3311 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3314 incorrect memory usage.
3315
3316 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/grub-install.in: Source grub-mkconfig_lib.
3319
3320 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 Remove getroot.c from core on emu platform.
3323
3324 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3325 kern/emu/raid.c.
3326 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3327 useless.
3328 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3329 * util/getroot.c (get_win32_path): ... here.
3330 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3331 * util/getroot.c (fini_libzfs): ... here.
3332 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3333 * util/getroot.c (grub_get_libzfs_handle): ... here.
3334 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3335 Moved from here...
3336 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3337 * grub-core/kern/emu/misc.c
3338 (grub_make_system_path_relative_to_its_root): Moved from here...
3339 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3340 * grub-core/kern/emu/getroot.c: Moved from here ...
3341 * util/getroot.c: ... here. All users updated.
3342 * grub-core/kern/emu/raid.c: Moved from here ...
3343 * util/raid.c: ... here. All users updated.
3344
3345 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * po/POTFILES.in: Regenerate.
3348
3349 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 Fix compilation on GNU/Linux.
3352
3353 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3354 Disable geli.
3355 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3356 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3357 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3358
3359 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3360 2011-07-07 Michael Gorven <michael@gorven.za.net>
3361 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3362
3363 LUKS and GELI support.
3364
3365 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3366 grub-core/disk/luks.c, grub-core/disk/geli.c,
3367 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3368 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3369 grub-core/lib/arg.c.
3370 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3371 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3372 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3373 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3374 (grub-bin2h): Add libgcry.a.
3375 (grub-mkimage): Likewise.
3376 (grub-mkrelpath): Likewise.
3377 (grub-script-check): Likewise.
3378 (grub-editenv): Likewise.
3379 (grub-mkpasswd-pbkdf2): Likewise.
3380 (grub-pe2elf): Likewise.
3381 (grub-fstest): Likewise.
3382 (grub-mkfont): Likewise.
3383 (grub-mkdevicemap): Likewise.
3384 (grub-probe): Likewise.
3385 (grub-ofpath): Likewise.
3386 (grub-mklayout): Likewise.
3387 (example_unit_test): Likewise.
3388 (grub-menulst2cfg): Likewise.
3389 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3390 * grub-core/Makefile.core.def (cryptodisk): New module.
3391 (luks): Likewise.
3392 (geli): Likewise.
3393 * grub-core/disk/AFSplitter.c: New file.
3394 * grub-core/disk/cryptodisk.c: Likewise.
3395 * grub-core/disk/geli.c: Likewise.
3396 * grub-core/disk/luks.c: Likewise.
3397 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3398 grub_util_is_lvm.
3399 (grub_util_get_dm_abstraction): New function.
3400 (grub_util_follow_gpart_up): Likewise.
3401 (grub_util_get_geom_abstraction): Likewise.
3402 (grub_util_get_dev_abstraction): Use new functions.
3403 (grub_util_pull_device): Pull GELI and LUKS.
3404 (grub_util_get_grub_dev): Handle LUKS and GELI.
3405 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3406 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3407 (follow_geom_up): Removed.
3408 (grub_util_fd_seek): New function.
3409 (open_device): Use grub_util_fd_seek.
3410 (nread): Rename to ..
3411 (grub_util_fd_read): ... this. All users updated.
3412 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3413 (grub_crypto_cbc_decrypt): Likewise.
3414 (grub_crypto_hmac_write): Likewise.
3415 (grub_crypto_hmac_buffer): Likewise.
3416 (grub_password_get): Extend to util.
3417 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3418 New member modname.
3419 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3420 * include/grub/cryptodisk.h: New file.
3421 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3422 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3423 LUKS and GELI.
3424 (grub_util_follow_gpart_up): New proto.
3425 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3426 (grub_util_fd_read): Likewise.
3427 (grub_cryptodisk_cheat_mount): Likewise.
3428 (grub_util_cryptodisk_print_uuid): Likewise.
3429 (grub_util_get_fd_sectors): Likewise.
3430 * util/grub-fstest.c (mount_crypt): New var.
3431 (fstest): Mount crypto if requested.
3432 (options): New option -C.
3433 (argp_parser): Parse -C.
3434 (main): Init and fini gcry.
3435 * util/grub-install.in: Support cryptodisk install.
3436 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3437 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3438 cryptodisk.
3439 (prepare_grub_to_access_device): Likewise.
3440 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3441 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3442 (probe_cryptodisk_uuid): New function.
3443 (probe_abstraction): Likewise.
3444 (probe): Use new functions.
3445 * util/import_gcry.py: Create Makefile.utilgcry.def.
3446 Add modname member.
3447
3448 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Lazy device scanning.
3451
3452 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3453 (grub-setup): Remove util/raid.c.
3454 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3455 * grub-core/disk/lvm.c (scan_depth): New variable.
3456 (grub_lvm_iterate): Rescan if necessary.
3457 (find_lv): New function based on grub_lvm_open.
3458 (grub_lvm_open): Use find_lv. Rescan on error.
3459 (is_node_readable): New function.
3460 (is_lv_readable): Likewise.
3461 (grub_lvm_scan_device): Skip already found disks.
3462 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3463 Stop if searched device is found and readable.
3464 * grub-core/disk/raid.c (inscnt): New variable.
3465 (scan_depth): Likewise.
3466 (scan_devices): New function based on grub_raid_register. Abort if
3467 looked for device is found.
3468 (grub_raid_iterate): Rescan if needed.
3469 (find_array): NEw function based on -grub_raid_open.
3470 (grub_raid_open): Use find_array and rescan.
3471 (insert_array): Set became_readable_at.
3472 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3473 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3474 New function.
3475 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3476 (grub_util_pull_device): New function.
3477 (grub_util_get_grub_dev): Call grub_util_pull_device.
3478 * util/raid.c: Moved to ..
3479 * grub-core/kern/emu/raid.c: ... here.
3480 (grub_util_raid_getmembers): New parameter "bootable".
3481 All users updated. Support 1.x.
3482 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3483 All users updated.
3484 * include/grub/disk.h (grub_disk_pull_t): New enum.
3485 (grub_disk_dev): Change iterate prototype.
3486 All users updated.
3487 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3488 New proto.
3489 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3490 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3491 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3492 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3493 All users updated.
3494 * include/grub/util/raid.h: Removed.
3495
3496 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * po/POTFILES.in: Regenerate.
3499
3500 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 Unify sparc init with other ieee1275.
3503
3504 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3505 instead of kern/sparc64/ieee1275/init.c.
3506 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3507 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3508 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3509 grub/machine/kernel.h.
3510 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3511 (grub_claim_heap) [__sparc__]: Use sparc version.
3512 (grub_machine_init): Moved args parsing to
3513 (grub_parse_cmdline): ...this.
3514 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3515 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3516 New definition.
3517 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3518
3519 Move BOOTP to separate file.
3520
3521 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3522 * grub-core/net/net.c: Move all BOOTP functions to
3523 * grub-core/net/bootp.c: ... here.
3524
3525 Use frame interface on PXE.
3526
3527 * grub-core/Makefile.core.def (pxecmd): Removed.
3528 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3529 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3530 * grub-core/i386/pc/pxe.c: Moved from here ...
3531 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3532 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3533 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3534
3535 EFI network support.
3536
3537 * grub-core/Makefile.core.def (efinet): New module.
3538 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3539 here...
3540 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3541 All users updated.
3542 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3543 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3544 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3545 * grub-core/net/drivers/efi/efinet.c: New file.
3546 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3547 (grub_efi_net_config): New extern var.
3548
3549 Various cleanups and bugfixes.
3550
3551 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3552 error.
3553 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3554 disk declared as partition.
3555 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3556 leak on failure.
3557 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3558 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3559 (grub_debug_zalloc): Likewise.
3560 (grub_debug_realloc): Likewise.
3561 (grub_debug_memalign): Likewise.
3562 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3563 Check that target is IPv4.
3564 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3565 local-mac-address as fallback.
3566 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3567 memory leak.
3568 * grub-core/net/ip.c (ipchksum): Rename to ...
3569 (grub_net_ip_chksum): ... this. All users updated.
3570 (grub_net_recv_ip_packets): Special handling for DHCP.
3571 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3572
3573 Unify prefix handling
3574
3575 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3576 (grub_machine_get_bootlocation): ... this.
3577 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3578 (grub_machine_get_bootlocation): ... this.
3579 (grub_prefix): New variable.
3580 (prefix): Removed.
3581 (root_dev): New variable.
3582 (dir): Likewise.
3583 (main): Use new variables.
3584 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3585 Revamped into ...
3586 (grub_machine_get_bootlocation): ... this.
3587 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3588 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3589 (grub_machine_get_bootlocation): ... this.
3590 (grub_machine_set_prefix): Removed.
3591 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3592 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3593 Revamped into ...
3594 (grub_machine_get_bootlocation): ... this.
3595 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3596 (grub_set_prefix_and_root): ... this. All users updated.
3597 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3598 Revamped into ...
3599 (grub_machine_get_bootlocation): ... this.
3600 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3601 (grub_machine_get_bootlocation): New proto.
3602 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3603
3604 Less intrusive and more reliable seek on network implementation.
3605
3606 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3607 (grub_file_seek): Don't call grub_file_net_seek.
3608 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3609 (grub_net_fs_read_real): .. this.
3610 (grub_net_seek_real): Use net->offset.
3611 (grub_net_fs_read): Seek if necessary.
3612
3613 Unify IEEE1275 netwotk config with the other platforms.
3614
3615 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3616 New variable.
3617 (grub_machine_get_bootlocation): Support network.
3618 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3619 Support type and device parsing.
3620 (grub_ieee1275_get_device_type): New function.
3621 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3622 into ...
3623 (grub_ieee1275_net_config_real): ... this.
3624 (grub_ofnet_probecards): Removed.
3625 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3626 * include/grub/ieee1275/ofnet.h: Removed.
3627 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3628 extern var.
3629 (grub_ieee1275_get_device_type): New function.
3630
3631 Unify network device closing across platforms and make more robust.
3632
3633 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3634 grub_grubnet_fini.
3635 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3636 already.
3637 * grub-core/net/net.c (grub_net_network_level_interface_register):
3638 Update num_ifaces.
3639 (grub_net_card_unregister): Close all interfaces.
3640 (receive_packets): Don't poll if no iterfaces are registered.
3641 Open if necessary.
3642 (grub_net_fini_hw): New function.
3643 (grub_net_restore_hw): Likewise.
3644 (fini_hnd): New variable.
3645 (GRUB_MOD_INIT): Register preboot hook.
3646 (GRUB_MOD_FINI): Run and unregister preboot hook.
3647
3648 Poll network cards when idle.
3649
3650 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3651 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3652 * grub-core/net/net.c (receive_packets): Save last poll time.
3653 (grub_net_poll_cards_idle_real): New function.
3654 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3655 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3656 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3657
3658 Rename ofnet interfaces.
3659
3660 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3661 (grub_ofnet_findcards): Use ofnet_%s names.
3662
3663 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3664
3665 Cleanup socket opening.
3666
3667 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3668 (grub_net_fs_close): Likewise.
3669 (grub_net_fs_read_real): Use eof member.
3670 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3671 (+grub_net_udp_close): New inline function.
3672
3673 * include/grub/net/tftp.h: Moved to the top of ...
3674 * grub-core/net/tftp.c: ... here.
3675 * include/grub/net/ip.h: Moved mostly to the top of ...
3676 * grub-core/net/ip.c: ... here.
3677 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3678 * grub-core/net/ethernet.c: ... here.
3679
3680 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3681
3682 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3683 FS name.
3684
3685 * include/grub/net/ip.h (ipv4_ini): Removed.
3686 (ipv4_fini): Likewise.
3687
3688 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3689 (grub_net_send_ip_packets): Likewise.
3690
3691 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3694 grub_read_cmos prototype.
3695
3696 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 VGA text support in qemu-mips
3699
3700 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3701 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3702 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3703 text.
3704 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3705 * grub-core/kern/vga_init.c: ... this.
3706 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3707 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3708 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3709 Adjust.
3710 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3711 GRUB_MACHINE_PCI_IO_BASE.
3712
3713 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 MIPS qemu flash support.
3716
3717 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3718 magic.
3719 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3720 (grub_machine_init): Probe memory if its size isn't known.
3721 * util/grub-mkimage.c (image_targets): Add flash targets.
3722 (generate_image): Handle flash targets.
3723
3724 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 MIPS qemu at_keyboard support.
3727
3728 * gentpl.py (videoinkernel): Add qemu-mips.
3729 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3730 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3731 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3732 modules.
3733 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3734 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3735 * grub-core/term/serial.c (grub_serial_register)
3736 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3737
3738 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 CMOS support on sparc.
3741
3742 * gentpl.py (cmos): Add powerpc and sparc.
3743 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3744 powerpc and sparc.
3745 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3746 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3747 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3748 grub_set_datetime_cmos.
3749 * grub-core/lib/ieee1275/cmos.c: New file.
3750 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3751 (find_rtc): Set no_ieee1275_rtc on error.
3752 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3753 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3754 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3755 fail. Move value to argument. All users updated
3756 (grub_cmos_write): Likewise.
3757 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3758 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3759 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3760 grub_get_datetime_cmos and grub_set_datetime_cmos.
3761
3762 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3763
3764 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3765 sourcing grub-mkconfig_lib.
3766 * util/update-grub_lib.in: Likewise.
3767 * util/grub.d/00_header.in: Likewise.
3768 * util/grub.d/10_hurd.in: Likewise.
3769 * util/grub.d/10_kfreebsd.in: Likewise.
3770 * util/grub.d/10_linux.in: Likewise.
3771 * util/grub.d/10_netbsd.in: Likewise.
3772 * util/grub.d/10_windows.in: Likewise.
3773 * util/grub.d/20_linux_xen.in: Likewise.
3774 * util/grub.d/30_os-prober.in: Likewise.
3775
3776 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
3777
3778 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3779 default_bg_color rather than black.
3780 (grub_gfxterm_fullscreen): Likewise.
3781 (grub_gfxterm_background_color_cmd): Save new background color in
3782 default_bg_color.
3783
3784 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3787
3788 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3791 mismerge.
3792
3793 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Chainloading on coreboot support.
3796
3797 * grub-core/Makefile.core.def (chain): Add coreboot.
3798 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3799
3800 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3803 if it happens.
3804
3805 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Implement time command.
3808
3809 * grub-core/Makefile.core.def (time): New module.
3810 * grub-core/commands/time.c: New file.
3811 * grub-core/script/parser.y: Remove "time" keyword.
3812 * grub-core/script/yylex.l: Likewise.
3813
3814 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3817
3818 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3821 when handling leftovers.
3822
3823 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3826 so that help2man doesn't fail.
3827
3828 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3831 type in pointers on sparc64.
3832 (get_card_packet): Likewise.
3833
3834 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
3835
3836 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3837 with `*'.
3838 (grub_cmd_videoinfo): Fetch current video mode.
3839
3840 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3843 because of underlying system restrictions.
3844
3845 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3848 necessary.
3849
3850 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Coreboot video support.
3853
3854 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3855 (vbe): Likewise.
3856 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3857 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3858 here ...
3859 * grub-core/kern/i386/int.S: ... here.
3860 * grub-core/video/i386/pc/vbe.c: Updated includes.
3861 * grub-core/video/i386/pc/vga.c: Likewise.
3862 * include/grub/i386/coreboot/memory.h
3863 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3864 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3865 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3866 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3867 Disable interrupts.
3868 * include/grub/i386/pc/vga.h: Removed. All users updated.
3869
3870 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3873 definitions for dprintf.
3874 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3875
3876 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3879 prototype.
3880 (get_card_packet): Likewise.
3881
3882 2011-06-26 Yves Blusseau <blusseau@zetam.org>
3883
3884 Display the path of the file when file is not found
3885
3886 * grub-core/fs/fat.c: Display the filename when file is not found.
3887 * grub-core/fs/fshelp.c: Likewise.
3888 * grub-core/fs/hfs.c: Likewise.
3889 * grub-core/fs/jfs.c: Likewise.
3890 * grub-core/fs/minix.c: Likewise.
3891 * grub-core/fs/ufs.c: Likewise.
3892 * grub-core/fs/btrfs.c: Likewise.
3893 * grub-core/commands/i386/pc/play.c: Likewise.
3894
3895 2011-06-26 Szymon Janc <szymon@janc.net.pl>
3896
3897 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3898 pointer checks before calling grub_free().
3899 * grub-core/commands/wildcard.c (match_devices): Likewise.
3900 * grub-core/commands/wildcard.c (match_files): Likewise.
3901 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3902 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3903 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3904 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3905 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3906 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3907 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3908 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3909 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3910
3911 2011-06-25 Patrick <p55@mailinator.com>
3912
3913 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3914
3915 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3918 (grub_pxe_send): Likewise.
3919 (GRUB_MOD_INIT): Fix types.
3920
3921 2011-06-24 Szymon Janc <szymon@janc.net.pl>
3922
3923 * grub-core/io/xzio.c: Fix code style issues
3924
3925 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3926 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
3927
3928 Network infrastructure.
3929 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3930
3931 * include/grub/net/arp.h: New file.
3932 * include/grub/net/device.h: Likewise.
3933 * include/grub/net/ethernet.h: Likewise.
3934 * include/grub/net/ip.h: Likewise.
3935 * include/grub/net/netbuff.h: Likewise.
3936 * include/grub/net/tftp.h: Likewise.
3937 * include/grub/net/udp.h: Likewise.
3938 * include/grub/ieee1275/ofnet.h: Likewise.
3939 * include/grub/emu/export.h: Likewise.
3940 * include/grub/net.h: Likewise.
3941 * grub-core/net/arp.c: Likewise.
3942 * grub-core/net/ethernet.c: Likewise.
3943 * grub-core/net/ip.c: Likewise.
3944 * grub-core/net/udp.c: Likewise.
3945 * grub-core/net/tftp.c: Likewise.
3946 * grub-core/net/netbuff.c: Likewise.
3947 * grub-core/net/net.c: Likewise.
3948 * grub-core/net/drivers/emu/emunet.c: Likewise.
3949 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3950 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3951 export.h.
3952 * grub-core/Makefile.core.def (net): New module.
3953 (tftp): Likewise.
3954 (ofnet): Likewise.
3955 (emunet): Likewise.
3956 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3957 network protocols.
3958 * grub-core/kern/device.c (grub_net_open) : New variable.
3959 (grub_device_open): Handle network device.
3960 (grub_device_close): Likewise.
3961 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3962 (grub_grubnet_fini): Likewise.
3963 (grub_file_seek): Seek in network device.
3964 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3965 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3966 network root.
3967 (grub_machine_fini): Call grub_grubnet_fini.
3968 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3969 network.
3970 (grub_ieee1275_get_aliasdevname): New function.
3971 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3972 Add unofficial Solaris network info.
3973 (grub_multiboot_make_mbi): Likewise.
3974 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3975 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3976 * include/grub/device.h (grub_fs): Removed.
3977 * include/grub/err.h (grub_err_t): Add network-related values.
3978 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3979 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3980 (grub_ieee1275_get_aliasdevname): New proto.
3981 * include/grub/net.h: Rewritten.
3982
3983 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3986 names.
3987
3988 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3991 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3992 it truncates the output.
3993 Reported by: Ximin Luo.
3994
3995 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3998
3999 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4002 partmap before abstraction.
4003
4004 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4005
4006 * util/grub-mkconfig_lib.in: Add missing quotes.
4007
4008 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4011 old method if mountinfo would return /dev/root and /dev/root doesn't
4012 exist.
4013
4014 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 ZFS zlib support
4017
4018 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4019 (decomp_table): Add zlib entries.
4020 (zio_read): USe 8 bits for compression function rather than 3.
4021 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4022
4023 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/disk/ahci.c: Add missing license statements.
4026 * grub-core/fs/romfs.c: Likewise.
4027 * grub-core/lib/ia64/setjmp.S: Likewise.
4028 * grub-core/loader/i386/pc/freedos.c: Likewise.
4029 * grub-core/loader/ia64/efi/linux.c: Likewise.
4030 * grub-core/video/colors.c: Likewise.
4031 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4032
4033 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 AHCI support.
4036
4037 * grub-core/Makefile.core.def (ata_pthru): Removed.
4038 (ahci): New module.
4039 (pata): Likewise.
4040 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4041 on unload.
4042 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4043 readwrite.
4044 (grub_hdparm_do_check_powermode_cmd): Likewise.
4045 (grub_hdparm_do_smart_cmd): Likewise.
4046 (grub_hdparm_set_val_cmd): Likewise.
4047 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4048 * grub-core/disk/ahci.c: New file.
4049 * grub-core/disk/ata.c: Factor out the low-level part into ...
4050 * grub-core/disk/pata.c: ... here.
4051 * grub-core/disk/ata_pthru.c: Contents moved to ...
4052 * grub-core/disk/pata.c: ... here.
4053 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4054 (grub_scsi_iterate): Use grub_scsi_names.
4055 (grub_scsi_open): Likewise.
4056 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4057 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4058 (grub_ata_regs_t): New struct.
4059 (grub_disk_ata_pass_through_parms): Likewise.
4060 (grub_ata_device): Renamed to ...
4061 (grub_ata): ... this.
4062 (grub_ata_dev): New struct.
4063 Removed all low-level inline functions.
4064 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4065 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4066 iterate hooks and open. All users updated.
4067 * util/grub-install.in: Handle AHCI disk module.
4068
4069 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4070
4071 Add support for DRI and RSTn markers in JPEG files.
4072
4073 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4074 (JPEG_MARKER_RST0): Likewise.
4075 (JPEG_MARKER_RST1): Likewise.
4076 (JPEG_MARKER_RST2): Likewise.
4077 (JPEG_MARKER_RST3): Likewise.
4078 (JPEG_MARKER_RST4): Likewise.
4079 (JPEG_MARKER_RST5): Likewise.
4080 (JPEG_MARKER_RST6): Likewise.
4081 (JPEG_MARKER_RST7): Likewise.
4082 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4083 (grub_jpeg_decode_dri): New function.
4084 (grub_jpeg_decode_sos): Move image data related part into
4085 grub_jpeg_decode_data function.
4086 (grub_jpeg_decode_data): New function.
4087 (grub_jpeg_reset): New function.
4088 (grub_jpeg_decode_jpeg): Handle new markers.
4089
4090 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * util/ieee1275/ofpath.c (check_sas): Close fd.
4093 (main): Free of_path.
4094 Reported by: David Volgyes <dvolgyes>.
4095
4096 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4099 Reported by: David Volgyes <dvolgyes>.
4100
4101 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4104 file after stat.
4105 Reported by: David Volgyes <dvolgyes>.
4106
4107 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4110
4111 Reported by: David Volgyes <dvolgyes>.
4112
4113 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4116 Prevent memory leak.
4117
4118 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4121 (main): Close file.
4122 Reported by: David Volgyes <dvolgyes>.
4123
4124 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4127 to continue if allocation is failed.
4128
4129 Reported by: David Volgyes <dvolgyes>.
4130
4131 2011-06-23 David Volgyes <dvolgyes>
4132
4133 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4134 dereference.
4135
4136 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 Fix spurious warning.
4139
4140 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4141 (acorn_partition_map_find): Use .bin member.
4142
4143 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4146 /dev/root as a valid device.
4147
4148 2011-06-23 Jim Meyering <meyering@redhat.com>
4149
4150 Avoid NULL deref in grub_device_open.
4151
4152 * grub-core/kern/device.c (grub_device_open): Don't dereference
4153 a NULL pointer upon failed grub_env_get.
4154
4155 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 Support non-512B sectors and agglomerate reads.
4158
4159 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4160 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4161 (disk_io_guid): Removed.
4162 (make_devices): Locate solely by BlockIO.
4163 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4164 (grub_efidisk_read): Use read_blocks.
4165 (grub_efidisk_write): Use write_blocks.
4166 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4167 log_sector_size.
4168 (get_safe_sectors): Handle non-512B sectors.
4169 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4170 sectors.
4171 (grub_biosdisk_write): Handle non-512B sectors.
4172 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4173 (grub_scsi_read): Remove special non-512B block handling (now handled
4174 one level up).
4175 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4176 and do sanity checks.
4177 (grub_disk_adjust_range): Handle non-512B sectors.
4178 (transform_sector): New function.
4179 (grub_disk_read_small): Likewise.
4180 (grub_disk_read): Rewritten.
4181 (grub_disk_write): Handle non-512B sectors.
4182 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4183 log_sector_size.
4184 (open_device): Use log_sector_size.
4185 (grub_util_biosdisk_read): Likewise.
4186 (grub_util_biosdisk_write): Likewise.
4187 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4188 non-512B sectors.
4189 (pc_partition_map_embed): Likewise.
4190 * include/grub/disk.h (grub_disk): New field log_sector_size.
4191 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4192 (GRUB_DISK_CACHE_BITS): Increased to 6.
4193 * util/grub-fstest.c (fstest): New command testload.
4194 (argp_parser): Likewise.
4195
4196 2011-06-16 Robert Millan <rmh@gnu.org>
4197
4198 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4199 `ata' driver on kernel of FreeBSD 9.
4200
4201 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4202 (get_ataraid_disk_name): New functions.
4203 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4204 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4205 get_ataraid_disk_name() and get_ada_disk_name().
4206
4207 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4210 input format.
4211
4212 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4213
4214 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4215 `ftp.gnu.org' for `alpha.gnu.org'.
4216
4217 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4218
4219 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4220 partitions under /dev/disk/by-id/.
4221
4222 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4223
4224 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4225 after ten consecutive open failures. Scanning all the way up to
4226 10000 is excessive and can cause serious performance problems in
4227 some configurations.
4228 Fixes Ubuntu bug #787461.
4229
4230 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4233 opening new one.
4234
4235 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4236 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 Don't stat devices unless we have to.
4239
4240 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4241 dir == /dev/mapper.
4242 (grub_guess_root_device): Use already known os_dev if possible.
4243 * grub-core/kern/emu/hostdisk.c
4244 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4245 if device is known to be a dm one.
4246
4247 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4248
4249 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4250 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4251 Reported by: Pawel Tecza.
4252
4253 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4256 (lsefisystab): Likewise.
4257 (lssal): Likewise.
4258 (lsefimmap): Likewise.
4259 (hdparm): Enable on qemu-mips.
4260 (setjmp): Add ia64 nodist.
4261 (serial): Simplify tags.
4262
4263 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4264
4265 * Makefile.util.def (grub-ofpathname): Install manual page.
4266
4267 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4268
4269 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4270
4271 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4272
4273 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4274
4275 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4278 into dprintf.
4279
4280 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Use full 64-bit division.
4283
4284 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4285 (grub_divmod64): ... this.
4286 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4287 version.
4288
4289 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4290
4291 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4292 `source'.
4293
4294 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4295
4296 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4297 to avoid accidents when debugging with 'sh -x'.
4298 * grub-core/gensyminfo.sh.in: Likewise.
4299 * tests/example_scripted_test.in: Likewise.
4300 * tests/grub_cmd_regexp.in: Likewise.
4301 * tests/grub_script_blanklines.in: Likewise.
4302 * tests/grub_script_dollar.in: Likewise.
4303 * tests/grub_script_expansion.in: Likewise.
4304 * tests/grub_script_final_semicolon.in: Likewise.
4305 * tests/partmap_test.in: Likewise.
4306 * tests/util/grub-shell-tester.in: Likewise.
4307 * tests/util/grub-shell.in: Likewise.
4308
4309 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4310
4311 Move gfxmenu color handling to video, so that gfxterm can use it
4312 too.
4313
4314 * grub-core/gfxmenu/named_colors.c: Move to ...
4315 * grub-core/video/colors.c: ... here. Rename
4316 grub_gui_get_named_color to grub_video_get_named_color.
4317 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4318 * grub-core/video/colors.c (my_isxdigit): ... here.
4319 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4320 Move to ...
4321 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4322 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4323 to ...
4324 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4325
4326 * include/grub/gui.h (grub_gui_color_t): Move to ...
4327 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4328 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4329 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4330 * include/grub/gui.h (grub_gui_map_color): Move to ...
4331 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4332 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4333 to ...
4334 * include/grub/video.h (grub_video_get_named_color): ... here.
4335 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4336 * include/grub/video.h (grub_video_parse_color): ... here.
4337
4338 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4339 video/colors.c.
4340 (gfxmenu): Remove gfxmenu/named_colors.c.
4341 (video) [videomodules]: Add video/colors.c.
4342
4343 Add a background_color command.
4344
4345 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4346 function.
4347 (GRUB_MOD_INIT): Register background_color command.
4348 (GRUB_MOD_FINI): Unregister background_color command.
4349 (redraw_screen_rect): Allow blend/replace of text layer to be
4350 controlled independently from whether there is a background bitmap.
4351 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4352 changing bitmap.
4353
4354 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Patch BPB in ntldr and chainloader --bpb.
4357
4358 * grub-core/fs/fat.c: Include grub/fat.h.
4359 (grub_fat_bpb): Moved to ...
4360 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4361 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4362 grub/ntfs.h.
4363 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4364 Moved from here...
4365 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4366 here.
4367 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4368 New function.
4369 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4370 (GRUB_MOD_INIT): Show --bpb.
4371 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4372 * grub-core/normal/main.c (features): New variable.
4373 (GRUB_MOD_INIT): Set feature_* variables.
4374 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4375 proto.
4376 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4377
4378 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4381 for cleanness.
4382
4383 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 FreeDOS direct loading support.
4386
4387 * docs/grub.texi (Supported OS): Add FreeDOS.
4388 * grub-core/Makefile.core.def (freedos): New module.
4389 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4390 variable.
4391 (grub_relocator16_boot): Handle %ebx.
4392 * grub-core/lib/i386/relocator16.S: Likewise.
4393 * grub-core/loader/i386/pc/freedos.c: New file.
4394
4395 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 Long Linux command line support.
4398
4399 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4400 (maximal_cmdline_size): New variable.
4401 (allocate_pages): Use maximal_cmdline_size.
4402 (grub_cmd_linux): Set and use maximal_cmdline_size.
4403 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4404 (allocate_pages): Use maximal_cmdline_size.
4405 (grub_cmd_linux): Set and use maximal_cmdline_size.
4406 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4407 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4408 and cmdline_size.
4409
4410 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4411 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4412
4413 Improve devmapper support
4414
4415 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4416 (grub_util_is_lvm): New function.
4417 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4418 than lvm if not dmraid.
4419 Handle mapped md nodes.
4420 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4421 (grub_util_device_is_mapped): ... this. Make always available. All users
4422 updated.
4423 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4424 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4425 dmraid nodes.
4426 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4427
4428 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4431
4432 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4433 * grub-core/modinfo.sh.in: New file.
4434 * grub-core/Makefile.core.def (modinfo.sh): New script.
4435 * util/grub-mknetdir.in: Use modinfo.sh.
4436 * util/grub-mkrescue.in: Likewise.
4437
4438 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4441 Fix potential usage of Elf32 instead of Elf64 when compiling on
4442 32-bit architecture. Add endianness macros while on it.
4443
4444 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Use mipsel- rather than mips- in directories involving mipsel ports to
4447 allow both endiannesses coexist.
4448
4449 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4450 mips. All conditions adjusted.
4451 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4452 variable.
4453 * util/grub-install.in: Adjust conditions to take renaming into account.
4454 * util/grub-mkimage.c (image_targets): Likewise. New target
4455 mips-qemu_mips-elf for bigendian mips.
4456
4457 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Avoid unnecessary copying on MIPS.
4460
4461 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4462 early if src == dest.
4463 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4464 compression is none.
4465
4466 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 Reduce memory footprint on SGI by putting modules before the kernel
4469 as opposed to after.
4470
4471 * grub-core/Makefile.core.def (kernel): Increase linking address.
4472 (none_decompress): Likewise.
4473 (xz_decompress): Likewise.
4474 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4475 address.
4476 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4477 layout change.
4478 (grub_arch_modules_addr): New function.
4479 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4480 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4481 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4482 here.
4483 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4484 (grub_total_modules_size): ... this. Make global.
4485 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4486 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4487 New definition.
4488 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4489 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4490 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4491 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4492 * util/grub-mkimage.c (image_target_desc): New flag
4493 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4494 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4495 (generate_image): Handle images with modules before kernel.
4496
4497 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 Prevent potential loss of memory map by overwrite on qemu-mips.
4500
4501 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4502 Save ram size in $s4.
4503 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4504 All users changed to grub_arch_memsize.
4505 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4506 Loongson.
4507 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4508 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4509 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4510 external variable.
4511
4512 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4513
4514 * .bzrignore: Remove grub-dumpbios.
4515
4516 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4517
4518 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4519 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4520 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4521 existing options which append).
4522 * docs/grub.texi (Simple configuration): Document new options.
4523 Reported by: Ian Jackson. Fixes Debian bug #617538.
4524
4525 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4526
4527 * util/grub-fstest.c (cmd_cat): New function.
4528 (fstest): Handle CMD_CAT.
4529 (options): Add cat.
4530 (argp_parser): Handle cat.
4531
4532 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4533
4534 * Makefile.util.def (grub-bin2h): Don't install.
4535 * docs/man/grub-bin2h.h2m: Remove.
4536
4537 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4540 place.
4541
4542 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Reenable qemu-mips port.
4545
4546 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4547 Fix small arc bug while on it.
4548 * gentpl.py: Handle qemu_mips.
4549 * grub-core/Makefile.am: Likewise.
4550 * grub-core/Makefile.core.def: Likewise.
4551 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4552 inappropriate includes.
4553 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4554 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4555 * grub-core/kern/main.c (grub_modules_get_end)
4556 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4557 * grub-core/kern/mips/qemu-mips: Moved to ..
4558 * grub-core/kern/mips/qemu_mips: ... this.
4559 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4560 (grub_machine_init): Call terminfo_init and serial_init.
4561 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4562 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4563 New variable.
4564 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4565 parameter passing.
4566 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4567 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4568 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4569 * include/grub/mips/qemu_mips/cmos.h: New file.
4570 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4571 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4572 Removed.
4573 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4574 Use correct mips-style address.
4575 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4576 (GRUB_TICKS_PER_SECOND): Removed.
4577 (grub_get_rtc): Likewise.
4578 (grub_cpu_idle): Likewise.
4579 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4580 New definition.
4581 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4582 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4583 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4584 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4585 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4586 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4587 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4588 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4589
4590 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 SGI ARCS port.
4593
4594 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4595 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4596 platforms.
4597 * configure.ac: New target mips-arc.
4598 * gentpl.py: Likewise.
4599 * grub-core/Makefile.am: Likewise.
4600 * grub-core/Makefile.core.def: Likewise.
4601 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4602 (none_decompress): Likewise.
4603 (lsdev): New module.
4604 (datetime): Use lib/arc/datetime.c on ARC.
4605 (part_dvh): New module.
4606 * grub-core/commands/arc/lsdev.c: New file.
4607 * grub-core/disk/arc/arcdisk.c: Likewise.
4608 * grub-core/kern/mips/arc/init.c: Likewise.
4609 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4610 aligned addresses.
4611 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4612 support.
4613 (grub_arch_dl_relocate_symbols): Likewise.
4614 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4615 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4616 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4617 platforms.
4618 * grub-core/lib/arc/datetime.c: New file.
4619 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4620 pci.h on non-loongson.
4621 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4622 (grub_linux_boot): Set unused registers to 0.
4623 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4624 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4625 * grub-core/mmap/mips/uppermem.c: ...here.
4626 * grub-core/partmap/dvh.c: New file.
4627 * grub-core/term/arc/console.c: Likewise.
4628 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4629 (grub_terminfo_set_current): Add terminal "arc".
4630 (grub_terminfo_readkey): Support ARC sequences.
4631 * include/grub/arc/arc.h: New file.
4632 * include/grub/arc/console.h: Likewise.
4633 * include/grub/disk.h (grub_disk_dev_id): Add
4634 GRUB_DISK_DEVICE_ARCDISK_ID.
4635 * include/grub/mips/arc/kernel.h: New file.
4636 * include/grub/mips/arc/memory.h: Likewise.
4637 * include/grub/mips/arc/time.h: Likewise.
4638 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4639 * include/grub/mips/kernel.h (grub_halt): ... here.
4640 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4641 here...
4642 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4643 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4644 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4645 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4646 proto.
4647 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4648 from here ...
4649 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4650 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4651 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4652 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4653 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4654 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4655 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4656 (grub_phys_addr_t): Moved from here ...
4657 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4658 (grub_vtop): Moved from here ...
4659 * include/grub/mips/memory.h (grub_vtop): ... here.
4660 (grub_map_memory): Moved from here ...
4661 * include/grub/mips/memory.h (grub_map_memory): ... here.
4662 (grub_unmap_memory): Moved from here ...
4663 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4664 (grub_machine_mmap_iterate): Moved from here ...
4665 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4666 (grub_mmap_get_lower): Moved from here ...
4667 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4668 (grub_mmap_get_upper): Moved from here ...
4669 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4670 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4671 here ...
4672 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4673 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4674 here ...
4675 * include/grub/mips/time.h (grub_get_rtc): ... here.
4676 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4677 here ...
4678 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4679 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4680 here ...
4681 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4682 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4683 definition.
4684 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4685 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4686 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4687 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4688 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4689 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4690 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4691 (GRUB_MACHINE_LINK_ADDR): Likewise.
4692 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4693 to 6.
4694 * util/grub-install.in: Run dvhtool on ARC.
4695 * util/grub-mkimage.c (image_targets): Add mips-arc.
4696 (generate_image): Handle ECOFF output for mips-arc.
4697
4698 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4701 blocks.
4702
4703 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4706 after enabling port.
4707
4708 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 Skip incorrect USB devices.
4711
4712 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4713 configcnt == 0.
4714 * include/grub/usb.h (grub_usb_err_t): New enum value
4715 GRUB_USB_ERR_BADDEVICE.
4716
4717 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Fuloong video init support.
4720
4721 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4722 well.
4723 (grub_vga_read_arx): New function.
4724 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4725 definition.
4726 (framebuffer): New members io, mmioptr and mmiobase.
4727 (read_sis_cmd): New function.
4728 (write_sis_cmd): Likewise.
4729 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4730 rather than 640x400.
4731 * grub-core/video/sis315_init.c: New file.
4732
4733 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4736 non-loongson.
4737 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4738 to grub_dl_register_symbol.
4739
4740 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Fix compilation errors.
4743
4744 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4745 potentially unused.
4746 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4747 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4748 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4749 to loongson machines.
4750
4751 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Several FS mtime support.
4754
4755 * grub-core/fs/affs.c (grub_affs_time): New struct.
4756 (grub_affs_file): New field mtime.
4757 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4758 type. Removed 'size'. New field 'di'. All users updated.
4759 (grub_affs_mount): Simplify checsum checking.
4760 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4761 (grub_affs_dir): Handle mtime.
4762 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4763 (grub_cpio_dir): Likewise.
4764 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4765 (grub_hfs_filerec): New field mtime.
4766 (grub_hfs_dir): Handle mtime.
4767 (grub_hfs_mtime): New function.
4768 (grub_hfs_fs): Register grub_hfs_mtime.
4769 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4770 (grub_iso9660_dir): New field mtime.
4771 (grub_fshelp_node): New field dirent.
4772 (iso9660_to_unixtime): New function.
4773 (iso9660_to_unixtime2): Likewise.
4774 (grub_iso9660_read_symlink): Use node->dirent.
4775 (grub_iso9660_iterate_dir): Likewise.
4776 (grub_iso9660_dir): Set mtime.
4777 (grub_iso9660_mtime): New function.
4778 (grub_iso9660_fs): Register grub_iso9660_mtime.
4779 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4780 (grub_jfs_inode): New fields atime, ctime and mtime.
4781 (grub_jfs_dir): Set mtime.
4782 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4783 * grub-core/fs/ntfs.c (list_file): Set mtime.
4784 (grub_ntfs_dir): Likewise.
4785 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4786 (grub_reiserfs_iterate_dir): Set mtime.
4787 (grub_reiserfs_dir): Likewise.
4788 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4789 (grub_fshelp_node): Likewise.
4790 (grub_sfs_iterate_dir): Set mtime.
4791 (grub_sfs_dir): Likewise.
4792 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4793 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4794 (grub_xfs_inode): New fields atime, mtime, ctime.
4795 (grub_xfs_dir): Set mtime.
4796 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4797 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4798 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4799
4800 Support UDF symlinks.
4801
4802 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4803 (grub_ufs_read_symlink): New function. All users updated.
4804
4805 Check amiga partmap checksum.
4806
4807 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4808 (grub_amiga_partition): Likewise.
4809 (amiga_partition_map_checksum): New function.
4810 (amiga_partition_map_iterate): Check checksum.
4811
4812 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 ROMFS support.
4815
4816 * Makefile.util.def (libgrubmods.a): Add romfs.
4817 * grub-core/Makefile.core.def (romfs): New module.
4818 * grub-core/fs/romfs.c: New file.
4819
4820 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Squashfs v4 support.
4823
4824 * Makefile.util.def (libgrubmods.a): Add squash4.
4825 * grub-core/Makefile.core.def (squash4): New module.
4826 * grub-core/fs/squash4.c: New file.
4827 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4828 disk_input_start, disk_input.
4829 (get_byte): Handle disk_input.
4830 (grub_zlib_disk_read): New function.
4831 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4832
4833 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4834 2011-05-15 Feiran Zheng <famcool@gmail.com>
4835
4836 * Makefile.util.def (libgrubmods.a): Add minix3.
4837 * grub-core/Makefile.core.def (minix3): New module.
4838 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4839 (GRUB_MINIX_BSIZE): Removed.
4840 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4841 (grub_minix_ino_t): New type.
4842 (grub_minix_le_to_cpu_ino): New macro.
4843 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4844 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4845 (grub_minix_data): New field block_size.
4846 (grub_minix_read_file): Handle 64-bit correctly.
4847 * grub-core/fs/minix3.c: New file.
4848
4849 2011-05-15 Tristan Gingold <gingold@free.fr>
4850 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
4851 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 IA64 support.
4854
4855 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4856 * configure.ac: Add ia64-efi target.
4857 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4858 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4859 * gentpl.py: Add ia64_efi platform.
4860 Rename x86_efi to efi and Add ia64-efi. All users updated.
4861 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4862 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4863 Remove kern/generic/rtc_get_time_ms.c on EFI.
4864 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4865 kern/ia64/dl_helper.c on ia64-efi.
4866 Add kern/emu/cache.c on emu.
4867 (linux): Use on loader/ia64/efi/linux.c on ia64.
4868 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4869 whether symbol is a function.
4870 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4871 (grub_symbol): New field 'isfunc'.
4872 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4873 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4874 (grub_dl_load_segments): Place all sections into the same region.
4875 [__ia64__]: Create trampolines and got.
4876 [GRUB_MACHINE_EMU]: Call mprotect.
4877 (grub_dl_resolve_symbols): Resolve symbol type as well.
4878 [__ia64__]: Create function descriptors.
4879 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4880 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4881 (grub_get_rtc): New function.
4882 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4883 * grub-core/kern/emu/cache.S: Renamed to ...
4884 * grub-core/kern/emu/cache_s.S: ... this.
4885 [__ia64__]: Add a nop.
4886 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4887 [__ia64__]: New function.
4888 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4889 * grub-core/kern/ia64/dl.c: New file.
4890 * grub-core/kern/ia64/dl_helper.c: Likewise.
4891 * grub-core/kern/ia64/efi/init.c: New file.
4892 * grub-core/kern/ia64/efi/startup.S: Likewise.
4893 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4894 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4895 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4896 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4897 * grub-core/loader/ia64/efi/linux.c: New file.
4898 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4899 (GRUB_MOD_DEP): Likewise.
4900 (grub_dl) [__ia64__]: New fields got and tramp.
4901 (grub_dl): New field 'base'.
4902 (grub_dl_register_symbol): New argument isfunc. All users updated.
4903 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4904 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4905 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4906 (grub_ia64_dl_get_tramp_got_size): New proto.
4907 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4908 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4909 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4910 * include/grub/efi/api.h: Skip call wrappers on ia64.
4911 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4912 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4913 * include/grub/elf.h (ELF_ST_INFO): New definition.
4914 * include/grub/ia64/efi/kernel.h: New file.
4915 * include/grub/ia64/efi/memory.h: Likewise.
4916 * include/grub/ia64/efi/time.h: Likewise.
4917 * include/grub/ia64/kernel.h: Likewise.
4918 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4919 * include/grub/ia64/time.h: New file.
4920 * include/grub/ia64/types.h: Likewise.
4921 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4922 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4923 New protos.
4924 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4925 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4926 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4927 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4928 All users updated.
4929 (EFI64_HEADER_SIZE): New definition. All users updated.
4930 (image_targets): Add ia64-efi.
4931 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4932 jumpers_addr. All users updated.
4933 Create function descriptors.
4934 (count_funcs): New function.
4935 (unaligned_uint32): New struct.
4936 (MASK20): New definition.
4937 (MASK19): Likewise.
4938 (MASKF21): Likewise.
4939 (add_value_to_slot_20b): New function.
4940 (add_value_to_slot_21_real): Likewise.
4941 (add_value_to_slot_21): Likewise.
4942 (ia64_kernel_trampoline): New struct.
4943 (nopm): New variable.
4944 (jump): Likewise.
4945 (make_trampoline): New function.
4946 (relocate_addresses): Handle ia64.
4947 (make_reloc_section): Likewise.
4948 (load_image): Likewise.
4949
4950 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4953 warning. Move variables before code while on it.
4954
4955 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 Fuloong support.
4958
4959 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4960 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4961 * grub-core/boot/mips/loongson/fuloong.S: New file.
4962 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4963 Explicitly init CS5536.
4964 [FULOONG]: Don't use serial until CS5536 is available.
4965 Set GPIO based on dumps.
4966 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4967 [FULOONG]: Handle GPIO and memory controller differences.
4968 Parse machine type in $a2.
4969 * grub-core/boot/mips/startup_raw.S: Determine and save the
4970 architecture.
4971 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4972 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4973 init on architecture type.
4974 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4975 SIS315E. Don't init at_keyboard on fuloong.
4976 (grub_halt): Support Fuloong.
4977 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4978 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4979 (loongson_machtypes): New array.
4980 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4981 type.
4982 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4983 config. All users updated. Handle CS5536 serial.
4984 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4985 default port on machine type. Register serial as inactive.
4986 * grub-core/video/sis315pro.c: New file.
4987 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4988 definition.
4989 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4990 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4991 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4992 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4993 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4994 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4995 to ...
4996 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4997 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4998 definition.
4999 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5000 (grub_arch_machine): New extern var.
5001 * include/grub/mips/loongson/serial.h
5002 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5003 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5004 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5005 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5006 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5007 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5008 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5009 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5010 * include/grub/term.h (grub_term_register_input_inactive): New inline
5011 function.
5012 (grub_term_register_output_inactive): Likewise.
5013 * include/grub/video.h (grub_video_driver_id): New value
5014 GRUB_VIDEO_DRIVER_SIS315PRO.
5015 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5016 New field "names". All users updated.
5017 New field value IMAGE_FULOONG_FLASH.
5018 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5019
5020 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5021
5022 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5023 and add some clarification.
5024
5025 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5028 platforms if kernel is compressed.
5029
5030 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5033 unused modules since currently referrence counter isn't reliable and
5034 there isn't much memory to recover there anyway.
5035
5036 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5039 rather than resetting it to allow modules to reference themselves
5040 in init.
5041
5042 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5045 counter on dependencies since grub_dl_unref already handles this.
5046
5047 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5050 on error if not already done.
5051
5052 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Fix few potential memory misusage.
5055
5056 * grub-core/font/font.c (load_font_index): Don't free char_index to
5057 avoid double free.
5058 (grub_font_load): Zero-fill font at alloc for safety.
5059 Close file on error.
5060 (free_font): Free bmp_idx.
5061
5062 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * docs/grub.texi (Installation): Fix several outdated claims.
5065
5066 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 Handle module_license on windows.
5069
5070 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5071 sections shifted.
5072 (insert_string): Make argument const char * instead of char *.
5073 (write_section_data): Handle long section names.
5074 Handle module_license.
5075
5076 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5079 handle class-free menuentries.
5080 (grub_normal_add_menu_entry): Add a check to be sure.
5081
5082 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5085 PgUp and PgDown.
5086
5087 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * configure.ac: Bump version to 1.99.
5090
5091 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Give ATA device a bit more time on first try in order to allow disks
5094 to spin up.
5095
5096 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5097 if dev->present is 1. Reset dev->present on failure.
5098 (grub_ata_device_initialize): Set dev->present to 1.
5099 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5100 (grub_ata_device): New member 'present'.
5101
5102 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * util/grub-mkimage.c (generate_image): Update hash.
5105
5106 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 Flush caches on DMA memory.
5109
5110 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5111 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5112 (grub_dma_free): Likewise.
5113 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5114
5115 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5118 to avoid asm treating ld and sd as macros.
5119
5120 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5123 decompressor.
5124
5125 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5128 grub_decompress_core since later would fail if grub_decompress_core
5129 is too far.
5130
5131 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5134 R_MIPS_JALR since it's used by newer compiler.
5135
5136 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5139
5140 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5143 file_path to 0 for surety.
5144 (grub_chainloader_boot): Set exit_data to NULL.
5145 Unset the loader once done.
5146 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5147
5148 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5151 unknown key into a dprintf.
5152
5153 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5156 on first non-existant partition.
5157
5158 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5161 openning fails.
5162 Reported by: Mark Korenberg.
5163
5164 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5167 overflow.
5168
5169 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5172 before closing to ensure that it will be readable by grub-setup.
5173
5174 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5177 (devpath_1): Use MAKE_PIWG_PATH.
5178 (devpath_2): Likewise.
5179 (devpath_3): Likewise.
5180 (devpath_4): Likewise.
5181 (devpath_5): Likewise.
5182 (devpath_6): Likewise.
5183
5184 The appleldr.mod was checked that to be binary identical to previous
5185 version.
5186
5187 2011-05-05 Zach <mikezackles>
5188
5189 Support 2010 Macbooks.
5190
5191 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5192 (devs): Add devpath_6.
5193
5194 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5197 /dev/random. /dev/urandom is good enough for our purposes (salting).
5198
5199 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5202
5203 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5206 hexadecimal.
5207
5208 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5211 and not 0 on failure.
5212
5213 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5214
5215 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5216 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5217 disk; otherwise grub_fs_probe will not fall back to the next
5218 filesystem.
5219 (grub_pxefs_open): Likewise, for consistency.
5220 Reported and tested by: Ezekiel Grave.
5221
5222 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5223
5224 * tests/partmap_test.in: Don't hardcode path to parted.
5225 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5226
5227 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5228
5229 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5230 of `ls' to find out which devices are available.
5231
5232 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5235 than source address for efi mmap buffer.
5236
5237 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5240 wrong action on non-detecting the magic.
5241
5242 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5245 already supplied by another part of the module (fixes compilation on
5246 FreeBSD).
5247
5248 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5251 match the one used by mdadm.
5252
5253 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * po/README: Add instructions for creating po/LINGUAS.
5256
5257 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5258
5259 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5260 #551428.
5261
5262 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5263 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5264 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5265 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5266 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5267 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5268 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5269 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5270 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5271 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5272 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5273 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5274 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5275 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5276 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5277 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5278 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5279 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5280 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5281 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5282 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5283 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5284
5285 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5286
5287 * grub-core/kern/emu/getroot.c
5288 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5289 test that was incorrectly reintroduced in r3214.
5290 Reported by: Ian Dall. Fixes Savannah bug #33133.
5291
5292 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5293
5294 Fix stack pointer handling in 16-bit relocator.
5295
5296 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5297 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5298 Fixes Ubuntu bug #683904.
5299
5300 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * configure.ac: Bump version to 1.99~rc2.
5303
5304 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5307 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5308 * grub-core/lib/x86_64/setjmp.S: Likewise.
5309 * grub-core/lib/mips/setjmp.S: Likewise.
5310 * grub-core/lib/powerpc/setjmp.S: Likewise.
5311 * grub-core/lib/sparc64/setjmp.S: Likewise.
5312
5313 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5316 * grub-core/lib/efi/datetime.c: Likewise.
5317
5318 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5321 New function.
5322 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5323 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5324 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5325
5326 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5329 bitmap.
5330 (grub_gfxterm_term_init): Likewise.
5331
5332 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 Take into account the decorations the computing menu entry width.
5335
5336 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5337 (grub_gfxmenu_create_box): Register get_border_width.
5338 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5339 if available.
5340 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5341 get_border_width.
5342
5343 2011-04-18 Endres Puschner <code@e7p.de>
5344
5345 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5346 Don't skip first class.
5347
5348 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5351 chunks.
5352 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5353
5354 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Complete 64-bit division support.
5357
5358 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5359 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5360 * include/grub/misc.h (grub_divmod64): Rename to ...
5361 (grub_divmod64_full): ... this.
5362 (grub_divmod64): New inline function.
5363
5364 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5367
5368 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5371 performing the necessary test.
5372
5373 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5376 (kfreebsd.elf): Likewise.
5377 (pc-chainloader.elf): Likewise.
5378 (ntldr.elf): Likewise.
5379
5380 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 Identify RAID by its UUID rather than (guessed) name.
5383
5384 * grub-core/disk/raid.c (ascii2hex): New function.
5385 (grub_raid_open): Accept mduuid/%s specification.
5386 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5387 (get_mdadm_uuid): ... this.
5388 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5389
5390 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5393 to negative size.
5394
5395 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5398 btrfs subvolume.
5399 * util/grub.d/20_linux_xen.in: Likewise.
5400
5401 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5402
5403 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5404 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5405
5406 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5407 Build a list of relevant visible mounts using the mnt_id and
5408 parent_mnt_id fields, and then scan that list at the end.
5409
5410 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5411
5412 * docs/grub.texi (normal): New section.
5413 (normal_exit): New section.
5414 (Embedded configuration): Add reference to normal.
5415 (GRUB only offers a rescue shell): Likewise.
5416 * docs/grub-dev.texi (Error Handling): Fix typo.
5417
5418 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5419
5420 * NEWS: Drop obsolete entry about probe-only btrfs support.
5421
5422 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * util/import_gcry.py: Fix typo.
5425
5426 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * NEWS: Add btrfs support.
5429
5430 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5431 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5432
5433 BtrFS support. Written by me (Vladimir) with important bugfixes and
5434 even more important testing by Colin.
5435
5436 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5437 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5438 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5439 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5440 mem_input_off and mem_input. All users updated to accept in-RAM input.
5441 (gzio_seek): New function.
5442 (test_zlib_header): Likewise.
5443 (grub_gzio_read): Likewise.
5444 (grub_zlib_decompress): Likewise.
5445 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5446 Accept partial and non-virtual mounts.
5447 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5448 avoid receiving /dev/dm-X as device.
5449 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5450 Handle bind and partial mounts.
5451 * grub-core/lib/crc.c: New file.
5452 * include/grub/deflate.h: Likewise.
5453 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5454 proto.
5455 * include/grub/lib/crc.h: New file.
5456
5457 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Implement automatic module license checking according to new GNU
5460 guidelines.
5461
5462 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5463 (grub_dl_load_core): Use grub_dl_check_license.
5464 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5465 (GRUB_MOD_LICENSE): Likewise.
5466 (GRUB_MOD_DUAL_LICENSE): Likewise.
5467 All modules updated.
5468
5469 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5470
5471 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5472 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5473 loaders.
5474 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5475
5476 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5479
5480 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5483 failed.
5484
5485 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5488 parenthesis in the middle of the filename.
5489
5490 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5493 rather than trying to put initrd way too high.
5494 Reported by: Ryan Lortie <desrt@desrt.ca>
5495
5496 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5499 improperly removed string.
5500
5501 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5504 is_disk.
5505 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5506 (open_device) Likewise.
5507 (grub_util_biosdisk_close): Likewise.
5508 Reported by: Mark Korenberg.
5509
5510 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5511
5512 * util/grub-mkconfig_lib.in: Add missing quotes.
5513
5514 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5515
5516 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5517 is NULL.
5518
5519 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Dynamically count the number of lines for the lower banner.
5522
5523 * grub-core/normal/menu_entry.c (per_term_screen): New member
5524 num_entries.
5525 (print_down): Use num_entries.
5526 (update_screen): Likewise.
5527 (grub_menu_entry_run): Set num_entries.
5528 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5529 num_entries.
5530 (grub_print_message_indented): Move real part to ...
5531 (grub_print_message_indented_real): ... here. Additional argument
5532 dry_run.
5533 (draw_border): Additional argument num_entries.
5534 (print_message): Additional argument dry_run.
5535 (print_entries): Receive menu viewer data.
5536 (grub_menu_init_page): New argment num_entries.
5537 (menu_text_set_chosen_entry): Use num_entries.
5538 (grub_menu_try_text): Likewise.
5539 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5540 All users updated.
5541 (grub_ucs4_count_lines): New function.
5542 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5543 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5544 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5545 (grub_term_border_height): Likewise.
5546 (grub_term_num_entries): Likewise.
5547
5548 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5551 Remove now unused string.
5552
5553 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5554
5555 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5556 build system.
5557 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5558
5559 (Comment): Fix typo.
5560 (Getting started): General copy-editing.
5561 (Typical Development Experience): Likewise.
5562 (Error Handling): Likewise.
5563 (Video API): Likewise.
5564
5565 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5566
5567 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5568 throughout.
5569
5570 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5573 directory.
5574
5575 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5576
5577 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5578 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5579 "development".
5580
5581 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5584 grub_strcpy since the lines aren't necessarily 0-terminated.
5585
5586 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5589 root on legacy.
5590
5591 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5594 (GRUB_MOD_INIT): DEVICE isn't optional.
5595
5596 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5599 word on new line if it's too long anyway. Fixes a hang.
5600
5601 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5604 const.
5605 * util/grub-setup.c (main): Reuse md device name if available.
5606 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5607 not GRUB name as argument.
5608 Based on patch by: Florian Wagner <fwagner>.
5609
5610 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5613 Place mbi on low memory for better compatibility.
5614
5615 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5618
5619 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5620 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5621
5622 * autogen.sh: Ensure that collate and ctype locale is C.
5623 * conf/Makefile.common: Likewise.
5624
5625 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * grub-core/normal/menu.c: Add missing include.
5628
5629 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5632
5633 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5634
5635 * util/grub-mkconfig.in: Ignore emacsen backup.
5636
5637 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5640 on open.
5641 (grub_util_biosdisk_close): Likewise.
5642
5643 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5646 const attribute and use grub_isdigit.
5647
5648 2011-04-06 Andrey <dev_null@ukr.net>
5649
5650 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5651 gcc warning.
5652
5653 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5656 useful grub_dprintf's.
5657
5658 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5661
5662 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5665
5666 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 Output errors if theme loading failed.
5669
5670 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5671 grub_gfxterm_fullscreen on error paths to ...
5672 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5673 theme loading error.
5674
5675 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5678 space for older compilers.
5679 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5680
5681 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5684 and report them as not RAID members since they are useless for GRUB.
5685 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5686
5687 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 Increase LVM implementation robustness in order not to crash on
5690 configurations like pvmove. Previously code assumed that in some places
5691 only lvs or only pvs are used whereas it seems that they are used
5692 interchangeably.
5693
5694 * grub-core/disk/lvm.c (read_node): New function.
5695 (read_lv): Use read_node.
5696 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5697 Match volumes only at the end when all lvs are found. Take both
5698 pvs (first) and lvs (second) into account.
5699 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5700 mirror_* into node_*. All users updated.
5701 (grub_lvm_stripe): Merge this ...
5702 (grub_lvm_mirror): ... and this ...
5703 (grub_lvm_node): ... into this. All users updated.
5704
5705 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5708 of function to allow further scanning for LVMs.
5709
5710 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5713 on failed seek as it breaks open fd reusage.
5714
5715 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * util/grub-install.in: Add a recommendation to use --recheck before
5718 reporting bugs.
5719
5720 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5723 are obtained.
5724
5725 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 GRUB developper manual based on existing Internals section and
5728 contributions by the various authors with active copyright assignment.
5729
5730 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5731 * docs/font_char_metrics.png: New file.
5732 * docs/font_char_metrics.txt: Likewise.
5733 * docs/grub-dev.texi: Likewise.
5734 * docs/grub.texi (Internals): Move from here ...
5735 * docs/grub-dev.texi: ... here.
5736
5737 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5738
5739 Store the loopback device as data on loopback grub_disk structures,
5740 rather than the file it points to. This fixes use of freed memory
5741 if an existing loopback device is replaced.
5742
5743 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5744 disk->data, not dev->file.
5745 (grub_loopback_read): Adjust file assignment to match.
5746 Fixes Ubuntu bug #742967.
5747
5748 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5749
5750 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5751 when replacing an existing device.
5752
5753 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5756 memory corruptions.
5757
5758 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5759 unsigned.
5760 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5761 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5762 (grub_jfs_read_inode): Likewise.
5763 (grub_jfs_opendir): Likewise. Remove now useless casts.
5764 (grub_jfs_getent): Likewise.
5765 Make ino a grub_uint32_t rather than int.
5766 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5767 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5768 division and module with bit operations.
5769 (grub_jfs_find_file): Make ino a grub_uint32_t.
5770 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5771
5772 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5775 warning. (This was in fact always initialised before use, but GCC
5776 wasn't smart enough to prove that.)
5777 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5778
5779 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5782 stack alignment.
5783 (efi_wrap_1): Likewise.
5784 (efi_wrap_2): Likewise.
5785 (efi_wrap_3): Likewise.
5786 (efi_wrap_4): Likewise.
5787 (efi_wrap_5): Likewise.
5788 (efi_wrap_6): Likewise.
5789 (efi_wrap_10): Likewise.
5790 Based on information by: Red Hat/Peter Jones.
5791
5792 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5793
5794 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5795 set-but-not-used variable.
5796
5797 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5798
5799 * docs/grub.texi (Simple configuration): Be more explicit about
5800 GRUB_DEFAULT, and add an example.
5801 Reported by: Leslie Rhorer.
5802
5803 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5804
5805 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5806 shell".
5807
5808 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5809
5810 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5811 * util/grub.d/20_linux_xen.in: Likewise.
5812
5813 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * util/grub.d/10_linux.in: Try alternative config filenames where
5816 we parse config file.
5817 * util/grub.d/20_linux_xen.in: Likewise.
5818
5819 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5820
5821 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5822 * util/grub.d/20_linux_xen.in: Likewise.
5823
5824 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * grub-core/disk/raid.c (insert_array): Add few potentially
5827 useful grub_util_info.
5828 (grub_raid_register): Likewise.
5829
5830 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5833 Preserve partition number in mdadm code path.
5834
5835 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5838 few potentially useful grub_util_info.
5839
5840 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5843
5844 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5845
5846 * docs/grub.texi (default): Use @example rather than nested
5847 itemized lists to avoid breaking gendocs.
5848
5849 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5850
5851 * docs/grub.texi (Future): Update.
5852
5853 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5854
5855 * docs/grub.texi (Environment): New chapter.
5856 (Changes from GRUB Legacy): Link to "Environment block" section for
5857 details of limitations.
5858 (Simple configuration): Likewise. Link to documentation of gfxmode
5859 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5860 respectively.
5861 (Shell-like scripting): Note that normal variables are stored in the
5862 environment.
5863 (gettext): Link to documentation of lang and locale_dir.
5864 (list_env): New section.
5865 (load_env): New section.
5866 (save_env): New section.
5867
5868 (Reporting bugs): Fix typo.
5869
5870 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5873 the example.
5874
5875 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/term/at_keyboard.c (set_scancodes)
5878 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5879
5880 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5881
5882 * docs/grub.texi (Menu-specific commands): Remove some semantics
5883 that were true in GRUB Legacy but not in GRUB 2.
5884 (submenu): New section.
5885 (false): New section.
5886 (read): New section.
5887 (true): New section.
5888
5889 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5890
5891 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5892
5893 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * docs/grub.texi (Simple configuration): Explain some of the
5896 current limitations of grub-mkconfig.
5897 Reported by: Leslie Rhorer.
5898
5899 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Old macs search for boot.efi rather than for bootia32.efi.
5902
5903 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5904 * util/grub-mkrescue.in: Likewise.
5905 Suggested by: Peter Jones.
5906
5907 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5910
5911 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5914 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5915 (grub_lvm_mirror): New struct.
5916 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5917 (grub_lvm_iterate): Iterate only visible volumes.
5918 (grub_lvm_read): Factor out to ..
5919 (read_lv): ... this. Support mirrors.
5920 (grub_lvm_read): New wrapper function.
5921 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5922 stripped or mirrored.
5923
5924 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5927
5928 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5929
5930 * docs/grub.texi (loopback): New section.
5931
5932 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5933
5934 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5935 removed -p option.
5936
5937 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5938
5939 * docs/grub.texi (BIOS installation): New section, partly based on
5940 previous text in other sections.
5941 (Installing GRUB using grub-install): Replace BIOS discussion with a
5942 cross-reference.
5943 (Images): Likewise.
5944
5945 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5948 [HAVE_DIOCGDINFO]: Add safety checks.
5949
5950 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5953 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5954
5955 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5958 real_sb->size is zero (e.g. RAID-0), get the disk size from
5959 real_sb->data_size instead.
5960 Fixes Ubuntu bug #743136.
5961
5962 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5965 printf clauses for printing size and start.
5966
5967 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5970 Reported and tested by: Timothy Nikkel.
5971
5972 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5975 (dirty_region_add_real): ... this.
5976 (dirty_region_add): Don't discard margin refresh when performing
5977 scheduled repaint.
5978
5979 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/lib/relocator.c (allocate_regstart)
5982 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5983 terminals are capabple of malloc-free operation.
5984 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5985 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5986
5987 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5988
5989 * util/grub-setup.c: Copy the partition table zone if floppy support
5990 is disabled, even if no partition table is found.
5991
5992 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5993 during POST if an invalid partition table is contained in the PBR
5994 of the active partition when GRUB is installed to a partition.
5995
5996 2011-03-28 Colin Watson <cjwatson@debian.org>
5997
5998 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5999 comment.
6000
6001 2011-03-28 Colin Watson <cjwatson@debian.org>
6002
6003 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6004 to be specific about what kind of RAID device we're scanning for.
6005
6006 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6007
6008 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6009 return freed string.
6010
6011 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6014
6015 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Use libgeom on FreeBSD to detect partitions.
6018
6019 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6020 (grub-mkrelpath): Likewise.
6021 (grub-script-check): Likewise.
6022 (grub-editenv): Likewise.
6023 (grub-mkpasswd-pbkdf2): Likewise.
6024 (grub-fstest): Likewise.
6025 (grub-mkfont): Likewise.
6026 (grub-mkdevicemap): Likewise.
6027 (grub-probe): Likewise.
6028 (grub-setup): Likewise.
6029 (grub-ofpathname): Likewise.
6030 (grub-mklayout): Likewise.
6031 (example_unit_test): Likewise.
6032 (grub-menulst2cfg): Likewise.
6033 * grub-core/Makefile.core.def (grub-emu): Likewise.
6034 (grub-emu-lite): Likewise.
6035 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6036 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6037 define HAVE_DIOCGDINFO.
6038 (follow_geom_up) [FreeBSD]: New function.
6039 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6040 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6041 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6042 unconditionally of HAVE_DIOCGDINFO.
6043
6044 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Fix FreeBSD compilation problem.
6047
6048 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6049 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6050
6051 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6052
6053 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6054 Switch back to page zero before loading a kernel, since some kernel
6055 drivers expect that.
6056 Thanks to: Felix Kuehling.
6057
6058 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6061 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6062 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6063
6064 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6067 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6068
6069 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6072 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6073 malloc is disabled.
6074
6075 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6078 for modules headers when counting the needed allocation size.
6079
6080 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6083 if no ASCII character is found to prevent crash.
6084
6085 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6086
6087 * grub-core/video/bitmap.c (match_extension): Ignore case.
6088
6089 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6092
6093 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/script/parser.y: Declare "time" as valid argument.
6096
6097 2011-03-23 Peter Jones <pjones@redhat.com>
6098
6099 Fix incorrect assert failure reporting.
6100
6101 * grub-core/tests/example_functional_test.c (example_test): Add
6102 a failure comment.
6103 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6104 (failure_start): ...this. Check that malloc succeeded.
6105 Don't call xvasprintf. Return failure struct.
6106 (failure_append_vtext): New function.
6107 (failure_append_text): Likewise.
6108 (add_failure): Likewise.
6109 (grub_test_assert_helper): Likewise.
6110 * include/grub/test.h (grub_test_assert_helper): New declaration.
6111 (grub_test_assert): Macro rewritten.
6112
6113 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6116
6117 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6120
6121 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6124 into GRUB-style one.
6125
6126 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6129 error and not grub_errno.
6130 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6131
6132 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6135 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6136
6137 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/efiemu/i386/pc/cfgtables.c
6140 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6141 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6142 (grub_xnu_unlock): Likewise.
6143 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6144
6145 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6148 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6149 * grub-core/commands/hashsum.c (aliases): Likewise.
6150 * grub-core/commands/setpci.c (pci_registers): Likewise.
6151 * grub-core/disk/usbms.c (attach_hook): Likewise.
6152 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6153 (zio_checksum_table): Likewise.
6154 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6155 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6156 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6157 * grub-core/lib/relocator.c (leftovers): Likewise.
6158 (extra_blocks): Likewise.
6159 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6160 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6161 (modules_last): Likewise.
6162 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6163 (devices): Likewise.
6164 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6165 (modules_last): Likewise.
6166 * grub-core/normal/auth.c (users): Likewise.
6167 * grub-core/normal/context.c (initial_menu): Likewise.
6168 (current_menu): Likewise.
6169 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6170 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6171 (grub_serial_terminfo_input_template): Likewise.
6172 (grub_serial_terminfo_output_template): Likewise.
6173 (grub_serial_terminfo_input): Likewise.
6174 (grub_serial_terminfo_output): Likewise.
6175 (registered): Likewise.
6176 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6177
6178 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6181 grub_video_mode_type_t.
6182 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6183 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6184 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6185
6186 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * util/grub-install.in: Correct the x86-64 name as x86_64.
6189
6190 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6191
6192 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6193 initial chunk read from the kernel always includes GRUB's multiboot
6194 header, which is now outside the first sector.
6195
6196 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6197
6198 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6199 cached mmap_size, so that this works correctly when called multiple
6200 times.
6201 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6202
6203 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6204
6205 * docs/grub.texi (Simple configuration): Tidy up formatting.
6206
6207 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6208
6209 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6210 Set-but-not-used variable removed.
6211
6212 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Workaround yet another IEEE1275 bug.
6215
6216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6217 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6218 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6219 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6220 is set.
6221 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6222 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6223
6224 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6227 error.
6228
6229 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6232 empty, since in that case we can only generate either nothing or a
6233 syntactically invalid configuration file.
6234 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6235
6236 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6237
6238 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6239 (Making a GRUB bootable CD-ROM): Likewise.
6240 (Invoking grub-mkrescue): New section.
6241 Reported by: Yann Dirson. Fixes Debian bug #612585.
6242
6243 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6244
6245 * util/grub-install.in: Remove unnecessary brackets from tr
6246 arguments.
6247 * util/grub.d/10_hurd.in: Likewise.
6248 * util/grub.d/10_kfreebsd.in: Likewise.
6249 * util/grub.d/10_linux.in: Likewise.
6250 * util/grub.d/20_linux_xen.in: Likewise.
6251 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6252
6253 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6254
6255 * include/grub/file.h (not_easly_seekable): Rename to ...
6256 (not_easily_seekable): ... this. Update all users.
6257
6258 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6259
6260 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6261 grub-mkrescue.
6262
6263 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * util/grub-mkimage.c (generate_image): Refuse to create the images
6266 bigger than the actual flash (512K) in Loongson machines. 512K is also
6267 the biggest chip supported by them.
6268
6269 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6272
6273 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6274
6275 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6276 super_offset field.
6277
6278 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * util/grub-install.in: Ignore install device on platforms
6281 where it doesn't make sense. Always use UUIDs except on pc, efi and
6282 sparc64.
6283 Reported by: Daniel Kahn Gillmor.
6284
6285 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6288
6289 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6292 (iterate_real): Don't rely on partition being non-NULL.
6293
6294 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6297 supported platforms. Put a compile time assert for this rather than
6298 generate a warning with 32-bit shift.
6299
6300 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6303 logical expression more readable.
6304
6305 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6308 even if some elements have a name.
6309 Reported by: Alexander GQ Gerasiov.
6310
6311 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6312
6313 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6314 path unreadable if `grub-probe -t abstraction' fails, for example if
6315 memberlist fails on an LVM volume group.
6316 Reported by: Darius Jahandarie.
6317
6318 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6319
6320 * docs/grub.texi (Simple configuration): Document
6321 GRUB_PRELOAD_MODULES.
6322
6323 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6324
6325 * .bzrignore: Remove nonexistent grub-pbkdf2.
6326
6327 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * configure.ac: Bump version to 1.99~rc1.
6330
6331 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6334 for safety.
6335
6336 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6339 module.
6340
6341 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6344
6345 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6348 diskdevid.
6349
6350 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 Fix compilation on cygwin.
6353
6354 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6355 -R .drectve on cygwin.
6356 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6357 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6358 (COND_CYGWIN): New condition.
6359 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6360 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6361 not @TARGET_OBJ2ELF@.
6362 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6363 type to determine whether aux is to be used.
6364
6365 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6368 realpath'ed device string.
6369 Handle floppy (somewhat).
6370 Issue error in unknown case rather than garbage.
6371 Reported by: Axel Beckert.
6372
6373 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * util/grub.d/00_header.in (load_video): Handle the case when no video
6376 drivers available.
6377 Thanks to: Axel Beckert.
6378
6379 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6382 variable. Fixes problem on big endian platforms.
6383
6384 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6387 It doesn't work well there.
6388
6389 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6392 warning.
6393 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6394 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6395 counter.
6396
6397 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Use alias->path rather than buggy "canon".
6400
6401 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6402 (ofdisk_hash_add): New argument curcan. All users updated.
6403
6404 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6405
6406 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6407
6408 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6411 loadmask before doing any calculations. Use correct type for offset.
6412 (grub_linux_load64): Likewise.
6413
6414 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6417 with NULL.
6418 (console_grub_equivalences_unshift): Likewise.
6419 Reported by: Daniel Dehennin.
6420
6421 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6424 (set_env_limn_ro): Likewise.
6425 (GRUB_MOD_INIT): Likewise.
6426 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6427 ARRAY_SIZE while on it.
6428 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6429 * grub-core/normal/context.c (grub_env_export): Move from here ...
6430 * grub-core/kern/env.c (grub_env_export): ... here.
6431 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6432 prefix.
6433 * grub-core/kern/main.c (grub_main): Export root and prefix.
6434 * include/grub/env.h (grub_env_export): Export.
6435 Reported by: Seth Goldberg.
6436
6437 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6440 Take into account space used by ELF sections and multiboot palette.
6441 Reported by: Grégoire Sutre.
6442
6443 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * BUGS: New file.
6446
6447 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 Pass more appropriate video id to Linux.
6450
6451 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6452 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6453 fill have_vga.
6454 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6455 shift params->lfb_size.
6456 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6457
6458 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6461
6462 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6465 separator and pass bootpath/devid even if only one of them is available.
6466 Reported by: Seth Goldberg.
6467
6468 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6471 implementations bug on them.
6472
6473 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6474 memory.
6475 (filter_memory_map): Likewise.
6476
6477 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6480 Reported by: nebuchadnezzar.
6481
6482 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6485 Reported by: nebuchadnezzar.
6486
6487 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Submenu default support.
6490
6491 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6492 auto_boot. All users updated.
6493 Declared static.
6494 Handle chosen and default with submenus.
6495 (grub_menu_execute_with_fallback): Declared static.
6496 Don't notify failure if autobooted. Upper level does it.
6497 (menuentry_eq): New function.
6498 (get_entry_number): Use menuentry_eq.
6499 (show_menu): New parameter "autobooted". All users updated.
6500 (grub_show_menu): Likewise.
6501 * include/grub/normal.h (grub_show_menu): Likewise.
6502 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6503 (grub_menu_execute_with_fallback): Likewise.
6504
6505 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * util/grub-mklayout.c (usage): Update help text.
6508
6509 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6512
6513 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * util/grub-menulst2cfg.c (main): Trim the line.
6516
6517 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6520 (grub_machine_init): Don't check amount of low memory as reportedly
6521 INT 12h can be broken and if low memory is too low we wouldn't have
6522 gotten into grub_machine_init anyway.
6523
6524 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6527 (grub_machine_mmap_iterate): Take low memory into account
6528
6529 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6532 badfs.
6533 Reported by: TiCPU.
6534
6535 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6538 members errors.
6539
6540 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6541
6542 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6543 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6544
6545 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6546
6547 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6548 openbsd and netbsd types being in part_bsd module.
6549
6550 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6553 (_FILE_OFFSET_BITS): Likewise.
6554 Reported by: Seth Goldberg.
6555
6556 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6557
6558 * configure.ac: Check for libdevmapper header.
6559
6560 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6563 avoid aliasing.
6564 (fzap_lookup): Likewise.
6565 (dnode_get): Likewise.
6566 (make_mdn): Likewise.
6567 (zfs_mount): Likewise.
6568 (fzap_iterate): Use temporary pointer to avoid aliasing.
6569 (grub_zfs_read): Likewise.
6570 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6571 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6572 pointers to avoid aliasing.
6573 (grub_cmd_xnu_kernel64): Likewise.
6574 (grub_xnu_load_driver): Likewise.
6575
6576 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6579 aliasing warning.
6580 (grub_cmd_terminal_output): Likewise.
6581 Reported and tested by: Grégoire Sutre.
6582
6583 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6586 warning.
6587 Reported and tested by: Grégoire Sutre.
6588
6589 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * configure.ac: Do CPU substitution even if it's specified explicitly.
6592 Reported and tested by: Alain Greppin.
6593
6594 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6597 Reported and tested by: Alain Greppin.
6598
6599 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Satisfy some bison versions need for inttypes.h.
6602
6603 * grub-core/lib/posix_wrap/inttypes.h: New file.
6604 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6605 (int16_t): Likewise.
6606 (int32_t): Likewise.
6607 (int64_t): Likewise.
6608 Reported and tested by: Alain Greppin.
6609
6610 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6613 Silence spurious warning.
6614 Reported and tested by: Alain Greppin.
6615
6616 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6617
6618 * docs/grub.texi (Support automatic decompression): Update with xz
6619 decompression support.
6620
6621 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6622
6623 Improve loaders' kernel command line handling.
6624
6625 * grub-core/lib/cmdline.c: New file.
6626 * include/grub/lib/cmdline.h: Likewise.
6627 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6628 grub_create_loader_cmdline to create kernel command line.
6629 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6630 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6631 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6632 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6633 (linux): Add lib/cmdline.c on common.
6634
6635 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6638 inopos might be unaligned.
6639
6640 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6643 endian transformations.
6644 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6645 Based on report by: Doug Nazar.
6646
6647 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
6648
6649 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6650 array->members[i].start_sector.
6651 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6652
6653 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6656 Reported and tested by: Grégoire Sutre.
6657
6658 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6659
6660 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6661 avoid causing test failures by clearing the screen.
6662
6663 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6664
6665 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6666 Fix prefix check to handle the case where dir ends with a slash
6667 (most significantly, "/" itself).
6668 Reported by: Michael Vogt.
6669
6670 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 Run terminfo_cls on initing terminfo output to clear the screen and
6673 move the cursor to (0,0).
6674
6675 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6676 Call grub_terminfo_output_init.
6677 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6678 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6679 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6680
6681 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6684 only when needed.
6685
6686 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6689 CTRL.
6690
6691 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 The E820 type 5 is BADRAM, not EXEC_CODE.
6694
6695 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6696 (GRUB_E820_BADRAM): New define.
6697 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6698 into reserved. Propagate BADRAM.
6699 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6700 (GRUB_E820_BADRAM): New define.
6701
6702 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6705 Ignore the memory post-4G.
6706 (grub_relocator_firmware_alloc_region): Additional debug statement.
6707
6708 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6711 names.
6712 Reported by: David Pravec.
6713
6714 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6717 BIOSes.
6718
6719 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6722 Prevent overflow.
6723 (grub_reed_solomon_recover): Likewise.
6724
6725 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6728
6729 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6732 variable.
6733
6734 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
6735
6736 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6737 descriptions of extract_legacy_entries_source and
6738 extract_legacy_entries_configfile.
6739 Reported by: Seung Soo, Ha.
6740
6741 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
6742
6743 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6744 on devices that do not implement function 0.
6745
6746 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6747
6748 * grub-core/fs/hfsplus.c: Make parent unsigned.
6749 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6750 overflows.
6751 (grub_hfsplus_cmp_extkey): Likewise
6752
6753 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * util/grub-install.in: Correctly use bootloader_id and not
6756 GRUB_DISTRIBUTOR on efibootmgr line.
6757
6758 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6761
6762 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
6763
6764 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6765 Xen and reorder menu item wording to make it clearer that this entry
6766 will launch Xen. Print separate messages when loading Xen and
6767 Linux.
6768
6769 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6772 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6773 loop in case of incorrect amiga partmap.
6774
6775 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6778 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6779 Reported by:EHeM.
6780
6781 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6784 spurious warning.
6785 Reported by: crocket
6786
6787 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6790 Preload EFIemu.
6791 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6792
6793 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6796 is loaded
6797 (grub_cmd_xnu_kextdir): Likewise.
6798 (grub_cmd_xnu_splash): Likewise.
6799
6800 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 Avoid using Reed-Solomon with 0 redundancy.
6803
6804 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6805 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6806 or 0 redundancy.
6807 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6808 (grub_reed_solomon_recover): Likewise.
6809
6810 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 Don't use disk subsystem in freebsd_boot.
6813
6814 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6815 (freebsd_biosdev): Likewise.
6816 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6817 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6818
6819 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 Handling of files of unknown size is currently limited. They can't be
6822 used e.g. for initrd or modules. Moreover gzip handling of not
6823 easily seekable files is buggy. Disable unknown file size for now. May
6824 be inefficient but works.
6825
6826 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6827 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6828
6829 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6830
6831 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6832 floppy probe.
6833
6834 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6835
6836 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6837
6838 2010-12-25 Shea Levy <shlevy>
6839
6840 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6841
6842 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6845 Windows Server 2008.
6846 Reported by: Devin Giddings.
6847
6848 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6851 writing an error message because of async power management.
6852 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6853 (grub_reboot): Likewise.
6854
6855 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6856
6857 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6858 keep unit tests from failing when they shouldn't.
6859
6860 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6861
6862 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6863 previous patch increased the size of the RS code by 20 bytes (at
6864 least with gcc-4.4), so increase this by 20 bytes to match.
6865 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6866
6867 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6868
6869 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6870 scratch area. Make sure to initialise chosen in standalone mode as
6871 well as non-standalone.
6872 Reported by: Robert Hooker and Andy Whitcroft.
6873 Tested by: Andy Whitcroft.
6874
6875 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6876
6877 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6878 constructing a new unescaped string and passing it to grub_xputs in
6879 one go, rather than passing characters to grub_printf one at a time.
6880
6881 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6884 initialising utf16.
6885
6886 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6887
6888 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6889 comment. Add an extra layer of quotation, requiring the output of
6890 this function to be used in a printf format string.
6891 (gettext_printf): New function.
6892 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6893 Extract translatable strings from here-documents and use a temporary
6894 variable instead, so that xgettext can find them.
6895 * util/grub.d/10_kfreebsd.in: Likewise.
6896 * util/grub.d/10_linux.in: Likewise.
6897 * util/grub.d/20_linux_xen.in: Likewise.
6898
6899 * po/grub.d.sed: New file.
6900 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6901 arguments. Set c-format flags on all strings extracted from
6902 util/grub.d/ (xgettext refuses to include these itself for strings
6903 it extracted from a shell file, but these really are c-format).
6904
6905 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6908 Avoid next pointing to nowhere.
6909
6910 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6913 rather than assuming than rootblock is exactly in the middle.
6914 (grub_affs_label): Likewise.
6915
6916 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6919 reserved_first_sector to 0.
6920 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6921 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6922 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6923
6924 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 Fix handling of UTF-16 UDF labels.
6927
6928 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6929 (read_string): .. here.
6930 (grub_udf_label): Use read_string.
6931
6932 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6933
6934 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6935 editor under argument scope.
6936 Reported by: Jordan Uggla
6937
6938 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6941
6942 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
6943
6944 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6945 line, and other keys scroll an entire page (previous handling was
6946 for \r and \n to scroll a page and other keys to scroll two lines).
6947
6948 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6951 Set ptrdest to correct get_physical_target_address rather than
6952 incorrect get_virtual_current_address.
6953
6954 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6955
6956 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6957 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6958
6959 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6960
6961 * .bzrignore: Ignore grub-core/rs_decoder.S.
6962
6963 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6964
6965 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6966 .mo/.mo.gz opening sequence to ...
6967 (grub_mofile_open_lang): ... here.
6968 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6969 * util/grub.d/00_header.in (grub_lang): Include country part of
6970 locale.
6971 Reported by: Mario Limonciello.
6972
6973 2010-12-09 Robert Millan <rmh@gnu.org>
6974
6975 * NEWS: Document addition of ZFS support.
6976
6977 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
6978
6979 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6980 rather than `/ 2', as the latter requires -Wa,--divide which would
6981 require bumping our minimum binutils version.
6982
6983 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6984
6985 * util/grub-script-check.c (main): Print script line number on
6986 error.
6987
6988 2010-12-01 Robert Millan <rmh@gnu.org>
6989
6990 * grub-core/fs/zfs/zfs.c: New file.
6991 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6992 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6993 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6994 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6995
6996 * include/grub/zfs/dmu.h: Likewise.
6997 * include/grub/zfs/dmu_objset.h: Likewise.
6998 * include/grub/zfs/dnode.h: Likewise.
6999 * include/grub/zfs/dsl_dataset.h: Likewise.
7000 * include/grub/zfs/dsl_dir.h: Likewise.
7001 * include/grub/zfs/sa_impl.h: Likewise.
7002 * include/grub/zfs/spa.h: Likewise.
7003 * include/grub/zfs/uberblock_impl.h: Likewise.
7004 * include/grub/zfs/vdev_impl.h: Likewise.
7005 * include/grub/zfs/zap_impl.h: Likewise.
7006 * include/grub/zfs/zap_leaf.h: Likewise.
7007 * include/grub/zfs/zfs.h: Likewise.
7008 * include/grub/zfs/zfs_acl.h: Likewise.
7009 * include/grub/zfs/zfs_znode.h: Likewise.
7010 * include/grub/zfs/zil.h: Likewise.
7011 * include/grub/zfs/zio.h: Likewise.
7012 * include/grub/zfs/zio_checksum.h: Likewise.
7013
7014 * Makefile.util.def: Build ZFS into libgrubmods.
7015 * grub-core/Makefile.core.def: Build zfs.mod.
7016
7017 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7018
7019 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7020 variable.
7021 * grub-core/commands/wildcard.c (match_files): Likewise.
7022
7023 2010-11-30 Robert Millan <rmh@gnu.org>
7024
7025 * grub-core/loader/i386/bsd.c
7026 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7027 whether kernel is loaded using grub_loader_is_loaded(), rather
7028 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7029 certain error conditions.
7030
7031 2010-11-30 Robert Millan <rmh@gnu.org>
7032
7033 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7034 (grub_cmd_echo): Call grub_refresh() after printing a message.
7035
7036 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Avoid using tricks for initialising endian variables.
7039
7040 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7041 Make const.
7042 (GRUB_MOD_INIT): Don't byte-swap.
7043 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7044 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7045 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7046 (grub_swap_bytes32_compile_time): Likewise.
7047 (grub_cpu_to_le32_compile_time): Likewise.
7048 (grub_cpu_to_le16_compile_time): Likewise.
7049
7050 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * util/grub-setup.c (setup): Stop recommending --force. People who
7053 understand the dangers of blocklists are able to find this option
7054 anyway and the ones who don't shouldn't use it anyway.
7055
7056 2010-11-26 Robert Millan <rmh@gnu.org>
7057
7058 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7059 Update all users.
7060
7061 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7062
7063 Fix LVM-on-RAID probing.
7064
7065 * util/grub-probe.c (probe): Remember which disk was detected as
7066 RAID (perhaps an LVM physical volume). Use that disk's raidname
7067 rather than that of the top-level disk.
7068
7069 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7070
7071 Fix cmdline argument quotes for setparams command of menuentry
7072 definitions.
7073
7074 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7075 quotes for arguments.
7076 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7077 grub_strchrsub function instead.
7078
7079 * include/grub/misc.h (grub_strchrsub): New function.
7080
7081 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7082
7083 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7084 effort by skipping "." and ".." entries up-front.
7085 Suggested by: Michael Lazarev.
7086
7087 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7088
7089 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7090 ldflags to ldadd, to fix link line ordering.
7091 (none_decompress): Likewise.
7092
7093 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7094
7095 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7096 platforms.
7097 (grub-emu-lite): Remove kern/emu/cache.S.
7098
7099 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7100
7101 * util/deviceiter.c (compare_devices): If the by-id link for a
7102 device couldn't be resolved, fall back to sorting by the by-id link
7103 rather than segfaulting.
7104 Reported and tested by: Daniel Mierswa.
7105
7106 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7107
7108 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7109 ldflags, to fix link line ordering.
7110
7111 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7112
7113 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7114 linkers are picky about this.
7115
7116 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7117
7118 * grub-core/Makefile.am (command.lst): Adjust sed expression
7119 ordering so that extended and priority commands aren't treated as
7120 ordinary commands.
7121
7122 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7123
7124 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7125 Remove byte-swapping function calls, which are not valid in
7126 structure initialisers.
7127 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7128 non-const.
7129 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7130 grub_gpt_partition_type_bios_boot.
7131
7132 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7133
7134 Fix test program build on GNU/kFreeBSD.
7135
7136 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7137 $(LIBNVPAIR)' library dependencies.
7138
7139 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7140
7141 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7142
7143 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7144
7145 * util/grub-install.in: Remove excessive quoting that broke
7146 installations to RAID devices.
7147
7148 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7151 bootloader version instead of 0.
7152
7153 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7156 warning.
7157
7158 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7161 retrieve the metadat sector if size isn't known.
7162 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7163
7164 2010-11-18 Robert Millan <rmh@gnu.org>
7165
7166 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7167 with grub_memcmp().
7168
7169 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7172 arrow.
7173 Reported by: Jordan Uggla.
7174
7175 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Make better UTF compliant.
7178
7179 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7180 sequences as incorrect.
7181 (grub_is_valid_utf8): Likewise.
7182 (grub_utf8_to_ucs4): Likewise.
7183 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7184 (grub_ucs4_to_utf8_alloc): Likewise.
7185 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7186
7187 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Make legacy_source behave like source.
7190
7191 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7192 grub_show_menu.
7193 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7194
7195 2010-11-16 Colin Watson <cjwatson@debian.org>
7196
7197 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7198 (-Wunused implies -Wunused-parameter, but not vice versa).
7199
7200 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7201
7202 * configure.ac: Make error messages less confusing by testing for
7203 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7204 accepted, but produces a diagnostic if something else is wrong).
7205
7206 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7209 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7210 (now unused).
7211 (grub_keyboard_controller_init)
7212 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7213 read the initial state since controller isn't inited yet.
7214
7215 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7218 allocate_regbeg may need to create new chunk header.
7219
7220 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Fix quoting in legacy parser.
7223
7224 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7225 single quotes.
7226 (grub_legacy_parse): Likewise.
7227 Reported by: Jordan Uggla.
7228 Tested by: Jordan Uggla.
7229
7230 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Don't add -lgcc on i386 and x86_64.
7233
7234 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7235 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7236 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7237
7238 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * configure.ac: Add -Wno-trampolines when supported.
7241
7242 2010-11-14 Modestas Vainius <modax@debian.org>
7243
7244 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7245 fakeraid.
7246
7247 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7248
7249 Add generic logical block size support for UDF.
7250
7251 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7252 (GRUB_UDF_BLKSZ): Removed.
7253 (struct grub_udf_data): New field "lbshift" to hold the logical block
7254 size of the file system in log2 format. All users updated.
7255 (sblocklist): Change type to unsigned.
7256 (grub_udf_mount): Change type of "sblklist" to unsigned.
7257 Move AVDP search before VRS recognition, because the latter requires
7258 knowledge of the logical block size, which is detected during the
7259 former.
7260 Detect and validate logical block size during AVDP search, adding
7261 support for block sizes 512, 1024 and 4096.
7262 Make VRS recognition independent of block size.
7263
7264 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7265
7266 Properly handle deleted files on UDF.
7267
7268 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7269 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7270 set.
7271
7272 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7273
7274 Support reading files larger than 2 GiB.
7275
7276 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7277 "offset" to grub_off_t.
7278 (grub_udf_read_file): Likewise for parameter "pos".
7279
7280 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7283 unavailable.
7284 (Simple configuration): Refer to Changes from GRUB Legacy about
7285 save_env availability.
7286
7287 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * util/grub-install.in: Ignore empty partition table detection
7290 instead of trying to include part_ module.
7291
7292 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7295 LVM on RAID support.
7296
7297 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 Properly define WORDS_BIGENDIAN in wrapped environments.
7300
7301 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7302 definition.
7303 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7304
7305 Reported by: Manoel Rebelo Abranches.
7306 Tested by: Manoel Rebelo Abranches.
7307
7308 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * util/grub-mkconfig.in: Fix quoting.
7311
7312 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Support big ext2 files.
7315
7316 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7317 (grub_ext2_read_block): Support triple indirect blocks.
7318 (grub_ext2_read_file): Use 64-bit types and read size_high.
7319 (grub_ext2_open): Read size_high.
7320 Reported by: Ximin Luo.
7321 Tested by: Manoel Rebelo Abranches.
7322
7323 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * util/grub-install.in: Handle filenames containing spaces.
7326 Reported by: Jordan Uggla.
7327 Tested by: Jordan Uggla.
7328
7329 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * util/grub-mkconfig.in (grub_script_check): New variable.
7332 Use grub_script_check instead of grub-script-check.
7333 Reported by: Barry Jackson.
7334
7335 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * docs/grub.texi (menu): Correct the order.
7338 Reported by: D. Hugh Redelmeier.
7339
7340 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7343 jump.
7344
7345 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7346
7347 * include/grub/elfload.h (grub_elf32_size): New parameter.
7348 All users updated.
7349 Return maximum segments alignment.
7350 (grub_elf64_size): Likewise.
7351 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7352 Return maximum segments alignment.
7353 (grub_elf64_size): Likewise.
7354 * grub-core/loader/powerpc/ieee1275/linux.c:
7355 (grub_linux_claimmap_iterate): New function. Uses the
7356 "available" property in the "memory" node for memory allocation
7357 for kernel in the PowerPC loader.
7358 (grub_linux_load32): Correctly find linux entry point offset.
7359 (grub_linux_load64): Likewise.
7360
7361 2010-11-07 Robert Millan <rmh@gnu.org>
7362
7363 On mips-yeeloong, build with -march=loongson2f when this flag is
7364 available (GCC >= 4.4).
7365 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7366 `-march=mips3'.
7367 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7368 or otherwise add -march=mips3.
7369
7370 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7371
7372 Suppress shell expansion on echo '*' and echo "*" like cases.
7373 Reported by: Jordan Uggla.
7374
7375 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7376 string arguments before shell expansion.
7377 * tests/grub_cmd_echo.in: New testcases.
7378
7379 2010-11-07 Robert Millan <rmh@gnu.org>
7380
7381 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7382 transition.
7383
7384 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/emu/hostdisk.c
7387 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7388
7389 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7392 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7393 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7394
7395 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7398
7399 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * util/grub-install.in: Replace useless recomendation to pass
7402 --modules with a recomendation to report a bug.
7403
7404 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 Properly register serial terminfo.
7407 Reported by: Jordan Uggla
7408
7409 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7410 const.
7411 (grub_serial_terminfo_output_template): Likewise.
7412 (grub_cmd_serial): Register "serial" with terminfo.
7413 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7414 grub_serial_terminfo_output.
7415
7416 2010-11-05 Robert Millan <rmh@gnu.org>
7417
7418 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7419 needed).
7420
7421 2010-11-05 Robert Millan <rmh@gnu.org>
7422
7423 On Yeeloong, pass machine type information to Linux.
7424
7425 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7426 (LOONGSON_MACHTYPE): New macro, set to
7427 "machtype=lemote-yeeloong-2f-8.9inches".
7428 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7429 additional argument to Linux.
7430
7431 2010-11-04 Robert Millan <rmh@gnu.org>
7432
7433 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7434 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7435 (its SATA disks are detected as slaveless IDE master drives on
7436 kFreeBSD).
7437 Reported by Carsten Aulbert.
7438
7439 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * util/bin2h.c (main): Fix spelling error in generated output.
7442
7443 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7444
7445 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7446
7447 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7450 vga= option is supplied.
7451
7452 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7455 * util/grub.d/10_kfreebsd.in: Likewise.
7456 * util/grub.d/10_linux.in: Likewise.
7457 * util/grub.d/20_linux_xen.in: Likewise.
7458
7459 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7462 argument as an argument to no-argument option.
7463
7464 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * util/grub.d/10_linux.in: Add missing load_video with explicit
7467 GRUB_GFXPAYLOAD_LINUX.
7468
7469 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7472
7473 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7476 elements with invlid index.
7477 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7478 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7479 members.
7480 * include/grub/raid.h (grub_raid_member): New struct.
7481 (grub_raid_array): Transform devices and start_sector into usage of
7482 grub_raid_member. All users updated
7483 (allocated_devs): New member.
7484
7485 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7488 is modified
7489
7490 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7491
7492 NetBSD build fix for getline function conflict from gnulib.
7493
7494 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7495 components that depend on gnulib headers.
7496 (libgrubmods.a): Renamed from earlier libgrub.a.
7497 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7498
7499 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7502 install rather than creating a broken install.
7503
7504 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * util/grub-setup.c (argp): Remove misleading example of installing to
7507 a partition.
7508
7509 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * util/grub-setup.c (setup): Clarify the error message.
7512
7513 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7516
7517 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/kern/emu/misc.c
7520 (grub_make_system_path_relative_to_its_root)
7521 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7522
7523 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/kern/emu/misc.c
7526 (grub_make_system_path_relative_to_its_root): Revert r2882.
7527
7528 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7531 useless field head. All users updated.
7532 (free_subchunk): Correct handling of IN_REGION subchunk.
7533
7534 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7535
7536 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7537 (Supported kernels): Likewise.
7538
7539 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7540
7541 Make mktemp invocations portable.
7542
7543 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7544 exit if mktemp fails.
7545 * tests/grub_script_blockarg.in: Likewise.
7546 * tests/partmap_test.in: Likewise.
7547 * tests/util/grub-shell-tester.in: Likewise.
7548 * tests/util/grub-shell.in: Likewise.
7549 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7550 * Makefile.am: Likewise, and chain shell commands with `&&'
7551 instead of ';'.
7552 * util/grub-mkrescue.in: Use the same explicit template as above, and
7553 exit if mktemp fails.
7554
7555 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7556
7557 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7558 Linux kernel, reported by Dennis Schridde.
7559
7560 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7561
7562 * grub-core/normal/auth.c (grub_auth_check_authentication):
7563 Set-but-not-used variable removed.
7564
7565 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7568 32-bit linux protocol.
7569
7570 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7573 cursor shape for sanity.
7574
7575 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * docs/grub.texi (Installation): Document buggy BIOS install.
7578
7579 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * docs/grub.texi (Installation): Indent.
7582
7583 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * util/grub-setup.c (setup): New parameter allow_floppy.
7586 (arguments): New member allow_floppy.
7587 (argp_parser): Handle --allow-floppy.
7588 (main): Pass allow_floppy.
7589 * util/grub-install.in: New option --allow-floppy passed though to
7590 grub-setup.
7591
7592 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * util/grub-install.in: Handle partitionless disks.
7595
7596 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * util/grub-setup.c (setup): Don't clean blocklists before readability
7599 verfification.
7600
7601 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * docs/grub.texi (Installation): Document embedding zone. Remove
7604 obsolete grub-install example.
7605
7606 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7607
7608 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7609 Set-but-not-used variable ifdef'ed.
7610 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7611 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7612 variable removed.
7613 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7614 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7615 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7616 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7617 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7618 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7619 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7620 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7621 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7622 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7623 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7624 Likewise.
7625
7626 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7629 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7630 enum value.
7631
7632 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7635 synonym to _S5_. Needed for some DSDTs.
7636
7637 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 Userspace ACPI parser debugging.
7640
7641 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7642 headers and add relevant defines. Don't include standard headers.
7643 (main) [GRUB_DSDT_TEST]: New function.
7644 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7645 Don't declare functions.
7646
7647 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 Remove dead grub_efi_mm_fini.
7650
7651 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7652 (ALLOCATED_PAGES_SIZE): Likewise.
7653 (MAX_ALLOCATED_PAGES): Likewise.
7654 (allocated_pages): Likewise.
7655 (grub_efi_allocate_pages): Don't record allocated pages.
7656 (grub_efi_free_pages): Likewise.
7657 (grub_efi_mm_init): Likewise.
7658 (grub_efi_mm_fini): Removed.
7659
7660 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7663 (grub_efi_mm_init): Take into account the memory map size increase.
7664
7665 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7668 (serial_hw_put): Wait based on real time rather than port reads. Don't
7669 roken ports.
7670 * include/grub/serial.h (grub_serial_port): New field broken.
7671
7672 2010-10-16 Robert Millan <rmh@gnu.org>
7673
7674 * grub-core/kern/emu/misc.c
7675 (grub_make_system_path_relative_to_its_root): Fix premature return
7676 when processing non-root ZFS filesystems.
7677 Reported by Sergio Talens-Oliag.
7678
7679 2010-10-15 Robert Millan <rmh@gnu.org>
7680
7681 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7682 guarantee compressed ones are processed first.
7683
7684 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7687 grub_efiemu_autocore.
7688
7689 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7692 rather than 0x1b.
7693 (grub_console_getkey): Use correct jae opcode rather than ja.
7694
7695 2010-10-12 Robert Millan <rmh@gnu.org>
7696
7697 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7698 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7699 variable. All references updated.
7700
7701 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7702
7703 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Correctly distinguish mdraid flavours.
7706
7707 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7708 (insert_array): New argument raid.
7709 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7710 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7711 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7712
7713 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7716 handling of special keys.
7717
7718 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7719
7720 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7721 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
7722
7723 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7724
7725 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7726 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7727 users updated.
7728 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
7729 Use right endpoint when querying descriptor.
7730
7731 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 Clear out 0x80 color bit on EFI.
7734 Tested by: decoder
7735 Reported by: decoder and meta tech.
7736
7737 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7738 (grub_console_setcolorstate): Clear out 0x80 bit.
7739 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7740 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7741 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7742
7743 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7746 Set to "auto".
7747
7748 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7751 mo_file after freeing.
7752
7753 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7756
7757 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7760 flags.
7761
7762 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7765 usage.
7766
7767 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7770
7771 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7772 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7773 and terminfo.h when needed.
7774 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7775 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7776 (terminfo): Enable only on terminfokernel.
7777 (extcmd): Likewise.
7778 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7779 * include/grub/lib/arg.h: Likewise.
7780 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7781 incorrect usage of ->.
7782
7783 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7786 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7787
7788 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 Fix coreboot compilation.
7791
7792 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7793 Take VBE info into account even if only text is supported.
7794 (fill_vbe_info): Take into account the case when only VGA text
7795 is supported.
7796 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7797 on coreboot, multiboot and qemu.
7798
7799 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7802 debug messages.
7803 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7804
7805 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7808 parameters.
7809
7810 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7813 if they were BSD-style.
7814
7815 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/boot/i386/pc/lnxboot.S: Replace
7818 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7819 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7820
7821 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 Write embedding zone using Reed-Solomon.
7824
7825 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7826 * grub-core/Makefile.am (rs_decoder.S): New target.
7827 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7828 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7829 (multiboot): Move to RS part.
7830 (post_reed_solomon): New label.
7831 (grub_boot_drive): Move to non-RS part since it's modified in memory
7832 on boot.
7833 Include rs_decoder.S.
7834 * grub-core/lib/reed_solomon.c: New file.
7835 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7836 New definition.
7837 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7838 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7839 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7840 * include/grub/partition.h (grub_partition_map): Change prototype of
7841 embed to allow returning additional sectors.
7842 * include/grub/reed_solomon.h: New file.
7843 * util/grub-setup.c (setup): Handle Reed-Solomon.
7844
7845 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
7846
7847 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7848 i386 and x86-64 definedness tests.
7849
7850 2010-09-27 Yves Blusseau <blusseau@zetam.org>
7851
7852 Fix generation of kernel_syms.lst
7853
7854 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7855 ASM_PREFIX
7856
7857 2010-09-26 Robert Millan <rmh@gnu.org>
7858
7859 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7860
7861 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7862 the pool is an array of devices, iterate through it and return the
7863 first device that passes a stat() test (instead of blindly returning
7864 the first one).
7865
7866 2010-09-26 Robert Millan <rmh@gnu.org>
7867
7868 Build fixes for GNU/kFreeBSD.
7869
7870 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7871 to programs that require ZFS conversion.
7872 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7873 kernels that don't have FLOPPY_MAJOR.
7874
7875 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7876
7877 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7878
7879 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7880
7881 Fix grub-emu build.
7882
7883 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7884 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7885 mdraid09 and mdraid1x.
7886
7887 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
7888
7889 Re-enable grub-extras.
7890
7891 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7892 avoid confusing Automake. Run autogen only twice, once for the top
7893 level and once for grub-core. Add Makefile.util.def and
7894 Makefile.core.def from extra modules to the appropriate autogen
7895 invocations. If Makefile.common exists in an extra module, include
7896 it in both Makefile.util.am and grub-core/Makefile.core.am;
7897 similarly, include any Makefile.util.common file in Makefile.util.am
7898 and any Makefile.core.common file in grub-core/Makefile.core.am.
7899 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7900 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7901 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7902 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7903
7904 * gentpl.py (gvar_add): Turn GVARS into a set.
7905 (global_variable_initializers): Sort global variables on output.
7906 (vars_init): New function.
7907 (first_time): Likewise.
7908 (library): Ensure that non-global variable initialisations are
7909 emitted before the first time we emit code for a library block.
7910 Append to variables rather than setting them. Only emit
7911 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7912 each conditional path.
7913 (program): installdir() emits an Autogen macro, so must be passed to
7914 var_add rather than gvar_add.
7915 (data): Likewise.
7916 (script): Likewise.
7917 (rules): New function, centralising handling for different target
7918 types. Set up Guile association lists for first_time and vars_init,
7919 and send most output to a diversion so that variable initialisations
7920 can be emitted first.
7921 (module_rules): Use new rules function.
7922 (kernel_rules): Likewise.
7923 (image_rules): Likewise.
7924 (library_rules): Likewise.
7925 (program_rules): Likewise.
7926 (script_rules): Likewise.
7927 (data_rules): Likewise.
7928
7929 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7930
7931 * .bzrignore: Add contrib and grub-core/contrib. Remove
7932 grub-core/Makefile.gcry.am.
7933
7934 2010-09-24 Yves Blusseau <blusseau@zetam.org>
7935
7936 * grub-core/lib/LzFind.c: Add missing include.
7937 * grub-core/lib/LzmaEnc.c: Likewise.
7938 * grub-core/script/lexer.c: Likewise.
7939 * grub-core/script/yylex.l: Likewise.
7940 * util/grub-macho2img.c: Likewise.
7941 * util/grub-menulst2cfg.c: Likewise.
7942 * util/grub-mklayout.c: Likewise.
7943 * util/grub-mkpasswd-pbkdf2.c
7944 * util/grub-mkrelpath.c: Likewise.
7945 * util/resolve.c: Likewise.
7946
7947 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7948
7949 * Makefile.util.def (example_unit_test): Add
7950 grub-core/gnulib/libgnu.a.
7951
7952 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7953
7954 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7955
7956 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 Support xz compression on yeeloong.
7959
7960 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7961 * configure.ac: Check for LZMA.
7962 * grub-core/Makefile.core.def (xz_decompress): New target.
7963 (none_decompress): Likewise.
7964 * grub-core/boot/decompressor/minilib.c: New file.
7965 * grub-core/boot/decompressor/none.c: Likewise.
7966 * grub-core/boot/decompressor/xz.c: Likewise.
7967 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7968 * grub-core/kern/mips/cache_flush.S: Likewise.
7969 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7970 * grub-core/kern/mips/startup.S: Move first stage to ...
7971 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7972 nomacro.
7973 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7974 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7975 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7976 Allocate statically.
7977 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7978 Allocate statically or use scratch. Don't check CRC32.
7979 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7980 Allocate statically. Don't check CRC32.
7981 * include/grub/decompressor.h: New file.
7982 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7983 Removed.
7984 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7985 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7986 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7987 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7988 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7989 * util/grub-mkimage.c (grub_compression_t): New type.
7990 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7991 (image_target_desc): New field default_compression.
7992 (image_targets): Adjust yeeloong targets.
7993 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7994 (compress_kernel): New parameter comp.
7995 (generate_image): Likewise. Handle new compression case.
7996 (options): New option --compression
7997 (help): Likewise.
7998 (main): Handle new option.
7999
8000 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8001
8002 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8003
8004 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8005
8006 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8007 typo in __i386__ conditional.
8008
8009 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8012 include.
8013
8014 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Implement EFI and ACPI multiboot2 extensions.
8017
8018 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8019 new tags as supported.
8020 (acpiv2_size): New function.
8021 (grub_multiboot_get_mbi_size): Take new tags into account.
8022 (grub_multiboot_make_mbi): Add new tags.
8023 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8024
8025 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8026
8027 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8028 Added missing configuration of USB device.
8029
8030 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8031
8032 * grub-core/normal/menu_entry.c (run): Make sure we always return
8033 a value.
8034
8035 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8036
8037 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8038 NumberOfPages is UINT64 according to the UEFI specification, not
8039 UINTN. Fix printf format.
8040
8041 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8042
8043 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8044 `err' to grub_usb_err_t.
8045 Reported and tested by: KESHAV P.R.
8046
8047 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8048
8049 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8050 tpart non-const, so that we can assign to it. (Since this is a
8051 typedef, the constness refers to the pointer rather than what it
8052 points to.)
8053
8054 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8055
8056 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8057 $(top_srcdir)/grub-core/gnulib as well as
8058 $(top_builddir)/grub-core/gnulib.
8059 Reported by: KESHAV P.R.
8060
8061 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8062
8063 * util/grub-install.in: Fix the bootloader ID option to be
8064 consistently --bootloader-id, not --bootloader_id.
8065 Reported by: KESHAV P.R.
8066
8067 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8068
8069 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8070 check hash checksum." consistently translatable.
8071
8072 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8073
8074 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8075 $(top_builddir).
8076
8077 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8078
8079 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8080 (GRUB_MOD_INIT): Register sha1sum command.
8081 (GRUB_MOD_FINI): Unregister sha1sum command.
8082
8083 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8084
8085 Keep boot and grub directory names in sync with utils scripts
8086
8087 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8088 * config.h.in: Add previous macros.
8089 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8090 * util/grub-install.in: Use $bootdir and $grubdir variables.
8091
8092 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8093
8094 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8095 convert partition names to disk names if the new `convert' parameter
8096 is set.
8097 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8098 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8099 disk in its own right. This can happen with Xen disk images.
8100
8101 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8102
8103 * util/grub-editenv.c: Update strings to avoid warnings when generating
8104 grub.pot file.
8105 * util/grub-setup.c: Likewise.
8106
8107 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * configure.ac: Change version to 1.99~beta0.
8110
8111 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8114 Add BADRAM.
8115 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8116 Likewise.
8117 * include/multiboot.h: Resynced with specification.
8118 * include/multiboot2.h: Likewise.
8119
8120 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8121
8122 Fix po directory handling.
8123
8124 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8125 * grub-core/gnulib/Makefile.am: Import gettext module.
8126 * m4/gnulib-cache.m4: Likewise.
8127 * m4/gnulib-comp.m4: Likewise.
8128 * m4/gettext.m4: New file, from gnulib.
8129 * m4/glibc2.m4: Likewise.
8130 * m4/iconv.m4: Likewise.
8131 * m4/intdiv0.m4: Likewise.
8132 * m4/intl.m4: Likewise.
8133 * m4/intldir.m4: Likewise.
8134 * m4/intlmacosx.m4: Likewise.
8135 * m4/intmax.m4: Likewise.
8136 * m4/inttypes-pri.m4: Likewise.
8137 * m4/lcmessage.m4: Likewise.
8138 * m4/lib-ld.m4: Likewise.
8139 * m4/lib-link.m4: Likewise.
8140 * m4/lib-prefix.m4: Likewise.
8141 * m4/lock.m4: Likewise.
8142 * m4/nls.m4: Likewise.
8143 * m4/po.m4: Likewise.
8144 * m4/printf-posix.m4: Likewise.
8145 * m4/progtest.m4: Likewise.
8146 * m4/threadlib.m4: Likewise.
8147 * m4/uintmax_t.m4: Likewise.
8148 * m4/visibility.m4: Likewise.
8149 * po/Makefile.am: Remove.
8150 * po/Makefile.in.in: New file, from gettext.
8151 ($(DOMAIN).pot-update): Support POTFILES-shell.
8152 * po/Makevars: New file.
8153 * po/POTFILES-shell: Rename to ...
8154 * po/POTFILES-shell.in: ... this. Update.
8155 * po/POTFILES: Rename to ...
8156 * po/POTFILES.in: ... this. Update.
8157 * po/Rules-quot: New file, from gettext.
8158 * po/boldquot.sed: Likewise.
8159 * po/en@boldquot.header: Likewise.
8160 * po/en@quot.header: Likewise.
8161 * po/insert-header.sin: Likewise.
8162 * po/quot.sed: Likewise.
8163 * po/remove-potcdate.sin: Likewise.
8164
8165 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8168
8169 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * util/grub.d/20_linux_xen.in: Use submenus.
8172
8173 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 Support submenus.
8176
8177 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8178 parameter submenu. All users updated.
8179 * grub-core/normal/main.c (free_menu): Rename to ...
8180 (grub_normal_free_menu): ... this. Made global.
8181 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8182 if requested.
8183 * grub-core/normal/menu_entry.c (screen): New field submenu.
8184 (make_screen): Set submenu.
8185 (run): Open new context if requested.
8186 * include/grub/menu.h (grub_menu_entry): New field submenu.
8187 * include/grub/normal.h (grub_normal_free_menu): New proto.
8188
8189 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Menu entries extractor.
8192
8193 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8194 variants.
8195 (GRUB_MOD_INIT): Register new variants.
8196 (GRUB_MOD_FINI): Unregister new variants.
8197 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8198 into grub_cmd_legacy_source.
8199 (grub_cmd_legacy_source): Implement extractor variants.
8200 (GRUB_MOD_INIT): Register new variants.
8201 (GRUB_MOD_FINI): Unregister new variants.
8202 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8203 as an extractor.
8204 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8205 search as an extractor.
8206 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8207 test as an extractor.
8208 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8209 as an extractor.
8210 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8211 (grub_env_new_context): New function.
8212 (grub_env_context_open): Likewise.
8213 (grub_env_extractor_open): Likewise.
8214 (grub_env_extractor_close): Likewise.
8215 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8216 grub_extractor_level.
8217 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8218 * include/grub/env.h (grub_env_extractor_open): New proto.
8219 (grub_env_extractor_close): Likewise.
8220 * include/grub/normal.h (grub_extractor_level): New external variable.
8221
8222 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Make cutmem accept a region specification.
8225 Suggested by: Samuel Thibault
8226
8227 * grub-core/mmap/mmap.c (parsemem): New function.
8228 (grub_cmd_cutmem): Handle new arguments.
8229
8230 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 New command cutmem.
8233
8234 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8235 (GRUB_MOD_INIT): Register new command.
8236 (GRUB_MOD_FINI): Unregister new command.
8237
8238 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 Support some annoying BSD and Minix subpartitions.
8241
8242 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8243 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8244 Properly handle concatenation.
8245 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8246 * grub-core/normal/completion.c (iterate_partition): Likewise.
8247 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8248 contain partition. All users updated.
8249 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8250 struct.
8251 (grub_openbsdlabel_partition_map): Likewise.
8252 (bsdlabel_partition_map_iterate): Rename to ..
8253 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8254 (bsdlabel_partition_map_iterate): New function.
8255 (netopenbsdlabel_partition_map_iterate): Likewise.
8256 (netbsdlabel_partition_map_iterate): Likewise.
8257 (openbsdlabel_partition_map_iterate): Likewise.
8258 (GRUB_MOD_INIT): Register new partmaps.
8259 (GRUB_MOD_FINI): Unregister new partmaps.
8260 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8261 (grub_partition_msdos_iterate): ... this. All users updated.
8262 Don't support embedding other than in a minix partition.
8263 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8264 proto.
8265 * include/grub/partition.h (grub_partition): New field msdostype.
8266 * util/grub-install.in: Handle openbsd and netbsd types being in
8267 part_bsd module.
8268
8269 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8272
8273 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8274 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8275 (mdraid09): ... this.
8276 (mdraid1x): New module.
8277 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8278 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8279
8280 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8283 vsprintf.
8284
8285 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8286
8287 * grub-core/commands/efi/lsefimmap.c: Correct header.
8288 * NEWS: Update.
8289
8290 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8291
8292 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8293 as printf format strings; the translations might contain '%' which
8294 could cause a crash.
8295 (main): Likewise.
8296 * util/grub-fstest.c (argp_parser): Likewise.
8297 * util/grub-setup.c (argp_parser): Likewise.
8298 (main): Likewise.
8299
8300 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Use argp in grub-fstest.
8303
8304 * util/grub-fstest.c: Don't include getopt.h.
8305 Include argp.h.
8306 (root): New variable.
8307 (args_count): Likewise.
8308 (nparm): Likewise.
8309 (num_disks): Likewise.
8310 (images): Likewise.
8311 (cmd): Likewise.
8312 (debug_str): Likewise.
8313 (args): Likewise.
8314 (options): Transformed to argp.
8315 (usage): Removed.
8316 (main): Split argument parsing into ...
8317 (argp_parser): ... this. Changed to argp format.
8318 (argp): New variable.
8319 (main): Use argp_parse.
8320
8321 2010-09-20 Tristan Gingold <gingold@free.fr>
8322 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8323 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/commands/efi/lsefimmap.c: New file.
8326 * grub-core/Makefile.core.def (lsefimmap): New module.
8327 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8328
8329 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Pause the execution (10s max) if any errors are displayed so the user
8332 has a chance to see them.
8333
8334 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8335 (grub_print_error): Increment grub_err_printed_errors.
8336 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8337 execution if any errors were displayed.
8338 (show_menu): Remove old code for pause.
8339 * grub-core/normal/menu_entry.c (run): Likewise.
8340 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8341 users updated.
8342 (grub_normal_get_char_counter): Likewise.
8343 * include/grub/err.h (grub_err_printed_errors): New external variable.
8344 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8345
8346 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 Support multiboot VBE info.
8349
8350 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8351 Take VBE info into account.
8352 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8353 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8354 Call fill_vbe_info when appropriate.
8355 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8356 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8357 as supported.
8358 (grub_multiboot_get_mbi_size): Take new tags into account.
8359 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8360 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8361 Call fill_vbe_tag when appropriate.
8362 (grub_multiboot_make_mbi): Properly align tags.
8363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8364 function.
8365 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8366 proto.
8367 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8368
8369 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Suport manual terminal geometry specification.
8372
8373 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8374 Save state in grub_ofconsole_terminfo_output.
8375 (grub_ofconsole_term): Use grub_terminfo_getwh.
8376 (grub_ofconsole_getwh): Removed.
8377 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8378 (grub_serial_term): Use grub_terminfo_getwh.
8379 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8380 (options): New struct.
8381 (OPTION_*): New enum.
8382 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8383 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8384 width and height.
8385 (grub_terminfo_getwh): New proto.
8386 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8387
8388 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 Handle legacy "terminal" command.
8391
8392 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8393 and FLAG_TERMINAL.
8394 (legacy_commands): Add terminal and title.
8395 (grub_legacy_parse): Handle terminal. Simplify title handling.
8396
8397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8400 parameters overflow.
8401
8402 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8403
8404 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8405 widthspec.h.
8406
8407 * docs/grub.texi (Shell-like scripting): Document `!'.
8408 (Network): Simplify using new i386-pc-pxe format. Mention
8409 grub-mknetdir.
8410
8411 * NEWS: Update.
8412
8413 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8414
8415 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8416 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8417 when needed.
8418
8419 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8420
8421 * grub-core/commands/efi/lsefisystab.c: Correct header.
8422 * grub-core/commands/efi/lssal.c: Likewise.
8423 * grub-core/commands/testload.c: Likewise.
8424
8425 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8426
8427 * util/grub-mkrescue.in: Add explicit root argument to --set to
8428 prevent the UUID being interpreted as an argument to --set (matches
8429 previous change to prepare_grub_to_access_device).
8430
8431 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8432
8433 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8434 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8435 the verbosity of later #ifs.
8436 (find_partition_start): Define this function on FreeBSD too.
8437 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8438 function.
8439 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8440 on FreeBSD.
8441
8442 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8443
8444 * util/grub-editenv.c: Use argp instead of getopt.
8445
8446 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8447
8448 * util/grub-setup.c: Use argp instead of getopt.
8449
8450 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8451
8452 Use gnulib-tool to create gnulib source files.
8453
8454 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8455 grub-core/gnulib directories
8456 * .bzignore: Add **/.deps and autogenerated gnulib files
8457 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8458 of gnulib macros, add grub-core/gnulib/Makefile
8459 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8460 include m4 directory to aclocal.
8461 * Makefile.util.def: Remove direct compilation of gnulib source files
8462 and use the new grub-core/gnulib/libgnu.a.
8463 * build-aux/config.rpath: move config.rpath from top directory to
8464 build-aux
8465 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8466 in gnulib headers
8467 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8468 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8469 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8470 header.
8471 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8472 string.
8473
8474 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8475
8476 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8477 grub-core/genmod.sh and grub-core/gensyminfo.sh
8478
8479 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8480
8481 Add a test for echo command options.
8482
8483 * tests/grub_cmd_echo.in: New test.
8484 * Makefile.util.def: Rules for new test.
8485
8486 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8487
8488 Remove crc.mod and move crc command to hashsum.mod.
8489 Remove lib/crc.c - users updated to use gcrypt implementation.
8490
8491 * grub-core/commands/crc.c: Removed.
8492 * grub-core/Makefile.core.def (crc): Module removed.
8493 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8494 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8495 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8496 * grub-core/lib/crc.c: Removed.
8497 * include/grub/lib/crc.h: Removed.
8498 * Makefile.util.def (crc): Remove lib/crc.c
8499 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8500 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8501 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8502 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8503 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8504 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8505
8506 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8509
8510 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Split config.h for util and core.
8513
8514 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8515 (ADDR32): Likewise.
8516 (DATA32): Likewise.
8517 (BSS_START_SYMBOL): Likewise.
8518 (END_SYMBOL): Likewise.
8519 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8520 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8521 * config.h.in: New file.
8522 * configure.ac: Use config-util.h as config define file.
8523 Rename MACHINE into GRUB_MACHINE. All users updated.
8524 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8525 updated.
8526 (NESTED_FUNC_ATTR): Likewise.
8527 Substitue new variables.
8528 (COND_HAVE_ASM_USCORE): New conditional.
8529 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8530 (kernel_syms.lst): Use ASM_PREFIX.
8531 * grub-core/kern/emu/console.c: Include config-util.h.
8532 * grub-core/kern/emu/misc.c: Likewise.
8533 * grub-core/kern/emu/mm.c: Likewise.
8534 * include/grub/emu/misc.h: Likewise.
8535 * include/grub/libgcc.h: Likewise.
8536
8537 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8540 constants usage.
8541 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8542 Fix GRUB_TERM_KEY_* constants usage.
8543 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8544
8545 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8548 print pointer.
8549 * grub-core/bus/usb/uhci.c: Remove empty define.
8550 (grub_uhci_check_transfer): Add missing cast.
8551 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8552 print pointer.
8553 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8554 PRIuGRUB_SIZE.
8555 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8556
8557 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * grub-core/Makefile.core.def (legacycfg): Add
8560 lib/i386/pc/vesa_modes_table.c on emu.
8561
8562 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8563
8564 Reduce number of temporary files generated by build system.
8565
8566 * grub-core/gencmdlist.sh: Removed.
8567 * grub-core/genfslist.sh: Removed.
8568 * grub-core/genhandlerlist.sh: Removed.
8569 * grub-core/genmodsrc.sh: Removed.
8570 * grub-core/genpartmaplist.sh: Removed.
8571 * grub-core/genparttoollist.sh: Removed.
8572 * grub-core/gentermiinallist.sh: Removed.
8573 * grub-core/genvideolist.sh: Removed.
8574
8575 * grub-core/genmod.sh.in: New file.
8576 * grub-core/gensyminfo.sh.in: New file.
8577
8578 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8579 * conf/Makefile.extra-dist: Update with new files.
8580 * gentpl.py: Remove rules related to unnecessary temporary files.
8581 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8582 and und-* files.
8583 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8584 genmod.sh scripts.
8585 * grub-core/bus/usb/uhci.c: Remove empty #define.
8586 * grub-core/genmoddep.awk: Updated with new syminfo format.
8587 * util/bash-completion.d/Makefile.am: Add config.log to
8588 CLEANFILES.
8589
8590 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8591
8592 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8593
8594 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8595
8596 * util/grub-mkconfig.in: Check the config script for syntax errors
8597 before saving.
8598
8599 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8600 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8603 platforms.
8604 * util/grub-install.in: Add EFI and IEEE1275 support.
8605 * util/i386/efi/grub-install.in: Removed.
8606 * util/ieee1275/grub-install.in: Likewise.
8607
8608 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8611 (grub_cmd_cmosclean): Likewise.
8612 (GRUB_MOD_INIT): Register command cmosclean.
8613 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8614 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8615
8616 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8617 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8618 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 Add keyboard layouts support.
8621
8622 * Makefile.util.def (grub-mklayout): New file.
8623 (grub-kbdcomp): New script.
8624 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8625 Add keyboard_layouts.h.
8626 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8627 commands/boot.c on yeeloong.
8628 (keylayouts): New module.
8629 * grub-core/bus/usb/ohci.c
8630 * grub-core/bus/usb/uhci.c
8631 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8632 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8633 (attach_root_port): Likewise.
8634 (poll_nonroot_hub): Likewise.
8635 (grub_usb_poll_devices): Likewise.
8636 (detach_device): Close transfer.
8637 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8638 function.
8639 (grub_usb_bulk_setup_readwrite): Likewise.
8640 (grub_usb_bulk_finish_readwrite): Likewise.
8641 * grub-core/commands/keylayouts.c: New file.
8642 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8643 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8644 aliases.
8645 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8646 support scancode 2.
8647 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8648 * include/grub/keyboard_layouts.h: New file.
8649 * util/grub-mklayout.c: New file.
8650 * util/grub-kbdcomp.in: Likewise.
8651
8652 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 Unify memory types.
8655
8656 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8657 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8658 types.
8659 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8660 (grub_upper_mem): Likewise.
8661 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8662 * include/grub/memory.h (grub_memory_type_t): New enum.
8663 All users updated.
8664
8665 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/Makefile.core.def (lsapm): New module.
8668 * grub-core/commands/i386/pc/lsapm.c: New file.
8669 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8670 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8671 Likewise.
8672 * include/grub/i386/pc/apm.h: New file.
8673 * include/multiboot.h (multiboot_apm_info): New struct.
8674
8675 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 GRUB-legacy configuration file support.
8678
8679 * Makefile.util.def (grub-menulst2cfg): New util.
8680 * docs/man/grub-menulst2cfg.h2m: New file.
8681 * grub-core/Makefile.core.def (legacycfg): New module.
8682 * grub-core/commands/legacycfg.c: New file.
8683 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8684 (grub_normal_add_menu_entry): ... this.
8685 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8686 (grub_normal_set_password): ...this.
8687 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8688 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8689 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8690 * grub-core/lib/legacy_parse.c: New file.
8691 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8692 * include/grub/i386/pc/vesa_modes_table.h: New file.
8693 * include/grub/legacy_parse.h: Likewise.
8694 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8695 * util/grub-menulst2cfg.c: New file.
8696
8697 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8698
8699 * grub-core/kern/emu/hostdisk.c
8700 (convert_system_partition_to_system_disk): Initialise node.
8701
8702 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8703
8704 * grub-core/kern/emu/hostdisk.c
8705 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8706 leak.
8707 Reported and based on patch by: Modestas Vainius.
8708
8709 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8710
8711 Fix DM-RAID probing with recent versions of device-mapper udev
8712 rules.
8713
8714 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8715 canonicalise device paths under /dev/mapper/.
8716 (convert_system_partition_to_system_disk): Compare the
8717 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8718 path, since device nodes under /dev/mapper/ are often symlinks.
8719
8720 2010-09-17 Yves Blusseau <blusseau@zetam.org>
8721
8722 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8723
8724 2010-09-16 Yves Blusseau <blusseau@zetam.org>
8725
8726 * configure.ac: Avoid some annoying error messages if freetype-config
8727 program is not found.
8728
8729 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8730
8731 Support RAID on virtio devices, and others.
8732
8733 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8734 Rename to ...
8735 [__MINGW32__] (grub_find_device): ... this.
8736 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8737 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8738 reasonable default if dir is NULL.
8739 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8740 ...
8741 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8742 (grub_guess_root_device): Update callers.
8743 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8744
8745 * util/raid.c (grub_util_getdiskname): Remove.
8746 (grub_util_raid_getmembers): Use grub_find_device rather than
8747 grub_util_getdiskname.
8748
8749 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8750
8751 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8752 needing to be compiled with serial support.
8753 (ls): Indicate that multiple files are accepted.
8754 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8755 indicate that multiple files are accepted.
8756
8757 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8758
8759 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8760 libgrub_a_init.c, and util/bash-completion.d/grub.
8761
8762 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * util/grub-setup.c (setup): Fix incorrect container semantics.
8765
8766 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8769 misusage.
8770 Reported by: J. Nick Terry
8771
8772 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Move embedding routines to partmap sources files.
8775
8776 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8777 [GRUB_UTIL]: New variable.
8778 (gpt_partition_map_iterate): Set part.parent.
8779 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8780 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8781 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8782 New function.
8783 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8784 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8785 (grub_partition_map) [GRUB_UTIL]: New field embed.
8786 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8787 (setup): Use ->embed.
8788
8789 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8792 function.
8793 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8794 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8795
8796 2010-09-15 Yves Blusseau <blusseau@zetam.org>
8797
8798 Add function to get completions from usage.
8799
8800 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8801 completions from usage. Use LC_ALL=C to get options properly.
8802
8803 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/gnulib/basename-lgpl.c: Imported.
8806 * grub-core/gnulib/basename.c: Likewise.
8807 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8808 * grub-core/gnulib/dirname.c: Likewise.
8809 * grub-core/gnulib/dirname.h: Likewise.
8810 * grub-core/gnulib/stripslash.c: Likewise.
8811
8812 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/gnulib/error.c: Resynced.
8815 * grub-core/gnulib/getopt.c: Likewise.
8816 * grub-core/gnulib/getopt_int.h: Likewise.
8817 * grub-core/gnulib/regex.h: Likewise.
8818 * grub-core/gnulib/regex_internal.c: Likewise.
8819 * grub-core/gnulib/regex_internal.h: Likewise.
8820
8821 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8822
8823 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8824 CRC calculations and validity checks.
8825 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8826 calculations.
8827
8828 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8829
8830 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8831
8832 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Fix incorrect echo options handling.
8835 Reported by: Yves Blusseau.
8836
8837 * include/grub/command.h (grub_command_flags_t): New flags
8838 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8839 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8840 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8841
8842 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8845 users updated.
8846 (GRUB_COMMAND_FLAG_MENU): Likewise.
8847 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8848 (GRUB_COMMAND_FLAG_TITLE): Removed.
8849 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8850 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8851 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8852 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8853 (grub_command_flags_t): New enum. All users updated.
8854
8855 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8856
8857 Fix solaris compilation.
8858
8859 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8860 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8861 (grub-emu-list): Likewise.
8862
8863 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Remove deprecated root command.
8866
8867 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8868 updated.
8869
8870 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/i386/pc/grub-setup.c: Merge this ...
8873 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8874 * util/grub-setup.c: ... into this.
8875 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8876 New struct.
8877
8878 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8881 possible.
8882
8883 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8886 allocate p.
8887
8888 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8891 explicit root argument to set to prevent UUID to be interpreted as
8892 argument to set.
8893
8894 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8897
8898 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 Don't export grub_gate_a20.
8901
8902 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8903 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8904 to ...
8905 (grub_gate_a20): ... this. All users updated.
8906 * include/grub/i386/pc/init.h: Removed. All users updated.
8907
8908 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Create euro.pf2 which supports most European languages.
8911
8912 * Makefile.am (grubdata_DATA): Add euro.pf2.
8913 (euro.pf2): New target.
8914 (CLEANFILES): Add euro.pf2.
8915
8916 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * configure.ac: Disable emu-usb by default to prevent inadvertent
8919 device takeover.
8920
8921 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Disable usbserial on grub-emu since our libusb code isn't good enough
8924 yet.
8925
8926 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8927 (usbserial_pl2303): Likewise.
8928 (usbserial_ftdi): Likewise.
8929
8930 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * include/grub/disk.h (grub_disk): Remove has_partitions.
8933 All users updated.
8934 * disk/loopback.c (grub_loopback): Remove has_partitions.
8935 All users updated.
8936 (options): Remove partitions. All users updated.
8937 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8938 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8939 actual partition table is found.
8940
8941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 Remove readability checks (too many false negatives).
8944
8945 * util/grub-install.in: Remove readability checks.
8946 * util/grub-mkconfig.in: Likewise.
8947 * util/grub.d/10_hurd.in: Likewise.
8948 * util/grub.d/10_kfreebsd.in: Likewise.
8949 * util/grub.d/10_linux.in: Likewise.
8950 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8951 way.
8952
8953 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Enable acpi shutdown on all ACPI platforms.
8956
8957 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8958 on coreboo, multiboot and EFI.
8959 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8960 (grub_acpi_halt): Likewise.
8961 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8962 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8963 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8964 * grub-core/lib/i386/halt.c (grub_halt)
8965 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8966
8967 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8970 context.
8971
8972 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8975 * grub-core/video/efi_uga.c: Likewise.
8976
8977 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 Filter devaliases and never open same device twice.
8980
8981 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8982 (last_ihandle): Likewise.
8983 (ofdisk_hash_ent): New member shortest.
8984 (ofdisk_hash_add): Add canonical path too.
8985 (scan): New function.
8986 (grub_ofdisk_iterate): Iterate over hashed entries.
8987 (compute_dev_path): Don't add :0.
8988 (grub_ofdisk_open): Don't really open the disk.
8989 (grub_ofdisk_close): Avoid closing unrelated disk.
8990 (grub_ofdisk_read): Implement reopen logic.
8991 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8992 New function.
8993 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8994 New proto.
8995
8996 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 Fix sparc64.
8999
9000 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9001 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9002 right address. Add sparc64_ieee1275_ldflags.
9003 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9004 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9005 to grub_host_to_target_addr
9006 (load_image): Likewise.
9007
9008 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/normal/completion.c (complete_file): Handle device
9011 containing slash.
9012 Fix based on patch by Doug Nazar.
9013
9014 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 grub-mknetdir script.
9017
9018 * Makefile.util.def (grub-mknetdir): New module.
9019 * tests/util/grub-shell.in: Support boot=net
9020 * util/grub-mknetdir.in: New file.
9021
9022 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 videoinfo on non-vbe.
9025
9026 * grub-core/Makefile.core.def (vbeinfo): Removed.
9027 (vbetest): Removed.
9028 (videoinfo): New module.
9029 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9030 * grub-core/commands/i386/pc/vbetest.c: Removed.
9031 * grub-core/commands/videoinfo.c: New file.
9032 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9033 specification.
9034 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9035 as vbetest.
9036 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9037 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9038 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9039 mode_number. New parameter mode. All users updated.
9040 (grub_video_gop_iterate): New function.
9041 (grub_video_efi_gop): New member iterate.
9042 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9043 (grub_vbe_set_video_mode): Remove setting useless fields.
9044 (vbe2videoinfo): New function.
9045 (grub_video_vbe_iterate): Likewise.
9046 (grub_video_vbe_setup): Use vbe2videoinfo.
9047 (grub_video_vbe_print_adapter_specific_info): New function.
9048 (grub_video_vbe_adapter): New fields iterate and
9049 print_adapter_specific_info.
9050 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9051 All users updated.
9052 (grub_video_mode_info): New field mode_number.
9053 (grub_video_adapter): New fields iterate and
9054 print_adapter_specific_info.
9055
9056 2010-09-13 Tristan Gingold <gingold@free.fr>
9057 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9058 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/commands/efi/lsefisystab.c: New file.
9061 * grub-core/commands/efi/lssal.c: Likewise.
9062 * grub-core/Makefile.core.def (lsacpi): New module.
9063 (lsefisystab): Likewise.
9064 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9065 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9066 (grub_efi_sal_system_table): New struct.
9067 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9068 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9069 (grub_efi_sal_system_table_platform_features): Likewise.
9070 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9071 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9072 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9073 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9074
9075 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 Support explicit user claim that a device is BIOS-visible.
9078
9079 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9080 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9081 * grub-core/kern/emu/hostdisk.c
9082 (convert_system_partition_to_system_disk): Support mdX.
9083 (find_system_device): New parameter add. All users updated.
9084 (grub_util_biosdisk_is_present): New function.
9085 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9086 proto.
9087
9088 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 Search hints support.
9091
9092 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9093 All users updated.
9094
9095 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9096
9097 Bash completion script for util commands
9098
9099 * Makefile.am: Add util/bash-completion.d directory
9100 * configure.ac: Likewise.
9101 * util/bash-completion.d/Makefile.am: New file.
9102 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9103
9104 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9107 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9108 Reported by: Yves Blusseau.
9109
9110 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9113 partition size and offset.
9114
9115 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9118
9119 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9122
9123 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9126 (grub_xvasprintf): Likewise.
9127
9128 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9131
9132 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9135 args ending with NULL.
9136
9137 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9140 pointer.
9141
9142 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9143
9144 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9145
9146 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 Shutdown using ACPI.
9149
9150 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9151 * grub-core/commands/acpihalt.c: New file.
9152 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9153 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9154 (grub_acpi_halt): New proto.
9155 (GRUB_ACPI_SLP_EN): New const.
9156 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9157 (GRUB_ACPI_OPCODE_*): New enum.
9158 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9159
9160 2010-09-11 Tristan Gingold <gingold@free.fr>
9161 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9162 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * commands/lsacpi.c: New file.
9165 * grub-core/Makefile.core.def (lsacpi): New module.
9166 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9167 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9168 (grub_acpi_madt_entry_header): New struct.
9169 (grub_acpi_madt): Likewise.
9170 (grub_acpi_madt_entry_interrupt_override): Likewise.
9171 (grub_acpi_madt_entry_sapic): Likewise.
9172 (grub_acpi_madt_entry_lsapic): Likewise.
9173 (grub_acpi_madt_entry_platform_int_source): Likewise.
9174 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9175 (PRIuGRUB_UINT32_T): Likewise.
9176 (PRIxGRUB_UINT64_T): Likewise.
9177
9178 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 Implement loading palette on ieee1275_fb.
9181
9182 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9183 (have_setcolors): Likewise.
9184 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9185 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9186 (grub_video_ieee1275_set_palette): Implement.
9187
9188 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9189 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9190
9191 * util/grub-install.in (grub_partition): New variable.
9192 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9193 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9194 Fixes a bug reported by Yves Blusseau.
9195
9196 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Fix emu on mipsel.
9199
9200 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9201 =grub_cpu_flush_cache on all mips and not only yeeloong.
9202 * configure.ac (COND_mips): New conditional.
9203 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9204 platforms.
9205 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9206 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9207 [GRUB_LINKER_HAVE_INIT]: New function.
9208 (grub_emu_post_init): Likewise.
9209 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9210 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9211 * include/grub/cache.h (_mips): Include mips/cache.h.
9212 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9213 LVM and RAID prototypes.
9214 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9215 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9216 function.
9217
9218 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9219
9220 * util/grub-install.in: Don't try to verify core.img until after
9221 running grub-mkimage to create it.
9222
9223 2010-09-10 Robert Millan <rmh@gnu.org>
9224
9225 * util/grub.d/10_hurd.in: Add misc readability checks.
9226 * util/grub.d/10_kfreebsd.in: Likewise.
9227 * util/grub.d/10_linux.in: Likewise.
9228
9229 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * util/grub-install.in: ${imgext} won't be defined here until the
9232 install branch is merged. For the meantime, only verify core.img on
9233 i386-pc and sparc64-ieee1275 platforms.
9234
9235 2010-09-10 Robert Millan <rmh@gnu.org>
9236
9237 Solaris support in grub_find_zpool_from_dir(). Thanks
9238 Seth Goldberg for referring to getextmntent() facility.
9239
9240 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9241 `sys/mkdev.h'.
9242 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9243 `<sys/mnttab.h>'.
9244 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9245 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9246 method for finding zpool name.
9247
9248 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9249
9250 grub-fstest needs the host and hostfs modules while other utilities
9251 actively require those modules to be absent, so grub-fstest needs
9252 its own initialisation and finalisation code.
9253
9254 * Makefile.am (grub_fstest.pp): New target.
9255 (grub_fstest_init.lst): Likewise.
9256 (grub_fstest_init.c): Likewise.
9257 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9258
9259 2010-09-10 Robert Millan <rmh@gnu.org>
9260
9261 * configure.ac: Check for `struct statfs.f_fstypename' and
9262 `struct statfs.f_mntfromname'.
9263
9264 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9265 kFreeBSD-specific code.
9266
9267 2010-09-10 Robert Millan <rmh@gnu.org>
9268
9269 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9270 on ZFS. Now non-main filesystems are supported as / too.
9271
9272 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9273
9274 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9275 and grub-core/disk/host.c to ...
9276 (grub-fstest): ... here. Having the host disk implementation
9277 present confuses grub-probe and other utility programs.
9278
9279 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9280 when writing to a file, not when writing to stdout.
9281
9282 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9283
9284 * tests/partmap_test.in: New test for partitions.
9285 * Makefile.util.def: Rules for new test.
9286
9287 2010-09-09 Robert Millan <rmh@gnu.org>
9288
9289 * util/grub-probe.c (probe): Fix a pair of unhandled error
9290 conditions.
9291
9292 2010-09-09 Robert Millan <rmh@gnu.org>
9293
9294 Basic Btrfs support (detection and UUID).
9295
9296 * grub-core/fs/btrfs.c: New file.
9297 * Makefile.util.def (library): Register btrfs.c.
9298 * grub-core/Makefile.core.def: Likewise.
9299
9300 2010-09-08 Robert Millan <rmh@gnu.org>
9301
9302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9303 with (optional) parameters to specify device and relative path.
9304 * util/grub-install.in: Use is_path_readable_by_grub() to
9305 verify readability of a few critical files.
9306 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9307 verify readability of grub.cfg.new.
9308
9309 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Split minix.mod into minix.mod and minix2.mod.
9312
9313 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9314 * grub-core/Makefile.core.def (minix2): New module.
9315 * grub-core/fs/minix.c: Use definitions instead of runtime version
9316 checking.
9317 * grub-core/fs/minix2.c: New file.
9318
9319 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9320
9321 Add new --boot-directory option to replace --root-directory
9322
9323 * util/grub-install.in: Add new --boot-directory option
9324 * util/grub-reboot.in: Likewise.
9325 * util/grub-set-default.in: Likewise.
9326
9327 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9328
9329 * util/grub-mkconfig.in: Use new variable.
9330
9331 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9332
9333 * configure.ac: Define some useful variables.
9334
9335 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9338 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9339 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9340 Use terminfo and don't use cursor-on/cursor-off unless it's known
9341 to work.
9342 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9343 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9344
9345 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9346
9347 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9348 starts with "(,", fill the drive containing the loaded image in
9349 between those two characters, but expect that a full partition
9350 specification including partition map names will follow.
9351
9352 2010-09-08 Robert Millan <rmh@gnu.org>
9353
9354 * configure.ac: Remove `--enable-grub-fstest' option.
9355 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9356
9357 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9358 `grub-fstest' instead of `grub-probe' for readability verification.
9359 * util/grub-probe.c (probe): Remove readability verification kludge.
9360
9361 2010-09-08 Robert Millan <rmh@gnu.org>
9362
9363 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9364 initializing `GRUB_FS'.
9365
9366 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9367
9368 Not command (!) support to GRUB script.
9369
9370 * tests/grub_script_not.in: New test.
9371 * Makefile.util.def: Rules for new test.
9372
9373 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9374 ! command as a special case.
9375 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9376
9377 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9378
9379 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9380 grub_free.
9381
9382 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9383
9384 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9385
9386 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9387
9388 * docs/grub.texi (Shell-like scripting): Documentation for break,
9389 continue, shift and return commands.
9390
9391 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 Rename CD-ROM to cd on BIOS.
9394
9395 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9396 "cd".
9397 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9398
9399 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9402 * util/grub-probe.c (main): Likewise.
9403 * util/i386/pc/grub-setup.c (main): Likewise.
9404 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9405 Reported and debugged by: alexxy
9406
9407 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9410 diagnostic info.
9411
9412 2010-09-05 Jo Shields <directhex@apebox.org>
9413
9414 * util/grub.d/30_os-prober.in: Add missing classes.
9415
9416 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * docs/grub.texi (Theme file format): Document new position format.
9419
9420 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9423 a table. Use @code instead of @verbatim.
9424
9425 2010-09-05 Colin D Bennett <colin@gibibit.com>
9426
9427 Gfxmenu documentation.
9428
9429 * docs/grub.texi (Theme file format): New chapter.
9430
9431 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9432
9433 * grub-core/Makefile.core.def (xzio): New module.
9434 * grub-core/io/xzio.c: New file.
9435 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9436 * grub-core/lib/xzembed/xz_config.h: Likewise.
9437 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9438 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9439 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9440 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9441 * grub-core/lib/xzembed/xz_private.h: Likewise.
9442 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9443 * include/grub/file.h (grub_file_filter_id): New compression filter
9444 GRUB_FILE_FILTER_XZIO.
9445
9446 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9449 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9450 size.
9451
9452 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9455 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9456
9457 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 Uncompressed checksum support.
9460
9461 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9462 (check_list): New parameter uncompress.
9463 (grub_cmd_hashsum): Handle --uncompress.
9464
9465 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 Reintroduce testload.
9468
9469 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9470 from here ...
9471 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9472 (GRUB_MOD_INIT): New function.
9473 (GRUB_MOD_FINI): Likewise.
9474 * grub-core/Makefile.core.def (testload): New module.
9475
9476 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9477
9478 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9479 (uint8_t): New type.
9480 (uint16_t): Likewise.
9481 (uint32_t): Likewise.
9482 (uint64_t): Likewise.
9483
9484 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9485
9486 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9487
9488 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9491 Made static.
9492 (grub_gzfile_open): Removed. All users updated.
9493 (GRUB_MOD_INIT): New function.
9494 (GRUB_MOD_FINI): Likewise.
9495 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9496 (grub_file_filters_enabled): Likewise.
9497 (grub_file_open): Handle filters.
9498 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9499 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9500 * include/grub/file.h (grub_file_filter_id_t): New type.
9501 (grub_file_filter_t): Likewise.
9502 (grub_file_filters_all): New extern variable.
9503 (grub_file_filters_enabled): Likewise.
9504 (grub_file_filter_register): New inline function.
9505 (grub_file_filter_unregister): Likewise.
9506 (grub_file_filter_disable): Likewise.
9507 (grub_file_filter_disable_compression): Likewise.
9508 * include/grub/gzio.h: Removed.
9509
9510 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9511
9512 Filename expansion support for wildcards in GRUB script.
9513
9514 * tests/grub_script_expansion.in: New test.
9515 * Makefile.util.def: Rule for new test.
9516
9517 * grub-core/commands/wildcard.c: New file, implements filename
9518 expansion support for GRUB script.
9519 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9520 * grub-core/script/argv.c: Cosmetic changes.
9521 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9522 Refactored to perform wildcard expansion on arguments.
9523 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9524 struct.
9525
9526 * tests/util/grub-shell.in: Fix quoting for read input.
9527
9528 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9529
9530 Support for updating environment variables with matched substrings
9531 of regexp.
9532
9533 * tests/grub_cmd_regexp.in: New test.
9534 * Makefile.util.def: Rule for new test.
9535
9536 * grub-core/commands/regexp.c: New option -s to update environment
9537 variables with regexp matches.
9538
9539 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9540
9541 * include/grub/file.h (grub_file): New member not_easly_seekable.
9542 (grub_file_seekable): New inline function.
9543 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9544 easily seekable.
9545 (grub_gzio_open): Set not_easly_seekable.
9546 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9547 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9548
9549 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9550
9551 Support for options to appear multiple times on cmdline.
9552
9553 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9554 * grub-core/commands/extcmd.c: Support for repeatable option.
9555 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9556 repeatable option support.
9557
9558 Refactor menuentry into a regular command.
9559
9560 * grub-core/commands/menuentry.c: New file, menuentry command
9561 implementation.
9562 * grub-core/Makefile.core.def: Rule update for normal.mod.
9563 * grub-core/normal/main.c: Moved menuentry creation to
9564 grub-core/commands/menuentry.c.
9565 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9566 (grub_menu_execute_entry_real): Removed.
9567 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9568 function.
9569 (grub_script_execute_menuentry): Removed.
9570 * grub-core/script/parser.y (menuentry): Removed.
9571 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9572 * grub-core/script/yylex.l (menuentry): Removed.
9573 * include/grub/menu.h (grub_menu_init): New prototype.
9574 (grub_menu_fini): New prototype.
9575 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9576 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9577 (grub_script_execute_sourcecode): New prototype.
9578
9579 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9580
9581 "return" command for GRUB script functions.
9582
9583 * tests/grub_script_return.in: New test.
9584 * Makefile.util.def: Rules for new test.
9585
9586 * grub-core/script/execute.c (grub_script_return): New function.
9587 * grub-core/script/main.c: Register/unregister return commaond.
9588 * include/grub/script_sh.h (grub_script_return): New prototype.
9589
9590 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9591
9592 "setparams" command to update positional parameters.
9593
9594 * tests/grub_script_setparams.in: New test.
9595 * Makefile.util.def: Rules for new test.
9596
9597 * grub-core/script/argv.c (grub_script_argv_make): New function.
9598 * grub-core/script/execute.c (replace_scope): New function.
9599 (grub_script_setparams): New function.
9600 * grub-core/script/lexer.c: Remove unused variables.
9601 * grub-core/script/main.c: Register/unregister setparams command.
9602 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9603 (grub_script_setparams): New prototype.
9604
9605 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9606
9607 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9608 grub_free order.
9609
9610 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9611
9612 Support for passing block of commands as an argument to extcmds.
9613
9614 * Makefile.util.def: Rules for new test.
9615 * tests/grub_script_blockarg.in: New test.
9616 * grub-core/tests/test_blockarg.c: New file, block argument
9617 command used in the test.
9618
9619 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9620 (grub_register_extcmd_prio): New function prototype.
9621 (grub_extcmd_dispatcher): New function prototype.
9622 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9623 type.
9624 * include/grub/script_sh.h (struct grub_script): New members
9625 `children', `next_siblings' and `refcnt' for block arguments and
9626 reference counting.
9627 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9628 (grub_script_arg): New member `script' for block argument.
9629 (grub_script_argv): New member `script' for block argument.
9630 (grub_parser_param): New member `scripts' for block argument.
9631 (grub_script_mem_free): New extern function prototype.
9632 (grub_script_ref): New function prototype.
9633 (grub_script_unref): New function prototype.
9634
9635 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9636 extcmd form to support block arguments.
9637 * grub-core/script/argv.c: Block arguments support.
9638 * grub-core/script/execute.c: Likewise.
9639 * grub-core/script/lexer.c: Likewise.
9640 * grub-core/script/main.c: Likewise.
9641 * grub-core/script/script.c: Likewise.
9642 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9643 non-terminals.
9644
9645 * grub-core/commands/acpi.c: Update extcmd implementations with
9646 grub_extcmd_context_t.
9647 * grub-core/commands/cat.c: Likewise.
9648 * grub-core/commands/echo.c: Likewise.
9649 * grub-core/commands/extcmd.c: Likewise.
9650 * grub-core/commands/hashsum.c: Likewise.
9651 * grub-core/commands/hdparm.c: Likewise.
9652 * grub-core/commands/help.c: Likewise.
9653 * grub-core/commands/hexdump.c: Likewise.
9654 * grub-core/commands/i386/cpuid.c: Likewise.
9655 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9656 * grub-core/commands/i386/pc/halt.c: Likewise.
9657 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9658 * grub-core/commands/iorw.c: Likewise.
9659 * grub-core/commands/keystatus.c: Likewise.
9660 * grub-core/commands/loadenv.c: Likewise.
9661 * grub-core/commands/ls.c: Likewise.
9662 * grub-core/commands/lspci.c: Likewise.
9663 * grub-core/commands/memrw.c: Likewise.
9664 * grub-core/commands/probe.c: Likewise.
9665 * grub-core/commands/search_wrap.c: Likewise.
9666 * grub-core/commands/setpci.c: Likewise.
9667 * grub-core/commands/sleep.c: Likewise.
9668 * grub-core/disk/loopback.c: Likewise.
9669 * grub-core/hello/hello.c: Likewise.
9670 * grub-core/loader/i386/bsd.c: Likewise.
9671 * grub-core/loader/xnu.c: Likewise.
9672 * grub-core/term/gfxterm.c: Likewise.
9673 * grub-core/term/serial.c: Likewise.
9674 * grub-core/tests/lib/functional_test.c: Likewise.
9675
9676 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9677
9678 Multi-line quoted strings support.
9679
9680 * grub-core/script/lexer.c (append_newline): Removed.
9681 (grub_script_lexer_yywrap): Refactored.
9682 (grub_script_lexer_init): Refactored.
9683 * grub-core/script/yylex.l (yywrap): New function.
9684 (grub_lexer_resplit): New function.
9685 (grub_lexer_unput): New function.
9686 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9687 and resplit.
9688 * tests/grub_script_echo1.in: Added few more testcases.
9689
9690 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * grub-core/kern/misc.c: Don't add abort alias in utils.
9693 Reported by: echoline.
9694
9695 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9696
9697 Add missing files into "make dist" tarball for other platforms.
9698
9699 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9700 * conf/Makefile.common (dist_noinst_DATA): New variable.
9701 * conf/Makefile.extra-dist: Added missing make dist files.
9702 * grub-core/Makefile.core.def: Likewise.
9703
9704 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 Compress grub_prefix.
9707
9708 * grub-core/boot/i386/pc/lnxboot.S: Use
9709 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9710 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9711 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9712 GRUB_MACHINE_PREFIX_END. All users updated.
9713 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9714 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9715 + 0x40.
9716 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9717 * util/grub-mkimage.c (image_target_desc): Change data_end to
9718 prefix_end. All users updated.
9719
9720 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9723 value.
9724 (grub_openbsd_boot): Likewise.
9725 (grub_netbsd_boot): Likewise.
9726 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9727 (grub_xnu_boot): Likewise.
9728
9729 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * configure.ac: Clean LIBS variable after tests.
9732
9733 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9734
9735 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9736
9737 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9740 echo if libdevmapper will be used.
9741
9742 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9743
9744 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9745 constant for the same file.
9746
9747 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9750
9751 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9752
9753 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9754 grub-core/*.pp.
9755
9756 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9757
9758 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9759 required by the boot protocol.
9760
9761 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9762 ebp and edi members.
9763 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9764 state.ebp and state.edi.
9765 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9766 %ebp and %edi according to grub_relocator32_ebp and
9767 grub_relocator32_edi respectively.
9768 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9769 and state.edi.
9770
9771 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 Add i386-pc-pxe image target.
9774
9775 * util/grub-mkimage.c (image_target_desc): New enum value
9776 IMAGE_I386_PC_PXE.
9777 (image_targets): New target i386-pc-pxe.
9778 (generate_image): Handle i386-pc-pxe image.
9779
9780 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 Fix grub_pxe_scan.
9783
9784 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9785 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9786 All users updated.
9787 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9788 (grub_pxe_pxenv): Correct type.
9789
9790 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9791
9792 * NEWS: Document most of the important changes since 1.98.
9793
9794 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9795
9796 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9797 generated manual page) a little.
9798
9799 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9800
9801 * docs/grub.texi: Add myself as an author.
9802
9803 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * Makefile.util.def (libgrub.a): Add missing sunpc.
9806 Reported by: Seth Goldberg.
9807
9808 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 Interrupt wrapping and code simplifications.
9811
9812 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9813 x86_noieee1275 which are functionaly equivalent in this case.
9814 (grub-install): Make source on each platform explicit. Enable on
9815 all noemu.
9816 * gentpl.py (x86_efi_pc): Removed group.
9817 (x86_noefi): Likewise.
9818 (i386_noefi): Likewise.
9819 (x86_noieee1275): Likewise.
9820 (i386_noieee1275): Likewise.
9821 (i386_noefi_noieee1275): Likewise.
9822 (i386_pc_qemu_coreboot): Likewise.
9823 (i386_coreboot_multiboot): Likewise.
9824 (i386_pc_coreboot_multiboot_qemu): Likewise.
9825 (x86_noefi_mips): Likewise.
9826 (noieee1275): Likewise.
9827 (ieee1275_mips): Likewise.
9828 (noemu_noieee1275): Likewise.
9829 (cmos): New group.
9830 (usb): Likewise.
9831 (videoinkernel): Likewise.
9832 (videomodules): Likewise.
9833 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9834 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9835 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9836 include/grub/loader.h, include/grub/msdos_partition.h,
9837 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9838 include/grub/machine/console.h, include/grub/machine/vga.h,
9839 include/grub/machine/vbe.h, include/grub/machine/init.h,
9840 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9841 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
9842 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9843 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9844 * grub-core/Makefile.core.def (kernel): Explicit the source for
9845 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9846 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9847 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9848 Use videoinkernel tag.
9849 (usb): Enable on all usb.
9850 (usbserial_common): Likewise.
9851 (usbserial_pl2303): Likewise.
9852 (usbserial_ftdi): Likewise.
9853 (uhci): Enable on all x86.
9854 (ohci): Enable on all pci.
9855 (cmostest): Enable on all CMOS.
9856 (acpi): Include commands/acpi.c on all platforms.
9857 (halt): Add relevant lib/*/halt.c.
9858 (hdparm): Enable on all pci.
9859 (lspci): Likewise.
9860 (usbtest): Enable on all usb.
9861 (ata): Enable on all pci.
9862 (ata_pthru): Likewise.
9863 (usbms): Enable on all usb.
9864 (usb_keyboard): Likewise.
9865 (font): Use tag videomodules.
9866 (bufio): Likewise.
9867 (datetime): Use tag cmos. Enable on all noemu.
9868 (mmap): Use tags common and x86.
9869 (gfxterm): Use tag videomodules.
9870 (bitmap): Likewise.
9871 (bitmap_scale): Likewise.
9872 (video_fb): Likewise.
9873 (video): Likewise.
9874 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9875 adjust padding accordingly. All users updated.
9876 (grub_ohci_transaction): Fix bad format specification.
9877 (GRUB_MOD_INIT): Add asserts for struct size.
9878 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9879 (grub_alloc_td): Likewise.
9880 (grub_free_queue): Likewise.
9881 (grub_uhci_transfer): Likewise.
9882 (grub_uhci_transaction): Fix bad format specification.
9883 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9884 (grub_usb_bulk_readwrite): Likewise.
9885 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9886 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9887 Made static.
9888 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9889 Made static.
9890 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9891 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9892 Transformed into C.
9893 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9894 Moved from here ...
9895 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9896 ... here. Transformed into C. Made static.
9897 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9898 Moved from here ...
9899 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9900 ... here. Transformed into C. Made static.
9901 * grub-core/kern/i386/pc/startup.S
9902 (grub_biosdisk_check_int13_extensions): Moved from here ...
9903 * grub-core/disk/i386/pc/biosdisk.c
9904 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9905 Made static.
9906 * grub-core/kern/i386/pc/startup.S
9907 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9908 * grub-core/disk/i386/pc/biosdisk.c
9909 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9910 Transformed into C. Made static.
9911 * grub-core/kern/i386/pc/startup.S
9912 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9913 * grub-core/disk/i386/pc/biosdisk.c
9914 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9915 Transformed into C. Made static.
9916 * grub-core/kern/i386/pc/startup.S
9917 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9918 * grub-core/disk/i386/pc/biosdisk.c
9919 (grub_biosdisk_get_diskinfo_standard): ... here.
9920 Transformed into C. Made static.
9921 * grub-core/kern/i386/pc/startup.S
9922 (grub_biosdisk_get_num_floppies): Moved from here ...
9923 * grub-core/disk/i386/pc/biosdisk.c
9924 (grub_biosdisk_get_num_floppies): ... here.
9925 Transformed into C. Made static.
9926 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9927 New function.
9928 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9929 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9930 Transformed into C. Made static.
9931 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9932 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9933 Transformed into C. Made static.
9934 * grub-core/kern/i386/ieee1275/init.c: Removed.
9935 * grub-core/kern/i386/misc.S: Likewise.
9936 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9937 Splitted from here ...
9938 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9939 Transformed into C. Made static. All users updated.
9940 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9941 Transformed into C. Made static. All users updated.
9942 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9943 Moved from here...
9944 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9945 Transformed into C. Made static. All users updated.
9946 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9947 Moved from here...
9948 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9949 Transformed into C. Made static. All users updated.
9950 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9951 Removed (replaced by C version).
9952 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9953 Moved from here...
9954 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9955 Transformed into C. Made static.
9956 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9957 Moved from here...
9958 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9959 ... here. Transformed into C.
9960 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9961 Moved from here...
9962 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9963 ... here. Transformed into C.
9964 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9965 Moved from here...
9966 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9967 ... here. Transformed into C. Made static.
9968 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9969 Moved from here...
9970 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9971 ... here. Transformed into C.
9972 * grub-core/kern/i386/pc/startup.S
9973 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9974 * grub-core/video/i386/pc/vbe.c
9975 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9976 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9977 Moved from here...
9978 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9979 ... here. Transformed into C.
9980 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9981 Moved from here...
9982 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9983 ... here. Transformed into C.
9984 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9985 Moved from here...
9986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9987 ... here. Transformed into C.
9988 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9989 Moved from here...
9990 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9991 ... here. Transformed into C.
9992 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9993 Moved from here...
9994 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9995 ... here. Transformed into C. Made static.
9996 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9997 Moved from here...
9998 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9999 ... here. Transformed into C. Made static.
10000 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10001 Moved from here...
10002 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10003 ... here. Transformed into C. Made static.
10004 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10005 pxe_rm_entry as third argument.
10006 (grub_bios_interrupt): New function.
10007 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10008 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10009 of calling grub_stop.
10010 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10011 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10012 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10013 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10014 * grub-core/lib/i386/halt.c: Moved from here ...
10015 * grub-core/lib/i386/halt.c: ... here.
10016 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10017 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10018 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10019 grub_stop_floppy.
10020 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10021 * include/grub/i386/coreboot/init.h: Removed.
10022 * include/grub/i386/multiboot/init.h: Likewise.
10023 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10024 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10025 * include/grub/i386/pc/int.h: New file.
10026 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10027 (grub_pxe_scan): Removed.
10028 (grub_pxe_call): Update prototype.
10029 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10030 prototypes.
10031 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10032 * include/grub/i386/qemu/init.h: Removed.
10033 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10034 noreturn.
10035 (grub_halt): Likewise.
10036 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10037 (grub_reboot): Likewise.
10038 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10039 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10040 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10041
10042 2010-08-30 Robert Millan <rmh@gnu.org>
10043
10044 * NEWS: Document addition of ZFS support in `grub-install' and
10045 `grub-mkconfig'.
10046
10047 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10048
10049 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10050 dprintf output.
10051
10052 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 Remove leftover embedding of font objects.
10055
10056 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10057 * util/grub-install.in (font): Removed.
10058 * util/grub-mkimage.c (generate_image): Remove font support. All users
10059 updated.
10060
10061 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 Remove leftover embedding of font objects.
10064
10065 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10066 * util/grub-install.in (font): Removed.
10067 * util/grub-mkimage.c (generate_image): Remove font support. All users
10068 updated.
10069
10070 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10073 Reported by: Ian Turner
10074
10075 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10078 timeout to avoid indefinite boot stalling.
10079
10080 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10083 (grub_env_write_color_highlight): Likewise.
10084
10085 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * grub-core/normal/term.c (print_more): Return to normal and not
10088 to standard state after printing "---MORE---".
10089
10090 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10093 Mask out the bit 0x80 since it has other meaning that specifiing color.
10094
10095 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 New relocator. Allows for more kernel support and more straightforward
10098 loader writing.
10099
10100 * Makefile.am (BOOTTARGET): New variable.
10101 (QEMU32): Likewise.
10102 (linux.init.x86_64): New target.
10103 (linux.init.i386): Likewise.
10104 (multiboot.elf): Likewise.
10105 (kfreebsd.elf): Likewise.
10106 (kfreebsd.aout): Likewise.
10107 (pc-chainloader.elf): Likewise.
10108 (pc-chainloader.bin): Likewise.
10109 (ntldr.elf): Likewise.
10110 (ntldr.bin): Likewise.
10111 (multiboot2.elf): Likewise.
10112 (kfreebsd.init.x86_64): Likewise.
10113 (kfreebsd.init.i386): Likewise.
10114 (knetbsd.init.i386): Likewise.
10115 (kopenbsd.init.i386): Likewise.
10116 (knetbsd.init.x86_64): Likewise.
10117 (kopenbsd.init.x86_64): Likewise.
10118 (linux-initramfs.i386): Likewise.
10119 (linux-initramfs.x86_64): Likewise.
10120 (kfreebsd-mfsroot.i386.img): Likewise.
10121 (knetbsd.image.i386): Likewise.
10122 (kopenbsd.image.i386): Likewise.
10123 (kopenbsd.image.x86_64): Likewise.
10124 (knetbsd.miniroot-image.i386.img): Likewise.
10125 (kfreebsd-mfsroot.x86_64.img): Likewise.
10126 (knetbsd.image.x86_64): Likewise.
10127 (knetbsd.miniroot-image.x86_64.img): Likewise.
10128 (kfreebsd-mfsroot.i386.gz): Likewise.
10129 (bootcheck-kfreebsd-i386): Likewise.
10130 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10131 (bootcheck-kfreebsd-x86_64): Likewise.
10132 (knetbsd.miniroot-image.i386.gz): Likewise.
10133 (bootcheck-knetbsd-i386): Likewise.
10134 (bootcheck-kopenbsd-i386): Likewise.
10135 (bootcheck-kopenbsd-x86_64): Likewise.
10136 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10137 (bootcheck-knetbsd-x86_64): Likewise.
10138 (bootcheck-linux-i386): Likewise.
10139 (bootcheck-linux-x86_64): Likewise.
10140 (bootcheck-linux16-i386): Likewise.
10141 (bootcheck-linux16-x86_64): Likewise.
10142 (bootcheck-multiboot): Likewise.
10143 (bootcheck-multiboot2): Likewise.
10144 (bootcheck-kfreebsd-aout): Likewise.
10145 (bootcheck-pc-chainloader): Likewise.
10146 (bootcheck-ntldr): Likewise.
10147 (CLEANFILES): Add new targets.
10148 (BOOTCHECKS): New variable.
10149 (.PHONY): Add bootchecks.
10150 (SUCCESSFUL_BOOT_STRING): New variable.
10151 (BOOTCHECK_TIMEOUT): Likewise.
10152 (bootcheck): New target
10153 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10154 * configure.ac: Correct efiemu excuse.
10155 * docs/grub.texi (Supported kernels): New chapter.
10156 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10157 include/grub/mm_private.h. Simplify inclusion of
10158 include/grub/boot.h, include/grub/loader.h
10159 and include/grub/msdos_partition.h
10160 (KERNEL_HEADER_FILES) [i386_coreboot]:
10161 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10162 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10163 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10164 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10165 include/grub/machine/loader.h.
10166 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10167 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10168 extra_dist.
10169 (pci.mod): Enable on i386-multiboot.
10170 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10171 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10172 i386-qemu.
10173 (relocator.mod): Rewritten.
10174 (aout.mod): Enable on all x86.
10175 (bsd.mod): Likewise.
10176 (ntldr.mod): New module.
10177 (linux.mod): Use loader/i386/linux.c on all x86.
10178 (xnu.mod): Enable on all x86.
10179 (vga_text.mod): disable on EFI and QEMU.
10180 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10181 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10182 * grub-core/efiemu/loadcore.c: Likewise.
10183 * grub-core/efiemu/main.c: Likewise.
10184 (grub_efiemu_exit_boot_services): Removed.
10185 (grub_efiemu_finish_boot_services): Likewise.
10186 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10187 function.
10188 * grub-core/efiemu/i386/nocfgtables.c: New file.
10189 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10190 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10191 (grub_efi_finish_boot_services): Moved from here ...
10192 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10193 Fille finish memory map and related data.
10194 (finish_mmap_buf): New variable.
10195 (grub_efi_uintn_t finish_mmap_size): Likewise.
10196 (grub_efi_uintn_t finish_key): Likewise.
10197 (grub_efi_uintn_t finish_desc_size): Likewise.
10198 (grub_efi_uint32_t finish_desc_version): Likewise.
10199 (grub_efi_is_finished): Likewise.
10200 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10201 finished.
10202 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10203 (grub_elf64_phdr_iterate): Likewise.
10204 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10205 (grub_os_area_size): Likewise.
10206 (grub_machine_init): Don't reserve os area.
10207 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10208 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10209 * grub-core/kern/i386/loader.S: Removed.
10210 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10211 (grub_os_area_size): Likewise.
10212 (grub_machine_init): Don't reserve os area.
10213 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10214 Don't call grub_dl_unload_all.
10215 Don't include loader.S.
10216 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10217 Declare the memory after _end as available.
10218 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10219 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10220 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10221 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10222 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10223 * include/grub/mm_private.h (grub_mm_header): ... here.
10224 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10225 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10226 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10227 (grub_mm_region): ..here. Removed addr. Added pre_size.
10228 All users updated.
10229 * grub-core/kern/mm.c (base): Renamed to ...
10230 (grub_mm_base): ... this. Made global.
10231 (grub_real_malloc): Alloc from end of region.
10232 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10233 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10234 * grub-core/kern/powerpc/cache_flush.S: ... here.
10235 * grub-core/lib/efi/relocator.c: New file.
10236 * grub-core/lib/i386/relocator.c: Rewritten.
10237 * grub-core/lib/i386/relocator16.S: New file.
10238 * grub-core/lib/i386/relocator32.S: Likewise.
10239 * grub-core/lib/i386/relocator64.S: Likewise.
10240 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10241 * grub-core/lib/i386/relocator_common.S: New file.
10242 * grub-core/lib/ieee1275/relocator.c: Likewise.
10243 * grub-core/lib/mips/relocator.c: Rewritten.
10244 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10245 stylistic adjustments.
10246 * grub-core/lib/powerpc/relocator.c: New file.
10247 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10248 * grub-core/lib/relocator.c: Rewritten.
10249 * grub-core/lib/x86_64/relocator_asm.S: New file.
10250 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10251 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10252 (bsd_tag): New struct.
10253 (tags): New variable.
10254 (tags_last): Likewise.
10255 (netbsd_module): New struct.
10256 (netbsd_mods): New variable.
10257 (netbsd_mods_last): Likewise.
10258 (openbsd_opts): New parameter "serial".
10259 (OPENBSD_SERIAL_ARG): New definition.
10260 (netbsd_opts): New parameter "serial".
10261 (NETBSD_SERIAL_ARG): New definition.
10262 (grub_freebsd_add_meta): Reorganised into ...
10263 (grub_bsd_add_meta): ...this. All users updated.
10264 (grub_freebsd_add_mmap): Reorganised into ...
10265 (generate_e820_mmap): ...this...
10266 (grub_bsd_add_mmap): ...and this. All users updated.
10267 (grub_freebsd_list_modules): Use tags.
10268 (grub_netbsd_add_meta_module): New function.
10269 (grub_netbsd_list_modules): Likewise.
10270 (grub_freebsd_boot): Use relocator and finish EFI.
10271 (grub_openbsd_boot): Likewise.
10272 (grub_netbsd_setup_video): New function.
10273 (grub_netbsd_add_modules): Likewise.
10274 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10275 and finish EFI.
10276 (grub_bsd_unload): Unload tags.
10277 (grub_bsd_load_aout): Use relocator.
10278 (grub_bsd_elf32_size_hook): New function.
10279 (grub_bsd_elf32_hook): Use relocator.
10280 (grub_bsd_elf64_size_hook): New function.
10281 (grub_bsd_elf64_hook): Use relocator.
10282 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10283 (grub_bsd_load): Zero-out openbsd_ramdisk.
10284 (grub_bsd_load): Use relocator.
10285 (grub_cmd_openbsd): Support serial.
10286 (grub_cmd_netbsd): Support modules.
10287 (grub_cmd_freebsd_module): Use relocator.
10288 (grub_netbsd_module_load): New function.
10289 (grub_cmd_netbsd_module): Likewise.
10290 (grub_cmd_openbsd_ramdisk): Likewise.
10291 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10292 kopenbsd_ramdisk.
10293 (GRUB_MOD_FINI): Unregister new commands.
10294 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10295 (grub_freebsd_load_elfmodule_obj): Use relocator.
10296 (grub_freebsd_load_elfmodule): Likewise.
10297 (grub_freebsd_load_elf_meta): Likewise.
10298 (grub_netbsd_load_elf_meta): New function.
10299 (grub_openbsd_find_ramdisk): Likewise.
10300 * grub-core/loader/i386/bsd_helper.S: Removed.
10301 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10302 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10303 * grub-core/loader/i386/efi/linux.c: Likewise.
10304 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10305 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10306 (DEFAULT_VIDEO_MODE): Likewise.
10307 (real_mode_target): New variable.
10308 (prot_mode_target): Likewise.
10309 (initrd_mem_target): Likewise.
10310 (relocator): Likewise.
10311 (efi_mmap_buf): Likewise.
10312 (efi_mmap_size): Likewise.
10313 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10314 (free_pages): Use relocator.
10315 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10316 (grub_linux_setup_video): Return error.
10317 (grub_linux_trampoline_start): Removed.
10318 (grub_linux_trampoline_end): Likewise.
10319 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10320 andd video parameters depending on firmware.
10321 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10322 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10323 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10324 (grub_cmd_initrd): Use relocator.
10325 * grub-core/loader/i386/linux_trampoline.S: Removed.
10326 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10327 (elf_sec_entsize): Likewise.
10328 (elf_sec_shstrndx): Likewise.
10329 (elf_sections): Likewise.
10330 (grub_multiboot_load): Use relocator.
10331 (grub_multiboot_get_mbi_size): Account for sections.
10332 (grub_multiboot_make_mbi): Use relocator and support sections.
10333 (grub_multiboot_add_elfsyms): New function.
10334 (grub_multiboot_free_mbi): Free sections.
10335 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10336 (grub_linux_real_target): Likewise.
10337 (grub_linux_real_chunk): Likewise.
10338 (grub_linux16_prot_size): Likewise.
10339 (grub_linux16_boot): Use relocator.
10340 (grub_linux_unload): Unload relocator.
10341 (grub_cmd_linux): Use relocator.
10342 (grub_cmd_initrd): Likewise.
10343 * grub-core/loader/i386/pc/ntldr.c: New file.
10344 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10345 Don't try to guess CPU frequency.
10346 (grub_xnu_set_video): Stretch bitmap.
10347 (grub_xnu_boot): Use relocator.
10348 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10349 (grub_linux_unload): Free relocator.
10350 (grub_linux_load32): Use relocator.
10351 (grub_linux_load64): Likewise.
10352 (grub_cmd_initrd): Likewise.
10353 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10354 (grub_multiboot_unload): Unload relocator.
10355 (grub_cmd_multiboot): Use relocator.
10356 (grub_cmd_module): Likewise.
10357 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10358 Use relocator and support sections.
10359 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10360 (elf_sec_entsize): Likewise.
10361 (elf_sec_shstrndx): Likewise.
10362 (elf_sections): Likewise.
10363 (grub_multiboot_load): Use relocator.
10364 (grub_multiboot_get_mbi_size): Account for sections.
10365 (grub_multiboot_make_mbi): Use relocator and support sections.
10366 (grub_multiboot_add_elfsyms): New function.
10367 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10368 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10369 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10370 Prototype changed. All users updated.
10371 (grub_xnu_align_heap): Simplified.
10372 (grub_xnu_writetree_toheap): Likewise.
10373 (grub_xnu_unload): Unload relocator.
10374 (grub_cmd_xnu_kernel): Use relocator.
10375 (grub_cmd_xnu_kernel64): Likewise.
10376 (grub_xnu_register_memory): Simplified.
10377 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10378 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10379 EFI is finished.
10380 (grub_console_checkkey): Likewise.
10381 (grub_console_getkey): Likewise.
10382 (grub_console_getwh): Likewise.
10383 (grub_console_getxy): Likewise.
10384 (grub_console_gotoxy): Likewise.
10385 (grub_console_cls): Likewise.
10386 (grub_console_setcolorstate): Likewise.
10387 (grub_console_setcursor): Likewise.
10388 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10389 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10390 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10391 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10392 * grub-core/tests/boot/kernel-8086.S: Likewise.
10393 * grub-core/tests/boot/kernel-i386.S: Likewise.
10394 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10395 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10396 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10397 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10398 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10399 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10400 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10401 * grub-core/tests/boot/linux.cfg: Likewise.
10402 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10403 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10404 * grub-core/tests/boot/linux16.cfg: Likewise.
10405 * grub-core/tests/boot/multiboot.cfg: Likewise.
10406 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10407 * grub-core/tests/boot/ntldr.cfg: Likewise.
10408 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10409 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10410 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10411 New definition.
10412 * include/grub/dl.h (grub_dl_unload_all): Removed.
10413 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10414 (grub_efi_finish_boot_services): Change prototype.
10415 (grub_efi_is_finished): New variable.
10416 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10417 Changed prototype.
10418 (grub_efiemu_finish_boot_services): Removed.
10419 (grub_machine_efiemu_init_tables): New prototype.
10420 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10421 (grub_elf64_phdr_iterate): Likewise.
10422 * include/grub/i386/bsd.h: Include relocator.h.
10423 (freebsd_tag_header): New struct.
10424 (grub_openbsd_bios_mmap): Removed.
10425 (grub_unix_real_boot): Removed.
10426 (grub_freebsd_load_elfmodule32): Changed prototype.
10427 (grub_freebsd_load_elfmodule_obj64): Likewise.
10428 (grub_freebsd_load_elf_meta32): Likewise.
10429 (grub_freebsd_load_elf_meta64): Likewise.
10430 (grub_freebsd_add_meta): Removed.
10431 (grub_netbsd_load_elf_meta32): New prototype.
10432 (grub_netbsd_load_elf_meta64): Likewise.
10433 (grub_bsd_add_meta): Likewise.
10434 (grub_openbsd_ramdisk_descriptor): New struct.
10435 (grub_openbsd_find_ramdisk32): New prototype.
10436 (grub_openbsd_find_ramdisk64): Likewise.
10437 * include/grub/i386/coreboot/loader.h: Removed.
10438 * include/grub/i386/efi/loader.h: Likewise.
10439 * include/grub/i386/ieee1275/loader.h: Likewise.
10440 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10441 to grub_uint32_t.
10442 * include/grub/i386/loader.h: Removed.
10443 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10444 value.
10445 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10446 (grub_phys_addr_t): New type.
10447 (grub_vtop): New inline function.
10448 (grub_map_memory): Likewise.
10449 (grub_unmap_memory): Likewise.
10450 * include/grub/i386/multiboot/loader.h: Removed.
10451 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10452 (NETBSD_BTINFO_CONSOLE): New definition.
10453 (NETBSD_BTINFO_SYMTAB): Likewise.
10454 (NETBSD_BTINFO_MODULES): Likewise.
10455 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10456 (grub_netbsd_bootinfo): New struct.
10457 (grub_netbsd_btinfo_common): Use explicit bitsize.
10458 (grub_netbsd_btinfo_mmap_entry): Removed.
10459 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10460 (grub_netbsd_btinfo_bootdisk): New struct.
10461 (grub_netbsd_btinfo_symtab): Likewise.
10462 (grub_netbsd_btinfo_serial): Likewise.
10463 (grub_netbsd_btinfo_modules): Likewise.
10464 (grub_netbsd_btinfo_framebuf): Likewise.
10465 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10466 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10467 Likewise.
10468 (grub_openbsd_bootargs): Use explicit bitsize.
10469 (grub_openbsd_bootarg_console): New struct.
10470 (GRUB_OPENBSD_COM_MAJOR): New definition.
10471 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10472 * include/grub/i386/pc/efiemu.h: Removed.
10473 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10474 * include/grub/i386/qemu/loader.h: Removed.
10475 * include/grub/i386/relocator.h: Rewritten.
10476 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10477 * include/grub/mips/memory.h: New file.
10478 * include/grub/mips/multiboot.h: Rewritten.
10479 * include/grub/mips/relocator.h: Rewritten.
10480 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10481 (grub_vtop): New function.
10482 (grub_map_memory): Likewise.
10483 (grub_unmap_memory): Likewise.
10484 * include/grub/misc.h (ALIGN_DOWN): New definition.
10485 * include/grub/mm.h (grub_mm_check_real): New proto.
10486 (GRUB_MM_CHECK): New definition.
10487 * include/grub/mm_private.h: New file.
10488 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10489 (grub_multiboot_get_mbi_size): Removed.
10490 (grub_multiboot_make_mbi): Change prottype.
10491 (grub_multiboot_set_accepts_video): New proto.
10492 (grub_multiboot_add_elfsyms): Likewise.
10493 (grub_multiboot_payload_eip): New variable.
10494 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10495 New prototype.
10496 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10497 New definition.
10498 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10499 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10500 * include/grub/powerpc/ieee1275/loader.h: Removed.
10501 * include/grub/powerpc/memory.h: New file.
10502 * include/grub/powerpc/relocator.h: Likewise.
10503 * include/grub/relocator.h: Likewise.
10504 * include/grub/relocator_private.h: Likewise.
10505 * include/grub/sparc64/ieee1275/loader.h: Removed.
10506 * include/grub/x86_64/memory.h: New file.
10507 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10508 (grub_xnu_heap_malloc): Likewise.
10509 (grub_xnu_heap_real_start): Removed.
10510 (grub_xnu_heap_start): Likewise.
10511 (grub_xnu_relocator): New variable.
10512 (grub_xnu_heap_target_start): Likewise.
10513 * tests/util/grub-shell.in: Support non-pc.
10514 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10515
10516 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10519 on malloc error.
10520 (grub_bidi_logical_to_visual): Check that malloc succeded.
10521 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10522 puts.
10523 (grub_xputs_normal): Likewise.
10524
10525 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10528 extra_dist.
10529
10530 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10533
10534 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10537
10538 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10541 dprintf.
10542
10543 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10544
10545 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10546
10547 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * grub-core/normal/term.c (print_more): Fix a memory leak.
10550 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10551 (grub_xputs_normal): Likewise.
10552
10553 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10556 the begining of the string
10557
10558 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * grub-core/script/script.c (grub_script_parse): Free parsed on
10561 failure.
10562
10563 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10566 on failure.
10567
10568 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10571 return.
10572
10573 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10576 (scroll_up): Fix a memory leak.
10577
10578 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10581 errors.
10582
10583 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 Handle USB pendrives exposed as floppies.
10586
10587 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10588 floppy.
10589 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10590 Check for partitions on all devices.
10591
10592 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10595 (readkey): Likewise.
10596
10597 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10598
10599 Multiple variable names support to "export" command.
10600
10601 * normal/context.c (grub_cmd_export): "export" command supports
10602 multiple variable names.
10603
10604 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10605
10606 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10607 --target=drive output to Mach device name.
10608
10609 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10610
10611 New Automake based build system for GRUB.
10612
10613 * ABOUT-NLS: New file.
10614 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10615 in Makefile.util.def file.
10616 * Makefile.util.def: New file. Autogen build definitions file for
10617 GRUB host utils.
10618 * conf/Makefile.common: New file. Common variables for GRUB host
10619 utils and target modules.
10620 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10621 * docs/Makefile.am: New file. Automake file for docs.
10622 * gentpl.py: New file. Python script to generate Autogen
10623 template.
10624 * grub-core/Makefile.am: New file. GRUB target modules' rules
10625 that doesn't fit in Makefile.core.def file.
10626 * grub-core/Makefile.core.def: New file. Autogen build
10627 definitions file for GRUB target modules.
10628 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10629 specific setjmp.S file.
10630 * po/Makefile.am: New file.
10631
10632 * .bzrignore: New ignores.
10633 * INSTALL: New requirements, without Ruby.
10634 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10635 * autogen.sh: Updated to invoke autogen as necessary.
10636 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10637 and defines for Automake conditionals.
10638 * geninit.sh: Refactoring.
10639
10640 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10641 necessary.
10642 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10643 New prototype.
10644
10645 * include/grub/test.h: Fix functional test modules' naming.
10646 * grub-core/tests/example_functional_test.c: Fix test module name.
10647
10648 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10649 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10650 * util/grub-editenv.c: Likewise.
10651 * util/grub-fstest.c: Likewise.
10652 * util/grub-mkdevicemap.c: Likewise.
10653 * util/grub-mkfont.c: Likewise.
10654 * util/grub-mkimage.c: Likewise.
10655 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10656 * util/grub-probe.c: Likewise.
10657 * util/grub-script-check.c: Likewise.
10658 * util/i386/pc/grub-setup.c: Likewise.
10659 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10660
10661 * tests/util/grub-shell.in: Fix override directory path.
10662 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10663 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10664
10665 * util/lvm.c: Update #includes.
10666 * util/raid.c: Likewise.
10667 * util/resolve.c: Likewise.
10668 * grub-core/bus/emu/pci.c: Likewise.
10669 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10670 * grub-core/lib/posix_wrap/string.h: Likewise.
10671 * grub-core/kern/emu/main.c: Likewise.
10672
10673 * grub-core/gensymlist.sh: New file. Script for generating kernel
10674 symbols file.
10675 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10676
10677 * grub-core/gentrigtables.c: Fix unused variable warnings.
10678
10679 * Makefile.in: Removed.
10680 * conf/any-emu.rmk: Removed.
10681 * conf/common.rmk: Removed.
10682 * conf/i386-coreboot.rmk: Removed.
10683 * conf/i386-efi.rmk: Removed.
10684 * conf/i386-ieee1275.rmk: Removed.
10685 * conf/i386-multiboot.rmk: Removed.
10686 * conf/i386-pc.rmk: Removed.
10687 * conf/i386-qemu.rmk: Removed.
10688 * conf/i386.rmk: Removed.
10689 * conf/mips-yeeloong.rmk: Removed.
10690 * conf/mips.rmk: Removed.
10691 * conf/powerpc-ieee1275.rmk: Removed.
10692 * conf/sparc64-ieee1275.rmk: Removed.
10693 * conf/tests.rmk: Removed.
10694 * conf/x86-efi.rmk: Removed.
10695 * conf/x86_64-efi.rmk: Removed.
10696 * gendistlist.sh: Removed.
10697 * geninitheader.sh: Removed.
10698 * genkernsyms.sh.in: Removed.
10699 * genmk.rb: Removed.
10700 * gensymlist.sh.in: Removed.
10701 * mkinstalldirs: Removed.
10702 * boot: Moved ...
10703 * grub-core/boot: ... to here.
10704 * bus: Moved ...
10705 * grub-core/bus: ... to here.
10706 * commands: Moved ...
10707 * grub-core/commands: ... to here.
10708 * disk: Moved ...
10709 * grub-core/disk: ... to here.
10710 * efiemu: Moved ...
10711 * grub-core/efiemu: ... to here.
10712 * font: Moved ...
10713 * grub-core/font: ... to here.
10714 * fs: Moved ...
10715 * grub-core/fs: ... to here.
10716 * gencmdlist.sh: Moved ...
10717 * grub-core/gencmdlist.sh: ... to here.
10718 * genemuinit.sh: Moved ...
10719 * grub-core/genemuinit.sh: ... to here.
10720 * genemuinitheader.sh: Moved ...
10721 * grub-core/genemuinitheader.sh: ... to here.
10722 * genfslist.sh: Moved ...
10723 * grub-core/genfslist.sh: ... to here.
10724 * genhandlerlist.sh: Moved ...
10725 * grub-core/genhandlerlist.sh: ... to here.
10726 * genmoddep.awk: Moved ...
10727 * grub-core/genmoddep.awk: ... to here.
10728 * genmodsrc.sh: Moved ...
10729 * grub-core/genmodsrc.sh: ... to here.
10730 * genpartmaplist.sh: Moved ...
10731 * grub-core/genpartmaplist.sh: ... to here.
10732 * genparttoollist.sh: Moved ...
10733 * grub-core/genparttoollist.sh: ... to here.
10734 * genterminallist.sh: Moved ...
10735 * grub-core/genterminallist.sh: ... to here.
10736 * gentrigtables.c: Moved ...
10737 * grub-core/gentrigtables.c: ... to here.
10738 * genvideolist.sh: Moved ...
10739 * grub-core/genvideolist.sh: ... to here.
10740 * gettext: Moved ...
10741 * grub-core/gettext: ... to here.
10742 * gfxmenu: Moved ...
10743 * grub-core/gfxmenu: ... to here.
10744 * gnulib: Moved ...
10745 * grub-core/gnulib: ... to here.
10746 * hello: Moved ...
10747 * grub-core/hello: ... to here.
10748 * hook: Moved ...
10749 * grub-core/hook: ... to here.
10750 * io: Moved ...
10751 * grub-core/io: ... to here.
10752 * kern: Moved ...
10753 * grub-core/kern: ... to here.
10754 * lib: Moved ...
10755 * grub-core/lib: ... to here.
10756 * loader: Moved ...
10757 * grub-core/loader: ... to here.
10758 * mmap: Moved ...
10759 * grub-core/mmap: ... to here.
10760 * normal: Moved ...
10761 * grub-core/normal: ... to here.
10762 * partmap: Moved ...
10763 * grub-core/partmap: ... to here.
10764 * parttool: Moved ...
10765 * grub-core/parttool: ... to here.
10766 * script: Moved ...
10767 * grub-core/script: ... to here.
10768 * term: Moved ...
10769 * grub-core/term: ... to here
10770 * tests/example_functional_test.c: Moved ...
10771 * grub-core/tests/example_functional_test.c: ... to here.
10772 * tests/lib/functional_test.c: Moved ...
10773 * grub-core/tests/lib/functional_test.c: ... to here.
10774 * tests/lib/test.c: Moved ...
10775 * grub-core/tests/lib/test.c: ... to here.
10776 * video: Moved ...
10777 * grub-core/video: ... to here.
10778
10779 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10780
10781 Replace --enable-grub-emu-modules with grub-emu-lite.
10782
10783 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10784 cache.S.
10785
10786 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10787 * kern/emu/full.c: New file. For grub-emu specific initialization.
10788 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10789 * kern/emu/main.c: Call initialization function grub_emu_init.
10790
10791 * Makefile.in: Include grub-emu-lite in install.
10792 * commands/parttool.c: Use grub_no_autoload to differentiate
10793 between grub-emu and grub-emu-lite.
10794 * include/grub/misc.h: New variable grub_no_autoload.
10795
10796 * conf/any-emu.rmk: New rules for grub-emu-lite.
10797 * configure.ac: Remove --enable-grub-emu-modules.
10798 * genmk.rb: Cleanup unnecessary rules.
10799 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10800
10801 * normal/main.c: Don't load list files on grub-emu-lite.
10802 * util/misc.c (grub_arch_sync_caches): Removed.
10803
10804 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
10805
10806 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10807 grub-mkimage rather than grub-mkelfimage.
10808 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10809
10810 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10813 a key after CapsLock or NumLock. It's just a qemu bug.
10814
10815 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10818 needed by libusb wrapper.
10819
10820 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10821
10822 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10823
10824 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10827 --nounzip is passed.
10828
10829 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 USB hotunplugging and USB serial support.
10832
10833 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10834 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10835 (grub_uhci_transfer): Respect timeout and set *actual.
10836 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10837 non-standard length.
10838 (grub_usb_device_attach): Autoload modules.
10839 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10840 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10841 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10842 users updated.
10843 (grub_usb_add_hub): Fill nports and children.
10844 (attach_root_port): Receive hub instead of controller.
10845 All users updated. Fill hub->devices.
10846 (grub_usb_root_hub): Allocate hub->devices.
10847 (detach_device): New function.
10848 (poll_nonroot_hub): Fill children and detach devices.
10849 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10850 actual arguments. All users updated.
10851 (grub_usb_bulk_read_extended): New function.
10852 * bus/usb/serial/common.c: New file.
10853 * bus/usb/serial/ftdi.c: Likewise.
10854 * bus/usb/serial/pl2303.c: Likewise.
10855 * commands/terminal.c (handle_command): Support wildcard.
10856 * commands/usbtest.c: Output "Unknown" instead of empty string.
10857 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10858 (usbserial_common_mod_SOURCES): New variable.
10859 (usbserial_common_mod_CFLAGS): Likewise.
10860 (usbserial_common_mod_LDFLAGS): Likewise.
10861 (pkglib_MODULES): Add usbserial_pl2303.mod.
10862 (usbserial_pl2303_mod_SOURCES): New variable.
10863 (usbserial_pl2303_mod_CFLAGS): Likewise.
10864 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10865 (pkglib_MODULES): Add usbserial_ftdi.mod.
10866 (usbserial_ftdi_mod_SOURCES): New variable.
10867 (usbserial_ftdi_mod_CFLAGS): Likewise.
10868 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10869 (pkglib_MODULES): Add serial.mod.
10870 (serial_mod_SOURCES): New variable.
10871 (serial_mod_CFLAGS): Likewise.
10872 (serial_mod_LDFLAGS): Likewise.
10873 * conf/i386-pc.rmk: Likewise.
10874 * conf/mips-yeeloong.rmk: Likewise.
10875 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10876 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10877 * disk/usbms.c (first_available_slot): New variable.
10878 (grub_usbms_attach): Don't reuse free slots due to potential cache
10879 problems.
10880 * include/grub/serial.h: Moved to ..
10881 * include/grub/ns8250.h: ...this.
10882 * include/grub/serial.h: New file.
10883 * include/grub/term.h (grub_term_poll_usb): New variable.
10884 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10885 readkey. All users updated.
10886 (grub_terminfo_output_state): Pass term to put.
10887 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10888 (grub_usb_controller_dev): Add timeout and actual arguments to
10889 transfer. All users updated.
10890 (grub_usb_interface): New field detach_data.
10891 (grub_usb_device): New fields children and nports.
10892 (grub_usb_ep_type_t): New type.
10893 (grub_usb_get_ep_type): New function.
10894 (grub_usb_bulk_read_extended): Likewise.
10895 * include/grub/usbdesc.h (grub_usb_desc): New type.
10896 * include/grub/usbserial.h: New file.
10897 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10898 * kern/term.c (grub_term_poll_usb): New variable.
10899 (grub_getkey): Call grub_term_poll_usb if set.
10900 (grub_checkkey): Likewise.
10901 (grub_getkeystatus): Likewise.
10902 * term/serial.c: Moved controller-specific parts to ...
10903 * term/ns8250.c: ... here.
10904 * term/serial.c: Mostly rewritten.
10905 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10906 according to spec.
10907
10908 2010-08-20 Robert Millan <rmh@gnu.org>
10909
10910 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10911 a separate module and maybe other interesting combinations.
10912
10913 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10914 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10915 (kfreebsd_entry): Add generic filesystem module load routine.
10916 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10917
10918 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10919
10920 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10921 "numcenter" (I misunderstood the purpose of this entry).
10922 * docs/grub.texi (sendkey): Likewise.
10923
10924 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10925
10926 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10927 status flag options; simply omitting the option is equivalent and
10928 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10929 (keysym_table): Rename "num5numlock" to "numlock".
10930 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10931 can uniformly say that only the last of multiple `sendkey'
10932 invocations has any effect.
10933 * docs/grub.texi (sendkey): New section.
10934
10935 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
10936
10937 * commands/i386/pc/sendkey.c (options): Fix three typos.
10938
10939 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Implement sendkey support.
10942
10943 * commands/i386/pc/sendkey.c: New file.
10944 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10945 (sendkey_mod_SOURCES): New variable.
10946 (sendkey_mod_CFLAGS): Likewise.
10947 (sendkey_mod_LDFLAGS): Likewise.
10948
10949 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10950
10951 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10952 fix warnings from Autoconf.
10953
10954 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10955
10956 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10957 to avoid false positives with some assemblers that output things
10958 like "someprefix_func" as part of their output.
10959
10960 2010-08-15 Robert Millan <rmh@gnu.org>
10961
10962 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10963 errors.
10964 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10965 grub_get_libzfs_handle() errors.
10966
10967 2010-08-14 Robert Millan <rmh@gnu.org>
10968
10969 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10970 filesystem is not ZFS.
10971
10972 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10973
10974 Fix for misspelled color names defaulting to black/black (bug
10975 reported by Doug Nazar)
10976
10977 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10978 status to prototype.
10979 * normal/color.c (grub_parse_color_name_pair): Return failure
10980 status.
10981 (grub_env_write_color_normal): Ignore bad color names.
10982 (grub_env_write_color_highlight): Likewise.
10983 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10984
10985 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10986
10987 "shift" command support to GRUB script.
10988
10989 * include/grub/script_sh.h (grub_script_shift): New prototype.
10990 * script/execute.c (grub_script_shift): New function.
10991 * script/main.c (grub_script_init): Register shift command.
10992 (grub_script_fini): Unregister shift command.
10993 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10994
10995 * tests/grub_script_shift.in: New testcase.
10996 * conf/tests.rmk: Rules for new testcase.
10997
10998 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10999
11000 "continue" command support to GRUB script.
11001
11002 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11003 (grub_script_break): Continue support.
11004 * script/main.c (grub_script_init): Register continue command.
11005 (grub_script_fini): Unregister continue command.
11006
11007 * tests/grub_script_continue.in: New testcase.
11008 * conf/tests.rmk: Rules for new testcase.
11009
11010 2010-08-12 BVK Chaitanya <bvk@dbook>
11011
11012 "break" command support to GRUB script.
11013
11014 * conf/common.rmk: Rule updates to grub-script-check.
11015 * include/grub/misc.h (grub_min): New function.
11016 * include/grub/script_sh.h (grub_script_init): New prototype.
11017 (grub_script_fini): New prototype.
11018 (grub_script_break): New prototype.
11019 * script/main.c (grub_script_init): New function.
11020 (grub_script_fini): New function.
11021 * script/execute.c (grub_script_break): New function.
11022 * normal/main.c: Calls to grub_script_{init,fini}.
11023 * util/grub-script-check.c (grub_script_break): New function.
11024
11025 * tests/grub_script_break.in: New testcase.
11026 * conf/tests.rmk: Rules for new test case.
11027
11028 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11029
11030 Function parameters support to GRUB script.
11031
11032 * script/yylex.l (VARIABLE): Regular expression update.
11033 * script/function.c (grub_script_function_call): Moved ...
11034 * script/execute.c (grub_script_function_call): ... to here.
11035 (grub_script_execute_arglist_to_argv): Removed.
11036 (grub_script_arglist_to_argv): New function.
11037 * script/argv.c: New file.
11038 (grub_script_argv_free): New function.
11039 (grub_script_argv_next): Likewise.
11040 (grub_script_argv_append): Likewise.
11041 (grub_script_argv_split_append): Likewise.
11042 * include/grub/script_sh.h (grub_script_argv): New struct.
11043 (grub_script_argv_free): New function.
11044 (grub_script_argv_next): Likewise.
11045 (grub_script_argv_append): Likewise.
11046 (grub_script_argv_split_append): Likewise.
11047
11048 * conf/common.rmk (normal.mod): New source script/argv.c.
11049
11050 * tests/grub_script_echo1.in: More tests.
11051 * tests/grub_script_vars1.in: Likewise.
11052 * tests/grub_script_functions.in: New test case.
11053 * conf/tests.rmk: Rules for new testcase.
11054
11055 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11056
11057 Remove grub_script_cmdblock struct.
11058
11059 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11060 * script/parser.y: Likewise.
11061 * script/execute.c: Rename cmdblock suffix to cmdlist.
11062 * script/script.c: Likewise.
11063 * util/grub-script-check.c: Likewise.
11064
11065 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11066
11067 * .bzrignore: add grub-macho2img
11068
11069 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11072
11073 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 Remove the dump of sm712 initialisation sequence.
11076
11077 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11078 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11079 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11080 (GRUB_VGA_CR_*): Added many registers.
11081 (GRUB_VGA_SR_*): Likewise.
11082 (GRUB_VGA_GR_*): Likewise.
11083 (grub_vga_write_arx): New function.
11084 (grub_video_hw_config): New struct.
11085 (grub_vga_set_geometry): New function.
11086 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11087 GRUB_PCI_CLASS_SUBCLASS_VGA.
11088 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11089 * video/sm712.c (grub_sm712_write_reg): New function
11090 (grub_sm712_read_reg): Likewise.
11091 (grub_sm712_sr_write): Likewise.
11092 (grub_sm712_gr_write): Likewise.
11093 (grub_sm712_cr_write): Likewise.
11094 (grub_sm712_write_arx): Likewise.
11095 (grub_sm712_cr_shadow_write): Likewise.
11096 (grub_sm712_write_dda_lookup): Likewise.
11097 (grub_video_sm712_setup): Initialise the video rather then
11098 blindly replay the dump.
11099 (main) [TEST]: Add a routine to be able to compile as standalone for
11100 tests.
11101 * video/sm712_init.c (sm712_init): Removed.
11102 (sm712_sr_seq1): New array.
11103 (sm712_sr_seq2): Likewise.
11104
11105 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * include/grub/vga.h: Add missing grub/pci.h include.
11108
11109 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11110
11111 * util/grub-macho2img.c (main): fix typo
11112
11113 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11116 (grub_vga_gr_read): Likewise.
11117 (grub_vga_cr_write): Likewise.
11118 (grub_vga_cr_read): Likewise.
11119 (grub_vga_sr_write): Likewise.
11120 (grub_vga_sr_read): Likewise.
11121 (grub_vga_palette_read): Likewise.
11122 (grub_vga_palette_write): Likewise.
11123 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11124 (grub_sm712_sr_read): New function.
11125 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11126 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11127
11128 2010-08-09 Robert Millan <rmh@gnu.org>
11129
11130 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11131 out unused variables on non-ZFS build.
11132
11133 2010-08-08 Robert Millan <rmh@gnu.org>
11134
11135 Fix path generation for sub-filesystems in ZFS.
11136
11137 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11138 missing slash.
11139
11140 2010-08-08 Robert Millan <rmh@gnu.org>
11141
11142 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11143
11144 2010-08-08 Robert Millan <rmh@gnu.org>
11145
11146 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11147 exist, issue a proper error message (rely on `ls' for translated
11148 strings).
11149
11150 2010-08-08 Robert Millan <rmh@gnu.org>
11151
11152 Fix grub-probe invocation.
11153
11154 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11155
11156 2010-08-04 Robert Millan <rmh@gnu.org>
11157
11158 * configure.ac: Remove checks for getfsstat() and getmntany().
11159 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11160 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11161 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11162 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11163 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11164 function.
11165 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11166 via find_mount_point_from_dir() and getfsstat() / getmntany().
11167
11168 2010-08-04 Robert Millan <rmh@gnu.org>
11169
11170 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11171 (grub_find_zpool_from_mount_point): Merge into ...
11172 (grub_find_zpool_from_dir): ... this.
11173 * kern/emu/misc.c: Likewise.
11174
11175 * kern/emu/misc.c
11176 (grub_make_system_path_relative_to_its_root): Replace
11177 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11178 with grub_find_zpool_from_dir().
11179 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11180
11181 2010-08-04 Robert Millan <rmh@gnu.org>
11182
11183 Support OpenSolaris in ZFS device resolution.
11184
11185 * configure.ac: Check for getmntany().
11186 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11187 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11188 support.
11189
11190 2010-08-03 Robert Millan <rmh@gnu.org>
11191
11192 Fix grub-emu build.
11193
11194 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11195 * include/grub/emu/misc.h: ... here.
11196
11197 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11198 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11199
11200 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11201 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11202 (grub_get_libzfs_handle): Move to ...
11203 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11204 (grub_get_libzfs_handle): ... here.
11205
11206 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11207
11208 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11209 as command name case.
11210
11211 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11212
11213 * disk/raid.c (insert_array): Select unique numbers for named arrays
11214 as well, for use as keys in the disk cache.
11215
11216 2010-08-01 Robert Millan <rmh@gnu.org>
11217
11218 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11219 kFreeBSD device name, except on ZFS where the filesystem label is
11220 used.
11221 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11222 `/boot/zfs/zpool.cache'.
11223 Set mountfrom kernel variable using ${kfreebsd_device}.
11224
11225 2010-08-01 Robert Millan <rmh@gnu.org>
11226
11227 Make it even harder to use uninitialized `libzfs_handle' (and
11228 make the interface a bit simpler).
11229
11230 * include/grub/util/misc.h (grub_util_init_libzfs)
11231 (libzfs_handle): Remove.
11232 (grub_get_libzfs_handle): New prototype.
11233
11234 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11235 attribute.
11236 (grub_util_init_libzfs): Remove.
11237 (grub_get_libzfs_handle): New function.
11238
11239 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11240 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11241 accessing `libzfs_handle' directly.
11242
11243 2010-08-01 Robert Millan <rmh@gnu.org>
11244
11245 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11246 (grub_find_zpool_from_mount_point): New function prototypes.
11247
11248 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11249 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11250
11251 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11252 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11253 `static' attribute.
11254
11255 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11256 finding zpool from mount point into ...
11257 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11258
11259 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11260 requested path is part of a ZFS pool, use
11261 grub_find_zpool_from_mount_point() to detect its filesystem name,
11262 and generate a path with `/fsname@path' syntax.
11263
11264 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11265
11266 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11267 (void) rather than () so that this is a proper prototype.
11268
11269 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11272
11273 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11276 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11277
11278 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11279
11280 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11281
11282 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11283
11284 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11285
11286 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11287
11288 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11289 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11290 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11291 disable gfxpayload.
11292 (Shell-like scripting): Add real content.
11293 (Serial terminal): Suggest `terminal_input serial; terminal_output
11294 serial' rather than putting the two commands on separate lines,
11295 since console input will be inoperative after the first command.
11296 (menuentry): Document --class, --users, and --hotkey options.
11297 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11298 Vladimir Serbinenko).
11299
11300 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11301 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11302
11303 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11304
11305 2010-08-01 Robert Millan <rmh@gnu.org>
11306
11307 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11308 (grub_find_zpool_from_mount_point): New function prototypes.
11309
11310 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11311 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11312
11313 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11314 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11315 `static' attribute.
11316
11317 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11318 finding zpool from mount point into ...
11319 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11320
11321 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11322 requested path is part of a ZFS pool, use
11323 grub_find_zpool_from_mount_point() to detect its filesystem name,
11324 and generate a path with `/fsname@path' syntax.
11325
11326 2010-08-01 Robert Millan <rmh@gnu.org>
11327
11328 Prevent accidental use of uninitialized libzfs_handle.
11329
11330 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11331 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11332 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11333
11334 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11335
11336 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11337 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11338
11339 2010-08-01 Robert Millan <rmh@gnu.org>
11340
11341 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11342
11343 2010-07-31 Robert Millan <rmh@gnu.org>
11344
11345 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11346
11347 2010-07-31 Robert Millan <rmh@gnu.org>
11348
11349 * kern/emu/misc.c: Add missing license header.
11350
11351 2010-07-31 Robert Millan <rmh@gnu.org>
11352
11353 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11354
11355 * include/grub/util/libnvpair.h: Include `<config.h>'.
11356 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11357 declaring libnvpair prototypes ourselves.
11358 * include/grub/util/libzfs.h: Include `<config.h>'.
11359 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11360 declaring libzfs prototypes ourselves.
11361
11362 (libzfs_handle): Moved to ...
11363 * include/grub/util/misc.h (libzfs_handle): ... here.
11364 Include `<grub/util/libzfs.h>'.
11365
11366 2010-07-30 Robert Millan <rmh@gnu.org>
11367
11368 * include/grub/emu/misc.h: Add missing license header.
11369
11370 2010-07-30 Robert Millan <rmh@gnu.org>
11371
11372 Enable `grub-probe -t device' resolution on ZFS.
11373
11374 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11375 * include/grub/util/libnvpair.h: New file.
11376 * include/grub/util/libzfs.h: New file.
11377
11378 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11379 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11380 `<grub/util/libnvpair.h>'.
11381 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11382
11383 (find_mount_point_from_dir): New static function.
11384 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11385 function.
11386 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11387 find_root_device_from_libzfs() before ressorting to find_root_device().
11388
11389 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11390 prototype.
11391 * util/misc.c: Include `<grub/util/libzfs.h>'.
11392 (grub_util_init_libzfs): New function.
11393 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11394 [HAVE_LIBZFS] (fini_libzfs): New static function.
11395 (grub_util_init_libzfs): New function.
11396 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11397
11398 2010-07-30 Robert Millan <rmh@gnu.org>
11399
11400 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11401 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11402 `warn_unused_result' attribute.
11403 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11404 (grub_xasprintf, grub_xvasprintf): Likewise.
11405 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11406
11407 2010-07-29 Robert Millan <rmh@gnu.org>
11408
11409 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11410 (probe): Handle `PRINT_FS_LABEL'.
11411 (main): Handle `-t fs_label'.
11412
11413 2010-07-29 Robert Millan <rmh@gnu.org>
11414
11415 * configure.ac: Remove grub-mkisofs checks.
11416
11417 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11420 Reported by: Lennart Sorensen.
11421
11422 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11425 prior to terminal_input/terminal_output separation. It's been over 1.5
11426 years and those versions weren't widely deployed.
11427
11428 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11429
11430 * disk/raid.c (insert_array): Don't count named arrays when looking
11431 for unused array numbers.
11432 Reported and tested by: Michael Guntsche.
11433
11434 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11435
11436 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11437 implementation of this so that grub-emu links again, with a note
11438 that this should support hotplugging in the future.
11439
11440 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11441
11442 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11443
11444 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11447 handle on failure.
11448 (grub_loopback_close): Remove empty function.
11449 (grub_loopback_dev): Remove close method.
11450
11451 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11452
11453 Disable EFI cursor when the EFI console becomes inactive.
11454
11455 * term/efi/console.c (grub_efi_console_init): New function.
11456 (grub_efi_console_fini): New function.
11457 (grub_console_term_output): Register init and fini methods.
11458
11459 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11462 sh script.
11463
11464 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * disk/loopback.c (grub_loopback): Replace filename with file.
11467 (delete_loopback): Handle new semantics.
11468 (grub_cmd_loopback): Likewise.
11469 (grub_loopback_iterate): Likewise.
11470 (grub_loopback_close): Likewise.
11471
11472 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11475 with -p "".
11476 Reported by: Tito Keitel.
11477
11478 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * docs/grub.texi (Naming convention): Document new naming convention.
11481
11482 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11483 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11484
11485 Generate device.map in something closer to the old ordering.
11486
11487 * util/deviceiter.c (struct device): New declaration.
11488 (compare_file_names): Rename to ...
11489 (compare_devices): ... this. Sort by kernel name in preference to
11490 the stable by-id name, but keep the latter as a fallback comparison.
11491 Update header comment.
11492 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11493 of `struct device' rather than of plain file names.
11494
11495 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11496
11497 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11498 on i386.
11499
11500 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11503 hardcoding size.
11504 (setv1table): Likewise.
11505
11506 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11507
11508 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11509 removing the homehost if present.
11510 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11511 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11512 removing the homehost if present.
11513 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11514 if possible.
11515 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11516
11517 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11518 parameter. Set its pointer target to 0.
11519 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11520 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11521 `data_offset' value from the superblock for 1.x metadata.
11522 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11523 data on the device.
11524 (insert_array): Record the start sector of data on the device.
11525 (grub_raid_register): Pass start_sector parameters to
11526 grub_raid_list->detect and insert_array.
11527 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11528 member.
11529 (struct grub_raid): Add start_sector parameter to `detect'.
11530
11531 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11532 __attribute__ ((packed)), leaving a comment.
11533 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11534 (grub_mdraid_detect_09): ... here and ...
11535 (grub_mdraid_detect_1x): ... here.
11536
11537 2010-07-20 Peter Henn <peter.henn@web.de>
11538
11539 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11540 chunk size and disk size, which are already given as sector counts
11541 as distinct from the 0.90 units. Fetch the correct device number
11542 from the role table instead of using the table index.
11543
11544 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11545
11546 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11547 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11548 (WriteMostly1): New macro.
11549 Set array->name to NULL for metadata format 0.90. Add support for
11550 metadata 1.x. Fix some comments.
11551 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11552 few comments.
11553 * util/getroot.c (grub_util_get_grub_dev): Add support for
11554 /dev/md/name style devices.
11555
11556 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11557
11558 * .bzrignore: Ignore 20_linux_xen.
11559
11560 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11561
11562 * util/import_unicode.py: Remove unnecessary imports.
11563
11564 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11565
11566 Hotplugging and USB hub support.
11567
11568 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11569 (grub_ohci): Likewise.
11570 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11571 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11572 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11573 (GRUB_OHCI_CTRL_EDS): Likewise.
11574 (GRUB_OHCI_BULK_EDS): Likewise.
11575 (GRUB_OHCI_TDS): Likewise.
11576 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11577 (grub_ohci_ed_phys2virt): New function.
11578 (grub_ohci_virt_to_phys): Likewise.
11579 (grub_ohci_td_phys2virt): Likewise.
11580 (grub_ohci_td_virt2phys): Likewise.
11581 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11582 attachment.
11583 (grub_ohci_find_ed): New function.
11584 (grub_ohci_alloc_td): Likewise.
11585 (grub_ohci_free_td): Likewise.
11586 (grub_ohci_free_tds): Likewise.
11587 (grub_ohci_transfer): Use previously allocated memory.
11588 (grub_ohci_portstatus): Reset status changed bit.
11589 (grub_ohci_detect_dev): Supply status changed.
11590 (grub_ohci_fini_hw): Free memory.
11591 (grub_ohci_restore_hw): Reallocate memory.
11592 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11593 Reset status change.
11594 (grub_uhci_detect_dev): Supply status_change.
11595 * bus/usb/usb.c (attach_hooks): New var.
11596 (grub_usb_device_attach): New function.
11597 (grub_usb_register_attach_hook_class): Likewise.
11598 (grub_usb_unregister_attach_hook_class): Likewise.
11599 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11600 (grub_usb_add_hub): Reset connection changed bit.
11601 (attach_root_port): New function.
11602 (grub_usb_root_hub): Likewise.
11603 (poll_nonroot_hub): Likewise.
11604 (grub_usb_poll_devices): Likewise.
11605 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11606 * disk/usbms.c (grub_usbms_open): Use device hooks.
11607 (grub_usbms_iterate) :Poll devices.
11608 (grub_usbms_finddevs): Split into ...
11609 (grub_usbms_attach): ... this ...
11610 (grub_usbms_attach): ... and this.
11611 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11612 in detect_dev.
11613 (grub_usb_interface): New fields attached and detach_hook.
11614 (grub_usb_attach_hook_class): New type.
11615 (grub_usb_attach_desc): New struct.
11616 (grub_usb_register_attach_hook_class): New function.
11617 (grub_usb_unregister_attach_hook_class): Likewise.
11618 (grub_usb_poll_devices): Likewise.
11619 (grub_usb_device_attach): Likewise.
11620 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11621 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11622
11623 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11626 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11627 delta determination style. Works with most NetBSD partitions too.
11628
11629 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11632 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11633
11634 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11637
11638 2010-07-14 Anton Blanchard <anton@samba.org>
11639
11640 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11641 ET_DYN files.
11642
11643 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11644
11645 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11646
11647 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11648
11649 * kern/partition.c (grub_partition_check_containment): New function to
11650 check that a partition is physically contained in a parent. Since
11651 offsets are relative (and non-negative), this reduces to checking that
11652 the partition ends before its parent.
11653 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11654 (grub_partition_iterate): Likewise.
11655 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11656 comments.
11657 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11658 partitions that start before their parent, and add debug printfs.
11659
11660 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11661
11662 * Makefile.in (.SUFFIX): Spell correctly, as ...
11663 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11664 bare module name without `.mod', e.g. `test') tried to invoke a
11665 Modula-2 compiler.
11666
11667 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11668
11669 * README: Point to the Info manual.
11670
11671 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
11672
11673 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11674 2nd superblock position from partition size.
11675
11676 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
11677
11678 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11679 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11680 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11681 outputs.
11682
11683 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 Restructure SCSI .id handling.
11686 Reported and tested by: Aleš Nesrsta.
11687
11688 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11689 (grub_atapi_dev): Changed .name to "ata". New field .id.
11690 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11691 (grub_usbms_dev): New field .id.
11692 * disk/scsi.c (grub_scsi_iterate): Generate name.
11693 (grub_scsi_open): Parse name.
11694 * include/grub/scsi.h (grub_make_scsi_id): New function.
11695 (grub_scsi_dev): Change iterate and open to number instead of naming
11696 busses. All users updated.
11697 (grub_scsi): Remove name. Add .bus.
11698
11699 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * commands/help.c (grub_cmd_help): Fix a typo.
11702
11703 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11706 Reported and tested by: Colin Watson.
11707
11708 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11711 in this context.
11712
11713 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11716
11717 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
11718
11719 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11720 indentation.
11721
11722 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11723
11724 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11725 and disk/raid6_recover.c.
11726 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11727 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11728
11729 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11730
11731 * term/gfxterm.c (repaint_schedulded): Rename to ...
11732 (repaint_scheduled): ... this. Update all callers.
11733 (repaint_was_schedulded): Rename to ...
11734 (repaint_was_scheduled): ... this. Update all callers.
11735
11736 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11737
11738 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11739 which we expect to be handled by upper layers.
11740
11741 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11742
11743 * bus/usb/usbhub.c: #include time.h header.
11744
11745 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11746
11747 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11748 entry_name also for entries without stat blocks (e.g. ".."); fixes
11749 corruption of the first entry in a directory.
11750
11751 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11752
11753 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11754 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11755 doesn't work otherwise.
11756
11757 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11758
11759 * docs/grub.texi (Features): Update list of supported file systems.
11760 (GNU/Linux): Update for GRUB 2.
11761 (Serial terminal): Remove mention of --disable-serial, which was a
11762 GRUB Legacy configure option. Update instructions to use
11763 `terminal_input' and `terminal_output' rather than `terminal'.
11764 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11765 configuration' and `Installing GRUB using grub-install'.
11766 (Menu entry editor): Update for GRUB 2.
11767 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11768 Document new -a, -u, and -v options.
11769 (initrd): New section.
11770 (initrd16): New section.
11771 (linux): New section.
11772 (linux16): New section.
11773 (search): The `var' argument to `--set' is optional.
11774 (GRUB only offers a rescue shell): Go into a little more detail on
11775 drive ordering.
11776
11777 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11778
11779 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11780
11781 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11782
11783 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11784 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11785
11786 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11787
11788 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11789 install_prefix, in line with install_dos_part and install_bsd_part.
11790 Add new prefix variable, which is copied to install_prefix after
11791 comparing core.img in memory with the one read from disk in the
11792 no-embedding case, and use that rather than overwriting
11793 install_prefix immediately when installing to a partition.
11794 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11795 Bicakci.
11796
11797 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11798
11799 * configure.ac: Avoid == in test command, it's not portable.
11800 * util/grub.d/30_os-prober.in: Likewise.
11801
11802 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11805
11806 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11807
11808 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11809 multiple (top-level) partmaps.
11810
11811 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * util/i386/efi/grub-install.in: Don't use empty grub_device.
11814 Reported by: Tino Keitel.
11815
11816 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 Bidi and diacritics support.
11819
11820 * Makefile.in (widthspec.bin): New target.
11821 (widthspec.h): Likewise.
11822 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11823 * autogen.sh: Generate unidata.c.
11824 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11825 * commands/ls.c (grub_ls_list_devices): Likewise.
11826 (grub_ls_list_files): Likewise.
11827 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11828 (grub_mini_cmd_lsmod): Likewise.
11829 * commands/read.c: Likewise.
11830 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11831 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11832 * lib/arg.c (grub_arg_show_help): Likewise.
11833 * lib/crypto.c (grub_password_get): Likewise.
11834 * normal/auth.c (grub_username_get): Likewise.
11835 * normal/misc.c (grub_normal_print_device_info): Likewise.
11836 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11837 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11838 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11839 (normal/charset.c_DEPENDENCIES): New variable.
11840 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11841 (pkglib_MODULES): Remove charset.mod.
11842 (charset_mod_SOURCES): Removed.
11843 (charset_mod_CFLAGS): Likewise.
11844 (charset_mod_LDFLAGS): Likewise.
11845 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11846 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11847 and term/tparm.c.
11848 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11849 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11850 (kernel_img_HEADERS): Add terminfo.h.
11851 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11852 Fill ->font. Reverse ascii bitmaps.
11853 (grub_font_get_xheight): New function.
11854 * font/font.c (grub_font_get_string_width): Moved from here ...
11855 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11856 * font/font.c (grub_font_draw_string): Moved from here ...
11857 * gfxmenu/font.c (grub_font_draw_string): ... here.
11858 * font/font.c (grub_font_dup_glyph): New function.
11859 (grub_font_blit_glyph): Likewise.
11860 (grub_font_blit_glyph_mirror): Likewise.
11861 (blit_comb): Likewise.
11862 (grub_font_construct_dry_run): Likewise.
11863 (grub_font_get_constructed_device_width): Likewise.
11864 (grub_font_construct_glyph): Likewise.
11865 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11866 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11867 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11868 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11869 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11870 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11871 (grub_font_get_xheight): New proto.
11872 (grub_font_get_constructed_device_width): Likewise.
11873 (grub_font_construct_glyph): Likewise.
11874 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11875 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11876 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11877 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11878 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11879 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11880 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11881 (grub_console_getcharwidth): Likewise.
11882 * include/grub/misc.h (grub_xputs): New proto.
11883 (grub_puts): Inlined.
11884 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11885 (grub_normal_get_line_counter): Removed.
11886 (grub_install_newline_hook): Likewise.
11887 (grub_normal_get_char_counter): New proto.
11888 (grub_normal_reset_more): Likewise.
11889 (grub_xputs_normal): Likewise.
11890 * include/grub/powerpc/ieee1275/console.h: Removed.
11891 * include/grub/sparc64/ieee1275/console.h: Likewise.
11892 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11893 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11894 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11895 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11896 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11897 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11898 (grub_term_input): Pass reference to self. All users updated.
11899 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11900 Pass reference to self. New fields normal_color, highlight_color and
11901 data. All users updated.
11902 (grub_putchar): Removed.
11903 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11904 (grub_unicode_estimate_width): New function.
11905 (grub_term_getcharwidth): Add defaults.
11906 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11907 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11908 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11909 (grub_cls): Remove EXPORT_FUNC.
11910 (grub_setcolorstate): Inline.
11911 (grub_newline_hook): Removed.
11912 * include/grub/terminfo.h: Rewritten. All users updated.
11913 * include/grub/unicode.h: New file.
11914 * include/grub/video.h (grub_video_signed_rect): New type.
11915 * kern/emu/console.c (grub_console_highlight_color): Removed.
11916 (grub_console_normal_color): Likewise.
11917 (grub_console_standard_color): Made static.
11918 (grub_ncurses_putchar): Remove mapping.
11919 (grub_ncurses_getcharwidth): Removed.
11920 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11921 (grub_ncurses_setcolor): Removed.
11922 (grub_ncurses_getcolor): Likewise.
11923 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11924 (grub_console_putchar): ... this.
11925 (grub_console_putchar): Handle argument difference.
11926 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11927 console_init_early and console_init_lately.
11928 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11929 * kern/misc.c (grub_puts): Removed.
11930 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11931 (grub_vsnprintf_real): Remove str = NULL support.
11932 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11933 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11934 * kern/term.c (grub_putcode): Renamed to ...
11935 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11936 (grub_putchar): Removed.
11937 (grub_xputs_dumb): New function.
11938 (grub_xputs): New variable.
11939 * lib/charset.c: Move from here ...
11940 * normal/charset.c: ... to here.
11941 (grub_ucs4_to_utf8): New function.
11942 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11943 (join_types): New variable.
11944 (unpack_join): New function.
11945 (bidi_types): New variable.
11946 (unpack_bidi): New function.
11947 (get_bidi_type): Likewise.
11948 (get_join_type): Likewise.
11949 (is_mirrored): Likewise.
11950 (grub_unicode_get_comb_type): Likewise.
11951 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11952 (is_type_after): Likewise.
11953 (grub_unicode_aglomerate_comb): Likewise.
11954 (bidi_line_wrap): Likewise.
11955 (grub_bidi_line_logical_to_visual): Likewise.
11956 (grub_bidi_logical_to_visual): Likewise.
11957 (grub_unicode_mirror_code): Likewise.
11958 (grub_unicode_shape_code): Likewise.
11959 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11960 Don't use grub_putchar.
11961 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11962 (grub_normal_reader_init): Likewise.
11963 (grub_xputs_saved): New variable.
11964 (GRUB_MOD_INIT): Set grub_xputs.
11965 (GRUB_MOD_FINI): Restore grub_xputs.
11966 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11967 (menu_init): Avoid printing gfxmenu error.
11968 (show_menu): Use grub_normal_get_char_counter.
11969 * normal/menu_entry.c (update_screen): Fix out-of-array.
11970 (complete): Avoid NULL dereferencing.
11971 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11972 * normal/menu_text.c (print_spaces): Removed.
11973 (grub_print_ucs4): Likewise.
11974 (grub_print_message_indented): Use grub_print_ucs4.
11975 (print_message): Use grub_putcode.
11976 (print_entry): Hanlde diacritics.
11977 * normal/term.c (term_state): New type.
11978 (grub_more_lines): Removed.
11979 (term_states): New variable.
11980 (grub_normal_line_counter): Renamed to ..
11981 (grub_normal_char_counter): ...this. All users updated.
11982 (grub_normal_get_line_counter): Renamed to ...
11983 (grub_normal_get_char_counter): ... this.
11984 (grub_normal_reset_more): New function.
11985 (process_newline): Removed.
11986 (print_more): New function.
11987 (grub_install_newline_hook): Removed.
11988 (map_code): New function.
11989 (grub_puts_terminal): Use grub_print_ucs4.
11990 (putglyph): New function.
11991 (putcode_real): Likewise.
11992 (grub_putcode): Use putcode_real.
11993 (get_maxwidth): New function.
11994 (get_startwidth): Likewise.
11995 (print_ucs4_terminal): Likewise.
11996 (find_term_state): Likewise.
11997 (put_glyphs_terminal): Likewise.
11998 (print_backlog): Likewise.
11999 (print_ucs4_real): Likewise.
12000 (grub_print_ucs4): Likewise.
12001 (grub_xputs_normal): Likewise.
12002 * term/efi/console.c (grub_console_putchar): Output diacritics.
12003 (grub_console_getcharwidth): Removed.
12004 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12005 * term/gfxterm.c (clear_char): Free chars.
12006 (scroll_up): Avoid leaking memory.
12007 (grub_gfxterm_putchar): Support diacritics.
12008 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12009 * term/i386/pc/console.c (grub_console_term_output): Declare as
12010 GRUB_TERM_CODE_TYPE_VGA.
12011 * term/i386/pc/vga.c (grub_vga_term): Declare as
12012 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12013 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12014 GRUB_TERM_CODE_TYPE_VGA.
12015 * term/i386/vga_common.c (map_char): Removed.
12016 (grub_console_putchar): Likewise.
12017 (grub_console_getcharwidth): Likewise.
12018 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12019 (colors): Reordered to match terminfo.
12020 (grub_ofconsole_normal_color): Removed.
12021 (grub_ofconsole_writeesc): Likewise.
12022 (grub_ofconsole_highlight_color): Likewise.
12023 (grub_ofconsole_getcharwidth): Likewise.
12024 (grub_ofconsole_setcolorstate): Likewise.
12025 (grub_ofconsole_setcolor): Likewise.
12026 (grub_ofconsole_getcolor): Likewise.
12027 (grub_ofconsole_readkey): Renamed to ...
12028 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12029 key.
12030 (grub_ofconsole_checkkey): Removed.
12031 (grub_ofconsole_getkey): Likewise.
12032 (grub_ofconsole_getxy): Likewise.
12033 (grub_ofconsole_gotoxy): Likewise.
12034 (grub_ofconsole_cls): Likewise.
12035 (grub_ofconsole_refresh): Likewise.
12036 (grub_ofconsole_terminfo_input): New struct.
12037 (grub_ofconsole_terminfo_output): Likewise.
12038 (grub_ofconsole_term_input): Use terminfo.
12039 (grub_ofconsole_term_output): Likewise.
12040 (grub_console_init): Split into ...
12041 (grub_console_init_early): ...this and ...
12042 (grub_console_init_lately): ...this. Use terminfo.
12043 (grub_ofconsole_putchar): Renamed to ...
12044 (put): ... this. Remove mapping.
12045 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12046 * term/serial.c: Simplify using terminfo.
12047 (xpos): Removed.
12048 (ypos): Likewise.
12049 (keep_track): Likewise.
12050 (registered): Likewise.
12051 (input_buf): Likewise.
12052 (npending): Likewise.
12053 (serial_translate_key_sequence): Likewise.
12054 (fill_input_buf): Likewise.
12055 (grub_serial_checkkey): Likewise.
12056 (grub_serial_getkey): Likewise.
12057 (grub_serial_getxy): Likewise.
12058 (grub_serial_gotoxy): Likewise.
12059 (grub_serial_putchar): Likewise.
12060 (grub_serial_cls): Likewise.
12061 (grub_serial_setcolorstate): Likewise.
12062 (grub_serial_setcursor): Likewise.
12063 (serial_hw_init): Use serial_hw_fetch.
12064 (grub_serial_terminfo_input): New variable.
12065 (grub_serial_terminfo_output): Likewise.
12066 (grub_serial_term_input): Use terminfo.
12067 (grub_serial_term_output): Likewise.
12068 * term/terminfo.c (putstr): Use put.
12069 (grub_terminfo_all_free): New function
12070 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12071 (grub_terminfo_output_register): New function.
12072 (grub_terminfo_output_unregister): Likewise.
12073 (grub_terminfo_getxy): Likewise.
12074 (grub_terminfo_readkey): Likewise.
12075 (grub_terminfo_checkkey): Likewise.
12076 (grub_terminfo_getkey): Likewise.
12077 (grub_terminfo_input_init): Likewise.
12078 (print_terminfo): Likewise.
12079 (grub_cmd_terminfo): Handle encoding.
12080 (grub_terminfo_gotoxy): Track position.
12081 (grub_terminfo_cls): Likewise.
12082 (grub_terminfo_putchar): Likewise.
12083 (grub_terminfo_setcolorstate): Handle colors
12084 (grub_terminfo_cursor_on): This ...
12085 (grub_terminfo_cursor_off): ... and this merged into ...
12086 (grub_terminfo_setcursor): ... this.
12087 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12088 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12089 * unicode/BidiMirroring.txt: Likewise.
12090 * unicode/UnicodeData.txt: Likewise.
12091 * unicode/COPYING: Likewise.
12092 * util/grub-editenv.c (grub_putchar): Removed.
12093 (grub_xputs_real): New function.
12094 (grub_xputs): New variable.
12095 * util/grub-fstest.c (grub_putchar): Removed.
12096 (grub_xputs_real): New function.
12097 (grub_xputs): New variable.
12098 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12099 (grub_xputs_real): New function.
12100 (grub_xputs): New variable.
12101 * util/grub-probe.c (grub_putchar): Removed.
12102 (grub_xputs_real): New function.
12103 (grub_xputs): New variable.
12104 * util/grub-script-check.c (grub_putchar): Removed.
12105 (grub_xputs_real): New function.
12106 (grub_xputs): New variable.
12107 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12108 (grub_xputs_real): New function.
12109 (grub_xputs): New variable.
12110 * util/import_unicode.py: New file.
12111 * util/grub-mkfont.c (ft_errmsgs): New array.
12112 (grub_glyph_info): Make bitmap a pointer.
12113 (file_formats): New type WIDTH_SPEC.
12114 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12115 (options): Add width-spec.
12116 (help): Likewise.
12117 (add_char): Renamed to ...
12118 (add_glyph): ... this.
12119 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12120 (glyph_replace): New type.
12121 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12122 (add_char): New function.
12123 (add_subst): Likewise.
12124 (process_cursive): Likewise.
12125 (add_font): Handle GSUB.
12126 (write_font_width_spec): New function.
12127 (main): Sort glyphs.
12128 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12129 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12130 * kern/term.c (grub_cls): Moved from here...
12131 * normal/term.c (grub_cls): ... here.
12132
12133 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12134
12135 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12136 suitable for using within the format argument of printf when
12137 converting grub_size_t.
12138 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12139 "x" to convert grub_size_t arguments.
12140
12141 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12144 too long captions.
12145 (list_get_minimal_size): Take selection box into account.
12146
12147 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12150 NULL font.
12151
12152 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12153
12154 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12155 devices when iterating over /dev/disk/by-id; they will be handled
12156 later if appropriate, which they aren't always (e.g. LVM).
12157
12158 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12159
12160 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12161 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12162 fails.
12163 (grub_halt): Likewise.
12164 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12165 reset-all fails.
12166 (grub_halt): Don't return, even if all of shut-down, power-off, and
12167 poweroff fail.
12168
12169 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12170
12171 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12172 arguments, not three.
12173
12174 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12175
12176 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12177 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12178 LVM-on-RAID is handled correctly.
12179
12180 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12181
12182 * docs/grub.texi (Changes from GRUB Legacy): New section.
12183 (Future): Fix typo.
12184
12185 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12188 grub.d/README accidentally ends up executable for one reason or
12189 another. Ignore it.
12190
12191 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12194 (gpt_partition_map_iterate): Support non-512B sectors.
12195
12196 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12199 Tested by: Seth Goldberg.
12200
12201 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12204 Properly align mbi.
12205 Reported by: Seth Goldberg.
12206
12207 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 * util/grub-mkrescue.in: Avoid module duplication.
12210
12211 2010-07-01 Sean Finney <seanius@seanius.net>
12212
12213 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12214
12215 2010-07-01 Sean Finney <seanius@seanius.net>
12216
12217 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12218
12219 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * disk/lvm.c (grub_lvm_checkvalue): New function.
12222 (grub_lvm_check_flag): Likewise.
12223
12224 2010-07-01 Robert Millan <rmh@gnu.org>
12225
12226 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12227 Support 'p' as partition separator on kernel of FreeBSD (used
12228 with GPT labels).
12229 (grub_util_biosdisk_get_grub_dev): Likewise.
12230
12231 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 Yeeloong firmware port.
12234
12235 * boot/mips/yeeloong/fwstart.S: New file.
12236 * bus/cs5536.c (gpiodump): New const.
12237 (set_io_space): New function.
12238 (set_iod): Likewise.
12239 (set_p2d): Likewise.
12240 (grub_cs5536_init_geode): Likewise.
12241 * commands/mips/yeeloong/lsspd.c: New file.
12242 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12243 (serial_mod_SOURCES): New variable.
12244 (serial_mod_CFLAGS): Likewise.
12245 (serial_mod_LDFLAGS): Likewise.
12246 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12247 term/terminfo.c and term/tparm.c.
12248 (pkglib_IMAGES): Add fwstart.img.
12249 (fwstart_img_SOURCES): New variable.
12250 (fwstart_img_CFLAGS): Likewise.
12251 (fwstart_img_ASFLAGS): Likewise.
12252 (fwstart_img_LDFLAGS): Likewise.
12253 (fwstart_img_FORMAT): Likewise.
12254 (pkglib_MODULES): Add lsspd.mod.
12255 (lsspd_mod_SOURCES): New variable.
12256 (lsspd_mod_CFLAGS): Likewise.
12257 (lsspd_mod_LDFLAGS): Likewise.
12258 (pkglib_MODULES): Add halt.mod.
12259 (halt_mod_SOURCES): New variable.
12260 (halt_mod_CFLAGS): Likewise.
12261 (halt_mod_LDFLAGS): Likewise.
12262 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12263 (serial_mod_SOURCES): Removed.
12264 (serial_mod_CFLAGS): Likewise.
12265 (serial_mod_LDFLAGS): Likewise.
12266 * disk/ata.c (check_device): New function.
12267 (grub_ata_device_initialize): Use check_device.
12268 (grub_ata_iterate): Recheck devices.
12269 (grub_ata_open): Likewise.
12270 (grub_atapi_iterate): Likewise.
12271 (grub_atapi_open): Likewise.
12272 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12273 (GRUB_ATA_CH1_PORT1): Likewise.
12274 (GRUB_ATA_CH0_PORT2): Likewise.
12275 (GRUB_ATA_CH1_PORT2): Likewise.
12276 * include/grub/mips/loongson.h: New file.
12277 * include/grub/mips/yeeloong/ec.h: Likewise.
12278 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12279 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12280 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12281 * include/grub/misc.h (grub_halt): Declare as noreturn.
12282 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12283 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12284 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12285 (UART_ENABLE_DTRRTS): Likewise.
12286 (UART_ENABLE_MODEM): Removed.
12287 (UART_ENABLE_OUT2): New const.
12288 * include/grub/term.h (grub_term_register_input_active): New function.
12289 (grub_term_register_output_active): Likewise.
12290 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12291 argument.
12292 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12293 (init_pci): New function.
12294 (grub_machine_init): Execute platform init when firmware. Init serial.
12295 (grub_halt): Implement.
12296 (grub_exit): Likewise.
12297 (grub_reboot): Likewise.
12298 * term/serial.c (serial_hw_init): Update macros.
12299 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12300 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12301 (image_targets): New target mipsel-yeeloong-flash.
12302 (generate_image): Support IMAGE_YEELOONG_FLASH.
12303 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12304 (grub_video_sm712_setup): Init card.
12305 (grub_video_sm712_set_palette): Removed.
12306 * video/sm712_init.c: New file.
12307
12308 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12309
12310 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12311 PATH when running help2man and then run it on the unadorned
12312 executable names, rather than passing $(builddir)/* paths to
12313 help2man. This avoids the build directory ending up in generated
12314 manual pages.
12315
12316 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12317
12318 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12319 to avoid accidents when debugging with 'sh -x'.
12320 * util/grub-mkrescue.in: Likewise.
12321 * util/grub.d/00_header.in: Likewise.
12322 * util/grub.d/10_hurd.in: Likewise.
12323 * util/grub.d/10_kfreebsd.in: Likewise.
12324 * util/grub.d/10_linux.in: Likewise.
12325 * util/grub.d/10_netbsd.in: Likewise.
12326 * util/grub.d/10_windows.in: Likewise.
12327 * util/grub.d/20_linux_xen.in: Likewise.
12328 * util/grub.d/30_os-prober.in: Likewise.
12329 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12330
12331 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12332
12333 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12334 last character in the buffer.
12335 Reported by: Vladimir Serbinenko.
12336
12337 2010-06-29 Robert Millan <rmh@gnu.org>
12338
12339 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12340 (Command-line and menu entry commands): Document `badram' command.
12341
12342 2010-06-28 Robert Millan <rmh@gnu.org>
12343
12344 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12345 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12346 command using ${GRUB_BADRAM} as parameter.
12347
12348 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12349
12350 * docs/grub.texi (Device map): New section.
12351 (Themes): New section (stub).
12352 * Makefile.in (docs/grub.info): The info documentation now builds
12353 without errors. Make sure it stays that way.
12354
12355 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 Use normal parser for menu entries.
12358 Reported by: Thomas Frauendorfer
12359
12360 * include/grub/parser.h (grub_parser_execute): Don't export.
12361 * normal/menu.c (grub_menu_execute_entry_real): New function.
12362 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12363
12364 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12365
12366 * docs/grub.texi (Embedded configuration): New section (replacing
12367 old "Preset Menu" stub).
12368 (Images): New section.
12369 (configfile): Note that any menu entries defined in `file' are shown
12370 immediately.
12371
12372 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12373
12374 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12375
12376 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12377
12378 * util/grub-install.in: Add --debug-image= option.
12379
12380 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12381
12382 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12383 possible on Linux.
12384
12385 * util/deviceiter.c (check_device): Rename to ...
12386 (check_device_readable_unique): ... this. Update all callers.
12387 Maintain and check a list of which devices (by canonicalized name)
12388 have already been seen.
12389 (clear_seen_devices): New function.
12390 (compare_file_names) [__linux__]: New function.
12391 (grub_util_iterate_devices): Clear the list of seen devices on exit
12392 and (just in case) on entry.
12393 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12394 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12395 seen-devices list, superseded by general code in check_device.
12396
12397 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12398
12399 * commands/cat.c (options): New variable.
12400 (grub_cmd_cat): Parse options. If the --dos option is given, print
12401 DOS-style "\r\n" line endings as simple newlines (Debian bug
12402 #586358).
12403 (GRUB_MOD_INIT): Use extcmd.
12404 (GRUB_MOD_FINI): Likewise.
12405 * docs/grub.texi (cat): Document --dos.
12406
12407 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 XEN with Linux grub-mkconfig support.
12410
12411 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12412 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12413 GRUB_CMDLINE_XEN_DEFAULT.
12414 * util/grub.d/20_linux_xen.in: New file.
12415
12416 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 Initialise VGA video on qemu ourselves.
12419
12420 * boot/i386/qemu/boot.S: Don't call 0xc000.
12421 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12422 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12423 (kernel_img_HEADERS): Add pci.h.
12424 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12425 * configure.ac: Force unifont on qemu and yeeloong.
12426 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12427 (grub_vga_palette_write): Use correct register.
12428 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12429 Call grub_qemu_init_cirrus.
12430 * kern/i386/qemu/init.c: New file.
12431 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12432
12433 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12434
12435 2010-06-26 Pavel Roskin <proski@gnu.org>
12436
12437 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12438 13.
12439
12440 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12441
12442 * docs/grub.texi (Simple configuration): Explain that
12443 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12444 set to `true' to disable their respective recovery entries, not
12445 merely set.
12446
12447 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12448
12449 Make the `source' command slightly faster.
12450
12451 * normal/main.c (grub_normal_execute): Don't re-read list files when
12452 nested.
12453
12454 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12457 field position and mask size to red fields from mode_info, not
12458 green.
12459 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12460 Remove redundant tag->common.framebuffer_type assignment.
12461 Reported by: Seth Goldberg.
12462
12463 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12464
12465 Sync up other versions of the Linux loader with Robert Millan's
12466 change of 2010-01-09, "Make loader output a bit more user-friendly".
12467
12468 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12469 grub_dprintf().
12470 (grub_cmd_linux): Likewise.
12471 (grub_cmd_initrd): Likewise.
12472 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12473 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12474
12475 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12476
12477 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12478 larger than MEMORY_MAP_SIZE.
12479
12480 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12481
12482 Fix parallel build.
12483
12484 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12485 dependency.
12486 * script/parser.y: #include grub_script.tab.h header.
12487
12488 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 Support >3GiB and <16MiB RAM in i386-qemu.
12491
12492 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12493 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12494 (grub_lower_mem): Removed.
12495 (grub_upper_mem): Likewise.
12496 (mem_size): Made static.
12497 (above_4g): New variable.
12498 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12499 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12500 support.
12501
12502 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 Cirrus 5446 and Bochs video cards support.
12505
12506 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12507 video_bochs.mod
12508 (video_cirrus_mod_SOURCES): New variable.
12509 (video_cirrus_mod_CFLAGS): Likewise.
12510 (video_cirrus_mod_LDFLAGS): Likewise.
12511 (video_bochs_mod_SOURCES): Likewise.
12512 (video_bochs_mod_CFLAGS): Likewise.
12513 (video_bochs_mod_LDFLAGS): Likewise.
12514 * include/grub/vga.h: New file.
12515 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12516 (grub_video_fb_set_page_t): New type.
12517 (grub_video_fb_setup): New prototype.
12518 (grub_video_fb_swap_buffers): Likewise.
12519 (grub_video_fb_get_info_and_fini): Likewise.
12520 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12521 (CRTC_DATA_PORT): Likewise.
12522 (CRTC_CURSOR): Likewise.
12523 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12524 (CRTC_CURSOR_ADDR_LOW): Likewise.
12525 (CRTC_CURSOR_DISABLE): Likewise.
12526 (update_cursor): Use grub_vga_cr_write.
12527 (grub_vga_text_setcursor): Likewise.
12528 * video/bochs.c: New file.
12529 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12530 (palette): Likewise.
12531 (palette_size): Likewise.
12532 (framebuffer): New variable.
12533 (grub_video_fb_init): Use 'framebuffer'.
12534 (grub_video_fb_fini): Likewise.
12535 (grub_video_fb_get_info): Likewise.
12536 (grub_video_fb_get_palette): Likewise.
12537 (grub_video_fb_set_palette): Likewise.
12538 (grub_video_fb_set_viewport): Likewise.
12539 (grub_video_fb_get_viewport): Likewise.
12540 (grub_video_fb_map_color): Likewise.
12541 (grub_video_fb_map_rgb): Likewise.
12542 (grub_video_fb_map_rgba): Likewise.
12543 (grub_video_fb_unmap_color): Likewise.
12544 (grub_video_fb_unmap_color_int): Likewise.
12545 (grub_video_fb_fill_rect): Likewise.
12546 (grub_video_fb_blit_bitmap): Likewise.
12547 (grub_video_fb_blit_render_target): Likewise.
12548 (grub_video_fb_scroll): Likewise.
12549 (grub_video_fb_create_render_target): Likewise.
12550 (grub_video_fb_doublebuf_blit_init): Likewise.
12551 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12552 (doublebuf_pageflipping_update_screen): New function.
12553 (doublebuf_pageflipping_init): Likewise.
12554 (grub_video_fb_setup): Likewise.
12555 (grub_video_fb_swap_buffers): Likewise.
12556 (grub_video_fb_get_info_and_fini): Likewise.
12557 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12558 All users updated.
12559 (doublebuf_pageflipping_commit): Restructured into ...
12560 (doublebuf_pageflipping_set_page): ... this.
12561 (doublebuf_pageflipping_update_screen): Removed.
12562 (doublebuf_pageflipping_init): Likewise.
12563 (double_buffering_init): Likewise.
12564 (grub_video_vbe_setup): Use grub_video_fb_setup.
12565 (grub_video_vbe_swap_buffers): Removed.
12566 (grub_video_vbe_set_active_render_target): Likewise.
12567 (grub_video_vbe_get_active_render_target): Likewise.
12568 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12569 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12570 grub_video_fb_set_active_render_target and
12571 grub_video_fb_get_active_render_target.
12572 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12573 (SEQUENCER_DATA_PORT): Likewise.
12574 (MAP_MASK_REGISTER): Likewise.
12575 (CRTC_ADDR_PORT): Likewise.
12576 (CRTC_DATA_PORT): Likewise.
12577 (START_ADDR_HIGH_REGISTER): Likewise.
12578 (START_ADDR_LOW_REGISTER): Likewise.
12579 (GRAPHICS_ADDR_PORT): Likewise.
12580 (GRAPHICS_DATA_PORT): Likewise.
12581 (READ_MAP_REGISTER): Likewise.
12582 (INPUT_STATUS1_REGISTER): Likewise.
12583 (INPUT_STATUS1_VERTR_BIT): Likewise.
12584 (get_map_mask): Use grub_vga_sr_read.
12585 (set_map_mask): Use grub_vga_sr_write.
12586 (set_read_map): Use grub_vga_gr_write.
12587 (set_start_address): Use grub_vga_cr_write.
12588 * video/sm712.c (framebuffer): Remove leftover fields.
12589
12590 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12591
12592 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12593 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12594 instead. Replace the gfxterm backend check with a check that
12595 ${GRUB_PREFIX}/video.lst is non-empty.
12596 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12597 again.
12598 (load_video): New generated function. Call it before loading
12599 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12600 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12601 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12602 * docs/grub.texi (Simple configuration): Document
12603 GRUB_VIDEO_BACKEND.
12604
12605 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 Use video functions in linux and xnu loaders.
12608
12609 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12610 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12611 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12612 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12613 loader/i386/pc/linux.c.
12614 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12615 (find_line_len): Removed.
12616 (find_framebuf): Likewise.
12617 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12618 * loader/i386/efi/xnu.c: Removed.
12619 * loader/i386/pc/xnu.c: Moved from here...
12620 * loader/i386/xnu.c: ...here.
12621
12622 Enable priorities in video drivers.
12623
12624 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12625 (grub_video_adapter): New field prio.
12626 (grub_video_register): Respect prio when inserting.
12627 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12628 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12629 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12630 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12631 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12632 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12633 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12634
12635 Fix SDL driver ID.
12636
12637 * include/grub/video.h (grub_video_driver_id_t): New value
12638 GRUB_VIDEO_DRIVER_SDL.
12639 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12640
12641 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12642
12643 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12644 argument to printf.
12645 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12646
12647 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12648
12649 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12650 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12651
12652 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12653
12654 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12655 directly, and recommend grub-install instead.
12656 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12657
12658 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12659
12660 Fix i386-pc prefix handling with nested partitions (Debian bug
12661 #585068). Note that the case where the core image is booted using
12662 multiboot and relocated from its original location still requires
12663 more work.
12664
12665 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12666 with "(,", fill the boot drive in between those two characters, but
12667 expect that a full partition specification including partition map
12668 names will follow.
12669 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12670 specified, write a prefix without the drive name but including a
12671 full partition specification.
12672
12673 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
12674
12675 * util/grub-mkconfig.in: Ignore non-option arguments, for
12676 compatibility with older versions (before 2010-06-12) which did the
12677 same. In particular, this makes it easier to ship an update-grub
12678 wrapper which is compatible with that used with GRUB Legacy (Debian
12679 bug #586056).
12680
12681 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12682
12683 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12684 for manual page generation.
12685
12686 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12687
12688 * po/POTFILES: Remove leftover commands/handler.c.
12689
12690 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12691
12692 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12693 left this script non-functional.
12694
12695 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12696
12697 * docs/man/grub-emu.h2m: New file.
12698
12699 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
12700
12701 * docs/grub.texi (Commands): Document reduced command set in rescue
12702 mode.
12703 (cpuid): New section.
12704
12705 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12706
12707 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12708 new partition naming style.
12709 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12710
12711 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12712
12713 Add "-o grub.iso" like cmdline options support.
12714
12715 * util/grub-install.in: Improve cmdline option parsing.
12716 * util/grub-mkconfig.in: Likewise.
12717 * util/grub-mkrescue.in: Likewise.
12718 * util/grub-reboot.in: Likewise.
12719 * util/grub-set-default.in: Likewise.
12720 * util/i386/efi/grub-install.in: Likewise.
12721 * util/ieee1275/grub-install.in: Likewise.
12722 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12723
12724 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12725
12726 * .bzrignore: Ignore 41_custom.
12727
12728 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12729
12730 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12731
12732 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12733
12734 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12735 prototype declarations.
12736
12737 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12738 generating fs, partmap, and video lists.
12739 * include/grub/fs.h (grub_fs_register): Omit prototype if
12740 GRUB_LST_GENERATOR is defined.
12741 * include/grub/partition.h (grub_partition_map_register): Likewise.
12742 * include/grub/video.h (grub_video_register): Likewise.
12743
12744 2010-06-12 Javier Martín <lordhabbit@gmail.com>
12745
12746 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12747
12748 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12749
12750 * util/grub-mkrescue.in: Support --xorriso argument.
12751
12752 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12755 Suggested by: Thomas Schmitt.
12756
12757 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12760 Suggested by: Thomas Schmitt.
12761
12762 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 custom.cfg support.
12765
12766 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12767 * util/grub.d/41_custom.in: New file.
12768
12769 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12772 been merged back into normal.
12773
12774 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12775
12776 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12777 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12778
12779 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12782 when generating manual pages.
12783 * docs/man/grub-bin2h.h2m: New file.
12784 * docs/man/grub-editenv.h2m: New file.
12785 * docs/man/grub-fstest.h2m: New file.
12786 * docs/man/grub-install.h2m: New file.
12787 * docs/man/grub-macho2img.h2m: New file.
12788 * docs/man/grub-mkconfig.h2m: New file.
12789 * docs/man/grub-mkdevicemap.h2m: New file.
12790 * docs/man/grub-mkfont.h2m: New file.
12791 * docs/man/grub-mkimage.h2m: New file.
12792 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12793 * docs/man/grub-mkrelpath.h2m: New file.
12794 * docs/man/grub-mkrescue.h2m: New file.
12795 * docs/man/grub-ofpathname.h2m: New file.
12796 * docs/man/grub-pe2elf.h2m: New file.
12797 * docs/man/grub-probe.h2m: New file.
12798 * docs/man/grub-reboot.h2m: New file.
12799 * docs/man/grub-script-check.h2m: New file.
12800 * docs/man/grub-set-default.h2m: New file.
12801 * docs/man/grub-setup.h2m: New file.
12802
12803 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Use FOR_* macros instead of *_iterate whenever possible.
12806
12807 * commands/handler.c: Removed.
12808 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12809 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12810 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12811 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12812 (grub_probe_SOURCES): Remove kern/parser.c.
12813 (util/grub-script-check.c_DEPENDENCIES): Removed.
12814 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12815 and grub_script_check_init.c.
12816 (grub_script_check_init.lst): Removed.
12817 (grub_script_check_init.h): Likewise.
12818 (grub_script_check_init.c): Likewise.
12819 (pkglib_MODULES): Remove handler.mod and sh.mod.
12820 (handler_mod_SOURCES): Removed.
12821 (handler_mod_CFLAGS): Likewise.
12822 (handler_mod_LDFLAGS): Likewise.
12823 (normal_mod_SOURCES): Remove normal/handler.c.
12824 Add script/main.c, script/script.c, script/execute.c,
12825 script/function.c, script/lexer.c, grub_script.tab.c
12826 and grub_script.yy.c.
12827 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12828 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12829 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12830 (grub_setup_SOURCES): Remove kern/parser.c.
12831 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12832 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12833 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12834 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12835 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12836 (grub_setup_SOURCES): Remove kern/parser.c.
12837 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12838 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12839 * include/grub/command.h (grub_command_iterate): Removed.
12840 (FOR_COMMANDS): New macro.
12841 * include/grub/dl.h (grub_dl): New member next.
12842 (grub_dl_iterate): Removed.
12843 (grub_dl_head): New variable declaration.
12844 (FOR_DL_MODULES): New macro.
12845 * include/grub/fs.h: Include list.h.
12846 (grub_fs): Make next first element.
12847 (grub_fs_list): New variable declaration.
12848 (grub_fs_register): Make inline.
12849 (grub_fs_unregister): Likewise.
12850 (grub_fs_iterate): Removed.
12851 (FOR_FILESYSTEMS): New macro.
12852 * include/grub/handler.h: Removed.
12853 * include/grub/list.h (grub_list_hook_t): Removed.
12854 (grub_list_test_t): Likewise.
12855 (grub_list_pop): Likewise.
12856 (grub_list_iterate): Likewise.
12857 (grub_list_insert): Likewise.
12858 (FOR_LIST_ELEMENTS): New macro.
12859 * include/grub/parser.h (grub_parser_class): Removed.
12860 (grub_parser_register): Likewise.
12861 (grub_parser_unregister): Likewise.
12862 (grub_parser_get_current): Likewise.
12863 (grub_parser_set_current): Likewise.
12864 (grub_register_rescue_parser): Likewise.
12865 (grub_rescue_parse_line): New function.
12866 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12867 * include/grub/script_sh.h (grub_script_function_list): New variable
12868 declaration.
12869 (FOR_SCRIPT_FUNCTIONS): New macro.
12870 (grub_script_function_iterate): Removed.
12871 (grub_normal_parse_line): New prototype.
12872 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12873 (FOR_DISABLED_TERM_INPUTS): Likewise.
12874 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12875 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12876 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12877 element.
12878 (grub_video_register): Inline.
12879 (grub_video_unregister): Likewise.
12880 (grub_video_adapter_list): New variable declaration.
12881 (grub_video_iterate): Removed.
12882 (FOR_VIDEO_ADAPTERS): New macro.
12883 * kern/dl.c (grub_dl_list): Removed. All users updated.
12884 (grub_dl_iterate): Removed.
12885 * kern/fs.c (grub_fs_list): Make global.
12886 (grub_fs_register): Removed.
12887 (grub_fs_unregister): Likewise.
12888 (grub_fs_iterate): Likewise.
12889 * kern/handler.c: Removed.
12890 * kern/list.c (grub_list_pop): Removed.
12891 (grub_list_iterate): Likewise.
12892 (grub_list_insert): Likewise.
12893 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12894 (grub_prio_list_insert): Don't use grub_list_insert.
12895 * kern/main.c (grub_register_rescue_parser): Don't call
12896 grub_register_rescue_parser.
12897 * kern/parser.c (grub_parser_class): Removed.
12898 (grub_parser_execute): Use grub_rescue_parse_line.
12899 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12900 (grub_rescue_parser): Removed.
12901 (grub_register_rescue_parser): Likewise.
12902 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12903 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12904 (grub_auth_check_authentication): Likewise.
12905 * normal/completion.c (iterate_command): Removed.
12906 (grub_normal_do_completion): Use FOR_COMMANDS.
12907 * normal/handler.c: Removed.
12908 * normal/main.c (read_config_file): Remove parser changing.
12909 (grub_normal_execute): Don't call read_handler_list.
12910 (grub_normal_read_line_real): Statically allocate prompt.
12911 (grub_cmdline_run): Use grub_normal_parse_line.
12912 (GRUB_MOD_FINI): Don't call free_handler_list.
12913 * normal/menu_entry.c (run): Likewise.
12914 * script/function.c (grub_script_function_list): Make global.
12915 (grub_script_function_iterate): Removed.
12916 * script/main.c (grub_normal_parse_line): Make global.
12917 (grub_sh_parser): Removed.
12918 (GRUB_MOD_INIT): Likewise.
12919 (GRUB_MOD_FINI): Likewise.
12920 * tests/lib/functional_test.c (grub_functional_test): Use
12921 FOR_LIST_ELEMENTS.
12922 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12923 (grub_test_run): Use FOR_LIST_ELEMENTS.
12924 * tests/lib/unit_test.c (main): Likewise.
12925 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12926 grub_list_pop.
12927 * util/grub-fstest.c (grub_term_input_class): Removed.
12928 (grub_term_output_class): Likewise.
12929 * util/grub-probe.c: Likewise.
12930 * util/i386/pc/grub-setup.c: Likewise.
12931 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12932 * util/grub-script-check.c (main): Don't call grub_init_all and
12933 grub_fini_all.
12934 * video/video.c (grub_video_adapter_list): Make global.
12935 (grub_video_register): Removed.
12936 (grub_video_unregister): Likewise.
12937 (grub_video_iterate): Likewise.
12938
12939 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12942 reported by Henrique Ferreiro.
12943
12944 2010-06-09 Robert Millan <rmh@gnu.org>
12945
12946 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12947 ones, when both are available.
12948
12949 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12950
12951 Make --version uniform and avoid hard-coded program name.
12952
12953 * util/grub-mkimage.c (main): Use `program_name' instead of
12954 hard-coded string.
12955 * util/i386/pc/grub-setup.c (main): Likewise.
12956 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12957 * util/grub-install.in: Save the basename of $0 in $self, and use the
12958 latter in informational messages. Use the same format for --version
12959 as the binary programs.
12960 * util/grub-mkconfig.in: Likewise.
12961 * util/grub-mkrescue.in: Likewise.
12962 * util/grub-reboot.in: Likewise.
12963 * util/grub-set-default.in: Likewise.
12964 * util/i386/efi/grub-install.in: Likewise.
12965 * util/ieee1275/grub-install.in: Likewise.
12966 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12967
12968 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12969
12970 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12971 embedding area. Use <= instead of == when checking for non-emptiness.
12972
12973 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12974
12975 * configure.ac: Add `.' to the directories searched for unifont.
12976
12977 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12978
12979 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12980 grub_script.yy.h.
12981
12982 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * docs/grub.texi (History): Expand to cover GRUB 2.
12985 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12986 commands, not `terminal'.
12987 (serial): Likewise.
12988 (terminal_input): New section.
12989 (terminal_output): New section.
12990 (uppermem): New section (stub).
12991 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12992
12993 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12994
12995 * docs/grub.texi (Security): Menu entries are unrestricted by
12996 default, not restricted to superusers as I had previously thought.
12997 Reword to account for this.
12998
12999 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13000
13001 * kern/emu/misc.c (device_mapper_null_log): New function.
13002 (grub_device_mapper_supported): New function.
13003 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13004 prototype.
13005 * kern/emu/hostdisk.c (find_partition_start): Check whether
13006 device-mapper is supported before trying to use it.
13007 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13008
13009 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13010
13011 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13012 (File name syntax): Likewise.
13013 (help): --all is no longer supported in GRUB 2. Be more precise
13014 about pattern matching.
13015
13016 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13017
13018 * normal/completion.c (grub_normal_do_completion): When completing
13019 arguments to "set" and the current word contains an equals sign,
13020 skip to after the equals sign before starting completion.
13021
13022 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13023
13024 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13025
13026 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13027
13028 * docs/grub.texi (Network): New section.
13029 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13030 `(nd)' as in GRUB Legacy.
13031 (pxe_unload): New section.
13032
13033 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13034
13035 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13036 in the rescue shell, so recommend using `set' instead. Thanks,
13037 Jordan Uggla.
13038
13039 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13040
13041 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13042 (password): New section.
13043 (password_pbkdf2): New section.
13044 (search): New section.
13045 (Security): New section.
13046 (Troubleshooting): New section, currently very incomplete.
13047 (Invoking grub-mkpasswd-pbkdf2): New section.
13048 (Internals): New section, currently very incomplete.
13049
13050 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13051
13052 * util/grub.d/00_header.in: Add some more quoting (of
13053 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13054 work again.
13055 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13056
13057 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13058
13059 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13060 to `count', fixing variable shadowing that broke the -c option.
13061
13062 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13063
13064 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13065 in case they contain spaces.
13066
13067 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13068
13069 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13070 "part_" to partmap module names, in line with grub-install.
13071 Reported by: Jindřich Makovička (Debian bug #584426).
13072
13073 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13074
13075 * util/grub-mkimage.c: Make target-related error messages slightly
13076 more helpful; -O talks about "format". Explicitly point to the use
13077 of -O if no target is specified.
13078 Reported by: Didier Raboud (Debian bug #584415).
13079
13080 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13081
13082 * INSTALL: Document several build requirements for optional features
13083 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13084
13085 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13086
13087 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13088 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13089 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13090
13091 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13092
13093 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13094 Thanks to Jordan Uggla for spotting this.
13095
13096 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13097
13098 Finally make USB usable.
13099
13100 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13101 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13102 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13103 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13104 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13105 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13106 (GRUB_OHCI_FSMPS): Likewise.
13107 (GRUB_OHCI_PERIODIC_START): Likewise.
13108 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13109 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13110 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13111 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13112 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13113 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13114 (grub_ohci_transaction): Likewise.
13115 (grub_ohci_transfer): Improve condition detection algorithms.
13116 Handle toggle property. Program the transactions correctly.
13117 Improve error handling. Various important fixups.
13118 (grub_ohci_portstatus): Put register writes in right order.
13119 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13120 (grub_uhci_transfer): Don't show "failed" message on success.
13121 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13122 array.
13123 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13124 determine its size.
13125 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13126 before initialization is completed. Use IN direction for empty
13127 transfers. Use last_trans and compute toggle.
13128 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13129 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13130 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13131 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13132 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13133 (grub_usb_device): Increase toggle to 256.
13134 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13135 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13136 GRUB_USBMS_SUBCLASS_SFF8070.
13137 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13138 (grub_scsi_inquiry): New member page and alloc_length.
13139 (grub_scsi_request_sense): New structure.
13140 (grub_scsi_request_sense_data): Likewise.
13141 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13142 control.
13143 * disk/scsi.c (grub_scsi_request_sense): New function.
13144 (grub_scsi_test_unit_ready): Likewise.
13145 (grub_scsi_inquiry): Fill new fields.
13146 (grub_scsi_read_capacity): Likewise.
13147 (grub_scsi_read10): Add request sense at the end.
13148 (grub_scsi_read12): Likewise.
13149 (grub_scsi_write10): Likewise.
13150 (grub_scsi_write12): Likewise.
13151 (grub_scsi_open): Add Test Unit Ready.
13152 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13153 Support additional subclasses. Con't clear halt yet. Activate the
13154 proper config. Calculate LUNs correctly.
13155 (grub_usbms_transfer): Various important fixups.
13156
13157 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13160 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13161 (grub_ohci_fini_hw): New function.
13162 (grub_ohci_restore_hw): Likewise.
13163 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13164 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13165 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13166
13167 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 Dedicated DMA allocations.
13170
13171 * bus/pci.c (grub_memalign_dma32): New function
13172 (grub_dma_free): Likewise.
13173 (grub_dma_get_virt): Likewise.
13174 (grub_dma_get_phys): Likewise.
13175 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13176 (grub_ohci_pci_iter): Use dma32_alloc.
13177 (grub_ohci_transfer): Likewise.
13178 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13179 (grub_usb_bulk_readwrite): Likewise.
13180 * include/grub/pci.h: Add declarations.
13181
13182 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 CS5536 support.
13185
13186 * bus/cs5536.c: New file.
13187 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13188 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13189 (cs5536_mod_SOURCES): New variable.
13190 (cs5536_mod_CFLAGS): Likewise.
13191 (cs5536_mod_LDFLAGS): Likewise.
13192 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13193 machine/pci.h.
13194 (kernel_img_SOURCES): Add bus/cs5536.c.
13195 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13196 usb_keyboard.mod.
13197 (usb_mod_SOURCES): New variable.
13198 (usb_mod_CFLAGS): New variable.
13199 (usb_mod_LDFLAGS): New variable.
13200 (usbtest_mod_SOURCES): New variable.
13201 (usbtest_mod_CFLAGS): New variable.
13202 (usbtest_mod_LDFLAGS): New variable.
13203 (ohci_mod_SOURCES): New variable.
13204 (ohci_mod_CFLAGS): New variable.
13205 (ohci_mod_LDFLAGS): New variable.
13206 (usbms_mod_SOURCES): New variable.
13207 (usbms_mod_CFLAGS): New variable.
13208 (usbms_mod_LDFLAGS): New variable.
13209 (usb_keyboard_mod_SOURCES): New variable.
13210 (usb_keyboard_mod_CFLAGS): New variable.
13211 (usb_keyboard_mod_LDFLAGS): New variable.
13212 * include/grub/smbus.h: New file.
13213 * include/grub/cs5536.h: New file.
13214
13215 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13216
13217 * util/grub.d/00_header.in: Add safety check to make sure that
13218 ${locale_dir} exists before trying to probe it.
13219
13220 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13221
13222 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13223 per the GNU Coding Standards; this is now too obscure to be worth
13224 documenting.
13225 (QNX): Likewise.
13226 (chainloader): Remove cross-reference to `SCO UnixWare'.
13227
13228 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13229
13230 * docs/grub.texi (Chain-loading): New section.
13231 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13232 adjusted for GRUB 2.
13233 (SCO UnixWare): Likewise.
13234 (QNX): Likewise.
13235 (chainloader): Add reference to `Block list syntax'.
13236 (drivemap): New section.
13237 (parttool): New section.
13238
13239 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13240
13241 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13242 the grub shell'.
13243 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13244 (Installing GRUB using grub-install): Remove reference to the grub
13245 shell; mention `grub-mkimage' and `grub-setup' instead.
13246 (Invoking grub-install): Likewise.
13247 (Interface): Add reference to `Menu entry editor'.
13248 (serial): Remove `--device' option.
13249
13250 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13251
13252 * docs/grub.texi (Configuration): New section, documenting
13253 configuration file generation using grub-mkconfig. I've left a slot
13254 for documenting the full shell scripting format but have not yet
13255 started on writing that up.
13256 (Invoking grub-mkconfig): New section.
13257
13258 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13259
13260 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13261 (GNU GRUB manual): Likewise.
13262 (General commands): Update description of `terminfo' for GRUB 2.
13263
13264 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13265
13266 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13267 (GRUB_MOD_INIT): Fix capitalisation.
13268 * docs/grub.texi (Command-line and menu entry commands): Document
13269 gettext and gptsync commands.
13270
13271 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13272
13273 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13274 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13275
13276 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13277
13278 Add btrfs probing support, currently only in the single-device case.
13279
13280 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13281 function.
13282 (grub_guess_root_device): Call find_root_device_from_mountinfo
13283 before looking in /dev.
13284
13285 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13288 GRUB_DISK_SIZE_UNKNOWN.
13289 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13290
13291 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13292
13293 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13294 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13295 corrupted or not synced properly.
13296
13297 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13300 Reported by: Seth Goldberg.
13301
13302 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13305 addition of dest.
13306 Reported by: Seth Goldberg.
13307
13308 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13311 Reported by: Seth Goldberg.
13312
13313 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13316 64-bit address as signed on MIPS.
13317
13318 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13319
13320 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13321 to the empty string.
13322
13323 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13324
13325 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13326
13327 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13328 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13329 * kern/misc.c (__enable_execute_stack): Disable on
13330 GRUB_MACHINE_EMU.
13331
13332 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13333
13334 Make grub-probe work with symbolic links under /dev/mapper as well
13335 as with real block devices. The Linux world seems to be (at best)
13336 in transition here, and GRUB shouldn't get caught in the middle.
13337
13338 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13339 /dev/mapper.
13340
13341 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13342
13343 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13344 input files (in which case exit zero).
13345
13346 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13347
13348 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13349 return NULL for various reasons even if it has a maximum-length
13350 buffer: for example, there might be a symlink loop, or the path
13351 might exceed PATH_MAX. If this happens, return NULL.
13352
13353 2010-05-27 Robert Millan <rmh@gnu.org>
13354
13355 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13356 partmap module to handle cross-partmap setups.
13357 Reported by Orestes Mas. Gràcies!
13358
13359 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13360
13361 * util/grub-mkrescue.in: Initialise override_dir rather than
13362 assuming that it's unset or empty in the environment.
13363
13364 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13365
13366 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13367 variable index into p_index to suppress a warning with -Wshadow.
13368
13369 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13370
13371 * INSTALL: Added flex >= 2.5.35 requirement.
13372
13373 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13376
13377 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 cmostest support.
13380
13381 * commands/i386/cmostest.c: New file.
13382 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13383 (cmostest_mod_SOURCES): New variable.
13384 (cmostest_mod_CFLAGS): Likewise.
13385 (cmostest_mod_LDFLAGS): Likewise.
13386 * conf/i386-pc.rmk: Likewise.
13387 * docs/grub.texi (Vendor power-on keys): New section.
13388 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13389 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13390 and GRUB_BUTTON_CMOS_ADDRESS.
13391 * util/grub.d/00_header.in: Handle powering-on by separate button.
13392
13393 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13396 Removed drawing_scrollbar argument. All users updated
13397 Fixes #29792.
13398 Reported by Jo Shields
13399
13400 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13403 buffer since gfxterm handles double repaint.
13404
13405 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13408 * term/gfxterm.c (real_scroll): Likewise.
13409
13410 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13413 before calling BIOS.
13414
13415 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * include/grub/i18n.h: Always enable grub_gettext.
13418
13419 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13422 partition naming style.
13423
13424 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13425
13426 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13427 not the first option.
13428
13429 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13430
13431 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13432
13433 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * util/misc.c: Move inclusion of <limits.h> to ...
13436 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13437
13438 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13439
13440 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13441 Fix merge error in NetBSD code.
13442 (find_partition_start) [__NetBSD__]: Likewise.
13443
13444 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13445
13446 Fix grub-mkrescue usage unit testing.
13447
13448 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13449
13450 2010-05-18 Christian Franke <franke@computer.org>
13451
13452 * util/grub.d/10_windows.in: Use path names instead of
13453 drive letters to prevent warning from Cygwin 1.7.
13454 Add drivemap command to menuentry if needed.
13455
13456 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13457
13458 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13459 gnumach and gnumach.gz.
13460
13461 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * include/grub/i18n.h (gettext): Inline instead of using #define.
13464 (grub_gettext): Likewise.
13465 (_): Likewise.
13466
13467 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13470 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13471 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13472 (main): Add a slash after pkglibdirroot.
13473
13474 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/grub-install.in: Add missing "in" keyword.
13477
13478 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13481 Reported by: Seth Goldberg.
13482
13483 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13486
13487 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13488
13489 * configure.ac: Check for Linux device-mapper support.
13490
13491 * util/hostdisk.c (device_is_mapped): New function.
13492 (find_partition_start): New function, partly broken out from
13493 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13494 device-mapper support added.
13495 (linux_find_partition): Use find_partition_start.
13496 (convert_system_partition_to_system_disk): Add `st' argument.
13497 Support Linux /dev/mapper/* devices if device-mapper support is
13498 available; only DM-RAID devices are understood at present.
13499 (find_system_device): Add `st' argument. Pass it to
13500 convert_system_partition_to_system_disk.
13501 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13502 find_system_device and convert_system_partition_to_system_disk. Use
13503 find_partition_start.
13504
13505 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13506 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13507 * util/deviceiter.c [__linux__]: Define MINOR.
13508 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13509 * util/mkdevicemap.c (grub_putchar): New function.
13510 (grub_getkey): New function.
13511 (grub_refresh): New function.
13512 (main): Set debug=all if -v -v is used.
13513
13514 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13515
13516 Fix build with non-GNU libcs.
13517
13518 * util/misc.c (canonicalize_file_name): Move to ...
13519 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13520 grub_make_system_path_relative_to_its_root.
13521
13522 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13525 we handle finding grub-mkimage. Default to finding grub-mkimage in
13526 ${bindir} with program_transform_name applied, and provide a
13527 --grub-mkimage option to override this.
13528
13529 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 Remove grub-mkisofs.
13532
13533 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13534 (grub_mkisofs_SOURCES): Removed.
13535 (grub_mkisofs_CFLAGS): Removed.
13536 * util/mkisofs/defaults.h: Removed.
13537 * util/mkisofs/eltorito.c: Likewise.
13538 * util/mkisofs/exclude.h: Likewise.
13539 * util/mkisofs/hash.c: Likewise.
13540 * util/mkisofs/include/: Likewise.
13541 * util/mkisofs/include/fctldefs.h: Likewise.
13542 * util/mkisofs/include/mconfig.h: Likewise.
13543 * util/mkisofs/include/prototyp.h: Likewise.
13544 * util/mkisofs/include/statdefs.h: Likewise.
13545 * util/mkisofs/iso9660.h: Likewise.
13546 * util/mkisofs/joliet.c: Likewise.
13547 * util/mkisofs/match.c: Likewise.
13548 * util/mkisofs/match.h: Likewise.
13549 * util/mkisofs/mkisofs.c: Likewise.
13550 * util/mkisofs/mkisofs.h: Likewise.
13551 * util/mkisofs/msdos_partition.h: Likewise.
13552 * util/mkisofs/multi.c: Likewise.
13553 * util/mkisofs/name.c: Likewise.
13554 * util/mkisofs/rock.c: Likewise.
13555 * util/mkisofs/tree.c: Likewise.
13556 * util/mkisofs/write.c: Likewise.
13557
13558 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 Unify grub-mkimage accross platforms.
13561
13562 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13563 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13564 (grub_mkelfimage_SOURCES): Removed.
13565 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13566 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13567 (bin_UTILITIES): Add grub-mkimage.
13568 (grub_mkimage_SOURCES): New variable.
13569 (kernel_img_HEADERS): Remove machine/kernel.h.
13570 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13571 (pkglib_PROGRAMS): Add kernel.img.
13572 (kernel_img_HEADERS): Add machine/kernel.h.
13573 (kernel_img_FORMAT): Removed.
13574 (bin_UTILITIES): Remove grub-mkimage.
13575 (grub_mkimage_SOURCES): Removed.
13576 (grub_mkimage_CFLAGS): Likewise.
13577 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13578 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13579 (pkglib_PROGRAMS): Add kernel.img.
13580 (bin_UTILITIES): Remove grub-mkimage.
13581 (grub_mkimage_SOURCES): Removed.
13582 (grub_mkimage_CFLAGS): Likewise.
13583 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13584 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13585 (pkglib_PROGRAMS): Add kernel.img.
13586 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13587 (pkglib_PROGRAMS): Add kernel.img.
13588 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13589 (grub_mkimage_SOURCES): Removed.
13590 (grub_mkimage_CFLAGS): Likewise.
13591 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13592 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13593 (pkglib_PROGRAMS): Add kernel.img.
13594 (bin_UTILITIES): Remove grub-mkimage.
13595 (grub_mkimage_SOURCES): Removed.
13596 (grub_mkimage_CFLAGS): Likewise.
13597 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13598 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13599 (grub_mkimage_SOURCES): Removed.
13600 (grub_mkimage_CFLAGS): Likewise.
13601 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13602 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13603 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13604 (grub_pe32_optional_header): ... this.
13605 (grub_pe64_optional_header): ... and this. All users updated.
13606 (GRUB_PE32_PE32_MAGIC): Split into ..
13607 (GRUB_PE32_PE32_MAGIC): .. this.
13608 (GRUB_PE32_PE64_MAGIC): .. and this.
13609 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13610 * include/grub/elf.h (PT_GNU_STACK): New definition.
13611 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13612 * include/grub/i386/efi/kernel.h: Likewise.
13613 * include/grub/i386/kernel.h: Likewise.
13614 * include/grub/i386/pc/kernel.h: Likewise.
13615 * include/grub/i386/qemu/boot.h: Likewise.
13616 * include/grub/mips/kernel.h: Likewise.
13617 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13618 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13619 * include/grub/powerpc/kernel.h: Likewise.
13620 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13621 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13622 * include/grub/sparc64/kernel.h: Likewise.
13623 * include/grub/x86_64/efi/kernel.h: Likewise.
13624 * include/grub/x86_64/kernel.h: Likewise.
13625 * include/grub/offsets.h: New file.
13626 * include/grub/kernel.h (grub_module_info): Split into ...
13627 (grub_module_info32): ... this.
13628 (grub_module_info64): ... and this.
13629 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13630 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13631 (grub_boot_blocklist): Moved from here ...
13632 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13633 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13634 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13635 * include/grub/types.h (grub_target_to_host16): Removed.
13636 (grub_target_to_host32): Likewise.
13637 (grub_target_to_host64): Likewise.
13638 (grub_host_to_target16): Likewise.
13639 (grub_host_to_target32): Likewise.
13640 (grub_host_to_target64): Likewise.
13641 (grub_host_to_target_addr): Likewise.
13642
13643 Support grub-mkrescue for efi, coreboot and qemu.
13644
13645 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13646 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13647 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13648 * util/grub-mkrawimage.c: Moved from here ...
13649 * util/grub-mkimage.c: ... here. All users updated.
13650 (ALIGN_ADDR): Use image_target.
13651 (TARGET_NO_FIELD): New const.
13652 (image_target_desc): New type.
13653 (image_targets): New array.
13654 (grub_target_to_host64): Use image_target.
13655 (grub_target_to_host32): Likewise.
13656 (grub_target_to_host16): Likewise.
13657 (grub_host_to_target64): Likewise.
13658 (grub_host_to_target32): Likewise.
13659 (grub_host_to_target16): Likewise.
13660 (grub_host_to_target_addr): Likewise.
13661 (generate_image): Handle multiimage.
13662 (main): Require -O parameter. All users updated.
13663 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13664 util/efi/grub-mkimage.c
13665 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13666 New option --rom-directory.
13667 Use xorriso.
13668 * util/i386/efi/grub-mkimage.c: Removed.
13669 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13670 (grub_target_to_host32): Likewise.
13671 (grub_target_to_host64): Likewise.
13672 (grub_host_to_target16): Likewise.
13673 (grub_host_to_target32): Likewise.
13674 (grub_host_to_target64): Likewise.
13675 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13676 (grub_target_to_host32): Likewise.
13677 (grub_target_to_host64): Likewise.
13678 (grub_host_to_target16): Likewise.
13679 (grub_host_to_target32): Likewise.
13680 (grub_host_to_target64): Likewise.
13681
13682 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13683
13684 Source tree is reorganized for emu build.
13685
13686 * include/grub/util/console.h: Move from here...
13687 * include/grub/emu/console.h: ...to here.
13688 * include/grub/util/getroot.h: Move from here...
13689 * include/grub/emu/getroot.h: ...to here.
13690 * include/grub/util/hostdisk.h: Move from here...
13691 * include/grub/emu/hostdisk.h: ...to here.
13692 * util/console.c: Move from here...
13693 * kern/emu/console.c: ...to here.
13694 * util/getroot.c: Move from here...
13695 * kern/emu/getroot.c: ...to here.
13696 * util/grub-emu.c: Move from here...
13697 * kern/emu/main.c: ...to here.
13698 * util/hostdisk.c: Move from here...
13699 * kern/emu/hostdisk.c: ...to here.
13700 * util/hostfs.c: Move from here...
13701 * kern/emu/hostfs.c: ...to here.
13702 * util/mm.c: Move from here...
13703 * kern/emu/mm.c: ...to here.
13704 * util/pci.c: Move from here...
13705 * bus/emu/pci.c: ...to here.
13706 * util/sdl.c: Move from here...
13707 * video/emu/sdl.c: ...to here.
13708 * util/time.c: Move from here...
13709 * kern/emu/time.c: ...to here.
13710 * util/usb.c: Move from here...
13711 * bus/usb/emu/usb.c: ...to here.
13712
13713 * include/grub/emu/misc.h: New header for grub-emu functions.
13714 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13715
13716 * conf/any-emu.rmk: Rule updates for above renames.
13717 * conf/common.rmk: Likewise.
13718 * conf/i386-pc.rmk: Likewise.
13719 * conf/i386-qemu.rmk: Likewise.
13720 * conf/mips.rmk: Likewise.
13721 * conf/sparc64-ieee1275.rmk: Likewise.
13722 * conf/x86-efi.rmk: Likewise.
13723
13724 * disk/lvm.h: #include updates for above renames.
13725 * util/grub-mkrelpath.c: Likewise.
13726 * util/grub-probe.c: Likewise.
13727 * util/i386/pc/grub-setup.c: Likewise.
13728 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13729 * kern/emu/console.c: Likewise.
13730 * kern/emu/getroot.c: Likewise.
13731 * kern/emu/hostdisk.c: Likewise.
13732 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13733
13734 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13735 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13736 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13737 * util/misc.c: Remove grub-emu functions.
13738
13739 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 Fix gfxmenu crash.
13742 Reported by: Thorsten Grützmacher.
13743
13744 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13745 timeout hook.
13746 (circprog_set_property): Register and unregister timeout hook.
13747 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13748 (label_destroy): Free template. and unregister hook.
13749 (label_set_state): New function.
13750 (label_set_property): Handle templates and hooks.
13751 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13752 timeout hook.
13753 (progress_bar_set_property): Register and unregister timeout hook.
13754 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13755 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13756 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13757 (update_timeout_visit): Removed.
13758 (update_timeouts): New function.
13759 (redraw_timeouts): Likewise.
13760 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13761 (grub_gfxmenu_clear_timeout): Likewise.
13762 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13763 (grub_gfxmenu_timeout_notify): Likewise.
13764 (grub_gfxmenu_timeout_notifications): New external variable.
13765 (grub_gfxmenu_timeout_register): New function.
13766 (grub_gfxmenu_timeout_unregister): Likewise.
13767
13768 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 Transform (broken) vga terminal into (working) vga video driver.
13771
13772 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13773 video/i386/pc/vga.c.
13774 * include/grub/video.h (grub_video_driver_id):
13775 Add GRUB_VIDEO_DRIVER_VGA.
13776 * term/i386/pc/vga.c: Renamed to ...
13777 * video/i386/pc/vga.c: ...this
13778 (DEBUG_VGA): Removed.
13779 (CHAR_WIDTH): Likewise.
13780 (CHAR_HEIGHT): Likewise.
13781 (TEXT_WIDTH): Likewise.
13782 (TEXT_HEIGHT): Likewise.
13783 (DEFAULT_FG_COLOR): Likewise.
13784 (DEFAULT_BG_COLOR): Likewise.
13785 (colored_char): Likewise.
13786 (xpos): Likewise.
13787 (ypos): Likewise.
13788 (cursor_state): Likewise.
13789 (fg_color): Likewise.
13790 (bg_color): Likewise.
13791 (text_buf): Likewise.
13792 (page): Likewise.
13793 (font): Likewise.
13794 (framebuffer): New variable.
13795 (set_read_map): Disabled.
13796 (setup): New variable.
13797 (is_target): Likewise.
13798 (grub_vga_mod_init): Likewise.
13799 (grub_vga_mod_fini): Likewise.
13800 (check_vga_mem): Likewise.
13801 (write_char): Likewise.
13802 (write_cursor): Likewise.
13803 (scroll_up): Likewise.
13804 (grub_vga_putchar): Likewise.
13805 (grub_vga_getcharwidth): Likewise.
13806 (grub_vga_getwh): Likewise.
13807 (grub_vga_getxy): Likewise.
13808 (grub_vga_gotoxy): Likewise.
13809 (grub_vga_cls): Likewise.
13810 (grub_vga_setcolorstate): Likewise.
13811 (grub_vga_setcursor): Likewise.
13812 (grub_video_vga_init): New function.
13813 (grub_video_vga_setup): Likewise.
13814 (grub_video_vga_fini): Likewise.
13815 (update_target): Likewise.
13816 (grub_video_vga_blit_bitmap): Likewise.
13817 (grub_video_vga_blit_render_target): Likewise.
13818 (grub_video_vga_set_active_render_target): Likewise.
13819 (grub_video_vga_get_active_render_target): Likewise.
13820 (grub_video_vga_swap_buffers): Likewise.
13821 (grub_video_vga_set_palette): Likewise.
13822 (grub_video_vga_get_info_and_fini): Likewise.
13823 (grub_vga_term): Removed.
13824 (grub_video_vga_adapter): New variable.
13825 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13826 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13827
13828 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * video/readers/jpeg.c: Indented.
13831
13832 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 Various jpeg cleanups.
13835
13836 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13837 (grub_jpeg_decode_quan_table): Use sizeof.
13838 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13839
13840 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
13841
13842 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13843 tables. Ignore non-last ac bit.
13844 (grub_jpeg_decode_quan_table): Likewise.
13845
13846 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13849 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13850 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13851 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13852 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13853 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13854
13855 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13858 error.
13859
13860 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13863
13864 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13867 condition.
13868
13869 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13872 part.
13873
13874 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13877 pointers.
13878
13879 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13882
13883 2010-05-01 Christian Franke <franke@computer.org>
13884
13885 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13886 Remove broken Cygwin path conversion.
13887 * util/misc.c: [__CYGWIN__] Add include and define.
13888 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13889 for Cygwin 1.7.
13890 (make_system_path_relative_to_its_root): Simplify loop, replace early
13891 return by break.
13892 [__CYGWIN__] Add conversion to win32 path.
13893 Include "/" case in trailing slash removal.
13894
13895 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13898 Reported by: Seth Goldberg
13899
13900 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * commands/help.c (grub_cmd_help): Fix a typo.
13903 Reported by: Seth Goldberg
13904
13905 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13908 name and add N_.
13909 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13910 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13911 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13912 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13913 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13914 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13915 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13916 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13917 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13918 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13919 * normal/context.c (GRUB_MOD_INIT): Likewise.
13920 * normal/main.c (GRUB_MOD_INIT): Likewise.
13921 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13922 * term/serial.c (GRUB_MOD_INIT): Likewise.
13923 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13924
13925 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13928 extra == 0.
13929
13930 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 * commands/iorw.c: New file.
13933 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13934 (iorw_mod_SOURCES): New variable.
13935 (iorw_mod_CFLAGS): Likewise.
13936 (iorw_mod_LDFLAGS): Likewise.
13937
13938 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 Hotkey support
13941
13942 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13943 * normal/main.c (hotkey_aliases): New variable.
13944 (grub_normal_add_menu_entry): Parse "--hotkey".
13945 * normal/menu_text.c (run_menu): Handle hotkeys.
13946
13947 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * kern/i386/coreboot/init.c (grub_machine_init): Call
13950 grub_machine_mmap_init on qemu.
13951
13952 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * boot/i386/qemu/boot.S: Add a missing .code16.
13955
13956 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Use LBIO on coreboot.
13959
13960 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13961 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13962 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13963 New declaration.
13964 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13965 grub_machine_mmap_init on coreboot.
13966 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13967 GRUB_LINUXBIOS_MEMBER_LINK.
13968 (grub_machine_mmap_iterate): Fix declaration.
13969 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13970
13971 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 Split coreboot and multiboot ports.
13974
13975 * conf/i386-multiboot.rmk: New file.
13976 * configure.ac: Add multiboot port.
13977 * include/grub/i386/multiboot/boot.h: New file.
13978 * include/grub/i386/multiboot/console.h: Likewise.
13979 * include/grub/i386/multiboot/init.h: Likewise.
13980 * include/grub/i386/multiboot/kernel.h: Likewise.
13981 * include/grub/i386/multiboot/loader.h: Likewise.
13982 * include/grub/i386/multiboot/memory.h: Likewise.
13983 * include/grub/i386/multiboot/serial.h: Likewise.
13984 * include/grub/i386/multiboot/time.h: Likewise.
13985 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13986 * loader/multiboot.c: Likewise.
13987 * loader/multiboot_mbi2.c: Likewise.
13988 * util/grub-mkrescue.in: Generate multiboot rescue.
13989
13990 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13993
13994 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 Merge handling of input and output terminals. Fix a hang.
13997
13998 * commands/terminal.c (abstract_terminal): New struct.
13999 (handle_command): New function. Based on grub_cmd_terminal_input.
14000 (grub_cmd_terminal_input): Use handle_command.
14001 (grub_cmd_terminal_output): Use handle_command.
14002
14003 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14004
14005 Fix comment handling.
14006
14007 * tests/grub_script_comments.in: New testcase.
14008 * conf/tests.rmk: Rules for new testcase.
14009 * script/yylex.l: Updated flex rules.
14010
14011 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14012
14013 * docs/grub.texi (play): Document that zero pitches produce rests.
14014 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14015 if argc is 1.
14016
14017 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14020 autogen issues.
14021
14022 2010-04-26 Christian Franke <franke@computer.org>
14023
14024 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14025 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14026 (grub_get_prefix): Remove function.
14027 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14028 make_system_path_relative_to_its_root ().
14029 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14030
14031 2010-04-24 Christian Franke <franke@computer.org>
14032
14033 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14034 (kernel_img_LDFLAGS): Remove -static-libgcc.
14035
14036 2010-04-24 Christian Franke <franke@computer.org>
14037
14038 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14039 and CHECK_END_SYMBOL if grub-emu is built.
14040 Unset TARGET_OBJ2ELF if grub-emu is built
14041 without module support.
14042
14043 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14044
14045 Nilfs2 support.
14046
14047 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14048 (grub_fstest_SOURCES): Likewise.
14049 (pkglib_MODULES): Add nilfs2.mod.
14050 (nilfs2_mod_SOURCES): New variable.
14051 (nilfs2_mod_CFLAGS): Likewise.
14052 (nilfs2_mod_LDFLAGS): Likewise.
14053 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14054 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14055 * fs/nilfs2.c: New file.
14056
14057 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14060 is not supported.
14061
14062 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14063
14064 Add grub-mkconfig support for NetBSD.
14065
14066 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14067 * util/grub-mkconfig.in: export new NetBSD specific variables.
14068 * po/POTFILES-shell: added 10_netbsd.in.
14069 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14070
14071 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14072
14073 Fix emu build with grub-emu-pci and grub-emu-modules.
14074
14075 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14076 functions.
14077 * include/grub/libpciaccess.h: New file.
14078 * conf/any-emu.rmk: Update kernel headers for emu build.
14079
14080 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14083
14084 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14087
14088 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14091 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14092 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14093 util/ieee1275/ofpath.c.
14094 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14095 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14096 * include/grub/sparc64/ieee1275/boot.h
14097 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14098 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14099 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14100 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14101 const char *.
14102 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14103 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14104 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14105 install.
14106
14107 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14108
14109 * util/grub-mkconfig.in: Corrected two == equality tests.
14110 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14111 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14112 expect a number appended to it.
14113 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14114 expects a number appended to it.
14115
14116 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14119
14120 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * util/hostdisk.c (make_device_name): Change to new partition naming.
14123
14124 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14127
14128 2010-04-17 Christian Franke <franke@computer.org>
14129
14130 * Makefile.in: Add missing localedir setting.
14131
14132 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14133
14134 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14135 mistake in r2156. Noticed by Anthony Fok.
14136
14137 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14138 @localedir@.
14139 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14140
14141 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14142
14143 Fix a spurious, uninitialized variable warning.
14144
14145 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14146 Initialize variable, shdr.
14147 (grub_freebsd_load_elfmodule): Likewise.
14148 (grub_freebsd_load_elf_meta): Likewise.
14149
14150 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14151
14152 Fix for escaped dollar in double quoted strings.
14153
14154 * script/yylex.l: Updated flex rules.
14155 * conf/tests.rmk: Rule for new testcase.
14156 * tests/grub_script_dollar.in: New testcase.
14157
14158 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14159 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14160
14161 Enclose all translated strings in grub.cfg in single quotes, and
14162 escape them appropriately (Ubuntu bug #552921).
14163
14164 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14165 * util/grub.d/10_hurd.in: Use it.
14166 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14167 * util/grub.d/10_linux.in (linux_entry): Likewise.
14168
14169 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 Fix cygwin compilation.
14172
14173 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14174 * include/grub/misc.h (__register_frame_info)
14175 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14176 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14177 * kern/misc.c (__register_frame_info)
14178 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14179 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14180
14181 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14184
14185 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 Unify libgcc processing.
14188
14189 * Makefile.in (kernel_img_LDFLAGS): New variable.
14190 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14191 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14192 overwriting.
14193 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14194 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14195 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14196 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14197 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14198 overwriting. Remove -lgcc and -static-libgcc
14199 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14200 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14201 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14202 (kernel_img_LDFLAGS): Append instead of overwriting.
14203 Remove -lgcc and -static-libgcc
14204 * conf/sparc64-ieee1275.rmk: Likewise.
14205 * include/grub/powerpc/libgcc.h: Move to ...
14206 * include/grub/libgcc.h: .. this.
14207 * include/grub/libgcc.h: Don't export most of the function on x86.
14208 (__bswapsi2): New export.
14209 (__bswapdi2): Likewise.
14210 * include/grub/mips/libgcc.h: Removed.
14211 * include/grub/sparc64/libgcc.h: Likewise.
14212
14213 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14216 disk_info_msg (conflicts with gettexting into languages with cases).
14217
14218 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14219
14220 Add grub-probe support for NetBSD.
14221
14222 * util/getroot.c (find_root_device): Convert block device to
14223 character device on NetBSD.
14224 * util/probe.c (probe): Require character device on NetBSD.
14225 * util/hostdisk.c: NetBSD specific headers.
14226 (configure_device_driver): new function to tune device driver
14227 parameters (currently only for NetBSD floppy driver).
14228 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14229 via disklabel ioctl).
14230 (open_device): call configure_device_driver on NetBSD.
14231 (convert_system_partition_to_system_disk): NetBSD specific code.
14232 (device_is_wholedisk): Likewise.
14233 (grub_util_biosdisk_get_grub_dev): Likewise.
14234 (make_device_name): Fixed a typo in bsd_part_str.
14235 * configure.ac: check for opendisk() and getrawpartition() on
14236 NetBSD and set LIBUTIL.
14237 * Makefile.in: add LIBUTIL to LIBS.
14238
14239 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14240
14241 Documentation fix.
14242
14243 * util/grub-script-check.c: Better help message.
14244
14245 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14246
14247 Fix FreeBSD build.
14248
14249 * configure.ac: Flex version check.
14250 * conf/common.rmk: Add -Wno-error to sh.mod.
14251 * script/yylex.l: Remove all #pragma.
14252
14253 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14256 prototype.
14257 Reported by: Seth Goldberg.
14258
14259 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14262 Rename "module" to "module2".
14263 Reported by: Seth Goldberg.
14264
14265 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14268 EXPORT_FUNC.
14269 Reported by: Seth Goldberg.
14270
14271 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * lib/posix_wrap/locale.h: Add missing file.
14274 Reported by: Seth Goldberg.
14275
14276 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 grub-emu module load support.
14279
14280 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14281 NO_DYNAMIC_MODULES switched to this.
14282 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14283 (CFLAGS): Likewise.
14284 * conf/any-emu.rmk: Generate symlist.
14285 (kernel_img_HEADERS): Add util/datetime.h.
14286 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14287 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14288 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14289 kern/$(target_cpu)/cache.S.
14290 * configure.ac (grub-emu-modules): New option.
14291 * genmk.rb: Handle multiple source lists.
14292 * include/grub/sdl.h: New file.
14293 * include/grub/libusb.h: Likewise.
14294 * util/grub-emu.c (main): Hanle (host) root.
14295 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14296 GRUB_ERR_UNKNOWN_DEVICE.
14297 * util/misc.c: Move mm functions to ...
14298 * util/mm.c: ... here. All users updated.
14299
14300 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14303 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14304 missing files.
14305 (maintainer-clean): Remove libgcrypt-grub.
14306
14307 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14310
14311 2010-04-09 EFI Coder <eficoder@hotmail.com>
14312
14313 * normal/menu_text.c (print_message): Clean up the message and show
14314 the Fn information when on EFI
14315 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14316
14317 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14320 All users updated.
14321 * normal/crypto.c (read_crypto_list): Likewise.
14322 * normal/dyncmd.c (read_command_list): Likewise.
14323 * normal/term.c (read_terminal_list): Likewise.
14324 * normal/main.c (read_lists): Use explicit prefix.
14325 (read_lists_hook): Use read_lists.
14326 (grub_normal_execute): Likewise.
14327
14328 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14331 Reported by: Thomas Schmitt.
14332 Add -no-emul-boot to grub-mkisofs parameters.
14333
14334 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * font/font.c: Indented.
14337
14338 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14339
14340 Elif support to GRUB script (by Deepak Vankadaru).
14341
14342 * tests/grub_script_if.in: New testcase.
14343 * conf/tests.rmk: Rule for new testcase.
14344 * script/parser.y: Grammar rules for elif.
14345
14346 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14347
14348 While and until loops support to GRUB script.
14349
14350 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14351 (grub_script_create_cmdwhile): New function prototype.
14352 (grub_script_execute_cmdwhile): New function prototype.
14353 * script/execute.c (grub_script_execute_cmdwhile): New function.
14354 * script/parser.y (command): New commands.
14355 (whilecmd): New grammar rule.
14356 (untilcmd): New grammar rule.
14357 * script/script.c (grub_script_create_cmdwhile): New function.
14358 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14359 function.
14360
14361 * tests/grub_script_while1.in: New testcase.
14362 * conf/tests.rmk: Rule for new testcase.
14363
14364 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14367 as *.jpg.
14368
14369 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14370
14371 GRUB_BACKGROUND support.
14372
14373 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14374 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14375
14376 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Load fonts and modules for gfxmenu in grub-mkconfig.
14379 Idea by: Mario Vazquez
14380
14381 * util/grub.d/00_header.in: Load pf2 and image modules.
14382
14383 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 grub-mkconfig multiple terminal support.
14386
14387 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14388 * util/grub.d/00_header.in: Likewise.
14389
14390 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14393 we use cd $(srcdir).
14394
14395 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14396
14397 * util/grub.d/10_linux.in: Only use the first word of
14398 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14399 spaces in GRUB_DISTRIBUTOR.
14400 * util/grub.d/10_kfreebsd.in: Likewise.
14401 * util/grub.d/10_hurd.in: Likewise.
14402
14403 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14404
14405 Fix unit testing framework for Qemu 0.12.
14406
14407 * tests/util/grub-shell.in: Remove -serial stdio option.
14408
14409 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 POSIX header file wrappers.
14412
14413 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14414 equivalents.
14415 * lib/posix_wrap/ctype.h: Likewise.
14416 * lib/posix_wrap/errno.h: Likewise.
14417 * lib/posix_wrap/langinfo.h: Likewise.
14418 * lib/posix_wrap/limits.h: Likewise.
14419 * lib/posix_wrap/localcharset.h: Likewise.
14420 * lib/posix_wrap/stdint.h: Likewise.
14421 * lib/posix_wrap/stdio.h: Likewise.
14422 * lib/posix_wrap/stdlib.h: Likewise.
14423 * lib/posix_wrap/string.h: Likewise.
14424 * lib/posix_wrap/sys/types.h: Likewise.
14425 * lib/posix_wrap/unistd.h: Likewise.
14426 * lib/posix_wrap/wchar.h: Likewise.
14427 * lib/posix_wrap/wctype.h: Likewise.
14428 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14429 (grub_script.yy.h): Likewise.
14430 * script/yylex.l: Remove POSIX emulation #defines.
14431 * Makefile.in (POSIX_CFLAGS): New variable.
14432 (GNULIB_UTIL_CFLAGS): Likewise.
14433
14434 Regexp support.
14435
14436 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14437 (regexp_mod_SOURCES): New variable.
14438 (regexp_mod_CFLAGS): Likewise.
14439 (regexp_mod_LDFLAGS): Likewise.
14440 * commands/regexp.c: New file.
14441 * gnulib/regcomp.c: New file. Imported from gnulib.
14442 * gnulib/regex.c: Likewise.
14443 * gnulib/regex_internal.c: Likewise.
14444 * gnulib/regex_internal.h: Likewise.
14445 * gnulib/regexec.c: Likewise.
14446 * gnulib/regex.h: Likewise.
14447
14448 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14451 unsupported video mode types.
14452
14453 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14456
14457 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14460 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14461
14462 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 Remove unused grub_vga_get_font.
14465
14466 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14467 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14468
14469 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14470
14471 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14472 * include/grub/misc.h: Likewise.
14473
14474 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14475
14476 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14477 for which failure is fatal.
14478
14479 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14480
14481 * util/grub-install.in: Use mkdir -p to create grub directory.
14482 * util/i386/efi/grub-install.in: Likewise.
14483 * util/ieee1275/grub-install.in: Likewise.
14484
14485 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14486
14487 * Makefile.in (LEX): new variable.
14488
14489 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14490
14491 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14492 `=' and added double quotes on operands of this equality test.
14493
14494 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 * Makefile.in (uninstall): Remove a leftover debug echo.
14497 Reported by: Grégoire Sutre
14498
14499 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 MIPS multiboot2 support.
14502
14503 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14504 (multiboot2_mod_SOURCES): New variable.
14505 (multiboot2_mod_CFLAGS): Likewise.
14506 (multiboot2_mod_LDFLAGS): Likewise.
14507 (multiboot2_mod_ASFLAGS): Likewise.
14508 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14509 definition.
14510 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14511 (MULTIBOOT_MBI_REGISTER): Likewise.
14512 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14513 (MULTIBOOT_ELF32_MACHINE): Likewise.
14514 (MULTIBOOT_ELF64_MACHINE): Likewise.
14515 * include/grub/mips/multiboot.h: New file.
14516 * include/grub/video.h (grub_video_driver_id): New type
14517 GRUB_VIDEO_DRIVER_SM712.
14518 (grub_video_get_info_and_fini): Export.
14519 (grub_video_get_palette): Likewise.
14520 (grub_video_get_driver_id): Likewise.
14521 * include/multiboot2.h: Resynced with spec.
14522 * loader/i386/multiboot.c: Moved from here ...
14523 * loader/multiboot.c: ... here. All users updated.
14524 (grub_multiboot_boot): Use platform-specific macros.
14525 * loader/i386/multiboot_elfxx.c: Moved from here ...
14526 * loader/multiboot_elfxx.c: ... here. All users updated.
14527 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14528 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14529 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14530
14531 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 Import gnulib argp module.
14534
14535 * gnulib/argp-ba.c: New file.
14536 * gnulib/argp-eexst.c: Likewise.
14537 * gnulib/argp-fmtstream.c: Likewise.
14538 * gnulib/argp-fmtstream.h: Likewise.
14539 * gnulib/argp-fs-xinl.c: Likewise.
14540 * gnulib/argp-help.c: Likewise.
14541 * gnulib/argp-namefrob.h: Likewise.
14542 * gnulib/argp-parse.c: Likewise.
14543 * gnulib/argp-pin.c: Likewise.
14544 * gnulib/argp-pv.c: Likewise.
14545 * gnulib/argp-pvh.c: Likewise.
14546 * gnulib/argp-version-etc.c: Likewise.
14547 * gnulib/argp-version-etc.h: Likewise.
14548 * gnulib/argp-xinl.c: Likewise.
14549 * gnulib/argp.h: Likewise.
14550
14551 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 * kern/device.c (grub_device_iterate): Clear errors after failed
14554 opening device.
14555
14556 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14559 returned by firmware.
14560
14561 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14564 compilation on coreboot and qemu
14565
14566 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * include/multiboot2.h: Resync with spec.
14569
14570 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Multiboot2 tag support
14573
14574 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14575 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14576 Remove loader/multiboot_loader.c.
14577 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14578 (grub_multiboot2_real_boot): Likewise.
14579 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14580 (grub_get_multiboot_mmap_count): New proto.
14581 (grub_fill_multiboot_mmap): Likewise.
14582 (grub_multiboot_set_video_mode): Likewise.
14583 (grub_multiboot_set_console): Likewise.
14584 (grub_multiboot_load): Likewise.
14585 (grub_multiboot_load_elf): Likewise.
14586 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14587 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14588 * include/multiboot.h: Resynced with specification.
14589 * include/multiboot2.h: Resynced with specification.
14590 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14591 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14592 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14593 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14594 users updated.
14595 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14596 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14597 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14598 Removed.
14599 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14600 Moved from here...
14601 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14602 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14603 Moved from here...
14604 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14605 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14606 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14607 All users updated.
14608 * loader/i386/multiboot_mbi2.c: New file.
14609
14610 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 Resync with gnulib.
14613
14614 * Makefile.in (GNULIB_CFLAGS): New variable.
14615 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14616 (grub_script_check_CFLAGS): New variable.
14617 * gnulib/alloca.h: Resync with gnulib.
14618 * gnulib/error.c: Likewise.
14619 * gnulib/error.h: Likewise.
14620 * gnulib/fnmatch.c: Likewise.
14621 * gnulib/fnmatch_loop.c: Likewise.
14622 * gnulib/getdelim.c: Likewise.
14623 * gnulib/getline.c: Likewise.
14624 * gnulib/getopt.c: Likewise.
14625 * gnulib/getopt1.c: Likewise.
14626 * gnulib/getopt_int.h: Likewise.
14627 * gnulib/gettext.h: Likewise.
14628 * gnulib/progname.c: Likewise.
14629 * gnulib/progname.h: Likewise.
14630
14631 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14632
14633 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14634 which is the case with --disabled-nls.
14635
14636 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14637 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14638 * util/misc.c: Likewise.
14639 * util/mkisofs/mkisofs.c: Likewise.
14640 * util/mkisofs/mkisofs.h: Likewise.
14641
14642 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Simplify Apple CC support.
14645
14646 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14647 Add 0 byte at the end not to have a symbol with empty target.
14648 * mmap/i386/pc/mmap_helper.S: Likewise.
14649 * genmk.rb: Ignore errors 2030 and 2050.
14650 * kern/i386/pc/startup.S: Use LOCAL when possible.
14651
14652 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14653
14654 Testcase and the fix for final semicolon on cmdline.
14655
14656 * tests/grub_script_final_semicolon.in: New testcase.
14657 * conf/tests.rmk: Rules for the new testcase.
14658 * script/parser.y: Grammar fix.
14659
14660 2010-03-26 BVK Chaitanya <bvk@localhost>
14661
14662 Blank lines testcase for GRUB script.
14663
14664 * tests/grub_script_blanklines.in: New testcase.
14665 * conf/tests.rmk: Rules for the new testcase.
14666
14667 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 Don't use __FILE__.
14670
14671 * genmk.rb: Add -DGRUB_FILE to all C targets.
14672 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14673 * include/grub/list.h: Likewise.
14674 * include/grub/misc.h: Likewise.
14675 * include/grub/mm.h: Likewise.
14676 * include/grub/test.h: Likewise.
14677 * kern/mm.c: Likewise.
14678 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14679
14680 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 Sunpc partitions support.
14683
14684 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14685 (grub_fstest_SOURCES): Likewise.
14686 (pkglib_MODULES): Add part_sunpc.mod.
14687 (part_sunpc_mod_SOURCES): New variable.
14688 (part_sunpc_mod_CFLAGS): Likewise.
14689 (part_sunpc_mod_LDFLAGS): Likewise.
14690 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14691 * partmap/sunpc.c: New file.
14692
14693 2010-03-26 BVK Chaitanya <bvk@localhost>
14694
14695 For loop support to GRUB script.
14696
14697 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14698 (grub_script_create_cmdfor): New function prototype.
14699 (grub_script_execute_cmdfor): New function prototype.
14700 * script/execute.c (grub_script_execute_cmdfor): New function.
14701 * script/parser.y (command): New for command.
14702 (forcmd): New grammar rule.
14703 * script/script.c (grub_script_create_cmdfor): New function.
14704 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14705 function.
14706 * tests/grub_script_for1.in: New testcase.
14707 * conf/tests.rmk: Rules for new testcase.
14708
14709 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Nested partitions
14712
14713 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14714 'partition' is NULL, grub_partition_get_start already does that.
14715 * commands/loadenv.c (check_blocklists): Likewise.
14716 (write_blocklists): Likewise.
14717 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14718 (grub_fstest_SOURCES): Likewise.
14719 (pkglib_MODULES): Add part_bsd.mod.
14720 (part_bsd_mod_SOURCES): New variable.
14721 (part_bsd_mod_CFLAGS): Likewise.
14722 (part_bsd_mod_LDFLAGS): Likewise.
14723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14724 (grub_emu_SOURCES): Likewise.
14725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14726 * include/grub/bsdlabel.h: New file.
14727 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14728 'get_name'.
14729 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14730 (grub_partition_map_list): New variable.
14731 (grub_partition_map_register): Inline.
14732 (grub_partition_map_unregister): Likewise.
14733 (FOR_PARTITION_MAPS): New macro.
14734 (grub_partition_map_iterate): Removed.
14735 (grub_partition_get_start): Handle nested partitions.
14736 * include/grub/msdos_partition.h: Remove bsd-related entries.
14737 (grub_pc_partition): Remove.
14738 * kern/disk.c (grub_disk_close): Free partition data.
14739 (grub_disk_adjust_range): Handle nested partitions.
14740 * kern/partition.c (grub_partition_map_probe): New function.
14741 (grub_partition_probe): Parse name to number, handle subpartitions.
14742 (get_partmap): New function.
14743 (grub_partition_iterate): Handle subpartitions.
14744 (grub_partition_get_name): Likewise.
14745 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14746 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14747 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14748 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14749 Set 'number'.
14750 (acorn_partition_map_probe): Remove.
14751 (acorn_partition_map_get_name): Likewise.
14752 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14753 Set 'number'.
14754 Set 'index' to 0 since there can be only one partition entry per sector.
14755 (amiga_partition_map_probe): Remove.
14756 (amiga_partition_map_get_name): Likewise.
14757 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14758 Set 'number'.
14759 Set 'offset' and 'index' to real positions of partitions.
14760 (apple_partition_map_probe): Remove.
14761 (apple_partition_map_get_name): Likewise.
14762 * partmap/bsdlabel.c: New file.
14763 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14764 Set 'number'.
14765 Allocate 'data' so it can be correctly freed.
14766 Set 'index' to offset inside sector.
14767 (gpt_partition_map_probe): Remove.
14768 (gpt_partition_map_get_name): Likewise.
14769 * partmap/msdos.c (grub_partition_parse): Remove.
14770 (pc_partition_map_iterate): Don't force raw access.
14771 Set 'number'.
14772 Make 'ext_offset' a local variable.
14773 (pc_partition_map_probe): Remove.
14774 (pc_partition_map_get_name): Remove.
14775 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14776 Set 'number'.
14777 (sun_partition_map_probe): Remove.
14778 (sun_partition_map_get_name): Likewise.
14779 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14780 (grub_pcpart_type): Likewise.
14781 * util/hostdisk.c (open_device): Handle new numbering scheme.
14782 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14783 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14784 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14785 * util/grub-install.in: Insert all subpartition modules.
14786 * util/ieee1275/grub-install.in: Likewise.
14787
14788 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14789
14790 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14791 grammar.
14792
14793 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
14794
14795 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14796
14797 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
14798
14799 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14800 match where 'make install' puts them.
14801 * util/i386/efi/grub-install.in: Likewise.
14802
14803 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
14804
14805 * .bzrignore: Add gentrigtables, grub-script-check,
14806 grub_script_check_init.c, grub_script_check_init.h, and
14807 trigtables.c.
14808
14809 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * kern/parser.c: Indented.
14812
14813 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14816
14817 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14820 alpha_mask_size == 0 case.
14821
14822 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14823
14824 GRUB shell lexer and parser improvements.
14825
14826 * conf/any-emu.rmk: Build rule updates.
14827 * conf/common.rmk: Likewise.
14828 * conf/i386-coreboot.rmk: Likewise.
14829 * conf/i386-efi.rmk: Likewise.
14830 * conf/i386-ieee1275.rmk: Likewise.
14831 * conf/i386-pc.rmk: Likewise.
14832 * conf/powerpc-ieee1275.rmk: Likewise.
14833 * conf/x86_64-efi.rmk: Likewise.
14834
14835 * configure.ac: Configure check for flex.
14836
14837 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14838 types.
14839 (grub_lexer_param): Struct member updates.
14840 (grub_parser_param): Likewise.
14841 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14842 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14843 (grub_script_lexer_init): Prototype update.
14844 (grub_script_lexer_record_start): Likewise.
14845 (grub_script_lexer_record_stop): Likewise.
14846 (grub_script_lexer_yywrap): New function prototype.
14847 (grub_script_lexer_fini): Likewise.
14848 (grub_script_execute_argument_to_string): Removed by...
14849 (grub_script_execute_argument_to_argv): ...better version.
14850
14851 * script/execute.c (ROUND_UPTO): New macro.
14852 (grub_script_execute_cmdline): Out of memory fixes.
14853 (grub_script_execute_menuentry): Likewise.
14854 (grub_script_execute_argument_to_string): Removed. Update all
14855 users by...
14856 (grub_script_execute_argument_to_argv): ...better version.
14857 * script/function.c (grub_script_function_create): Use
14858 grub_script_execute_argument_to_argv instead of
14859 grub_script_execute_argument_to_string.
14860
14861 * script/lexer.c (check_varstate): Removed.
14862 (check_textstate): Removed.
14863 (grub_script_lexer_record_start): Likewise.
14864 (grub_script_lexer_record_stop): Likewise.
14865 (recordchar): Replaced with...
14866 (grub_script_lexer_record): ...new function.
14867 (nextchar): Removed.
14868 (grub_script_lexer_init): Rewritten.
14869 (grub_script_yylex): Rewritten.
14870 (append_newline): New function.
14871 (grub_script_lexer_yywrap): New function.
14872 (grub_script_lexer_fini): New function.
14873 (grub_script_yyerror): Sets error flag.
14874
14875 * script/yylex.l: New file.
14876 (grub_lexer_yyfree): Wrapper for flex yyffre.
14877 (grub_lexer_yyalloc): Likewise.
14878 (grub_lexer_yyrealloc): Likewise.
14879 * script/parser.y: Refactored.
14880
14881 * script/script.c (grub_script_arg_add): Out of memory fixes.
14882 (grub_script_add_arglist): Likewise.
14883 (grub_script_create_cmdline): Likewise.
14884 (grub_script_create_cmdmenu): Likewise.
14885 (grub_script_add_cmd): Likewise.
14886 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14887 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14888 unnecessary code.
14889
14890 * tests/grub_script_echo1.in: New testcase.
14891 * tests/grub_script_vars1.in: New testcase.
14892 * tests/grub_script_echo_keywords.in: New testcase.
14893
14894 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 Remove some redundancy in build system.
14897
14898 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14899 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14900 (TARGET_LDFLAGS): Add -nostdlib.
14901 (TARGET_IMG_LDFLAGS): Likewise.
14902 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14903 anything since mmap isn't available.
14904 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14905 Add util/time.c.
14906 (pkglib_MODULES): Remove reboot.mod.
14907 (reboot_mod_SOURCES): Removed.
14908 (reboot_mod_CFLAGS): Likewise.
14909 (reboot_mod_LDFLAGS): Likewise.
14910 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14911 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14912 (DEFSYMFILES): Add kernel_syms.lst.
14913 (kernel_img_HEADERS): Add common headers.
14914 (symlist.c): New target.
14915 (kernel_syms.lst): Likewise.
14916 (pkglib_MODULES): Add memdisk.mod.
14917 (memdisk_mod_SOURCES): New variable.
14918 (memdisk_mod_CFLAGS): Likewise.
14919 (memdisk_mod_LDFLAGS): Likewise.
14920 (pkglib_MODULES): Add reboot.mod.
14921 (reboot_mod_SOURCES): New variable.
14922 (reboot_mod_CFLAGS): Likewise.
14923 (reboot_mod_LDFLAGS): Likewise.
14924 (pkglib_MODULES): Add date.mod.
14925 (date_mod_SOURCES): New variable.
14926 (date_mod_CFLAGS): Likewise.
14927 (date_mod_LDFLAGS): Likewise.
14928 (pkglib_MODULES): Add datehook.mod.
14929 (datehook_mod_SOURCES): New variable.
14930 (datehook_mod_CFLAGS): Likewise.
14931 (datehook_mod_LDFLAGS): Likewise.
14932 (pkglib_MODULES): Add lsmmap.mod.
14933 (lsmmap_mod_SOURCES): New variable.
14934 (lsmmap_mod_CFLAGS): Likewise.
14935 (lsmmap_mod_LDFLAGS): Likewise.
14936 (pkglib_MODULES): Add boot.mod.
14937 (boot_mod_SOURCES): New variable.
14938 (boot_mod_CFLAGS): Likewise.
14939 (boot_mod_LDFLAGS): Likewise.
14940 * conf/i386-coreboot.rmk: Removed redundant parts.
14941 * conf/i386-ieee1275.rmk: Likewise.
14942 * conf/i386-pc.rmk: Likewise.
14943 * conf/mips-yeeloong.rmk: Likewise.
14944 * conf/mips.rmk: Likewise.
14945 * conf/powerpc-ieee1275.rmk: Likewise.
14946 * conf/sparc64-ieee1275.rmk: Likewise.
14947 * conf/x86_64-efi.rmk: Likewise.
14948 * conf/i386-coreboot.rmk: Moved qemu parts ..
14949 * conf/i386-qemu.rmk: ... here
14950 * conf/i386-efi.rmk: Moved common parts to...
14951 * conf/x86-efi.rmk: ... here.
14952 * conf/i386.rmk: Added modules common to all x86 variants.
14953 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14954 * disk/memdisk.c: Remove grub/machine/kernel.h.
14955 * gensymlist.sh.in: Include symbol.h.
14956 * hook/datehook.c: Correct module name.
14957 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14958 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14959 * include/grub/i386/efi/serial.h: New file.
14960 * include/grub/x86_64/efi/serial.h: Likewise.
14961 * util/time.c: Likewise.
14962 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14963
14964 2010-03-14 Colin King <colin.king@ubuntu.com>
14965 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14966
14967 Shrink the pre-partition-table part of boot.img by eight bytes.
14968
14969 * boot/i386/pc/boot.S (ERR): New macro.
14970 (chs_mode): Use ERR.
14971 (geometry_error): Likewise.
14972 (hd_probe_error): Remove. This is only used once, so we wrwite
14973 it inline instead.
14974 (read_error): Instead of printing read_error_string, just set up
14975 %si and fall through to ...
14976 (error_message): ... this new function, also used by ERR.
14977
14978 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14979
14980 Speed up consecutive hostdisk operations on the same device.
14981
14982 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14983 (grub_util_biosdisk_open): Initialise disk->data.
14984 (struct linux_partition_cache): New structure.
14985 (linux_find_partition): Cache partition start positions; these are
14986 expensive to compute on every read and write.
14987 (open_device): Cache open file descriptor in disk->data, so that we
14988 don't have to reopen it and flush the buffer cache for consecutive
14989 operations on the same device.
14990 (grub_util_biosdisk_close): New function.
14991 (grub_util_biosdisk_dev): Set `close' member.
14992
14993 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14994 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14995 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14996 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14997 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14998
14999 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 Compile parts of grub-emu as modules.
15002
15003 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15004 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15005 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15006 (all-local): Add $(GRUB_EMU).
15007 (install-local): Install $(GRUB_EMU).
15008 (uninstall): Uninstall $(GRUB_EMU).
15009 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15010 * kern/dl.c: Likewise.
15011 * commands/sleep.c: Not include machine/time.h.
15012 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15013 (COMMON_CFLAGS): Likewise.
15014 (sbin_UTILITIES): Remove grub-emu.
15015 (grub_emu_SOURCES): Removed.
15016 (kernel_img_RELOCATABLE): New variable.
15017 (pkglib_PROGRAMS): Add kernel.img.
15018 (kernel_img_SOURCES): New variable
15019 (kernel_img_CFLAGS): Likewise.
15020 (kernel_img_LDFLAGS): Likewise.
15021 (TARGET_NO_STRIP): Likewise.
15022 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15023 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15024 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15025 (grub-emu): New target.
15026 (GRUB_EMU): New variable.
15027 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15028 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15029 * loader/xnu.c: Likewise.
15030 * include/grub/pci.h: Likewise.
15031 * genemuinit.sh: New file.
15032 * genemuinitheader.sh: Likewise.
15033 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15034 Support TARGET_NO_DYNAMIC_MODULES.
15035 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15036 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15037 * disk/loopback.c: Likewise.
15038 * font/font_cmd.c: Likewise.
15039 * partmap/acorn.c: Likewise.
15040 * partmap/amiga.c: Likewise.
15041 * partmap/apple.c: Likewise.
15042 * partmap/gpt.c: Likewise.
15043 * partmap/msdos.c: Likewise.
15044 * partmap/sun.c: Likewise.
15045 * parttool/msdospart.c: Likewise.
15046 * term/gfxterm.c: Likewise.
15047 * video/bitmap.c: Likewise.
15048 * video/readers/jpeg.c: Likewise.
15049 * video/readers/png.c: Likewise.
15050 * video/readers/tga.c: Likewise.
15051 * video/video.c: Likewise.
15052 * util/grub-emu.c (read_command_list): Removed.
15053 (main): Don't call util_init_nls.
15054 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15055 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15056
15057 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15060 date.mod, datehook.mod.
15061 (datetime_mod_SOURCES): New variable.
15062 (datetime_mod_CFLAGS): Likewise.
15063 (datetime_mod_LDFLAGS): Likewise.
15064 (date_mod_SOURCES): Likewise.
15065 (date_mod_CFLAGS): Likewise.
15066 (date_mod_LDFLAGS): Likewise.
15067 (datehook_mod_SOURCES): Likewise.
15068 (datehook_mod_CFLAGS): Likewise.
15069 (datehook_mod_LDFLAGS): Likewise.
15070 * conf/sparc64-ieee1275.rmk: Likewise.
15071 * lib/ieee1275/datetime.c: New file.
15072
15073 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15076 (ieee1275_fb_mod_SOURCES): New variable.
15077 (ieee1275_fb_mod_CFLAGS): Likewise.
15078 (ieee1275_fb_mod_LDFLAGS): Likewise.
15079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15080 New proto.
15081 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15082 (HEAP_MAX_ADDR): Likewise.
15083 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15084 type.
15085 Correct stop condition.
15086 (grub_ieee1275_devices_iterate): New function.
15087 * video/ieee1275.c: New file.
15088
15089 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15092
15093 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15094 as scratch.
15095 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15096 SCRATCH_PAD_DISKBOOT as scratch.
15097 (bootit): Pass Openfirmware pointer in %o4.
15098 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15099 of 0x200000.
15100 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15101 with util/grub-mkrawimage.c.
15102 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15103 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15104 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15105 (grub_aout_load) [GRUB_UTIL]: Likewise.
15106 * include/grub/kernel.h (grub_modules_get_end): New proto.
15107 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15108 (SCRATCH_PAD_BOOT): New definition.
15109 (SCRATCH_PAD_DISKBOOT): Likewise.
15110 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15111 * include/grub/sparc64/ieee1275/ieee1275.h
15112 (grub_ieee1275_original_stack): New variable
15113 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15114 New definition
15115 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15116 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15117 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15118 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15119 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15120 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15121 (grub_platform_image_format_t): New type.
15122 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15123 * kern/main.c (grub_modules_get_end)
15124 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15125 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15126 (codestart): Switch stacks.
15127 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15128 variable.
15129 (grub_heap_init): Use grub_modules_get_end.
15130 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15131 stack.
15132 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15133 (main): Likewise.
15134 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15135
15136 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15137
15138 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15139
15140 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15141
15142 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15143 bug #559005).
15144
15145 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15146
15147 * genmoddep.awk: Output all missing symbols and not only first.
15148
15149 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 * NEWS: Put the date of 1.98 release.
15152
15153 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15156 ft2build.h.
15157
15158 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15161 completition in the middle of string.
15162
15163 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * util/grub-mkrescue.in: Use mktemp with explicit template.
15166
15167 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15170
15171 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15174 right pointer.
15175
15176 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 Fix FreeBSD compilation.
15179
15180 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15181 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15182
15183 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15186
15187 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15190
15191 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15194
15195 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15196
15197 Support relative image path in theme file.
15198
15199 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15200 (image_set_property): Handle theme_dir and relative path.
15201
15202 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * configure.ac: Alias amd64 to x86_64.
15205
15206 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * NEWS: mention multiboot on EFI.
15209
15210 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * kern/main.c (grub_load_modules): Handle errors from init functions of
15213 embeded modules.
15214
15215 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * normal/autofs.c (autoload_fs_module): Handle errors.
15218
15219 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 Disable linux.mod on qemu-mips since it's not functional and leads
15222 to compilation failure.
15223
15224 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15225 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15226 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15227 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15228 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15229 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15230 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15231 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15232 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15233 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15234 Reported by: BVK Chaitanya
15235
15236 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15237
15238 * INSTALL: Add gettext as a dependency and add qemu to a new section
15239 "Prerequisites for make-check".
15240
15241 2010-03-04 Christian Franke <franke@computer.org>
15242
15243 * util/grub-pe2elf.c: Add missing include "progname.h".
15244
15245 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * normal/crypto.c (read_crypto_list): Fix a typo.
15248 Reported by: Seth Goldberg.
15249
15250 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15253 Reported by: Seth Goldberg.
15254
15255 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15258 ascii.bitmaps.
15259
15260 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * genmk.rb: Remove terminal*.lst in make clean.
15263 Reported by: Seth Goldberg.
15264
15265 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 * util/i386/efi/grub-install.in: Copy gettext files.
15268
15269 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15270
15271 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15272
15273 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 Wait for user entry basing on presence of output rather than on errors.
15276
15277 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15278 (grub_install_newline_hook): Likewise.
15279 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15280 * normal/menu.c (show_menu): Check line_counter to determine presence
15281 of output.
15282 * normal/term.c (grub_normal_line_counter): New variable.
15283 (grub_normal_get_line_counter): New function.
15284 (grub_install_newline_hook): Likewise.
15285
15286 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15289
15290 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 * configure.ac: Update version to 1.98.
15293
15294 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * util/grub.d/10_linux.in (linux_entry): Don't default to
15297 gfxpayload=keep if Linux doesn't support video handover.
15298
15299 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 Don't compile video modules on yeeloong since video subsystem is part
15302 of kernel.
15303
15304 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15305 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15306 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15307 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15308 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15309 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15310 * include/grub/bitmap_scale.h: Likewise.
15311 * include/grub/bufio.h: Likewise.
15312 * include/grub/font.h: Likewise.
15313 * include/grub/gfxterm.h: Likewise.
15314 * include/grub/video.h: Likewise.
15315 * include/grub/vbe.h: Don't include video_fb.h.
15316 * video/i386/pc/vbe.c: Include video_fb.h.
15317 * commands/i386/pc/vbetest.c: Include video.h.
15318
15319 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15320
15321 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15322 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15323 default entry if GRUB_SAVEDEFAULT=true. This allows using
15324 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15325 saving a new default on every boot.
15326
15327 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15330 * normal/term.c (read_terminal_list): Likewise.
15331 * normal/main.c (grub_normal_init_page): Likewise.
15332 (grub_normal_read_line_real): Likewise.
15333
15334 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15337 memory leak.
15338 Reported by: Seth Goldberg.
15339
15340 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15341
15342 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15343 duplicate declaration of `start'.
15344
15345 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15348 filename.
15349 Reported by: Georgy Buranov
15350
15351 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15352
15353 * util/grub-mkrawimage.c (usage): Change string formatting to
15354 improve gettext.
15355
15356 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15357
15358 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15359 backspace keys.
15360
15361 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15364 Reported by: Michael Suchanek.
15365
15366 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15367
15368 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15369 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15370
15371 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Remove any reference to non-free fonts.
15374
15375 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15376 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15377 uses non-free components.
15378 * font/font.c (grub_font_get_name): Remove example name.
15379 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15380 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15381 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15382 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15383
15384 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15385
15386 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15387
15388 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15391 Double divisor.
15392 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15393 features.
15394 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15395
15396 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15399
15400 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15401
15402 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15403 * docs/grub.texi (Command-line and menu entry commands): Document play
15404 command.
15405
15406 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15407
15408 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15409 parse arguments as inline tempo and notes. Move code for playing notes
15410 to...
15411 (play): ... new function.
15412
15413 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15414
15415 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15416 grub_uint16_t instead of short.
15417 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15418 disk from little endian to cpu endianness.
15419
15420 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15421
15422 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15423 GRUB_TICKS_PER_SECOND instead of 120.
15424
15425 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15428 escape sequence after \e.
15429
15430 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15433 non-ASCII characters.
15434
15435 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15438 set root in single quotes to prevent \, from being unescaped.
15439
15440 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 Prevent unknown commands from stopping menuentry execution.
15443
15444 * script/execute.c (grub_script_execute_cmdline): Print error after
15445 unknown command.
15446
15447 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15450 Reported by: Pavel Pisa.
15451
15452 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15455
15456 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 Merge grub_ieee1275_map_physical into grub_map and rename to
15459 grub_ieee1275_map
15460
15461 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15462 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15463 Remove.
15464 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15465 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15466 necessary.
15467 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15468
15469 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15472 opening and not after.
15473
15474 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15477 constants.
15478
15479 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15482 (alloc_phys): Use ALIGN_UP instead of align_addr.
15483
15484 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15487
15488 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15491
15492 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15495 verbose dprintf.
15496
15497 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 Fix over-4GiB seek on sparc64.
15500
15501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15502 Replace pos_i and pos_lo with pos. All users updated.
15503 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15504 New constant.
15505 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15506 Likewise.
15507 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15508 and pos_lo.
15509
15510 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * util/grub-mkrawimage.c (main): Call set_program_name.
15513
15514 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 Properly align 64-bit targets.
15517
15518 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15519 (generate_image): Use ALIGN_ADDR.
15520
15521 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Properly create cross-endian images.
15524
15525 * include/grub/types.h (grub_host_to_target_addr): New macro
15526 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15527
15528 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15531
15532 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15535
15536 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15537 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15538 (grub_linux_boot): Divide by 64K when on VESA.
15539
15540 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Support GRUB_GFXPAYLOAD_LINUX.
15543
15544 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15545 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15546
15547 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15550 to show messages instead of discarding them.
15551 Process errors after executing command and not before. Keep old method
15552 too as precaution.
15553
15554 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 * configure.ac: Check for ft2build.h.
15557
15558 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15561
15562 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * genkernsyms.sh.in: Use TARGET_CC.
15565
15566 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15567
15568 * NEWS: Update.
15569
15570 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * include/grub/multiboot2.h: Remove leftover file.
15573 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15574 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15575
15576 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15577
15578 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15579
15580 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 Fix warnings in grub-emu when compiling with maximum warning options.
15583
15584 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15585 (grub_arch_modules_addr): Return 0 and not NULL.
15586 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15587 (xstrdup): Use newstr instead of dup.
15588 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15589 of disk to dsk to avoid shadowing.
15590 (find_free_slot): Fix prototype.
15591 * util/getroot.c (grub_util_is_dmraid): Make static.
15592 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15593 Add missing prototype.
15594 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15595
15596 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15599 appropriately.
15600
15601 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15604 code out.
15605
15606 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15609 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15610 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15611 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15612 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15613 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15614
15615 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * include/grub/err.h (grub_err_printf): Don't export.
15618
15619 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15622
15623 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15626 * kern/misc.c (grub_gettext_dummy): Make static.
15627
15628 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15631 by non-valid ones.
15632 * kern/term.c (grub_putchar): Likewise.
15633
15634 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15637 buggy hook call and memory leak.
15638
15639 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15642
15643 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15646
15647 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15650 modevar.
15651 Return grub_errno on allocation error.
15652
15653 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15656
15657 2010-02-06 Yves Blusseau <blusseau@zetam.org>
15658
15659 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15660 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15661
15662 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15665 non-pxe disk.
15666 (grub_pxefs_open): Likewise.
15667
15668 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15669
15670 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15671 * util/grub.d/10_kfreebsd.in: Likewise.
15672 * util/grub.d/10_linux.in: Likewise.
15673
15674 2010-02-06 Colin D Bennett <colin@gibibit.com>
15675
15676 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15677 (gfxmenu_mod_SOURCES): New variable.
15678 (gfxmenu_mod_CFLAGS): Likewise.
15679 (gfxmenu_mod_LDFLAGS): Likewise.
15680 * include/grub/term.h (grub_term_set_current_output): Declare
15681 argument as const.
15682 * docs/gfxmenu-theme-example.txt: New file.
15683 * gfxmenu/gfxmenu.c: Likewise.
15684 * gfxmenu/gui_box.c: Likewise.
15685 * gfxmenu/gui_canvas.c: Likewise.
15686 * gfxmenu/gui_circular_progress.c: Likewise.
15687 * gfxmenu/gui_image.c: Likewise.
15688 * gfxmenu/gui_label.c: Likewise.
15689 * gfxmenu/gui_list.c: Likewise.
15690 * gfxmenu/gui_progress_bar.c: Likewise.
15691 * gfxmenu/gui_string_util.c: Likewise.
15692 * gfxmenu/gui_util.c: Likewise.
15693 * gfxmenu/icon_manager.c: Likewise.
15694 * gfxmenu/model.c: Likewise.
15695 * gfxmenu/named_colors.c: Likewise.
15696 * gfxmenu/theme_loader.c: Likewise.
15697 * gfxmenu/view.c: Likewise.
15698 * gfxmenu/widget-box.c: Likewise.
15699 * include/grub/gfxmenu_model.h: Likewise.
15700 * include/grub/gfxmenu_view.h: Likewise.
15701 * include/grub/gfxwidgets.h: Likewise.
15702 * include/grub/gui.h: Likewise.
15703 * include/grub/gui_string_util.h: Likewise.
15704 * include/grub/icon_manager.h: Likewise.
15705
15706 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 Agglomerate scrolling in gfxterm.
15709
15710 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15711 (grub_virtual_screen_setup): Initialise 'total_screen'.
15712 (write_char): Split to ...
15713 (paint_char): ... this ...
15714 (write_char): ... and this.
15715 (paint_char): Handle delayed scrolling.
15716 (draw_cursor): Likewise.
15717 (scroll_up): Split to ...
15718 (real_scroll): ... this ...
15719 (scroll_up): ... and this.
15720 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15721 characters.
15722 (grub_gfxterm_refresh): Call real_scroll.
15723
15724 2010-02-06 Colin D Bennett <colin@gibibit.com>
15725
15726 * include/grub/misc.h (grub_iscntrl): New inline function.
15727 (grub_isalnum): Likewise.
15728 (grub_strtol): Likewise.
15729
15730 2010-02-06 Colin D Bennett <colin@gibibit.com>
15731
15732 * normal/menu_text.c (get_entry_number): Move from here ...
15733 * normal/menu.c (get_entry_number): ... moved here.
15734 * include/grub/menu.h (grub_menu_get_default_entry_index):
15735 New prototype.
15736 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15737 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15738 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15739 (grub_menu_viewer_should_return): Likewise.
15740 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15741 * normal/menu_text.c (run_menu): Enable menu switching.
15742 * normal/menu_viewer.c (should_return): New variable.
15743 (menu_viewer_changed): Likewise.
15744 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15745 (grub_menu_viewer_should_return): New function.
15746 (menuviewer_write_hook): Likewise.
15747 (grub_menu_viewer_init): Likewise.
15748
15749 2010-02-06 Colin D Bennet <colin@gibibit.com>
15750 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 Support for gfxterm in a window.
15753
15754 * include/grub/gfxterm.h: New file.
15755 * include/grub/video.h (struct grub_video_rect): New declaration.
15756 (grub_video_rect_t): Likewise.
15757 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15758 (refcount): New variable.
15759 (render_target): Likewise.
15760 (window): Likewise.
15761 (repaint_callback): Likewise.
15762 (grub_virtual_screen_setup): Use 'render_target'.
15763 (init_window): New function.
15764 (grub_gfxterm_init_window): Likewise.
15765 (grub_gfxterm_init): Check reference counter.
15766 Use init_window.
15767 (destroy_window): New function.
15768 (grub_gfxterm_destroy_window): Likewise.
15769 (grub_gfxterm_fini): Check reference counter.
15770 Use destroy_window.
15771 (redraw_screen_rect): Restore viewport.
15772 Use 'render_target' and 'window'.
15773 Call 'repaint_callback'.
15774 (write_char): Use 'render_target'.
15775 (draw_cursor): Likewise.
15776 (scroll_up): Restore viewport.
15777 Use 'render_target' and 'window'.
15778 Call 'repaint_callback'.
15779 (grub_gfxterm_cls): Likewise.
15780 (grub_gfxterm_refresh): Use 'window'.
15781 (grub_gfxterm_set_repaint_callback): New function.
15782 (grub_gfxterm_background_image_cmd): Use 'window'.
15783 (grub_gfxterm_get_term): New function.
15784 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15785
15786 2010-02-06 Colin D Bennett <colin@gibibit.com>
15787
15788 Bitmap scaling support.
15789
15790 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15791 (bitmap_scale_mod_SOURCES): New variable.
15792 (bitmap_scale_mod_CFLAGS): Likewise.
15793 (bitmap_scale_mod_LDFLAGS): Likewise.
15794 * include/grub/bitmap_scale.h: New file.
15795 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15796 (background_image_cmd_options): New variable.
15797 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15798 (cmd): Rename and change type to ...
15799 (background_image_cmd_handle): ... this. All users updated.
15800 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15801 * video/bitmap_scale.c: New file.
15802
15803 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 SDL support.
15806
15807 * Makefile.in (LIBSDL): New variable.
15808 (enable_grub_emu_sdl): Likewise.
15809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15810 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15811 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15812 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15813 * util/sdl.c: New file.
15814
15815 2010-02-06 Colin D Bennett <colin@gibibit.com>
15816 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Double buffering support.
15819
15820 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15821 * include/grub/video.h: Update comment.
15822 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15823 New type.
15824 (grub_video_fb_doublebuf_blit_init): New prototype.
15825 * term/gfxterm.c (scroll_up): Support double buffering.
15826 (grub_gfxterm_refresh): Likewise.
15827 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15828 (grub_video_fb_doublebuf_blit_init): Likewise.
15829 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15830 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15831 'displayed_page', 'render_page' and 'update_screen'.
15832 (grub_video_vbe_fini): Free offscreen buffer.
15833 (doublebuf_pageflipping_commit): New function.
15834 (doublebuf_pageflipping_update_screen): Likewise.
15835 (doublebuf_pageflipping_init): Likewise.
15836 (double_buffering_init): Likewise.
15837 (grub_video_vbe_setup): Enable doublebuffering.
15838 (grub_video_vbe_swap_buffers): Implement.
15839 (grub_video_vbe_set_active_render_target): Handle double buffering.
15840 (grub_video_vbe_get_active_render_target): Likewise.
15841 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15842 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15843 (grub_video_vbe_enable_double_buffering): Likewise.
15844 (grub_video_vbe_swap_buffers): Use update_screen.
15845 (grub_video_set_mode): Use double buffering.
15846
15847 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15848
15849 * maintainance/gentrigtables.py: Remove.
15850 * lib/trig.c: Likewise.
15851
15852 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15853
15854 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15855 `trigtables.c'.
15856 (trigtables.c): New rule.
15857 (gentrigtables): Likewise.
15858 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15859
15860 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15861
15862 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15863 integer constants.
15864
15865 2010-02-06 Colin D Bennet <colin@gibibit.com>
15866
15867 Trigonometry support.
15868
15869 * include/grub/trig.h: New file.
15870 * lib/trig.c: Likewise.
15871 * maintainance/gentrigtables.py: Likewise.
15872 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15873 (trig_mod_SOURCES): New variable.
15874 (trig_mod_CFLAGS): Likewise.
15875 (trig_mod_LDFLAGS): Likewise.
15876
15877 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15880 disk devices.
15881
15882 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15885 error.
15886
15887 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * util/hostdisk.c (open_device): Don't use partition device when reading
15890 before the partition.
15891 (grub_util_biosdisk_read): Don't read from partition and before the
15892 partition in single operation.
15893 (grub_util_biosdisk_write): Don't write to partition and before the
15894 partition in single operation.
15895
15896 2010-02-03 Torsten Landschoff <torsten@debian.org>
15897
15898 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15899 last sectors.
15900
15901 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15904 CDROM reads.
15905 (grub_biosdisk_write): Refuse to write to CDROM.
15906
15907 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15910
15911 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * font/font.c (find_glyph): Check that bmp_idx is available before
15914 using it.
15915 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15916 with (font == NULL).
15917
15918 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
15919
15920 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15921
15922 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15923
15924 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15925 * util/grub-script-check.c (getline): Fix empty lines case.
15926
15927 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15928
15929 * Makefile.in (check): Exit with fail status when one of the tests
15930 fails.
15931 * tests/example_functional_test.c (example_test): Fix reversed assert.
15932 * tests/example_unit_test.c (example_test): Likewise.
15933
15934 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * util/grub.d/10_linux.in: This script does not use any of the
15937 contents of gettext.sh, only the external command `gettext', so stop
15938 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15939 the same prefix as GRUB.)
15940 * util/grub.d/10_kfreebsd.in: Likewise.
15941
15942 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15945 of the line.
15946
15947 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15950 last sectors.
15951
15952 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15955 having a 4KiB and not 32KiB buffer size.
15956
15957 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15958
15959 * util/hostfs.c: Include `<errno.h>'.
15960 (grub_hostfs_read): Handle errors from fseeko() and fread().
15961
15962 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15963
15964 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15965 loop when using read hooks on files whose size isn't sector-aligned.
15966
15967 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15968
15969 Remove unused parameter.
15970
15971 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15972 (grub_iso9660_open): Remove initialization of `data->length'.
15973
15974 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15975
15976 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15977 memleak conditions.
15978
15979 2010-01-27 Carles Pina i Estany <carles@pina.cat>
15980
15981 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15982 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15983
15984 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15985
15986 * util/bin2h.c (usage): Fix warning (space after backslash).
15987
15988 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15989
15990 * font/font.c: Include `grub/fontformat.h.
15991 Remove font file format constants.
15992 (grub_font_load): Use the new macros.
15993 * include/grub/fontformat.h: New file.
15994 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15995 (write_font_pf2): Use the new macros.
15996
15997 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15998
15999 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16000 does.
16001
16002 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16003
16004 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16005
16006 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16007 (_start): Macroify `0x7F'.
16008
16009 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16010 (make_install_device): Use "(pxe)" as fallback prefix when booting
16011 via PXE.
16012
16013 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * configure.ac: Reset LIBS after check for libgcc symbols.
16016
16017 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16018
16019 * util/hostdisk.c (open_device): Add trailing newline to debug
16020 message.
16021
16022 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16023
16024 * configure.ac: Check for `limits.h'.
16025 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16026
16027 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16028
16029 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16030 capitalize error strings.
16031
16032 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16033
16034 * util/grub.d/10_hurd.in: Add a recovery mode.
16035
16036 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * configure.ac: Check for libgcc symbols with -nostdlib.
16039
16040 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16041
16042 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16043
16044 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16047 stack since heap may be unavailable at that point.
16048 (grub_ofconsole_gotoxy): Likewise.
16049
16050 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * configure.ac: Check for _restgpr_14_x.
16053 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16054 and _savegpr_* prototypes.
16055
16056 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16057
16058 Use generic grub_reboot() for i386-efi.
16059
16060 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16061 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16062 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16063
16064 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16067 presence of "prefix" variable as it breaks when normal.mod is
16068 embedded.
16069
16070 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16073 stack since heap is unavailable at that point.
16074
16075 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16078 (grub_freebsd_bootinfo): Rewritten.
16079 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16080
16081 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16084
16085 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16086
16087 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16088 domain now.
16089
16090 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16091
16092 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16093 around for handling "/" to the correct fix. Fix a memory leak. Use
16094 xstrdup instead of strdup.
16095
16096 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16099
16100 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16103
16104 * font/font.c (struct grub_font): New member 'bmp_idx'.
16105 (font_init): Initialise 'bmp_idx'.
16106 (load_font_index): Fill 'bmp_idx'.
16107 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16108
16109 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16112 unnecessary calls.
16113
16114 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 Move context handling out of the kernel.
16117
16118 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16119 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16120 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16121 * conf/i386-efi.rmk: Likewise.
16122 * conf/i386-ieee1275.rmk: Likewise.
16123 * conf/i386-pc.rmk: Likewise.
16124 * conf/powerpc-ieee1275.rmk: Likewise.
16125 * conf/sparc64-ieee1275.rmk: Likewise.
16126 * conf/x86_64-efi.rmk: Likewise.
16127 * include/grub/env.h: Include grub/menu.h.
16128 (grub_env_var_type): Removed.
16129 (grub_env_var): Replaced field 'type' with 'global'.
16130 (grub_env_find): New prototype.
16131 (grub_env_context_open): Remove EXPORT_FUNC.
16132 (grub_env_context_close): Likewise.
16133 (grub_env_export): Likewise.
16134 (grub_env_set_data_slot): Removed.
16135 (grub_env_get_data_slot): Likewise.
16136 (grub_env_unset_data_slot): Likewise.
16137 (grub_env_unset_menu): New prototype.
16138 (grub_env_set_menu): Likewise.
16139 (grub_env_get_menu): Likewise.
16140 * include/grub/env_private.h: New file.
16141 * include/grub/normal.h (grub_context_init): New prototype.
16142 (grub_context_fini): Likewise.
16143 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16144 * normal/context.c (grub_cmd_export): ... to here.
16145 * kern/env.c: Include env_private.h.
16146 (HASHSZ): Moved to include/grub/env_private.h.
16147 (grub_env_context): Likewise.
16148 (grub_env_sorted_var): Likewise.
16149 (current_context): Renamed from this ...
16150 (grub_current_context): ...to this. 'static' removed. All users updated.
16151 (grub_env_find): Removed 'static'.
16152 (grub_env_context_open): Moved to normal/context.c.
16153 (grub_env_context_close): Likewise.
16154 (grub_env_export): Likewise.
16155 (mangle_data_slot_name): Removed.
16156 (grub_env_set_data_slot): Likewise.
16157 (grub_env_get_data_slot): Likewise.
16158 (grub_env_unset_data_slot): Likewise.
16159 * kern/main.c (grub_set_root_dev): Don't export root.
16160 It will be done later.
16161 (grub_main): Don't export prefix.
16162 It will be done later.
16163 * normal/context.c: New file.
16164 * normal/main.c (free_menu): Use grub_env_unset_menu.
16165 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16166 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16167 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16168 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16169
16170 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 setpci support.
16173
16174 * commands/setpci.c: New file.
16175 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16176 (setpci_mod_SOURCES): New variable.
16177 (setpci_mod_CFLAGS): Likewise.
16178 (setpci_mod_LDFLAGS): Likewise.
16179
16180 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Byte-addressable PCI configuration space.
16183
16184 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16185 dword address.
16186 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16187 GRUB_PCI_REG_CACHELINE.
16188 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16189 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16190 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16191 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16192 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16193 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16194 grub_pci_make_address.
16195 (lock_rom_area): Likewise.
16196 * commands/lspci.c (grub_lspci_iter): Use macroses
16197 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16198 of grub_pci_make_address.
16199 * disk/ata.c (grub_ata_pciinit): Likewise.
16200 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16201 (GRUB_PCI_REG_VENDOR): Likewise.
16202 (GRUB_PCI_REG_DEVICE): Likewise.
16203 (GRUB_PCI_REG_COMMAND): Likewise.
16204 (GRUB_PCI_REG_STATUS): Likewise.
16205 (GRUB_PCI_REG_REVISION): Likewise.
16206 (GRUB_PCI_REG_CLASS): Likewise.
16207 (GRUB_PCI_REG_CACHELINE): Likewise.
16208 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16209 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16210 (GRUB_PCI_REG_BIST): Likewise.
16211 (GRUB_PCI_REG_ADDRESSES): Likewise.
16212 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16213 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16214 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16215 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16216 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16217 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16218 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16219 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16220 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16221 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16222 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16223 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16224 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16225 (GRUB_PCI_REG_MIN_GNT): Likewise.
16226 (GRUB_PCI_REG_MAX_LAT): Likewise.
16227 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16228 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16229 * video/efi_uga.c (find_framebuf): Likewise.
16230 * video/sm712.c (grub_video_sm712_setup): Likewise.
16231 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16232 space.
16233
16234 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16235
16236 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16237 can be reliably determined to be supported.
16238
16239 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16240
16241 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16242 that VESA is supported.
16243 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16244 supported.
16245
16246 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16249
16250 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16251
16252 * util/misc.c (make_system_path_relative_to_its_root): Work around
16253 special-casing of "/", as previous incarnation of this routine did.
16254
16255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 Fix any-emu compilation.
16258
16259 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16260 * grub_bin2h_SOURCES: New variable.
16261
16262 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16263
16264 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16265
16266 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16267
16268 * util/grub.d/00_header.in: Fix handling of locale_dir.
16269
16270 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16273 as possible unifont location (Gentoo).
16274 Reported by: Alexander Brüning
16275
16276 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Don't try to generate lists for kernel.img.
16279
16280 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16281 (pkglib_MODULES): Remove kernel.img.
16282 (kernel_img_EXPORTS): Removed.
16283 (kernel_img_RELOCATABLE): New variable.
16284 * conf/x86_64-efi.rmk: Likewise.
16285 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16286
16287 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16290 grub_xasprintf or grub_snprintf.
16291 (grub_vsprintf): Likewise.
16292 (grub_snprintf): New proto.
16293 (grub_vsnprintf): Likewise.
16294 (grub_xasprintf): Likewise.
16295 (grub_xvasprintf): Likewise.
16296 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16297 (grub_sprintf): Removed.
16298 (grub_vsnprintf): New function.
16299 (grub_snprintf): Likewise.
16300 (grub_xvasprintf): Likewise.
16301 (grub_xasprintf): Likewise.
16302 (grub_vsprintf): Renamed to ...
16303 (grub_vsnprintf_real): ...this. New argument max_len.
16304
16305 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16306
16307 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16308 fix grub-script-check warning.
16309
16310 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * include/grub/font.h (grub_font_load): Fix prototype.
16313
16314 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16317
16318 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * include/grub/x86_64/at_keyboard.h: New file.
16321
16322 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * loader/mips/linux.c: Include missing grub/i18n.h.
16325
16326 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16327
16328 * normal/menu.c (notify_execution_failure): Clarify error message.
16329
16330 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16331
16332 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16333 return value (and revert all return statements). Update users.
16334
16335 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16336
16337 * kern/device.c (grub_device_iterate): Allocate new part_ent
16338 structure based on sizeof (*p) rather than sizeof (p->next), to
16339 account for structure padding.
16340
16341 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16342 disk is NULL, which might happen for LVM physical volumes with no
16343 LVM signature.
16344
16345 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16346
16347 * loader/mips/linux.c (grub_cmd_initrd)
16348 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16349
16350 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16351
16352 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16353 (grub_video_video_init, grub_video_bitmap_init)
16354 (grub_font_manager_init, grub_term_gfxterm_init)
16355 (grub_at_keyboard_init): New extern declarations.
16356 (grub_machine_init): Initialize gfxterm and at_keyboard.
16357
16358 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16359
16360 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16361 `gfxterm.mod' into core image.
16362
16363 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16364 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16365 (kernel_img_FORMAT): Copy to ...
16366
16367 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16368 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16369 (kernel_img_FORMAT): ... here, and ...
16370
16371 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16372 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16373 (kernel_img_FORMAT): ... here.
16374
16375 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16376 and input (at_keyboard) terminals in kernel.
16377 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16378
16379 (pkglib_MODULES): Remove `pci.mod'.
16380 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16381 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16382 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16383 (at_keyboard_mod_LDFLAGS): Remove variables.
16384
16385 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16386
16387 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16388
16389 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16390
16391 * include/grub/mips/libgcc.h: Only export symbols for functions
16392 that libgcc provides.
16393
16394 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 MIPS support.
16397
16398 * bus/bonito.c: New file.
16399 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16400 GRUB_PCI_NUM_DEVICES.
16401 * term/i386/pc/serial.c: Move to ...
16402 * term/serial.c: ... here. All users updated.
16403 * util/i386/pc/grub-mkimage.c: Move to ...
16404 * util/grub-mkrawimage.c: ... here. All users updated.
16405 * term/i386/pc/at_keyboard.c: Move to ...
16406 * term/at_keyboard.c: ... here. All users updated.
16407 * conf/mips-qemu-mips.rmk: New file.
16408 * conf/mips-yeeloong.rmk: Likewise.
16409 * conf/mips.rmk: Likewise.
16410 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16411 mipsel-qemu-mips.
16412 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16413 to port addresses.
16414 (grub_ata_pciinit): Support CS5536.
16415 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16416 * font/font_cmd.c (loadfont_command): Open file before passing it to
16417 grub_font_load.
16418 (pseudo_file_read): New function.
16419 (pseudo_file_close): Likewise.
16420 (pseudo_fs): New structure.
16421 (load_font_module): New function.
16422 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16423 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16424 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16425 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16426 * include/grub/i386/at_keyboard.h: Split into ...
16427 * include/grub/at_keyboard.h: ... this ...
16428 * include/grub/i386/at_keyboard.h: ... and this.
16429 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16430 New prototype.
16431 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16432 updated.
16433 (grub_elf64_size): Likewise.
16434 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16435 filename.
16436 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16437 * include/grub/i386/coreboot/serial.h: Rewritten.
16438 * include/grub/i386/ieee1275/serial.h: Include
16439 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16440 * include/grub/i386/pc/serial.h: Moved from here ...
16441 * include/grub/serial.h: ... to here. All users updated.
16442 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16443 (GRUB_PCI_NUM_BUS): Likewise.
16444 (GRUB_PCI_NUM_DEVICES): Likewise.
16445 (grub_pci_device_map_range): Add missing volatile keyword.
16446 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16447 * include/grub/mips/at_keyboard.h: New file.
16448 * include/grub/mips/cache.h: Likewise.
16449 * include/grub/mips/io.h: Likewise.
16450 * include/grub/mips/kernel.h: Likewise.
16451 * include/grub/mips/libgcc.h: Likewise.
16452 * include/grub/mips/pci.h: Likewise.
16453 * include/grub/mips/qemu-mips/boot.h: Likewise.
16454 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16455 * include/grub/mips/qemu-mips/loader.h: Likewise.
16456 * include/grub/mips/qemu-mips/memory.h: Likewise.
16457 * include/grub/mips/qemu-mips/serial.h: Likewise.
16458 * include/grub/mips/qemu-mips/time.h: Likewise.
16459 * include/grub/mips/relocator.h: Likewise.
16460 * include/grub/mips/time.h: Likewise.
16461 * include/grub/mips/types.h: Likewise.
16462 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16463 * include/grub/mips/yeeloong/boot.h: Likewise.
16464 * include/grub/mips/yeeloong/kernel.h: Likewise.
16465 * include/grub/mips/yeeloong/loader.h: Likewise.
16466 * include/grub/mips/yeeloong/memory.h: Likewise.
16467 * include/grub/mips/yeeloong/pci.h: Likewise.
16468 * include/grub/mips/yeeloong/serial.h: Likewise.
16469 * include/grub/mips/yeeloong/time.h: Likewise.
16470 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16471 * kern/elf.c (grub_elf32_size): New parameter. All users
16472 updated.
16473 (grub_elf64_size): Likewise.
16474 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16475 Load modules before saying "Welcome to GRUB!".
16476 Call grub_refresh after saying "Welcome to GRUB!".
16477 * kern/mips/cache.S: New file.
16478 * kern/mips/cache_flush.S: Likewise.
16479 * kern/mips/dl.c: Likewise.
16480 * kern/mips/init.c: Likewise.
16481 * kern/mips/qemu-mips/init.c: Likewise.
16482 * kern/mips/startup.S: Likewise.
16483 * kern/mips/yeeloong/init.c: Likewise.
16484 * kern/term.c (grub_putcode): Handle NULL terminal.
16485 (grub_getcharwidth): Likewise.
16486 (grub_getkey): Likewise.
16487 (grub_checkkey): Likewise.
16488 (grub_getkeystatus): Likewise.
16489 (grub_getxy): Likewise.
16490 (grub_getwh): Likewise.
16491 (grub_gotoxy): Likewise.
16492 (grub_cls): Likewise.
16493 (grub_setcolorstate): Likewise.
16494 (grub_setcolor): Likewise.
16495 (grub_getcolor): Likewise.
16496 (grub_refresh): Likewise.
16497 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16498 (write_jump): Add hatch nop.
16499 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16500 * lib/mips/setjmp.S: New file.
16501 * loader/mips/linux.c: Likewise.
16502 * term/i386/pc/at_keyboard.c: Move from here ...
16503 * term/at_keyboard.c: ... to here.
16504 * term/i386/pc/serial.c: Moved from here ...
16505 * term/serial.c: ... to here. All users updated.
16506 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16507 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16508 (serial_translate_key_sequence): Avoid deadlock.
16509 (grub_serial_getkey): Handle backspace.
16510 (grub_serial_putchar): Fix newline handling.
16511 * util/i386/pc/grub-mkimage.c: Move from here ...
16512 * util/grub-mkrawimage.c: ... to here. All users updated.
16513 (generate_image): New parameters 'font_path' and 'format'.
16514 Support embedding font.
16515 Use grub_host_to_target* instead of grub_cpu_to_le*.
16516 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16517 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16518 (options): New option "--font".
16519 (usage): Likewise.
16520 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16521 (main): Handle "--font".
16522 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16523 (grub_virtual_screen_setup): Set bg_color_display.
16524 (redraw_screen_rect): Use bg_color_display instead of incorrect
16525 bg_color.
16526 (grub_gfxterm_cls): Likewise.
16527 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16528 Support embedding config file.
16529 (add_segments): Likewise.
16530 (options): New option "--config".
16531 (main): Handle "--config".
16532 * video/sm712.c: New file.
16533
16534 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16535
16536 Fix parallel builds.
16537
16538 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16539 font.c depend on ascii.h).
16540
16541 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16542
16543 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16544
16545 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16546
16547 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16548 By default: disabled.
16549 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16550 parameter.
16551
16552 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16553
16554 * font/font.c: Update copyright years.
16555 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16556
16557 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16558
16559 * font/font.c: Include `ascii.h'.
16560 (ASCII_BITMAP_SIZE): New macro.
16561 (ascii_font_glyph): Define.
16562 (ascii_glyph_lookup): New function.
16563 (grub_font_get_string_width): Change comment. If glyph not found, use
16564 ascii_glyph_lookup.
16565 (grub_font_get_glyph_with_fallback): If glyph not available returns
16566 ascii_glyph_lookup.
16567 * util/grub-mkfont.c (file_formats): New enum.
16568 (options): Add `ascii-bitmaps' new option.
16569 (usage): Add `asii-bitmaps' new option.
16570 (write_font_ascii_bitmap): New function.
16571 (write_font): Rename to ...
16572 (write_font_p2): ... this. Remove print_glyphs call.
16573 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16574 used. Call print_glyphs.
16575 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16576
16577 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16578
16579 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16580 (grub_bin2h_SOURCES): New variable.
16581 * util/bin2h.c: New file.
16582
16583 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * include/multiboot.h: Resynced with spec.
16586 * include/multiboot2.h: Likewise.
16587 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16588 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16589
16590 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16591
16592 * include/grub/term.h (grub_term_register_input,
16593 grub_term_register_output): Check return of terminal init()
16594 routines, and abort if errors are raised.
16595
16596 * commands/terminal.c: Update copyright year.
16597
16598 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16599
16600 * commands/terminal.c (grub_cmd_terminal_input)
16601 (grub_cmd_terminal_output): Check return of terminal init()
16602 routines, and abort if errors are raised.
16603
16604 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * include/grub/i386/bsd.h: Fix include pathes.
16607
16608 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 Add missing *BSD copyright headers.
16611
16612 * include/grub/aout.h: Add BSD licence.
16613 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16614 * include/grub/i386/freebsd_linker.h: ... here,
16615 * include/grub/i386/freebsd_reboot.h: ... here,
16616 * include/grub/i386/netbsd_bootinfo.h: ... here,
16617 * include/grub/i386/netbsd_reboot.h: ... here,
16618 * include/grub/i386/openbsd_bootarg.h: ... here,
16619 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16620 licence to each file.
16621
16622 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16623
16624 * acinclude.m4: Remove `nop' assembly instruction; it's not
16625 implemented by all architectures.
16626
16627 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16628
16629 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16630 ELILO. This is no longer necessary.
16631
16632 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16633
16634 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16635
16636 * util/grub-script-check.c: grub-script-check tool.
16637 * conf/common.rmk: Make rules for grub-script-check.
16638
16639 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16640
16641 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16642 spotting it back in 2008. Shame on me for forgetting he did.
16643
16644 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16645
16646 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16647
16648 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16649 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16650 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16651 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16652 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16653 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16654
16655 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16656
16657 * include/grub/test.h: Add license header.
16658 * tests/example_functional_test.c: Likewise.
16659 * tests/example_unit_test.c: Likewise.
16660 * tests/lib/functional_test.c: Likewise.
16661 * tests/lib/test.c: Likewise.
16662 * tests/lib/unit_test.c: Likewise.
16663
16664 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 Use flag-based instead of hook-based video mode selection and "auto"
16667 keyword.
16668
16669 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16670 (grub_video_set_mode): Changed prototype. All users updated.
16671 (grub_video_check_mode_flag): New inline function.
16672 * video/video.c (parse_modespec): New function.
16673 (grub_video_set_mode): Parse flags and keywords.
16674
16675 2010-01-17 Carles Pina i Estany <carles@pina.cat>
16676
16677 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16678 fprintf call.
16679
16680 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16681
16682 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16683
16684 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16685
16686 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16687 string.
16688 * util/grub-emu.c (usage): Likewise.
16689 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16690 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16691 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16692 * util/i386/pc/grub-setup.c (usage): Likewise.
16693
16694 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16695
16696 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16697 the message.
16698 (grub_util_info): Likewise.
16699 (grub_util_error): Likewise.
16700 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16701 and/or new lines in `grub_util_warna', `grub_util_info',
16702 `grub_util_error' calls.
16703 * util/getroot.c: Likewise.
16704 * util/grub-editenv.c: Likewise.
16705 * util/grub-emu.c: Likewise.
16706 * util/grub-fstest.c: Likewise.
16707 * util/grub-mkdevicemap.c: Likewise.
16708 * util/grub-mkfont.c: Likewise.
16709 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16710 * util/grub-mkrelpath.c: Likewise.
16711 * util/grub-pe2elf.c: Likewise.
16712 * util/grub-probe.c: Likewise.
16713 * util/hostdisk.c: Likewise.
16714 * util/i386/efi/grub-mkimage.c: Likewise.
16715 * util/i386/pc/grub-mkimage.c: Likewise.
16716 * util/i386/pc/grub-setup.c: Likewise.
16717 * util/ieee1275/ofpath.c: Likewise.
16718 * util/mkisofs/eltorito.c: Likewise.
16719 * util/mkisofs/rock.c: Likewise.
16720 * util/mkisofs/write.c: Likewise.
16721 * util/raid.c: Likewise.
16722 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16723 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16724
16725 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 Enable multiboot on non-pc.
16728
16729 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16730 multiboot.mod and multiboot2.mod to ...
16731 * conf/i386.rmk (pkglib_MODULES): ... here.
16732 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16733 Moved to ...
16734 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16735 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16736 Moved to ...
16737 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16738 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16739 Moved to ...
16740 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16741 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16742 Moved to ...
16743 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16744 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16745 relocator.mod.
16746 (ata_mod_SOURCES): Removed.
16747 (ata_mod_CFLAGS): Likewise.
16748 (ata_mod_LDFLAGS): Likewise.
16749 (relocator_mod_SOURCES): Removed.
16750 (relocator_mod_CFLAGS): Likewise.
16751 (relocator_mod_ASFLAGS): Likewise.
16752 (relocator_mod_LDFLAGS): Likewise.
16753 Include i386.mk.
16754 * include/grub/x86_64/multiboot.h: New file.
16755 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16756 Terminate EFI.
16757
16758 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Video multiboot support.
16761
16762 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16763 New prototype.
16764 * include/multiboot.h: Resynced with multiboot specification.
16765 * include/multiboot2.h: Likewise.
16766 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16767 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16768 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16769 (HAS_VGA_TEXT): Likewise.
16770 (accepts_video): New variable.
16771 (grub_multiboot_set_accepts_video): New function.
16772 (grub_multiboot_get_mbi_size): Account for video structures.
16773 (set_video_mode): New function.
16774 (retrieve_video_parameters): Likewise.
16775 (grub_multiboot_make_mbi): Fill video fields.
16776
16777 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 Video driver ids.
16780
16781 * include/grub/video.h (grub_video_driver_id): New type.
16782 (grub_video_adapter): New member 'id'. All users updated.
16783 (grub_video_get_driver_id): New proto.
16784 * video/video.c (grub_video_get_driver_id): New function.
16785
16786 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16787
16788 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16789 `var=val'.
16790
16791 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16792
16793 * normal/cmdline.c (print_completion): Gettextizze.
16794
16795 2001-01-14 Carles Pina i Estany <carles@pina.cat>
16796
16797 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16798
16799 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16800
16801 * gettext/gettext.c (grub_gettext_translate): Push and pop
16802 grub_errno.
16803 (grub_gettext_delete_list): Change comment style.
16804 * kern/err.c (grub_error): Gettextizze.
16805 (grub_fatal): Gettextizze.
16806
16807 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16808
16809 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16810 (grub_linux16_real_boot): ... this.
16811 * kern/i386/loader.S: Likewise.
16812 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16813 (grub_linux16_boot): New function. Switches to text mode and calls
16814 grub_linux16_real_boot().
16815
16816 * loader/i386/bsd.c: Include `<grub/video.h>'.
16817 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16818 text mode before calling grub_unix_real_boot().
16819
16820 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16821 (grub_multiboot_boot): Switch to text mode before calling
16822 grub_relocator32_boot().
16823
16824 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16825 (grub_chainloader_boot): Switch to text mode before calling
16826 grub_chainloader_real_boot().
16827
16828 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16829 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16830
16831 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16832 non-empty value.
16833
16834 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16835 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16836
16837 * util/grub.d/00_header.in: Define a "savedefault" function for use
16838 in menu entries.
16839 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16840
16841 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16842 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16843
16844 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16845 saved_entry if boot_once is unset.
16846 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16847 previous saved entry (i.e. grub-reboot).
16848
16849 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16852
16853 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16854
16855 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16856 `var=val'.
16857 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16858
16859 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16860
16861 * util/grub-reboot.in: Fix --version output.
16862 * util/grub-set-default.in: Likewise.
16863
16864 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16865
16866 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16867 blocks.
16868
16869 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16870
16871 * util/grub.d/00_header.in: Quote the value assigned to `default',
16872 in case it contains spaces.
16873
16874 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16875
16876 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16877 `save_default_entry' call from the macosx case to the linux case.
16878
16879 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16880 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
16881
16882 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16883 in `chosen' environment variable.
16884 * normal/menu_text.c (get_entry_number): Check if the variable
16885 matches the title of a menu entry.
16886 (run_menu): Pass menu to get_entry_number.
16887
16888 * util/grub-reboot.in: New file.
16889 * util/grub-set-default.in: New file.
16890 * conf/common.rmk (grub-reboot): New utility.
16891 (grub-set-default): New utility.
16892
16893 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16894 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16895 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16896 move it to `saved_entry' for the next boot. Load environment on
16897 initialisation.
16898 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16899 * util/grub.d/10_hurd.in: Likewise.
16900 * util/grub.d/10_linux.in (linux_entry): Likewise.
16901 * util/grub.d/10_windows.in: Likewise.
16902 * util/grub.d/30_os-prober.in: Likewise.
16903
16904 * util/grub-install.in: Create environment block.
16905 * util/i386/efi/grub-install.in: Likewise.
16906 * util/ieee1275/grub-install.in: Likewise.
16907 * util/sparc64/ieee1275/grub-install.in: Likewise.
16908
16909 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16910
16911 Unit testing framework for GRUB.
16912
16913 * Makefile.in: Test framework build rules for 'make check'.
16914 * conf/tests.rmk: Build rules for individual tests and framework.
16915
16916 * include/grub/test.h: Header file for whitebox tests.
16917 * tests/lib/functional_test.c: Framework support for whitebox
16918 functional tests.
16919 * tests/lib/test.c: Common whitebox testing code for unit and
16920 functional tests.
16921 * tests/lib/unit_test.c: Framework support for whitebox unit
16922 tests.
16923
16924 * tests/util/grub-shell-tester.in: Support utility for grub-script
16925 tests.
16926 * tests/util/grub-shell.in: Utility to execute grub-script
16927 commands in a Qemu instance.
16928
16929 * tests/example_functional_test.c: Example whitebox functional
16930 test.
16931 * tests/example_grub_script_test.in: Example grub-script test.
16932 * tests/example_scripted_test.in: Example scripted test.
16933 * tests/example_unit_test.c: Example whitebox unit test.
16934
16935 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16938 Add loader/i386/multiboot_mbi.c.
16939 (multiboot2_mod_SOURCES): Likewise.
16940 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16941 (multiboot2_mod_SOURCES): Likewise.
16942 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16943 (grub_multiboot_make_mbi): Likewise.
16944 (grub_multiboot_free_mbi): Likewise.
16945 (grub_multiboot_init_mbi): Likewise.
16946 (grub_multiboot_add_module): Likewise.
16947 (grub_multiboot_set_bootdev): Likewise.
16948 * loader/i386/multiboot.c (mbi): Removed.
16949 (mbi_dest): Likewise.
16950 (alloc_mbi): New variable.
16951 (grub_multiboot_payload_size): Removed. All users updated.
16952 (grub_multiboot_pure_size): New variable.
16953 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16954 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16955 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16956 (grub_fill_multiboot_mmap): Likewise.
16957 (grub_multiboot_get_bootdev): Likewise.
16958 (grub_multiboot): Use multiboot_mbi functions.
16959 * loader/i386/multiboot_mbi.c: New file.
16960
16961 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16964 it would result in module crash.
16965
16966 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16969 (grub_ofconsole_getwh): Split to ...
16970 (grub_ofconsole_getwh): ... this.
16971 (grub_ofconsole_dimensions): ...and this.
16972 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16973
16974 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16975
16976 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16977
16978 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * loader/i386/pc/multiboot2.c: Removed stalled file.
16981
16982 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16985 Reported by: Grégoire Sutre
16986
16987 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16988
16989 * util/misc.c (canonicalize_file_name): New function.
16990 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16991 instead of realpath().
16992
16993 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
16994
16995 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16996 and make it clearer that it's optional. Based on confusion
16997 witnessed on IRC.
16998
16999 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17002 in premature implicit newline.
17003
17004 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17007 which resulted in garbled command line at the end of screen.
17008
17009 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17010
17011 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17012 initialization with similar approach as with other Linux loaders.
17013
17014 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17015
17016 Fix i386-ieee1275 build.
17017
17018 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17019 and grub_term_height() for video_{width,height} initialization.
17020
17021 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17022
17023 Fix grub-emu build.
17024
17025 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17026
17027 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17028 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17029
17030 Support for multiple terminals.
17031
17032 * Makefile.in (pkglib_DATA): terminal.lst.
17033 (terminal.lst): New target.
17034 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17035 (GRUB_MOD_INIT(handler)): Likewise.
17036 (GRUB_MOD_FINI(handler)): Likewise.
17037 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17038 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17039 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17040 (grub_cmd_sleep): Use grub_term_save_pos.
17041 * commands/terminal.c: New file.
17042 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17043 commands/terminal.c and lib/charset.c.
17044 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17045 (pkglib_MODULES): Add terminal.mod.
17046 (terminal_mod_SOURCES): New variable.
17047 (terminal_mod_CFLAGS): Likewise.
17048 (terminal_mod_LDFLAGS): Likewise.
17049 * genhandlerlist.sh: Don't handle terminals.
17050 * genmk.rb: Generate terminal-*.lst.
17051 * genterminallist.sh: New file.
17052 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17053 (grub_is_valid_utf8): Likewise.
17054 (grub_utf8_to_ucs4_alloc): Likewise.
17055 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17056 (grub_menu_register_viewer): Changed argument.
17057 (grub_menu_try_text): New proto.
17058 (grub_gfxmenu_try_hook): New declaration.
17059 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17060 (grub_menu_init_page): Additional argument term.
17061 (grub_normal_init_page): Likewise.
17062 (grub_cmdline_get): Arguments simplified.
17063 (grub_utf8_to_ucs4_alloc): Removed.
17064 (grub_print_ucs4): Additional argument term.
17065 (grub_getstringwidth): Likewise.
17066 (grub_print_message_indented): Likewise.
17067 (grub_menu_text_register_instances): New proto.
17068 (grub_show_menu): Likewise.
17069 (read_terminal_list): Likewise.
17070 (grub_set_more): Likewise.
17071 * include/grub/parser.h: Include handler.h.
17072 * include/grub/reader.h: Rewritten.
17073 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17074 (GRUB_TERM_WIDTH): Changed to function.
17075 (GRUB_TERM_HEIGHT): Likewise.
17076 (GRUB_TERM_BORDER_WIDTH): Likewise.
17077 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17078 (GRUB_TERM_NUM_ENTRIES): Likewise.
17079 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17080 (GRUB_TERM_CURSOR_X): Likewise.
17081 (grub_term_input_class): Likewise.
17082 (grub_term_output_class): Likewise.
17083 (grub_term_outputs_disabled): New declaration.
17084 (grub_term_inputs_disabled): Likewise.
17085 (grub_term_outputs): Likewise.
17086 (grub_term_inputs): Likewise.
17087 (grub_term_register_input): Rewritten.
17088 (grub_term_register_output): Likewise.
17089 (grub_term_unregister_input): Likewise.
17090 (grub_term_unregister_output): Likewise.
17091 (FOR_ACTIVE_TERM_INPUTS): New macro.
17092 (FOR_DISABLED_TERM_INPUTS): Likewise.
17093 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17094 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17095 * include/grub/terminfo.h: Add oterm argument to all protypes.
17096 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17097 Use grub_rescue_run.
17098 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17099 All users updated.
17100 * kern/reader.c: Removed. All users updated.
17101 * kern/rescue_reader.c (grub_rescue_init): Removed.
17102 (grub_rescue_reader): Likewise.
17103 (grub_register_rescue_reader): Likewise.
17104 (grub_rescue_run): New function based on kern/reader.c.
17105 * kern/term.c: Adapted for multiterm.
17106 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17107 (grub_is_valid_utf8): Likewise.
17108 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17109 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17110 right terminal.
17111 * loader/i386/linux.c (grub_linux_boot): Likewise.
17112 * normal/auth.c (grub_username_get): New function.
17113 (grub_auth_check_authentication): Use grub_username_get.
17114 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17115 * normal/color.c: Adapt for multiterm.
17116 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17117 (grub_normal_init_page): Additional argument term.
17118 (read_lists): Call read_terminal_lists.
17119 (grub_enter_normal_mode): Call grub_cmdline_run.
17120 Handle grub_normal_exit_level.
17121 (grub_cmd_normal): Make reentrant.
17122 (grub_cmd_normal_exit): New function.
17123 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17124 * normal/menu.c: Adapt for multiterm.
17125 * normal/menu_entry.c: Likewise.
17126 * normal/menu_text.c: Likewise.
17127 * normal/menu_viewer.c: Removed. All users updated.
17128 * normal/term.c: New file.
17129 * util/console.c: Change order of includes to workaround a bug in
17130 ncurses headers.
17131 * term/terminfo.c: New argument oterm on all exported functions.
17132 All users updated.
17133 * util/grub-editenv.c (grub_term_input_class): Removed.
17134 (grub_term_output_class): Likewise.
17135
17136 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17137
17138 Make loader output a bit more user-friendly.
17139
17140 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17141 is being loaded. Likewise for the Hurd.
17142
17143 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17144 that kernel of FreeBSD ${version} is being loaded.
17145
17146 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17147 grub_dprintf().
17148 (grub_cmd_initrd): Likewise.
17149 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17150 that Linux ${version} is being loaded. Likewise for initrd.
17151
17152 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17153
17154 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17155
17156 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17157
17158 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17159 (GRUB_MOD_INIT): Gettextizze.
17160 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17161 (GRUB_MOD_INIT): Gettextizze.
17162 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17163 (grub_cmd_linux): Capitalise Linux.
17164 (GRUB_MOD_INIT): Gettextizze.
17165 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17166 (grub_cmd_linux): Capitalise Linux.
17167 (GRUB_MOD_INIT): Gettextizze.
17168 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17169 (grub_cmd_linux): Capitalise Linux.
17170 (GRUB_MOD_INIT): Gettextizze.
17171 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17172 (GRUB_MOD_INIT): Gettextizze.
17173 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17174 (grub_cmd_linux): Capitalise Linux.
17175 (GRUB_MOD_INIT): Gettextizze.
17176 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17177 (grub_cpu_xnu_init): Gettextizze.
17178 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17179 (GRUB_MOD_INIT): Gettextizze.
17180 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17181 (GRUB_MOD_INIT): Gettextizze.
17182 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17183 (grub_linux_load64): Capitalise Linux.
17184 (GRUB_MOD_INIT): Gettextizze.
17185 * loader/xnu.c: Include `<grub/i18n.h>'.
17186 (GRUB_MOD_INIT): Gettextizze.
17187 * po/POTFILES: Add `loader/efi/appleloader.c',
17188 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17189 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17190 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17191 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17192 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17193 and `loader/xnu.c'.
17194
17195 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17196
17197 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17198
17199 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17200
17201 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17202 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17203 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17204
17205 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17206
17207 Reset Multiboot 2 support. New loader implements the draft in
17208 /branches/multiboot2 and shares as much code as possible with the
17209 production Multiboot 1 implementation.
17210
17211 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17212 * loader/multiboot2.c: Likewise.
17213 * loader/i386/multiboot_helper.S: Likewise.
17214 * include/multiboot2.h: Replace with latest version from the draft
17215 in /branches/multiboot2.
17216
17217 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17218 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17219 and `loader/multiboot2.c'.
17220 (pkglib_MODULES): Add `multiboot2.mod'.
17221 (multiboot2_mod_SOURCES): New variable.
17222 (multiboot2_mod_LDFLAGS): Likewise.
17223 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17224
17225 * conf/i386-pc.rmk: Likewise.
17226
17227 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17228 (multiboot_mod_SOURCES): Remove variable.
17229 (multiboot_mod_LDFLAGS): Likewise.
17230 (multiboot_mod_CFLAGS): Likewise.
17231
17232 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17233 `<multiboot2.h>' instead of `<multiboot.h>'.
17234 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17235 (MULTIBOOT_HEADER_MAGIC): New macros.
17236
17237 * loader/multiboot_loader.c (module_version_status): Remove variable.
17238 (find_multi_boot2_header): Remove function.
17239 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17240 logic. Always check for the Multiboot version we're compiling for.
17241 (grub_cmd_module_loader): Likewise.
17242 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17243 command instead of `multiboot'.
17244
17245 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17246
17247 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17248 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17249 all users.
17250
17251 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17252 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 Fix breakage introduced with previous commit.
17255
17256 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17257 commands.
17258 * normal/handler.c (read_handler_list): Revert part of previous commit
17259 affecting this file.
17260 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17261 (grub_normal_execute): ... here.
17262
17263 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17264
17265 Merge prefix-redefinition-fix branch.
17266
17267 * normal/autofs.c (read_fs_list): Make function capable of being
17268 run multiple times, gracefuly replacing the previous data
17269 structures.
17270 * normal/dyncmd.c (read_command_list): Likewise.
17271 * normal/handler.c (read_handler_list): Likewise.
17272 * normal/main.c (read_lists): New function. Calls all the
17273 list reading functions.
17274 (grub_normal_execute): Use read_lists() instead of calling all
17275 list reading functions explicitly. Register read_lists() as a
17276 variable hook attached to ${prefix}.
17277
17278 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 Merge crypto branch.
17281
17282 * Makefile.in (pkglib_DATA): Add crypto.lst.
17283 (crypto.lst): New target.
17284 * commands/hashsum.c: New file.
17285 * commands/password.c (check_password): Use grub_crypto_memcmp.
17286 * commands/password_pbkdf2.c: New file.
17287 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17288 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17289 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17290 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17291 -I$(srcdir)/lib/libgcrypt_wrap.
17292 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17293 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17294 password_pbkdf2.mod.
17295 (crypto_mod_SOURCES): New variable.
17296 (crypto_mod_CFLAGS): Likewise.
17297 (crypto_mod_LDFLAGS): Likewise.
17298 (hashsum_mod_SOURCES): New variable.
17299 (hashsum_mod_CFLAGS): Likewise.
17300 (hashsum_mod_LDFLAGS): Likewise.
17301 (pbkdf2_mod_SOURCES): New variable.
17302 (pbkdf2_mod_CFLAGS): Likewise.
17303 (pbkdf2_mod_LDFLAGS): Likewise.
17304 (password_pbkdf2_mod_SOURCES): New variable.
17305 (password_pbkdf2_mod_CFLAGS): Likewise.
17306 (password_pbkdf2_mod_LDFLAGS): Likewise.
17307 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17308 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17309 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17310 Include conf/gcry.rmk.
17311 * include/grub/auth.h: Rewritten.
17312 * include/grub/crypto.h: New file.
17313 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17314 * include/grub/normal.h (read_crypto_list): New prototype.
17315 * lib/crypto.c: New file.
17316 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17317 * lib/pbkdf2.c: Likewise.
17318 * normal/auth.c (grub_auth_strcmp): Removed.
17319 (grub_iswordseparator): Likewise.
17320 (grub_auth_strword): Likewise.
17321 (is_authenticated): Use grub_strword.
17322 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17323 and grub_strword. Pass entered password to authentication callback.
17324 * normal/crypto.c: New file.
17325 * normal/main.c: Call read_crypto_list.
17326 * util/grub-mkpasswd-pbkdf2.c: New file.
17327 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17328
17329 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 Fix descent and ascent calculation.
17332
17333 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17334 (options): New option "asce".
17335 (usage): Likewise.
17336 (add_char): Ignore invalid glyphs for descent calculation.
17337 Calculate ascent from actual content.
17338 (print_glyphs): Use 'asce'.
17339 (write_font): Likewise. Allow ascent override.
17340 (main): Handle "asce" option.
17341
17342 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17343
17344 * kern/err.c: Include `<grub/i18n.h>'.
17345 (grub_print_error): Add full stop. Gettextizze.
17346 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17347 (grub_bsd_load_elf): Capitalise ELF.
17348 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17349 (grub_cmd_freebsd_module): Likewise.
17350 (grub_cmd_freebsd_module_elf): Likewise.
17351 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17352
17353 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17354
17355 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17356 * commands/search_file.c (HELP_MESSAGE): New macro.
17357 * commands/search_label.c (HELP_MESSAGE): Likewise.
17358 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17359 * po/POTFILES: Add `commands/search_file.c',
17360 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17361 `commands/search.c'.
17362
17363 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 * config.rpath: Update from Gnulib.
17366
17367 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17368
17369 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17370
17371 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17372
17373 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17374
17375 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17376
17377 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17378 arguments to fread so that we get a return value in bytes, rather
17379 than something that will normally be rounded down to 0.
17380 Adjust error handling to avoid producing garbage when size_t is not
17381 the same size as long long.
17382
17383 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17384
17385 * util/mkisofs/write.c (padblock_write): Check return value of
17386 fread.
17387
17388 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17389
17390 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17391 floppy images now.
17392
17393 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17394
17395 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17396
17397 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17398 instead of manual alignment.
17399 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17400 verbose). Avoid attempts to read past end of the device
17401 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17402 but GRUB_DISK_CACHE_SIZE may exceed that).
17403
17404 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17405
17406 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17407 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17408 it to upper layer.
17409
17410 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17413 New constant.
17414 (grub_efi_piwg_device_path): New structure
17415 (grub_efi_piwg_device_path_t): New type.
17416 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17417 (devpath_1): Transform to a structure. All users updated.
17418 (devpath_2): Likewise.
17419 (devpath_3): Likewise.
17420 (devpath_4): Likewise.
17421 (devpath_5): Likewise.
17422
17423 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 * loader/efi/appleloader.c: Restored. Update all users.
17426
17427 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17428
17429 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17430
17431 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17432 (struct boot_blocklist): Move from here ...
17433 * include/grub/i386/pc/boot.h [ASM_FILE]
17434 (struct grub_boot_blocklist): ... to here. Update all users.
17435 (setup): Only initialize `start' member of `first_block'
17436 structure. Add assert() calls to verify the other members.
17437
17438 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17439 (generate_image): Fix broken blocklist length initialization.
17440 Add assert() call to verify blocklist `segment' field.
17441
17442 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17443
17444 * loader/efi/appleloader.c: Remove. Update all users.
17445
17446 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17447
17448 * boot/i386/pc/boot.S: Update copyright year.
17449 * boot/i386/pc/cdboot.S: Likewise.
17450 * boot/i386/pc/diskboot.S: Likewise.
17451 * boot/i386/pc/lnxboot.S: Likewise.
17452 * boot/i386/pc/pxeboot.S: Likewise.
17453 * bus/pci.c: Likewise.
17454 * commands/cmp.c: Likewise.
17455 * commands/help.c: Likewise.
17456 * commands/hexdump.c: Likewise.
17457 * commands/i386/pc/halt.c: Likewise.
17458 * commands/i386/pc/play.c: Likewise.
17459 * commands/i386/pc/vbeinfo.c: Likewise.
17460 * commands/ls.c: Likewise.
17461 * commands/test.c: Likewise.
17462 * disk/dmraid_nvidia.c: Likewise.
17463 * disk/i386/pc/biosdisk.c: Likewise.
17464 * disk/ieee1275/nand.c: Likewise.
17465 * disk/ieee1275/ofdisk.c: Likewise.
17466 * disk/lvm.c: Likewise.
17467 * disk/raid.c: Likewise.
17468 * disk/raid6_recover.c: Likewise.
17469 * disk/scsi.c: Likewise.
17470 * fs/affs.c: Likewise.
17471 * fs/cpio.c: Likewise.
17472 * fs/ext2.c: Likewise.
17473 * fs/hfs.c: Likewise.
17474 * fs/iso9660.c: Likewise.
17475 * fs/ntfs.c: Likewise.
17476 * fs/sfs.c: Likewise.
17477 * fs/udf.c: Likewise.
17478 * fs/ufs.c: Likewise.
17479 * fs/xfs.c: Likewise.
17480 * gencmdlist.sh: Likewise.
17481 * genmk.rb: Likewise.
17482 * include/grub/disk.h: Likewise.
17483 * include/grub/efi/api.h: Likewise.
17484 * include/grub/efi/efi.h: Likewise.
17485 * include/grub/efi/pe32.h: Likewise.
17486 * include/grub/elf.h: Likewise.
17487 * include/grub/fs.h: Likewise.
17488 * include/grub/i386/at_keyboard.h: Likewise.
17489 * include/grub/i386/pc/memory.h: Likewise.
17490 * include/grub/i386/pc/vbe.h: Likewise.
17491 * include/grub/i386/pci.h: Likewise.
17492 * include/grub/i386/tsc.h: Likewise.
17493 * include/grub/ieee1275/ieee1275.h: Likewise.
17494 * include/grub/ntfs.h: Likewise.
17495 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17496 * include/grub/sparc64/libgcc.h: Likewise.
17497 * include/grub/symbol.h: Likewise.
17498 * include/grub/types.h: Likewise.
17499 * include/multiboot2.h: Likewise.
17500 * io/gzio.c: Likewise.
17501 * kern/device.c: Likewise.
17502 * kern/disk.c: Likewise.
17503 * kern/efi/efi.c: Likewise.
17504 * kern/efi/mm.c: Likewise.
17505 * kern/elf.c: Likewise.
17506 * kern/file.c: Likewise.
17507 * kern/i386/dl.c: Likewise.
17508 * kern/i386/pc/init.c: Likewise.
17509 * kern/i386/pc/startup.S: Likewise.
17510 * kern/ieee1275/ieee1275.c: Likewise.
17511 * kern/ieee1275/init.c: Likewise.
17512 * kern/main.c: Likewise.
17513 * kern/mm.c: Likewise.
17514 * kern/powerpc/dl.c: Likewise.
17515 * kern/sparc64/dl.c: Likewise.
17516 * kern/x86_64/dl.c: Likewise.
17517 * lib/hexdump.c: Likewise.
17518 * loader/efi/appleloader.c: Likewise.
17519 * loader/i386/ieee1275/linux.c: Likewise.
17520 * loader/i386/pc/chainloader.c: Likewise.
17521 * loader/i386/pc/linux.c: Likewise.
17522 * loader/i386/pc/multiboot2.c: Likewise.
17523 * loader/ieee1275/multiboot2.c: Likewise.
17524 * loader/multiboot2.c: Likewise.
17525 * loader/multiboot_loader.c: Likewise.
17526 * loader/powerpc/ieee1275/linux.c: Likewise.
17527 * normal/completion.c: Likewise.
17528 * normal/menu_entry.c: Likewise.
17529 * partmap/apple.c: Likewise.
17530 * util/grub.d/10_hurd.in: Likewise.
17531 * util/hostfs.c: Likewise.
17532 * video/readers/png.c: Likewise.
17533
17534 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * include/grub/misc.h (GNUC_PREREQ): New macro.
17537 (ATTRIBUTE_ERROR): New macro.
17538 * include/grub/list.h (grub_bad_type_cast_real): Use
17539 ATTRIBUTE_ERROR.
17540
17541 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17542
17543 * normal/menu_text.c (print_message): Change messages.
17544
17545 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17546
17547 * normal/menu_entry.c (store_completion): Gettextizze.
17548
17549 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17550
17551 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17552
17553 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17554
17555 * po/POTFILES: Sort correctly.
17556
17557 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17558
17559 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17560 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17561 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17562 full stop.
17563 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17564 summary. Gettextizze the strings.
17565 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17566 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17567 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17568 full stop.
17569 (GRUB_MOD_INIT): Remove command name from summary.
17570 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17571 summary.
17572 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17573 * term/i386/pc/serial.c (options): Add full stops.
17574 (GRUB_MOD_INIT): Remove command name from the summary.
17575
17576 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17577
17578 * commands/acpi.c: Gettextizze help strings and/or options. Include
17579 `grub/i18n.h' if needed.
17580 * commands/blocklist.c: Likewise.
17581 * commands/boot.c: Likewise.
17582 * commands/cat.c: Likewise.
17583 * commands/cmp.c: Likewise.
17584 * commands/configfile.c: Likewise.
17585 * commands/crc.c: Likewise.
17586 * commands/date.c: Likewise.
17587 * commands/echo.c: Likewise.
17588 * commands/efi/fixvideo.c: Likewise.
17589 * commands/efi/loadbios.c: Likewise.
17590 * commands/gptsync.c: Likewise.
17591 * commands/halt.c: Likewise.
17592 * commands/handler.c: Likewise.
17593 * commands/hdparm.c: Likewise.
17594 * commands/hexdump.c: Likewise.
17595 * commands/i386/cpuid.c: Likewise.
17596 * commands/i386/pc/drivemap.c: Likewise.
17597 * commands/i386/pc/halt.c: Likewise.
17598 * commands/i386/pc/pxecmd.c: Likewise.
17599 * commands/i386/pc/vbeinfo.c: Likewise.
17600 * commands/i386/pc/vbetest.c: Likewise.
17601 * commands/ieee1275/suspend.c: Likewise.
17602 * commands/keystatus.c: Likewise.
17603 * commands/loadenv.c: Likewise.
17604 * commands/ls.c: Likewise.
17605 * commands/lsmmap.c: Likewise.
17606 * commands/lspci.c: Likewise.
17607 * commands/memrw.c: Likewise.
17608 * commands/minicmd.c: Likewise.
17609 * commands/parttool.c: Likewise.
17610 * commands/password.c: Likewise.
17611 * commands/probe.c: Likewise.
17612 * commands/read.c: Likewise.
17613 * commands/reboot.c: Likewise.
17614 * commands/search.c: Likewise.
17615 * commands/sleep.c: Likewise.
17616 * commands/test.c: Likewise.
17617 * commands/true.c: Likewise.
17618 * commands/usbtest.c: Likewise.
17619 * commands/videotest.c: Likewise.
17620 * commands/xnu_uuid.c: Likewise.
17621 * disk/loopback.c: Likewise.
17622 * hello/hello.c: Likewise.
17623 * loader/i386/bsd.c: Likewise.
17624 * term/i386/pc/serial.c: Likewise.
17625 * po/POTFILES: Add new files.
17626
17627 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * term/i386/pc/at_keyboard.c
17630 (keyboard_controller_wait_untill_ready): Rename to ...
17631 (keyboard_controller_wait_until_ready): ... this. Update all users.
17632
17633 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17634
17635 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17636 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17637 string using string width.
17638 * normal/menu_text.c (grub_print_message_indented): Use
17639 grub_print_spaces and not print_spaces.
17640 (print_timeout): Likewise.
17641 (print_spaces): Move to...
17642 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17643
17644 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17645
17646 Import from Gnulib.
17647
17648 * gnulib/getdelim.c: New file.
17649 * gnulib/getline.c: Likewise.
17650
17651 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17652
17653 * include/grub/list.h (grub_assert_fail): Removed.
17654 (grub_bad_type_cast_real): New function.
17655 (grub_bad_type_cast): New macro.
17656 (GRUB_AS_LIST): Use grub_bad_type_cast.
17657 (GRUB_AS_LIST_P): Likewise.
17658 (GRUB_AS_NAMED_LIST): Likewise.
17659 (GRUB_AS_NAMED_LIST_P): Likewise.
17660 (GRUB_AS_PRIO_LIST): Likewise.
17661 (GRUB_AS_PRIO_LIST_P): Likewise.
17662 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
17663
17664 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17667 Fix syntax error.
17668
17669 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17670
17671 * configure.ac: Check for TARGET_CFLAGS initialization before we
17672 initialize it ourselves (sigh).
17673 Move a few modifications to TARGET_CFLAGS to be unconditional
17674 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17675 eh_frame)
17676
17677 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17678 * term/i386/pc/at_keyboard.c
17679 (keyboard_controller_wait_untill_ready): Likewise.
17680 (keyboard_controller_led): Rename `led_status' paramter to avoid
17681 name conflict.
17682
17683 2009-12-28 Carles Pina i Estany <carles@pina.cat>
17684
17685 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17686 quotes.
17687
17688 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17691
17692 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * normal/menu_text.c (grub_print_message_indented): Prevent
17695 past-the-end-of-array dereference.
17696
17697 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17700 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17701
17702 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17703
17704 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17705 * normal/main.c (grub_normal_read_line): Remove a space from the
17706 default prompt.
17707
17708 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17709
17710 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17711 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17712 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17713 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17714 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17715 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17716 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17717
17718 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17719
17720 * video/readers/jpeg.c (cmd): Declare.
17721 (grub_cmd_jpegtest): Use `grub_command_t' type.
17722 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17723 Assign to `cmd'.
17724 (GRUB_MOD_FINI): Use `cmd' to unregister.
17725 * video/readers/png.c (cmd): Declare.
17726 (grub_cmd_pngtest): Use `grub_command_t' type.
17727 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17728 Assign to `cmd'.
17729 (GRUB_MOD_FINI): Use `cmd' to unregister.
17730 * video/readers/tga.c (cmd): Declare.
17731 (grub_cmd_tgatest): Use `grub_command_t' type.
17732 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17733 Assign to `cmd'.
17734 (GRUB_MOD_FINI): Use `cmd' to unregister.
17735
17736 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17737
17738 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17739 stops.
17740 * kern/corecmd.c (grub_register_core_commands): Likewise.
17741 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17742 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17743 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17744 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17745 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17746 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17747 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17748 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17749 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17750 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17751 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17752 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17753 * normal/handler.c (insert_handler): Likewise.
17754 * normal/main.c (GRUB_MOD_INIT): Likewise.
17755 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17756
17757 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17758
17759 * commands/help.c (grub_cmd_help): Print the command name before the
17760 summary.
17761 (GRUB_MOD_INIT): Remove command name from the summary.
17762 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
17763 string as summary.
17764 * lib/arg.c (find_long): Print the command name before the summary.
17765 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17766 summary.
17767 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17768 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17769 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17770 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17771 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17772 * commands/date.c (GRUB_MOD_INIT): Likewise.
17773 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17774 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17775 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17776 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17777 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17778 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17779 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17780 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17781 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17782 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17783 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17784 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17785 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17786 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17787 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17788 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17789 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17790 * commands/password.c (GRUB_MOD_INIT): Likewise.
17791 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17792 * commands/read.c (GRUB_MOD_INIT): Likewise.
17793 * commands/search.c (GRUB_MOD_INIT): Likewise.
17794 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17795 * commands/test.c (GRUB_MOD_INIT): Likewise.
17796 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17797 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17798 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17799 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17800 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17801 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17802 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17803 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17804 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17805 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17806 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17807 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17808 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17809 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17810
17811 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 Use search command for preliminar UUID search.
17814
17815 * commands/search.c: Split into ...
17816 * commands/search_wrap.c: ...this
17817 * commands/search.c: ...and this.
17818 * commands/search_file.c: New file.
17819 * commands/search_label.c: New file.
17820 * commands/search_uuid.c: New file.
17821 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17822 Add commands/search_wrap.c, commands/search_file.c,
17823 commands/search_label.c and commands/search_uuid.c.
17824 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17825 (search_mod_SOURCES): Set to commands/search_wrap.c.
17826 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17827 search_label.mod.
17828 (search_fs_file_mod_SOURCES): New variable.
17829 (search_fs_file_mod_CFLAGS): Likewise.
17830 (search_fs_file_mod_LDFLAGS): Likewise.
17831 (search_label_mod_SOURCES): Likewise.
17832 (search_label_mod_CFLAGS): Likewise.
17833 (search_label_mod_LDFLAGS): Likewise.
17834 (search_fs_uuid_mod_SOURCES): New variable.
17835 (search_fs_uuid_mod_CFLAGS): Likewise.
17836 (search_fs_uuid_mod_LDFLAGS): Likewise.
17837 (fs_file_mod_SOURCES): Removed.
17838 (fs_file_mod_CFLAGS): Likewise.
17839 (fs_file_mod_LDFLAGS): Likewise.
17840 (fs_uuid_mod_SOURCES): Removed.
17841 (fs_uuid_mod_CFLAGS): Likewise.
17842 (fs_uuid_mod_LDFLAGS): Likewise.
17843 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17844 Set to util/grub-install.in.
17845 * disk/fs_file.c: Removed.
17846 * disk/fs_uuid.c: Likewise.
17847 * include/grub/search.h: New file.
17848 * util/grub-install.in: Handle sparc64.
17849 Create and use load.cfg.
17850 * util/sparc64/ieee1275/grub-install.in: Removed.
17851
17852 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17855 Ignore return status if CF is cleared.
17856 (grub_biosdisk_get_diskinfo_standard): Likewise.
17857
17858 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17859
17860 * term/i386/pc/at_keyboard.c
17861 (keyboard_controller_wait_untill_ready): New function.
17862 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17863 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17864 for keyboard polling, rather than duplicate the same loop. This
17865 saves a few bytes in code size.
17866
17867 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 Support for (pxe[:server[:gateway]]) syntax and
17870 use environment variable for PXE.
17871
17872 * commands/i386/pc/pxecmd.c (options): Removed.
17873 (print_ip): Removed.
17874 (grub_cmd_pxe): Removed
17875 (grub_cmd_pxe_unload): New function.
17876 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17877 (grub_pxe_your_ip): Made static.
17878 (grub_pxe_default_server_ip): Likewise.
17879 (grub_pxe_default_gateway_ip): Likewise.
17880 (grub_pxe_blksize): Likewise.
17881 (parse_ip): New function.
17882 (grub_pxe_open): Support server and gateway specification.
17883 (grub_pxe_close): Free disk->data.
17884 (grub_pxefs_open): Use disk->data.
17885 (grub_pxefs_read): Likewise.
17886 (grub_env_write_readonly): New function.
17887 (set_mac_env): Likewise.
17888 (set_env_limn_ro): Likewise.
17889 (parse_dhcp_vendor): Likewise.
17890 (grub_pxe_detect): Set the environment variables.
17891 (set_ip_env): New function.
17892 (write_ip_env): Likewise.
17893 (grub_env_write_pxe_default_server): Likewise.
17894 (grub_env_write_pxe_default_gateway): Likewise.
17895 (grub_env_write_pxe_blocksize): Likewise.
17896 (GRUB_MOD_INIT(pxe)): Set environment variables.
17897 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17898 (grub_pxe_mac_addr_t): ... this. All users updated.
17899 (grub_pxe_your_ip): Removed.
17900 (grub_pxe_server_ip): Likewise.
17901 (grub_pxe_gateway_ip): Likewise.
17902 (grub_pxe_blksize): Likewise.
17903
17904 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17905
17906 * commands/help.c: Include `<grub/i18n.h>'.
17907 (grub_cmd_help): Gettextizze.
17908 (GRUB_MOD_INIT): Likewise.
17909 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17910 (GRUB_MOD_INIT): Gettextizze.
17911 * commands/search.c: Include `<grub/i18n.h>'.
17912 (options): Gettextizze.
17913 (GRUB_MOD_INIT): Gettextizze.
17914 * lib/arg.c: Include `<grub/i18n.h>'.
17915 (help_options): Gettextizze.
17916 (find_long): Likewise.
17917 (grub_arg_show_help): Likewise.
17918 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17919 (read_command_list): Gettextizze.
17920 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
17921 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
17922
17923 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17924
17925 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17926 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17927 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17928 (led_status): New variable.
17929 (keyboard_controller_led): New function.
17930 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17931 update led status for caps lock, num lock and scroll lock.
17932
17933 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
17934
17935 * util/hostdisk.c (open_device): Fix a comment.
17936
17937 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17938
17939 * util/grub-install.in (host_os): New variable.
17940 * util/i386/efi/grub-install.in (host_os): Likewise.
17941
17942 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17943
17944 * util/mkisofs/write.c (padblock_write): Abort when given an
17945 excedingly large embed image, instead of silently truncating it.
17946
17947 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17948
17949 * include/multiboot.h: Indentation fixes.
17950
17951 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17952
17953 * include/multiboot.h (struct multiboot_aout_symbol_table)
17954 (struct multiboot_elf_section_header_table): New structure
17955 declarations (stolen from GRUB Legacy).
17956 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17957 table information.
17958
17959 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17960 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17961 type aliases.
17962
17963 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17964
17965 * include/multiboot.h: Make comments src2texi-friendly.
17966
17967 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17968
17969 For consistency with [multiboot]/docs/boot.S.
17970
17971 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17972 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17973 (MULTIBOOT_MAGIC2): Rename from this ...
17974 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17975
17976 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17977
17978 * include/multiboot.h: Remove `<grub/types.h>'.
17979 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17980 types. Update all users.
17981
17982 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17983
17984 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17985 `couldn't' and `can not' by `cannot'.
17986 * commands/i386/pc/drivemap.c: Likewise.
17987 * disk/ata.c: Likewise.
17988 * disk/ieee1275/nand.c: Likewise.
17989 * fs/affs.c: Likewise.
17990 * fs/fat.c: Likewise.
17991 * fs/hfs.c: Likewise.
17992 * fs/hfsplus.c: Likewise.
17993 * fs/iso9660.c: Likewise.
17994 * fs/jfs.c: Likewise.
17995 * fs/minix.c: Likewise.
17996 * fs/reiserfs.c: Likewise.
17997 * fs/sfs.c: Likewise.
17998 * fs/udf.c: Likewise.
17999 * fs/ufs.c: Likewise.
18000 * fs/xfs.c: Likewise.
18001 * loader/powerpc/ieee1275/linux.c: Likewise.
18002 * loader/sparc64/ieee1275/linux.c: Likewise.
18003 * util/grub-probe.c: Likewise.
18004 * util/misc.c: Likewise.
18005
18006 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18007
18008 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18009 grub_errno calls.
18010 * commands/acpi.c: Likewise.
18011 * commands/blocklist.c: Likewise.
18012 * commands/efi/loadbios.c: Likewise.
18013 * commands/i386/pc/drivemap.c: Likewise.
18014 * commands/loadenv.c: Likewise.
18015 * commands/memrw.c: Likewise.
18016 * commands/password.c: Likewise.
18017 * commands/videotest.c: Likewise.
18018 * disk/ata.c: Likewise.
18019 * disk/ata_pthru.c: Likewise.
18020 * disk/dmraid_nvidia.c: Likewise.
18021 * disk/ieee1275/nand.c: Likewise.
18022 * disk/ieee1275/ofdisk.c: Likewise.
18023 * disk/loopback.c: Likewise.
18024 * disk/lvm.c: Likewise.
18025 * disk/mdraid_linux.c: Likewise.
18026 * disk/raid.c: Likewise.
18027 * disk/raid6_recover.c: Likewise.
18028 * disk/scsi.c: Likewise.
18029 * efiemu/main.c: Likewise.
18030 * efiemu/mm.c: Likewise.
18031 * efiemu/pnvram.c: Likewise.
18032 * efiemu/symbols.c: Likewise.
18033 * font/font.c: Likewise.
18034 * fs/cpio.c: Likewise.
18035 * fs/hfsplus.c: Likewise.
18036 * fs/iso9660.c: Likewise.
18037 * fs/jfs.c: Likewise.
18038 * fs/minix.c: Likewise.
18039 * fs/ntfs.c: Likewise.
18040 * fs/ntfscomp.c: Likewise.
18041 * fs/reiserfs.c: Likewise.
18042 * fs/ufs.c: Likewise.
18043 * fs/xfs.c: Likewise.
18044 * gettext/gettext.c: Likewise.
18045 * include/grub/auth.h: Likewise.
18046 * kern/elf.c: Likewise.
18047 * kern/file.c: Likewise.
18048 * kern/ieee1275/init.c: Likewise.
18049 * kern/ieee1275/mmap.c: Likewise.
18050 * kern/ieee1275/openfw.c: Likewise.
18051 * kern/powerpc/dl.c: Likewise.
18052 * kern/sparc64/dl.c: Likewise.
18053 * lib/arg.c: Likewise.
18054 * loader/i386/bsd.c: Likewise.
18055 * loader/i386/bsdXX.c: Likewise.
18056 * loader/i386/efi/linux.c: Likewise.
18057 * loader/i386/efi/xnu.c: Likewise.
18058 * loader/i386/ieee1275/linux.c: Likewise.
18059 * loader/i386/linux.c: Likewise.
18060 * loader/i386/multiboot.c: Likewise.
18061 * loader/i386/pc/linux.c: Likewise.
18062 * loader/i386/pc/multiboot2.c: Likewise.
18063 * loader/i386/xnu.c: Likewise.
18064 * loader/ieee1275/multiboot2.c: Likewise.
18065 * loader/macho.c: Likewise.
18066 * loader/machoXX.c: Likewise.
18067 * loader/multiboot2.c: Likewise.
18068 * loader/multiboot_loader.c: Likewise.
18069 * loader/powerpc/ieee1275/linux.c: Likewise.
18070 * loader/sparc64/ieee1275/linux.c: Likewise.
18071 * loader/xnu.c: Likewise.
18072 * loader/xnu_resume.c: Likewise.
18073 * mmap/i386/pc/mmap.c: Likewise.
18074 * normal/menu_viewer.c: Likewise.
18075 * partmap/acorn.c: Likewise.
18076 * partmap/amiga.c: Likewise.
18077 * partmap/apple.c: Likewise.
18078 * script/lexer.c: Likewise.
18079 * term/gfxterm.c: Likewise.
18080 * term/i386/pc/serial.c: Likewise.
18081 * term/i386/pc/vga.c: Likewise.
18082 * term/ieee1275/ofconsole.c: Likewise.
18083 * term/terminfo.c: Likewise.
18084 * video/bitmap.c: Likewise.
18085 * video/efi_gop.c: Likewise.
18086 * video/efi_uga.c: Likewise.
18087 * video/fb/video_fb.c: Likewise.
18088 * video/i386/pc/vbe.c: Likewise.
18089 * video/readers/tga.c: Likewise.
18090 * video/video.c: Likewise.
18091
18092 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18093
18094 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18095 * commands/lspci.c: Likewise.
18096 * commands/probe.c: Likewise.
18097 * commands/xnu_uuid.c: Likewise.
18098 * conf/i386-coreboot.rmk: Likewise.
18099 * conf/i386-efi.rmk: Likewise.
18100 * conf/i386-ieee1275.rmk: Likewise.
18101 * conf/i386-pc.rmk: Likewise.
18102 * conf/powerpc-ieee1275.rmk: Likewise.
18103 * conf/sparc64-ieee1275.rmk: Likewise.
18104 * conf/x86_64-efi.rmk: Likewise.
18105 * fs/i386/pc/pxe.c: Likewise.
18106 * gettext/gettext.c: Likewise.
18107 * include/grub/efi/graphics_output.h: Likewise.
18108 * include/grub/i386/pc/memory.h: Likewise.
18109 * kern/env.c: Likewise.
18110 * kern/i386/qemu/startup.S: Likewise.
18111 * lib/i386/pc/biosnum.c: Likewise.
18112 * lib/i386/relocator.c: Likewise.
18113 * lib/i386/relocator_asm.S: Likewise.
18114 * lib/relocator.c: Likewise.
18115 * loader/i386/bsd.c: Likewise.
18116 * loader/i386/multiboot.c: Likewise.
18117 * loader/i386/pc/chainloader.c: Likewise.
18118 * loader/i386/xnu.c: Likewise.
18119 * loader/xnu.c: Likewise.
18120 * normal/main.c: Likewise.
18121 * normal/menu_text.c: Likewise.
18122 * util/getroot.c: Likewise.
18123 * util/grub-mkconfig_lib.in: Likewise.
18124 * util/grub.d/00_header.in: Likewise.
18125 * util/i386/pc/grub-mkimage.c: Likewise.
18126 * util/mkisofs/eltorito.c: Likewise.
18127 * util/mkisofs/exclude.h: Likewise.
18128 * util/mkisofs/hash.c: Likewise.
18129 * util/mkisofs/iso9660.h: Likewise.
18130 * util/mkisofs/joliet.c: Likewise.
18131 * util/mkisofs/mkisofs.c: Likewise.
18132 * util/mkisofs/mkisofs.h: Likewise.
18133 * util/mkisofs/multi.c: Likewise.
18134 * util/mkisofs/name.c: Likewise.
18135 * util/mkisofs/rock.c: Likewise.
18136 * util/mkisofs/tree.c: Likewise.
18137 * util/mkisofs/write.c: Likewise.
18138 * video/efi_gop.c: Likewise.
18139
18140 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18143 size counting.
18144
18145 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18146
18147 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18148 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18149
18150 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18153 (GRUB_MOD_INIT(memrw)): Update help line.
18154
18155 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18158 Use grub_extcmd_t. All users updated.
18159 (options): New variable.
18160 (grub_cmd_read): Restructure for readability. Support "-v" option.
18161 (grub_cmd_write): Restructure for readability.
18162
18163 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18164
18165 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18166
18167 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18168
18169 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18170 with the actual contents of the correspondending make variable.
18171 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18172 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18173 specifying `*.lst' and `efiemu??.o'
18174
18175 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18176
18177 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18178 after function name.
18179 Noticed by Rene Engelhard <rene@debian.org>.
18180
18181 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18184 (options): New variable.
18185 (iospace): Likewise.
18186 (grub_lspci_iter): List IO spaces if "-i" was given.
18187 (grub_cmd_lspci): Parse options.
18188 (GRUB_MOD_INIT(lspci)): Use extcmd.
18189 (GRUB_MOD_FINI(lspci)): Likewise.
18190
18191 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18192
18193 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18194 `function' keyword.
18195 Patch by Tony Mancill <tmancill@debian.org>.
18196
18197 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18200 (grub_uhci_portstatus): Likewise.
18201 (grub_uhci_portstatus): Add necessary delay.
18202 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18203
18204 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18205
18206 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18207 (GRUB_MOD_INIT): Likewise.
18208 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18209 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18210 * commands/echo.c (options): Fix capitalizations and/or full stops.
18211 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18212 (enable_rom_area): Likewise.
18213 (GRUB_MOD_INIT): Likewise.
18214 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18215 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18216 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18217 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18218 * commands/hexdump.c (options): Likewise.
18219 * commands/i386/cpuid.c (options): Likewise.
18220 (GRUB_MOD_INIT): Likewise.
18221 * commands/i386/pc/drivemap.c (options): Likewise.
18222 (GRUB_MOD_INIT): Likewise.
18223 * commands/i386/pc/halt (options): Likewise.
18224 (GRUB_MOD_INIT): Likewise.
18225 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18226 * commands/i386/pc/pxecmd.c (options): Likewise.
18227 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18228 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18229 * commands/keystatus.c (options): Likewise.
18230 (GRUB_MOD_INIT): Likewise.
18231 * commands/loadenv.c (options): Likewise.
18232 * commands/ls.c (options): Likewise.
18233 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18234 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18235 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18236 * commands/parttool.c (helpmsg): Likewise.
18237 * commands/probe.c (options): Likewise.
18238 * commands/read.c (GRUB_MOD_INIT): Likewise.
18239 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18240 * commands/search.c (options): Likewise.
18241 * commands/sleep.c (options): Likewise.
18242 * commands/test.c (GRUB_MOD_INIT): Likewise.
18243 * commands/true.c (GRUB_MOD_INIT): Likewise.
18244 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18245 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18246 * lib/arg.c (help_options): Likewise.
18247 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18248 `$(XGETTEXT)'.
18249 * po/POTFILES: Add `commands/loadenv.c'.
18250
18251 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18252
18253 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18254 instead of specifying them explicit.
18255
18256 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18257
18258 * NEWS: Add grub-probe support for GNU/Hurd.
18259
18260 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18261
18262 * NEWS: gettext was added after 1.97.
18263
18264 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18265
18266 * util/mkisofs/msdos_partition.h: New file (based on
18267 include/grub/msdos_partition.h).
18268 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18269 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18270 (ld_options, main): Recognize --protective-msdos-label.
18271 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18272 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18273 (padblock_write): If `use_protective_msdos_label' is set, patch a
18274 protective DOS-style label in the output image.
18275
18276 * util/grub-mkrescue.in: Use --protective-msdos-label.
18277
18278 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18279
18280 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18281 boot.
18282
18283 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18284
18285 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18286 variables.
18287 (ld_options, main): Recognize `--embedded-boot'.
18288 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18289 declarations.
18290 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18291 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18292 (padblock_write): Likewise. Rewrite to support embedded boot image.
18293
18294 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18295 for BIOS-based disk boot instead of only ElTorito.
18296
18297 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18298
18299 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18300 build (not needed for bootstrap).
18301
18302 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18303
18304 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18305 from i386-pc build (not needed for bootstrap).
18306 Rewrite a pair of strings.
18307
18308 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18309
18310 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18311
18312 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18315
18316 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18317
18318 * kern/env.c (grub_env_context_open): Mark exported variable for
18319 reexport.
18320
18321 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18322
18323 * kern/env.c (grub_env_export): Create nonexistent variables before
18324 exporting.
18325
18326 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18327
18328 * include/grub/auth.h: Include `<grub/i18n.h>'.
18329 (GRUB_GET_PASSWORD): Gettextizze string.
18330 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18331 menu_text.c.
18332 (grub_utf8_to_ucs4_alloc): Fix indentation.
18333 (grub_print_ucs4): Likewise.
18334 (grub_getstringwidth): Likewise.
18335 (print_message_indented): New declaration.
18336 * normal/auth.c: Include `<grub/i18n.h>'.
18337 (grub_auth_check_authentication): Gettexttize string.
18338 * normal/cmdline.c: Include `<grub/i18n.h>'.
18339 (grub_cmdline_get): Gettextizze.
18340 * normal/color.c: Include `<grub/i18n.h>'.
18341 (grub_parse_color_name_pair): Gettexttize strings.
18342 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18343 string (use `print_message_indented').
18344 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18345 `include/grub/normal.h'.
18346 (print_message_indented): Renamed to ...
18347 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18348 used in normal/main.c).
18349 (print_message): Use `grub_print_message_indented' instead of
18350 `print_message_indented'.
18351 (print_timeout): Likewise.
18352 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18353 (grub_normal_print_device_info): Gettexttize strings.
18354 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18355
18356 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18359 of arguments. Return number of tokens and not arguments. All users
18360 updated.
18361
18362 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18365 non-MSDOS paritions.
18366
18367 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18368
18369 * include/grub/types.h (UNUSED): Removed since it conflicts with
18370 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18371 Reported by Grégoire Sutre.
18372
18373 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18374
18375 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18376 (grub_print_ucs4_alloc): Likewise.
18377 (grub_getstringwidth): Likewise.
18378 * normal/main.c (grub_normal_init_page): Gettextize version string.
18379 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18380 (getstringwidth): Renamed to ...
18381 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18382 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18383 (grub_print_ucs4): Remove `static' qualifer (now used in
18384 normal/main.c).
18385 * po/POTFILES: Add normal/main.c.
18386
18387 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18388
18389 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18390 (print_message_indented): Add `margin_left' and `margin_right'
18391 parameters.
18392 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18393 strings.
18394 (print_timeout): Use `print_message_indented' to print the message.
18395 Deletes `second_stage' parameter.
18396 (run_menu): Update `print_timeout' calls.
18397
18398 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 Fix console palette on OpenFirmware.
18401
18402 * term/ieee1275/ofconsole.c (MAX): Removed.
18403 (colors): Redone based on VGA palette.
18404 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18405 colors are supported.
18406 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18407
18408 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Fix potential EfiEmu double prepare.
18411
18412 * efiemu/main.c (prepared): New variable
18413 (grub_efiemu_unload): Set prepare to '0'.
18414 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18415
18416 set_virtual_address_map support.
18417
18418 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18419 prototype.
18420 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18421 prototype.
18422 (grub_efiemu_crc32): Likewise.
18423 (grub_efiemu_crc64): Likewise.
18424 (grub_efiemu_set_virtual_address_map): Likewise.
18425 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18426 New definition.
18427 (grub_autoefi_set_virtual_address_map): Likewise.
18428 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18429 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18430 Restructure flow to accomodate it.
18431 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18432 (grub_efiemu_crc): Recompute CRC32.
18433 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18434 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18435 * efiemu/symbols.c (relocated_handle): New variable.
18436 (grub_efiemu_free_syms): Free relocated_handle.
18437 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18438 (grub_efiemu_write_sym_markers): New function.
18439 (grub_efiemu_set_virtual_address_map): Likewise.
18440
18441 Newer XNU parameters.
18442
18443 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18444 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18445 (grub_xnu_fill_devicetree): New prototype.
18446 (grub_xnu_heap_real_start): New variable.
18447 * loader/xnu.c (get_name_ptr): New function.
18448 (grub_xnu_load_driver): Fill namelen and name.
18449
18450 64-bit xnu support.
18451
18452 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18453 and 'loader/macho64.c'.
18454 * conf/i386-pc.rmk: Likewise.
18455 * conf/x86_64-efi.rmk: Likewise.
18456 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18457 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18458 * include/grub/macho.h (grub_macho_segment64): New structure.
18459 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18460 (grub_macho_size32): ... to this.
18461 (grub_macho32_get_entry_point): Renamed from ...
18462 (grub_macho_get_entry_point32): ... to this.
18463 (grub_macho_contains_macho64): New prototype.
18464 (grub_macho_size64): Likewise.
18465 (grub_macho_get_entry_point64): Likewise.
18466 (grub_macho32_load): Renamed from ...
18467 (grub_macho_load32): ... to this.
18468 (grub_macho32_filesize): Renamed from ...
18469 (grub_macho_filesize32): ... to this.
18470 (grub_macho32_readfile): Renamed from ...
18471 (grub_macho_readfile32): ... to this.
18472 (grub_macho_filesize64): New prototype.
18473 (grub_macho_readfile64): Likewise.
18474 (grub_macho_parse32): Likewise.
18475 (grub_macho_parse64): Likewise.
18476 * loader/macho.c: Split into ...
18477 * loader/machoXX.c: ... and this. Replace 32 with XX.
18478 * loader/macho32.c: New file.
18479 * loader/macho64.c: Likewise.
18480 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18481 (grub_cmd_xnu_kernel): Make 32-bit only.
18482 (grub_cmd_xnu_kernel64): New function.
18483 (grub_xnu_load_driver): Support Mach-O 64.
18484 (grub_cmd_xnu_mkext): Likewise.
18485 * util/grub.d/30_os-prober.in (osx_entry): New function.
18486 Generate entries for 64-bit boot too.
18487
18488 Eliminate ad-hoc tree format in XNU and EfiEmu.
18489
18490 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18491 * efiemu/pnvram.c: Rewritten to use environment variables.
18492 All users updated.
18493
18494 Inline utf16_to_utf8.
18495
18496 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18497 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18498 All users updated.
18499 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18500
18501 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18502 * commands/usbtest.c (grub_usb_get_string): ... move here.
18503 (usb_print_str): Fix error handling.
18504 * include/grub/usb.h (grub_usb_get_string): Remove.
18505
18506 UTF-8 to UTF-16 transformation.
18507
18508 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18509 (charset_mod_SOURCES): New variable.
18510 (charset_mod_CFLAGS): Likewise.
18511 (charset_mod_LDFLAGS): Likewise.
18512 * include/grub/utf.h: New file.
18513 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18514
18515 Support for device properties.
18516
18517 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18518 (grub_xnu_devprop_device_header): Likewise.
18519 (grub_xnu_devprop_device_descriptor): Likewise.
18520 (grub_xnu_devprop_add_device): New prototype.
18521 (grub_xnu_devprop_remove_device): Likewise.
18522 (grub_xnu_devprop_remove_property): Likewise.
18523 (grub_xnu_devprop_add_property_utf8): Likewise.
18524 (grub_xnu_devprop_add_property_utf16): Likewise.
18525 (grub_cpu_xnu_init): Likewise.
18526 (grub_cpu_xnu_fini): Likewise.
18527 (grub_cpu_xnu_unload): Likewise.
18528 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18529 (property_descriptor): Likewise.
18530 (devices): New variable.
18531 (grub_xnu_devprop_remove_property): New function.
18532 (grub_xnu_devprop_add_device): Likewise.
18533 (grub_xnu_devprop_remove_device): Likewise.
18534 (grub_xnu_devprop_add_property): Likewise.
18535 (grub_xnu_devprop_add_property_utf8): Likewise.
18536 (grub_xnu_devprop_add_property_utf16): Likewise.
18537 (hextoval): Likewise.
18538 (grub_cpu_xnu_fill_devprop): Likewise.
18539 (grub_cmd_devprop_load): Likewise.
18540 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18541 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18542 (cmd_devprop_load): New variable.
18543 (grub_cpu_xnu_init): New function.
18544 (grub_cpu_xnu_fini): Likewise.
18545 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18546 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18547 (grub_cmd_xnu_devtree): Likewise.
18548 (hextoval): New function.
18549 (unescape): Likewise.
18550 (grub_xnu_fill_devicetree): Likewise.
18551
18552 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18553 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18554
18555 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 Workaround for broken ATI VBE.
18558
18559 * video/i386/pc/vbe.c (last_set_mode): New variable.
18560 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18561 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18562 (grub_video_vbe_setup): Don't check for reserved flag.
18563
18564 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18565
18566 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18567 the `find' command.
18568
18569 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 UUID support for HFS.
18572
18573 * fs/hfs.c (grub_hfs_uuid): New function.
18574 (grub_hfs_fs): New value .uuid.
18575 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18576
18577 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18578
18579 Fix a segfault with parsing unknown long options.
18580
18581 * util/grub-mkrelpath.c (options): Zero terminate it.
18582
18583 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18584
18585 * include/grub/misc.h (grub_puts): New declaration.
18586 (grub_puts_): Likewise.
18587 * kern/misc.c (grub_puts): New definition.
18588 (grub_puts_): Likewise.
18589
18590 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18591
18592 * util/grub-probe.c (probe): Improve error message.
18593
18594 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18595
18596 * loader/i386/multiboot_elfxx.c
18597 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18598 initialization.
18599
18600 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 Relocator framework
18603
18604 * loader/i386/xnu_helper.S: Removed. All users updated.
18605 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18606 (relocator_mod_SOURCES): New variable.
18607 (relocator_mod_CFLAGS): Likewise.
18608 (relocator_mod_LDFLAGS): Likewise.
18609 (relocator_mod_ASFLAGS): Likewise.
18610 * conf/x86_64.rmk: Likewise.
18611 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18612 (grub_multiboot_payload_entry_offset): Likewise.
18613 (grub_multiboot_forward_relocator): Likewise.
18614 (grub_multiboot_forward_relocator_end): Likewise.
18615 (grub_multiboot_backward_relocator): Likewise.
18616 (grub_multiboot_backward_relocator_end): Likewise.
18617 (grub_multiboot_payload_eip): New variable.
18618 (grub_multiboot_payload_orig): Likewise.
18619 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18620 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18621 * include/grub/i386/memory.h
18622 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18623 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18624 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18625 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18626 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18627 * include/grub/i386/relocator.h: New file.
18628 * include/grub/x86_64/relocator.h: Likewise.
18629 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18630 (XNU_RELOCATOR): New macro.
18631 (grub_xnu_launcher_start): Remove.
18632 (grub_xnu_launcher_end): Likewise.
18633 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18634 (grub_xnu_heap_real_start): Remove.
18635 (grub_xnu_heap_start): Change to void *. All users updated.
18636 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18637 * lib/i386/relocator.c: New file.
18638 * lib/i386/relocator_asm.S: Likewise.
18639 * lib/i386/relocator_backward.S: Likewise.
18640 * lib/mips/relocator.c: Likewise.
18641 * lib/mips/relocator_asm.S: Likewise.
18642 * lib/relocator.c: Likewise.
18643 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18644 (entry): Removed.
18645 (playground): Likewise.
18646 (grub_multiboot_payload_orig): New variable.
18647 (grub_multiboot_payload_dest): Likewise.
18648 (grub_multiboot_payload_size): Likewise.
18649 (grub_multiboot_payload_eip): Likewise.
18650 (grub_multiboot_payload_esp): Likewise.
18651 (grub_multiboot_boot): Use grub_relocator32_boot.
18652 (grub_multiboot_unload): Free relocators.
18653 (grub_multiboot): Setup stack. Use relocators.
18654 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18655 (grub_multiboot_load_elfXX): Use relocators.
18656 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18657 (grub_multiboot_payload_size): Likewise.
18658 (grub_multiboot_payload_dest): Likewise.
18659 (grub_multiboot_payload_entry_offset): Likewise.
18660 (grub_multiboot_forward_relocator): Likewise.
18661 (grub_multiboot_backward_relocator): Likewise.
18662 (grub_multiboot_real_boot): Likewise.
18663 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18664 (grub_xnu_entry_point): Likewise.
18665 (grub_xnu_arg1): Likewise.
18666 (grub_xnu_stack): Likewise.
18667 (grub_xnu_launch): Removed.
18668 (grub_xnu_boot_resume): New function.
18669 (grub_xnu_boot): Use relocators.
18670 * loader/i386/xnu_helper.S: Removed.
18671 * loader/xnu.c (grub_xnu_heap_start): New variable.
18672 (grub_xnu_heap_size): Likewise.
18673 (grub_xnu_heap_malloc): Use relocators.
18674 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18675
18676 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18679 anything.
18680
18681 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18682
18683 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18684 GRUB_ERR_NONE before calling grub_env_set.
18685
18686 2009-12-12 Robert Millan <rmh@aybabtu.com>
18687
18688 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18689 * genmk.rb (video): New variable.
18690 (CLEANFILES, VIDEOFILES): Add #{video}.
18691 (#{video}): New target rule.
18692 * genvideolist.sh: New file.
18693 * Makefile.in (pkglib_DATA): Add video.lst.
18694 (video.lst): New target rule.
18695 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18696 `video.lst'.
18697 * util/grub.d/30_os-prober.in: Replace `vbe' with
18698 ${GRUB_VIDEO_BACKEND}.
18699
18700 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18701
18702 * THANKS: Add David Miller.
18703
18704 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 libpciaccess support.
18707
18708 * Makefile.in (LIBPCIACCESS): New variable.
18709 (enable_grub_emu_pci): Likewise.
18710 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18711 util/pci.c and commands/lspci.c.
18712 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18713 * configure.ac (grub-emu-pci): New option.
18714 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18715 (grub_pci_device_unmap_range): Likewise.
18716 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18717 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18718 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18719 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18720 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18721 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18722 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18723 * include/grub/pciutils.h: New file.
18724 * util/pci.c: Likewise.
18725
18726 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
18727
18728 * util/misc.c: Don't include <errno.h> twice.
18729
18730 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
18731
18732 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18733 name in an error message.
18734 (grub_biosdisk_rw): Likewise.
18735
18736 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 Eliminate NTFS 4Gib barrier.
18739
18740 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18741 (read_run_data): Likewise.
18742 (grub_ntfs_read_run_list): Likewise.
18743 (grub_ntfs_read_block): Likewise.
18744 (grub_ntfs_iterate_dir): Likewise.
18745 (read_mft): Likewise.
18746 (read_data): Likewise.
18747 Use COM_LOG_LEN.
18748 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18749 to avoid 64-bit division
18750 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18751 (grub_ntfs_rlst): Use grub_disk_addr_t.
18752
18753 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 Eliminate grub-fstest 4Gib barrier.
18756
18757 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18758 (read_file): Fix error reporting.
18759
18760 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 Eliminate hexdump 4Gib barrier.
18763
18764 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18765 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18766
18767 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18770 Fixes amarsh bug.
18771
18772 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18773
18774 Remove miscellaneous files in distclean target.
18775
18776 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18777
18778 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
18779
18780 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18781 if they're already set. This resolves the conflict between my
18782 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18783 fixing the --grub-probe option again.
18784 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18785 change on 2009-10-06, so that we now once again source
18786 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18787
18788 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18789
18790 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18791 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18792 `util/devicemap.c'.
18793
18794 2009-12-08 Carles Pina i Estany <carles@pina.cat>
18795
18796 * include/grub/misc.h (grub_printf_): New declaration.
18797 * kern/misc.c (grub_printf_): New definition.
18798 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18799 instead of `grub_printf' and `_'.
18800 * normal/menu_entry.c (store_completion): Likewise.
18801 (run): Likewise.
18802 (grub_menu_entry_run): Likewise.
18803 * normal/menu_text.c (grub_wait_after_message): Likewise.
18804 (notify_booting): Likewise.
18805 (notify_fallback): Likewise.
18806 (notify_execution_failure): Likewise.
18807
18808 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
18809
18810 * configure.ac: Check for vasprintf.
18811 * util/misc.c (asprintf): Move allocation from here ...
18812 (vasprintf): ... to here. New function.
18813 (xasprintf): New function.
18814 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18815 prototypes.
18816 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18817 * util/grub-mkfont.c (write_font): Likewise.
18818 * util/grub-probe.c (probe): Likewise.
18819 * util/hostdisk.c (make_device_name): Likewise.
18820
18821 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
18822
18823 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18824 anything even prefixed with 'cdrom' as a cdrom.
18825
18826 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
18827
18828 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18829 mount points.
18830
18831 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18832
18833 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18834 grub_gettext_msg_list.
18835 (grub_gettext_gettranslation_from_position): Return const char *
18836 and not char *.
18837 (grub_gettext_translate): Add the translated strings into a list,
18838 returns from the list if existing there.
18839 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18840 (grub_gettext_delete_list): Delete the list.
18841 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18842 lang environment variable is changed.
18843 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18844
18845 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 Rename kernel.mod to kernel.img.
18848
18849 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18850 (kernel_mod_EXPORTS): Rename to ...
18851 (kernel_img_EXPORTS): ... this.
18852 (kernel_mod_SOURCES): Rename to ...
18853 (kernel_img_SOURCES): ... this.
18854 (kernel_mod_HEADERS): Rename to ...
18855 (kernel_img_HEADERS): ... this. All users updated.
18856 (kernel_mod_CFLAGS): Rename to ...
18857 (kernel_img_CFLAGS): ... this.
18858 (kernel_mod_ASFLAGS): Rename to ...
18859 (kernel_img_ASFLAGS): ... this.
18860 (kernel_mod_LDFLAGS): Rename to ...
18861 (kernel_img_LDFLAGS): ... this.
18862 * conf/x86_64-efi.rmk: Likewise.
18863 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18864 (read_kernel_image): ... this. All users updated.
18865 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18866
18867 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18868
18869 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18870 (print_spaces): New function.
18871 (grub_print_ucs4): New function.
18872 (getstringwidth): New function.
18873 (print_message_indented): New function.
18874 (print_message): Gettexttize strings using print_message_indented.
18875 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18876 width.
18877 (get_entry_number): Gettextize and uses dynamic terminal width.
18878 (notify_booting, notify_fallback, notify_execution_failure):
18879 Gettextize.
18880 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18881 string.
18882 (run): Likewise.
18883 (grub_menu_entry_run): Likewise.
18884 * PO/POTFILES: Add normal/menu_entry.c.
18885
18886 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18889
18890 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18891
18892 * util/grub-install.in: Install gettext .mo files.
18893 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18894
18895 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18896
18897 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18898 grub_dprintf.
18899
18900 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18901
18902 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18903 non-firmware-dependant one in realmode.S takes precedence.
18904
18905 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18906
18907 * commands/halt.c: Replace misc arch-specific headers with
18908 `<grub/misc.h>'.
18909 * commands/reboot.c: Likewise.
18910 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18911 `<grub/misc.h>'.
18912 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18913 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18914 (kernel_img_SOURCES): ... to here.
18915
18916 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18917 * include/grub/i386/pc/init.h: Likewise.
18918 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18919 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18920
18921 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18922
18923 * include/grub/i386/halt.h: Remove.
18924 * include/grub/i386/reboot.h: Likewise.
18925
18926 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18927
18928 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
18929
18930 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18931 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18932 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18933 "progname.h"
18934 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18935 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18936 (usage): Add missing comma in printf.
18937
18938 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18939
18940 Use the same reboot approach on i386 coreboot and qemu as we do on
18941 BIOS.
18942
18943 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18944 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18945 * kern/i386/reboot.c: Remove.
18946 * include/grub/i386/reboot.h (grub_reboot): Export function.
18947 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18948 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18949 0xf000:0xfff0 instead of 0xffff:0x0000.
18950 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18951 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18952
18953 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18954
18955 Fix $srcdir != $objdir build.
18956
18957 * Makefile.in (po/%.po): Rewrite as ...
18958 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18959
18960 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18961
18962 Fix GNU/Hurd grub-install crash.
18963 * util/grub-probe.c (probe): Try to access `path' only when it is not
18964 NULL.
18965
18966 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Correct module naming.
18969
18970 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18971 (GRUB_MOD_INIT(efi_uga)): ... to this
18972 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18973 (GRUB_MOD_FINI(efi_uga)): ... to this
18974 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18975 (GRUB_MOD_INIT(efi_gop)): ... to this
18976 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18977 (GRUB_MOD_FINI(efi_gop)): ... to this
18978
18979 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18980
18981 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18982 translatable.
18983 (usage): Translate `arg' strings using gettext().
18984 Thanks to Jordi Mallach for the suggestion.
18985
18986 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 GOP support. Based on patch from Bean
18989 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18990
18991 * video/efi_gop.c: New file.
18992 * include/grub/efi/graphics_output.h: Likewise.
18993 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18994 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18995 variables.
18996 * conf/x86_64-efi.rmk: Likewise.
18997
18998 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 Rename efi_fb to efi_uga.
19001
19002 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19003 'efi_uga.mod'.
19004 (efi_fb_mod_SOURCES): Rename this ...
19005 (efi_uga_mod_SOURCES): ... to this.
19006 (efi_fb_mod_CFLAGS): Rename this ...
19007 (efi_uga_mod_CFLAGS): ... to this.
19008 (efi_fb_mod_LDFLAGS): Rename this ...
19009 (efi_uga_mod_LDFLAGS): ... to this.
19010 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19011 'efi_uga.mod'.
19012 (efi_fb_mod_SOURCES): Rename this ...
19013 (efi_uga_mod_SOURCES): ... to this.
19014 (efi_fb_mod_CFLAGS): Rename this ...
19015 (efi_uga_mod_CFLAGS): ... to this.
19016 (efi_fb_mod_LDFLAGS): Rename this ...
19017 (efi_uga_mod_LDFLAGS): ... to this.
19018 * video/efi_fb.c: Move this ...
19019 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19020
19021 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19022
19023 * po/README: New file. Explain our PO file workflow.
19024
19025 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19026
19027 * po/ChangeLog: Remove. Move relevant entries back to ...
19028 * ChangeLog: ... here.
19029 * po/ca.po: Remove (now handled by TLP).
19030 * po/id.po: Likewise.
19031 * po/zh_CN.po: Likewise.
19032 * Makefile.in (LINGUAS): Initialize in a way that supports
19033 empty set.
19034
19035 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19036
19037 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19038 reliing on po/LINGUAS.
19039 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19040 (po/%.po): ... this.
19041
19042 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19043
19044 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19045 (main): Use `program_name' instead of nonexistent `progname'.
19046
19047 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19048
19049 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19050 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19051
19052 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19053
19054 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19055 commit.
19056 * conf/i386-efi.rmk: Likewise.
19057 * conf/i386-ieee1275.rmk: Likewise.
19058 * conf/powerpc-ieee1275.rmk: Likewise.
19059 * conf/sparc64-ieee1275.rmk: Likewise.
19060 * conf/x86_64-efi.rmk: Likewise.
19061
19062 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19063
19064 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19065
19066 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19067
19068 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19069
19070 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19071
19072 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19073 (grub_mkdevicemap_SOURCES): New variable.
19074 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19075 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19076 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19077 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19078 (grub_mkdevicemap_SOURCES): Remove.
19079 * conf/i386-efi.rmk: Likewise.
19080 * conf/i386-ieee1275.rmk: Likewise.
19081 * conf/i386-pc.rmk: Likewise.
19082 * conf/powerpc-ieee1275.rmk: Likewise.
19083 * conf/sparc64-ieee1275.rmk: Likewise.
19084 * conf/x86_64-efi.rmk: Likewise.
19085 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19086 (usage): Fix strings to use `program_name'.
19087 (main): Initialize gettext.
19088 * util/grub-editenv.c: Likewise.
19089 * util/grub-emu.c: Likewise.
19090 * util/grub-fstest.c: Likewise.
19091 * util/grub-mkdevicemap.c: Likewise.
19092 * util/grub-mkfont.c: Likewise.
19093 * util/grub-mkrelpath.c: Likewise.
19094 * util/grub-pe2elf.c: Likewise.
19095 * util/grub-probe.c: Likewise.
19096 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19097 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19098 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19099
19100 * util/misc.c: Include `"progname.h"'.
19101 (progname): Remove variable.
19102 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19103
19104 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19105
19106 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19107 printf and print a newline after the menuentry header line.
19108 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19109
19110 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19111
19112 autoconf >= 2.60 support $(localedir).
19113
19114 * INSTALL: Note that autoconf 2.60 is required.
19115 * configure.ac (AC_PREREQ): Bump to 2.60.
19116 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19117 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19118
19119 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19120
19121 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19122 aclocal is run.
19123
19124 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 * normal/main.c (grub_normal_read_line): Fix off-by-one
19127 buffer overflow.
19128
19129 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19130
19131 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19132 "parser.grub" in grub_command_execute() call.
19133
19134 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19135
19136 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19137 * conf/i386-efi.rmk: Likewise.
19138 * conf/i386-ieee1275.rmk: Likewise.
19139 * conf/i386-pc.rmk: Likewise.
19140 * conf/powerpc-ieee1275.rmk: Likewise.
19141 * conf/sparc64-ieee1275.rmk: Likewise.
19142 * conf/x86_64-efi.rmk: Likewise.
19143 * gettext/gettex.c: Include <grub/i18n.h>.
19144 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19145 here ...
19146 * include/grub/i18n.h: ... to here
19147 * include/grub/i18n.h: ... to here.
19148 * kern/misc.c: Include <grub/i18n.h>
19149 (grub_gettext_dummy): Move above user.
19150
19151 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19152
19153 * util/Makefile.in (install-local): Convert a `for' into a normal
19154 shell expansion.
19155
19156 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19157
19158 * autogen.sh: Add automake call.
19159 * config.guess: Remove.
19160 * config.sub: Likewise.
19161 * install-sh: Likewise.
19162
19163 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19164
19165 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19166
19167 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19168
19169 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19170 function to a normal shell `for'.
19171
19172 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19173
19174 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19175
19176 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19177
19178 * util/grub-mkrelpath.c: New file.
19179 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19180 (grub_mkrelpath_SOURCES): New variable.
19181 * include/grub/util/misc.h: New function prototype.
19182 * util/misc.c (make_system_path_relative_to_its_root): New function.
19183
19184 * util/grub-mkconfig_lib.in (bindir): New variable.
19185 (grub_mkrelpath): Likewise.
19186 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19187
19188 * util/probe.c (probe): Make the file path relative to its root.
19189 Change a info message to use the GRUB path. Enable again the
19190 check if we can read the file with GRUB facilities.
19191
19192 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19193 to its root.
19194
19195 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19196
19197 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19198 platform.
19199
19200 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19201
19202 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19203 strncmp().
19204
19205 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19206
19207 * util/getroot.c (grub_util_is_dmraid): New function.
19208 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19209 devices as normal ones, not as LVM.
19210
19211 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19212
19213 * conf/common.rmk: Add grub-gettext_lib target and updates
19214 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19215 LDFLAGS.
19216 * gettext/gettext.c: New file. (Reads mo files).
19217 * include/grub/file.h (grub_file_pread): New prototype.
19218 * include/grub/i18n.h (_): New prototype.
19219 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19220 prototypes.
19221 * kern/misc.c (grub_gettext_dummy): New function.
19222 * normal/menu_text.c: Include <grub/i18n.h>.
19223 * normal/menu_text.c (print_timeout): Gettexttize string.
19224 * normal/menu_text.c (print_message): Gettexttize string.
19225 * po/POTFILES: Add `normal/menu_text.c'.
19226 * po/ca.po: Add new translations.
19227 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19228 gettext module and defines locale_dir and lang in grub.cfg.
19229 * NEWS: Add gettext support.
19230
19231 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19232
19233 * util/hostdisk.c: Include `<grub/i18n.h>'.
19234 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19235 (make_device_name): Rewrite using asprintf.
19236 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19237 (find_system_device): If a device is not found, generate one just
19238 by reusing the OS path name.
19239 (read_device_map): Make it permissible for device.map not to exist.
19240
19241 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19242
19243 * script/sh/execute.c: Move from here ...
19244 * script/execute.c: ... to here. Update all users.
19245 * script/sh/function.c: Move from here ...
19246 * script/function.c: ... to here. Update all users.
19247 * script/sh/lexer.c: Move from here ...
19248 * script/lexer.c: ... to here. Update all users.
19249 * script/sh/main.c: Move from here ...
19250 * script/main.c: ... to here. Update all users.
19251 * script/sh/parser.y: Move from here ...
19252 * script/parser.y: ... to here. Update all users.
19253 * script/sh/script.c: Move from here ...
19254 * script/script.c: ... to here. Update all users.
19255
19256 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19257
19258 * configure.ac: Detect all `emu' platforms. Define
19259 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19260 --enable-grub-emu logic. Disable include/grub/machine
19261 symlink on `emu' platforms.
19262
19263 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19264 * gensymlist.sh.in: Likewise.
19265
19266 * include/grub/i386/coreboot/machine.h: Remove file.
19267 * include/grub/i386/efi/machine.h: Likewise.
19268 * include/grub/i386/ieee1275/machine.h: Likewise.
19269 * include/grub/i386/pc/machine.h: Likewise.
19270 * include/grub/i386/qemu/machine.h: Likewise.
19271 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19272 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19273 * include/grub/x86_64/efi/machine.h: Likewise.
19274
19275 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19276 * commands/halt.c: Likewise.
19277 * commands/reboot.c: Likewise.
19278 * include/grub/autoefi.h: Likewise.
19279 * include/grub/i386/at_keyboard.h: Likewise.
19280 * include/grub/i386/kernel.h: Likewise.
19281 * include/grub/i386/loader.h: Likewise.
19282 * include/grub/i386/pc/memory.h: Likewise.
19283 * kern/dl.c: Likewise.
19284 * kern/i386/coreboot/init.c: Likewise.
19285 * loader/i386/bsd.c: Likewise.
19286 * loader/i386/linux.c: Likewise.
19287 * loader/multiboot_loader.c: Likewise.
19288 * term/i386/pc/serial.c: Likewise.
19289 * term/usb_keyboard.c: Likewise.
19290
19291 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19292 `<grub/machine/machine.h>'
19293 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19294 * util/misc.c: Remove `<grub/machine/machine.h>' and
19295 `<grub/machine/time.h>'.
19296
19297 * Makefile.in (enable_grub_emu): Remove variable.
19298 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19299
19300 * conf/any-emu.rmk: New file.
19301 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19302 (grub_emu_init.c): Move from here ...
19303 * conf/any-emu.rmk: ... to here.
19304
19305 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19306 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19307 * conf/any-emu.rmk: ... to here.
19308
19309 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19310
19311 * include/grub/parser.h (grub_parser_register): Document need
19312 of `name' parameter.
19313 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19314 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19315 "sh" to "grub".
19316
19317 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19318
19319 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19320 `$(XGETTEXT)'.
19321 * include/grub/i18n.h (N_): New macro.
19322 * util/mkisofs/mkisofs.h: Likewise.
19323 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19324 around N_().
19325 (usage): Use gettext() to translate help strings when printing them.
19326
19327 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19328
19329 Based on patch from Bean
19330 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19331
19332 * video/efi_fb.c: New file.
19333 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19334 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19335 variables.
19336 * conf/x86_64-efi.rmk: Likewise.
19337
19338 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19339
19340 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19341 * util/i386/pc/grub-setup.c: Likewise.
19342
19343 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19344
19345 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19346 <hurd/fs.h>
19347 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19348 file_get_storage_info to implement grub_guess_root_device.
19349
19350 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19351
19352 * Makefile.in (target): Use make's builtin $(shell) function
19353 instead of calling directly $(SHELL) to create the locale directories,
19354 inside the $(foreach) function.
19355
19356 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19357
19358 * util/grub-mkrescue.in: Print an error and usage if output option
19359 has not been given.
19360
19361 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19362
19363 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19364 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19365 root and /boot are on different devices.
19366
19367 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19368
19369 Fix build for srcdir != objdir.
19370
19371 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19372 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19373 $(srcdir).
19374 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19375 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19376 reference for input.
19377
19378 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19379
19380 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19381 or hardlinking it). Remove -J option, Joliet is not compatible with
19382 multiple source directories.
19383
19384 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19385 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19386
19387 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19388 (process_input_dir): New function. Process an arbitrary input
19389 directory.
19390 Misc adjustments to support both "override mode" and system-wide mode.
19391
19392 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19393
19394 * configure.ac (UNIFONT_BDF): Rename to ...
19395 (FONT_SOURCE): ... this. Update all users.
19396
19397 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19398
19399 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19400 to the list of unifont files to look for.
19401
19402 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19403
19404 Patch from Joe Auricchio <jauricchio@gmail.com>
19405 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19406 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19407 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19408
19409 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19410
19411 * Makefile.in (install-local): Add a missing backslash.
19412
19413 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19414
19415 * include/grub/x86_64/io.h: New file.
19416
19417 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19418
19419 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19420 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19421 Include `"progname.h"'.
19422 (main): Initialize gettext.
19423 * util/i386/pc/grub-setup.c: Gettexttize.
19424 * util/i386/pc/grub-mkimage.c: Likewise.
19425
19426 * Makefile.in (po/*.po): Redefine as ...
19427 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19428
19429 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19430
19431 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19432
19433 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19434 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19435 (program_name): Remove.
19436 (main): Initialize gettext support.
19437 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19438 Include `<libintl.h>'.
19439 (_): New macro.
19440
19441 * util/mkisofs/eltorito.c: Gettexttize.
19442 * util/mkisofs/joliet.c: Likewise.
19443 * util/mkisofs/mkisofs.c: Likewise.
19444 * util/mkisofs/multi.c: Likewise.
19445 * util/mkisofs/rock.c: Likewise.
19446 * util/mkisofs/tree.c: Likewise.
19447 * util/mkisofs/write.c: Likewise.
19448
19449 * po/POTFILES: Update with new files.
19450
19451 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19452
19453 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19454 * util/mkisofs/iso9660.h: Likewise.
19455 * util/mkisofs/joliet.c: Likewise.
19456 * util/mkisofs/mkisofs.c: Likewise.
19457 * util/mkisofs/mkisofs.h: Likewise.
19458 * util/mkisofs/rock.c: Likewise.
19459 * util/mkisofs/tree.c: Likewise.
19460 * util/mkisofs/write.c: Likewise.
19461
19462 * util/mkisofs/eltorito.c (rcsid): Remove.
19463 * util/mkisofs/hash.c: Likewise.
19464 * util/mkisofs/joliet.c: Likewise.
19465 * util/mkisofs/name.c: Likewise.
19466 * util/mkisofs/rock.c: Likewise.
19467 * util/mkisofs/tree.c: Likewise.
19468 * util/mkisofs/write.c: Likewise.
19469
19470 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19471
19472 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19473 instead of static allocation.
19474 * util/mkisofs/match.h: Likewise.
19475
19476 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19477
19478 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19479 and `util/grub.d/10_linux.in'.
19480 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19481 translatable Shell files.
19482
19483 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19486
19487 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19488
19489 * INSTALL: Document Automake is needed for bootstrap.
19490 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19491 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19492 Add gettext initialization.
19493 (kfreebsd_entry): Make menuentry output translatable.
19494
19495 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19496
19497 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19498 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19499 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19500 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19501 (LINGUAS): Auto-generate using `po/LINGUAS'.
19502 * po/LINGUAS: New file.
19503
19504 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19505
19506 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19507 other things).
19508 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19509 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19510 bindtextdomain() calls for gettext initialization.
19511
19512 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19513
19514 * gnulib/progname.c: New file (imported from Gnulib).
19515 * gnulib/progname.h: Likewise.
19516 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19517 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19518 (usage): Replace `progname' with `program_name'.
19519 (main): Use set_program_name() for program name initialization.
19520
19521 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19522
19523 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19524 from here ...
19525 * Makefile.in (CPPFLAGS): ... to here.
19526
19527 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19528
19529 * aclocal.m4: Move from here ...
19530 * acinclude.m4: ... to here.
19531 * autogen.sh: Add call to `aclocal'.
19532 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19533
19534 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19535
19536 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19537 (LINGUAS): New variable.
19538 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19539 (install-local): Install MO files.
19540 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19541 * include/grub/i18n.h: New file.
19542 * po/POTFILES: New file.
19543 * po/ca.po: New file.
19544 * util/grub.d/10_linux.in (bindir): New variable.
19545 Add gettext initialization.
19546 (linux_entry): Make menuentry output translatable.
19547 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19548 (usage): Make --help output translatable.
19549 (main): Initialize gettext.
19550
19551 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19552
19553 * import_gcry.py: New file (written by Vladimir with minor
19554 adjustments).
19555 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19556 ciphers.
19557 * INSTALL: Document that Python is required for bootstrap.
19558
19559 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19560
19561 Import ciphers from libgcrypt 1.4.4.
19562
19563 * lib/libgcrypt/cipher/ChangeLog
19564 * lib/libgcrypt/cipher/ac.c
19565 * lib/libgcrypt/cipher/arcfour.c
19566 * lib/libgcrypt/cipher/bithelp.h
19567 * lib/libgcrypt/cipher/blowfish.c
19568 * lib/libgcrypt/cipher/camellia-glue.c
19569 * lib/libgcrypt/cipher/camellia.c
19570 * lib/libgcrypt/cipher/camellia.h
19571 * lib/libgcrypt/cipher/cast5.c
19572 * lib/libgcrypt/cipher/cipher.c
19573 * lib/libgcrypt/cipher/crc.c
19574 * lib/libgcrypt/cipher/des.c
19575 * lib/libgcrypt/cipher/dsa.c
19576 * lib/libgcrypt/cipher/ecc.c
19577 * lib/libgcrypt/cipher/elgamal.c
19578 * lib/libgcrypt/cipher/hash-common.c
19579 * lib/libgcrypt/cipher/hash-common.h
19580 * lib/libgcrypt/cipher/hmac-tests.c
19581 * lib/libgcrypt/cipher/md.c
19582 * lib/libgcrypt/cipher/md4.c
19583 * lib/libgcrypt/cipher/md5.c
19584 * lib/libgcrypt/cipher/primegen.c
19585 * lib/libgcrypt/cipher/pubkey.c
19586 * lib/libgcrypt/cipher/rfc2268.c
19587 * lib/libgcrypt/cipher/rijndael-tables.h
19588 * lib/libgcrypt/cipher/rijndael.c
19589 * lib/libgcrypt/cipher/rmd.h
19590 * lib/libgcrypt/cipher/rmd160.c
19591 * lib/libgcrypt/cipher/rsa.c
19592 * lib/libgcrypt/cipher/seed.c
19593 * lib/libgcrypt/cipher/serpent.c
19594 * lib/libgcrypt/cipher/sha1.c
19595 * lib/libgcrypt/cipher/sha256.c
19596 * lib/libgcrypt/cipher/sha512.c
19597 * lib/libgcrypt/cipher/tiger.c
19598 * lib/libgcrypt/cipher/twofish.c
19599 * lib/libgcrypt/cipher/whirlpool.c
19600
19601 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19602
19603 Fix build for systems without error().
19604
19605 * gnulib/error.c: New file (imported from Gnulib).
19606 * gnulib/error.h: Likewise.
19607 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19608 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19609 (this variable is now used by error()).
19610
19611 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19612
19613 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19614 instead of relying that char is signed.
19615
19616 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19619 blocksize different from specified.
19620 (grub_pxefs_read): Likewise.
19621
19622 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19623
19624 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19625
19626 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19627 (grub_ata_readwrite): Likewise. Update 2 format strings.
19628 (grub_atapi_read): Likewise.
19629
19630 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19631 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19632 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19633 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19634 (ata_mod_LDFLAGS): Move from here ...
19635 * conf/i386.rmk: ... to here ...
19636 * conf/x86_64-efi.rmk: ... and here.
19637 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19638 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19639
19640 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19641
19642 Relicense multiboot.h, with RMS' blessing.
19643
19644 * include/multiboot.h: Change to X11 license.
19645
19646 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19647
19648 Support --version in grub-mkisofs.
19649
19650 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19651 (OPTION_VERSION): New macro.
19652 (ld_options): Recognize --version.
19653 (usage): Move `program_name' from here ...
19654 (program_name): ... to here. Add `static' qualifier.
19655 (main): Recognize `OPTION_VERSION'.
19656
19657 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
19658
19659 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19660 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19661
19662 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19663
19664 Fix help2man generation for mkisofs.
19665
19666 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19667 (usage): Send output to stdout (rather than stderr).
19668
19669 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19670
19671 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19672 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19673 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19674 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19675 (bin_SCRIPTS): Add `grub-mkfloppy'.
19676 (grub_mkfloppy_SOURCES): New variable.
19677
19678 * util/grub-mkrescue.in: New file.
19679 * util/i386/pc/grub-mkfloppy.in: New file.
19680
19681 * util/i386/coreboot/grub-mkrescue.in: Remove.
19682 * util/i386/pc/grub-mkrescue.in: Remove.
19683
19684 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19685
19686 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19687 from here ...
19688 * include/multiboot.h (struct multiboot_header): ... to here. Update
19689 all users.
19690 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19691 from here ...
19692 * include/multiboot.h (struct multiboot_info): ... to here. Update
19693 all users.
19694 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19695 from here ...
19696 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19697 Update all users.
19698 * include/grub/multiboot.h (struct grub_mod_list): Move
19699 from here ...
19700 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19701 Update all users.
19702
19703 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19704
19705 * include/multiboot2.h (multiboot_word): Rename from this ...
19706 (multiboot2_word): ... to this. Update all users.
19707 (multiboot_header): Rename from this ...
19708 (multiboot2_header): ... to this. Update all users.
19709 (multiboot_tag_header): Rename from this ...
19710 (multiboot2_tag_header): ... to this. Update all users.
19711 (multiboot_tag_start): Rename from this ...
19712 (multiboot2_tag_start): ... to this. Update all users.
19713 (multiboot_tag_name): Rename from this ...
19714 (multiboot2_tag_name): ... to this. Update all users.
19715 (multiboot_tag_module): Rename from this ...
19716 (multiboot2_tag_module): ... to this. Update all users.
19717 (multiboot_tag_memory): Rename from this ...
19718 (multiboot2_tag_memory): ... to this. Update all users.
19719 (multiboot_tag_unused): Rename from this ...
19720 (multiboot2_tag_unused): ... to this. Update all users.
19721 (multiboot_tag_end): Rename from this ...
19722 (multiboot2_tag_end): ... to this. Update all users.
19723
19724 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19725
19726 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19727 this platform we should support Multiboot1 first.
19728
19729 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19730 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19731 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19732
19733 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19734
19735 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19736 of write calls (converting them to fwrite() if they aren't already).
19737 (get_torito_desc): Likewise.
19738 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19739
19740 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19741
19742 * util/i386/pc/grub-install.in: Move from here ...
19743 * util/grub-install.in: ... to here. Update all users.
19744
19745 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
19746
19747 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19748
19749 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19750
19751 Support for El Torito without floppy emulation.
19752
19753 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19754 (init_boot_catalog): Improve error handling.
19755 (get_torito_desc): Don't use floppy emulation unless requested by
19756 user. Patch boot information table when requested via
19757 `-boot-info-table'.
19758 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19759 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19760 (use_boot_info_table): New variables.
19761 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19762 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19763 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19764 `--eltorito-emul-floppy'.
19765 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19766 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19767 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19768 (use_boot_info_table, get_731): New prototypes.
19769 * util/mkisofs/write.c (get_731): New function.
19770
19771 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
19772
19773 Fix the generation of the man page.
19774
19775 * util/pc/i386/grub-install.in: Source
19776 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19777
19778 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19779
19780 Large file support for grub-mkisofs.
19781
19782 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19783 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19784 (session_start): Upgrade type to `uint64_t'. Update all users.
19785 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19786 (struct directory_entry): Upgrade type of `starting_block' and
19787 `size' to `uint64_t'. Update all users.
19788 (struct deferred): Remove unused structure.
19789 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19790 Update all users.
19791 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19792 file is larger than `UINT32_MAX'.
19793 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19794 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19795 return value.
19796 (struct deferred_write): Upgrade type of `extent' and `size' to
19797 `uint64_t'. Update all users.
19798 (last_extent_written): Upgrade type to `uint64_t'. Update all
19799 users.
19800 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19801 Update all users. Upgrade type of `remain' to `int64_t' and
19802 `use' to `size_t'. Use error() to handle fread() errors.
19803 (write_files): Rely on write_one_file() rather than calling
19804 xfwrite() directly.
19805
19806 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
19807
19808 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19809
19810 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19811
19812 * util/mkisofs/fnmatch.c: Remove.
19813 * util/mkisofs/getopt1.c: Likewise.
19814 * util/mkisofs/getopt.c: Likewise.
19815 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19816 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19817 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19818 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19819 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19820
19821 * configure.ac: Detect `mingw32msvc' host_os.
19822 Check for lstat(), getuid() and getgid().
19823
19824 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19825 instances of `u_char' with `uint8_t'.
19826
19827 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19828 [!HAVE_GETUID] (getuid): New function (stub).
19829 [!HAVE_GETGID] (getgid): Likewise.
19830 [!HAVE_LSTAT] (lstat): Likewise.
19831 [!S_IROTH] (S_IROTH): New macro (dummy).
19832 [!S_IRGRP] (S_IRGRP): Likewise.
19833
19834 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19835
19836 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19837 conditional expression).
19838
19839 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 Import from Gnulib.
19842
19843 * gnulib/fnmatch.c: New file.
19844 * gnulib/fnmatch.h: Likewise.
19845 * gnulib/fnmatch_loop.c: Likewise.
19846 * gnulib/getopt.c: Likewise.
19847 * gnulib/getopt.h: Likewise.
19848 * gnulib/getopt1.c: Likewise.
19849 * gnulib/getopt_int.h: Likewise.
19850 * gnulib/gettext.h: Likewise.
19851
19852 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19853
19854 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19855 * normal/handler.c (read_handler_list): Likewise.
19856
19857 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19858
19859 Misc cleanup.
19860
19861 * kern/command.c (grub_register_command_prio): Use
19862 grub_zalloc() instead of explicitly zeroing data.
19863 * kern/list.c: Include `<grub/mm.h>'.
19864 (grub_named_list_find): Replace `0' with `NULL'.
19865 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19866 (fs_module_list): Change type to `grub_named_list_t'. Update all
19867 users.
19868 * normal/dyncmd.c (read_command_list): Add space between function
19869 call and parenthesis.
19870 * normal/handler.c (read_handler_list): Likewise.
19871
19872 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19873
19874 * normal/auth.c (punishment_delay): Moved from here ...
19875 (grub_auth_strcmp): ... to here (inside function).
19876
19877 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19878
19879 * include/grub/list.h (struct grub_named_list): Remove `const'
19880 qualifier from `name'.
19881 (struct grub_prio_list): Likewise.
19882
19883 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19884
19885 * normal/auth.c: Include `<grub/time.h>'.
19886 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19887
19888 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * normal/auth.c (punishment_delay): New variable.
19891 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19892 (grub_auth_check_authentication): Punish failed login attempts with
19893 an incremental (2^N) delay.
19894
19895 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19896
19897 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19898 path with $(srcdir).
19899
19900 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19903
19904 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19905
19906 * util/i386/coreboot/grub-mkrescue.in: New file.
19907 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19908 variables.
19909
19910 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19911 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19912 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19913 requirements.
19914 * util/mkisofs/defaults.h: New file.
19915 * util/mkisofs/eltorito.c: Likewise.
19916 * util/mkisofs/exclude.h: Likewise.
19917 * util/mkisofs/fnmatch.c: Likewise.
19918 * util/mkisofs/getopt.c: Likewise.
19919 * util/mkisofs/getopt1.c: Likewise.
19920 * util/mkisofs/hash.c: Likewise.
19921 * util/mkisofs/include/fctldefs.h: Likewise.
19922 * util/mkisofs/include/mconfig.h: Likewise.
19923 * util/mkisofs/include/prototyp.h: Likewise.
19924 * util/mkisofs/include/statdefs.h: Likewise.
19925 * util/mkisofs/iso9660.h: Likewise.
19926 * util/mkisofs/joliet.c: Likewise.
19927 * util/mkisofs/match.c: Likewise.
19928 * util/mkisofs/match.h: Likewise.
19929 * util/mkisofs/mkisofs.c: Likewise.
19930 * util/mkisofs/mkisofs.h: Likewise.
19931 * util/mkisofs/multi.c: Likewise.
19932 * util/mkisofs/name.c: Likewise.
19933 * util/mkisofs/rock.c: Likewise.
19934 * util/mkisofs/tree.c: Likewise.
19935 * util/mkisofs/write.c: Likewise.
19936
19937 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19940 being insecure.
19941
19942 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19943
19944 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19945 `grub-mkimage' (and use $0 when possible).
19946
19947 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19948
19949 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19950 error message for excessively large memory map.
19951
19952 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19953
19954 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19955 executable bit.
19956
19957 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19958
19959 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19960 message for coreboot users.
19961
19962 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19963
19964 Fix build with GNU gold.
19965
19966 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19967 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19968 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19969 link addresses.
19970 * aclocal.m4: Likewise.
19971
19972 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
19973
19974 * configure.ac (AC_PREREQ): Bump to 2.59d.
19975 * INSTALL: Make it more clear when Autoconf and Ruby are
19976 needed and when to run `./autogen.sh'.
19977
19978 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19979
19980 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19981 OSes.
19982
19983 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19984
19985 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19986
19987 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19988
19989 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19990 giving it to GNU Mach.
19991
19992 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19993
19994 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19995 GNU partition number to get internal GRUB partition number.
19996
19997 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19998
19999 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20000 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20001
20002 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20005 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20006 case.
20007
20008 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20009
20010 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20011
20012 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20013
20014 Fix build problem.
20015
20016 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20017 `-isystem=$(srcdir)/include'.
20018
20019 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20020
20021 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20022 checked (grub-install doesn't currently rely on it).
20023
20024 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20025
20026 Revert SVN r2660.
20027
20028 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20029 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20030 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20031 * conf/i386-ieee1275.rmk: Likewise.
20032 * conf/i386-pc.rmk: Likewise.
20033 * conf/powerpc-ieee1275.rmk: Likewise.
20034 * conf/sparc64-ieee1275.rmk: Likewise.
20035 * conf/x86_64-efi.rmk: Likewise.
20036
20037 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20038
20039 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20040
20041 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * include/grub/misc.h: Stop checking for APPLE_CC.
20044
20045 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20046
20047 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20048 doesn't cause an infinite call loop.
20049
20050 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20051
20052 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20053 strings.
20054
20055 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20056
20057 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20058 variable.
20059 * Makefile.in: Likewise.
20060
20061 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20062
20063 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20064
20065 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20066
20067 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20068
20069 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20070
20071 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20072
20073 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20074
20075 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20076 from here ...
20077 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20078
20079 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20080
20081 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20082 in $(MAKEINFO) invocation. This makes it clear in output that
20083 errors are being ignored.
20084
20085 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20086
20087 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20088 from here ...
20089 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20090 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20091 * conf/i386-ieee1275.rmk: Likewise.
20092 * conf/i386-pc.rmk: Likewise.
20093 * conf/powerpc-ieee1275.rmk: Likewise.
20094 * conf/sparc64-ieee1275.rmk: Likewise.
20095 * conf/x86_64-efi.rmk: Likewise.
20096
20097 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20098
20099 * util/grub-editenv.c (main): If only a command is given, use
20100 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20101 (usage): FILENAME is now optional and has a default.
20102
20103 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20104
20105 Improve grub-mkconfig performance when there are several menu
20106 entries on a single filesystem.
20107
20108 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20109 prepare_grub_to_access_device.
20110 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20111 * util/grub.d/30_os-prober.in: Likewise.
20112
20113 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20114
20115 * util/grub.d/10_freebsd.in: Remove.
20116 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20117 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20118
20119 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20120
20121 * docs/grub.cfg: Fix example usage of *BSD loaders.
20122
20123 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20124
20125 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20126 grub_util_error() call.
20127
20128 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20129
20130 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20131 `reserved_first_sector' member.
20132 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20133 `reserved_first_sector' to 1.
20134 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20135 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20136 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20137 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20138 filesystems which begin at first sector.
20139 (options): New option --skip-fs-probe.
20140 (main): Handle --skip-fs-probe and pass it to setup().
20141
20142 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20143
20144 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20145 (memset): Fix function prototype.
20146
20147 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20148 2009-10-25 Vasily Averin <vvs@parallels.com>
20149
20150 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20151 `dirent.direntlen == 0'.
20152
20153 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20154
20155 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20156 `cpio'.
20157 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20158
20159 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20162 `__trampoline_setup' and `__ucmpdi2'.
20163 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20164 that libgcc provides.
20165
20166 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20169 * include/grub/sparc64/libgcc.h (memset): Likewise.
20170 * include/grub/misc.h (memset, memcmp): New function prototypes.
20171
20172 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20173
20174 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20175 `cpio'.
20176 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20177
20178 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20179
20180 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20181 * docs/grub.cfg: Compensate for recent change in multiboot
20182 loader (since 2009-08-14 it won't pass filename to payload).
20183 * util/grub.d/10_hurd.in: Likewise.
20184
20185 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20186
20187 * config.guess: Update to latest version from config git
20188 repository.
20189 * config.sub: Likewise.
20190
20191 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20192
20193 Fix build on sparc64.
20194
20195 * configure.ac: Perform checks for libgcc symbols before
20196 adding `-nostdlib' to LDFLAGS.
20197
20198 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 Let user specify OpenBSD root device.
20201
20202 * loader/i386/bsd.c (openbsd_root): New variable.
20203 (openbsd_opts): New option 'root'.
20204 (OPENBSD_ROOT_ARG): New macro.
20205 (grub_openbsd_boot): Use 'openbsd_root'.
20206 (grub_cmd_openbsd): Fill 'openbsd_root'.
20207
20208 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20209
20210 * NEWS: Misc adjustments.
20211
20212 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20215
20216 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 * configure.ac: Bump version to 1.97.
20219
20220 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20221
20222 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20223 -mno-3dnow on x86 architectures. Some toolchains enable these
20224 features by default, but they rely on registers that aren't enabled
20225 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20226
20227 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20228
20229 Make entry text a bit more readable.
20230
20231 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20232
20233 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20236
20237 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20240 operations.
20241
20242 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * configure.ac: Add missing dollar.
20245
20246 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20249
20250 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20251 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20252 exports.
20253 * include/grub/sparc64/libgcc.h: Likewise. Use
20254 preprocessor conditionals.
20255
20256 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20257
20258 * conf/common.rmk (grub-dumpbios): Remove rule.
20259 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20260 * util/grub-dumpbios.in: Remove file.
20261
20262 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20263
20264 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20265 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20266
20267 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20268 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20269 users.
20270
20271 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20272 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20273 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20274 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20275 users.
20276
20277 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20278
20279 * term/tparm.c: Switch to GPLv3.
20280
20281 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20282
20283 * include/grub/i386/cpuid.h: Add header protection.
20284
20285 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20286
20287 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20288
20289 * include/grub/i386/cpuid.h: New file.
20290 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20291 (has_longmode): Rename to ...
20292 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20293 `static' attribute.
20294 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20295 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20296 on a CPU that doesn't implement AMD64 instruction set.
20297
20298 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20299
20300 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20301 that version.texi is rebuilt on version number changes.
20302
20303 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20304
20305 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20306 Fixes bug #27602.
20307
20308 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20309
20310 * util/i386/pc/grub-install.in: Source
20311 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20312 that the --grub-probe option will work.
20313 * util/sparc64/ieee1275/grub-install.in: Likewise.
20314
20315 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20316
20317 * configure.ac: Bump version to 1.97~beta4.
20318
20319 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 Resync grub-mkdevicemap in x86_64-efi.
20322
20323 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20324 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20325 `util/devicemap.c'.
20326
20327 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20328
20329 * util/grub-editenv.c (create_envblk_file): Write new block with a
20330 .new suffix and then rename it into place, to ensure atomic
20331 creation.
20332
20333 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20334
20335 Do not automatically install headers.
20336
20337 * Makefile.in (include_DATA): Remove. Update all users.
20338
20339 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20340
20341 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20342 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20343
20344 * util/osdetect.lua: Remove.
20345 * script/lua/lauxlib.c: Likewise.
20346 * script/lua/ldebug.c: Likewise.
20347 * script/lua/grub_main.c: Likewise.
20348 * script/lua/lauxlib.h: Likewise.
20349 * script/lua/ldebug.h: Likewise.
20350 * script/lua/ltablib.c: Likewise.
20351 * script/lua/liolib.c: Likewise.
20352 * script/lua/lstrlib.c: Likewise.
20353 * script/lua/lualib.h: Likewise.
20354 * script/lua/ldo.c: Likewise.
20355 * script/lua/ldump.c: Likewise.
20356 * script/lua/ldo.h: Likewise.
20357 * script/lua/loslib.c: Likewise.
20358 * script/lua/lundump.c: Likewise.
20359 * script/lua/grub_lib.c: Likewise.
20360 * script/lua/ldblib.c: Likewise.
20361 * script/lua/lundump.h: Likewise.
20362 * script/lua/lmem.c: Likewise.
20363 * script/lua/grub_lib.h: Likewise.
20364 * script/lua/lmathlib.c: Likewise.
20365 * script/lua/lstate.c: Likewise.
20366 * script/lua/ltm.c: Likewise.
20367 * script/lua/lvm.c: Likewise.
20368 * script/lua/lmem.h: Likewise.
20369 * script/lua/lstate.h: Likewise.
20370 * script/lua/ltm.h: Likewise.
20371 * script/lua/ltable.c: Likewise.
20372 * script/lua/lvm.h: Likewise.
20373 * script/lua/llex.c: Likewise.
20374 * script/lua/lgc.c: Likewise.
20375 * script/lua/grub_lua.h: Likewise.
20376 * script/lua/loadlib.c: Likewise.
20377 * script/lua/lfunc.c: Likewise.
20378 * script/lua/lopcodes.c: Likewise.
20379 * script/lua/lparser.c: Likewise.
20380 * script/lua/ltable.h: Likewise.
20381 * script/lua/llex.h: Likewise.
20382 * script/lua/lgc.h: Likewise.
20383 * script/lua/lfunc.h: Likewise.
20384 * script/lua/lbaselib.c: Likewise.
20385 * script/lua/lopcodes.h: Likewise.
20386 * script/lua/lparser.h: Likewise.
20387 * script/lua/lzio.c: Likewise.
20388 * script/lua/linit.c: Likewise.
20389 * script/lua/lobject.c: Likewise.
20390 * script/lua/llimits.h: Likewise.
20391 * script/lua/lstring.c: Likewise.
20392 * script/lua/lzio.h: Likewise.
20393 * script/lua/lapi.c: Likewise.
20394 * script/lua/lcode.c: Likewise.
20395 * script/lua/lua.h: Likewise.
20396 * script/lua/lobject.h: Likewise.
20397 * script/lua/lstring.h: Likewise.
20398 * script/lua/lapi.h: Likewise.
20399 * script/lua/lcode.h: Likewise.
20400 * script/lua/luaconf.h: Likewise.
20401
20402 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20403
20404 * docs/grub.texi (Command-line and menu entry commands): Document
20405 date and echo commands.
20406
20407 2009-09-24 Pavel Roskin <proski@gnu.org>
20408
20409 * include/grub/kernel.h (struct grub_module_header): Remove
20410 `grub_module_header_types'. Make `type' unsigned. Make `size'
20411 32-bit on all platforms.
20412 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20413 8-bit field. Use grub_host_to_target32() for `size'.
20414 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20415 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20416 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20417
20418 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20419
20420 Fix "lost keypress" bug in at_keyboard.
20421
20422 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20423 Checks for readyness of input buffer (without flushing it).
20424 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20425 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20426
20427 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20428
20429 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20430 size check within GRUB_MACHINE_PCBIOS section.
20431
20432 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20433
20434 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20435 return value.
20436 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20437 KEYBOARD_ISREADY check.
20438 (grub_at_keyboard_checkkey): Rename to ...
20439 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20440 Remove gratuitous cast.
20441
20442 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20443
20444 * configure.ac: Call AC_PROG_MKDIR_P.
20445 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20446 version.texi in $(builddir) rather than $(srcdir).
20447 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20448 to makeinfo's @include search path.
20449
20450 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20451
20452 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20453
20454 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20455
20456 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20457 for `*.dpkg-new'.
20458
20459 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20460
20461 Build info documentation. Some code borrowed from Automake.
20462
20463 * configure.ac: Check for makeinfo.
20464 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20465 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20466 docs/version.texi.
20467 (MOSTLYCLEANFILES): Add vti.tmp.
20468 (docs/version.texi, docs/stamp-vti): Update automatically.
20469 (docs/grub.info): Build info documentation. Use --force and ignore
20470 errors for now.
20471 (all-local): Add $(INFOS).
20472 (install-local): Install info files.
20473 (uninstall): Uninstall info files.
20474 * docs/version.texi: Remove from revision control. This file is
20475 automatically generated on build now.
20476 * gendistlist.sh: Add `*.info'.
20477
20478 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20479
20480 * kern/term.c: Fix indentation.
20481
20482 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20483
20484 * util/hostdisk.c: Fix a comment.
20485
20486 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20487
20488 Fix regression introduced in r2539.
20489
20490 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20491 to 0xA1.
20492
20493 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20494
20495 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20496 os-prober. Under normal operation, it does not print anything to
20497 stderr; if it does, we need to debug it, and throwing away stderr
20498 makes that excessively difficult.
20499
20500 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20501
20502 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20503
20504 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20505
20506 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20507 AC_LANG_PROGRAM from autoconf.
20508 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20509 prototypes (fixes warning).
20510
20511 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20512 `--disable-werror' was used.
20513
20514 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20515
20516 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20517 uninitialized `lastaddr'.
20518
20519 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20522
20523 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20524
20525 * commands/test.c (get_fileinfo): Return immediately if
20526 grub_fs_probe fails.
20527
20528 2009-09-14 José Martínez <xosemp@gmail.com>
20529
20530 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20531
20532 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20533
20534 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20535 output.
20536
20537 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20538
20539 * configure.ac: Remove --enable-grub-pe2elf. Only build
20540 grub-pe2elf when needed by the build system itself.
20541 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20542
20543 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20544
20545 * configure.ac: Bump version to 1.97~beta3.
20546 * docs/version.texi: Likewise.
20547
20548 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20549
20550 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20551 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20552 from here ...
20553 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20554 (grub_linux_setup_video): ... to here (with some adjustments).
20555
20556 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20557
20558 Fix memory corruption issue (spotted by Colin Watson).
20559
20560 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20561 causing returned size to be stored in an incorrect memory location.
20562 Fix use of uninitialized value when storing the returned size.
20563
20564 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20565
20566 Change clean rules to properly remove files
20567
20568 * genmk.rb: add new clean rules
20569 * Makefile.in (clean): add the new targets
20570 (mostlyclean): likewise
20571
20572 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20573
20574 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20575 to grub_uint64_t.
20576 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20577 non-resident files.
20578
20579 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20580
20581 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20582 part of bug #27349.
20583
20584 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20585
20586 * util/grub-mkconfig.in: Make the created config mode 400 and
20587 print a warning if it fails.
20588
20589 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20590
20591 * util/grub.d/40_custom.in: Ask user to type custom entries below
20592 comment, rather than below 'exec tail' line.
20593
20594 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20595
20596 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20597 visible in grub.cfg.
20598
20599 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20600
20601 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20602 file.
20603
20604 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20605
20606 * docs/grub.cfg: Add an example menu entry for memtest86+.
20607
20608 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20609
20610 * config.guess: Update to latest version from config git.
20611 * config.sub: Likewise.
20612
20613 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20614
20615 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20616 unknown-command case. Fixes bug #27320.
20617
20618 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20619
20620 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20621 `help' if the command exists.
20622
20623 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20624
20625 * INSTALL: Require GCC 4.1.3 or later.
20626
20627 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20628
20629 * Makefile.in (RMKFILES): add i386-qemu.rmk
20630 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20631 $(srcdir)/stamp-h.in
20632
20633 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20634
20635 * util/grub-probe.c (probe): Comment out buggy codepath, which
20636 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20637 should be re-enabled after 1.97.
20638
20639 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20640
20641 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20642 find searches for.
20643
20644 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20645
20646 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20647 unnecessary calls to grub_error.
20648
20649 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * NEWS: Mention `keystatus' and Unicode fonts.
20652
20653 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20654
20655 * configure.ac: Bump version to 1.97~beta2.
20656 * docs/version.texi: Likewise.
20657
20658 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20659
20660 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20661 containing unwind information in some cases where it previously did
20662 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20663 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20664 discussion.
20665
20666 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20667
20668 Embedding loadenv module into grub-emu
20669
20670 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20671 commands/loadenv.c
20672 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20673 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20674 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20677 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20678
20679 2009-09-03 Magnus Granberg <zorry@ume.nu>
20680
20681 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20682 include -fPIE in the default specs.
20683 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20684 to TARGET_CFLAGS.
20685
20686 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
20687
20688 * INSTALL: Note that GNU Bison 2.3 or later is required.
20689
20690 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20691
20692 * kern/i386/pc/startup.S: Fix typo.
20693
20694 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20695
20696 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20697 according to GCS.
20698
20699 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20700
20701 * docs/grub.texi (Naming convention): Describe one-based partition
20702 numbering.
20703 (Device syntax): Likewise.
20704 (File name syntax): Likewise.
20705 (Block list syntax): Likewise.
20706 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20707 menu.lst.
20708 (File name syntax): Likewise.
20709 (Command-line and menu entry commands): Document acpi, blocklist,
20710 crc, export, insmod, keystatus, ls, set, and unset commands.
20711
20712 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20713
20714 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20715 to avoid implying that only one of --shift, --ctrl, or --alt may be
20716 used.
20717
20718 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20719
20720 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20721 rather than comparing against S_IFREG, which will almost never work.
20722
20723 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20726 (write_blocklists): Likewise.
20727
20728 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
20729
20730 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20731 argument to grub_printf.
20732
20733 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
20734
20735 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
20736 non GNU test.
20737
20738 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 * kern/file.c (grub_file_read): Spelling fix
20741
20742 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20745 loading of headers in some cases.
20746
20747 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20748
20749 * configure.ac: Bump version to 1.97~beta1.
20750 * docs/version.texi: Likewise.
20751
20752 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * include/grub/i386/xnu.h: Add license header.
20755 include grub/err.h explicitly.
20756
20757 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20758
20759 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20760 to `ufs' in the vfs.root.mountfrom kernel parameter.
20761
20762 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20763
20764 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20765
20766 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20767 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20768
20769 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20770 `ARRAY_SIZE' macro.
20771
20772 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * kern/file.c (grub_file_read): Check offset.
20775 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20776 * fs/jfs.c (grub_jfs_read_file): Likewise.
20777 * fs/ntfs.c (grub_ntfs_read): Likewise.
20778 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20779 * fs/minix.c (grub_minix_read_file): Correct offset check.
20780 * fs/ufs.c (grub_ufs_read_file): Likewise.
20781
20782 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20783
20784 * term/i386/pc/console.c (bios_data_area): Cast
20785 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20786
20787 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 1-bit optimised blitters.
20790
20791 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20792 prototype.
20793 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20794 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20795 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20796 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20797 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20798 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20799 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20800 function.
20801 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20802 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20803 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20804 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20805 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20806 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20807 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20808 when possible.
20809 * video/video.c (grub_video_get_blit_format): Return
20810 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20811
20812 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20813
20814 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20815 the first argument to grub_printf.
20816
20817 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20818 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20819
20820 Add `getkeystatus' terminal method. Add a new `keystatus' command
20821 to query it.
20822
20823 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20824 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20825 modifier key bitmasks.
20826 (struct grub_term_input): Add `getkeystatus' member.
20827 (grub_getkeystatus): Add prototype.
20828 * kern/term.c (grub_getkeystatus): New function.
20829
20830 * include/grub/i386/pc/memory.h
20831 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20832 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20833 Data Area layout.
20834 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20835 (grub_console_term_input): Set `getkeystatus' member.
20836 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20837 constants.
20838 (grub_usb_keyboard_getreport): Likewise.
20839 (grub_usb_keyboard_checkkey): Likewise.
20840 (grub_usb_keyboard_getkeystatus): New function.
20841 (grub_usb_keyboard_term): Set `getkeystatus' member.
20842
20843 * commands/keystatus.c: New file.
20844 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20845 (keystatus_mod_SOURCES): New variable.
20846 (keystatus_mod_CFLAGS): Likewise.
20847 (keystatus_mod_LDFLAGS): Likewise.
20848 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20849 commands/keystatus.c.
20850 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20851 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20852 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20855 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20856
20857 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 Split befs.mod and afs.mod into *_be.mod and *.mod
20860
20861 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20862 (grub_fstest_SOURCES): Likewise.
20863 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20864 (afs_be_mod_SOURCES): New variable.
20865 (afs_be_mod_CFLAGS): Likewise.
20866 (afs_be_mod_LDFLAGS): Likewise.
20867 (befs_be_mod_SOURCES): Likewise.
20868 (befs_be_mod_CFLAGS): Likewise.
20869 (befs_be_mod_LDFLAGS): Likewise.
20870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20871 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20872 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20873 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20874 (grub_emu_SOURCES): Likewise.
20875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20876 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20877 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20878 * fs/afs_be.c: New file.
20879 * fs/befs_be.c: New file.
20880 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20881 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20882 (U16): Replaced with ...
20883 (grub_afs_to_cpu16): ...this. All users updated.
20884 (U32): Replaced with ...
20885 (grub_afs_to_cpu32): ...this. All users updated.
20886 (U64): Replaced with ...
20887 (grub_afs_to_cpu64): ...this. All users updated.
20888 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20889 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
20890 (grub_afs_validate_sblock): Check only one endianness.
20891 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20892 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20893 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20894 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20895 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20896 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20897 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20898 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20899
20900 2009-08-26 Bean <bean123ch@gmail.com>
20901
20902 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20903 64-bit number.
20904 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20905 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20906 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20907
20908 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 NetBSD memory map support.
20911
20912 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20913 (grub_netbsd_btinfo_mmap_header): New structure.
20914 (grub_netbsd_btinfo_mmap_entry): Likewise.
20915 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20916
20917 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 Enable bsd.mod on coreboot.
20920
20921 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20922 (bsd_mod_SOURCES): New variable.
20923 (bsd_mod_CFLAGS): Likewise.
20924 (bsd_mod_LDFLAGS): Likewise.
20925 (bsd_mod_ASFLAGS): Likewise.
20926 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20927 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20928
20929 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 Cleanup NetBSD root support.
20932
20933 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20934 grub_bsd_get_device.
20935 Fix typo.
20936
20937 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
20938
20939 * util/grub.d/00_header.in: Move check for the video backend of
20940 gfxterm from here ...
20941 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20942 a suitable video backend.
20943
20944 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20945
20946 Fix breakage in grub-setup.
20947
20948 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20949 "msdos_partition_map".
20950
20951 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 Fix breakage in normal/auth.c.
20954
20955 * normal/auth.c (grub_iswordseparator): New function.
20956
20957 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 Authentication support.
20960
20961 * commands/password.c: New file.
20962 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20963 (password_mod_SOURCES): New variable.
20964 (password_mod_CFLAGS): Likewise.
20965 (password_mod_LDFLAGS): Likewise.
20966 (normal_mod_SOURCES): Add normal/auth.c.
20967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20968 normal/auth.c.
20969 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20971 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20973 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20974 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20975 * include/grub/auth.h: New file.
20976 * include/grub/err.h (grub_err_t): New enum value
20977 GRUB_ERR_ACCESS_DENIED.
20978 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20979 'users'.
20980 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20981 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20982 users updated.
20983 * normal/auth.c: New file.
20984 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20985 (grub_cmdline_run): Don't allow to go to command line without
20986 authentication.
20987 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20988 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20989 menuentry without superuser rights.
20990 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20991 user isn't a superuser.
20992
20993 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 Save space by inlining misc.c functions.
20996
20997 * kern/misc.c (grub_iswordseparator): Made static.
20998 * kern/misc.c (grub_strcat): Moved from here ...
20999 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21000 * kern/misc.c (grub_strncat): Moved from here ...
21001 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21002 * kern/misc.c (grub_strcasecmp): Moved from here ...
21003 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21004 * kern/misc.c (grub_strncasecmp): Moved from here ...
21005 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21006 * kern/misc.c (grub_isalpha): Moved from here ...
21007 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21008 * kern/misc.c (grub_isdigit): Moved from here ...
21009 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21010 * kern/misc.c (grub_isgraph): Moved from here ...
21011 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21012 * kern/misc.c (grub_tolower): Moved from here ...
21013 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21014
21015 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21016
21017 * script/sh/function.c (grub_script_function_find): Cut error message
21018 not to flood terminal.
21019 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21020 limit.
21021 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21022
21023 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21024
21025 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21026 `report' grub_uint8_t *.
21027 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21028 Use a 50-millisecond timeout rather than just repeating
21029 grub_usb_keyboard_getreport 50 times.
21030 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21031
21032 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21033
21034 Rename *_partition_map to part_*
21035
21036 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21037 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21038 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21039 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21040 All users updated.
21041 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21042 All users updated.
21043 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21044 * util/grub-probe.c (probe_partmap): Don't transform partition name
21045 to get module name.
21046
21047 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Fix OpenBSD and NetBSD support.
21050
21051 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21052 memory address conflict.
21053 (OPENBSD_MMAP_ACPI): New definition.
21054 (OPENBSD_MMAP_NVS): Likewise.
21055 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21056 and OPENBSD_MMAP_NVS.
21057 Add memory map terminator
21058 Explicit cast when calling grub_unix_real_boot.
21059 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21060
21061 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 Let user specify NetBSD root device.
21064
21065 * loader/i386/bsd.c (netbsd_root): New variable.
21066 (netbsd_opts): New option 'root'.
21067 (NETBSD_ROOT_ARG): New macro.
21068 (grub_netbsd_boot): Use 'netbsd_root'.
21069 (grub_bsd_unload): Free 'netbsd_root'.
21070 (grub_cmd_netbsd): Fill 'netbsd_root'.
21071
21072 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21073
21074 Support for 64-bit NetBSD.
21075
21076 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21077 point when booting non-FreeBSD.
21078
21079 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 Support --no-smp and --no-acpi for NetBSD.
21082
21083 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21084 (NETBSD_AB_NOACPI): Likewise.
21085 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21086 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21087
21088 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21091 errors.
21092 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21093 errors. Call grub_error when needed.
21094
21095 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * commands/search.c (search_fs): Try searching without autoload first.
21098 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21099 filesystem module explicitly for faster booting.
21100
21101 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21102
21103 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21104
21105 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21106
21107 * util/grub.d/30_os-prober.in: Disable os-prober if
21108 `GRUB_DISABLE_OS_PROBER' was set to true.
21109
21110 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21111
21112 * partmap/pc.c: Rename to ...
21113 * partmap/msdos.c: ... this. Update all users.
21114 (grub_pc_partition_map): Rename to ...
21115 (grub_msdos_partition_map): ... this. Update all users.
21116
21117 * parttool/pcpart.c: Rename to ...
21118 * parttool/msdospart.c: ... this. Update all users.
21119
21120 * include/grub/pc_partition.h: Rename to ...
21121 * include/grub/msdos_partition.h: ... this. Update all users.
21122 (grub_pc_partition_bsd_entry): Rename to ...
21123 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21124 (grub_pc_partition_disk_label): Rename to ...
21125 (grub_msdos_partition_disk_label): ... this. Update all users.
21126 (grub_pc_partition_entry): Rename to ...
21127 (grub_msdos_partition_entry): ... this. Update all users.
21128 (grub_pc_partition_mbr): Rename to ...
21129 (grub_msdos_partition_mbr): ... this. Update all users.
21130 (grub_pc_partition): Rename to ...
21131 (grub_msdos_partition): ... this. Update all users.
21132 (grub_pc_partition_is_empty): Rename to ...
21133 (grub_msdos_partition_is_empty): ... this. Update all users.
21134 (grub_pc_partition_is_extended): Rename to ...
21135 (grub_msdos_partition_is_extended): ... this. Update all users.
21136 (grub_pc_partition_is_bsd): Rename to ...
21137 (grub_msdos_partition_is_bsd): ... this. Update all users.
21138
21139 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21140 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21141 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21142 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21143 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21144 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21145 (gpt_mod_LDFLAGS): Rename to ...
21146 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21147 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21148 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21149 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21150 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21151 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21152 (part_gpt_mod_LDFLAGS): ... this.
21153 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21154 `pcpart.mod' to `msdospart.mod'.
21155 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21156 to ...
21157 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21158 (msdospart_mod_LDFLAGS): ... this.
21159
21160 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21163 (openbsd_opts): Likewise.
21164 (netbsd_opts): Likewise.
21165 (freebsd_flags): Added 0 terminator.
21166 (openbsd_flags): Likewise.
21167 (netbsd_flags): Likewise.
21168 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21169 (grub_cmd_freebsd): Transformed into extended command.
21170 (grub_cmd_openbsd): Likewise.
21171 (grub_cmd_netbsd): Likewise.
21172 (cmd_freebsd): Changed type to grub_extcmd_t.
21173 (cmd_openbsd): Likewise.
21174 (cmd_netbsd): Likewise.
21175 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21176 grub_cmd_openbsd as extended commands.
21177 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21178 cmd_netbsd and cmd_openbsd
21179
21180 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21183
21184 2009-08-21 Pavel Roskin <proski@gnu.org>
21185
21186 * Makefile.in (install-local): When checking if a file is in the
21187 build directory, use "test -e" to detect symlinks.
21188
21189 * Makefile.in (install-local): Remove all files in
21190 $(DESTDIR)$(pkglibdir) before installing new files there.
21191
21192 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21193
21194 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21195 grub-mkelfimage.
21196
21197 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21198
21199 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21200 explicitly specified by the user.
21201
21202 2009-08-18 Pavel Roskin <proski@gnu.org>
21203
21204 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21205 grub_uint8_t pointer for data.
21206 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21207 Likewise.
21208 * video/fb/fbutil.c: Remove unnecessary casts.
21209
21210 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21211
21212 VBE cleanup.
21213
21214 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21215 (grub_vbe_set_video_mode): Save active mode info
21216 only after setting the mode.
21217 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21218 second argument.
21219
21220 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21221
21222 Rename variables for clarity.
21223
21224 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21225 (active_vbe_mode_info): ... this. All users updated.
21226 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21227 All users updated.
21228 (initial_mode): Rename to ...
21229 (initial_vbe_mode): ... this. All users updated.
21230 (mode_in_use): Rename to ..
21231 (vbe_mode_in_use): ... this. All users updated.
21232 (mode_list): Rename to ..
21233 (vbe_mode_list): ... this. All users updated.
21234 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21235 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21236 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21237 'mode_list_size' to 'vbe_mode_list_size'.
21238 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21239 'best_mode_info' to 'best_vbe_mode_info' and
21240 'best_mode' to 'best_vbe_mode'
21241
21242 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21243
21244 Remove duplicate grub_video_fb_get_video_ptr.
21245
21246 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21247 (grub_video_fb_get_video_ptr): ... this.
21248 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21249 * video/fb/fbutil.c: Add comment about addressing.
21250 (get_data_ptr): Rename to ...
21251 (grub_video_fb_get_video_ptr): ... this. All users updated.
21252 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21253
21254 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21255
21256 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21257 grub_dprintf() that was just added.
21258
21259 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21260
21261 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21262 (DEFAULT_VIDEO_MODE): Remove macros.
21263 (grub_linux_boot): Remove assumption that Linux has FB support,
21264 and use "text" as default video mode.
21265
21266 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21269 grub_dprintf.
21270 * fs/fat.c (grub_fat_read_data): Likewise.
21271
21272 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21275 payload.
21276 (grub_module): Likewise.
21277
21278 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21281 mbi->cmdline but free playground.
21282
21283 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Handle group offset on UFS1.
21286
21287 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21288 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21289
21290 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 Split ufs.mod into ufs1.mod and ufs2.mod.
21293
21294 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21295 (grub_fstest_SOURCES): Likewise.
21296 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21297 (ufs_mod_SOURCES): Remove.
21298 (ufs_mod_CFLAGS): Likewise.
21299 (ufs_mod_LDFLAGS): Likewise.
21300 (ufs1_mod_SOURCES): New variable.
21301 (ufs1_mod_CFLAGS): Likewise.
21302 (ufs1_mod_LDFLAGS): Likewise.
21303 (ufs2_mod_SOURCES): New variable.
21304 (ufs2_mod_CFLAGS): Likewise.
21305 (ufs2_mod_LDFLAGS): Likewise.
21306 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21307 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21308 Likewise.
21309 (grub_emu_SOURCES): Likewise.
21310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21311 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21312 (grub_setup_SOURCES): Likewise.
21313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21314 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21315 (grub_setup_SOURCES): Likewise.
21316 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21317 Likewise.
21318 * fs/ufs2.c: New file.
21319 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21320
21321 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 Framebuffer split.
21324
21325 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21326 subsystem at the end.
21327 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21328 (video_fb_mod_SOURCES): New variable.
21329 (video_fb_mod_CFLAGS): Likewise.
21330 (video_fb_mod_LDFLAGS): Likewise.
21331 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21332 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21333 * video/i386/pc/vbeblit.c: Moved from here ...
21334 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21335 * video/i386/pc/vbefill.c: Moved from here ...
21336 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21337 * video/i386/pc/vbeutil.c: Moved from here ...
21338 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21339 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21340 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21341 * include/grub/i386/pc/vbefill.h: Moved from here ...
21342 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21343 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21344 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21345 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21346 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21347 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21348 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21349 (grub_video_adapter): Added 'get_info_and_fini'.
21350 (grub_video_get_info_and_fini): New prototype.
21351 (grub_video_set_mode): make modestring const char *.
21352 * loader/i386/linux.c (grub_linux_setup_video): Use
21353 grub_video_get_info_and_fini.
21354 (grub_linux_boot): Move modesetting just before booting.
21355 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21356 grub_video_get_info_and_fini.
21357 * video/i386/pc/vbe.c: Moved framebuffer part ...
21358 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21359 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21360 grub_video_fbstd_colors and grub_video_fb_set_palette.
21361 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21362 grub_video_fb_init.
21363 (grub_video_vbe_fini): Use grub_video_fb_fini.
21364 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21365 render_target and use grub_video_fb_set_active_render_target and
21366 grub_video_fb_set_palette.
21367 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21368 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21369 (grub_video_vbe_adapter): Use framebuffer.
21370 * video/video.c (grub_video_get_info_and_fini): New function.
21371 (grub_video_set_mode): Make modestring const char *.
21372 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21373 values are already initialised.
21374
21375 2009-08-14 Pavel Roskin <proski@gnu.org>
21376
21377 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21378 ABS and APPLE_CC.
21379 * boot/i386/pc/diskboot.S: Likewise.
21380 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21381 sectors allow compilation on MacOSX.
21382 * conf/i386-pc.rmk: Enable unconditional compilation of
21383 lnxboot.img.
21384
21385 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21386
21387 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21388 * util/grub.d/00_header.in: Enter interruptible sleep if
21389 GRUB_HIDDEN_TIMEOUT is set.
21390
21391 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21392
21393 * include/grub/symbol.h: Add the LOCAL macro.
21394 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21395 starting with "L_".
21396
21397 2009-08-13 Pavel Roskin <proski@gnu.org>
21398
21399 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21400 any modern compilers we support.
21401
21402 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21403 Use local labels starting with "L_" so that Apple assembler
21404 knows they are local.
21405
21406 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21407
21408 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21409 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21410 (bsd_kernel_types): ... this enum.
21411
21412 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21413 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21414 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21415
21416 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21417 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21418 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21419 messages.
21420
21421 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21422
21423 * util/grub-dumpdevtree: Moved from here ...
21424 * util/i386/efi/grub-dumpdevtree: ... to here.
21425 (hexify): New function. Converts a string to its hex version.
21426 Generate hex versions of "efi" and "device-properties" by calling
21427 hexify() on the ASCII strings rather than by hardcoding numbers.
21428
21429 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 * fs/jfs.c: Update copyright year.
21432
21433 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21434
21435 * util/grub.d/00_header.in: Fix a comment.
21436 * util/grub.d/10_linux.in: Likewise.
21437 * util/grub.d/10_windows.in: Likewise.
21438 * util/grub.d/10_hurd.in: Likewise.
21439
21440 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21441
21442 * util/grub-mkconfig.in: Allow the user to specify the used font
21443 with GRUB_FONT.
21444
21445 2009-08-08 Pavel Roskin <proski@gnu.org>
21446
21447 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21448 available, xfs.mod needs it now.
21449
21450 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21451 the "g" modifier in sed when the intention is to strip something
21452 once. This fixes comparison of kernels with multiple dashes.
21453
21454 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21455 on it. Add missing space before closing bracket. Fix
21456 misleading formatting.
21457
21458 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21459
21460 * docs/grub.texi: Major overhaul. Remove all sections that are
21461 specific to GRUB Legacy, or mostly composed of Legacy-specific
21462 information.
21463
21464 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21465
21466 * docs/version.texi: New file. Provides version information for
21467 grub.texi.
21468
21469 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21470
21471 * docs/grub.texi: Update CVS information to SVN.
21472 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21473
21474 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21475
21476 * util/grub-mkconfig.in: Remove a wrong `fi'.
21477
21478 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21479
21480 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21481 (grub_jfs_uuid): New function.
21482 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21483
21484 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21485
21486 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21487 of it to ...
21488 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21489 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21490
21491 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21492
21493 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21494 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21495 Update all users.
21496
21497 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21498 not just "vmlinu[zx]".
21499 Moved from here ...
21500 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21501 all users.
21502
21503 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21504 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21505 all users.
21506
21507 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21508
21509 * util/grub.d/10_freebsd.in: Use an absolute device path for
21510 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21511
21512 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21513
21514 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21515 handling of multiple abstraction modules.
21516
21517 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21518
21519 Fix a bug resulting in black screen when loading Linux using a
21520 packed video mode.
21521
21522 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21523 function.
21524
21525 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21526 (grub_vbe_bios_getset_dac_palette_width): New function.
21527 (grub_vbe_bios_get_dac_palette_width)
21528 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21529 grub_vbe_bios_getset_dac_palette_width()).
21530
21531 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21532 check for return status.
21533 (grub_vbe_get_video_mode_info): When getting information for a packed
21534 mode (<= 8 bpp), obtain DAC palette width using
21535 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21536 {red,green,blue}_mark_size.
21537
21538 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21539
21540 * commands/search.c (options): Fix help output to match actual code.
21541
21542 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21545 of homegrown code.
21546
21547 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21550 on XFS or ReiserFS.
21551
21552 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 Support Apple partition map with sector size different from 512 bytes.
21555
21556 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21557 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21558 and 'apart.partmap_size'.
21559
21560 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21561 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21562
21563 Fix cpuid command.
21564
21565 * commands/i386/cpuid.c (options): New variable.
21566 (grub_cmd_cpuid): Return real error.
21567 (GRUB_MOD_INIT(cpuid)): Declare options.
21568
21569 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21572 valid.
21573
21574 2009-07-31 Bean <bean123ch@gmail.com>
21575
21576 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21577 log2_inode.
21578 (grub_fshelp_node): Move inode field to the end.
21579 (grub_xfs_data): Remove inode field.
21580 (grub_xfs_inode_block): Calculate inode size using sblock.
21581 (grub_xfs_inode_offset): Likewise.
21582 (grub_xfs_read_inode): Calculate inode size using sblock.
21583 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21584 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21585 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21586 to match inode size.
21587 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21588 not accessible when data is null.
21589 (grub_xfs_open): Likewise.
21590
21591 2009-07-31 Bean <bean123ch@gmail.com>
21592
21593 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21594 Don't change pv->disk if it's already set.
21595
21596 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21597 (grub_raid_register): ... here.
21598 (grub_raid_rescan): Removed.
21599
21600 * include/grub/raid.h (grub_raid_rescan): Removed.
21601
21602 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21603 (fstest): Replace grub_raid_rescan with module fini function followed
21604 by init function.
21605
21606 * util/grub-probe.c: Add include file <grub/raid.h>.
21607 (probe_raid_level): New function.
21608 (probe): Detect abstraction by walking the disk device, support two
21609 level of abstraction (LVM on RAID) when detecting partition map.
21610
21611 2009-07-31 Pavel Roskin <proski@gnu.org>
21612
21613 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21614 to grub_zalloc(), it was erroneous.
21615 Reported by Bean <bean123ch@gmail.com>
21616
21617 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21620 embedding zone, not only the first one.
21621
21622 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21623
21624 * term/gfxterm.c (clear_char): New function.
21625 (grub_virtual_screen_setup): Use clear_char.
21626 (scroll_up): Likewise.
21627 (grub_virtual_screen_cls): Likewise.
21628
21629 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21630
21631 * util/deviceiter.c (get_acceleraid_disk_name): New static
21632 function.
21633 (grub_util_iterate_devices): Handle Accelraid devices.
21634 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21635
21636 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21637
21638 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21639 separator for the suggested gfxpayload string (';' collides with the
21640 parser and needs escaping).
21641
21642 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21645 Clear direction flag before jumping to OS.
21646 (grub_multiboot2_real_boot): Likewise.
21647
21648 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21649
21650 * util/i386/pc/grub-install: Fix parsing of --disk-module
21651 option.
21652
21653 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21654
21655 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21656 when embedding.
21657
21658 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
21659
21660 * util/grub-mkconfig.in (package_version): New variable.
21661 Use it do display the version.
21662
21663 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21664
21665 * kern/file.c (grub_file_open): Revert to previous check with
21666 grub_errno.
21667
21668 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21669
21670 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21671 from help line. It's out of sync with code.
21672
21673 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21676 entries on failed boot.
21677
21678 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * kern/file.c (grub_file_open): Fix an error check.
21681
21682 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21685 partition map couldn't be identified.
21686
21687 2009-07-23 Pavel Roskin <proski@gnu.org>
21688
21689 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21690 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21691 case of little endian words becomes just an optimization.
21692 Respect const modifier.
21693 (md5_final): Use code that doesn't depend on endianness.
21694
21695 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21696 to avoid loss of upper bits if align is unsigned and shorter
21697 than addr.
21698
21699 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 UUID support for UFS
21702
21703 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21704 (grub_ufs_uuid): New function.
21705 (grub_ufs_fs): add .uuid
21706
21707 2009-07-21 Pavel Roskin <proski@gnu.org>
21708
21709 * kern/dl.c (grub_dl_check_header): Make static.
21710
21711 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
21712
21713 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21714 add drivemap for Vista. It breaks Windows 7.
21715
21716 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21719 128 bytes
21720
21721 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21722
21723 Add BFS support
21724
21725 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21726 (grub_fstest_SOURCES): Likewise.
21727 (pkglib_MODULES): Add befs.mod.
21728 (befs_mod_SOURCES): New variable.
21729 (befs_mod_CFLAGS): Likewise.
21730 (befs_mod_LDFLAGS): Likewise.
21731 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21733 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21734 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21735 (grub_setup_SOURCES): Likewise.
21736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21737 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21738 (grub_setup_SOURCES): Likewise.
21739 * fs/befs.c: New file.
21740 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21741 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21742 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21743 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21744 (B_KEY_INDEX_ALIGN): New declaration.
21745 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21746 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21747 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21748 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21749 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21750 (grub_afs_mount) [MODE_BFS]: Likewise.
21751 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21752 (grub_afs_fs): Use GRUB_AFS_FSNAME
21753 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21754 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21755 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21756 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21757
21758 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21759
21760 * util/getroot.c (find_root_device): Add support for MacOSX.
21761 * util/hostdisk.c: Likewise.
21762
21763 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21764
21765 * font/font.c (find_glyph): Check whether a font is present to avoid
21766 segmentation fault.
21767
21768 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
21769
21770 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21771
21772 2009-07-20 Pavel Roskin <proski@gnu.org>
21773
21774 * configure.ac: Trim excessively wordy excuses.
21775
21776 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 Add symlink, mtime and label support to AtheFS.
21779
21780 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21781 (grub_afs_iterate_dir): Handle symlinks.
21782 (grub_afs_open): Use grub_afs_read_symlink.
21783 (grub_afs_dir): Likewise.
21784 Pass mtime.
21785 (grub_afs_label): New function.
21786 (grub_afs_fs): Add grub_afs_label.
21787 (grub_afs_read_symlink): New function.
21788
21789 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 Fix AtheFS support.
21792
21793 * fs/afs.c: Fix comments style.
21794 (grub_afs_blockrun): Declare as packed.
21795 (grub_afs_datastream): Likewise.
21796 (grub_afs_bnode): Likewise.
21797 (grub_afs_btree): Likewise.
21798 (grub_afs_sblock): Likewise.
21799 Declare `name' as char.
21800 (grub_afs_inode): Declare as packed.
21801 Change void *vnode to grub_uint32_t unused.
21802 (grub_afs_iterate_dir): Check that key_size is positive.
21803 (grub_afs_mount): Don't read superblock twice.
21804 (grub_afs_dir): Don't free node in case of error,
21805 grub_fshelp_find_file already handles this.
21806 (grub_afs_open): Likewise.
21807
21808 2009-07-19 Pavel Roskin <proski@gnu.org>
21809
21810 * Makefile.in: Remove LIBLZO and enable_lzo.
21811 * conf/i386-pc.rmk: Remove lzo support.
21812 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21813 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21814 support.
21815 * kern/i386/pc/lzo1x.S: Remove.
21816 * kern/i386/pc/startup.S: Remove lzo support.
21817 * util/i386/pc/grub-mkimage.c: Likewise.
21818
21819 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21822 * fs/xfs.c (grub_xfs_dir): Likewise.
21823 * fs/afs.c (grub_afs_dir): Likewise.
21824 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21825 (grub_iso9660_open): Likewise.
21826 * fs/jfs.c (grub_jfs_open): Likewise.
21827 * fs/ext2.c (grub_ext2_dir): Likewise.
21828 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21829 * script/sh/lexer.c (grub_script_yylex): Likewise.
21830
21831 2009-07-16 Pavel Roskin <proski@gnu.org>
21832
21833 * configure.ac: Never add "-c" to CFLAGS.
21834
21835 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21836
21837 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21838 grub_cv_cc_efiemu should be used.
21839
21840 * configure.ac: Typo fixes.
21841
21842 * kern/mm.c (grub_zalloc): New function.
21843 (grub_debug_zalloc): Likewise.
21844 * include/grub/mm.h: Declare grub_zalloc() and
21845 grub_debug_zalloc().
21846 * util/misc.c (grub_zalloc): New function.
21847 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21848 instead of grub_malloc(), remove unneeded initializations.
21849 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21850 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21851 * commands/parttool.c (grub_cmd_parttool): Likewise.
21852 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21853 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21854 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21855 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21856 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21857 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21858 (grub_cmd_efiemu_pnvram): Likewise.
21859 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21860 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21861 (grub_iso9660_iterate_dir): Likewise.
21862 * fs/jfs.c (grub_jfs_opendir): Likewise.
21863 * fs/ntfs.c (list_file): Likewise.
21864 (grub_ntfs_mount): Likewise.
21865 * kern/disk.c (grub_disk_open): Likewise.
21866 * kern/dl.c (grub_dl_load_core): Likewise.
21867 * kern/elf.c (grub_elf_file): Likewise.
21868 * kern/env.c (grub_env_context_open): Likewise.
21869 (grub_env_set): Likewise.
21870 (grub_env_set_data_slot): Likewise.
21871 * kern/file.c (grub_file_open): Likewise.
21872 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21873 * loader/i386/multiboot.c (grub_module): Likewise.
21874 * loader/xnu.c (grub_xnu_create_key): Likewise.
21875 (grub_xnu_create_value): Likewise.
21876 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21877 (read_config_file): Likewise.
21878 * normal/menu_entry.c (make_screen): Likewise.
21879 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21880 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21881 * script/sh/script.c (grub_script_parse): Likewise.
21882 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21883 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21884 * video/readers/png.c (grub_png_output_byte): Likewise.
21885 (grub_video_reader_png): Likewise.
21886
21887 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 Enable all targets that can be built by default
21890
21891 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
21892 grub-mkfont and grub-fstest if they can be built
21893
21894 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 Fix hang and segmentation fault in grub-emu-usb
21897
21898 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21899 * util/usb.c (grub_libusb_devices): likewise
21900 (grub_libusb_init): rename to ...
21901 (GRUB_MOD_INIT (libusb)):...this
21902 (grub_libusb_fini): rename to ..
21903 (GRUB_MOD_FINI (libusb)):...this
21904 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21905 * include/grub/disk.h (grub_raid_init): removed, it's useless
21906 (grub_raid_fini): likewise
21907 (grub_lvm_init): likewise
21908 (grub_lvm_fini): likewise
21909 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21910 by grub_init_all
21911
21912 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 Fix libusb
21915
21916 * Makefile.in (LIBUSB): new macro
21917 * genmk.rb (Utility/print_tail): new method
21918 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21919 (top level): call util.print_tail at the end.
21920
21921 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21922
21923 Make FreeBSD accept zpool.cache
21924
21925 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21926 type is /boot/zfs/zpool.cache
21927
21928 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 Fix 64-bit efiemu
21931
21932 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21933 correct wrong typedef
21934 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21935
21936 2009-07-15 Pavel Roskin <proski@gnu.org>
21937
21938 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21939 * kern/disk.c (struct grub_disk_cache): Likewise.
21940
21941 * commands/probe.c (options): Typo fix.
21942
21943 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21944 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21945 accordingly.
21946 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21947
21948 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21949 the end of "Error" to make the message more readable.
21950
21951 * boot/i386/pc/boot.S (kernel_segment): Remove.
21952 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21953 for destination.
21954
21955 * boot/i386/pc/boot.S (boot_version): Remove.
21956 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21957 Remove.
21958
21959 * include/grub/i386/pc/boot.h: Sort all offsets.
21960 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21961 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21962 * boot/i386/pc/boot.S: Assert location of every offset listed in
21963 include/grub/i386/pc/boot.h.
21964
21965 2009-07-13 Pavel Roskin <proski@gnu.org>
21966
21967 * include/grub/i386/coreboot/machine.h: Rename
21968 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21969 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21970 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21971
21972 * kern/dl.c: Force native word size to suppress warnings when
21973 compiling grub-emu.
21974
21975 * kern/device.c (grub_device_iterate): Change struct part_ent to
21976 hold the name, not a pointer to it. Use one grub_malloc() per
21977 partition, not two. Free partition_name if grub_malloc() fails.
21978 Set ents to NULL only before grub_partition_iterate() is called.
21979
21980 2009-07-11 Bean <bean123ch@gmail.com>
21981
21982 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21983 childname.
21984
21985 2009-07-10 Bean <bean123ch@gmail.com>
21986 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21987
21988 * kern/ieee1275/openfw.c (grub_children_iterate)
21989 (grub_devalias_iterate): Fix size evaluation for property or path
21990 strings, which was broken since r2132.
21991
21992 2009-07-07 Pavel Roskin <proski@gnu.org>
21993
21994 * commands/search.c (search_file): Merge into ...
21995 (search_fs): ... this. Accept search type as argument.
21996 (grub_cmd_search): Pass search type to search_fs().
21997
21998 * include/grub/util/console.h: New file.
21999 * util/console.c: Use it instead of grub/machine/console.h.
22000 * util/grub-emu.c: Likewise.
22001
22002 * lib/arg.c (find_long_option): Remove.
22003 (find_long): Add `len' argument, make `s' const char *.
22004 (grub_arg_parse): Parse long options in place, not in a
22005 temporary buffer.
22006
22007 2009-07-06 Pavel Roskin <proski@gnu.org>
22008
22009 * commands/search.c (search_fs): Fix potential NULL pointer
22010 dereference.
22011
22012 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22013 function pointer.
22014
22015 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22016
22017 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22018 comparison.
22019
22020 2009-07-05 Pavel Roskin <proski@gnu.org>
22021
22022 * include/grub/i386/linux.h (struct linux_kernel_params):
22023 Restore padding3, it's still needed.
22024
22025 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22026 FreeBSD.
22027 * util/osdetect.lua: Likewise.
22028
22029 2009-07-05 Bean <bean123ch@gmail.com>
22030
22031 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22032
22033 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22034 (grub_lua_getenv): Likewise.
22035 (grub_lua_setenv): Likewise.
22036 (save_errno): New function.
22037 (push_result): Likewise.
22038 (grub_lua_enum_device): Likewise.
22039 (grub_lua_enum_file): Likewise.
22040 (grub_lua_file_open): Likewise.
22041 (grub_lua_file_close): Likewise.
22042 (grub_lua_file_seek): Likewise.
22043 (grub_lua_file_read): Likewise.
22044 (grub_lua_file_getline): Likewise.
22045 (grub_lua_file_getsize): Likewise.
22046 (grub_lua_file_getpos): Likewise.
22047 (grub_lua_file_eof): Likewise.
22048 (grub_lua_file_exist): Likewise.
22049 (grub_lua_add_menu): Likewise.
22050
22051 * script/lua/grub_lua.h (isupper): New inline function.
22052 (islower): Likewise.
22053 (ispunct): Likewise.
22054 (isxdigit): Likewise.
22055 (strcspn): Change to normal function.
22056 (strpbkr): New function declaration.
22057 (memchr): Likewise.
22058
22059 * script/lua/grub_main.c (scan_str): New function.
22060 (strcspn): Likewise.
22061 (strpbrk): Likewise.
22062 (memchr): Likewise.
22063
22064 * script/lua/linit.c (lualibs): Enable the string library.
22065
22066 * util/osdetect.lua: New file.
22067
22068 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22069
22070 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22071 `capabilities' member.
22072
22073 2009-07-02 Pavel Roskin <proski@gnu.org>
22074
22075 * genparttoollist.sh: Add missing newline at the end.
22076
22077 2009-07-01 Pavel Roskin <proski@gnu.org>
22078
22079 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22080
22081 * util/hostdisk.c (open_device): Remove `const' from
22082 `sysctl_size', as sysctlbyname() can change it (in this case it
22083 doesn't actually happen).
22084
22085 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22086 using signed long int constants.
22087
22088 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22089 constant to avoid a warning on FreeBSD.
22090
22091 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22092 where it's needed.
22093
22094 * Makefile.in: Install include/grub/machine symlink.
22095
22096 * Makefile.in: When installing symlinks, use "cp -fR", which
22097 works on FreeBSD and MacOSX.
22098 From Yves Blusseau <cl7m42e02@sneakemail.com>
22099
22100 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22101 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22102
22103 * util/misc.c: Move grub_reboot() and grub_halt() ...
22104 * util/grub-emu.c: ... here. Make main_env static.
22105 * include/grub/util/misc.h: Remove main_env.
22106
22107 * kern/mm.c: Use correct format to print size_t.
22108
22109 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22110 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22111 * kern/powerpc/dl.c: Likewise.
22112 * kern/sparc64/dl.c: Likewise.
22113 * kern/x86_64/dl.c: Likewise.
22114
22115 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22116
22117 Fix grub-emu build on sparc64-ieee1275.
22118
22119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22121
22122 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22123
22124 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22125 (grub_reboot, grub_halt): New functions.
22126
22127 * util/i386/pc/misc.c: Delete. Update all users.
22128 * util/sparc64/ieee1275/misc.c: Likewise.
22129 * util/powerpc/ieee1275/misc.c: Likewise.
22130
22131 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22132
22133 * conf/i386.rmk (setjmp_mod_SOURCES)
22134 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22135 * conf/common.rmk (setjmp_mod_SOURCES)
22136 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22137 to use $(target_cpu).
22138 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22139 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22140 * conf/powerpc-ieee1275.rmk: Likewise.
22141 * conf/sparc64-ieee1275.rmk: Likewise.
22142
22143 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22144 $(target_cpu) for kern/$(target_cpu)/dl.c.
22145 * conf/i386-efi.rmk: Likewise.
22146 * conf/i386-ieee1275.rmk: Likewise.
22147 * conf/x86_64-efi.rmk: Likewise.
22148 * conf/i386-coreboot.rmk: Likewise.
22149 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22150 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22151 kern/$(target_cpu)/cache.S.
22152 * conf/sparc64-ieee1275.rmk: Likewise.
22153
22154 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22155
22156 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22157 type to `grub_uint8_t', and adjust `padding9' accordingly.
22158
22159 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22160
22161 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22162
22163 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22164 assembly in final jump, using register constraints.
22165
22166 (grub_linux_boot): For text mode, initialize `have_vga' using
22167 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22168
22169 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22170 right before the final jump.
22171
22172 Set `video_mode' to 0x3.
22173
22174 Document initialization of `video_page', `video_mode' and
22175 `video_ega_bx'.
22176
22177 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22178
22179 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22180 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22181 and set GRUB_LINUX_FLAG_QUIET appropriately.
22182
22183 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22184
22185 Fix build on Debian / sparc.
22186
22187 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22188
22189 2009-06-28 Pavel Roskin <proski@gnu.org>
22190
22191 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22192 fix a warning.
22193
22194 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22195
22196 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22197
22198 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22199 `err'.
22200
22201 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22202
22203 Revert r2338.
22204
22205 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22206 file can't be opened. grub_file_open() is already supposed to set
22207 grub_errno / grub_errmsg appropriately.
22208 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22209
22210 2009-06-27 Pavel Roskin <proski@gnu.org>
22211 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22212
22213 * include/grub/dl.h: Include grub/elf.h.
22214 (struct grub_dl): Add symtab field.
22215 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22216 GRUB_MODULES_MACHINE_READONLY.
22217 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22218 of the header for read-only modules.
22219 (grub_dl_unload): Free mod->symtab for read-only modules.
22220 * kern/i386/dl.c: Use mod->symtab.
22221 * kern/powerpc/dl.c: Likewise.
22222 * kern/sparc64/dl.c: Likewise.
22223 * kern/x86_64/dl.c: Likewise.
22224
22225 * conf/i386-qemu.rmk: New file.
22226 * kern/i386/qemu/startup.S: Likewise.
22227 * kern/i386/qemu/mmap.c: Likewise.
22228 * boot/i386/qemu/boot.S: Likewise.
22229 * include/grub/i386/qemu/time.h: Likewise.
22230 * include/grub/i386/qemu/serial.h: Likewise.
22231 * include/grub/i386/qemu/kernel.h: Likewise.
22232 * include/grub/i386/qemu/console.h: Likewise.
22233 * include/grub/i386/qemu/boot.h: Likewise.
22234 * include/grub/i386/qemu/init.h: Likewise.
22235 * include/grub/i386/qemu/machine.h: Likewise.
22236 * include/grub/i386/qemu/loader.h: Likewise.
22237 * include/grub/i386/qemu/memory.h: Likewise.
22238
22239 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22240 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22241 [qemu] (pkglib_IMAGES): Add `boot.img'.
22242 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22243 [qemu] (boot_img_FORMAT): New variables.
22244 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22245 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22246 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22247 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22248 [qemu] (kernel_img_FORMAT): New variables.
22249
22250 * configure.ac: Recognise `i386-qemu'.
22251
22252 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22253 (for no compression).
22254 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22255 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22256 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22257 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22258 ifdefs).
22259
22260 2009-06-27 Pavel Roskin <proski@gnu.org>
22261
22262 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22263 read.
22264 * efiemu/prepare32.c: Likewise.
22265 * efiemu/prepare64.c: Likewise.
22266
22267 2009-06-26 Pavel Roskin <proski@gnu.org>
22268
22269 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22270 * include/grub/elf.h: Define symbols without "32" or "64" based
22271 on GRUB_TARGET_WORDSIZE.
22272 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22273 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22274 ELF definitions.
22275 * efiemu/loadcore64.c: Likewise.
22276 * loader/i386/bsd32.c: Likewise.
22277 * loader/i386/bsd64.c: Likewise.
22278 * kern/dl.c: Remove own ELF definitions.
22279 * util/i386/efi/grub-mkimage.c: Likewise.
22280
22281 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22282
22283 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22284 segment 0x0 unconditionally, because the reference generated by
22285 GAS is an absolute address.
22286
22287 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22288
22289 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22290 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22291
22292 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22293
22294 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22295 indexes. Check for -f explicitly.
22296 (search_file): Improve error message.
22297 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22298
22299 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22300
22301 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22302 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22303
22304 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22305
22306 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22307 * conf/i386-ieee1275.rmk: Likewise.
22308 * conf/i386-coreboot.rmk: Likewise.
22309
22310 * kern/i386/pc/startup.S (grub_stop): Remove function.
22311 * kern/i386/ieee1275/startup.S: Likewise.
22312 * kern/i386/coreboot/startup.S: Likewise.
22313 * kern/i386/misc.S (grub_stop): New function.
22314
22315 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22316
22317 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22318 * kern/i386/realmode.S (real_to_prot): ... to here.
22319
22320 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22321
22322 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22323 with `kernel.img'.
22324 (kernel_elf_SOURCES): Rename to ...
22325 (kernel_img_SOURCES): ... this.
22326 (kernel_elf_HEADERS): Rename to ...
22327 (kernel_img_HEADERS): ... this. Update all users.
22328 (kernel_elf_ASFLAGS): Rename to ...
22329 (kernel_img_ASFLAGS): ... this.
22330 (kernel_elf_CFLAGS): Rename to ...
22331 (kernel_img_CFLAGS): ... this.
22332 (kernel_elf_LDFLAGS): Rename to ...
22333 (kernel_img_LDFLAGS): ... this.
22334 * conf/i386-coreboot.rmk: Likewise.
22335 * conf/powerpc-ieee1275.rmk: Likewise.
22336
22337 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22338 with "kernel.img".
22339
22340 2009-06-21 Pavel Roskin <proski@gnu.org>
22341
22342 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22343 to match nested functions.
22344 * loader/sparc64/ieee1275/linux.c: Likewise.
22345
22346 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22347
22348 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22349
22350 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22351 all i386 platforms.
22352
22353 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22354
22355 Fix asm file handling on ELF, and remove workarounds.
22356
22357 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22358 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22359 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22360 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22361
22362 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 Load BSD ELF modules
22365
22366 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22367 and loader/i386/bsd64.c
22368 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22369 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22370 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22371 (grub_freebsd_load_elfmodule32): New declaration
22372 (grub_freebsd_load_elfmoduleobj64): Likewise
22373 (grub_freebsd_load_elf_meta32): Likewise
22374 (grub_freebsd_load_elf_meta64): Likewise
22375 (grub_freebsd_add_meta): Likewise
22376 (grub_freebsd_add_meta_module): Likewise
22377 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22378 (grub_freebsd_add_meta_module): Likewise and move module-specific
22379 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22380 (grub_cmd_freebsd): Add elf-kernel specific parts
22381 based on grub_freebsd_add_meta_module
22382 (grub_cmd_freebsd_module): Add type parsing moved from
22383 grub_freebsd_add_meta_module
22384 (grub_cmd_freebsd_module_elf): New function
22385 (cmd_freebsd_module_elf): New variable
22386 (GRUB_MOD_INIT): Register freebsd_module_elf
22387 * loader/i386/bsd32.c: New file
22388 * loader/i386/bsd64.c: Likewise
22389 * loader/i386/bsdXX.c: Likewise
22390 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22391 (grub_elf64_load): Likewise
22392 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22393 All users updated
22394 (grub_elf64_load_hook_t): Likewise
22395
22396 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22397
22398 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22399 variable.
22400 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22401 don't write a menu entry for recovery mode.
22402
22403 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22404
22405 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22406 after it's no longer needed.
22407
22408 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * include/grub/i386/loader.h (grub_linux_prot_size)
22411 (grub_linux_tmp_addr, grub_linux_real_addr)
22412 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22413 GRUB_MACHINE_PCBIOS.
22414 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22415 common grub_util_info() call to ...
22416 (generate_image): ... here.
22417 Fix use of uninitialized memory, comparison of signed with
22418 unsigned integers and memory leak.
22419 Remove bogus module address message.
22420
22421 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22424 grub_raid_register
22425 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22426
22427 2009-06-19 Pavel Roskin <proski@gnu.org>
22428
22429 * configure.ac: Remove stray AC_MSG_CHECKING.
22430
22431 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22434
22435 2009-06-18 Pavel Roskin <proski@gnu.org>
22436
22437 * conf/common.rmk: Add fs_file.mod.
22438 * disk/fs_file.c: New file.
22439 * include/grub/disk.h (enum grub_disk_dev_id): Add
22440 GRUB_DISK_DEVICE_FILE_ID.
22441
22442 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22443
22444 Fix build with Apple's toolchain. Part 2
22445
22446 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22447 a fake start
22448
22449 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 Fix build with Apple's toolchain. Part 1
22452
22453 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22454 for long calls
22455 * configure.ac: remove a leftover AC_MSG_RESULT
22456 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22457 Apple's toolchain
22458
22459 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 Fix warnings
22462
22463 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22464 (decomp_block): initialize ch
22465 use grub_memcpy instead of memcpy
22466
22467 2009-06-17 Pavel Roskin <proski@gnu.org>
22468
22469 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22470 version, use declarations needed to use vga_text as the startup
22471 console.
22472
22473 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22474 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22475 the kernel.
22476 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22477 and grub_at_keyboard_fini(), it's done on module load and
22478 unload.
22479
22480 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22481
22482 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22483 file can't be found.
22484 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22485
22486 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 Fix newline handling
22489
22490 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22491 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22492 (grub_script_yylex): don't segfault on unterminated script
22493 newline terminates command and variable
22494
22495 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 avoid double grub_adjust_range call. Bug reported by David Simner
22498
22499 * kern/disk.c (grub_disk_write): change to raw disk access before
22500 calling disk_read
22501
22502 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22503
22504 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22505 spaces, for the benefit of help2man.
22506 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22507
22508 2009-06-16 Pavel Roskin <proski@gnu.org>
22509
22510 * kern/i386/halt.c: Include grub/machine/init.h.
22511 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22512
22513 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22514
22515 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22516 drivemap menuentry.
22517
22518 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22519
22520 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22521 `echo' command.
22522
22523 2009-06-16 Pavel Roskin <proski@gnu.org>
22524
22525 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22526 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22527 save %dx, we only need %dl and we never change it.
22528 * boot/i386/pc/cdboot.S: Don't set the root drive.
22529 * boot/i386/pc/pxeboot.S: Likewise.
22530 * include/grub/i386/pc/boot.h: Remove
22531 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22532 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22533 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22534 * kern/i386/pc/init.c (make_install_device): Remove references
22535 to grub_root_drive.
22536 * kern/i386/pc/startup.S: Likewise.
22537 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22538
22539 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 xnu_uuid command
22542
22543 * commands/xnu_uuid.c: new file
22544 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22545 (xnu_uuid_mod_SOURCES): new variable
22546 (xnu_uuid_mod_CFLAGS): likewise
22547 (xnu_uuid_mod_LDFLAGS): likewise
22548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22549 * conf/i386-ieee1275.rmk: likewise
22550 * conf/i386-pc.rmk: likewise
22551 * conf/powerpc-ieee1275.rmk: likewise
22552 * conf/sparc64-ieee1275.rmk: likewise
22553 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22554
22555 2009-06-16 Pavel Roskin <proski@gnu.org>
22556
22557 * configure.ac: Avoid '==' in test command, it's not portable.
22558
22559 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 Probe command
22562
22563 * commands/probe.c: new file
22564 * conf/common.rmk (pkglib_MODULES): add probe.mod
22565 (probe_mod_SOURCES): new variable
22566 (probe_mod_CFLAGS): likewise
22567 (probe_mod_LDFLAGS): likewise
22568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22569 * conf/i386-ieee1275.rmk: likewise
22570 * conf/i386-pc.rmk: likewise
22571 * conf/powerpc-ieee1275.rmk: likewise
22572 * conf/sparc64-ieee1275.rmk: likewise
22573
22574 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22575
22576 Fix handling of string like \"hello\" and "a
22577 b"
22578
22579 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22580 (grub_script_yylex): fix parsing of quoting, escaping and newline
22581
22582 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22585 handling
22586
22587 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22588
22589 * util/grub-mkconfig.in: Fix parsing of --output option.
22590
22591 2009-06-12 Pavel Roskin <proski@gnu.org>
22592
22593 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22594 genmk.rb don't need to be generated or installed.
22595
22596 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 * commands/i386/pc/drivemap_int13h.S: add more comments
22599
22600 2009-06-11 Pavel Roskin <proski@gnu.org>
22601
22602 * Makefile.in (uninstall): Uninstall manuals.
22603
22604 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22605 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22606 and update-grub_lib in two places.
22607 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22608
22609 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22610 a compiler warning.
22611
22612 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22613 `entry_lo' to fix variable shadowing.
22614
22615 2009-06-11 Christian Franke <franke@computer.org>
22616
22617 * kern/misc.c (__enable_execute_stack): Add missing return type
22618 to prevent gcc warning.
22619
22620 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22621
22622 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22623
22624 2009-06-11 Pavel Roskin <proski@gnu.org>
22625
22626 * Makefile.in: Don't rely on any scripts being executable.
22627 Always use $(SHELL) to run shell scripts.
22628
22629 * configure.ac: Always define ___main if using -nostdlib. This
22630 fixes tests on Cygwin.
22631
22632 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22633
22634 UDF fix
22635
22636 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22637 is in bytes and not in blocks
22638
22639 2009-06-11 Pavel Roskin <proski@gnu.org>
22640
22641 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22642 warning.
22643
22644 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22645
22646 * util/grub.d/30_os-prober.in: Fix a comment. Source
22647 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22648 to set the root device. Place drivemap command in the generated
22649 chain entry.
22650
22651 2009-06-11 Pavel Roskin <proski@gnu.org>
22652
22653 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22654 have long been resolved.
22655
22656 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
22657
22658 * util/grub.d/10_linux.in: Capitalise "Linux".
22659
22660 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22661
22662 2009-06-11 Pavel Roskin <proski@gnu.org>
22663
22664 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22665 fix a gcc warning and ensure that the function won't ever exit.
22666
22667 * kern/i386/ieee1275/init.c: Add missing prototype for
22668 grub_stop_floppy().
22669
22670 * loader/ieee1275/multiboot2.c [__i386__]: Include
22671 grub/cpu/multiboot.h.
22672
22673 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22674 casts to short - they are not portable and cause warnings. Fix
22675 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22676
22677 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 Drivemap fixes
22680
22681 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22682 new function
22683 (grub_get_root_biosnumber_saved): new variable
22684 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22685 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
22686 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
22687 %dx after the call if necessary
22688 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22689 (boot_mod_SOURCES): remove
22690 (boot_mod_CFLAGS): remove
22691 (boot_mod_LDFLAGS): remove
22692 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22693 (boot_mod_SOURCES): new variable
22694 (boot_mod_CFLAGS): likewise
22695 (boot_mod_LDFLAGS): likewise
22696 * conf/i386-efi.rmk: likewise
22697 * conf/i386-ieee1275.rmk: likewise
22698 * conf/i386-pc.rmk: likewise
22699 * conf/powerpc-ieee1275.rmk: likewise
22700 * conf/sparc64-ieee1275.rmk: likewise
22701 * conf/x86_64-efi.rmk: likewise
22702 * include/grub/i386/pc/biosnum.h: new file
22703 * lib/i386/pc/biosnum.c: likewise
22704 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22705 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22706 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
22707
22708 2009-06-10 Pavel Roskin <proski@gnu.org>
22709
22710 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22711 Use separate variables. Read only the file size at the end, but
22712 not the checksum that we don't use.
22713
22714 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22715 Adjust all callers.
22716
22717 * kern/ieee1275/openfw.c: Remove libc includes.
22718 * kern/ieee1275/cmain.c: Likewise.
22719 * include/grub/ieee1275/ieee1275.h: Likewise.
22720
22721 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22722 compiler warnings.
22723
22724 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22725
22726 * Makefile.in: Remove all trailing whitespace.
22727 * conf/i386-pc.rmk: Likewise.
22728 * conf/powerpc-ieee1275.rmk: Likewise.
22729 * conf/sparc64-ieee1275.rmk: Likewise.
22730 * docs/grub.texi: Likewise.
22731 * docs/texinfo.tex: Likewise.
22732 * disk/fs_uuid.c: Likewise.
22733 * disk/lvm.c: Likewise.
22734 * disk/scsi.c: Likewise.
22735 * disk/ata.c: Likewise.
22736 * disk/ieee1275/ofdisk.c: Likewise.
22737 * disk/i386/pc/biosdisk.c: Likewise.
22738 * disk/host.c: Likewise.
22739 * disk/raid.c: Likewise.
22740 * disk/efi/efidisk.c: Likewise.
22741 * disk/usbms.c: Likewise.
22742 * disk/memdisk.c: Likewise.
22743 * disk/loopback.c: Likewise.
22744 * kern/powerpc/dl.c: Likewise.
22745 * kern/device.c: Likewise.
22746 * kern/dl.c: Likewise.
22747 * kern/sparc64/dl.c: Likewise.
22748 * kern/ieee1275/ieee1275.c: Likewise.
22749 * kern/term.c: Likewise.
22750 * kern/fs.c: Likewise.
22751 * kern/i386/dl.c: Likewise.
22752 * kern/i386/pc/startup.S: Likewise.
22753 * kern/i386/pc/init.c: Likewise.
22754 * kern/i386/pc/mmap.c: Likewise.
22755 * kern/i386/pc/lzo1x.S: Likewise.
22756 * kern/i386/ieee1275/init.c: Likewise.
22757 * kern/i386/realmode.S: Likewise.
22758 * kern/i386/tsc.c: Likewise.
22759 * kern/partition.c: Likewise.
22760 * kern/corecmd.c: Likewise.
22761 * kern/file.c: Likewise.
22762 * kern/efi/efi.c: Likewise.
22763 * kern/efi/init.c: Likewise.
22764 * kern/efi/mm.c: Likewise.
22765 * kern/main.c: Likewise.
22766 * kern/err.c: Likewise.
22767 * kern/env.c: Likewise.
22768 * kern/disk.c: Likewise.
22769 * kern/generic/millisleep.c: Likewise.
22770 * kern/generic/rtc_get_time_ms.c: Likewise.
22771 * kern/misc.c: Likewise.
22772 * kern/parser.c: Likewise.
22773 * genmk.rb: Likewise.
22774 * configure.ac: Likewise.
22775 * boot/i386/pc/diskboot.S: Likewise.
22776 * boot/i386/pc/pxeboot.S: Likewise.
22777 * boot/i386/pc/boot.S: Likewise.
22778 * boot/i386/pc/lnxboot.S: Likewise.
22779 * boot/i386/pc/cdboot.S: Likewise.
22780 * parttool/pcpart.c: Likewise.
22781 * video/readers/tga.c: Likewise.
22782 * video/video.c: Likewise.
22783 * video/bitmap.c: Likewise.
22784 * lib/envblk.c: Likewise.
22785 * lib/i386/setjmp.S: Likewise.
22786 * fs/xfs.c: Likewise.
22787 * fs/afs.c: Likewise.
22788 * fs/fat.c: Likewise.
22789 * fs/ntfs.c: Likewise.
22790 * fs/udf.c: Likewise.
22791 * fs/affs.c: Likewise.
22792 * fs/iso9660.c: Likewise.
22793 * fs/hfs.c: Likewise.
22794 * fs/fshelp.c: Likewise.
22795 * fs/ext2.c: Likewise.
22796 * fs/jfs.c: Likewise.
22797 * fs/reiserfs.c: Likewise.
22798 * fs/hfsplus.c: Likewise.
22799 * fs/minix.c: Likewise.
22800 * fs/cpio.c: Likewise.
22801 * fs/sfs.c: Likewise.
22802 * fs/ufs.c: Likewise.
22803 * efiemu/prepare.c: Likewise.
22804 * efiemu/loadcore_common.c: Likewise.
22805 * efiemu/runtime/efiemu.sh: Likewise.
22806 * efiemu/runtime/efiemu.S: Likewise.
22807 * efiemu/runtime/efiemu.c: Likewise.
22808 * efiemu/pnvram.c: Likewise.
22809 * efiemu/main.c: Likewise.
22810 * efiemu/i386/pc/cfgtables.c: Likewise.
22811 * efiemu/i386/loadcore64.c: Likewise.
22812 * efiemu/i386/loadcore32.c: Likewise.
22813 * efiemu/loadcore.c: Likewise.
22814 * efiemu/symbols.c: Likewise.
22815 * efiemu/mm.c: Likewise.
22816 * include/grub/autoefi.h: Likewise.
22817 * include/grub/datetime.h: Likewise.
22818 * include/grub/term.h: Likewise.
22819 * include/grub/hfs.h: Likewise.
22820 * include/grub/lvm.h: Likewise.
22821 * include/grub/i386/tsc.h: Likewise.
22822 * include/grub/i386/linux.h: Likewise.
22823 * include/grub/i386/xnu.h: Likewise.
22824 * include/grub/i386/efiemu.h: Likewise.
22825 * include/grub/i386/pc/biosdisk.h: Likewise.
22826 * include/grub/i386/pc/memory.h: Likewise.
22827 * include/grub/i386/pc/vbe.h: Likewise.
22828 * include/grub/parttool.h: Likewise.
22829 * include/grub/video.h: Likewise.
22830 * include/grub/memory.h: Likewise.
22831 * include/grub/fs.h: Likewise.
22832 * include/grub/partition.h: Likewise.
22833 * include/grub/xnu.h: Likewise.
22834 * include/grub/efi/api.h: Likewise.
22835 * include/grub/efi/pe32.h: Likewise.
22836 * include/grub/efi/memory.h: Likewise.
22837 * include/grub/multiboot.h: Likewise.
22838 * include/grub/usbdesc.h: Likewise.
22839 * include/grub/multiboot2.h: Likewise.
22840 * include/grub/acpi.h: Likewise.
22841 * include/grub/efiemu/efiemu.h: Likewise.
22842 * include/grub/disk.h: Likewise.
22843 * include/grub/ieee1275/ieee1275.h: Likewise.
22844 * include/grub/net.h: Likewise.
22845 * include/grub/machoload.h: Likewise.
22846 * include/grub/macho.h: Likewise.
22847 * include/multiboot.h: Likewise.
22848 * genmoddep.awk: Likewise.
22849 * normal/main.c: Likewise.
22850 * normal/menu_entry.c: Likewise.
22851 * normal/menu_viewer.c: Likewise.
22852 * normal/completion.c: Likewise.
22853 * normal/cmdline.c: Likewise.
22854 * normal/misc.c: Likewise.
22855 * normal/datetime.c: Likewise.
22856 * bus/usb/usbtrans.c: Likewise.
22857 * bus/usb/ohci.c: Likewise.
22858 * bus/usb/uhci.c: Likewise.
22859 * bus/usb/usb.c: Likewise.
22860 * mmap/efi/mmap.c: Likewise.
22861 * mmap/i386/pc/mmap_helper.S: Likewise.
22862 * mmap/i386/pc/mmap.c: Likewise.
22863 * mmap/i386/mmap.c: Likewise.
22864 * mmap/i386/uppermem.c: Likewise.
22865 * mmap/mmap.c: Likewise.
22866 * commands/acpi.c: Likewise.
22867 * commands/echo.c: Likewise.
22868 * commands/blocklist.c: Likewise.
22869 * commands/loadenv.c: Likewise.
22870 * commands/usbtest.c: Likewise.
22871 * commands/boot.c: Likewise.
22872 * commands/parttool.c: Likewise.
22873 * commands/search.c: Likewise.
22874 * commands/cat.c: Likewise.
22875 * commands/i386/pc/play.c: Likewise.
22876 * commands/i386/pc/drivemap.c: Likewise.
22877 * commands/i386/pc/vbeinfo.c: Likewise.
22878 * commands/i386/pc/acpi.c: Likewise.
22879 * commands/i386/pc/vbetest.c: Likewise.
22880 * commands/ls.c: Likewise.
22881 * commands/cmp.c: Likewise.
22882 * commands/test.c: Likewise.
22883 * commands/efi/acpi.c: Likewise.
22884 * commands/gptsync.c: Likewise.
22885 * commands/help.c: Likewise.
22886 * partmap/amiga.c: Likewise.
22887 * partmap/apple.c: Likewise.
22888 * partmap/acorn.c: Likewise.
22889 * partmap/pc.c: Likewise.
22890 * partmap/sun.c: Likewise.
22891 * partmap/gpt.c: Likewise.
22892 * script/sh/lexer.c: Likewise.
22893 * script/sh/function.c: Likewise.
22894 * font/font.c: Likewise.
22895 * font/font_cmd.c: Likewise.
22896 * loader/powerpc/ieee1275/linux.c: Likewise.
22897 * loader/efi/chainloader.c: Likewise.
22898 * loader/multiboot_loader.c: Likewise.
22899 * loader/macho.c: Likewise.
22900 * loader/i386/multiboot.c: Likewise.
22901 * loader/i386/linux.c: Likewise.
22902 * loader/i386/pc/linux.c: Likewise.
22903 * loader/i386/pc/multiboot2.c: Likewise.
22904 * loader/i386/pc/chainloader.c: Likewise.
22905 * loader/i386/pc/xnu.c: Likewise.
22906 * loader/i386/bsd_trampoline.S: Likewise.
22907 * loader/i386/efi/linux.c: Likewise.
22908 * loader/i386/multiboot_elfxx.c: Likewise.
22909 * loader/i386/bsd_helper.S: Likewise.
22910 * loader/i386/bsd.c: Likewise.
22911 * loader/i386/linux_trampoline.S: Likewise.
22912 * loader/i386/xnu_helper.S: Likewise.
22913 * loader/i386/xnu.c: Likewise.
22914 * loader/i386/bsd_pagetable.c: Likewise.
22915 * loader/i386/multiboot_helper.S: Likewise.
22916 * loader/xnu.c: Likewise.
22917 * loader/xnu_resume.c: Likewise.
22918 * io/gzio.c: Likewise.
22919 * term/efi/console.c: Likewise.
22920 * term/terminfo.c: Likewise.
22921 * term/ieee1275/ofconsole.c: Likewise.
22922 * term/i386/pc/serial.c: Likewise.
22923 * term/i386/pc/vesafb.c: Likewise.
22924 * term/i386/pc/vga.c: Likewise.
22925 * term/usb_keyboard.c: Likewise.
22926 * term/gfxterm.c: Likewise.
22927 * aclocal.m4: Likewise.
22928 * util/lvm.c: Likewise.
22929 * util/grub.d/30_os-prober.in: Likewise.
22930 * util/grub.d/10_hurd.in: Likewise.
22931 * util/console.c: Likewise.
22932 * util/grub-macho2img.c: Likewise.
22933 * util/grub-probe.c: Likewise.
22934 * util/hostfs.c: Likewise.
22935 * util/i386/pc/grub-mkimage.c: Likewise.
22936 * util/i386/pc/grub-setup.c: Likewise.
22937 * util/i386/efi/grub-mkimage.c: Likewise.
22938 * util/grub-mkconfig.in: Likewise.
22939 * util/raid.c: Likewise.
22940 * util/resolve.c: Likewise.
22941 * util/grub-mkdevicemap.c: Likewise.
22942 * util/grub-emu.c: Likewise.
22943 * util/getroot.c: Likewise.
22944 * util/hostdisk.c: Likewise.
22945 * util/usb.c: Likewise.
22946 * util/grub-editenv.c: Likewise.
22947 * util/misc.c: Likewise.
22948
22949 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22950
22951 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22952 `genparttoollist.sh'.
22953 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22954 Add `*.sh' to the list find searches for and change `mdate.sh'
22955 to `mdate-sh'.
22956
22957 2009-06-10 Pavel Roskin <proski@gnu.org>
22958
22959 * include/grub/multiboot2.h: Provide compatibility defines for
22960 multiboot2.h.
22961 * include/multiboot2.h: Include stdint.h only if needed, using
22962 angle brackets.
22963 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22964 grub/multiboot2.h.
22965 * loader/ieee1275/multiboot2.c: Likewise.
22966 * loader/multiboot2.c: Likewise.
22967 * loader/multiboot_loader.c: Likewise.
22968
22969 * configure.ac: Use -nostdlib when probing for the target. It
22970 should not be required to have libc for the target.
22971
22972 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22973 they fail without libc headers for the target.
22974 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22975 exports.
22976 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22977 preprocessor conditionals.
22978
22979 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22980 build system doesn't need to be aware of the tar.c internals.
22981
22982 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
22983
22984 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
22985
22986 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22987
22988 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22989 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22990
22991 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
22992
22993 * util/i386/pc/grub-install.in: Change the error message if UUIDs
22994 aren't available if ata.mod gets used.
22995
22996 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
22997
22998 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
22999 initialising controller.
23000 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23001
23002 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23003
23004 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23005 to choose between ata and biosdisk module on i386-pc.
23006
23007 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23008
23009 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23010 Subclass and Programming Interface fields in terms of the 3 byte
23011 Class Code register.
23012 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23013
23014 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23015 interface is OHCI. Add grub_dprintf for symmetry with
23016 bus/usb/uhci.c.
23017 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23018 interface is UHCI. Add interf variable for programming
23019 interface. Print interface with class/subclass.
23020
23021 * bus/usb/ohci.c: Set interf with correct field.
23022
23023 * bus/usb/uhci.c: Remove unneeded doubled lines.
23024 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23025 Remove whitespace inside comment.
23026
23027 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23028
23029 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23030 as fallback an equivalent option without depth.
23031
23032 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23033
23034 Not fail if unable to retrieve C/H/S on LBA disks
23035
23036 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23037 if unable to retrieve C/H/S on LBA disks
23038
23039 2009-06-08 Pavel Roskin <proski@gnu.org>
23040
23041 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23042 about aliasing.
23043
23044 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23045
23046 * Makefile.in (uninstall): Remove all $lib_DATA files.
23047
23048 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23049
23050 Bugfix: install on partitionless device
23051
23052 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23053 is a whole disk
23054
23055 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23056
23057 * Makefile.in (uninstall): Remove all $include_DATA files.
23058
23059 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23060
23061 * commands/true.c: New file. Implement the true and false commands.
23062 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23063 (true_mod_SOURCES): New variable.
23064 (true_mod_CFLAGS): Likewise.
23065 (true_mod_LDFLAGS): Likewise.
23066
23067 2009-06-05 Colin D Bennett <colin@gibibit.com>
23068
23069 Optimized font character lookup using binary search instead of linear
23070 search. Fonts now are required to have the character index ordered by
23071 code point.
23072
23073 * font/font.c (load_font_index): Verify that fonts have ordered
23074 character indices.
23075 (find_glyph): Use binary search instead of linear search to find a
23076 character in a font.
23077
23078 2009-06-05 Michael Scherer <misc@mandriva.org>
23079
23080 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23081 uses case sensitive btree.
23082 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23083 only for case insensitive filesystems.
23084
23085 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23088 * conf/common.rmk (search_mod_CFLAGS): likewise
23089
23090 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23091
23092 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23093 compensate a compiler bug
23094
23095 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23096
23097 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23098 instead of '\b'
23099
23100 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23101
23102 Definitions for creating asm symbols with Apple's CC
23103
23104 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23105 [APPLE_CC] (VARIABLE): likewise
23106
23107 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23108
23109 Disable lnxboot.img when compiled
23110 with Apple's CC
23111
23112 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23113 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23114 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23115 [! APPLE_CC] (CODE_LENG): skip
23116 [! APPLE_CC] (setup_sects): likewise
23117 [! APPLE_CC]: skip filling
23118
23119 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23120
23121 Address in trampolines based on 32-bit registers when compiled
23122 with Apple's CC
23123
23124 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23125 for addresses
23126 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23127
23128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23129
23130 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23131
23132 * kern/misc.c [APPLE_CC] (memcpy): new function
23133 [APPLE_CC] (memmove): likewise
23134 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23135 (memcpy): define alias conditionally on !APPLE_CC
23136 (memset): likewise
23137 (abort): likewise
23138 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23139 APPLE_CC are defined
23140 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23141 (grub_assert_fail): make prototype conditional
23142
23143 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23146
23147 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23148 grub-macho2img
23149 (CLEANFILES): add grub-macho2img
23150 (grub_macho2img_SOURCES): new variable
23151 * kern/i386/pc/startup.S (bss_start): new variable
23152 (bss_end): likewise
23153 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23154 * util/grub-macho2img.c: new file
23155
23156 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 Use objconv when compiling with Apple's CC
23159
23160 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23161 (efiemu64.o): likewise
23162 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23163 when compiling with Apple's CC
23164 (efiemu64_s.o): likewise
23165 * configure.ac: check for objconv when compiling with Apple's CC
23166 * genmk.rb: use objconv for modules when compiled with Apple's CC
23167
23168 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23169
23170 Define segment as well as section when compiling with
23171 Apple's CC
23172
23173 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23174 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23175 (efiemu_convert_pointer): likewise
23176 (efiemu_set_virtual_address_map): likewise
23177 (efiemu_convert_pointer): likewise
23178 (efiemu_getcrc32): likewise
23179 (init_crc32_table): likewise
23180 (reflect): likewise
23181 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23182 (GRUB_MOD_DEP): likewise
23183
23184 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 Allow a compilation without -mcmodel=large
23187
23188 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23189 when compiled without -mcmodel=large
23190 (filter_memory_map): remove memory post 4 GiB when compiled
23191 without -mcmodel=large
23192 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23193 TARGET_CFLAGS when -mcmodel=large isn't supported
23194
23195 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 Remove nested functions in efiemu core
23198
23199 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23200
23201 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23204
23205 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23206 temporary storage
23207 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23208 using Apple's CC
23209 (grub_cpu_is_tsc_supported): likewise
23210 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23211
23212 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23213
23214 Absolute addressing through constant with Apple's cc
23215
23216 * kern/i386/pc/startup.S: Define necessary constants
23217 and address through it when using ABS with Apple's CC
23218 * boot/i386/pc/diskboot.S: likewise
23219 * boot/i386/pc/boot.S: likewise
23220 * boot/i386/pc/lnxboot.S: likewise
23221 * boot/i386/pc/cdboot.S: likewise
23222 * mmap/i386/pc/mmap_helper.S: likewise
23223 * commands/i386/pc/drivemap_int13h.S: likewise
23224
23225 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23226
23227 Check if compiler is apple cc
23228
23229 * Makefile.in (ASFLAGS): new variable
23230 (TARGET_ASFLAGS): likewise
23231 (TARGET_MODULE_FORMAT): likewise
23232 (TARGET_APPLE_CC): likewise
23233 (OBJCONV): likewise
23234 (TARGET_IMG_CFLAGS): likewise
23235 (TARGET_CPPFLAGS): add includedir
23236 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23237 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23238 Check for linker script only if compiler isn't Apple's CC
23239 (TARGET_MODULE_FORMAT): set
23240 (TARGET_APPLE_CC): likewise
23241 (TARGET_ASFLAGS): likewise
23242 (ASFLAGS): likewise
23243 Check for objcopy only if compiler isn't Apple's CC
23244 Check for BSS symbol only if compiler isn't Apple's CC
23245 * genmk.rb: adapt nm options if we use Apple's utils
23246 * aclocal.m4 (grub_apple_cc): new test
23247 (grub_apple_target_cc): likewise
23248
23249 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 Simplify sed expressions and improve awk
23252
23253 * Makefile.in (install-local): simplify sed expression
23254 * gencmdlist.sh: likewise
23255 * genmoddep.awk: avoid adding module as a dependency of itself
23256
23257 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23258
23259 Add missing start symbols
23260
23261 * boot/i386/pc/boot.S: add start
23262 * boot/i386/pc/pxeboot.S: likewise
23263
23264 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23265
23266 Fix wrong assumptions with grub-mkimage on EFI
23267
23268 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23269 (relocate_addresses): consider both r_addend and value at offset
23270 (make_mods_section): zerofill modinfo and header
23271 (convert_elf): write prefix here
23272
23273 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 Use .asciz instead of .string
23276
23277 * i386/pc/diskboot.S: use .asciz instead of .string
23278 * i386/pc/boot.S: likewise
23279 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23280 (GRUB_MOD_NAME): likewise
23281
23282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23283
23284 gfxpayload support
23285
23286 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23287 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23288 (grub_video_setup): remove
23289 (grub_video_set_mode): new prototype
23290 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23291 (vid_mode): remove
23292 (linux_vesafb_res): compile only on PCBIOS
23293 (grub_linux_boot): support gfxpayload
23294 * loader/i386/pc/xnu.c (video_hook): new function
23295 (grub_xnu_set_video): support gfxpayload
23296 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23297 (DEFAULT_VIDEO_HEIGHT): likewise
23298 (DEFAULT_VIDEO_FLAGS): likewise
23299 (DEFAULT_VIDEO_MODE): new definition
23300 (video_hook): new function
23301 (grub_gfxterm_init): use grub_video_set_mode
23302 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23303 loading xnu
23304 * video/video.c (grub_video_setup): removed
23305 (grub_video_set_mode): new function based on grub_gfxterm_init and
23306 grub_video_setup
23307
23308 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 Avoid calling biosdisk in drivemap
23311
23312 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23313 (revparse_biosdisk): likewise
23314 (list_mappings): derive name from id directly
23315 (grub_cmd_drivemap): use tryparse_diskstring
23316
23317 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 Script fixes
23320
23321 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23322 (grub_lexer_param): add tokenonhold
23323 (grub_script_create_cmdline): remove cmdline. All callers updated
23324 (grub_script_function_create): make functionname
23325 grub_script_arg. All callers updated
23326 (grub_script_execute_argument_to_string): new prototype
23327 * kern/parser.c (state_transitions): reorder
23328 (grub_parser_cmdline_state): fix a bug and make more compact
23329 * script/sh/execute.c (grub_script_execute_argument_to_string):
23330 make global
23331 (grub_script_execute_cmdline): use new format
23332 * script/sh/function.c (grub_script_function_create): make functionname
23333 grub_script_arg. All callers updated
23334 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23335 (grub_script_yylex): remove
23336 (grub_script_yylex2): renamed to ...
23337 (grub_script_yylex): ...renamed
23338 parse the expressions like a${b}c
23339 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23340 (GRUB_PARSER_TOKEN_VAR): remove
23341 (GRUB_PARSER_TOKEN_NAME): likewise
23342 ("if"): declare as typeless
23343 ("while"): likewise
23344 ("function"): likewise
23345 ("else"): likewise
23346 ("then"): likewise
23347 ("fi"): likewise
23348 (text): remove
23349 (argument): likewise
23350 (script): accept empty scripts and make exit on error
23351 (arguments): use GRUB_PARSER_TOKEN_ARG
23352 (function): likewise
23353 (command): move error handling to script
23354 (menuentry): move grub_script_lexer_ref before
23355 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23356 argument. All callers updated
23357
23358 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23359
23360 Prevent GRUB from probing floppies during boot.
23361
23362 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23363 * commands/search.c (options): Add --no-floppy.
23364 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23365 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23366 --no-floppy when searching for UUIDs.
23367
23368 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23369
23370 Simplify the code duplication in commands/search.c.
23371
23372 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23373 (search_fs): ... this. Update all users.
23374
23375 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23376
23377 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23378
23379 2009-05-28 Pavel Roskin <proski@gnu.org>
23380
23381 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23382 Remove the original symlink explicitly.
23383
23384 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23385 just one slash. That's how grub_fshelp_find_file() does it.
23386
23387 2009-05-26 Pavel Roskin <proski@gnu.org>
23388
23389 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23390 to `str'.
23391
23392 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23393 possibly unused.
23394
23395 2009-05-25 Christian Franke <franke@computer.org>
23396
23397 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23398 register.
23399 (grub_atapi_identify): Add wait after drive select.
23400 (grub_ata_identify): Do more strict status register check before
23401 calling grub_atapi_identify (). Suppress error message if status
23402 register is 0x00 after command failure. Add status register
23403 check after PIO read to avoid bogus identify due to stuck DRQ.
23404 Thanks to Pavel Roskin for testing.
23405 (grub_device_initialize): Remove unsafe status register check.
23406 Thanks to 'phcoder' for problem report and patch.
23407 Prevent sign extension in debug message.
23408
23409 2009-05-23 Colin D Bennett <colin@gibibit.com>
23410
23411 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23412 definition file, and functions defined in `normal/menu.c' have had
23413 their prototypes moved to `include/grub/menu.h' for consistency.
23414
23415 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23416 from normal.h.
23417 (grub_menu_get_entry): Likewise.
23418 (grub_menu_get_timeout): Likewise.
23419 (grub_menu_set_timeout): Likewise.
23420 (grub_menu_execute_entry): Likewise.
23421 (grub_menu_execute_with_fallback): Likewise.
23422 (grub_menu_entry_run): Likewise.
23423
23424 * include/grub/normal.h: Re-ordered and grouped function
23425 prototypes by file that the function is defined in.
23426 (grub_menu_execute_callback): Removed; moved to menu.h.
23427 (grub_menu_get_entry): Likewise.
23428 (grub_menu_get_timeout): Likewise.
23429 (grub_menu_set_timeout): Likewise.
23430 (grub_menu_execute_entry): Likewise.
23431 (grub_menu_execute_with_fallback): Likewise.
23432 (grub_menu_entry_run): Likewise.
23433 (grub_menu_addentry): Renamed from this ...
23434 (grub_normal_add_menu_entry): ... to this.
23435
23436 * normal/main.c (grub_menu_addentry): Renamed from this ...
23437 (grub_normal_add_menu_entry): ... to this.
23438
23439 * script/sh/execute.c (grub_script_execute_menuentry): Update
23440 reference to renamed grub_menu_addentry function.
23441
23442 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23443
23444 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23445
23446 2009-05-22 Pavel Roskin <proski@gnu.org>
23447
23448 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23449 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23450 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23451 compiling for the i386 targets, but not for the utilities.
23452
23453 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23454 to grub_uint8_t.
23455 (grub_root_drive): Likewise.
23456 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23457 remove alignment.
23458 (grub_root_drive): Change size to byte.
23459 (grub_start_addr): Remove.
23460 (grub_end_addr): Likewise.
23461 (grub_apm_bios_info): Likewise.
23462
23463 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23464
23465 * normal/i386: Remove.
23466 * normal/powerpc: Likewise.
23467 * normal/sparc64: Likewise.
23468 * normal/x86_64: Likewise.
23469
23470 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23473 * loader/i386/linux_trampoline.S: Fix indentation
23474 * loader/i386/xnu_helper.S: Likewise
23475
23476 2009-05-18 Colin D Bennett <colin@gibibit.com>
23477
23478 Display error messages when parsing a Lua statement fails.
23479 Previously, executing a syntactically invalid statement like
23480 ")foo" or "bar;" would silently fail.
23481
23482 * script/lua/grub_main.c (handle_lua_error): New function.
23483 (grub_lua_parse_line): Improved reporting of Lua parser and
23484 execution errors.
23485
23486 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 Remove -Werror which causes build to fail on some systems
23489
23490 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23491 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23492 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23493
23494 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23495
23496 trampoline for linux on 64-bit platform
23497
23498 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23499 loader/i386/efi/linux_trampoline.S
23500 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23501 declaration
23502 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23503 here
23504 * loader/i386/linux_trampoline.S: moved here
23505 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23506 trampoline
23507 (jumpvector): removed
23508 (grub_linux_trampoline_start): new declaration
23509 (grub_linux_trampoline_end): likewise
23510 (grub_linux_boot): use trampoline when on 64-bit platform
23511 * loader/i386/linux.c: likewise
23512
23513 2009-05-16 Pavel Roskin <proski@gnu.org>
23514
23515 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23516 const to avoid a warning.
23517 (grub_lua_setenv): Likewise.
23518 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23519 lmsg to fix a warning.
23520
23521 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23522
23523 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23524 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23525 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23526 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23527 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23528 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23529 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23530 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23531
23532 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23533
23534 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23535
23536 2009-05-16 Bean <bean123ch@gmail.com>
23537
23538 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23539 (lua_mod_SOURCES): New variable.
23540 (lua_mod_CFLAGS): Likewise.
23541 (lua_mod_LDFLAGS): Likewise.
23542
23543 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23544 (setjmp_mod_SOURCES): New variable.
23545 (setjmp_mod_CFLAGS): Likewise.
23546 (setjmp_LDFLAGS): Likewise.
23547
23548 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23549 (setjmp_mod_SOURCES): New variable.
23550 (setjmp_mod_CFLAGS): Likewise.
23551 (setjmp_LDFLAGS): Likewise.
23552
23553 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23554 (setjmp_mod_SOURCES): New variable.
23555 (setjmp_mod_CFLAGS): Likewise.
23556 (setjmp_LDFLAGS): Likewise.
23557
23558 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23559 (setjmp_mod_SOURCES): New variable.
23560 (setjmp_mod_CFLAGS): Likewise.
23561 (setjmp_LDFLAGS): Likewise.
23562
23563 * normal/i386/setjmp.S: Moved from here ...
23564 * lib/i386/setjmp.S: ... Moved here
23565 * normal/x86_64/setjmp.S: Moved from here ...
23566 * lib/x86_64/setjmp.S: ... Moved here
23567 * normal/powerpc/setjmp.S: Moved from here ...
23568 * lib/powerpc/setjmp.S: ... Moved here
23569 * normal/sparc64/setjmp.S: Moved from here ...
23570 * lib/sparc64/setjmp.S: ... Moved here
23571
23572 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23573 returns_twice in mingw.
23574
23575 * script/lua/grub_lib.c: New file.
23576 * script/lua/grub_lib.h: Likewise.
23577 * script/lua/grub_lua.h: Likewise.
23578 * script/lua/grub_main.c: Likewise.
23579 * script/lua/lapi.c: Likewise.
23580 * script/lua/lapi.h: Likewise.
23581 * script/lua/lauxlib.c: Likewise.
23582 * script/lua/lauxlib.h: Likewise.
23583 * script/lua/lbaselib.c: Likewise.
23584 * script/lua/lcode.c: Likewise.
23585 * script/lua/lcode.h: Likewise.
23586 * script/lua/ldblib.c: Likewise.
23587 * script/lua/ldebug.c: Likewise.
23588 * script/lua/ldebug.h: Likewise.
23589 * script/lua/ldo.c: Likewise.
23590 * script/lua/ldo.h: Likewise.
23591 * script/lua/ldump.c: Likewise.
23592 * script/lua/lfunc.c: Likewise.
23593 * script/lua/lfunc.h: Likewise.
23594 * script/lua/lgc.c: Likewise.
23595 * script/lua/lgc.h: Likewise.
23596 * script/lua/linit.c: Likewise.
23597 * script/lua/liolib.c: Likewise.
23598 * script/lua/llex.c: Likewise.
23599 * script/lua/llex.h: Likewise.
23600 * script/lua/llimits.h: Likewise.
23601 * script/lua/lmathlib.c: Likewise.
23602 * script/lua/lmem.c: Likewise.
23603 * script/lua/lmem.h: Likewise.
23604 * script/lua/loadlib.c: Likewise.
23605 * script/lua/lobject.c: Likewise.
23606 * script/lua/lobject.h: Likewise.
23607 * script/lua/lopcodes.c: Likewise.
23608 * script/lua/lopcodes.h: Likewise.
23609 * script/lua/loslib.c: Likewise.
23610 * script/lua/lparser.c: Likewise.
23611 * script/lua/lparser.h: Likewise.
23612 * script/lua/lstate.c: Likewise.
23613 * script/lua/lstate.h: Likewise.
23614 * script/lua/lstring.c: Likewise.
23615 * script/lua/lstring.h: Likewise.
23616 * script/lua/lstrlib.c: Likewise.
23617 * script/lua/ltable.c: Likewise.
23618 * script/lua/ltable.h: Likewise.
23619 * script/lua/ltablib.c: Likewise.
23620 * script/lua/ltm.c: Likewise.
23621 * script/lua/ltm.h: Likewise.
23622 * script/lua/lua.h: Likewise.
23623 * script/lua/luaconf.h: Likewise.
23624 * script/lua/lualib.h: Likewise.
23625 * script/lua/lundump.c: Likewise.
23626 * script/lua/lundump.h: Likewise.
23627 * script/lua/lvm.c: Likewise.
23628 * script/lua/lvm.h: Likewise.
23629 * script/lua/lzio.c: Likewise.
23630 * script/lua/lzio.h: Likewise.
23631
23632 2009-05-16 Bean <bean123ch@gmail.com>
23633
23634 * include/grub/kernel.h (grub_module_header_types): Add type
23635 OBJ_TYPE_CONFIG.
23636
23637 * kern/main.c (grub_load_config): New function.
23638 (grub_main): Call grub_load_config to read boot config.
23639
23640 * grub-mkimage (generate_image): New parameter config_path.
23641 (options): New option --config.
23642 (main): Parse --config option, and pass it to generate_image.
23643
23644 2009-05-14 Christian Franke <franke@computer.org>
23645
23646 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23647 This fixes build on Cygwin.
23648
23649 2009-05-14 Pavel Roskin <proski@gnu.org>
23650
23651 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23652 jump. This saves two bytes, so the typical case of 2 swapped
23653 drives would fit 32 bytes.
23654
23655 2009-05-13 Pavel Roskin <proski@gnu.org>
23656
23657 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23658 grub_uint32_t to avoid a warning.
23659
23660 * loader/i386/linux.c (allocate_pages): When assigning
23661 real_mode_mem, cast through grub_size_t to fix a warning. The
23662 code already makes sure that the value would fit a pointer.
23663 (grub_linux_setup_video): Cast render_target->data to
23664 grub_size_t to fix a warning.
23665
23666 2009-05-13 Javier Martín <lordhabbit@gmail.com>
23667
23668 * commands/i386/pc/drivemap.c: New file - implement drivemap
23669 command.
23670 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23671 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23672
23673 2009-05-13 Pavel Roskin <proski@gnu.org>
23674
23675 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23676 embedding_area_exists.
23677
23678 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23679
23680 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23681 it easier to understand / work with.
23682 Improve warning messages for cases where there's no embedding area,
23683 or when it is too small (or core.img too large).
23684
23685 2009-05-13 Pavel Roskin <proski@gnu.org>
23686
23687 * loader/i386/pc/multiboot2.c: Add necessary includes for
23688 grub_multiboot2_real_boot().
23689
23690 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23691 PX record is always little-endian. We only need the lower 2
23692 bytes of the mode.
23693
23694 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23695 facilitate code reuse.
23696 (grub_cpio_mount): Use "struct head", not a char buffer. This
23697 fixes a warning reported by gcc 4.4.
23698
23699 * kernel/disk.c (grub_disk_read): Use void pointer for the
23700 buffer.
23701 (grub_disk_write): Use const void pointer for the buffer.
23702 Adjust all callers. Remove unnecessary casts.
23703
23704 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23705
23706 * util/i386/pc/grub-install.in: Update copyright year.
23707
23708 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23709
23710 gptsync
23711
23712 * commands/gptsync.c: new file
23713 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23714 (gptsync_mod_SOURCES): new variable
23715 (gptsync_mod_CFLAGS): likewise
23716 (gptsync_mod_LDFLAGS): likewise
23717 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
23718 new definition
23719 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23721 * conf/i386-ieee1275.rmk: likewise
23722 * conf/i386-pc.rmk: likewise
23723 * conf/powerpc-ieee1275.rmk: likewise
23724
23725 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23726
23727 Fixed grub-emu
23728
23729 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23730 (grub_dl_ref): likewise
23731
23732 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23733
23734 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23735 split in two functions (one for msdos and one for gpt).
23736
23737 2009-05-08 Pavel Roskin <proski@gnu.org>
23738
23739 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23740 not modified.
23741
23742 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23743 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23744 Initialize them with -1. Add sanity check for bad1. Eliminate
23745 nerr variable.
23746
23747 2009-05-08 David S. Miller <davem@davemloft.net>
23748
23749 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23750
23751 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23752
23753 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
23754 existence.
23755
23756 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
23757
23758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23759 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
23760
23761 2009-05-05 David S. Miller <davem@davemloft.net>
23762
23763 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23764
23765 2009-05-05 Pavel Roskin <proski@gnu.org>
23766
23767 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23768 of grub_dl_ref() and grub_dl_unref().
23769 * commands/parttool.c: Remove preprocessor conditionals around
23770 grub_dl_ref() and grub_dl_unref().
23771 * fs/affs.c: Likewise.
23772 * fs/afs.c: Likewise.
23773 * fs/cpio.c: Likewise.
23774 * fs/ext2.c: Likewise.
23775 * fs/fat.c: Likewise.
23776 * fs/hfs.c: Likewise.
23777 * fs/hfsplus.c: Likewise.
23778 * fs/iso9660.c: Likewise.
23779 * fs/jfs.c: Likewise.
23780 * fs/minix.c: Likewise.
23781 * fs/ntfs.c: Likewise.
23782 * fs/reiserfs.c: Likewise.
23783 * fs/sfs.c: Likewise.
23784 * fs/udf.c: Likewise.
23785 * fs/ufs.c: Likewise.
23786 * fs/xfs.c: Likewise.
23787 * include/grub/dl.h: Likewise.
23788 * loader/xnu.c: Likewise.
23789
23790 2009-05-04 Pavel Roskin <proski@gnu.org>
23791
23792 * commands/acpi.c: Remove unused variable my_mod.
23793 * partmap/amiga.c: Likewise.
23794 * partmap/apple.c: Likewise.
23795 * partmap/gpt.c: Likewise.
23796 * partmap/pc.c: Likewise.
23797 * partmap/sun.c: Likewise.
23798 * term/gfxterm.c: Likewise.
23799 * term/i386/pc/vesafb.c: Likewise.
23800 * term/i386/pc/vga.c: Likewise.
23801
23802 2009-05-04 David S. Miller <davem@davemloft.net>
23803
23804 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23805 pointer args to grub_ieee1275_get_property().
23806
23807 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23808
23809 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23810 devices, and do not traverse down under controller nodes.
23811
23812 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23813 (grub_ofdisk_open): Use it to un-escape "," characters.
23814 * kern/disk.c (find_part_sep): New.
23815 (grub_disk_open): Use it to find the first non-escaped ','
23816 character in the disk name.
23817 * util/ieee1275/devicemap.c (escape_of_path): New.
23818 (grub_util_emit_devicemap_entry): Use it.
23819 * util/sparc64/ieee1275/grub-install.in: Update script to
23820 strip partition specifiers properly by not triggering on
23821 '\' escaped ',' characters.
23822
23823 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23824
23825 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23826 to 0x300.
23827 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23828 resolutions.
23829 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23830 on documentation from Wikipedia).
23831
23832 2009-05-04 Pavel Roskin <proski@gnu.org>
23833
23834 * disk/ata.c: Spelling fixes.
23835 * disk/raid.c: Likewise.
23836 * disk/usbms.c: Likewise.
23837 * disk/dmraid_nvidia.c: Likewise.
23838 * kern/ieee1275/openfw.c: Likewise.
23839 * kern/ieee1275/init.c: Likewise.
23840 * kern/ieee1275/cmain.c: Likewise.
23841 * boot/i386/pc/cdboot.S: Likewise.
23842 * video/readers/png.c: Likewise.
23843 * video/i386/pc/vbe.c: Likewise.
23844 * fs/udf.c: Likewise.
23845 * fs/hfs.c: Likewise.
23846 * fs/reiserfs.c: Likewise.
23847 * efiemu/runtime/efiemu.c: Likewise.
23848 * efiemu/main.c: Likewise.
23849 * efiemu/mm.c: Likewise.
23850 * include/grub/elf.h: Likewise.
23851 * include/grub/xnu.h: Likewise.
23852 * include/grub/usbdesc.h: Likewise.
23853 * include/grub/usb.h: Likewise.
23854 * include/grub/script_sh.h: Likewise.
23855 * include/grub/lib/LzmaEnc.h: Likewise.
23856 * include/grub/efiemu/efiemu.h: Likewise.
23857 * include/grub/command.h: Likewise.
23858 * normal/menu.c: Likewise.
23859 * normal/main.c: Likewise.
23860 * normal/datetime.c: Likewise.
23861 * bus/usb/uhci.c: Likewise.
23862 * mmap/i386/uppermem.c: Likewise.
23863 * mmap/mmap.c: Likewise.
23864 * commands/acpi.c: Likewise.
23865 * commands/test.c: Likewise.
23866 * partmap/apple.c: Likewise.
23867 * font/font.c: Likewise.
23868 * loader/sparc64/ieee1275/linux.c: Likewise.
23869 * loader/macho.c: Likewise.
23870 * loader/i386/bsd_trampoline.S: Likewise.
23871 * loader/i386/bsd.c: Likewise.
23872 * loader/xnu.c: Likewise.
23873 * term/i386/pc/vesafb.c: Likewise.
23874 * term/usb_keyboard.c: Likewise.
23875 * util/resolve.c: Likewise.
23876 * util/getroot.c: Likewise.
23877
23878 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23879
23880 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23881
23882 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23883
23884 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23885 build error.
23886
23887 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23888
23889 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23890 parameter only available on BIOS.
23891
23892 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23893
23894 Removed wrong semicolon in declaration
23895
23896 * grub/misc.h (grub_dprintf): remove semicolon
23897
23898 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23899
23900 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23901 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23902 is done by grub_cmd_linux() now).
23903 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23904 restore video to text mode.
23905 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23906 indicates lack of "vga=" parameter. "vga=0" is mapped to
23907 `GRUB_LINUX_VID_MODE_NORMAL'.
23908
23909 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23910
23911 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23912 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23913 and `normal/script.c'. Add `kern/rescue_reader.c',
23914 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
23915 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23916 `grub_script.tab.c'.
23917
23918 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23919 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23921 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23923
23924 * Makefile.in: Remove duplicated 2008 in Copyright line.
23925
23926 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23927
23928 * util/misc.c (grub_util_warn): New function. Emits a warning
23929 unconditionally.
23930 * include/grub/util/misc.h (grub_util_warn): New declaration.
23931
23932 * util/i386/pc/grub-install.in: Understand --force and pass it down
23933 to grub-setup.
23934
23935 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23936 down to setup().
23937 (setup): Improve error messages and add warnings when requested to
23938 install in odd layouts. Refuse to install using blocklists unless
23939 --force was set.
23940
23941 2009-05-04 martin f. krafft <madduck@madduck.net>
23942
23943 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23944
23945 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Updated copyright year
23948
23949 * fs/hfsplus.c: updated copyright year
23950
23951 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 HFS+ UUID
23954
23955 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
23956 in the space previously used by unused3
23957 (grub_hfsplus_uuid): new function
23958 (grub_hfsplus_fs): added uuid field
23959
23960 2009-05-03 Pavel Roskin <proski@gnu.org>
23961
23962 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23963 suppress warnings. It's no longer needed.
23964 * disk/host.c: Likewise.
23965 * disk/ata_pthru.c: Likewise.
23966 * disk/loopback.c: Likewise.
23967 * hook/datehook.c: Likewise.
23968 * parttool/pcpart.c: Likewise.
23969 * fs/i386/pc/pxe.c: Likewise.
23970 * fs/ntfscomp.c: Likewise.
23971 * efiemu/main.c: Likewise.
23972 * mmap/mmap.c: Likewise.
23973 * commands/crc.c: Likewise.
23974 * commands/hexdump.c: Likewise.
23975 * commands/hdparm.c: Likewise.
23976 * commands/acpi.c: Likewise.
23977 * commands/echo.c: Likewise.
23978 * commands/minicmd.c: Likewise.
23979 * commands/blocklist.c: Likewise.
23980 * commands/memrw.c: Likewise.
23981 * commands/loadenv.c: Likewise.
23982 * commands/usbtest.c: Likewise.
23983 * commands/lsmmap.c: Likewise.
23984 * commands/boot.c: Likewise.
23985 * commands/parttool.c: Likewise.
23986 * commands/configfile.c: Likewise.
23987 * commands/search.c: Likewise.
23988 * commands/ieee1275/suspend.c: Likewise.
23989 * commands/cat.c: Likewise.
23990 * commands/i386/pc/pxecmd.c: Likewise.
23991 * commands/i386/pc/play.c: Likewise.
23992 * commands/i386/pc/halt.c: Likewise.
23993 * commands/i386/pc/vbeinfo.c: Likewise.
23994 * commands/i386/pc/vbetest.c: Likewise.
23995 * commands/lspci.c: Likewise.
23996 * commands/date.c: Likewise.
23997 * commands/handler.c: Likewise.
23998 * commands/ls.c: Likewise.
23999 * commands/test.c: Likewise.
24000 * commands/cmp.c: Likewise.
24001 * commands/efi/loadbios.c: Likewise.
24002 * commands/efi/fixvideo.c: Likewise.
24003 * commands/halt.c: Likewise.
24004 * commands/help.c: Likewise.
24005 * commands/reboot.c: Likewise.
24006 * hello/hello.c: Likewise.
24007 * script/sh/main.c: Likewise.
24008 * loader/xnu.c: Likewise.
24009 * term/terminfo.c: Likewise.
24010 * term/i386/pc/serial.c: Likewise.
24011 * term/usb_keyboard.c: Likewise.
24012
24013 2009-05-03 David S. Miller <davem@davemloft.net>
24014
24015 * normal/menu.c: Include grub/parser.h
24016
24017 2009-05-03 Pavel Roskin <proski@gnu.org>
24018
24019 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24020 not char*.
24021 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24022 Suggested by Javier Martín <lordhabbit@gmail.com>
24023
24024 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24025 efiemu??.o doesn't exist.
24026 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24027 copying.
24028
24029 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24030
24031 FreeBSD 64-bit support
24032
24033 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24034 and loader/i386/bsd_trampoline.S
24035 (bsd_mod_ASFLAGS): new variable
24036 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24037 (FREEBSD_MODTYPE_KERNEL64): likewise
24038 (grub_bsd64_trampoline_start): likewise
24039 (grub_bsd64_trampoline_end): likewise
24040 (grub_bsd64_trampoline_selfjump): likewise
24041 (grub_bsd64_trampoline_gdt): likewise
24042 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24043 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24044 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24045 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24046 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24047 of "attrib" member
24048 * loader/i386/bsd_pagetable.c: new file
24049 * loader/i386/bsd_trampoline.S: likewise
24050 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24051 (ALIGN_VAR): likewise
24052 (entry_hi): new variable
24053 (kern_end_mdofs): likewise
24054 (is_64bit): likewise
24055 (grub_freebsd_add_meta): use ALIGN_VAR
24056 (grub_e820_mmap): new declaration
24057 (grub_freebsd_add_mmap): new function
24058 (grub_freebsd_add_meta_module): support 64 bit kernels
24059 (grub_freebsd_list_modules): use ALIGN_VAR
24060 (gdt_descriptor): new declaration
24061 (grub_freebsd_boot): support 64 bit kernels
24062 (grub_bsd_elf64_hook): new function
24063 (grub_bsd_load_elf): support elf64
24064
24065 2009-05-03 Bean <bean123ch@gmail.com>
24066
24067 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24068 after we get the result of if statement.
24069
24070 2009-05-03 Bean <bean123ch@gmail.com>
24071
24072 * Makefile.in (enable_efiemu): New variable.
24073
24074 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24075 set.
24076 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24077 path.
24078 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24079 path, add -mno-red-zone option.
24080 (efiemu64_s.o): Likewise.
24081 (efiemu64.o): Use macro $^ for source file.
24082
24083 * configure.ac (--enable-efiemu): New option.
24084
24085 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 xnu support
24088
24089 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24090 (pkglib_MODULES): add xnu.mod
24091 (xnu_mod_SOURCES): new variable
24092 (xnu_mod_CFLAGS): likewise
24093 (xnu_mod_LDFLAGS): likewise
24094 (xnu_mod_ASFLAGS): likewise
24095 * conf/i386-pc.rmk: likewise
24096 * conf/x86_64-efi.rmk: likewise
24097 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24098 new declaration
24099 * include/grub/i386/macho.h: new file
24100 * include/grub/i386/xnu.h: likewise
24101 * include/grub/macho.h: likewise
24102 * include/grub/machoload.h: likewise
24103 * include/grub/x86_64/macho.h: likewise
24104 * include/grub/x86_64/xnu.h: likewise
24105 * include/grub/xnu.h: likewise
24106 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24107 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24108 * loader/i386/efi/xnu.c: new file
24109 * loader/i386/pc/xnu.c: likewise
24110 * loader/i386/xnu.c: likewise
24111 * loader/i386/xnu_helper.S: likewise
24112 * loader/macho.c: likewise
24113 * loader/xnu.c: likewise
24114 * loader/xnu_resume.c: likewise
24115 * util/grub-dumpdevtree: likewise
24116 * include/grub/i386/pit.h: include grub/err.h
24117 (grub_pit_wait): export
24118 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24119
24120 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 Efiemu
24123
24124 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24125 _linux_efi, linux_efi.
24126 new files in grub-emu
24127 new targets efiemu32.o and efiemu64.o
24128 * loader/linux_normal_efiemu.c: likewise
24129 * loader/i386/efi/linux.c: added preliminary efiemu support
24130 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24131 files to copy
24132 * include/grub/autoefi.h: new file
24133 * include/grub/i386/efiemu.h: likewise
24134 * include/grub/i386/pc/efiemu.h: likewise
24135 * include/grub/efi/api.h: add LL suffix when necessary
24136 new definitions relating to tables
24137 * include/grub/efiemu/efiemu.h: new file
24138 * include/grub/efiemu/runtime.h: likewise
24139 * efiemu/prepare.c: likewise
24140 * efiemu/loadcore_common.c: likewise
24141 * efiemu/loadcore64.c: likewise
24142 * efiemu/runtime/efiemu.sh: likewise
24143 * efiemu/runtime/efiemu.S: likewise
24144 * efiemu/runtime/efiemu.c: likewise
24145 * efiemu/runtime/config.h: likewise
24146 * efiemu/prepare32.c: likewise
24147 * efiemu/main.c: likewise
24148 * efiemu/modules/pnvram.c: likewise
24149 * efiemu/modules/i386: likewise
24150 * efiemu/modules/i386/pc: likewise
24151 * efiemu/modules/acpi.c: likewise
24152 * efiemu/i386/pc/cfgtables.c: likewise
24153 * efiemu/i386/loadcore64.c: likewise
24154 * efiemu/i386/loadcore32.c: likewise
24155 * efiemu/prepare64.c: likewise
24156 * efiemu/loadcore.c: likewise
24157 * efiemu/symbols.c: likewise
24158 * efiemu/mm.c: likewise
24159 * efiemu/loadcore32.c: likewise
24160
24161 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24162
24163 ACPI spoofing
24164
24165 * commands/acpi.c: new file
24166 * commands/i386/pc/acpi.c: likewise
24167 * commands/efi/acpi.c: likewise
24168 * include/grub/acpi.h: likewise
24169 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24170 (acpi_mod_SOURCES): new variable
24171 (acpi_mod_CFLAGS): likewise
24172 (acpi_mod_LDFLAGS): likewise
24173 * conf/i386-efi.rmk: likewise
24174 * conf/x86_64-efi.rmk: likewise
24175
24176 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 Missing part from mmap patch
24179
24180 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24181 (grub_mmap_unregister)
24182 (grub_mmap_free_and_unregister): use grub_mmap_register
24183
24184 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 Mmap services
24187
24188 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24189 * loader/i386/linux.c (find_mmap_size): likewise
24190 (allocate_pages): likewise
24191 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24192 (grub_fill_multiboot_mmap): likewise
24193 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24194 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24195 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24196 (OPENBSD_MMAP_RESERVED): likewise
24197 * include/grub/i386/pc/memory.h: include grub/memory.h
24198 (grub_lower_mem): removed
24199 (grub_upper_mem): likewise
24200 (GRUB_MACHINE_MEMORY_ACPI): new definition
24201 (GRUB_MACHINE_MEMORY_NVS): likewise
24202 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24203 (GRUB_MACHINE_MEMORY_HOLE): likewise
24204 (grub_machine_mmap_register): likewise
24205 (grub_machine_mmap_unregister): likewise
24206 (grub_machine_get_upper): likewise
24207 (grub_machine_get_lower): likewise
24208 (grub_machine_get_post64): likewise
24209 * include/grub/i386/efi/memory.h: new file
24210 * include/grub/x86_64/efi/memory.h: likewise
24211 * include/grub/efi/memory.h: likewise
24212 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24213 (mmap_mod_SOURCES): new variable
24214 (mmap_mod_LDFLAGS): likewise
24215 (mmap_mod_ASFLAGS): likewise
24216 * conf/i386-coreboot.rmk: likewise
24217 * conf/i386-ieee1275.rmk: likewise
24218 * conf/i386-efi.rmk: likewise
24219 * conf/x86_64-efi.rmk: likewise
24220 * include/grub/types.h (UINT_TO_PTR): new macro
24221 (PTR_TO_UINT32): likewise
24222 (PTR_TO_UINT64): likewise
24223 * include/grub/memory.h: new file
24224 * mmap/i386/pc/mmap.c: likewise
24225 * mmap/i386/pc/mmap_helper.S: likewise
24226 * mmap/i386/uppermem.c: likewise
24227 * mmap/mmap.c: likewise
24228 * mmap/efi/mmap.c: likewise
24229 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24230 grub_upper_mem
24231 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24232 (grub_upper_mem): likewise
24233 (grub_machine_init): don't use grub_upper_mem,
24234 make grub_lower_mem local
24235 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24236 grub_mmap_iterate and grub_mmap_get_upper
24237 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24238
24239 2009-05-02 Bean <bean123ch@gmail.com>
24240
24241 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24242 script/sh/parser.y.
24243 (pkglib_MODULES): Add normal.mod and sh.mod.
24244 (normal_SOURCES): New variable.
24245 (normal_mod_CFLAGS): Likewise.
24246 (normal_mod_LDFLAGS): Likewise.
24247 (sh_mod_SOURCES): Likewise.
24248 (sh_mod_CFLAGS): Likewise.
24249 (sh_mod_LDFLAGS): Likewise.
24250
24251 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24252 script/sh/lexer.c_DEPENDENCIES.
24253 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24254 kern/rescue_reader.c and kern/rescue_parser.c.
24255 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24256 (grub_emu_SOURCES): Change source files.
24257 (pkglib_MODULES): Remove normal.mod.
24258 (normal_SOURCES): Removed.
24259 (normal_mod_CFLAGS): Likewise.
24260 (normal_mod_LDFLAGS): Likewise.
24261 * conf/i386-coreboot.rmk: Likewise.
24262 * conf/i386-efi.rmk: Likewise.
24263 * conf/i386-ieee1276.rmk: Likewise.
24264 * conf/powerpc-ieee1275.rmk: Likewise.
24265 * conf/sparc64-ieee1275.rmk: Likewise.
24266 * conf/x86_64-efi.rmk: Likewise.
24267
24268 * include/grub/command.h (grub_command_execute): New inline function.
24269
24270 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24271
24272 * include/grub/normal.h: Remove <grub/setjmp.h>.
24273 (grub_fs_module_list): Moved to normal/autofs.c.
24274 (grub_exit_env): Removed.
24275 (grub_command_execute): Likewise.
24276 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24277 parameter script.
24278 (read_command_list): New function declaration.
24279 (read_fs_list): Likewise.
24280
24281 * include/parser.h: Include <grub/reader.h>.
24282 (grub_parser_split_cmdline): Change type of getline parameter.
24283 (grub_parser): New structure.
24284 (grub_parser_class): New variable.
24285 (grub_parser_execute): New function declaration.
24286 (grub_register_rescue_parser): Likewise.
24287 (grub_parser_register): New inline function.
24288 (grub_parser_unregister): Likewise.
24289 (grub_parser_get_current): Likewise.
24290 (grub_parser_set_current): Likewise.
24291
24292 * include/grub/reader.h: New file.
24293 * kern/reader.c: Likewise.
24294 * kern/rescue_parser.c: Likewise.
24295 * kern/rescue_reader.c: Likewise.
24296 * normal/autofs.c: Likewise.
24297 * normal/dyncmd.c: Likewise.
24298
24299 * include/grub/rescue.h: Removed.
24300 * normal/command.h: Likewise.
24301
24302 * include/grub/script.h: Moved to ...
24303 * include/grub/script_sh.h: ... Moved here.
24304 * normal/execute.c: Moved to ...
24305 * script/sh/execute.c: ... Moved here.
24306 * normal/function.c: Moved to ...
24307 * script/sh/function.c: ... Moved here.
24308 * normal/lexer.c: Moved to ...
24309 * script/sh/lexer.c: ... Moved here.
24310 * normal/parser.y: Moved to ...
24311 * script/sh/parser.y: ... Moved here.
24312 * normal/script.c: Moved to ...
24313 * script/sh/script.c: ... Moved here.
24314
24315 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24316 <grub/reader.h>.
24317 (grub_exit_env): Removed.
24318 (fs_module_list): Moved to normal/autofs.c.
24319 (grub_file_getline): Don't handle comment here.
24320 (free_menu): Skip removed field entry->commands.
24321 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24322 script parameter.
24323 (read_config_file): Removed nested parameter, change getline function.
24324 (grub_enter_normal_mode): Removed.
24325 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24326 (read_command_list): Likewise.
24327 (autoload_fs_module): Moved to normal/autofs.c.
24328 (read_fs_list): Likewise.
24329 (reader_nested): New variable.
24330 (grub_normal_execute): Run parser.sh to switch to sh parser.
24331 (grub_cmd_rescue): Removed.
24332 (cmd_normal): Removed.
24333 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24334 rescue command.
24335 (grub_cmdline_run): New function.
24336 (grub_normal_reader_init): Likewise.
24337 (grub_normal_read_line): Likewise.
24338 (grub_env_write_pager): Likewise.
24339 (cmdline): New variable.
24340 (grub_normal_reader): Likewise.
24341 (GRUB_MOD_INIT): Register normal reader and set as current, register
24342 pager hook, register normal command with grub_register_command_prio,
24343 so that it won't show up in command.lst.
24344 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24345 grub_fs_autoload_hook.
24346
24347 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24348 (grub_menu_execute_entry): Replace grub_script_execute with
24349 grub_parser_execute, change parameter to grub_command_execute.
24350
24351 * normal/menu_text.c: Remove <grub/script.h>.
24352
24353 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24354 and <grub/parser.h>.
24355 (run): Change editor_getline to use new parser interface. Change
24356 parameter to grub_command_execute.
24357
24358 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24359 <grub/reader.h> and <grub/parser.h>.
24360 (grub_load_normal_mode): Execute normal command.
24361 (grub_main): Call grub_register_core_commands,
24362 grub_register_rescue_parser and grub_register_rescue_reader, use
24363 grub_reader_loop to enter input loop.
24364
24365 * kern/parser.c (grub_parser_split_cmdline): Change type of
24366 getline parameter.
24367 (grub_parser_class): New variable.
24368 (grub_parser_execute): New function.
24369
24370 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24371 * loader/multiboot2.c: Likewise.
24372 * loader/sparc64/ieee1275/linux.c: Likewise.
24373
24374 * util/grub-emu.c (read_command_list): New dummy function.
24375
24376 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24379 count to 16 for CCISS and IDA.
24380
24381 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24382
24383 * normal/menu_text.c (grub_wait_after_message): Print a newline
24384 after waiting for user input.
24385
24386 * loader/i386/linux.c: Include `<grub/normal.h>'.
24387 (grub_cmd_linux): Improve the error message about `ask' mode, by
24388 waiting for user input so it's not missed (we can do this, since
24389 user requested interaction).
24390
24391 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 Added missing lst to grub-mkrescue
24394
24395 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24396 and ${input_dir}/parttool.lst
24397
24398 2009-04-30 David S. Miller <davem@davemloft.net>
24399
24400 * util/hostdisk.c (device_is_wholedisk): New function.
24401 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24402 zero only if device_is_wholedisk() returns true.
24403
24404 * util/hostdisk.c (convert_system_partition_to_system_disk):
24405 Handle virtual disk devices named /dev/vdiskX as found on sparc
24406 and powerpc.
24407
24408 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24409 lettered partition specifier is found, convert to numbered.
24410
24411 2009-04-29 David S. Miller <davem@davemloft.net>
24412
24413 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24414 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24415
24416 * normal/command.c: Add missing newline at end of file.
24417
24418 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24419 warnings.
24420 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24421 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24422 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24423 ihandles have a 32-bit type but need to be stored in a "void *".
24424
24425 2009-04-28 Pavel Roskin <proski@gnu.org>
24426
24427 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24428 not disk. Adjust all dependencies.
24429 (grub_fs_uuid_close): Use grub_device_close(), not
24430 grub_disk_close().
24431
24432 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24433 parent's partition, don't copy it by reference, as it gets freed
24434 on close.
24435
24436 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 Preboot hooks support
24439
24440 * commands/boot.c (struct grub_preboot_t): new declaration
24441 (preboots_head): new variable
24442 (preboots_tail): likewise
24443 (grub_loader_register_preboot_hook): new function
24444 (grub_loader_unregister_preboot_hook): likewise
24445 (grub_loader_set): launch preboot hooks
24446 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24447 (grub_loader_register_preboot_hook): new declaration
24448 (grub_loader_unregister_preboot_hook): likewise
24449
24450 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 Warning fix
24453
24454 * disk/scsi.c (grub_scsi_open): added missing cast when
24455 calling grub_dprintf
24456
24457 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24458
24459 Bug and warning fixes
24460
24461 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24462 declaration
24463 * commands/test.c (test_parse): fixed bug with file tests and corrected
24464 declaration of find_file
24465
24466 2009-04-26 Pavel Roskin <proski@gnu.org>
24467
24468 * Makefile.in: Don't install empty manual pages if help2man is
24469 missing. Use help2man option for output, not shell redirection.
24470
24471 2009-04-26 David S. Miller <davem@davemloft.net>
24472
24473 * util/grub-mkdevicemap.c (make_device_map): Add missing
24474 NESTED_FUNC_ATTR to process_device().
24475
24476 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24477
24478 Test command
24479
24480 * commands/test.c: rewritten to use bash-like test
24481
24482 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24483
24484 Parttool autoloading and improvements
24485
24486 * Makefile.in (pkglib_DATA): add parttool.lst
24487 (parttool.lst): new target
24488 * genmk.rb: generate parttool-*
24489 (CLEANFILES): add #{parttool}
24490 (PARTTOOLFILES): new variable
24491 * genparttoollist.sh: new file
24492 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24493 (grub_pcpart_type): likewise
24494 * commands/parttool.c (helpmsg): new variable
24495 (grub_cmd_parttool): output help if not enough arguments are supplied
24496 autoload modules
24497 (GRUB_MOD_INIT(parttool)): use helpmsg
24498
24499 2009-04-24 David S. Miller <davem@davemloft.net>
24500
24501 Avoiding opening same device multiple times in device iterator.
24502
24503 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24504 and use it to build a list of partitions in iterate_disk() and
24505 iterate_partition().
24506
24507 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24508 on disk->data.
24509
24510 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24511 grub_devalias_iterate() result instead of unconditional 0.
24512 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24513 Also, capture hook return value, either directly or via
24514 grub_children_iterate(), and propagate to caller.
24515 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24516 grub_children_iterate): Return value is now 'int' instead of
24517 'grub_err_t'.
24518 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24519 like a proper iterator, stopping when hooks return non-zero.
24520 (grub_devalias_iterate): Likewise.
24521
24522 2009-04-23 David S. Miller <davem@davemloft.net>
24523
24524 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24525
24526 2009-04-22 David S. Miller <davem@davemloft.net>
24527
24528 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24529 is larger than address_cells, use that value for address_cells too.
24530
24531 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24532 IEEE1275_MAX_PATH_LEN): Define.
24533 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24534 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24535 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24536 'devtype'. Explicitly NULL terminate devalias expansion.
24537
24538 * util/sparc64/ieee1275/misc.c: New file.
24539 * util/sparc64/ieee1275/grub-setup.c: New file.
24540 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24541 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24542 * util/sparc64/ieee1275/grub-install.in: New file.
24543 * util/ieee1275/ofpath.c: New file.
24544 * util/ieee1275/devicemap.c: New file.
24545 * util/devicemap.c: New file.
24546 * util/deviceiter.c: New file.
24547 * kern/sparc64/ieee1275/init.c: New file.
24548 * include/grub/util/ofpath.h: New file.
24549 * include/grub/util/deviceiter.h: New file.
24550 * util/grub-mkdevicemap.c: Include deviceiter.h.
24551 Implement using grub_util_emit_devicemap_entry and
24552 grub_util_iterate_devices.
24553 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24554 util/devicemap.c into grub-mkdevicemap
24555 * conf/i386-efi.rmk: Likewise.
24556 * conf/i386-ieee1275.rmk: Likewise.
24557 * conf/i386-pc.rmk: Likewise.
24558 * conf/powerpc-ieee1275.rmk: Likewise.
24559 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24560 images and installation utilities. Build kernel as image
24561 instead of as elf binary. Use common rules as much as possible.
24562
24563 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 Correct GPT definition
24566
24567 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24568 of "attrib" member
24569
24570 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24571
24572 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24573
24574 2009-04-19 David S. Miller <davem@davemloft.net>
24575
24576 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24577 (grub_rescue_cmd_linux): Rename to...
24578 (grub_cmd_linux): and fix prototype.
24579 (grub_rescue_cmd_initrd): Rename to...
24580 (grub_cmd_initrd): and fix prototype.
24581 (cmd_linux, cmd_initrd): New.
24582 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24583 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24584
24585 2009-04-17 Pavel Roskin <proski@gnu.org>
24586
24587 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24588 format.
24589 (grub_ohci_transfer): Likewise.
24590
24591 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24592
24593 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24594 return without a value. Fix inconsistent indentation.
24595
24596 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24597 match struct grub_fs.
24598
24599 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24600 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24601 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24602 * commands/lspci.c (grub_lspci_iter): Likewise.
24603
24604 2009-04-16 Bean <bean123ch@gmail.com>
24605
24606 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24607 value.
24608
24609 2009-04-15 Pavel Roskin <proski@gnu.org>
24610
24611 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24612 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24613 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24614 definitions.
24615
24616 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24617
24618 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24619 that no multiple data or metadata areas are supported and `Unknown
24620 metadata header'.
24621
24622 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 Move loader out of the kernel
24625
24626 * kern/loader.c: moved to ...
24627 * commands/boot.c: ... moved here
24628 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24629 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24630 * include/grub/kernel.h (grub_machine_fini): export
24631 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24632 (grub_loader_set): likewise
24633 (grub_loader_unset): likewise
24634 (grub_loader_boot): likewise
24635 * conf/common.rmk: new module boot.mod
24636 (pkglib_MODULES): add boot.mod
24637 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24638 (grub_emu_SOURCES): likewise
24639 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24640 (grub_emu_SOURCES): likewise
24641 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24642 (grub_emu_SOURCES): likewise
24643 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24644 (grub_emu_SOURCES): likewise
24645 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24646 (grub_emu_SOURCES): likewise
24647 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24648 (grub_emu_SOURCES): likewise
24649 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
24650 (grub_emu_SOURCES): likewise
24651
24652 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
24655
24656 * kern/misc.c (grub_itoa): Removed function
24657 (grub_ltoa): likewise
24658 (grub_vsprintf): use grub_lltoa
24659
24660 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24661
24662 Restore grub-emu
24663
24664 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24665 * conf/i386-coreboot.rmk: likewise
24666 * conf/i386-ieee1275.rmk: likewise
24667 * conf/powerpc-ieee1275.rmk: likewise
24668
24669 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24670
24671 * INSTALL: Add that `./autogen.sh' needs to be run before
24672 `./configure.'.
24673
24674 2009-04-14 Bean <bean123ch@gmail.com>
24675
24676 * Makefile.in (pkglib_DATA): Add handler.lst.
24677 (handler.lst): New rule.
24678
24679 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24680 * conf/i386-coreboot.rmk: Likewise.
24681 * conf/i386-ieee1275.rmk: Likewise.
24682 * conf/i386-efi.rmk: Likewise.
24683 * conf/x86_64-efi.rmk: Likewise.
24684 * conf/powerpc-ieee1275.rmk: Likewise.
24685 * conf/sparc64-ieee1275.rmk: Likewise.
24686
24687 * genhandlerlist.sh: New file.
24688
24689 * genmk.rb: Add rules to generate handler.lst.
24690
24691 * include/grub/normal.h (grub_file_getline): New function definition.
24692 (read_handler_list): Likewise.
24693 (free_handler_list): Likewise.
24694
24695 * include/grub/term.h (grub_term_register_input): Add name parameter
24696 for auto generation of handler.lst.
24697 (grub_term_register_output): Likewise.
24698
24699 * normal/handler.c: New file.
24700
24701 * normal/main.c (get_line): Renamed to grub_file_getline.
24702 (read_config_file): Use the newly renamed grub_file_getline.
24703 (read_command_list): Likewise.
24704 (read_fs_list): Likewise.
24705 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24706 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24707
24708 * term/efi/console.c (grub_console_init): Add name parameter for auto
24709 generation of handler.lst.
24710 * term/gfxterm.c: Likewise.
24711 * term/i386/pc/at_keyboard.c: Likewise.
24712 * term/i386/pc/console.c: Likewise.
24713 * term/i386/pc/serial.c: Likewise.
24714 * term/i386/pc/vesafb.c: Likewise.
24715 * term/i386/pc/vga.c: Likewise.
24716 * term/i386/pc/vga_text.c: Likewise.
24717 * term/ieee1275/ofconsole.c: Likewise.
24718 * term/usb_keyboard.c: Likewise.
24719
24720 2009-04-14 Bean <bean123ch@gmail.com>
24721
24722 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24723 properly with null character.
24724
24725 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24726
24727 * configure: Remove.
24728 * config.h.in: Likewise.
24729 * stamp-h.in: Likewise.
24730 * DISTLIST: Likewise.
24731 * conf/common.mk: Likewise.
24732 * conf/i386-coreboot.mk: Likewise.
24733 * conf/i386-efi.mk: Likewise.
24734 * conf/i386-ieee1275.mk: Likewise.
24735 * conf/i386.mk: Likewise.
24736 * conf/i386-pc.mk: Likewise.
24737 * conf/powerpc-ieee1275.mk: Likewise.
24738 * conf/sparc64-ieee1275.mk: Likewise.
24739 * conf/x86_64-efi.mk: Likewise.
24740
24741 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24742 develop on GRUB.
24743
24744 2009-04-14 John Stanley <jpsinthemix@verizon.net>
24745 David S. Miller <davem@davemloft.net>
24746
24747 * util/hostdisk.c (make_device_name): Fix buffer length
24748 calculations.
24749
24750 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24751
24752 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24753 <sys/param.h> and <sys/sysctl.h>.
24754 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24755 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24756 opening the device and reset them afterwards.
24757
24758 2009-04-13 Pavel Roskin <proski@gnu.org>
24759
24760 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24761 Reported by John Stanley <jpsinthemix@verizon.net>
24762
24763 2009-04-13 Robert Millan <rmh@aybabtu.com>
24764
24765 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
24766 that name for menuentries when appropriate.
24767
24768 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24769
24770 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24771
24772 2009-04-13 Robert Millan <rmh@aybabtu.com>
24773
24774 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24775 to Linux, simply abort telling the user it's no longer supported.
24776
24777 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24778
24779 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
24780 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
24781 `freebsd_loadenv' only when devices.hints exist.
24782
24783 2009-04-13 Pavel Roskin <proski@gnu.org>
24784
24785 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24786
24787 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24788
24789 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24790 partition number.
24791 (grub_drive): Likewise.
24792
24793 2009-04-13 David S. Miller <davem@davemloft.net>
24794
24795 * kern/sparc64/ieee1275/ieee1275.c: New file.
24796 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24797 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24798 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24799 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24800 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24801 grub_ieee1275_alloc_physmem): Declare new exported functions.
24802
24803 * include/grub/sparc64/ieee1275/loader.h: New file.
24804 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24805 * include/grub/sparc64/kernel.h: Likewise.
24806 * loader/sparc64/ieee1275/linux.c: Likewise.
24807
24808 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24809 (grub_fstest_SOURCES): Likewise.
24810
24811 * util/hostdisk.c (make_device_name): Do not make any assumptions
24812 about the length of drive names.
24813
24814 * kern/dl.c (grub_dl_load_file): Close file immediately when
24815 we are done using it.
24816
24817 2009-04-12 David S. Miller <davem@davemloft.net>
24818
24819 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24820 values. Noticed by Pavel Roskin.
24821
24822 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24823 target compiler.
24824
24825 * genmk.rb: Add more flexible image type specification, also
24826 pass --strip-unneeded to objcopy.
24827 * conf/i386-pc.rmk: Use *_FORMAT.
24828 * conf/i386-pc.mk: Rebuilt.
24829
24830 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24831 (OFDISK_HASH_SZ): Define.
24832 (ofdisk_hash): New hash table.
24833 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24834 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24835 instead of device phandle which is not unique.
24836
24837 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24838 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24839 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24840 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24841 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24842 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24843 GRUB_KERNEL_MACHINE_DATA_END): Define.
24844 (grub_kernel_image_size, grub_total_module_size): Declare.
24845
24846 2009-04-12 Pavel Roskin <proski@gnu.org>
24847
24848 * configure.ac: Change the logic when we check for target tools.
24849 Do it when the target is specified and it's different from the
24850 specified value of the host.
24851
24852 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
24853
24854 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24855 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24856 GNU/kFreeBSD. Check if a device is a character device. Use
24857 DIOCGMEDIASIZE to get the size.
24858 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24859 support for GNU/kFreeBSD.
24860 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24861 is a character device instead of a block device. Add support for
24862 FreeBSD device names.
24863
24864 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24865 is a character device instead of a block device.
24866
24867 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24868 is a character device instead of a block device.
24869
24870 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24871
24872 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24873 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24874 FreeBSD. Check if a device is a character device. Use
24875 DIOCGMEDIASIZE to get the size.
24876 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24877 support for FreeBSD.
24878 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24879 is a character device instead of a block device. Add support for
24880 FreeBSD device names.
24881
24882 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24883 a character device instead of a block device.
24884 (grub_util_check_char_device): New function.
24885
24886 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24887 a character device instead of a block device.
24888
24889 * include/grub/util/getroot.h (grub_util_check_char_device): New
24890 prototype.
24891
24892 2009-04-11 David S. Miller <davem@davemloft.net>
24893
24894 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24895 static libgcc.
24896 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24897 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24898 function, if present.
24899 (__bswapdi2): Likewise.
24900
24901 * include/grub/sparc64/ieee1275/boot.h: New file.
24902 * boot/sparc64/ieee1275/boot.S: Likewise.
24903 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24904
24905 * kern/misc.c (grub_ltoa): New function.
24906 (grub_vsprintf): Use it to format 'long' integers.
24907
24908 2009-04-10 David S. Miller <davem@davemloft.net>
24909
24910 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24911 slots are of type grub_ieee1275_cell_t.
24912 (grub_nand_read): Likewise.
24913 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24914 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24915 macros are used to compare values in arg/ret block of the call.
24916 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24917 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24918 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24919 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24920 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24921 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24922 grub_ieee1275_close, grub_ieee1275_set_property,
24923 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24924 grub_ieee1275_cell_t.
24925 * kern/ieee1275/openfw.c (grub_map): Likewise.
24926 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24927 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24928
24929 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24930 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24931 (grub_devalias_iterate): Likewise.
24932
24933 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 UFS improvements
24936
24937 * fs/ufs.c (INODE_NBLOCKS): new definition
24938 (struct grub_ufs_dirent): added fields for non-BSD dirents
24939 (grub_ufs_get_file_block): fixed double indirect handling
24940 (grub_ufs_lookup_symlink): use more robust way to determine whether
24941 symlink is inline
24942 (grub_ufs_find_file): support for non-BSD dirents
24943 (grub_ufs_dir): support for non-BSD dirents
24944
24945 2009-04-10 Bean <bean123ch@gnail.com>
24946
24947 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24948 attribute, otherwise the size would be wrong for i386 platform.
24949
24950 * include/grub/pci.h (grub_pci_read_word): New inline function.
24951 (grub_pci_read_byte): Likewise.
24952 (grub_pci_write): Likewise.
24953 (grub_pci_write_word): Likewise.
24954 (grub_pci_write_byte): Likewise.
24955
24956 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24957
24958 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24959 (find_framebuf): Scan pci to locate the frame buffer address.
24960
24961 * commands/efi/fixvideo.c: New file.
24962
24963 * commands/efi/loadbios.c: Likewise.
24964
24965 * commands/memrw.c: Likewise.
24966
24967 * util/grub-dumpbios.in: Likewise.
24968
24969 * conf/common.rmk (grub-dumpbios): New utility.
24970 (pkglib_MODULES): New module memrw.mod.
24971 (memrw_mod_SOURCE): New macro.
24972 (memrw_mod_CFLAGS): Likewise.
24973 (memrw_mod_LDFLAGS): Likewise.
24974
24975 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
24976 fixvideo.mod.
24977 (loadbios_mod_SOURCE): New macro.
24978 (loadbios_mod_CFLAGS): Likewise.
24979 (loadbios_mod_LDFLAGS): Likewise.
24980 (fixvideo_mod_SOURCE): Likewise.
24981 (fixvideo_mod_CFLAGS): Likewise.
24982 (fixvideo_mod_LDFLAGS): Likewise.
24983
24984 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
24985 fixvideo.mod.
24986 (loadbios_mod_SOURCE): New macro.
24987 (loadbios_mod_CFLAGS): Likewise.
24988 (loadbios_mod_LDFLAGS): Likewise.
24989 (fixvideo_mod_SOURCE): Likewise.
24990 (fixvideo_mod_CFLAGS): Likewise.
24991 (fixvideo_mod_LDFLAGS): Likewise.
24992
24993 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
24994
24995 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24996
24997 2009-04-07 David S. Miller <davem@davemloft.net>
24998
24999 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25000 support for R_SPARC_OLO10 relocations. Fix compile warning for
25001 R_SPARC_WDISP30 case.
25002 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25003
25004 2009-04-06 Pavel Roskin <proski@gnu.org>
25005
25006 * include/grub/misc.h (ARRAY_SIZE): New macro.
25007 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25008 New macro.
25009 * loader/i386/linux.c (allocate_pages): Use free_pages().
25010 (grub_linux_unload): Don't use free_pages().
25011 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25012 wrong index. Treat all other modes as text modes.
25013 (grub_cmd_linux): Initialize vid_mode unconditionally to
25014 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25015
25016 * commands/help.c (print_command_help): Use cmd->prio, not
25017 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25018
25019 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25020
25021 Parttool
25022
25023 * parttool/pcpart.c: new file
25024 * commands/parttool.c: likewise
25025 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25026 (parttool_mod_SOURCES): new variable
25027 (parttool_mod_CFLAGS): likewise
25028 (parttool_mod_LDFLAGS): likewise
25029 (pcpart_mod_SOURCES): likewise
25030 (pcpart_mod_CFLAGS): likewise
25031 (pcpart_mod_LDFLAGS): likewise
25032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25033 and parttool/pcpart.c
25034 * conf/i386-efi.rmk: likewise
25035 * conf/i386-ieee1275.rmk: likewise
25036 * conf/i386-pc.rmk: likewise
25037 * conf/powerpc-ieee1275.rmk: likewise
25038 * conf/sparc64-ieee1275.rmk: likewise
25039 * conf/x86_64-ieee1275.rmk: likewise
25040
25041 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25042
25043 Support for mtime and further expandability of dir command
25044
25045 * include/grub/lib/datetime.h: moved to ...
25046 * include/grub/datetime.h: ... moved here and added
25047 declaration of grub_unixtime2datetime. All users updated
25048 * include/grub/fs.h: new syntax for dir and mtime functions in
25049 struct grub_fs
25050 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25051 and GRUB_FSHELP_FLAGS_MASK
25052 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25053 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25054 (grub_ext2_mtime): new function
25055 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25056 (grub_hfsplus_mtime): new function
25057 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25058 (GRUB_UFS_ATTR_FILE): likewise
25059 (GRUB_UFS_ATTR_LNK): likewise
25060 (struct grub_ufs_sblock): new fields mtime
25061 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25062 all users updated
25063 (grub_ufs_dir): mtime support
25064 (grub_ufs_mtime): new function
25065 * fs/affs.c (grub_affs_dir): use new dir syntax
25066 * fs/afs.c (grub_afs_dir): likewise
25067 * fs/cpio.c (grub_cpio_dir): likewise
25068 * fs/fat.c (grub_fat_find_dir): likewise
25069 * fs/hfs.c (grub_hfs_dir): likewise
25070 * fs/iso9660.c (grub_iso9660_dir): likewise
25071 * fs/jfs.c (grub_jfs_dir): likewise
25072 * fs/minix.c (grub_minix_dir): likewise
25073 * fs/ntfs.c (grub_ntfs_dir): likewise
25074 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25075 * fs/sfs.c (grub_sfs_dir): likewise
25076 * fs/xfs.c (grub_xfs_dir): likewise
25077 * util/hostfs.c (grub_hostfs_dir): likewise
25078 * lib/datetime.c: moved to ...
25079 * normal/datetime.c: ... moved here
25080 (grub_unixtime2datetime): new function
25081 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25082 * normal/completion.c (iterate_dir): use new dir syntax
25083 * normal/misc.c (grub_normal_print_device_info): tell the
25084 last modification time of a volume
25085 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25086 * conf/common.rmk: added lib/datetime.c to ls.mod
25087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25088 (normal_mod_SOURCES): likewise
25089 (datetime_mod_SOURCES): Removed lib/datetime.c
25090 * conf/i386-efi.rmk: likewise
25091 * conf/i386-ieee1275.rmk: likewise
25092 * conf/i386-pc.rmk: likewise
25093 * conf/powerpc-ieee1275.rmk: likewise
25094 * conf/sparc64-ieee1275.rmk: likewise
25095 * conf/x86_64-efi.rmk: likewise
25096
25097 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 Trim trailing spaces in FAT label and support mtools-like labels
25100
25101 * fs/fat.c (grub_fat_iterate_dir): New function based
25102 on grub_fat_find_dir
25103 (grub_fat_find_dir): use grub_fat_iterate_dir
25104 (grub_fat_label): likewise
25105
25106 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25109 and command.h
25110 remove extraneous kernel_elf_HEADERS
25111
25112 2009-04-04 Bean <bean123ch@gnail.com>
25113
25114 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25115
25116 * util/misc.c: Likewise.
25117
25118 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25119
25120 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25121 instead of grub_printf.
25122
25123 2009-04-03 Robert Millan <rmh@aybabtu.com>
25124
25125 * loader/i386/linux.c (grub_linux_setup_video): Fill
25126 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25127 values from `mode info' structure instead of hardcoded
25128 values.
25129
25130 2009-04-01 Pavel Roskin <proski@gnu.org>
25131
25132 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25133 unused now.
25134 * genmk.rb: Likewise.
25135 * configure.ac: Likewise.
25136
25137 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25138
25139 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25140 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25141
25142 2009-04-01 David S. Miller <davem@davemloft.net>
25143
25144 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25145 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25146 (grub_setjmp): Mark with 'returns_twice' attribute.
25147 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25148 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25149 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25150
25151 2009-04-01 Robert Millan <rmh@aybabtu.com>
25152
25153 Reapply fix from 2008-07-28 which was accidentally reverted; also
25154 perform the same fix to a similar check in same function.
25155
25156 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25157 with the same number are found, just use issue a warning with
25158 grub_dprintf(), as this error has been reported to be non-fatal.
25159
25160 2009-03-31 Pavel Roskin <proski@gnu.org>
25161
25162 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25163 for cross-compilation.
25164
25165 2009-03-30 Robert Millan <rmh@aybabtu.com>
25166
25167 Fix i386-ieee1275 build.
25168
25169 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25170 Remove declaration.
25171
25172 2009-03-30 Pavel Roskin <proski@gnu.org>
25173
25174 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25175 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25176 zero-terminated, rely only on the strlen value. Fix comparison
25177 of strings differing in length.
25178
25179 2009-03-30 Robert Millan <rmh@aybabtu.com>
25180
25181 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25182 checking for abi version. Improve error messages on BIOS to notify
25183 user about `linux16' command.
25184
25185 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25186
25187 Leak fixes
25188
25189 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25190 in case of collision
25191 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25192
25193 2009-03-29 Robert Millan <rmh@aybabtu.com>
25194
25195 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25196 set `vid_mode' accordingly.
25197 (grub_linux_boot): Process `vid_mode' and set video mode.
25198
25199 2009-03-29 Robert Millan <rmh@aybabtu.com>
25200
25201 * util/grub.d/10_linux.in (linux_entry): New function.
25202 Factorize generation of Linux boot entries.
25203
25204 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25205
25206 Make the format of Environment Block plain text. The boot loader
25207 part is not tested well yet.
25208
25209 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25210 (buffer): Removed.
25211 (envblk): Likewise.
25212 (usage): Remove "info" and "clear". Add "unset". Update the
25213 description of "set", as this does not delete variables any
25214 longer.
25215 (create_envblk_file): Complete rewrite.
25216 (open_envblk_file): Likewise.
25217 (cmd_info): Removed.
25218 (cmd_list): Likewise.
25219 (cmd_set): Likewise.
25220 (cmd_clear): Likewise.
25221 (list_variables): New function.
25222 (write_envblk): Likewise.
25223 (set_variables): Likewise.
25224 (unset_variables): Likewise.
25225 (main): Complete rewrite.
25226
25227 * commands/loadenv.c (buffer): Removed.
25228 (envblk): Likewise.
25229 (open_envblk_file): New function.
25230 (read_envblk_file): Complete rewrite.
25231 (grub_cmd_load_env): Likewise.
25232 (grub_cmd_list_env): Likewise.
25233 (struct blocklist): New struct.
25234 (free_blocklists): New function.
25235 (check_blocklists): Likewise.
25236 (write_blocklists): Likewise.
25237 (grub_cmd_save_env): Complete rewrite.
25238
25239 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25240 a plain text signature.
25241 (GRUB_ENVBLK_MAXLEN): Removed.
25242 (struct grub_envblk): Complete rewrite.
25243 (grub_envblk_find): Removed.
25244 (grub_envblk_insert): Likewise.
25245 (grub_envblk_open): New prototype.
25246 (grub_envblk_set): Likewise.
25247 (grub_envblk_delete): Put const to VALUE.
25248 (grub_envblk_iterate): Put const to NAME and VALUE.
25249 (grub_envblk_close): New prototype.
25250 (grub_envblk_buffer): New inline function.
25251 (grub_envblk_size): Likewise.
25252
25253 * lib/envblk.c: Include grub/mm.h.
25254 (grub_env_find): Removed.
25255 (grub_envblk_open): New function.
25256 (grub_envblk_close): Likewise.
25257 (escaped_value_len): Likewise.
25258 (find_next_line): Likewise.
25259 (grub_envblk_insert): Removed.
25260 (grub_envblk_set): New function.
25261 (grub_envblk_delete): Complete rewrite.
25262 (grub_envblk_iterate): Likewise.
25263
25264 2009-03-28 Robert Millan <rmh@aybabtu.com>
25265
25266 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25267 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25268 variables. Use 16-bit loader.
25269 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25270 loader.
25271 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25272 (grub_linux16_boot): ... this. Update all users.
25273 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25274 (grub_linux_boot): ... this. Update all users.
25275
25276 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25277 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25278 commands to `linux16' and `initrd16'.
25279 (GRUB_MOD_FINI(linux)): Rename to ...
25280 (GRUB_MOD_FINI(linux16)): ... this.
25281
25282 2009-03-24 Pavel Roskin <proski@gnu.org>
25283
25284 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25285 not just for compilation.
25286
25287 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 Move multiboot helper out of kernel
25290
25291 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25292 `loader/i386/multiboot_helper.S'.
25293 * conf/i386-coreboot.rmk: Likewise
25294 * conf/i386-ieee1275.rmk: Likewise
25295
25296 * kern/i386/loader.S: Move multiboot helpers from here...
25297 * loader/i386/multiboot_helper.S: ...moved here
25298 * include/grub/i386/loader.h: Move declarations of multiboot
25299 helpers from here...
25300 * include/grub/i386/multiboot.h: ...moved here
25301 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25302
25303 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25304
25305 * kern/env.c (grub_env_context_open): Added an argument to specify
25306 whether a new context inherits exported variables from current
25307 one. This is useful when making a sandbox to interpret a config
25308 file.
25309 All callers updated.
25310
25311 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25312
25313 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25314
25315 * kern/env.c (grub_env_context_close): Fix memory leaks.
25316
25317 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25318
25319 * normal/main.c (grub_normal_execute): Added an argument
25320 BATCH to specify if an interactive interface should be provided
25321 after reading a config file.
25322 All callers updated.
25323 (read_command_list): Prevent being executed twice.
25324 (read_fs_list): Likewise.
25325
25326 * include/grub/normal.h (grub_normal_execute): Updated the
25327 prototype.
25328
25329 2009-03-22 Pavel Roskin <proski@gno.org>
25330
25331 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25332 _start.
25333 * kern/i386/pc/startup.S: Likewise.
25334 * kern/i386/efi/startup.S: Likewise.
25335 * kern/i386/ieee1275/startup.S: Likewise.
25336 * kern/i386/coreboot/startup.S: Likewise.
25337 * kern/x86_64/efi/startup.S: Likewise.
25338
25339 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25340 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25341 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25342
25343 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25344
25345 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25346
25347 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25348 limit detection.
25349 Use vaddr of correct segment for entry_point.
25350
25351 2009-03-21 Bean <bean123ch@gmail.com>
25352
25353 * commands/blocklist.c: Add include file <grub/command.h>, remove
25354 <grub/normal.h> and <grub/arg.h>.
25355 (grub_cmd_blocklist): Use the new command interface.
25356 (GRUB_MOD_INIT): Likewise.
25357 (GRUB_MOD_FINI): Likewise.
25358 * commands/boot.c: Likewise.
25359 * commands/cat.c: Likewise.
25360 * commands/cmp.c: Likewise.
25361 * commands/configfile.c: Likewise.
25362 * commands/crc.c: Likewise.
25363 * commands/echo.c: Likewise.
25364 * commands/halt.c: Likewise.
25365 * commands/handler.c: Likewise.
25366 * commands/hdparm.c: Likewise.
25367 * commands/help.c: Likewise.
25368 * commands/hexdump.c: Likewise.
25369 * commands/loadenv.c: Likewise.
25370 * commands/ls.c: Likewise.
25371 * commands/lsmmap.c: Likewise.
25372 * commands/lspci.c: Likewise.
25373 * commands/loadenv.c: Likewise.
25374 * commands/read.c: Likewise.
25375 * commands/reboot.c: Likewise.
25376 * commands/search.c: Likewise.
25377 * commands/sleep.c: Likewise.
25378 * commands/test.c: Likewise.
25379 * commands/usbtest.c: Likewise.
25380 * commands/videotest.c: Likewise.
25381 * commands/i386/cpuid.c: Likewise.
25382 * commands/i386/pc/halt.c: Likewise.
25383 * commands/i386/pc/play.c: Likewise.
25384 * commands/i386/pc/pxecmd.c: Likewise.
25385 * commands/i386/pc/vbeinfo.c: Likewise.
25386 * commands/i386/pc/vbetest.c: Likewise.
25387 * commands/ieee1275/suspend.c: Likewise.
25388 * disk/loopback.c: Likewise.
25389 * font/font_cmd.c: Likewise.
25390 * hello/hello.c: Likewise.
25391 * loader/efi/appleloader.c: Likewise.
25392 * loader/efi/chainloader.c: Likewise.
25393 * loader/i386/bsd.c: Likewise.
25394 * loader/i386/efi/linux.c: Likewise.
25395 * loader/i386/ieee1275/linux.c: Likewise.
25396 * loader/i386/linux.c: Likewise.
25397 * loader/i386/pc/chainloader.c: Likewise.
25398 * loader/i386/pc/linux.c: Likewise.
25399 * loader/powerpc/ieee1275/linux.c: Likewise.
25400 * loader/multiboot_loader.c: Likewise.
25401 * term/gfxterm.c: Likewise.
25402 * term/i386/pc/serial.c: Likewise.
25403 * term/terminfo.c: Likewise.
25404
25405 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25406 * term/i386/pc/vga.c: Likewise.
25407 * video/readers/jpeg.c: Likewise.
25408 * video/readers/png.c: Likewise.
25409 * video/readers/tga.c: Likewise.
25410
25411 * util/grub-fstest (cmd_loopback): Removed.
25412 (cmd_blocklist): Likewise.
25413 (cmd_ls): Likewise.
25414 (grub_register_command): Likewise.
25415 (grub_unregister_command): Likewise.
25416 (execute_command): Use grub_command_find to locate command and execute
25417 it.
25418
25419 * include/grub/efi/chainloader.h: Removed.
25420 * loader/efi/chainloader_normal.c: Likewise.
25421 * loader/i386/bsd_normal.c: Likewise.
25422 * loader/i386/pc/chainloader_normal.c: Likewise.
25423 * loader/i386/pc/multiboot_normal.c: Likewise.
25424 * loader/linux_normal.c: Likewise.
25425 * loader/multiboot_loader_normal.c: Likewise.
25426 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25427
25428 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25429 and grub_register_command_p1.
25430
25431 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25432 kern/command.c, lib/arg.c and commands/extcmd.c.
25433 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25434 (minicmd_mod_SOURCES): New variable.
25435 (minicmd_mod_CFLAGS): Likewise.
25436 (minicmd_mod_LDFLAGS): Likewise.
25437 (extcmd_mod_SOURCES): Likewise.
25438 (extcmd_mod_CFLAGS): Likewise.
25439 (extcmd_mod_LDFLAGS): Likewise.
25440 (boot_mod_SOURCES): Removed.
25441 (boot_mod_CFLAGS): Likewise.
25442 (boot_mod_LDFLAGS): Likewise.
25443
25444 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25445 kern/corecmd.c.
25446 (kernel_img_HEADERS): Add command.h.
25447 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25448 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25449 and lib/arg.c.
25450 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25451 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25452 remove the corresponding normal mode command.
25453 (normal_mod_SOURCES): Remove normal/arg.c.
25454 * conf/i386-coreboot.rmk: Likewise.
25455 * conf/i386-efi.rmk: Likewise.
25456 * conf/i386-ieee1275.rmk: Likewise.
25457 * conf/powerpc-ieee1275.rmk: Likewise.
25458 * conf/x86_64-efi.rmk: Likewise.
25459
25460 * include/grub/arg.h: Move from here ...
25461 * include/grub/lib/arg.h: ... to here.
25462
25463 * normal/arg.c: Move from here ...
25464 * lib/arg.c: ... to here.
25465
25466 * commands/extcmd.c: New file.
25467 * commands/minicmd.c: Likewise.
25468 * include/grub/command.h: Likewise.
25469 * include/grub/extcmd.h: Likewise.
25470 * kern/command.c: Likewise.
25471 * kern/corecmd.c: Likewise.
25472
25473 * kern/list.c (grub_list_iterate): Return int instead of void.
25474 (grub_list_insert): New function.
25475 (grub_prio_list_insert): Likewise.
25476
25477 * kern/rescue.c (grub_rescue_command): Removed.
25478 (grub_rescue_command_list): Likewise.
25479 (grub_rescue_register_command): Likewise.
25480 (grub_rescue_unregister_command): Likewise.
25481 (grub_rescue_cmd_boot): Move to minicmd.c
25482 (grub_rescue_cmd_help): Likewise.
25483 (grub_rescue_cmd_info): Likewise.
25484 (grub_rescue_cmd_boot): Likewise.
25485 (grub_rescue_cmd_testload): Likewise.
25486 (grub_rescue_cmd_dump): Likewise.
25487 (grub_rescue_cmd_rmmod): Likewise.
25488 (grub_rescue_cmd_lsmod): Likewise.
25489 (grub_rescue_cmd_exit): Likewise.
25490 (grub_rescue_print_devices): Moved to corecmd.c.
25491 (grub_rescue_print_files): Likewise.
25492 (grub_rescue_cmd_ls): Likewise.
25493 (grub_rescue_cmd_insmod): Likewise.
25494 (grub_rescue_cmd_set): Likewise.
25495 (grub_rescue_cmd_unset): Likewise.
25496 (attempt_normal_mode): Use grub_command_find to get normal module.
25497 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25498 commands, remove grub_rescue_register_command calls.
25499
25500 * normal/command.c (grub_register_command): Removed.
25501 (grub_unregister_command): Likewise.
25502 (grub_command_find): Likewise.
25503 (grub_iterate_commands): Likewise.
25504 (rescue_command): Likewise.
25505 (export_command): Moved to corecmd.c.
25506 (set_command): Removed.
25507 (unset_command): Likewise.
25508 (insmod_command): Likewise.
25509 (rmmod_command): Likewise.
25510 (lsmod_command): Likewise.
25511 (grub_command_init): Likewise.
25512
25513 * normal/completion.c (iterate_command): Use cmd->prio to check for
25514 active command.
25515 (complete_arguments): Use grub_extcmd_t structure to find options.
25516 (grub_normal_do_completion): Change function grub_iterate_commands to
25517 grub_command_iterate.
25518
25519 * normal/execute.c (grub_script_execute_cmd): No need to parse
25520 argument here.
25521
25522 * normal/main.c (grub_dyncmd_dispatcher): New function.
25523 (read_command_list): Register unload commands as dyncmd.
25524 (grub_cmd_normal): Use new command interface, register rescue,
25525 unregister normal at entry, register normal, unregister rescue at exit.
25526
25527 * include/grub/list.h (grub_list_test_t): New type.
25528 (grub_list_iterate): Return int instead of void.
25529 (grub_list_insert): New function.
25530 (GRUB_AS_NAMED_LIST_P): New macro.
25531 (GRUB_AS_PRIO_LIST): Likewise.
25532 (GRUB_AS_PRIO_LIST_P): Likewise.
25533 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25534 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25535 (grub_prio_list): New structure.
25536 (grub_prio_list_insert): New function.
25537 (grub_prio_list_remove): New inline function.
25538
25539 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25540 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25541 (GRUB_COMMAND_FLAG_MENU): Likewise.
25542 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25543 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25544 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25545 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25546 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25547 (grub_command): Likewise.
25548 (grub_register_command): Likewise.
25549 (grub_command_find): Likewise.
25550 (grub_iterate_commands): Likewise.
25551 (grub_command_init): Likewise.
25552 (grub_arg_parse): Likewise.
25553 (grub_arg_show_help): Likewise.
25554
25555 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25556 (grub_rescue_unregister_command): Likewise.
25557
25558 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25559 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25560 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25561
25562 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25563 grub_rescue_cmd_initrd.
25564 * include/grub/i386/loader.h: Likewise.
25565 * include/grub/x86_64/loader.h: Likewise.
25566
25567 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25568
25569 2009-03-21 Bean <bean123ch@gmail.com>
25570
25571 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25572 instead of stat in mingw environment.
25573
25574 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25575
25576 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25577
25578 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25579 AC_CONFIG_LINKS.
25580
25581 2009-03-21 Bean <bean123ch@gmail.com>
25582
25583 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25584 out of range error.
25585
25586 2009-03-18 Michel Dänzer <michel@daenzer.net>
25587
25588 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25589 checking inode flags for EXT4_EXTENTS_FLAG.
25590
25591 2009-03-18 Robert Millan <rmh@aybabtu.com>
25592
25593 * loader/i386/linux.c: Include `<grub/video.h>' and
25594 `<grub/i386/pc/vbe.h>'..
25595 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25596 (grub_linux32_boot): Attempt to configure video settings with
25597 grub_linux_setup_video().
25598 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25599 to avoid grub_console_fini() which would step out of graphical mode
25600 unconditionally.
25601
25602 2009-03-14 Robert Millan <rmh@aybabtu.com>
25603
25604 Fix build on powerpc.
25605 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25606
25607 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25610 background image command.
25611
25612 2009-03-12 Colin D Bennett <colin@gibibit.com>
25613
25614 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25615 (grub_gfxterm_putchar): Extract pairs of identical calls to
25616 draw_cursor out of conditional blocks.
25617
25618 2009-03-11 Pavel Roskin <proski@gnu.org>
25619
25620 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25621 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25622
25623 2009-03-11 Robert Millan <rmh@aybabtu.com>
25624
25625 * loader/i386/multiboot_elfxx.c
25626 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25627
25628 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25629
25630 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25631 `kern/handler.c'.
25632
25633 2009-03-11 Robert Millan <rmh@aybabtu.com>
25634
25635 * loader/i386/multiboot.c (code_size): New variable.
25636 (grub_multiboot): Define offsets by adding to `code_size' rather
25637 than subtracting from `grub_multiboot_payload_size'. Provide
25638 4-byte alignment to MBI and others by increasing
25639 `boot_loader_name_length' appropriately.
25640
25641 * loader/i386/multiboot_elfxx.c
25642 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25643
25644 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
25645
25646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25647 `fs/ext2.c'.
25648
25649 2009-03-08 Robert Millan <rmh@aybabtu.com>
25650
25651 Make loader/i386/linux.c usable on i386-pc again.
25652
25653 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25654 memory to heap.
25655 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25656 `#error' stanza.
25657
25658 2009-03-07 Bean <bean123ch@gmail.com>
25659
25660 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25661 allocation.
25662
25663 2009-03-06 Robert Millan <rmh@aybabtu.com>
25664
25665 Fix display issue on terminals with screen size other than 80x25
25666 (e.g. gfxterm with resolution higher than 640x480).
25667
25668 * normal/main.c (grub_normal_init_page): Display title text in a
25669 position relative to the center of the terminal instead of relying
25670 on a hardcoded offset.
25671
25672 2009-03-04 Robert Millan <rmh@aybabtu.com>
25673
25674 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25675 installed.
25676
25677 * Makefile.in (host_kernel): New variable.
25678 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25679 scripts instead of just the windows one.
25680 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25681
25682 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25683
25684 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25685 `kern/handler.c'.
25686 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25692
25693 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25694
25695 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25696 or if there's no space for the disk label and print the partition number on a
25697 invalid magic.
25698
25699 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25700
25701 * util/misc.c: Include <time.h>.
25702 (grub_millisleep): New function.
25703
25704 2009-03-04 Bean <bean123ch@gmail.com>
25705
25706 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25707 another option -mno-red-zone.
25708
25709 * commands/handler.c: Change module description.
25710
25711 * kern/handler.c: Add missing space at the end of description line.
25712
25713 * kern/list.c: Likewise.
25714
25715 2009-03-03 Robert Millan <rmh@aybabtu.com>
25716
25717 Move more components to the relocation area, and fix mbi pointer
25718 handling to use the destination rather than the origin (thanks to
25719 Vladimir Serbinenko for spotting).
25720
25721 * loader/i386/multiboot.c (mbi_dest): New variable.
25722 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25723 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25724 relocation area.
25725
25726 2009-03-01 Bean <bean123ch@gmail.com>
25727
25728 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
25729 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25730 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25731 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25732
25733 * loader/i386/efi/linux.c (acpi_guid): New variable.
25734 (acpi_guid): Likewise.
25735 (EBDA_SEG_ADDR): New constant.
25736 (LOW_MEM_ADDR): Likewise.
25737 (FAKE_EBDA_SEG): Likewise.
25738 (fake_bios_data): New function.
25739 (grub_linux_boot): Call fake_bios_data.
25740
25741 2009-03-01 Bean <bean123ch@gmail.com>
25742
25743 * commands/terminal.c: Removed.
25744
25745 * commands/handler.c: New file.
25746
25747 * include/grub/list.h: Likewise.
25748
25749 * include/grub/handler.h: Likewise.
25750
25751 * kern/list.c: Likewise.
25752
25753 * kern/handler.c: Likewise.
25754
25755 * kern/term.h: Include header file <grub/handler.h>.
25756 (grub_term_input): Move next field to the beginning.
25757 (grub_term_output): Likewise.
25758 (grub_term_input_class): New variable.
25759 (grub_term_output_class): Likewise.
25760 (grub_term_register_input): Changed to inline function.
25761 (grub_term_register_output): Likewise.
25762 (grub_term_unregister_input): Likewise.
25763 (grub_term_unregister_output): Likewise.
25764 (grub_term_set_current_input): Likewise.
25765 (grub_term_set_current_output): Likewise.
25766 (grub_term_get_current_input): Likewise.
25767 (grub_term_get_current_output): Likewise.
25768 (grub_term_iterate_input): Removed.
25769 (grub_term_iterate_output): Likewise.
25770
25771 * kern/term.c (grub_term_list_input): Removed.
25772 (grub_term_list_output): Likewise.
25773 (grub_term_input_class): New variable.
25774 (grub_term_output_class): Likewise.
25775 (grub_cur_term_input): Change variable as macro.
25776 (grub_cur_term_output): Likewise.
25777 (grub_term_register_input): Removed.
25778 (grub_term_register_output): Likewise.
25779 (grub_term_unregister_input): Likewise.
25780 (grub_term_unregister_output): Likewise.
25781 (grub_term_set_current_input): Likewise.
25782 (grub_term_set_current_output): Likewise.
25783 (grub_term_iterate_input): Likewise.
25784 (grub_term_iterate_output): Likewise.
25785 (grub_term_get_current_input): Likewise.
25786 (grub_term_get_current_output): Likewise.
25787
25788 * util/grub-editenv.c: Include header file <grub/handler.h>.
25789 (grub_term_get_current_input): Removed.
25790 (grub_term_get_current_output): Likewise.
25791 (grub_term_input_class): New variable.
25792 (grub_term_output_class): Likewise.
25793
25794 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25795 (grub_term_get_current_output): Likewise.
25796 (grub_term_input_class): New variable.
25797 (grub_term_output_class): Likewise.
25798
25799 * util/grub-probe.c (grub_term_get_current_input): Removed.
25800 (grub_term_get_current_output): Likewise.
25801 (grub_term_input_class): New variable.
25802 (grub_term_output_class): Likewise.
25803
25804 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25805 (grub_term_get_current_output): Likewise.
25806 (grub_term_input_class): New variable.
25807 (grub_term_output_class): Likewise.
25808
25809 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25810 (terminal_mod_SOURCES): Likewise.
25811 (terminal_mod_CFLAGS): Likewise.
25812 (terminal_mod_LDFLAGS): Likewise.
25813
25814 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25815 handler.c.
25816 (kernel_img_SOURCES): Add list.c and handler.c.
25817 (kernel_img_HEADERS): Add list.h and handler.h.
25818
25819 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25820 handler.c.
25821 (kernel_mod_SOURCES): Add list.c and handler.c.
25822 (kernel_mod_HEADERS): Add list.h and handler.h.
25823
25824 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25825 handler.c.
25826 (kernel_elf_SOURCES): Add list.c and handler.c.
25827 (kernel_elf_HEADERS): Add list.h and handler.h.
25828
25829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25830 handler.c.
25831 (kernel_elf_SOURCES): Add list.c and handler.c.
25832 (kernel_elf_HEADERS): Add list.h and handler.h.
25833
25834 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25835 handler.c.
25836 (kernel_mod_SOURCES): Add list.c and handler.c.
25837 (kernel_mod_HEADERS): Add list.h and handler.h.
25838
25839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25840 handler.c.
25841 (kernel_elf_SOURCES): Add list.c and handler.c.
25842 (kernel_elf_HEADERS): Add list.h and handler.h.
25843
25844 2009-02-27 Robert Millan <rmh@aybabtu.com>
25845
25846 Factorize elf32 / elf64 code in Multiboot loader. This will
25847 prevent it from getting out of sync again.
25848
25849 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25850 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25851 grub_multiboot_load_elf64): Move from here ...
25852 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25853 grub_multiboot_load_elf): ... to here (new file).
25854
25855 2009-02-27 Robert Millan <rmh@aybabtu.com>
25856
25857 * util/grub.d/10_linux.in: Rename "single-user mode" to
25858 "recovery mode".
25859
25860 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25861
25862 Don't leak in SCSI code.
25863 * disk/scsi.c (grub_scsi_close): free `scsi'.
25864
25865 2009-02-27 Robert Millan <rmh@aybabtu.com>
25866
25867 * loader/i386/pc/multiboot.c: Move from here ...
25868 * loader/i386/multiboot.c: ... to here. Update all users.
25869
25870 2009-02-27 Robert Millan <rmh@aybabtu.com>
25871
25872 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25873 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25874
25875 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
25876
25877 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25878 b-tree.
25879
25880 2009-02-27 Robert Millan <rmh@aybabtu.com>
25881
25882 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25883 `0x' qualifier as 0 when base is specified as parameter).
25884
25885 2009-02-24 Bean <bean123ch@gmail.com>
25886
25887 * configure.ac: Check for -mcmodel=large in x86_64 target.
25888
25889 * include/grub/efi/api.h (efi_call_10): New macro.
25890 (efi_wrap_10): New function.
25891
25892 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25893 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25894 (GRUB_PE32_REL_BASED_LOW): Likewise.
25895 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25896 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25897 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25898 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25899 (GRUB_PE32_REL_BASED_REL): Likewise.
25900 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25901 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25902 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25903
25904 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25905 issue.
25906
25907 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25908 (efi_wrap_10): New function.
25909
25910 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25911
25912 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25913 MB/MBP model (NV chipset).
25914 (devdata_devs): Add devpath_5 to the list.
25915
25916 * load/i386/efi/linux.c (video_base): Remove variable.
25917 (RGB_MASK): New macro.
25918 (RGB_MAGIC): Likewise.
25919 (LINE_MIN): Likewise.
25920 (LINE_MAX): Likewise.
25921 (FBTEST_STEP): Likewise.
25922 (FBTEST_COUNT): Likewise.
25923 (fb_list): New variable.
25924 (grub_find_video_card): Remove function.
25925 (find_framebuf): New function.
25926 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25927 line length.
25928
25929 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25930 problem for x86_64.
25931
25932 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25933
25934 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25935
25936 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25937 coding tool name.
25938
25939 2009-02-22 Robert Millan <rmh@aybabtu.com>
25940
25941 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25942 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25943 in our relocation, instead of using it directly from heap. Also
25944 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25945
25946 2009-02-21 Robert Millan <rmh@aybabtu.com>
25947
25948 Implement USB keyboard support (based on patch by Marco Gerards)
25949
25950 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25951 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25952 (usb_keyboard_mod_LDFLAGS): New variables.
25953
25954 * term/usb_keyboard.c: New file.
25955
25956 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 Corrected wrong declaration
25959
25960 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25961
25962 2009-02-14 Christian Franke <franke@computer.org>
25963
25964 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25965 (grub_lspci_iter): Print class code and programming interface byte.
25966
25967 2009-02-14 Christian Franke <franke@computer.org>
25968
25969 * gendistlist.sh: Ignore `.svn' directories.
25970
25971 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
25972
25973 * fs/fat.c: Add 2009 to Copyright line.
25974
25975 2009-02-14 Christian Franke <franke@computer.org>
25976
25977 * commands/hdparm.c: New file. Provides `hdparm' command
25978 which sends ATA commands via grub_disk_ata_pass_through ().
25979
25980 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25981
25982 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25983 and <grub/cpu/io.h> to include/grub/ata.h.
25984 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25985 (GRUB_CDROM_SECTOR_SIZE): Remove.
25986 (GRUB_ATA_*): Move to include/grub/ata.h.
25987 (GRUB_ATAPI_*): Likewise.
25988 (enum grub_ata_commands): Likewise.
25989 (enum grub_ata_timeout_milliseconds): Likewise.
25990 (struct grub_ata_device): Likewise.
25991 (grub_ata_regset): Likewise.
25992 (grub_ata_regget): Likewise.
25993 (grub_ata_regset2): Likewise.
25994 (grub_ata_regget2): Likewise.
25995 (grub_ata_check_ready): Likewise.
25996 (grub_ata_wait_not_busy): Remove static, exported in
25997 include/grub/ata.h.
25998 (grub_ata_wait_drq): Likewise.
25999 (grub_ata_pio_read): Likewise.
26000
26001 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26002 function for hdparm.mod.
26003
26004 * include/grub/ata.h: New file, contains declarations from
26005 disk/ata.c.
26006 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26007
26008 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26009 (grub_disk_ata_pass_through): New exported variable.
26010
26011 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26012
26013 2009-02-13 Colin D Bennett <colin@gibibit.com>
26014
26015 Support multiple fallback entries, and provide an API to support
26016 executing default+fallback menu entries. Renamed the `terminal' menu
26017 viewer to `text'.
26018
26019 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26020 variable declaration.
26021 (grub_menu_execute_callback): New structure declaration.
26022 (grub_menu_execute_callback_t): New typedef.
26023 (grub_menu_execute_with_fallback): New function declaration.
26024 (grub_menu_get_entry): Likewise.
26025 (grub_menu_get_timeout): Likewise.
26026 (grub_menu_set_timeout): Likewise.
26027
26028 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26029
26030 * normal/menu.c (grub_wait_after_message): Moved to
26031 `normal/menu_text.c'.
26032 (draw_border): Likewise.
26033 (print_message): Likewise.
26034 (print_entry): Likewise.
26035 (print_entries): Likewise.
26036 (grub_menu_init_page): Likewise.
26037 (get_entry_number): Likewise.
26038 (print_timeout): Likewise.
26039 (run_menu): Likewise.
26040 (grub_menu_execute_entry): Likewise.
26041 (show_text_menu): Likewise.
26042 (get_and_remove_first_entry_number): New function.
26043 (grub_menu_execute_with_fallback): Likewise.
26044 (get_entry): Renamed to ...
26045 (grub_menu_get_entry): .. this and made it global.
26046 (get_timeout): Renamed to ...
26047 (grub_menu_get_timeout): ... this and made it global.
26048 (set_timeout): Renamed to ...
26049 (grub_menu_set_timeout): ... this and made it global.
26050 (grub_normal_terminal_menu_viewer): Renamed to ...
26051 (grub_normal_text_menu_viewer): ... this.
26052
26053 * normal/menu_text.c: New file. Extracted text-menu-specific code
26054 from normal/menu.c.
26055
26056 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26057 (normal_mod_SOURCES): Likewise.
26058
26059 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26060 (normal_mod_SOURCES): Likewise.
26061
26062 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26063 (normal_mod_SOURCES): Likewise.
26064
26065 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26066 (normal_mod_SOURCES): Likewise.
26067
26068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26069 (normal_mod_SOURCES): Likewise.
26070
26071 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26072 (normal_mod_SOURCES): Likewise.
26073
26074 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26075 (normal_mod_SOURCES): Likewise.
26076
26077 2009-02-11 Robert Millan <rmh@aybabtu.com>
26078
26079 * util/grub.d/00_header.in: Update old reference to `font' command.
26080
26081 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26082
26083 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26084
26085 Based on patch from Javier Martín.
26086
26087 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26088
26089 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26090 to avoid false positives with FAT.
26091 (grub_fstest_SOURCES): Likewise.
26092 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26093 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26096 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26097 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26098
26099 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26100
26101 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26102 bpb.version_specific.fat12_or_fat16.fstype and
26103 bpb.version_specific.fat32.fstype.
26104
26105 2009-02-08 Robert Millan <rmh@aybabtu.com>
26106
26107 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26108
26109 2009-02-08 Robert Millan <rmh@aybabtu.com>
26110
26111 * Makefile.in (host_os, host_cpu): New variables.
26112 (target_os): Remove. Update all users.
26113
26114 2009-02-08 Marco Gerards <marco@gnu.org>
26115
26116 * Makefile.in (enable_grub_emu_usb): New variable.
26117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26118 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26119 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26120 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26121 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26122 `usbtest.mod' and `usbms.mod'.
26123 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26124 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26125 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26126 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26127 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26128 variables.
26129
26130 * disk/usbms.c: New file.
26131
26132 * include/grub/usb.h: Likewise.
26133
26134 * include/grub/usbtrans.h: Likewise.
26135
26136 * include/grub/usbdesc.h: Likewise.
26137
26138 * bus/usb/usbtrans.c: Likewise.
26139
26140 * bus/usb/ohci.c: Likewise.
26141
26142 * bus/usb/uhci.c: Likewise.
26143
26144 * bus/usb/usbhub.c: Likewise.
26145
26146 * bus/usb/usb.c: Likewise.
26147
26148 * commands/usbtest.c: Likewise.
26149
26150 * util/usb.c: Likewise.
26151
26152 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26153
26154 * configure.ac: Test for libusb presence.
26155
26156 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26157
26158 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26159
26160 * kern/mm.c: Add more comments.
26161
26162 2009-02-08 Robert Millan <rmh@aybabtu.com>
26163
26164 Patch from Javier Martín.
26165 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26166 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26167
26168 2009-02-08 Robert Millan <rmh@aybabtu.com>
26169
26170 * fs/cpio.c: Split tar functionality to ...
26171 * fs/tar.c: ... here (new file). Update all users.
26172
26173 2009-02-07 Robert Millan <rmh@aybabtu.com>
26174
26175 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26176 backward-incompatible features.
26177
26178 Based on patch from Javier Martín, with some adjustments.
26179
26180 2009-02-07 Michael Scherer <misc@mandriva.org>
26181
26182 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26183
26184 2009-02-07 Robert Millan <rmh@aybabtu.com>
26185
26186 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26187 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26188 after the RAID stuff.
26189
26190 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26191
26192 Fixes problem when running vbetest command as reported by
26193 Vladimir Serbinenko <phcoder@gmail.com>.
26194
26195 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26196
26197 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26198
26199 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26200 /dev/md/NpN style mdraid devices.
26201
26202 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26203
26204 * util/unifont2pff.rb: Remove.
26205
26206 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26207
26208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26209 `#'.
26210
26211 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26212
26213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26214 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26215 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26218 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26219 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26220
26221 2009-02-02 Christian Franke <franke@computer.org>
26222
26223 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26224
26225 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26226
26227 * INSTALL: Note that we now require at least autoconf 2.59 and
26228 that LZO is optional.
26229
26230 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26231
26232 Base on patch on bug #24154 created by Tomas Tintera
26233 <trosos@seznam.cz>.
26234
26235 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26236
26237 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26238
26239 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26240 <bero@arklinux.org>.
26241
26242 * normal/parser.y (script_init): Add missing semicolon.
26243
26244 2009-01-31 Colin D Bennett <colin@gibibit.com>
26245
26246 * normal/main.c: Add include to grub/menu_viewer.h.
26247 (free_menu_entry_classes): Added.
26248 (grub_normal_menu_addentry): Added class property handling.
26249 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26250 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26251
26252 * normal/menu_viewer.c: New file.
26253
26254 * normal/menu.c (run_menu_entry): Renamed to ...
26255 (grub_menu_execute_entry): ... this and made it as global.
26256 (grub_menu_run): Renamed to ...
26257 (show_text_menu): ... this and made it local.
26258 (show_text_menu): Adapt to new function names.
26259 (grub_normal_terminal_menu_viewer): New global variable.
26260
26261 * include/grub/menu.h: New file.
26262
26263 * include/grub/menu_viewer.h: New file.
26264
26265 * include/grub/normal.h: Added include to grub/menu.h.
26266 (grub_menu_entry): Moved to include/grub/menu.h.
26267 (grub_menu_entry_t): Likewise.
26268 (grub_menu): Likewise.
26269 (grub_menu_t): Likewise.
26270 (grub_normal_terminal_menu_viewer): Added.
26271 (grub_menu_execute_entry): Likewise.
26272 (grub_menu_run): Removed.
26273
26274 * DISTLIST: Added include/grub/menu.h.
26275 Added include/grub/menu_viewer.h.
26276 Added normal/menu_viewer.c.
26277
26278 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26279
26280 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26281 arglist for menutitle arguments.
26282
26283 * normal/main.c (grub_normal_menu_addentry): Likewise.
26284
26285 * normal/parser.y (menuentry): Likewise.
26286
26287 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26288
26289 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26290 (grub_script_create_cmdmenu): Likewise.
26291
26292 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26293
26294 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26295 changes.
26296
26297 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26298
26299 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26300
26301 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26302
26303 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26304
26305 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26306
26307 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26308
26309 2009-01-30 Christian Franke <franke@computer.org>
26310
26311 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26312 in option help text.
26313
26314 2009-01-27 Pavel Roskin <proski@gnu.org>
26315
26316 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26317
26318 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26319
26320 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26321
26322 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26323
26324 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26325 unregister function.
26326
26327 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26328
26329 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26330
26331 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26332
26333 * util/grub-mkfont.c (usage): Fix typo.
26334
26335 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26336
26337 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26338
26339 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26340
26341 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26342
26343 * kern/misc.c (grub_strcasecmp): New function.
26344 (grub_strcasecmp): Use grub_size_t instead of int for length.
26345 Fix return value.
26346 * include/grub/misc.h: Update function prototypes.
26347
26348 2009-01-26 Robert Millan <rmh@aybabtu.com>
26349
26350 * configure.ac: Fix cross-compilation check.
26351
26352 2009-01-22 Christian Franke <franke@computer.org>
26353
26354 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26355 (precision) digit string. Allow `.format2' without `format1' (width).
26356 Limit input chars for `%s' output to `format2' if specified. This is
26357 compatible with standard printf ().
26358
26359 2009-01-22 Christian Franke <franke@computer.org>
26360
26361 * disk/ata.c (grub_ata_wait_status): Replace by ...
26362 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26363 other status bits may be invalid while BSY is asserted.
26364 (grub_ata_check_ready): New function.
26365 (grub_ata_cmd): Removed.
26366 (grub_ata_wait_drq): New function.
26367 (grub_ata_strncpy): Remove inline.
26368 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26369 and error check now done by grub_ata_wait_drq ().
26370 (grub_ata_pio_write): Likewise.
26371 (grub_atapi_identify): Set DEV before check for !BSY. Use
26372 grub_ata_wait_drq () to wait for data.
26373 (grub_ata_device_initialize): Add status register check to
26374 detect missing SATA slave devices. Add debug messages.
26375 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26376 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26377 transfer loop by grub_ata_pio_write ().
26378 (grub_ata_identify): Set DEV before check for !BSY. Use
26379 grub_ata_wait_drq () to wait for data.
26380 (grub_ata_setaddress): Set DEV before check for !BSY.
26381 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26382 read/write in one loop. Fix invalid command on write. Fix incomplete
26383 command on (size % batch) == 0. Add missing error check after write of
26384 last block. Add debug messages.
26385 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26386
26387 2009-01-19 Christian Franke <franke@computer.org>
26388
26389 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26390 (GRUB_ATAPI_IREASON_*): Likewise.
26391 (grub_ata_pio_write): Fix timeout error return.
26392 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26393 (grub_atapi_wait_drq): New function.
26394 (grub_atapi_packet): New parameter `size'.
26395 Use grub_atapi_wait_drq () and direct write instead of
26396 grub_ata_pio_write ().
26397 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26398 reads the number of bytes requested by the device for each DRQ
26399 assertion.
26400 (grub_atapi_write): Remove old implementation, return not
26401 implemented instead.
26402
26403 2009-01-19 Christian Franke <franke@computer.org>
26404
26405 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26406 of 512 to calculate data size.
26407 (grub_scsi_read12): Likewise.
26408 (grub_scsi_write10): Likewise.
26409 (grub_scsi_write12): Likewise.
26410 (grub_scsi_read): Adjust size according to blocksize.
26411 Add checks for invalid blocksize and unaligned transfer.
26412
26413 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26414
26415 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26416
26417 * term/gfxterm.c (write_char): Fix background rendering for wide
26418 width glyphs.
26419
26420 2009-01-19 Robert Millan <rmh@aybabtu.com>
26421
26422 * config.guess: Update to latest version from config git.
26423 * config.sub: Likewise.
26424
26425 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26426
26427 * Makefile.in: Change font compilation to use new grub-mkfont instead
26428 of java version.
26429
26430 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26431 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26432 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26433 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26434 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26435 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26436 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26437 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26438 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26439
26440 2009-01-16 Christian Franke <franke@computer.org>
26441
26442 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26443 (enum grub_ata_timeout_milliseconds): New enum.
26444 (grub_ata_wait_status): Add parameter milliseconds.
26445 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26446 recovery from timed-out commands.
26447 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26448 return grub_errno instead of REG_ERROR.
26449 (grub_ata_pio_write): Add parameter milliseconds.
26450 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26451 Pass milliseconds to grub_ata_wait_status () and
26452 grub_ata_pio_read ().
26453 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26454 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26455 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26456 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26457 It is not suitable for device detection, because DEV bit is ignored,
26458 the command may run too long, and not all devices set the signature
26459 properly.
26460 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26461 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26462 Fix device selection, DEV bit must be set first to address the registers
26463 of the correct device.
26464 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26465 grub_ata_pio_read/write ().
26466 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26467 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26468
26469 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26470
26471 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26472
26473 2009-01-13 Bean <bean123ch@gmail.com>
26474
26475 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26476
26477 2009-01-13 Bean <bean123ch@gmail.com>
26478
26479 * Makefile.in: (enable_grub_mkfont): New variable.
26480 (freetype_cflags): Likewise.
26481 (freetype_libs): Likewise.
26482
26483 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26484 (grub_mkfont_SOURCES): New variable.
26485 (grub_mkfont_CFLAGS): Likewise.
26486 (grub_mkfont_LDFLAGS): Likewise.
26487
26488 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26489 library if `--enable-grub-mkfont' is requested.
26490 (enable_grub_mkfont): New variable.
26491 (freetype_cflags): Likewise.
26492 (freetype_libs): Likewise.
26493
26494 * util/grub-mkfont.c: New file.
26495
26496 2009-01-12 Christian Franke <franke@computer.org>
26497
26498 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26499 mode check. Fix setting of compat_use[].
26500
26501 2009-01-10 Robert Millan <rmh@aybabtu.com>
26502
26503 Update a few copyright years which we forgot to do in 2008 (only for
26504 files whose changes made in 2008 were copyright-significant)
26505
26506 * Makefile.in: Add 2008 to Copyright line.
26507 * disk/ieee1275/ofdisk.c: Likewise.
26508 * disk/efi/efidisk.c: Likewise.
26509 * kern/dl.c: Likewise.
26510 * kern/sparc64/ieee1275/init.c: Likewise.
26511 * kern/mm.c: Likewise.
26512 * kern/efi/mm.c: Likewise.
26513 * boot/i386/pc/boot.S: Likewise.
26514 * genfslist.sh: Likewise.
26515 * fs/iso9660.c: Likewise.
26516 * fs/hfs.c: Likewise.
26517 * fs/jfs.c: Likewise.
26518 * fs/minix.c: Likewise.
26519 * fs/ufs.c: Likewise.
26520 * gensymlist.sh.in: Likewise.
26521 * genkernsyms.sh.in: Likewise.
26522 * include/grub/misc.h: Likewise.
26523 * include/grub/types.h: Likewise.
26524 * include/grub/symbol.h: Likewise.
26525 * include/grub/elf.h: Likewise.
26526 * include/grub/kernel.h: Likewise.
26527 * include/grub/disk.h: Likewise.
26528 * include/grub/dl.h: Likewise.
26529 * include/grub/i386/linux.h: Likewise.
26530 * include/grub/i386/pc/biosdisk.h: Likewise.
26531 * include/grub/efi/api.h: Likewise.
26532 * include/grub/efi/pe32.h: Likewise.
26533 * include/grub/util/misc.h: Likewise.
26534 * normal/execute.c: Likewise.
26535 * normal/arg.c: Likewise.
26536 * normal/completion.c: Likewise.
26537 * normal/lexer.c: Likewise.
26538 * normal/parser.y: Likewise.
26539 * normal/misc.c: Likewise.
26540 * commands/i386/pc/vbeinfo.c: Likewise.
26541 * commands/hexdump.c: Likewise.
26542 * commands/terminal.c: Likewise.
26543 * commands/ls.c: Likewise.
26544 * commands/help.c: Likewise.
26545 * partmap/pc.c: Likewise.
26546 * loader/efi/chainloader.c: Likewise.
26547 * loader/multiboot_loader.c: Likewise.
26548 * loader/i386/pc/multiboot2.c: Likewise.
26549 * term/efi/console.c: Likewise.
26550 * term/i386/pc/serial.c: Likewise.
26551 * util/lvm.c: Likewise.
26552 * util/console.c: Likewise.
26553 * util/i386/efi/grub-mkimage.c: Likewise.
26554 * util/raid.c: Likewise.
26555
26556 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26557
26558 * commands/videotest.c: Removed include to grub/machine/memory.h.
26559
26560 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26561 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26562 (video_mod_SOURCES): Removed.
26563 (video_mod_CFLAGS): Likewise.
26564 (video_mod_LDFLAGS): Likewise.
26565 (gfxterm_mod_SOURCES): Likewise.
26566 (gfxterm_mod_CFLAGS): Likewise.
26567 (gfxterm_mod_LDFLAGS): Likewise.
26568 (videotest_mod_SOURCES): Likewise.
26569 (videotest_mod_CFLAGS): Likewise.
26570 (videotest_mod_LDFLAGS): Likewise.
26571 (bitmap_mod_SOURCES): Likewise.
26572 (bitmap_mod_CFLAGS): Likewise.
26573 (bitmap_mod_LDFLAGS): Likewise.
26574 (tga_mod_SOURCES): Likewise.
26575 (tga_mod_CFLAGS): Likewise.
26576 (tga_mod_LDFLAGS): Likewise.
26577 (jpeg_mod_SOURCES): Likewise.
26578 (jpeg_mod_CFLAGS): Likewise.
26579 (jpeg_mod_LDFLAGS): Likewise.
26580 (png_mod_SOURCES): Likewise.
26581 (png_mod_CFLAGS): Likewise.
26582 (png_mod_LDFLAGS): Likewise.
26583
26584 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26585 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26586 (video_mod_SOURCES): Added.
26587 (video_mod_CFLAGS): Likewise.
26588 (video_mod_LDFLAGS): Likewise.
26589 (videotest_mod_SOURCES): Likewise.
26590 (videotest_mod_CFLAGS): Likewise.
26591 (videotest_mod_LDFLAGS): Likewise.
26592 (bitmap_mod_SOURCES): Likewise.
26593 (bitmap_mod_CFLAGS): Likewise.
26594 (bitmap_mod_LDFLAGS): Likewise.
26595 (tga_mod_SOURCES): Likewise.
26596 (tga_mod_CFLAGS): Likewise.
26597 (tga_mod_LDFLAGS): Likewise.
26598 (jpeg_mod_SOURCES): Likewise.
26599 (jpeg_mod_CFLAGS): Likewise.
26600 (jpeg_mod_LDFLAGS): Likewise.
26601 (png_mod_SOURCES): Likewise.
26602 (png_mod_CFLAGS): Likewise.
26603 (png_mod_LDFLAGS): Likewise.
26604 (gfxterm_mod_SOURCES): Likewise.
26605 (gfxterm_mod_CFLAGS): Likewise.
26606 (gfxterm_mod_LDFLAGS): Likewise.
26607
26608 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26609 grub/machine/console.h.
26610
26611 2009-01-04 Jerone Young <jerone@gmail.com>
26612
26613 Make on screen instructions clearer
26614
26615 Based on patch created by Jidanni <jidanni@jidanni.org>
26616
26617 * normal/menu.c: print clearer instructions on the screen
26618
26619 2009-01-02 Colin D Bennett <colin@gibibit.com>
26620
26621 New font engine.
26622
26623 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26624 build system and fixed gfxterm.c to work with different sized fonts.
26625
26626 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26627
26628 * configure: Re-generated.
26629
26630 * DISTLIST: Removed font/manager.c.
26631 Added font/font.c.
26632 Added font/font_cmd.c.
26633
26634 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26635 compilation.
26636
26637 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26638
26639 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26640
26641 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26642
26643 * normal/menu.c: Likewise.
26644
26645 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26646 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
26647
26648 * include/grub/font.h: Replaced with new file.
26649
26650 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26651 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26652 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26653 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26654 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
26655 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
26656 fg_red, fg_green, fg_blue, fg_alpha.
26657 (grub_video_adapter): Removed blit_glyph.
26658 (grub_video_blit_glyph): Removed.
26659
26660 * font/manager.c: Removed file.
26661
26662 * font/font.c: New file.
26663
26664 * font/font_cmd.c: Likewise.
26665
26666 * video/video.c (grub_video_blit_glyph): Removed.
26667
26668 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26669 (grub_video_vbe_map_rgba): Likewise.
26670 (grub_video_vbe_unmap_color_int): Likewise.
26671 (grub_video_vbe_blit_glyph): Removed.
26672 (grub_video_vbe_adapter): Removed blit_glyph.
26673
26674 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26675 (get_pixel): Likewise.
26676 (set_pixel): Likewise.
26677
26678 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
26679
26680 * term/gfxterm.c: Adapted to new font engine.
26681
26682 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
26683
26684 * term/i386/pc/vga.c: Likewise.
26685
26686 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
26687
26688 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26689
26690 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26691
26692 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26693
26694 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26695
26696 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26697
26698 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26699
26700 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26701
26702 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26703
26704 * util/grub.d/00_header.in: Changed to use new loadfont command.
26705
26706 * util/grub-mkconfig_lib.in: Changed font extension.
26707
26708 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
26709
26710 * util/getroot.c (grub_util_get_grub_dev): Add support for
26711 /dev/md/dNNpNN style partitionable mdraid devices.
26712
26713 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
26714
26715 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26716 at a time limit of the PXE TFTP API correctly.
26717 (grub_pxefs_close): Likewise.
26718
26719 2008-11-29 Robert Millan <rmh@aybabtu.com>
26720
26721 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
26722 grub_ata_device_initialize() calls.
26723
26724 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
26725
26726 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26727 iteration failed.
26728 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26729
26730 2008-11-28 Robert Millan <rmh@aybabtu.com>
26731
26732 Fix build on powerpc-ieee1275. Based on patch created by
26733 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26734 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26735 `kern/ieee1275/mmap.c'.
26736 * include/grub/powerpc/ieee1275/memory.h: New file.
26737
26738 Provide grub-install on coreboot.
26739 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26740 (grub_install_SOURCES): New variable.
26741 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26742 usable on coreboot.
26743
26744 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
26745
26746 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26747 to `grub_term_input_t'.
26748 (grub_term_get_current_output): Change return type to
26749 `grub_term_output_t'.
26750
26751 2008-11-22 Robert Millan <rmh@aybabtu.com>
26752
26753 Fix breakage on coreboot due to declaration mismatch.
26754 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26755 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26756 grub_vga_text_cls().
26757
26758 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
26759 comments. Avoid copying one more byte than necessary (just in case).
26760
26761 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26762 to 0x200000 (avoids trouble with some OFW implementations, and matches
26763 with the one in Yaboot).
26764 Reported by Manoel Abranches
26765
26766 2008-11-20 Robert Millan <rmh@aybabtu.com>
26767
26768 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26769 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26770
26771 * util/grub-mkconfig_lib.in (grub_warn): New function.
26772 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26773 warnings, to obtain consistent formatting.
26774 * util/grub.d/00_header.in: Likewise.
26775 * util/update-grub_lib.in: Likewise.
26776
26777 * loader/i386/linux.c (allocate_pages): Fix a warning.
26778 Move comment text to `#error' stanza.
26779
26780 Harmonize ieee1275's grub_available_iterate() with the generic
26781 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26782 build problem on i386-ieee1275):
26783 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26784 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26785 parameter `type'. Update all users of this function.
26786 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26787 `kern/ieee1275/mmap.c'.
26788 * kern/ieee1275/init.c
26789 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26790 with ...
26791 (grub_machine_mmap_iterate): ... this.
26792 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26793 return type to `grub_err_t'. Update all implementations of this
26794 function prototype.
26795 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26796 Likewise.
26797
26798 Add `lsmmap' command (lists firmware-provided memory map):
26799 * commands/lsmmap.c: New file.
26800 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26801 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26802 variables.
26803 * conf/powerpc-ieee1275.rmk: Likewise.
26804 * conf/i386-coreboot.rmk: Likewise.
26805 * conf/i386-ieee1275.rmk: Likewise.
26806
26807 2008-11-19 Robert Millan <rmh@aybabtu.com>
26808
26809 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
26810 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26811 constraints to initrd allocation (based on code from
26812 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26813 for Linux to find it.
26814
26815 2008-11-14 Robert Millan <rmh@aybabtu.com>
26816
26817 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26818 order to cope with duplicate slashes.
26819
26820 2008-11-14 Robert Millan <rmh@aybabtu.com>
26821
26822 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26823 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26824 don't want to mess with lower memory, because it is used in the Linux
26825 loader.
26826
26827 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
26828 an appropriate place in lower memory, between 0x10000 and 0x90000,
26829 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26830 is in our heap (probably as a result of it being corrupted during
26831 decompression). Add #error instance with comment to explain why this
26832 loader isn't currently usable on PC/BIOS.
26833
26834 2008-11-14 Robert Millan <rmh@aybabtu.com>
26835
26836 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
26837 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
26838
26839 2008-11-12 Robert Millan <rmh@aybabtu.com>
26840
26841 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26842
26843 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26844 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26845 from here ...
26846 * include/grub/i386/pc/memory.h: ... to here.
26847
26848 2008-11-12 Robert Millan <rmh@aybabtu.com>
26849
26850 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26851 split).
26852
26853 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26854 (grub_console_cur_color, grub_console_real_putchar)
26855 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26856 (grub_console_setcolorstate, grub_console_setcolor)
26857 (grub_console_getcolor): Move from here ...
26858 * include/grub/i386/vga_common.h: ... to here (new file).
26859
26860 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26861 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26862 `<grub/i386/io.h>'.
26863 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26864 `<grub/i386/vga_common.h>'.
26865
26866 2008-11-12 Robert Millan <rmh@aybabtu.com>
26867
26868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26869 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26870 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26871 variables.
26872 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26873 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26874
26875 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26876 grub_console_init() with call to grub_vga_text_init().
26877 (grub_machine_fini): Replace call to
26878 grub_console_fini() with call to grub_vga_text_fini() and
26879 grub_at_keyboard_fini().
26880
26881 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26882 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26883 (grub_console_setcolorstate, grub_console_setcolor)
26884 (grub_console_getcolor): New function prototypes.
26885
26886 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26887 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26888 (grub_vga_text_setcursor): Static-ize.
26889 (grub_vga_text_term): New structure.
26890 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26891
26892 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26893 (grub_console_cur_color, grub_console_standard_color)
26894 (grub_console_normal_color, grub_console_highlight_color)
26895 (map_char, grub_console_putchar, grub_console_getcharwidth)
26896 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26897 (grub_console_getcolor): Move from here ...
26898 * term/i386/vga_common.c: ... to here (same function names).
26899
26900 2008-11-12 Robert Millan <rmh@aybabtu.com>
26901
26902 Use newly-added Multiboot support in coreboot.
26903
26904 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26905 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26906
26907 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26908 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26909 (codestart): Store the MBI in `startup_multiboot_info' when we're
26910 being loaded using Multiboot.
26911
26912 * kern/i386/coreboot/init.c (grub_machine_init): Move
26913 grub_at_keyboard_init() call to beginning of function (useful for
26914 debugging). Call grub_machine_mmap_init() before attempting to use
26915 grub_machine_mmap_iterate().
26916 (grub_lower_mem, grub_upper_mem): Move from here ...
26917 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26918 here (new file).
26919
26920 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26921 function prototype.
26922
26923 2008-11-12 Robert Millan <rmh@aybabtu.com>
26924
26925 Fix a regression introduced by the at_keyboard.mod split. Because
26926 some terminals are default on some platforms and non-default on
26927 others, the first terminal being registered determines which is
26928 going to be default.
26929
26930 * kern/term.c (grub_term_register_input): If this is the first
26931 terminal being registered, set it as the current one.
26932 (grub_term_register_output): Likewise.
26933
26934 * term/efi/console.c (grub_console_init): Do not call
26935 grub_term_set_current_output() or grub_term_set_current_input().
26936 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26937 * term/i386/pc/console.c (grub_console_init): Likewise.
26938 (grub_console_fini): Do not call grub_term_set_current_input()
26939 (but leave grub_term_set_current_output() to restore text mode).
26940
26941 2008-11-10 Robert Millan <rmh@aybabtu.com>
26942
26943 * util/grub.d/00_header.in: Add backward compatibility check for
26944 versions of terminal.mod that don't understand `terminal_input' or
26945 `terminal_output'.
26946
26947 2008-11-09 Robert Millan <rmh@aybabtu.com>
26948
26949 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26950 `terminal_input' / `terminal_output', not `terminal'.
26951
26952 2008-11-08 Robert Millan <rmh@aybabtu.com>
26953
26954 * Makefile.in (include_DATA): Fix srcdir=. assumption.
26955 (DISTCLEANFILES): Add `build_env.mk'.
26956
26957 2008-11-08 Robert Millan <rmh@aybabtu.com>
26958
26959 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
26960 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26961 members. Update all users.
26962 * util/console.c (grub_ncurses_term): Split in ...
26963 (grub_ncurses_term_input): ... this, and ...
26964 (grub_ncurses_term_output): ... this. Update all users.
26965 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
26966
26967 2008-11-08 Robert Millan <rmh@aybabtu.com>
26968
26969 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26970 (PKGDATA): Add $(pkgdata_SRCDIR).
26971 (pkglib_BUILDDIR): New variable.
26972 (pkgdata_SRCDIR): New variable.
26973 (build_env.mk): New target.
26974 (include_DATA): New variable.
26975 (install-local): Install $(include_DATA) files in $(includedir).
26976
26977 2008-11-07 Pavel Roskin <proski@gnu.org>
26978
26979 * gendistlist.sh: Use C locale for sorting to ensure consistent
26980 output on all systems.
26981
26982 * util/grub.d/00_header.in: Remove incorrect space before
26983 "serial".
26984
26985 2008-11-07 Robert Millan <rmh@aybabtu.com>
26986
26987 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26988 per specification.
26989 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26990 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26991 (based on find_multi_boot1_header).
26992 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26993 using find_multi_boot2_header(), and abort if neither Multiboot or
26994 Multiboot headers were found.
26995
26996 2008-11-07 Robert Millan <rmh@aybabtu.com>
26997
26998 Modularize at_keyboard.mod:
26999
27000 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27001 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27002 (at_keyboard_mod_LDFLAGS): New variables.
27003
27004 Actual terminal split:
27005
27006 * include/grub/term.h (struct grub_term): Split in ...
27007 (struct grub_term_input): ... this, and ...
27008 (struct grub_term_output): ... this. Update all users.
27009 (grub_term_set_current): Split in ...
27010 (grub_term_set_current_input): ... this, and ...
27011 (grub_term_set_current_output): ... this.
27012 (grub_term_get_current): Split in ...
27013 (grub_term_get_current_input): ... this, and ...
27014 (grub_term_get_current_output): ... this.
27015 (grub_term_register): Split in ...
27016 (grub_term_register_input): ... this, and ...
27017 (grub_term_register_output): ... this.
27018 (grub_term_unregister): Split in ...
27019 (grub_term_unregister_input): ... this, and ...
27020 (grub_term_unregister_output): ... this.
27021 (grub_term_iterate): Split in ...
27022 (grub_term_iterate_input): ... this, and ...
27023 (grub_term_iterate_output): ... this.
27024
27025 * kern/term.c (grub_term_list): Split in ...
27026 (grub_term_list_input): ... this, and ...
27027 (grub_term_list_output): ... this. Update all users.
27028 (grub_cur_term): Split in ...
27029 (grub_cur_term_input): ... this, and ...
27030 (grub_cur_term_output): ... this. Update all users.
27031 (grub_term_set_current): Split in ...
27032 (grub_term_set_current_input): ... this, and ...
27033 (grub_term_set_current_output): ... this.
27034 (grub_term_get_current): Split in ...
27035 (grub_term_get_current_input): ... this, and ...
27036 (grub_term_get_current_output): ... this.
27037 (grub_term_register): Split in ...
27038 (grub_term_register_input): ... this, and ...
27039 (grub_term_register_output): ... this.
27040 (grub_term_unregister): Split in ...
27041 (grub_term_unregister_input): ... this, and ...
27042 (grub_term_unregister_output): ... this.
27043 (grub_term_iterate): Split in ...
27044 (grub_term_iterate_input): ... this, and ...
27045 (grub_term_iterate_output): ... this.
27046
27047 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27048 a check for input and one for output (and only attempt to get keys
27049 from user when input works).
27050
27051 * util/grub-probe.c (grub_term_get_current): Split in ...
27052 (grub_term_get_current_input): ... this, and ...
27053 (grub_term_get_current_output): ... this.
27054 * util/grub-fstest.c: Likewise.
27055 * util/i386/pc/grub-setup.c: Likewise.
27056 * util/grub-editenv.c: Likewise.
27057
27058 Portability adjustments:
27059
27060 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27061 `term/i386/pc/at_keyboard.c'.
27062 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27063 grub_keyboard_controller_init() (now handled by terminal .init).
27064 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27065 grub_at_keyboard_init().
27066 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27067 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27068 at_keyboard.mod via input terminal interface).
27069 * include/grub/i386/coreboot/console.h: Convert into a stub for
27070 `<grub/i386/pc/console.h>'.
27071
27072 Migrate full terminals to new API:
27073
27074 * term/efi/console.c (grub_console_term): Split into ...
27075 (grub_console_term_input): ... this, and ...
27076 (grub_console_term_output): ... this. Update all users.
27077 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27078 (grub_ofconsole_init): Split into ...
27079 (grub_ofconsole_init_input): ... this, and ...
27080 (grub_ofconsole_init_output): ... this.
27081 (grub_ofconsole_term): Split into ...
27082 (grub_ofconsole_term_input): ... this, and ...
27083 (grub_ofconsole_term_output): ... this. Update all users.
27084 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27085 (grub_serial_term_input): ... this, and ...
27086 (grub_serial_term_output): ... this. Update all users.
27087 * term/i386/pc/console.c (grub_console_term): Split into ...
27088 (grub_console_term_input): ... this, and ...
27089 (grub_console_term_output): ... this. Update all users.
27090 (grub_console_term_input): Only enable it on PC/BIOS platform.
27091 (grub_console_init): Remove grub_keyboard_controller_init() call.
27092
27093 Migrate input terminals to new API:
27094
27095 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27096 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27097 i386-specific anyway).
27098 (grub_console_checkkey): Rename to ...
27099 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27100 users.
27101 (grub_keyboard_controller_orig): New variable.
27102 (grub_console_getkey): Rename to ...
27103 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27104 users.
27105 (grub_keyboard_controller_init): Static-ize. Save original
27106 controller value so that it can be restored ...
27107 (grub_keyboard_controller_fini): ... here (new function).
27108 (grub_at_keyboard_term): New structure.
27109 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27110 functions.
27111
27112 Migrate output terminals to new API:
27113
27114 * term/i386/pc/vga.c (grub_vga_term): Change type to
27115 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27116 members. Update all users.
27117 * term/gfxterm.c (grub_video_term): Change type to
27118 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27119 members. Update all users.
27120 * include/grub/i386/pc/console.h (grub_console_checkkey)
27121 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27122 etc).
27123
27124 Migrate `terminal' command and userland tools to new API:
27125
27126 * commands/terminal.c (grub_cmd_terminal): Split into ...
27127 (grub_cmd_terminal_input): ... this, and ...
27128 (grub_cmd_terminal_output): ... this.
27129 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27130 `terminal_input' and `terminal_output'.
27131 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27132 `terminal_input' / `terminal_output' API.
27133 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27134 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27135 provided ${GRUB_TERMINAL}, convert it).
27136
27137 2008-11-04 Robert Millan <rmh@aybabtu.com>
27138
27139 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27140 for FreeBSD.
27141 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27142
27143 2008-11-03 Bean <bean123ch@gmail.com>
27144
27145 * kern/elf.c (grub_elf32_load): Revert to previous code.
27146 (grub_elf64_load): Likewise.
27147
27148 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27149
27150 2008-11-01 Robert Millan <rmh@aybabtu.com>
27151
27152 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27153 (TARGET_CPPFLAGS): Likewise.
27154 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27155
27156 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27157
27158 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27159
27160 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27161
27162 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27163 addition of objects until the code is not going to be able to fail.
27164
27165 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27166
27167 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27168 (add a missing NULL check, and correct them by moving the pointer
27169 operations after the actual check).
27170
27171 2008-10-29 Robert Millan <rmh@aybabtu.com>
27172
27173 * util/i386/pc/grub-install.in: Handle empty string as output from
27174 make_system_path_relative_to_its_root().
27175
27176 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27177
27178 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27179 circular metadata worst case scenario. If the metadata is circular
27180 then copy the wrap in place.
27181 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27182 project lib/format_text/layout.h
27183 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27184
27185 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27186
27187 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27188
27189 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27190
27191 * util/update-grub_lib.in: Mention filename in warning message.
27192
27193 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27194
27195 * NEWS: Update for rename of update-grub to grub-mkconfig.
27196
27197 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27198
27199 * util/update-grub_lib.in: Copy to ...
27200 * util/grub-mkconfig_lib.in: ... this. Update all users.
27201 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27202 * util/update-grub.in: Rename to ...
27203 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27204 option. Add `--output' option to allow users to specify the generated
27205 configuration file. Default to stdout.
27206 (update_grub_dir): Rename to ...
27207 (grub_mkconfig_dir): ... this.
27208 (grub_cfg): Default to an empty string.
27209 * conf/common.rmk (update-grub): Rename to ...
27210 (grub-mkconfig): ... this.
27211 (update-grub_lib): Copy to ...
27212 (grub-mkconfig_lib): ... this.
27213 (update-grub_SCRIPTS): Copy to ...
27214 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27215 (update-grub_DATA): Rename to ...
27216 (grub-mkconfig_DATA): ... this.
27217
27218 2008-09-28 Robert Millan <rmh@aybabtu.com>
27219
27220 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27221 to `modified'. Add the real `created' field.
27222 (grub_iso9660_uuid): Use `modified' rather than `created' for
27223 constructing the UUID.
27224
27225 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27226
27227 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27228 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27229
27230 2008-09-28 Bean <bean123ch@gmail.com>
27231
27232 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27233 Thanks to Christian Franke for finding this bug.
27234
27235 2008-09-25 Robert Millan <rmh@aybabtu.com>
27236
27237 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27238 instances of grub_util_get_disk_name() (see previous commit).
27239
27240 2008-09-25 Robert Millan <rmh@aybabtu.com>
27241
27242 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27243 `util/i386/get_disk_name.c'.
27244 * conf/i386-efi.rmk: Likewise.
27245 * conf/x86_64-efi.rmk: Likewise.
27246 * conf/i386-coreboot.rmk: Likewise.
27247 * conf/i386-ieee1275.rmk: Likewise.
27248 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27249 `util/ieee1275/get_disk_name.c'.
27250 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27251 * util/ieee1275/get_disk_name.c: Remove file.
27252 * util/i386/get_disk_name.c: Remove file.
27253 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27254 "hd%d" for device.map entries, rather than using
27255 grub_util_get_disk_name().
27256
27257 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27258
27259 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27260 warning.
27261 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27262
27263 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27264
27265 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27266 Changed to 0x5100.
27267 (GRUB_TERM_PPAGE): Changed to 0x4900.
27268
27269 2008-09-24 Robert Millan <rmh@aybabtu.com>
27270
27271 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27272 macros (they were i386-pc specific).
27273 * include/grub/sparc64/ieee1275/console.h: Likewise.
27274 * include/grub/efi/console.h: Likewise.
27275
27276 2008-09-22 Bean <bean123ch@gmail.com>
27277
27278 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27279 resident and in attribute list.
27280
27281 * include/grub/ntfs.h (BMP_LEN): Removed.
27282
27283 2008-09-22 Bean <bean123ch@gmail.com>
27284
27285 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27286 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27287
27288 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27289 error occurs, as grub_disk_open will call grub_disk_close, which will
27290 call p->close (scsi).
27291
27292 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27293
27294 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27295 (AC_PREREQ): Bumped to 2.59.
27296 (AC_TRY_COMPILE): Replace obsolete macro with ...
27297 (AC_COMPILE_IFELSE): ... this.
27298 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27299 (AC_LINK_IFELSE): ... this.
27300
27301 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27302
27303 * autogen.sh: Add a call to `gendistlist.sh'.
27304
27305 2008-09-19 Christian Franke <franke@computer.org>
27306
27307 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27308 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27309 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27310 Export __enable_execute_stack() to modules.
27311 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27312 New function.
27313
27314 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27315
27316 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27317 Sort the list.
27318
27319 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27320
27321 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27322 #include <grub/util/hostdisk.h>.
27323
27324 2008-09-08 Robert Millan <rmh@aybabtu.com>
27325
27326 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27327 segments when their filesz is zero (grub_file_read() interprets
27328 zero-size as "read until EOF", which results in memory corruption).
27329 Use `lowest_segment' rather than 0 for calculating the current
27330 segment load address.
27331
27332 2008-09-08 Robert Millan <rmh@aybabtu.com>
27333
27334 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27335 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27336 clobbered useful information.
27337
27338 2008-09-08 Robert Millan <rmh@aybabtu.com>
27339
27340 * include/grub/util/biosdisk.h: Move to ...
27341 * include/grub/util/hostdisk.h: ... here. Update all users.
27342 * util/biosdisk.c: Move to ...
27343 * util/hostdisk.c: ... here. Update all users.
27344
27345 2008-09-07 Robert Millan <rmh@aybabtu.com>
27346
27347 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27348 variables.
27349 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27350 and length can be stored directly in the `mbi->mmap_addr' and
27351 `mbi->mmap_length' struct fields.
27352
27353 2008-09-07 Robert Millan <rmh@aybabtu.com>
27354
27355 * conf/i386.rmk: New file. Provides declaration for building
27356 `cpuid.mod'.
27357 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27358 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27359 variables.
27360 Include `conf/i386.mk'.
27361 * conf/i386-efi.rmk: Likewise.
27362 * conf/x86_64-efi.rmk: Likewise.
27363 * conf/i386-coreboot.rmk: Likewise.
27364 * conf/i386-ieee1275.rmk: Likewise.
27365
27366 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27367
27368 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27369 Adds optimization support for BGR based modes.
27370
27371 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27372 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27373 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27374 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27375 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27376 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27377 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27378 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27379 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27380 (grub_video_i386_vbeblit_index_index): Likewise.
27381 (grub_video_i386_vbeblit_replace_directN): Added.
27382 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27383 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27384 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27385 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27386 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27387 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27388 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27389 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27390 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27391 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27392 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27393 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27394 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27395
27396 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27397 (grub_video_i386_vbefill_R8G8B8): Likewise.
27398 (grub_video_i386_vbefill_index): Likewise.
27399 (grub_video_i386_vbefill_direct32): Added.
27400 (grub_video_i386_vbefill_direct24): Likewise.
27401 (grub_video_i386_vbefill_direct16): Likewise.
27402 (grub_video_i386_vbefill_direct8): Likewise.
27403
27404 * include/grub/video.h (grub_video_blit_format): Removed
27405 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27406 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27407 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27408 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27409 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27410
27411 * video/video.c (grub_video_get_blit_format): Updated to use new
27412 blit formats. Added handling for 16 bit color modes.
27413
27414 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27415 fillers.
27416 (common_blitter): Updated to use new blitters.
27417
27418 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27419 Removed.
27420 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27421 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27422 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27423 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27424 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27425 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27426 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27427 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27428 (grub_video_i386_vbeblit_index_index): Likewise.
27429 (grub_video_i386_vbeblit_replace_directN): Added.
27430 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27431 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27432 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27433 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27434 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27435 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27436 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27437 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27438 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27439 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27440 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27441 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27442 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27443
27444 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27445 (grub_video_i386_vbefill_R8G8B8): Likewise.
27446 (grub_video_i386_vbefill_index): Likewise.
27447 (grub_video_i386_vbefill_direct32): Added.
27448 (grub_video_i386_vbefill_direct24): Likewise.
27449 (grub_video_i386_vbefill_direct16): Likewise.
27450 (grub_video_i386_vbefill_direct8): Likewise.
27451
27452 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27453 types.
27454
27455 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27456 types.
27457
27458 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27459 blitter types.
27460
27461 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27462 types.
27463
27464 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27465
27466 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27467 RAID level 1.
27468
27469 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27470
27471 * fs/iso9660.c (grub_iso9660_date): New structure.
27472 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27473 (grub_iso9660_uuid): New function.
27474
27475 2008-09-05 Bean <bean123ch@gmail.com>
27476
27477 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27478
27479 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27480 insensitive bit for names in Win32 and Win32 & DOS namespace.
27481
27482 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27483
27484 * include/grub/types.h (LONG_MAX): Likewise.
27485
27486 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27487
27488 * util/getroot.c: Include <config.h>.
27489 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27490 add support for /dev/md/N devices and handle LVM double dash escaping.
27491
27492 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27493
27494 * config.guess: Update to latest version from config git.
27495 * config.sub: Likewise.
27496
27497 2008-09-03 Robert Millan <rmh@aybabtu.com>
27498
27499 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27500 `disk->total_sectors'.
27501
27502 2008-09-01 Colin D Bennett <colin@gibibit.com>
27503
27504 * include/grub/normal.h: Fixed incorrect comment for
27505 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27506
27507 2008-09-01 Colin D Bennett <colin@gibibit.com>
27508
27509 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27510 values with defines.
27511
27512 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27513 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27514 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27515 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27516 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27517 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27518 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27519 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27520 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27521 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27522 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27523 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27524 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27525 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27526 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27527 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27528 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27529 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27530 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27531
27532 2008-08-31 Robert Millan <rmh@aybabtu.com>
27533
27534 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27535 declaration.
27536 (grub_multiboot): Fix a few warnings.
27537
27538 2008-08-31 Robert Millan <rmh@aybabtu.com>
27539
27540 * loader/i386/pc/multiboot.c: Update comment not to say that
27541 boot_device support is unimplemented.
27542
27543 2008-08-31 Robert Millan <rmh@aybabtu.com>
27544
27545 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27546 or memory map support are unimplemented.
27547
27548 2008-08-31 Colin D Bennett <colin@gibibit.com>
27549
27550 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27551
27552 2008-08-31 Colin D Bennett <colin@gibibit.com>
27553
27554 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27555 total video memory in 'vbeinfo' output; show color format details for
27556 each video mode.
27557
27558 2008-08-30 Pavel Roskin <proski@gnu.org>
27559
27560 * util/genmoddep.c: Remove for real this time.
27561 * DISTLIST: Remove util/genmoddep.c.
27562
27563 2008-08-30 Robert Millan <rmh@aybabtu.com>
27564
27565 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27566 as required by Multiboot spec (it was already 4-byte aligned, but
27567 only by chance).
27568
27569 2008-08-29 Pavel Roskin <proski@gnu.org>
27570
27571 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27572 * kern/powerpc/ieee1275/startup.S: ... this.
27573 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27574 * DISTLIST: Likewise.
27575
27576 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27577 grub/cpu/kernel.h. Add start label for consistency with other
27578 platforms. Add grub_prefix immediately after start. Add jump
27579 to the code after grub_prefix.
27580 * include/grub/powerpc/kernel.h: Provide valid values for
27581 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27582
27583 2008-08-29 Bean <bean123ch@gmail.com>
27584
27585 * configure.ac: Change host_os to cygwin for mingw.
27586 (asprintf): New check for function.
27587
27588 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27589 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27590
27591 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27592 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27593 sync, sleep and grub_util_get_disk_size for mingw.
27594
27595 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27596 to get size in mingw.
27597 (open_device): Use flag O_BINARY if it's defined.
27598 (find_root_device): Add dummy code for mingw.
27599
27600 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27601 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27602 (get_scsi_disk_name): Return 0 for mingw.
27603
27604 * util/hostfs.c: #include <grub/util/misc.h>.
27605 (grub_hostfs_open): Use "rb" flag to open file, use
27606 grub_util_get_disk_size to get disk size for mingw.
27607
27608 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27609 (asprintf): New function if HAVE_ASPRINTF is not set.
27610 (sync): New function for mingw.
27611 (sleep): Likewise.
27612 (grub_util_get_disk_size): Likewise.
27613
27614 2008-08-28 Pavel Roskin <proski@gnu.org>
27615
27616 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27617 kern/time.c.
27618
27619 2008-08-28 Robert Millan <rmh@aybabtu.com>
27620
27621 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27622
27623 2008-08-28 Robert Millan <rmh@aybabtu.com>
27624
27625 Change find_grub_drive() syntax so it doesn't prevent it from
27626 detecting NULL names as errors.
27627
27628 * util/biosdisk.c (find_grub_drive): Move free slot search code
27629 from here ...
27630 (find_free_slot): ... to here.
27631 (read_device_map): Use find_free_slot() to search for free slots.
27632
27633 2008-08-27 Marco Gerards <marco@gnu.org>
27634
27635 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27636 (scsi_mod_SOURCES): New variable.
27637 (scsi_mod_CFLAGS): Likewise
27638 (scsi_mod_LDFLAGS): Likewise.
27639
27640 * disk/scsi.c: New file.
27641
27642 * include/grub/scsi.h: Likewise.
27643
27644 * include/grub/scsicmd.h: Likewise.
27645
27646 * disk/ata.c: Include <grub/scsi.h>.
27647 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27648 instead.
27649 (grub_ata_iterate): Skip ATAPI devices.
27650 (grub_ata_open): Only handle ATAPI devices.
27651 (struct grub_atapi_read): Removed.
27652 (grub_atapi_readsector): Likewise.
27653 (grub_ata_read): No longer handle ATAPI devices.
27654 (grub_ata_write): Likewise.
27655 (grub_atapi_iterate): New function.
27656 (grub_atapi_read): Likewise.
27657 (grub_atapi_write): Likewise.
27658 (grub_atapi_open): Likewise.
27659 (grub_atapi_close): Likewise.
27660 (grub_atapi_dev): New variable.
27661 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27662 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27663
27664 * include/grub/disk.h (enum grub_disk_dev_id): Add
27665 `GRUB_DISK_DEVICE_SCSI_ID'.
27666
27667 2008-08-26 Robert Millan <rmh@aybabtu.com>
27668
27669 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27670 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27671 descriptive.
27672
27673 2008-08-23 Bean <bean123ch@gmail.com>
27674
27675 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27676 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27677 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27678 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27679 dm_nv.mod.
27680 (raid5rec_mod_SOURCES): New macro.
27681 (raid5rec_mod_CFLAGS): Likewise.
27682 (raid5rec_mod_LDFLAGS): Likewise.
27683 (raid6rec_mod_SOURCES): Likewise.
27684 (raid6rec_mod_CFLAGS): Likewise.
27685 (raid6rec_mod_LDFLAGS): Likewise.
27686 (mdraid_mod_SOURCES): Likewise.
27687 (mdraid_mod_CFLAGS): Likewise.
27688 (mdraid_mod_LDFLAGS): Likewise.
27689 (dm_nv_mod_SOURCES): Likewise.
27690 (dm_nv_mod_CFLAGS): Likewise.
27691 (dm_nv_mod_LDFLAGS): Likewise.
27692
27693 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27694 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27695 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27696
27697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27698 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27699
27700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27701
27702 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27703
27704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27705
27706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27707
27708 * disk/raid5_recover.c: New file.
27709
27710 * disk/raid6_recover.c: Likewise.
27711
27712 * disk/mdraid_linux.c: Likewise.
27713
27714 * disk/dmraid_nvidia.c: Likewise.
27715
27716 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27717 ULONG_MAX.
27718
27719 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27720 calculate the size of raid device.
27721 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27722 different layout of raid5.
27723 (grub_raid_scan_device): Remove code specific to mdraid.
27724 (grub_raid_list): New variable.
27725 (free_array): New function.
27726 (grub_raid_register): Likewise.
27727 (grub_raid_unregister): Likewise.
27728 (grub_raid_rescan): Likewise.
27729 (GRUB_MOD_INIT): Don't iterate device here.
27730 (GRUB_MOD_FINI): Use free_array to release resource.
27731
27732 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27733 (grub_raid5_recover_func_t): New function variable type.
27734 (grub_raid6_recover_func_t): Likewise.
27735 (grub_raid5_recover_func): New variable.
27736 (grub_raid6_recover_func): Likewise.
27737 (grub_raid_register): New function.
27738 (grub_raid_unregister): Likewise.
27739 (grub_raid_rescan): Likewise.
27740 (grub_raid_block_xor): Likewise.
27741
27742 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27743 (CMD_CRC): New macro.
27744 (part): Removed.
27745 (read_file): Handle device as well as file.
27746 (cmd_crc): New function.
27747 (fstest): Handle multiple disks.
27748 (options): Remove part, raw and long, add root and diskcount.
27749 (usage): Add crc, remove -p, -r, -l, add -r and -c.
27750 (main): Find the first non option entry and ignore subsequent options,
27751 add handling for the new options, support multiple disks.
27752
27753 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27754
27755 2008-08-23 Bean <bean123ch@gmail.com>
27756
27757 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27758
27759 * genfslist.sh: Ignore kernel.mod.
27760
27761 * genpartmaplist.sh: Likewise.
27762
27763 2008-08-23 Robert Millan <rmh@aybabtu.com>
27764
27765 * util/getroot.c (find_root_device): Skip anything that starts with
27766 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27767
27768 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
27769
27770 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27771 * util/grub.d/00_header.in: Allow the administrator to change default
27772 gfxmode via ${GRUB_GFXMODE}.
27773
27774 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
27775
27776 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27777
27778 2008-08-21 Robert Millan <rmh@aybabtu.com>
27779
27780 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27781 loader.
27782 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27783 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27784
27785 2008-08-20 Carles Pina i Estany <carles@pina.cat>
27786
27787 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27788 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27789
27790 2008-08-19 Robert Millan <rmh@aybabtu.com>
27791
27792 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27793 (struct grub_virtual_screen): Remove `cursor_color'.
27794 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27795 initialization.
27796 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27797
27798 2008-08-18 Robert Millan <rmh@aybabtu.com>
27799
27800 Unify (identical) linux_normal.c files.
27801 * loader/i386/efi/linux_normal.c: Move from here ...
27802 * loader/linux_normal.c: ... to here. Update all users.
27803 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27804 * loader/i386/ieee1275/linux_normal.c: Likewise.
27805
27806 2008-08-18 Robert Millan <rmh@aybabtu.com>
27807
27808 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27809 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27810 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27811 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27812 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27813 New macros.
27814 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27815 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27816 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27817 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27818 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27819 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27820 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27821 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27822 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27823 portably using grub_getxy().
27824 Replace `-EFI' with `-bzImage' in boot message.
27825
27826 2008-08-17 Robert Millan <rmh@aybabtu.com>
27827
27828 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27829
27830 2008-08-17 Robert Millan <rmh@aybabtu.com>
27831
27832 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27833
27834 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27835 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27836 (grub_machine_mmap_iterate): New function declaration.
27837 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27838 structure.
27839 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27840 macros.
27841
27842 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27843 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27844 Move e820 parsing from here ...
27845 * kern/i386/pc/mmap.c: New file.
27846 (grub_machine_mmap_iterate): ... to here.
27847
27848 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27849 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27850 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27851 (grub_available_iterate): Redeclare to return `void', and redeclare
27852 its hook to use grub_uint64_t as addr and size parameters, and rename
27853 to ...
27854 (grub_machine_mmap_iterate): ... this. Update all users.
27855
27856 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27857 to make it more readable. Rename to ...
27858 (grub_machine_mmap_iterate): ... this.
27859
27860 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27861 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27862 (grub_multiboot): Allocate an extra region after the payload, and fill
27863 it with a Multiboot memory map. Adjust a.out loader to calculate size
27864 with the extra space.
27865 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27866 with the extra space.
27867
27868 2008-08-17 Carles Pina i Estany <carles@pina.cat>
27869
27870 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
27871
27872 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
27873
27874 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27875 mdate-sh to the list `find' searches for.
27876 * DISTLIST: Regenerated.
27877
27878 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
27879
27880 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27881 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
27882 genmoddep.awk, gensymlist.sh.in.
27883 (DISTDIRS): Add bus, docs, hook, lib.
27884 * DISTLIST: Regenerated.
27885 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
27886
27887 2008-08-16 Robert Millan <rmh@aybabtu.com>
27888
27889 * disk/raid.c (grub_raid_init): Handle/report errors set by
27890 grub_device_iterate().
27891 * disk/lvm.c (grub_lvm_init): Likewise.
27892
27893 2008-08-15 Bean <bean123ch@gmail.com>
27894
27895 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27896 and datehook.mod.
27897 (datetime_mod_SOURCES): New macro.
27898 (datetime_mod_CFLAGS): Likewise.
27899 (datetime_mod_LDFLAGS): Likewise.
27900 (date_mod_SOURCES): Likewise.
27901 (date_mod_CFLAGS): Likewise.
27902 (date_mod_LDFLAGS): Likewise.
27903 (datehook_mod_SOURCES): Likewise.
27904 (datehook_mod_CFLAGS): Likewise.
27905 (datehook_mod_LDFLAGS): Likewise.
27906
27907 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27908 and datehook.mod.
27909 (datetime_mod_SOURCES): New macro.
27910 (datetime_mod_CFLAGS): Likewise.
27911 (datetime_mod_LDFLAGS): Likewise.
27912 (date_mod_SOURCES): Likewise.
27913 (date_mod_CFLAGS): Likewise.
27914 (date_mod_LDFLAGS): Likewise.
27915 (datehook_mod_SOURCES): Likewise.
27916 (datehook_mod_CFLAGS): Likewise.
27917 (datehook_mod_LDFLAGS): Likewise.
27918
27919 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27920 and datehook.mod.
27921 (datetime_mod_SOURCES): New macro.
27922 (datetime_mod_CFLAGS): Likewise.
27923 (datetime_mod_LDFLAGS): Likewise.
27924 (date_mod_SOURCES): Likewise.
27925 (date_mod_CFLAGS): Likewise.
27926 (date_mod_LDFLAGS): Likewise.
27927 (datehook_mod_SOURCES): Likewise.
27928 (datehook_mod_CFLAGS): Likewise.
27929 (datehook_mod_LDFLAGS): Likewise.
27930
27931 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27932 and datehook.mod.
27933 (datetime_mod_SOURCES): New macro.
27934 (datetime_mod_CFLAGS): Likewise.
27935 (datetime_mod_LDFLAGS): Likewise.
27936 (date_mod_SOURCES): Likewise.
27937 (date_mod_CFLAGS): Likewise.
27938 (date_mod_LDFLAGS): Likewise.
27939 (datehook_mod_SOURCES): Likewise.
27940 (datehook_mod_CFLAGS): Likewise.
27941 (datehook_mod_LDFLAGS): Likewise.
27942
27943 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27944 and datehook.mod.
27945 (datetime_mod_SOURCES): New macro.
27946 (datetime_mod_CFLAGS): Likewise.
27947 (datetime_mod_LDFLAGS): Likewise.
27948 (date_mod_SOURCES): Likewise.
27949 (date_mod_CFLAGS): Likewise.
27950 (date_mod_LDFLAGS): Likewise.
27951 (datehook_mod_SOURCES): Likewise.
27952 (datehook_mod_CFLAGS): Likewise.
27953 (datehook_mod_LDFLAGS): Likewise.
27954
27955 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27956
27957 * commands/date.c: New file.
27958
27959 * hook/datehook.c: Likewise.
27960
27961 * include/grub/lib/datetime.h: Likewise.
27962
27963 * include/grub/i386/cmos.h: Likewise.
27964
27965 * lib/datetime.c: Likewise.
27966
27967 * lib/i386/datetime.c: Likewise.
27968
27969 * lib/efi/datetime.c: Likewise.
27970
27971 2008-08-14 Robert Millan <rmh@aybabtu.com>
27972
27973 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27974 (grub_mkelfimage_SOURCES): New variable.
27975 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27976
27977 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27978 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27979 * conf/powerpc-ieee1275.rmk: Likewise.
27980 * conf/i386-ieee1275.rmk: Likewise.
27981
27982 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27983 * kern/i386/coreboot/init.c: Likewise.
27984
27985 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27986 with `<grub/cpu/kernel.h>'.
27987 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27988 to ...
27989 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27990 * kern/i386/coreboot/startup.S: Likewise.
27991
27992 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27993 (GRUB_MOD_GAP): Remove.
27994 * include/grub/powerpc/kernel.h: New file.
27995 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27996 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27997 * include/grub/i386/kernel.h: New file.
27998 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27999 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28000 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28001
28002 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28003 `grub-mkelfimage'.
28004 Use --directory when invoking grub_mkimage.
28005
28006 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28007 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28008 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28009 and GRUB_KERNEL_CPU_PREFIX.
28010
28011 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28012
28013 * include/grub/err.h (grub_err_printf): New function prototype.
28014 * util/misc.c (grub_err_printf): New function.
28015 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28016 grub_printf.
28017 * kern/err.c (grub_print_error): Use grub_err_printf.
28018
28019 2008-08-13 Robert Millan <rmh@aybabtu.com>
28020
28021 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28022
28023 2008-08-13 Robert Millan <rmh@aybabtu.com>
28024
28025 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28026 boot entry.
28027
28028 2008-08-12 Robert Millan <rmh@aybabtu.com>
28029
28030 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28031 of the relocation code from here ...
28032 (grub_multiboot): ... to here.
28033 (forward_relocator, backward_relocator): Move from here ...
28034 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28035 (grub_multiboot_backward_relocator): ... to here.
28036 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28037 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28038 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28039 (grub_multiboot_forward_relocator_end)
28040 (grub_multiboot_backward_relocator)
28041 (grub_multiboot_backward_relocator_end): New variables.
28042
28043 2008-08-12 Bean <bean123ch@gmail.com>
28044
28045 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28046
28047 2008-08-11 Robert Millan <rmh@aybabtu.com>
28048
28049 * kern/i386/linuxbios/startup.S: Move from here ...
28050 * kern/i386/coreboot/startup.S: ... to here.
28051
28052 * kern/i386/linuxbios/init.c: Move from here ...
28053 * kern/i386/coreboot/init.c: ... to here.
28054
28055 * kern/i386/linuxbios/table.c: Move from here ...
28056 * kern/i386/coreboot/mmap.c: ... to here.
28057
28058 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28059
28060 2008-08-11 Robert Millan <rmh@aybabtu.com>
28061
28062 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28063 errors. Leave it to the upper layer to handle them.
28064
28065 2008-08-09 Christian Franke <franke@computer.org>
28066
28067 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28068 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28069 Install `grub.d/10_windows' only on Cygwin.
28070 * configure.ac: Add subst of `target_os'.
28071 Check `target_os' also before setting TARGET_OBJ2ELF.
28072 Add `--enable-grub-pe2elf'.
28073
28074 2008-08-08 Robert Millan <rmh@aybabtu.com>
28075
28076 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28077 (grub_last_time): Change type to grub_uint64_t.
28078 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28079 (grub_disk_close): Likewise.
28080
28081 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28082 (run_menu): Migrate code from to using grub_get_time_ms().
28083
28084 * util/misc.c (grub_get_time_ms): New function.
28085
28086 2008-08-08 Marco Gerards <marco@gnu.org>
28087
28088 * disk/ata.c (grub_ata_regget): Change return type to
28089 `grub_uint8_t'.
28090 (grub_ata_regget2): Likewise.
28091 (grub_ata_wait_status): New function.
28092 (grub_ata_wait_busy): Removed function, updated all users to use
28093 `grub_ata_wait_status'.
28094 (grub_ata_wait_drq): Likewise.
28095 (grub_ata_cmd): New function.
28096 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28097 error handling.
28098 (grub_ata_pio_write): Add error handling.
28099 (grub_atapi_identify): Likewise.
28100 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28101 handling.
28102 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28103 handling. Actually use the detected registers. Reorder the
28104 detection logic such that it is easier to read.
28105 (grub_ata_pciinit): Do not assign the same ID to each controller.
28106 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28107 handling.
28108 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28109
28110 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28111
28112 2008-08-08 Marco Gerards <marco@gnu.org>
28113
28114 * NEWS: Update.
28115
28116 2008-08-07 Bean <bean123ch@gmail.com>
28117
28118 * include/grub/x86_64/pci.h: New file.
28119
28120 2008-08-07 Christian Franke <franke@computer.org>
28121
28122 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28123 (TIMER2_GATE): Likewise.
28124 (grub_pit_wait): Add enable/disable of the timer2 gate
28125 bit of port 0x61. This fixes a possible infinite loop.
28126
28127 2008-08-07 Bean <bean123ch@gmail.com>
28128
28129 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28130 kern/i386/tsc.c and kern/i386/pit.c.
28131
28132 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28133 x86_64 platform.
28134
28135 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28136 <grub/i386/tsc.h>.
28137
28138 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28139
28140 2008-08-07 Bean <bean123ch@gmail.com>
28141
28142 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28143
28144 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28145
28146 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28147 multiple inclusion. Add #include <grub/types.h>.
28148
28149 2008-08-06 Christian Franke <franke@computer.org>
28150
28151 * conf/common.rmk: Build and install `10_windows'.
28152 * util/grub.d/10_windows.in: New script.
28153
28154 2008-08-06 Pavel Roskin <proski@gnu.org>
28155
28156 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28157
28158 2008-08-06 Robert Millan <rmh@aybabtu.com>
28159
28160 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28161 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28162
28163 2008-08-06 Bean <bean123ch@gmail.com>
28164
28165 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28166 (grub_pxefs_fs_int): Remove dummy definition.
28167 (grub_pxefs_open): Use data->block_size to store the current block
28168 size setting.
28169 (grub_pxefs_read): Use block size stored in data->block_size. As the
28170 value of grub_pxe_blksize can be changed after the file is opened.
28171
28172 2008-08-06 Bean <bean123ch@gmail.com>
28173
28174 * fs/i386/pc/pxe.c (curr_file): new variable.
28175 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28176 require the dummy internal file system anymore.
28177 (grub_pxefs_read): Removed.
28178 (grub_pxefs_close): Likewise.
28179 (grub_pxefs_fs_int): Likewise.
28180 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28181 connection when we switch file.
28182 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28183
28184 2008-08-06 Robert Millan <rmh@aybabtu.com>
28185
28186 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28187 `halt.mod'.
28188 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28189 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28190
28191 * kern/i386/halt.c: New file.
28192 * kern/i386/reboot.c: Likewise.
28193 * include/grub/i386/reboot.h: Likewise.
28194 * include/grub/i386/halt.h: Likewise.
28195
28196 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28197 Include `<grub/cpu/halt.h>'.
28198 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28199 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28200
28201 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28202 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28203 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28204 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28205 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28206 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28207 from here ...
28208 * include/grub/i386/at_keyboard.h: ... to here.
28209
28210 2008-08-05 Robert Millan <rmh@aybabtu.com>
28211
28212 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28213 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28214 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28215 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28216 `kern/generic/millisleep.c'.
28217
28218 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28219 instead of grub_get_rtc().
28220 (grub_tsc_init): Initialize `tsc_boot_time'.
28221
28222 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28223 (grub_machine_init): Use grub_tsc_init() rather than
28224 installing an RTC-based handler via grub_install_get_time_ms().
28225
28226 * kern/i386/pit.c: New file.
28227 * include/grub/i386/pit.h: Likewise.
28228
28229 2008-08-05 Bean <bean123ch@gmail.com>
28230
28231 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28232
28233 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28234 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28235 (pxe_mod_SOURCES): New macro.
28236 (pxe_mod_CFLAGS): Likewise.
28237 (pxe_mod_LDFLAGS): Likewise.
28238 (pxecmd_mod_SOURCES): Likewise.
28239 (pxecmd_mod_CFLAGS): Likewise.
28240 (pxecmd_mod_LDFLAGS): Likewise.
28241
28242 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28243 (grub_pxe_call): Likewise.
28244
28245 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28246
28247 * commands/i386/pc/pxecmd.c: New file.
28248
28249 * fs/i386/pc/pxe.c: Likewise.
28250
28251 * include/grub/i386/pc/pxe.h: Likewise.
28252
28253 2008-08-05 Bean <bean123ch@gmail.com>
28254
28255 * util/console.c (grub_console_cur_color): New variable.
28256 (grub_console_standard_color): Likewise.
28257 (grub_console_normal_color): Likewise.
28258 (grub_console_highlight_color): Likewise.
28259 (color_map): Likewise.
28260 (use_color): Likewise.
28261 (NUM_COLORS): New macro.
28262 (grub_ncurses_setcolorstate): Handle color properly.
28263 (grub_ncurses_setcolor): Don't change color here, just remember the
28264 settings, color will be set in grub_ncurses_setcolorstate.
28265 (grub_ncurses_getcolor): New function.
28266 (grub_ncurses_init): Initialize color pairs.
28267 (grub_ncurses_term): New member grub_ncurses_getcolor.
28268
28269 2008-08-05 Colin D Bennett <colin@gibibit.com>
28270
28271 High resolution timer support. Implemented for x86 CPUs using TSC.
28272 Extracted generic grub_millisleep() so it's linked in only as needed.
28273 This requires a Pentium compatible CPU; if the RDTSC instruction is
28274 not supported, then it falls back on the generic grub_get_time_ms()
28275 implementation that uses the machine's RTC.
28276
28277 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28278 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28279 `kern/generic/millisleep.c'.
28280
28281 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28282 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28283
28284 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28285 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28286
28287 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28288
28289 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28290 `kern/generic/millisleep.c'.
28291
28292 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28293
28294 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28295
28296 * kern/generic/rtc_get_time_ms.c: New file.
28297
28298 * kern/generic/millisleep.c: New file.
28299
28300 * kern/misc.c: Don't include
28301 <kern/time.h> anymore.
28302 (grub_millisleep_generic): Removed.
28303
28304 * commands/sleep.c (grub_interruptible_millisleep): Uses
28305 grub_get_time_ms() instead of grub_get_rtc().
28306
28307 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28308 function.
28309 (grub_cpu_is_cpuid_supported): New inline function.
28310 (grub_cpu_is_tsc_supported): New inline function.
28311 (grub_tsc_init): New function prototype.
28312 (grub_tsc_get_time_ms): New function prototype.
28313
28314 * kern/i386/tsc.c (grub_get_time_ms): New file.
28315
28316 * include/grub/time.h: Include <grub/types.h.
28317 (grub_millisleep_generic): Removed.
28318 (grub_get_time_ms): New prototype.
28319 (grub_install_get_time_ms): New prototype.
28320 (grub_rtc_get_time_ms): New prototype.
28321
28322 * kern/time.c (grub_get_time_ms): New function.
28323 (grub_install_get_time_ms): New function.
28324
28325 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28326 <grub/time.h> anymore.
28327 (grub_millisleep): Removed.
28328 (grub_machine_init): Call grub_tsc_init.
28329
28330 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28331 get_time_ms() implementation.
28332
28333 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28334 (ieee1275_get_time_ms): New function.
28335 (grub_machine_init): Install get_time_ms() implementation.
28336
28337 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28338 (grub_machine_init): Call grub_tsc_init().
28339 (grub_millisleep): Removed.
28340
28341 * kern/ieee1275/init.c (grub_millisleep): Removed.
28342 (grub_machine_init): Install ieee1275_get_time_ms()
28343 implementation.
28344 (ieee1275_get_time_ms): New function.
28345 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28346 real work.
28347
28348 2008-08-05 Marco Gerards <marco@gnu.org>
28349
28350 * disk/ata.c: Include <grub/pci.h>.
28351 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28352 (grub_ata_initialize): Rewritten.
28353 (grub_ata_device_initialize): New function.
28354
28355 2008-08-04 Pavel Roskin <proski@gnu.org>
28356
28357 * kern/main.c: Include grub/mm.h.
28358
28359 2008-08-04 Robert Millan <rmh@aybabtu.com>
28360
28361 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28362 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28363 corruption problem).
28364
28365 2008-08-04 Robert Millan <rmh@aybabtu.com>
28366
28367 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28368 warnings introduced in my last commit.
28369
28370 2008-08-03 Robert Millan <rmh@aybabtu.com>
28371
28372 Make PCI available on all i386 architectures.
28373
28374 * include/grub/i386/pc/pci.h: Move from here ...
28375 * include/grub/i386/pci.h: ... to here.
28376
28377 * include/grub/i386/pc/pci.h: Remove.
28378 * include/grub/i386/efi/pci.h: Remove.
28379 * include/grub/x86_64/efi/pci.h: Remove.
28380
28381 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28382 `<grub/cpu/pci.h>'.
28383
28384 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28385 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28386 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28387
28388 * conf/i386-ieee1275.rmk: Likewise.
28389
28390 2008-08-03 Robert Millan <rmh@aybabtu.com>
28391
28392 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28393 (grub_console_setcursor): Make it possible to set cursor off.
28394
28395 2008-08-03 Robert Millan <rmh@aybabtu.com>
28396
28397 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28398 of modules instead of assuming which platform provides what.
28399 * util/update-grub.in: Likewise.
28400
28401 2008-08-03 Robert Millan <rmh@aybabtu.com>
28402
28403 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28404 instead of `grub_install_dos_part' to determine whether a drive needs
28405 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28406 because it can be overridden when loading GRUB via Multiboot).
28407
28408 2008-08-02 Robert Millan <rmh@aybabtu.com>
28409
28410 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28411
28412 2008-08-02 Robert Millan <rmh@aybabtu.com>
28413
28414 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28415 of informational grub_dprintf() calls.
28416
28417 2008-08-02 Robert Millan <rmh@aybabtu.com>
28418
28419 * disk/memdisk.c (memdisk_size): Don't initialize.
28420 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28421
28422 * include/grub/i386/pc/kernel.h
28423 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28424 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28425 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28426 (grub_arch_memdisk_size): Remove.
28427
28428 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28429 field (was only used to transfer a constant). Add `type' field to
28430 support multiple module types.
28431 (grub_module_iterate): New function.
28432
28433 * kern/device.c (grub_device_open): Do not hide error messages
28434 when grub_disk_open() fails. Use grub_print_error() instead.
28435
28436 * kern/i386/pc/init.c (grub_arch_modules_addr)
28437 (grub_arch_memdisk_size): Remove functions.
28438 (grub_arch_modules_addr): Return the module address in high memory
28439 (now that it isn't copied anymore).
28440
28441 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28442 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28443 decompression routine (grub_total_module_size already includes that
28444 now). Don't copy modules back to low memory.
28445
28446 * kern/main.c: Include `<grub/mm.h>'.
28447 (grub_load_modules): Split out (and use) ...
28448 (grub_module_iterate): ... this function, which iterates through
28449 module objects and runs a hook.
28450 Comment out grub_mm_init_region() call, as it would cause non-ELF
28451 modules to be overwritten.
28452
28453 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28454 the memdisk image in its own region, make it part of the module list.
28455 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28456 (main): Parse --memdisk|-m option, and pass user-provided path as
28457 parameter to generate_image().
28458 (add_segments): Pass `memdisk_path' down to load_modules().
28459 (load_modules): Embed memdisk image in module section when requested.
28460 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28461 `header.type' instead of `header.offset'.
28462
28463 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28464 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28465 (memdisk_mod_LDFLAGS): New variables.
28466 * conf/i386-coreboot.rmk: Likewise.
28467 * conf/i386-ieee1275.rmk: Likewise.
28468
28469 2008-08-02 Robert Millan <rmh@aybabtu.com>
28470
28471 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28472 (backward_relocator): New variables. Used to allocate and relocate
28473 the payload, respectively.
28474 (grub_multiboot_load_elf32): Load into heap instead of requested
28475 address, install the appropriate relocator code in each bound of
28476 the payload, and set the entry point such that
28477 grub_multiboot_real_boot() will jump to one of them.
28478
28479 * kern/i386/loader.S (grub_multiboot_payload_size)
28480 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28481 (grub_multiboot_payload_entry_offset): New variables.
28482 (grub_multiboot_real_boot): Set cpu context to what the relocator
28483 expects, and jump to the relocator instead of the payload.
28484
28485 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28486 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28487 (grub_multiboot_payload_entry_offset): Export.
28488
28489 2008-08-01 Bean <bean123ch@gmail.com>
28490
28491 * normal/menu_entry.c (editor_getline): Don't return the original
28492 string as result, as it will be released by lexer once it has done
28493 using it.
28494
28495 2008-08-01 Robert Millan <rmh@aybabtu.com>
28496
28497 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28498 within menuentries, not before them.
28499 util/grub.d/10_hurd.in: Likewise.
28500
28501 2008-08-01 Bean <bean123ch@gmail.com>
28502
28503 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28504 (bufio_mod_SOURCES): New macro.
28505 (bufio_mod_CFLAGS): Likewise.
28506 (bufio_mod_LDFLAGS): Likewise.
28507
28508 * include/grub/bufio.h: New file.
28509
28510 * io/bufio.c: Likewise.
28511
28512 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28513 (grub_video_reader_png): Use grub_buffile_open to open file.
28514
28515 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28516 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28517
28518 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28519 (grub_video_reader_tga): Use grub_buffile_open to open file.
28520
28521 * font/manager.c: Include <grub/bufio.h>.
28522 (add_font): Use grub_buffile_open to open file.
28523
28524 2008-07-31 Robert Millan <rmh@aybabtu.com>
28525
28526 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28527 ELF segments, use a macro for arbitrarily accessing any of them instead
28528 of preparing a pointer that allows access to one at a time.
28529 (grub_multiboot_load_elf64): Likewise.
28530
28531 2008-07-31 Bean <bean123ch@gmail.com>
28532
28533 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28534 GRUB_KERNEL_MACHINE_DATA_END.
28535
28536 2008-07-30 Robert Millan <rmh@aybabtu.com>
28537
28538 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28539 Increase from 0x50 to 0x60.
28540 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28541 use UUIDs to identify the root drive for them. If that's not
28542 possible, abort.
28543 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28544 check, for cross-disk installs.
28545
28546 2008-07-30 Robert Millan <rmh@aybabtu.com>
28547
28548 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28549 is non-empty, use it to set the `prefix' environment variable instead
28550 of the usual approach.
28551 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28552 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28553 environment variable instead of dummy make_install_device().
28554
28555 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28556 (start): Insert a data section, with `grub_prefix' variable.
28557 * kern/i386/linuxbios/startup.S: Likewise.
28558
28559 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28560 New variable reference.
28561 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28562 New macro. Defines offset of `grub_prefix' within startup.S (relative
28563 to `start').
28564 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28565 section within startup.S (relative to `start').
28566 * include/grub/i386/coreboot/kernel.h: Likewise.
28567
28568 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28569 Overwrite grub_prefix with its contents, at the beginning of the
28570 first segment.
28571 (main): Understand -p|--prefix.
28572
28573 2008-07-30 Robert Millan <rmh@aybabtu.com>
28574
28575 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28576
28577 2008-07-30 Robert Millan <rmh@aybabtu.com>
28578
28579 * term/i386/pc/vga_text.c (grub_console_cls): Use
28580 grub_console_gotoxy() to go back to beginning of the screen.
28581 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28582
28583 2008-07-29 Christian Franke <franke@computer.org>
28584
28585 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28586 Add conversion of emulated mount points on Cygwin.
28587
28588 2008-07-29 Christian Franke <franke@computer.org>
28589
28590 * util/update-grub.in: Add a check for admin
28591 group on Cygwin.
28592 Remove old `grub.cfg.new' before creation.
28593 Add `-f' to `mv' to handle the different filesystem
28594 semantics of Windows.
28595
28596 2008-07-29 Bean <bean123ch@gmail.com>
28597
28598 * normal/main.c (get_line): Fix buffer overflow bug.
28599
28600 2008-07-28 Robert Millan <rmh@aybabtu.com>
28601
28602 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28603 (struct grub_apple_header): New struct. Describes the layout of
28604 the partmap header.
28605 (apple_partition_map_iterate): Check the header magic as well as the
28606 partition magic (which was already being checked).
28607
28608 2008-07-28 Pavel Roskin <proski@gnu.org>
28609
28610 * genmk.rb: Add a warning to the beginning of the output that
28611 it's a generated file and should not be edited.
28612
28613 2008-07-28 Robert Millan <rmh@aybabtu.com>
28614
28615 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28616 with the same number are found, just use issue a warning with
28617 grub_dprintf(), as this error has been reported to be non-fatal.
28618
28619 2008-07-27 Robert Millan <rmh@aybabtu.com>
28620
28621 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28622 information.
28623
28624 2008-07-27 Bean <bean123ch@gmail.com>
28625
28626 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28627 (grub_fat_find_dir): Ignore case when comparing filename.
28628
28629 2008-07-27 Bean <bean123ch@gmail.com>
28630
28631 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28632 smallino, as it's more descriptive, and i8count can be confused with
28633 the other field count.
28634 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28635 inode type.
28636
28637 2008-07-27 Bean <bean123ch@gmail.com>
28638
28639 * commands/crc.c: New file.
28640
28641 * lib/crc.c: Likewise.
28642
28643 * include/grub/lib/crc.h: Likewise.
28644
28645 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28646
28647 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28648 (hexdump): Move this function to ...
28649
28650 * lib/hexdump.c: ... here.
28651
28652 * include/grub/hexdump.h: Renamed to ...
28653
28654 * include/grub/lib/hexdump.h: ... this.
28655
28656 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28657
28658 * util/grub-editenv.c: Likewise.
28659
28660 * include/envblk.h: Renamed to ...
28661
28662 * include/lib/envblk.h: ... this.
28663
28664 * util/envblk.c: Renamed to ...
28665
28666 * lib/envblk.c: ... this.
28667
28668 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28669 lib/hexdump.c.
28670 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28671 (pkglib_MODULES): Add crc.mod.
28672 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28673 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28674 (crc_mod_SOURCES): New macro.
28675 (crc_mod_CFLAGS): Likewise.
28676 (crc_mod_LDFLAGS): Likewise.
28677
28678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28679
28680 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28681
28682 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28683
28684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28685
28686 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28687
28688 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
28689
28690 * commands/help.c: Include <grub/term.h>.
28691 (TERM_WIDTH): Removed. Updated all users.
28692
28693 2008-07-27 Pavel Roskin <proski@gnu.org>
28694
28695 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28696 spurious warnings about a comment within a comment.
28697
28698 2008-07-25 Robert Millan <rmh@aybabtu.com>
28699
28700 * util/getroot.c (find_root_device): Skip devices that match
28701 /dev/dm-[0-9]. This lets the real device be found for any type of
28702 abstraction (LVM, EVMS, RAID..).
28703 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28704 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28705 device is found first, find_root_device() will now skip it.
28706
28707 2008-07-24 Pavel Roskin <proski@gnu.org>
28708
28709 * include/grub/types.h: Use __builtin_bswap32() and
28710 __builtin_bswap64() with gcc 4.3 and newer.
28711
28712 2008-07-24 Christian Franke <franke@computer.org>
28713
28714 * util/i386/pc/grub-install.in: If `--debug' is specified,
28715 pass `--verbose' to grub-setup.
28716 Abort script if make_system_path_relative_to_its_root() fails.
28717
28718 2008-07-24 Bean <bean123ch@gmail.com>
28719
28720 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28721 variable `target_platform' should be `platform'.
28722
28723 2008-07-24 Bean <bean123ch@gmail.com>
28724
28725 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
28726 (grub_png_init_fixed_block): New function.
28727 (grub_png_decode_image_data): Handle fixed huffman code compression.
28728
28729 2008-07-24 Bean <bean123ch@gmail.com>
28730
28731 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28732 (grub_pe2elf_SOURCES): New macro.
28733 (CLEANFILES): Add grub-pe2elf.
28734
28735 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28736 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28737 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28738 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28739 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28740 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28741 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28742 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28743 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28744 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28745 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28746 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28747 (GRUB_PE32_DT_FUNCTION): Likewise.
28748 (GRUB_PE32_REL_I386_DIR32): Likewise.
28749 (GRUB_PE32_REL_I386_REL32): Likewise.
28750 (grub_pe32_symbol): New structure.
28751 (grub_pe32_reloc): Likewise.
28752
28753 * util/grub-pe2elf.c: New file.
28754
28755 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28756 start symbol in non pc platform.
28757
28758 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28759
28760 The following patches are from Christian Franke.
28761
28762 * include/grub/dl.h: Remove .previous, gas supports this only
28763 for ELF format.
28764
28765 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28766 Remove .type, gas supports this only for ELF format.
28767
28768 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28769 nullbytes in symbol table. This fixes an infinite loop if table is
28770 zero filled.
28771
28772 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28773 TARGET_IMG_LDFLAGS and EXEEXT.
28774
28775 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28776 TARGET_IMG_LDFLAGS_AC.
28777 (grub_CHECK_STACK_ARG_PROBE): New function.
28778
28779 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28780
28781 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28782
28783 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28784 to set TARGET_IMG_LD* accordingly.
28785 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28786 Add call to grub_CHECK_STACK_ARG_PROBE.
28787 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28788
28789 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28790
28791 * genmk.rb: Add EXEEXT to CLEANFILES.
28792
28793 2008-07-23 Robert Millan <rmh@aybabtu.com>
28794
28795 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28796 define the codes for arrows and lines used for the menu).
28797 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28798 as well.
28799
28800 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28801 fonts, because the latter are too slow.
28802
28803 2008-07-21 Bean <bean123ch@gmail.com>
28804
28805 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28806 a20. Run keyboard test last, as it will cause macbook to halt.
28807
28808 2008-07-18 Pavel Roskin <proski@gnu.org>
28809
28810 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28811 load foreign architecture modules correctly anyway. Keep
28812 support for loading host architecture modules, whether we
28813 compile them or not.
28814
28815 2008-07-17 Pavel Roskin <proski@gnu.org>
28816
28817 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28818 change target_cpu. The compiler default can mismatch target_cpu
28819 in any case.
28820
28821 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28822 * kern/efi/efi.c: Likewise.
28823
28824 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28825 target compiler is functional.
28826 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28827 are set up.
28828
28829 * configure.ac: Default to efi platform for x86_64-apple. Allow
28830 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28831 adjustments from the rest, only do them if target is not
28832 explicitly given. Merge other adjustments with the final sanity
28833 check. Remove an extraneous check for supported CPU. Be
28834 specific which CPU and which platform is not supported.
28835
28836 * configure.ac: Default to pc platform for x86_64.
28837
28838 2008-07-17 Robert Millan <rmh@aybabtu.com>
28839
28840 Partial LinuxBIOS -> Coreboot rename.
28841
28842 * conf/i386-linuxbios.rmk: Renamed to ...
28843 * conf/i386-coreboot.rmk: ... this.
28844 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28845 * configure.ac: Accept "coreboot" as input platform (but maintain
28846 compatibility with "linuxbios").
28847 * include/grub/i386/linuxbios: Renamed to ...
28848 * include/grub/i386/coreboot: ... this.
28849
28850 2008-07-17 Bean <bean123ch@gmail.com>
28851
28852 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
28853 (appleldr_mod_SOURCE): New variable.
28854 (appleldr_mod_CFLAGS): Likewise.
28855 (appleldr_mod_LDFLAGS): Likewise.
28856 (pci_mod_SOURCES): Likewise.
28857 (pci_mod_CFLAGS): Likewise.
28858 (pci_mod_LDFLAGS): Likewise.
28859 (lspci_mod_SOURCES): Likewise.
28860 (lspci_mod_CFLAGS): Likewise.
28861 (lspci_mod_LDFLAGS): Likewise.
28862
28863 * conf/x86_64-efi.rmk: New file.
28864
28865 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28866 macro.
28867 (grub_efidisk_write): Likewise.
28868
28869 * include/efi/api.h (efi_call_0): New macro.
28870 (efi_call_1): Likewise.
28871 (efi_call_2): Likewise.
28872 (efi_call_3): Likewise.
28873 (efi_call_4): Likewise.
28874 (efi_call_5): Likewise.
28875 (efi_call_6): Likewise.
28876
28877 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28878 grub_rescue_cmd_chainloader.
28879
28880 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28881 (grub_pe32_optional_header): Change some fields based on i386 or
28882 x86_64 platform.
28883 (GRUB_PE32_PE32_MAGIC): Likewise.
28884
28885 * include/grub/efi/uga_draw.h: New file.
28886
28887 * include/grub/elf.h (STN_ABS): New constant.
28888 (R_X86_64_NONE): Relocation constant for x86_64.
28889 (R_X86_64_64): Likewise.
28890 (R_X86_64_PC32): Likewise.
28891 (R_X86_64_GOT32): Likewise.
28892 (R_X86_64_PLT32): Likewise.
28893 (R_X86_64_COPY): Likewise.
28894 (R_X86_64_GLOB_DAT): Likewise.
28895 (R_X86_64_JUMP_SLOT): Likewise.
28896 (R_X86_64_RELATIVE): Likewise.
28897 (R_X86_64_GOTPCREL): Likewise.
28898 (R_X86_64_32): Likewise.
28899 (R_X86_64_32S): Likewise.
28900 (R_X86_64_16): Likewise.
28901 (R_X86_64_PC16): Likewise.
28902 (R_X86_64_8): Likewise.
28903 (R_X86_64_PC8): Likewise.
28904
28905 * include/grub/i386/efi/pci.h: New file.
28906
28907 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28908 Change it value based on platform.
28909 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28910 (GRUB_E820_RAM): Likewise.
28911 (GRUB_E820_RESERVED): Likewise.
28912 (GRUB_E820_ACPI): Likewise.
28913 (GRUB_E820_NVS): Likewise.
28914 (GRUB_E820_EXEC_CODE): Likewise.
28915 (GRUB_E820_MAX_ENTRY): Likewise.
28916 (grub_e820_mmap): New structure.
28917 (linux_kernel_header): Change the efi field according to different
28918 kernel version, also field from linux_kernel_header.
28919
28920 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28921
28922 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28923 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28924 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28925 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28926 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28927 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28928 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28929 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28930 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28931 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28932
28933 * include/grub/x86_64/efi/kernel.h: New file.
28934
28935 * include/grub/x86_64/efi/loader.h: Likewise.
28936
28937 * include/grub/x86_64/efi/machine.h: Likewise.
28938
28939 * include/grub/x86_64/efi/pci.h: Likewise.
28940
28941 * include/grub/x86_64/efi/time.h: Likewise.
28942
28943 * include/grub/x86_64/linux.h: Likewise.
28944
28945 * include/grub/x86_64/setjmp.h: Likewise.
28946
28947 * include/grub/x86_64/time.h: Likewise.
28948
28949 * include/grub/x86_64/types.h: Likewise.
28950
28951 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28952 GRUB_TARGET_SIZEOF_VOID_P.
28953
28954 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28955 (grub_efi_locate_handle): Likewise.
28956 (grub_efi_open_protocol): Likewise.
28957 (grub_efi_set_text_mode): Likewise.
28958 (grub_efi_stall): Likewise.
28959 (grub_exit): Likewise.
28960 (grub_reboot): Likewise.
28961 (grub_halt): Likewise.
28962 (grub_efi_exit_boot_services): Likewise.
28963 (grub_get_rtc): Likewise.
28964
28965 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28966 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28967 (grub_efi_allocate_pages): Wrap efi calls.
28968 (grub_efi_free_pages): Wrap efi calls.
28969 (grub_efi_get_memory_map): Wrap efi calls.
28970
28971 * kern/x86_64/dl.c: New file.
28972
28973 * kern/x86_64/efi/callwrap.S: Likewise.
28974
28975 * kern/x86_64/efi/startup.S: Likewise.
28976
28977 * loader/efi/appleloader.c: Likewise.
28978
28979 * loader/efi/chainloader.c (cmdline): New variable.
28980 (grub_chainloader_unload): Wrap efi calls.
28981 (grub_chainloader_boot): Likewise.
28982 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28983 command line.
28984
28985 * loader/efi/chainloader_normal.c (chainloader_command):
28986 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28987 command line.
28988
28989 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28990 method.
28991 (grub_e820_add_region): New function.
28992 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28993 booting.
28994 (grub_find_video_card): New function.
28995 (grub_linux_setup_video): New function.
28996 (grub_rescue_cmd_linux): Probe for video information.
28997
28998 * normal/x86_64/setjmp.S: New file.
28999
29000 * term/efi/console.c (map_char): New function.
29001 (grub_console_putchar): Map unicode char.
29002 (grub_console_checkkey): Wrap efi calls.
29003 (grub_console_getkey): Likewise.
29004 (grub_console_getwh): Likewise.
29005 (grub_console_gotoxy): Likewise.
29006 (grub_console_cls): Likewise.
29007 (grub_console_setcolorstate): Likewise.
29008 (grub_console_setcursor): Likewise.
29009
29010 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29011
29012 2008-07-16 Pavel Roskin <proski@gnu.org>
29013
29014 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29015 format strings.
29016
29017 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29018 pointer, not an integer. This fixes a warning and prevents
29019 precision loss on 64-bit systems.
29020 (relocate_addresses): Remove unneeded cast.
29021
29022 2008-07-15 Pavel Roskin <proski@gnu.org>
29023
29024 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29025
29026 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29027
29028 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29029 Fix comparison between signed and unsigned.
29030
29031 * include/grub/i386/ieee1275/console.h: Declare
29032 grub_console_init() and grub_console_fini().
29033
29034 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29035 It's empty and unused.
29036
29037 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29038 beginning to avoid warnings with some compilers.
29039
29040 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29041 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29042
29043 2008-07-14 Pavel Roskin <proski@gnu.org>
29044
29045 * kern/env.c (grub_register_variable_hook): Don't copy empty
29046 string, it leaks memory. Pass "" to grub_env_set(), it should
29047 handle constant strings.
29048
29049 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29050 * commands/cmp.c (grub_cmd_cmp): Likewise.
29051 * kern/dl.c (grub_dl_flush_cache): Likewise.
29052 (grub_dl_load_core): Likewise.
29053 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29054 (grub_elf64_load_phdrs): Likewise.
29055
29056 2008-07-13 Pavel Roskin <proski@gnu.org>
29057
29058 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29059 between signed and unsigned.
29060 (LzmaEnc_Finish): Fix warning about an unused parameter.
29061
29062 2008-07-13 Bean <bean123ch@gmail.com>
29063
29064 * Makefile.in (enable_lzo): New rule.
29065
29066 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29067
29068 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29069
29070 * boot/i386/pc/lnxboot.S: #include <config.h>.
29071
29072 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29073 its value according to the compression algorithm used, lzo or lzma.
29074
29075 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29076 compression algorithm according to configure macro.
29077
29078 * kern/i386/pc/startup.S (codestart): Likewise.
29079
29080 * kern/i386/pc/lzma_decode.S: New file.
29081
29082 * include/grub/lib/LzFind.h: Likewise.
29083
29084 * include/grub/lib/LzHash.h: Likewise.
29085
29086 * include/grub/lib/LzmaDec.h: Likewise.
29087
29088 * include/grub/lib/LzmaEnc.h: Likewise.
29089
29090 * include/grub/lib/LzmaTypes.h: Likewise.
29091
29092 * lib/LzFind.c: Likewise.
29093
29094 * lib/LzmaDec.c: Likewise.
29095
29096 * lib/LzmaEnc.c: Likewise.
29097
29098 2008-07-13 Bean <bean123ch@gmail.com>
29099
29100 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29101 (grub_ext4_extent_header): New structure.
29102 (grub_ext4_extent): Likewise.
29103 (grub_ext4_extent_idx): Likewise.
29104 (grub_ext4_find_leaf): New function.
29105 (grub_ext2_read_block): Handle extents.
29106
29107 2008-07-12 Robert Millan <rmh@aybabtu.com>
29108
29109 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29110
29111 2008-07-11 Robert Millan <rmh@aybabtu.com>
29112
29113 * util/grub.d/40_custom.in: New file. Example on how to add custom
29114 entries to /etc/grub.d.
29115 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29116 40_custom (implicitly, by merging all the grub.d rules).
29117
29118 2008-07-11 Pavel Roskin <proski@gnu.org>
29119
29120 * commands/read.c (grub_getline): Fix invalid memory access.
29121 Don't add newline to the variable value.
29122
29123 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29124 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29125 (serial_hw_get_port): Check validity of the port number.
29126 (grub_cmd_serial): Check return value of serial_hw_get_port().
29127
29128 2008-07-07 Pavel Roskin <proski@gnu.org>
29129
29130 * boot/i386/pc/diskboot.S (notification_string): Replace
29131 "Loading kernel" with just "loading". This is shorter, less
29132 confusing and saves a few bytes for possible future changes.
29133
29134 2008-07-05 Pavel Roskin <proski@gnu.org>
29135
29136 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29137 size for ATAPI devices, they are undefined. Output sector
29138 number in decimal form.
29139
29140 * disk/ata.c: Use named constants for status bits.
29141
29142 2008-07-04 Pavel Roskin <proski@gnu.org>
29143
29144 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29145 grub_addr_t before casting it to the void pointer to fix a
29146 warning. Non-addressable regions are discarded earlier.
29147 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29148 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29149 (check_signature): Don't shadow table_header.
29150 (grub_linuxbios_table_iterate): Cast numeric constants to
29151 grub_linuxbios_table_header_t.
29152 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29153 grub_stop().
29154
29155 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29156 prevent warnings.
29157
29158 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29159 pointer, which can cause warnings. Support 64-bit addresses.
29160
29161 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29162 of sizeof(long). This fixes PowerPC image generation on x86_64.
29163
29164 2008-07-04 Robert Millan <rmh@aybabtu.com>
29165
29166 This fixes a performance issue when pc & gpt partmap iterators
29167 didn't abort iteration even after our hook found what it was
29168 looking for (often causing expensive probes of non-existent drives).
29169
29170 Some callers relied on previous buggy behaviour, since they would
29171 raise an error when their own hooks caused early abortion of its
29172 iteration.
29173
29174 * kern/device.c (grub_device_open): Improve error message.
29175 * disk/lvm.c (grub_lvm_open): Likewise.
29176 * disk/raid.c (grub_raid_open): Likewise.
29177
29178 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29179 when hook requests it, independently of grub_errno.
29180 (pc_partition_map_probe): Do not fail when find_func() caused
29181 early abortion of pc_partition_map_iterate().
29182
29183 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29184 when hook requests it, independently of grub_errno.
29185 (gpt_partition_map_probe): Do not fail when find_func() caused
29186 early abortion of gpt_partition_map_iterate().
29187
29188 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29189 when hook requests it, independently of grub_errno. Do not fail when
29190 part_map_iterate_hook() caused early abortion of p->iterate().
29191
29192 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29193 when grub_partition_iterate() returned with non-zero.
29194
29195 2008-07-03 Pavel Roskin <proski@gnu.org>
29196
29197 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29198 like we do in grub_ata_pio_read().
29199 (grub_ata_readwrite): Always write individual sectors. Fix the
29200 sector count for the remainder.
29201 (grub_ata_write): Enable writing to ATA devices. Correctly
29202 report error for ATAPI devices.
29203
29204 2008-07-02 Pavel Roskin <proski@gnu.org>
29205
29206 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29207 warning.
29208
29209 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29210 for every read sector, we already increment it for the whole
29211 batch. This fixes reading more than 256 sectors at once.
29212
29213 * util/grub-editenv.c (cmd_info): Cast argument to long
29214 explicitly. ptrdiff_t reduces to int on i386.
29215
29216 * util/grub-editenv.c (main): Be specific which parameter is
29217 missing.
29218
29219 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29220 (memdisk): Make memdisk_orig_addr a pointer.
29221
29222 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29223 for file offsets, use grub_off_t instead. Fix printf format
29224 warnings.
29225
29226 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29227 there. Real unexpected warnings should not drown in the noise
29228 about known problems.
29229
29230 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29231 grub_disk_addr_t for memory addresses.
29232
29233 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29234 explicitly to fix a warning.
29235
29236 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29237
29238 * Makefile.in (MODULE_LDFLAGS): New variable.
29239 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29240 the linker accepts --build-id=none.
29241 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29242 MODULE_LDFLAGS.
29243 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29244
29245 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29246 those in Linux XFS code. Provide a way to access 64-bit parent
29247 inode.
29248 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29249 the end of struct grub_xfs_dir_header.
29250
29251 2008-07-02 Bean <bean123ch@gmail.com>
29252
29253 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29254 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29255 and GRUB_IEEE1275_FLAG_NO_ANSI.
29256
29257 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29258 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29259 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29260
29261 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29262 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29263
29264 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29265 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29266
29267 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29268 esc sequence on non ANSI terminal.
29269 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29270
29271 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29272 beginning of file.
29273
29274 2008-07-02 Bean <bean123ch@gmail.com>
29275
29276 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29277 (grub_editenv_SOURCES): New variable.
29278 (pkglib_MODULES): Add loadenv.mod.
29279 (loadenv_mod_SOURCES): New variable.
29280 (loadenv_mod_CFLAGS): Likewise.
29281 (loadenv_mod_LDFLAGS): Likewise.
29282
29283 * include/grub/envblk.h: New file.
29284
29285 * util/envblk.c: New file.
29286
29287 * util/grub-editenv.c: New file.
29288
29289 * commands/loadenv.c: New file.
29290
29291 2008-07-01 Pavel Roskin <proski@gnu.org>
29292
29293 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29294 not unsigned char. This fixes warnings and is consistent with
29295 other tags.
29296
29297 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29298
29299 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29300
29301 * term/tparm.c (analyze): Always set *popcount.
29302
29303 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29304 cast to fix a warning.
29305
29306 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29307 cast to suppress a warning.
29308
29309 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29310 grub_fshelp_read_file() expects.
29311
29312 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29313 write uuid as a 32-bit value in CPU byte order, so declare and
29314 use it as such.
29315
29316 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29317 long if the format specifier expects it.
29318 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29319 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29320 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29321 long to fix a warning.
29322 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29323 grub_dprintf() arguments to fix warnings.
29324
29325 2008-06-30 Pavel Roskin <proski@gnu.org>
29326
29327 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29328 install_bsd_part immediately before core.img is embedded or
29329 modified on disk. This fixes core.img verification if core.img
29330 cannot be embedded.
29331
29332 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29333 core_path to calculate the blocklist.
29334 Patch from Javier Martín <lordhabbit@gmail.com>
29335
29336 2008-06-29 Robert Millan <rmh@aybabtu.com>
29337
29338 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29339 block to disk block.
29340 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29341 Patch from Niels Böhm <bitbucket@arcor.de>
29342
29343 2008-06-29 Robert Millan <rmh@aybabtu.com>
29344
29345 * util/update-grub_lib.in (font_path): Search for fonts in
29346 /boot/grub first, which is more likely to be readable (we aren't
29347 deciding where fonts live, just looking for them).
29348
29349 2008-06-26 Pavel Roskin <proski@gnu.org>
29350
29351 * util/biosdisk.c (read_device_map): Don't leave dead map
29352 entries for devices failing stat() check.
29353
29354 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29355 core_path_dev for the core.img path on the target device.
29356
29357 2008-06-26 Robert Millan <rmh@aybabtu.com>
29358
29359 * disk/fs_uuid.c: New file.
29360 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29361 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29362 (fs_uuid_mod_LDFLAGS): New variables.
29363 * include/grub/disk.h (grub_disk_dev_id): Add
29364 `GRUB_DISK_DEVICE_UUID_ID'.
29365 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29366 implement iterate().
29367
29368 2008-06-26 Robert Millan <rmh@aybabtu.com>
29369
29370 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29371 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29372 Linux image includes no initrd.
29373
29374 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29375
29376 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29377 call to resolve the core image location that effectively appended the
29378 name twice.
29379
29380 2008-06-21 Robert Millan <rmh@aybabtu.com>
29381
29382 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29383 call from here ...
29384
29385 * util/grub.d/10_hurd.in: ... to here ...
29386 * util/grub.d/10_linux.in: ... and here.
29387
29388 2008-06-19 Robert Millan <rmh@aybabtu.com>
29389
29390 * kern/main.c (grub_main): Export `prefix' variable immediately
29391 after it has been set by grub_machine_set_prefix().
29392
29393 2008-06-19 Robert Millan <rmh@aybabtu.com>
29394
29395 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29396 search result when not saving to variable, not the other way around.
29397 When saving to variable, abort iteration as soon as a match is found.
29398
29399 2008-06-19 Robert Millan <rmh@aybabtu.com>
29400
29401 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29402 check for partition that provides /boot/grub. Its logic is flawed,
29403 as it prevents prepare_grub_to_access_device() from being called
29404 multiple times.
29405
29406 2008-06-19 Robert Millan <rmh@aybabtu.com>
29407
29408 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29409 "insmod" command directly when abstraction modules are needed,
29410 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29411 since it had already been processed).
29412
29413 2008-06-19 Pavel Roskin <proski@gnu.org>
29414
29415 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29416 changed. This is needed in case GRUB_LIBDIR changes.
29417 * conf/i386-ieee1275.rmk: Likewise.
29418 * conf/i386-linuxbios.rmk: Likewise.
29419 * conf/i386-pc.rmk: Likewise.
29420 * conf/powerpc-ieee1275.rmk: Likewise.
29421
29422 2008-06-18 Pavel Roskin <proski@gnu.org>
29423
29424 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29425 kernel_elf_symlist.c to symlist.c for consistency with other
29426 architectures. Update all users.
29427 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29428
29429 2008-06-18 Robert Millan <rmh@aybabtu.com>
29430
29431 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29432 it in prefix.
29433
29434 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29435 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29436 a RAID device, run setup() for all members independently on whether
29437 LVM abstraction is being used.
29438 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29439 If grub-mkimage has set `*install_dos_part == -2', don't override this
29440 value.
29441 Perform *install_dos_part adjustments independently on whether
29442 we're embedding or not.
29443 Clarify error message when image is too big for embedding.
29444 Remove duplicate *install_dos_part stanza.
29445
29446 2008-06-17 Robert Millan <rmh@aybabtu.com>
29447
29448 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29449 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29450 variables.
29451 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29452 values in grub_ofconsole_normal_color and
29453 grub_ofconsole_highlight_color (they're not directly related to
29454 background and foreground).
29455 (grub_ofconsole_setcolorstate): Extract background and foreground
29456 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29457
29458 2008-06-17 Robert Millan <rmh@aybabtu.com>
29459
29460 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29461 /boot/grub for the check in last commit, not /boot (they could be
29462 different partitions).
29463
29464 2008-06-16 Robert Millan <rmh@aybabtu.com>
29465
29466 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29467 asked to setup access for the same partition that provides /boot,
29468 don't bother using UUIDs since our root already has the value we
29469 want.
29470
29471 2008-06-16 Robert Millan <rmh@aybabtu.com>
29472
29473 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29474 I2O devices.
29475 Patch from Sven Mueller <sven@debian.org>.
29476
29477 2008-06-16 Robert Millan <rmh@aybabtu.com>
29478
29479 * util/update-grub.in: Check for $EUID instead of $UID.
29480 Reported by Vincent Zweije.
29481
29482 2008-06-16 Bean <bean123ch@gmail.com>
29483
29484 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29485 (grub_ext2_read_block): Likewise.
29486 (grub_ext2_read_inode): Likewise.
29487 (grub_ext2_mount): Likewise.
29488 (grub_ext2_close): Likewise.
29489 (grub_ext3_get_journal): Removed.
29490
29491 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29492 (grub_reiserfs_read_symlink): Likewise.
29493 (grub_reiserfs_mount): Likewise.
29494 (grub_reiserfs_open): Likewise.
29495 (grub_reiserfs_read): Likewise.
29496 (grub_reiserfs_close): Likewise.
29497 (grub_reiserfs_get_journal): Removed.
29498
29499 * fs/fshelp.c (grub_fshelp_read): Removed.
29500 (grub_fshelp_map_block): Likewise.
29501
29502 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29503 (grub_fshelp_journal): Likewise.
29504 (grub_fshelp_read): Likewise.
29505 (grub_fshelp_map_block): Likewise.
29506
29507 2008-06-16 Pavel Roskin <proski@gnu.org>
29508
29509 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29510 floating point anymore.
29511 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29512
29513 2008-06-15 Pavel Roskin <proski@gnu.org>
29514
29515 * commands/ls.c (grub_ls_list_files): Use integer calculations
29516 for human readable format, avoid floating point use.
29517 * kern/misc.c (grub_ftoa): Remove.
29518 (grub_vsprintf): Remove floating point support.
29519
29520 2008-06-15 Robert Millan <rmh@aybabtu.com>
29521
29522 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29523 devices.
29524 Reported by Max Vozeler.
29525
29526 2008-06-15 Robert Millan <rmh@aybabtu.com>
29527
29528 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29529 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29530 skipped later.
29531 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29532 the beginning of the prefix.
29533
29534 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29535 It is assumed that if we have a memdisk, grub-mkimage has set
29536 grub_prefix to include the "(memdisk)" drive in it.
29537
29538 2008-06-15 Robert Millan <rmh@aybabtu.com>
29539
29540 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29541 Initialize keyboard controller after registering the terminal, so that
29542 grub_printf() can be called from grub_keyboard_controller_init().
29543
29544 2008-06-15 Robert Millan <rmh@aybabtu.com>
29545
29546 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29547 extent-btree which is written as big endian on disk.
29548 Reported by Alain Greppin <al@chilibi.org>.
29549
29550 2008-06-14 Robert Millan <rmh@aybabtu.com>
29551
29552 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29553 * util/i386/pc/grub-install.in (modules): Likewise.
29554
29555 2008-06-13 Pavel Roskin <proski@gnu.org>
29556
29557 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29558
29559 2008-06-13 Bean <bean123ch@gmail.com>
29560
29561 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29562
29563 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29564
29565 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29566 to indicate sparse block.
29567
29568 2008-06-12 Pavel Roskin <proski@gnu.org>
29569
29570 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29571 number, grub_fshelp_read() does it for us.
29572
29573 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29574 linear disk read with journal translation.
29575 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29576 * include/grub/fshelp.h: Declare grub_fshelp_read().
29577
29578 2008-06-09 Pavel Roskin <proski@gnu.org>
29579
29580 * fs/minix.c (grub_minix_mount): Handle error reading
29581 superblock.
29582
29583 2008-06-08 Robert Millan <rmh@aybabtu.com>
29584
29585 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29586 don't append the RAID prefix afterwards.
29587 Reported by Clint Adams.
29588
29589 2008-06-08 Robert Millan <rmh@aybabtu.com>
29590
29591 Based on description from Pavel:
29592 * kern/disk.c (grub_disk_check_range): Rename to ...
29593 (grub_disk_adjust_range): ... this. Add a comment explaining the
29594 tasks performed by this function.
29595
29596 2008-06-08 Robert Millan <rmh@aybabtu.com>
29597
29598 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29599 `num_serial' (for consistency with other variables).
29600 (struct grub_ntfs_data): Add `uuid' member.
29601 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29602 (grub_ntfs_uuid): New function.
29603 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29604
29605 2008-06-07 Pavel Roskin <proski@gnu.org>
29606
29607 * util/biosdisk.c (open_device): Revert last change to the
29608 function, it broke installation. The sector needs to be
29609 different dependent on which device is opened.
29610
29611 2008-06-06 Robert Millan <rmh@aybabtu.com>
29612
29613 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29614 rest of GRUB, and breakage doesn't happen if its value were modified.
29615
29616 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29617 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29618 a constant (same value).
29619 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29620 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29621
29622 2008-06-06 Robert Millan <rmh@aybabtu.com>
29623
29624 * util/biosdisk.c (open_device): Do not modify sector offset when
29625 accessing a partition. kern/disk.c already handles this for us.
29626
29627 2008-06-06 Robert Millan <rmh@aybabtu.com>
29628
29629 * util/grub-emu.c (grub_machine_init): Move code in this function from
29630 here ...
29631 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29632 segfault in case grub_printf() is called).
29633
29634 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29635 grub_probe. Update all users not to explicitly add it again.
29636 (grub_device): New variable; contains corresponding device for grubdir.
29637 (fs_module, partmap_module, devabstraction_module): Pass
29638 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29639 every time.
29640
29641 2008-06-05 Robert Millan <rmh@aybabtu.com>
29642
29643 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29644 is found, print it (same layout as with labels).
29645
29646 2008-06-04 Robert Millan <rmh@aybabtu.com>
29647
29648 * util/biosdisk.c (get_drive): Rename to ...
29649 (find_grub_drive): ... this. Update all users.
29650
29651 (get_os_disk): Rename to ...
29652 (convert_system_partition_to_system_disk): ... this. Update all users.
29653
29654 (find_drive): Rename to ...
29655 (find_system_device): ... this. Update all users.
29656
29657 2008-06-04 Robert Millan <rmh@aybabtu.com>
29658
29659 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29660 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29661 (make_device_map): Likewise.
29662
29663 2008-06-01 Robert Millan <rmh@aybabtu.com>
29664
29665 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29666 before dereferencing it.
29667
29668 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29669 union with fat12/fat16-specific ones. Add some new fields, including
29670 `num_serial' for both versions.
29671 (struct grub_fat_data): Add `uuid' member.
29672 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29673 names. Initialize `data->uuid' using `num_serial'.
29674 (grub_fat_uuid): New function.
29675 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29676
29677 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29678 (grub_reiserfs_uuid): New function.
29679 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29680 member.
29681
29682 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29683 (grub_xfs_uuid): New function.
29684 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29685
29686 2008-06-01 Robert Millan <rmh@aybabtu.com>
29687
29688 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29689 code that is backward compatible with pre-uuid search command.
29690
29691 2008-05-31 Robert Millan <rmh@aybabtu.com>
29692
29693 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29694 floppies after everything else, to ensure floppy drive isn't accessed
29695 unnecessarily (patch from Bean).
29696
29697 2008-05-31 Robert Millan <rmh@aybabtu.com>
29698
29699 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29700 not print device names when we were asked to set a variable.
29701
29702 2008-05-31 Robert Millan <rmh@aybabtu.com>
29703
29704 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29705 using "cursor-on" and "cursor-off" commands (understood at least by
29706 the Open Firmware flavour on OLPC).
29707
29708 2008-05-31 Michael Gorven <michael@gorven.za.net>
29709
29710 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29711 on and off sequences.
29712
29713 2008-05-31 Robert Millan <rmh@aybabtu.com>
29714
29715 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29716 * util/update-grub.in: Likewise.
29717
29718 2008-05-30 Pavel Roskin <proski@gnu.org>
29719
29720 * util/biosdisk.c (linux_find_partition): Simplify logic and
29721 make the code more universal. Keep special processing for
29722 devfs, but use a simple rule for all other devices. If the
29723 device ends with a number, append 'p' and the partition number.
29724 Otherwise, append only the partition number.
29725
29726 2008-05-30 Robert Millan <rmh@aybabtu.com>
29727
29728 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29729 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29730 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29731 the `root' parameter to Linux.
29732
29733 2008-05-30 Robert Millan <rmh@aybabtu.com>
29734
29735 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29736 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29737 --fs_uuid with --fs-uuid.
29738 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29739 all filesystems support them).
29740
29741 2008-05-30 Robert Millan <rmh@aybabtu.com>
29742
29743 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
29744 grub_printf() flags, since we're printing in units of 2 bytes.
29745
29746 2008-05-30 Robert Millan <rmh@aybabtu.com>
29747
29748 * util/grub.d/00_header.in: Remove obsolete comment referencing
29749 convert_system_path_to_grub_path().
29750 * util/update-grub.in: Likewise.
29751 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29752 (convert_system_path_to_grub_path): Add a warning message explaining
29753 that this function is deprecated. Rely on is_path_readable_by_grub()
29754 for the readability checks.
29755 (font_path): Use is_path_readable_by_grub() for the readability
29756 check rather than convert_system_path_to_grub_path().
29757
29758 2008-05-30 Robert Millan <rmh@aybabtu.com>
29759
29760 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29761 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29762 converting it first.
29763 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29764 grub.cfg for access to font file, and afterwards call it again to set
29765 the root device.
29766
29767 2008-05-30 Robert Millan <rmh@aybabtu.com>
29768
29769 * commands/search.c (options): Add --fs_uuid option.
29770 (search_fs_uuid): New function.
29771 (grub_cmd_search): Fix --set argument passing.
29772 Use search_fs_uuid() when requested via --fs_uuid.
29773 (grub_search_init): Update help message.
29774 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29775 and redeclare it as an array of 16-bit words.
29776 (grub_ext2_uuid): New function.
29777 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29778 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29779 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29780 (GRUB_DEVICE_BOOT_UUID): New variables.
29781 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29782 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29783 whenever possible.
29784 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29785 just assume `root' variable has the right value.
29786 * util/grub.d/10_linux.in: Likewise.
29787 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29788 via PRINT_FS_UUID.
29789 (main): Recognise `-t fs_uuid' argument.
29790
29791 2008-05-30 Robert Millan <rmh@aybabtu.com>
29792
29793 * util/biosdisk.c (map): Redefine structure to hold information
29794 about GRUB drive name.
29795 (get_drive): Reimplement without assuming (and verifying) BIOS-like
29796 drive names.
29797 (call_hook): Remove.
29798 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29799 member. Assume drive has partitions.
29800 (grub_util_biosdisk_open): Access device names via `.device' struct
29801 member.
29802 (open_device): Likewise.
29803 (find_drive): Likewise.
29804 (read_device_map): Adjust map[] usage to match the new struct
29805 definition. Don't check for duplicates (still possible, but not cheap
29806 anymore).
29807 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29808 (make_device_name): Remove assumption of BIOS-like drive names.
29809
29810 2008-05-30 Pavel Roskin <proski@gnu.org>
29811
29812 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29813 compiling execute.c doesn't need grub_script.tab.h anymore.
29814 (normal/command.c_DEPENDENCIES): Likewise.
29815 (normal/function.c_DEPENDENCIES): Likewise.
29816 * conf/i386-ieee1275.rmk: Likewise.
29817 * conf/i386-linuxbios.rmk: Likewise.
29818 * conf/i386-pc.rmk: Likewise.
29819 * conf/powerpc-ieee1275.rmk: Likewise.
29820 * conf/sparc64-ieee1275.rmk: Likewise.
29821
29822 2008-05-29 Pavel Roskin <proski@gnu.org>
29823
29824 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29825 when scanning metadata for volume group name.
29826
29827 * include/grub/script.h: Don't include grub_script.tab.h. It's
29828 a generated file, which may only be included from the files with
29829 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29830 use union YYSTYPE, as the later allows forward declaration.
29831 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29832
29833 2008-05-29 Robert Millan <rmh@aybabtu.com>
29834
29835 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29836 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29837 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29838 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29839 scan codes.
29840
29841 2008-05-29 Robert Millan <rmh@aybabtu.com>
29842
29843 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29844 control key combinations.
29845
29846 2008-05-29 Robert Millan <rmh@aybabtu.com>
29847
29848 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29849 * util/ieee1275/grub-install.in: ... to here.
29850 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29851 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29852 (grub_install_SOURCES): Likewise.
29853
29854 2008-05-29 Robert Millan <rmh@aybabtu.com>
29855
29856 * fs/affs.c: Update copyright year.
29857 * fs/ext2.c: Likewise.
29858 * fs/fshelp.c: Likewise.
29859 * fs/hfsplus.c: Likewise.
29860 * fs/ntfs.c: Likewise.
29861 * fs/xfs.c: Likewise.
29862 * include/grub/fshelp.h: Likewise.
29863 * util/grub-mkdevicemap.c: Likewise.
29864
29865 2008-05-28 Robert Millan <rmh@aybabtu.com>
29866
29867 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29868 might need to be fatfs to support some firmware implementations
29869 (e.g. OFW or EFI).
29870
29871 2008-05-28 Robert Millan <rmh@aybabtu.com>
29872
29873 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29874 devices.
29875 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29876 (make_device_map): Likewise.
29877
29878 2008-05-20 Bean <bean123ch@gmail.com>
29879
29880 * fs/fshelp.c (grub_fshelp_map_block): New function.
29881 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29882 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29883
29884 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29885 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29886 (grub_fshelp_journal): New structure.
29887 (grub_fshelp_map_block): New function prototype.
29888 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29889 (grub_fshelp_map_block): Likewise.
29890
29891 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29892 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29893 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29894 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29895 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29896 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29897 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29898 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29899 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29900 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29901 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29902 (grub_ext2_sblock): New members for journal support.
29903 (grub_ext3_journal_header): New structure.
29904 (grub_ext3_journal_revoke_header): Likewise.
29905 (grub_ext3_journal_block_tag): Likewise.
29906 (grub_ext3_journal_sblock): Likewise.
29907 (grub_fshelp_node): New members logfile and journal.
29908 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29909 grub_fshelp_map_block to get real block number.
29910 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29911 number.
29912 (grub_ext2_read_inode): Likewise.
29913 (grub_ext3_get_journal): New function.
29914 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29915 (grub_ext2_close): Release memory used by journal.
29916
29917 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29918 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29919 (grub_reiserfs_transaction_header): Renamed to
29920 grub_reiserfs_description_block, replace field data with real_blocks.
29921 (grub_reiserfs_commit_block): New structure.
29922 (grub_reiserfs_data): New member journal.
29923 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29924 number.
29925 (grub_reiserfs_read_symlink): Likewise.
29926 (grub_reiserfs_iterate_dir): Likewise.
29927 (grub_reiserfs_open): Likewise.
29928 (grub_reiserfs_read): Likewise.
29929 (grub_reiserfs_get_journal): New function.
29930 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29931 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29932 using grub_reiserfs_get_journal.
29933 (grub_reiserfs_close): Release memory used by journal.
29934
29935 * fs/affs.c (grub_affs_read_block): Change block type to
29936 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29937
29938 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29939
29940 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29941
29942 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29943
29944 * fs/udf.c (grub_udf_read_block): Change block type to
29945 grub_disk_addr_t. Use type cast to avoid warning.
29946
29947 * fs/xfs.c (grub_xfs_read_block): Likewise.
29948
29949 2008-05-16 Christian Franke <franke@computer.org>
29950
29951 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29952 to ensure that break with ESC will always work.
29953 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29954 Remove ESC from keyboard queue.
29955
29956 2008-05-16 Christian Franke <franke@computer.org>
29957
29958 * util/biosdisk.c: [__CYGWIN__] Add includes.
29959 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29960 (get_os_disk): Move variable declarations to OS specific
29961 parts to avoid warning.
29962 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29963 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29964 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29965 Cygwin.
29966 * util/getroot.c: [__CYGWIN__] Add includes.
29967 (strip_extra_slashes): Fix "/" case.
29968 [__CYGWIN__] (get_win32_path): New function.
29969 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29970 [__CYGWIN__] (find_root_device): Disable.
29971 [__CYGWIN__] (get_bootsec_serial): New function.
29972 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29973 [__linux__] (grub_guess_root_device): Add early returns to simplify
29974 structure.
29975 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29976 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29977 check for Linux only.
29978
29979 2008-05-15 Bean <bean123ch@gmail.com>
29980
29981 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29982 keyboard hang problem in apple's intel mac.
29983
29984 2008-05-09 Robert Millan <rmh@aybabtu.com>
29985
29986 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29987 devices.
29988 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29989 (make_device_map): Likewise.
29990 Reported by Aurelien Jarno <aurel32@debian.org>
29991
29992 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
29993
29994 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29995 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29996 (make_device_map): Output entries for xvd type disks.
29997
29998 2008-05-07 Robert Millan <rmh@aybabtu.com>
29999
30000 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30001 devices.
30002 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30003 (make_device_map): Likewise.
30004 Reported by Roland Dreier <rdreier@cisco.com>
30005
30006 2008-05-07 Robert Millan <rmh@aybabtu.com>
30007
30008 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30009 grub_strstr() call. Correct a few mistakes in failure path handling.
30010
30011 2008-05-06 Robert Millan <rmh@aybabtu.com>
30012
30013 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30014 Do not print a trailing slash (therefore, the root directory is an
30015 empty string).
30016 (convert_system_path_to_grub_path): Do not remove trailing slash
30017 from make_system_path_relative_to_its_root() output.
30018
30019 * util/i386/pc/grub-install.in: Add trailing slash to output from
30020 make_system_path_relative_to_its_root().
30021
30022 2008-05-06 Robert Millan <rmh@aybabtu.com>
30023
30024 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30025 ensures that output lines aren't intermangled with those sent to
30026 stderr (via grub_util_info()).
30027 * util/grub-probe.c (grub_refresh): Likewise.
30028 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30029
30030 2008-05-05 Christian Franke <franke@computer.org>
30031
30032 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30033 Add Cygwin device names.
30034 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30035 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30036 (check_device): Return error instead of success on empty name.
30037 (make_device_map): Move label inside linux specific code to
30038 prevent compiler warning.
30039
30040 2008-04-30 Robert Millan <rmh@aybabtu.com>
30041
30042 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30043 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30044 first boot option.
30045 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30046
30047 2008-04-29 Robert Millan <rmh@aybabtu.com>
30048
30049 * docs/grub.cfg: New file (example GRUB configuration).
30050
30051 2008-04-26 Robert Millan <rmh@aybabtu.com>
30052
30053 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30054 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30055 and `disk/ieee1275/nand.c'.
30056
30057 2008-04-25 Bean <bean123ch@gmail.com>
30058
30059 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30060 i386-linuxbios.
30061
30062 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30063 change the buffer size to 4096 for cdrom device.
30064
30065 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30066 and nand.mod.
30067 (_linux_mod_SOURCES): New variable.
30068 (_linux_mod_CFLAGS): Likewise.
30069 (_linux_mod_LDFLAGS): Likewise.
30070 (linux_mod_SOURCES): Likewise.
30071 (linux_mod_CFLAGS): Likewise.
30072 (linux_mod_LDFLAGS): Likewise.
30073 (nand_mod_SOURCES): Likewise.
30074 (nand_mod_CFLAGS): Likewise.
30075 (nand_mod_LDFLAGS): Likewise.
30076
30077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30078 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30079 type property. (nand device in olpc don't have this property)
30080
30081 * include/grub/disk.h (grub_disk_dev_id): New macro
30082 GRUB_DISK_DEVICE_NAND_ID.
30083
30084 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30085 function prototype.
30086 (grub_rescue_cmd_initrd): Likewise.
30087
30088 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30089 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30090 ofw_cif_handler and ofw_idt, adjust padding number.
30091
30092 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30093 GRUB_MACHINE_IEEE1275 is defined.
30094
30095 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30096 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30097
30098 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30099 on nested function heap_init.
30100 (grub_upper_mem): New variable for i386-ieee1275.
30101 (grub_get_extended_memory): New function for i386-ieee1275.
30102 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30103
30104 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30105 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30106 property.
30107
30108 * loader/i386/ieee1275/linux.c: New file.
30109
30110 * loader/i386/ieee1275/linux_normal.c: New file.
30111
30112 * disk/ieee1275/nand.c: New file.
30113
30114 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30115
30116 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30117 value.
30118 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30119
30120 2008-04-18 Robert Millan <rmh@aybabtu.com>
30121
30122 Restructures early code path on ieee1275 to unify grub_main() as
30123 the first C function that is executed in every platform.
30124
30125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30126 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30127 cmain().
30128 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30129 * kern/ieee1275/cmain.c (cmain): Rename to ...
30130 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30131 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30132 at the beginning.
30133
30134 2008-04-18 Robert Millan <rmh@aybabtu.com>
30135
30136 * util/update-grub.in: Fix syntax error when setting
30137 `GRUB_PRELOAD_MODULES'.
30138 Reported by Stephane Chazelas <stephane@artesyncp.com>
30139
30140 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30141
30142 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30143 section into account, newer toolchains generate unique build ids
30144 * configure.ac: remove the test for --build-id=none acceptance,
30145 we want build ids to be preserved
30146 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30147 far from other sections don't cause the raw binary images grow
30148 size
30149
30150 2008-04-15 Robert Millan <rmh@aybabtu.com>
30151
30152 * disk/lvm.c: Update copyright year.
30153 * kern/misc.c: Likewise.
30154
30155 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30156
30157 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30158 there is no memory left for physical volume name.
30159
30160 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30161
30162 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30163 volume name mapping to support bigger than 9 character names properly.
30164
30165 2008-04-13 Robert Millan <rmh@aybabtu.com>
30166
30167 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30168 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30169
30170 2008-04-13 Christian Franke <franke@computer.org>
30171
30172 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30173 to create a floppy emulation boot CD when non emulation mode
30174 does not work.
30175 Enable Joliet CD filesystem extension.
30176
30177 2008-04-13 Robert Millan <rmh@aybabtu.com>
30178
30179 * kern/misc.c (grub_strncat): Fix off-by-one error.
30180 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30181
30182 * kern/env.c (grub_env_context_close): Clear current context, not
30183 previous one.
30184 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30185
30186 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30187
30188 2008-04-13 Robert Millan <rmh@aybabtu.com>
30189
30190 Improve robustness when handling LVM.
30191
30192 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30193 (and leave `*p' unmodified).
30194 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30195 through it.
30196 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30197 iterating through it.
30198 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30199 through it.
30200 (grub_lvm_scan_device): Check the return value (and fail gracefully
30201 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30202 Don't assume `vg->pvs != NULL' when iterating through it.
30203
30204 2008-04-13 Robert Millan <rmh@aybabtu.com>
30205
30206 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30207 * genmk.rb (partmap): New variable.
30208 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30209 (#{partmap}): New target rule.
30210 * genpartmaplist.sh: New file.
30211 * Makefile.in (pkglib_DATA): Add partmap.lst.
30212 (partmap.lst): New target rule.
30213 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30214 modules (including all partition maps), instead of preloading them.
30215
30216 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30217
30218 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30219 `linux-boot-prober' (if installed) to detect other operating
30220 systems which are installed on the computer and add them to
30221 the boot menu.
30222 * conf/common.rmk: Build and install 30_os-prober.
30223
30224 2008-04-12 Robert Millan <rmh@aybabtu.com>
30225
30226 * kern/powerpc/ieee1275/init.c: Move from here ...
30227 * kern/ieee1275/init.c: ... to here. Update all users.
30228
30229 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30230 * kern/ieee1275/cmain.c: ... to here. Update all users.
30231
30232 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30233 * kern/ieee1275/openfw.c: ... to here. Update all users.
30234
30235 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30236 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30237
30238 2008-04-10 Pavel Roskin <proski@gnu.org>
30239
30240 * configure.ac: Always use "_cv_" in cache variables for
30241 compatibility with Autoconf 2.62.
30242
30243 2008-04-07 Robert Millan <rmh@aybabtu.com>
30244
30245 Revert grub/machine/init.h addition by Pavel (since it breaks on
30246 i386-ieee1275 and others):
30247 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30248 * util/powerpc/ieee1275/misc.c: Likewise.
30249
30250 2008-04-07 Robert Millan <rmh@aybabtu.com>
30251
30252 * util/grub-probe.c (probe): Improve error message.
30253
30254 2008-04-07 Robert Millan <rmh@aybabtu.com>
30255
30256 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30257 (this prevents the presence of a bogus entry from ruining the whole
30258 thing).
30259
30260 2008-04-06 Pavel Roskin <proski@gnu.org>
30261
30262 * util/biosdisk.c: Include grub/util/biosdisk.h.
30263 * util/grub-fstest.c (execute_command): Make static.
30264 * util/grub-mkdevicemap.c (check_device): Likewise.
30265 * util/i386/pc/misc.c: Include grub/machine/init.h.
30266 * util/powerpc/ieee1275/misc.c: Likewise.
30267 * util/lvm.c: Include grub/util/lvm.h.
30268 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30269 grub/cache.h.
30270 * util/raid.c: Include grub/util/raid.h.
30271 (grub_util_getdiskname): Make static.
30272
30273 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30274 grub_hostfs_fini(), as they are called from grub_init_all() and
30275 grub_fini_all() respectively. This fixes an infinite loop in
30276 grub-fstest due to double registration of hostfs.
30277 Reported by Christian Franke <Christian.Franke@t-online.de>
30278
30279 2008-04-05 Pavel Roskin <proski@gnu.org>
30280
30281 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30282 all 8 functions. Otherwise, probe function 0 only.
30283
30284 2008-04-04 Pavel Roskin <proski@gnu.org>
30285
30286 * commands/lspci.c (grub_lspci_iter): Print the bus number
30287 correctly.
30288
30289 * commands/lspci.c (grub_pci_classes): Fix typos.
30290 (grub_lspci_iter): Don't print func twice. Print vendor ID
30291 before device ID, as it's normally done.
30292
30293 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30294 Fix signedness warnings.
30295 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30296 Likewise.
30297 * util/ieee1275/get_disk_name.c: Include config.h so that
30298 _GNU_SOURCE is defined and getline() is declared. Mark an
30299 unused argument as such. Fix a signedness warning.
30300
30301 2008-04-02 Pavel Roskin <proski@gnu.org>
30302
30303 * genkernsyms.sh.in: Use more robust assignments for CC and
30304 srcdir. Quote srcdir.
30305 * gensymlist.sh.in: Likewise. Assert at the compile time that
30306 the symbol table is not empty.
30307
30308 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30309 * fs/cpio.c (grub_cpio_read): Likewise.
30310
30311 2008-04-01 Pavel Roskin <proski@gnu.org>
30312
30313 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30314 * disk/host.c (grub_host_open): Likewise.
30315 * disk/loopback.c (grub_loopback_open): Likewise.
30316 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30317 disk->id as in disk/host.c, not a multi-character constant.
30318
30319 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30320 later is obsolete, potentially dangerous and sets a bad example.
30321 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30322 * util/misc.c (grub_util_get_image_size): Likewise.
30323
30324 * disk/loopback.c (options): Improve help for "--partitions".
30325
30326 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30327 options to align them with the short options, e.g. "echo -e".
30328
30329 2008-03-31 Bean <bean123ch@gmail.com>
30330
30331 * video/reader/png.c (grub_png_data): New member is_16bit and
30332 image_data.
30333 (grub_png_decode_image_header): Detect 16 bit png image.
30334 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30335 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30336 (grub_video_reader_png): Release memory occupied by image_data.
30337
30338 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30339 4096 bytes.
30340 (grub_nfs_mount): Skip the test for sector per cluster.
30341
30342 * include/grub/ntfs.h (MAX_SPC): Removed.
30343
30344 2008-03-31 Bean <bean123ch@gmail.com>
30345
30346 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30347 (grub_probe_SOURCES): Add fs/afs.c.
30348 (grub_fstest_SOURCES): Likewise.
30349 (afs_mod_SOURCES): New variable.
30350 (afs_mod_CFLAGS): Likewise.
30351 (afs_mod_LDFLAGS): Likewise.
30352
30353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30354 (grub_emu_SOURCES): Likewise.
30355
30356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30357
30358 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30359
30360 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30361
30362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30363
30364 * fs/afs.c: New file.
30365
30366 2008-03-30 Pavel Roskin <proski@gnu.org>
30367
30368 * disk/host.c: Include grub/misc.h to fix a warning.
30369 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30370 warnings about implicit declarations.
30371
30372 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30373 variable.
30374 * include/grub/i386/loader.h: Change declaration of
30375 grub_linux_boot() to match what grub_loader_set() expects.
30376 * util/getroot.c (grub_guess_root_device): Return const char* to
30377 fix a warning.
30378 * util/grub-probe.c (probe): Fix a warning about uninitialized
30379 abstraction_name variable.
30380 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30381 second argument as unused to fix a warning.
30382
30383 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30384 missing grub_error() call.
30385
30386 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30387 2.60 and newer uses it to define datadir.
30388
30389 * commands/sleep.c: Fix warning about implicit declaration.
30390 * disk/memdisk.c: Likewise.
30391 * loader/aout.c: Likewise.
30392 * loader/i386/bsd_normal.c: Likewise.
30393 * util/grub-probe.c: Likewise.
30394
30395 * commands/i386/cpuid.c (has_longmode): Make static.
30396 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30397 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30398
30399 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30400 GDT. This is more robust, as %ds can change.
30401 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30402 calling real_to_prot().
30403 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30404
30405 2008-03-28 Pavel Roskin <proski@gnu.org>
30406
30407 * kern/i386/pc/startup.S: Assert that uncompressed functions
30408 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30409 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30410 code, as they push parts of the code (error handlers) beyond
30411 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30412 code as correctness and size.
30413
30414 2008-03-28 Pavel Roskin <proski@gnu.org>
30415
30416 * kern/i386/pc/startup.S
30417 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30418 data block address to the real mode, keep offset minimal. This
30419 works around a bug in AWARD BIOS on old Athlon systems, which
30420 makes CD detection hang.
30421
30422 2008-03-26 Pavel Roskin <proski@gnu.org>
30423
30424 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30425 const.
30426 * include/grub/normal.h: Add grub_parse_color_name_pair()
30427 declaration.
30428
30429 2008-03-24 Bean <bean123ch@gmail.com>
30430
30431 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30432 (cd_count): Removed.
30433 (cd_drive): New variable.
30434 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30435 (grub_biosdisk_call_hook): Likewise.
30436 (grub_biosdisk_iterate): Change cdrom detection method.
30437 (grub_biosdisk_open): Replace cd_start with cd_drive.
30438 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30439 detect cdrom device.
30440
30441 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30442 Removed.
30443 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30444 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30445 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30446 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30447 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30448 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30449 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30450 (grub_biosdisk_cdrp): New structure.
30451 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30452
30453 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30454
30455 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30456 device.
30457
30458 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30459 New function.
30460
30461 2008-03-20 Robert Millan <rmh@aybabtu.com>
30462
30463 Remove 2 TiB limit in ata.mod.
30464 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30465 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30466 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30467 grub_uint64_t instead of grub_uint32_t.
30468
30469 2008-03-05 Bean <bean123ch@gmail.com>
30470
30471 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30472 (grub_multiboot): Set boot device.
30473
30474 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30475
30476 2008-03-02 Bean <bean123ch@gmail.com>
30477
30478 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30479 symlink_buffer.
30480
30481 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30482
30483 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30484 texinfo.tex.
30485
30486 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30487 modified.
30488
30489 * docs/fdl.texi: New file.
30490
30491 * docs/mdate-sh: New file. Copied from gnulib.
30492 * docs/texinfo.tex: Likewise.
30493
30494 * config.guess: Updated from gnulib.
30495 * install-sh: Likewise.
30496
30497 2008-02-28 Robert Millan <rmh@aybabtu.com>
30498
30499 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30500 (aout_mod_SOURCES): New variable.
30501 (aout_mod_CFLAGS): Likewise.
30502 (aout_mod_LDFLAGS): Likewise.
30503
30504 * conf/i386-ieee1275.rmk: Likewise.
30505
30506 2008-02-28 Robert Millan <rmh@aybabtu.com>
30507
30508 * util/update-grub.in: Reorganise terminal validity check. Accept
30509 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30510 Based on suggestion by Franklin PIAT.
30511
30512 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30513
30514 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30515 function.
30516 * util/getroot.c (grub_util_check_block_device): New function that
30517 returns the given argument if it is a block device and returns NULL else.
30518 * util/grub-probe.c (argument_is_device): New variable.
30519 (probe): Promote device_name from a variable to an argument. Receive
30520 device_name from grub_util_check_block_device() if path is NULL and from
30521 grub_guess_root_device() else. Do not free() device_name anymore.
30522 (options): Introduce new parameter '-d, --device'.
30523 (main): Add description of the new parameter to the help screen.
30524 Rename path variable to argument. Set argument_is_device if the '-d'
30525 option is given. Pass argument to probe() depending on
30526 argument_is_device.
30527
30528 2008-02-24 Bean <bean123ch@gmail.com>
30529
30530 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30531 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30532 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30533 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30534 (GRUB_ISO9660_VOLDESC_END): Likewise.
30535 (grub_iso9660_primary_voldesc): New member escape.
30536 (grub_iso9660_data): New member joliet.
30537 (grub_iso9660_convert_string): New function.
30538 (grub_iso9660_mount): Detect joliet extension.
30539 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30540 (grub_iso9660_iso9660_label): Likewise.
30541
30542 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30543 (grub_setup_SOURCES): Add fs/udf.c.
30544 (grub_fstest_SOURCES): Likewise.
30545 (udf_mod_SOURCES): New variable.
30546 (udf_mod_CFLAGS): Likewise.
30547 (udf_mod_LDFLAGS): Likewise.
30548
30549 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30550 (grub_emu_SOURCES): Likewise.
30551
30552 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30553
30554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30555
30556 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30557
30558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30559
30560 * fs/udf.c: New file.
30561
30562 2008-02-24 Robert Millan <rmh@aybabtu.com>
30563
30564 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30565 (normal/lexer.c_DEPENDENCIES): New variables.
30566 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30567 (normal/lexer.c_DEPENDENCIES): Likewise.
30568 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30569 (normal/lexer.c_DEPENDENCIES): Likewise.
30570 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30571 (normal/lexer.c_DEPENDENCIES): Likewise.
30572 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30573 (normal/lexer.c_DEPENDENCIES): Likewise.
30574 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30575 (normal/lexer.c_DEPENDENCIES): Likewise.
30576
30577 2008-02-23 Robert Millan <rmh@aybabtu.com>
30578
30579 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30580 since they were intended to be in hex. This didn't break previously
30581 because of a bug in gpt_partition_map_iterate() (see below).
30582
30583 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30584 when checking the validity of GPT header.
30585 Remove `partno', since it always provides the same information as `i'.
30586
30587 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30588
30589 * include/grub/efi/time.h: Fix a wrong comment.
30590
30591 2008-02-19 Pavel Roskin <proski@gnu.org>
30592
30593 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30594 message.
30595
30596 2008-02-19 Bean <bean123ch@gmail.com>
30597
30598 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30599 (aout_mod_SOURCES): New variable.
30600 (aout_mod_CFLAGS): Likewise.
30601 (aout_mod_LDFLAGS): Likewise.
30602 (_bsd_mod_SOURCES): New variable.
30603 (_bsd_mod_CFLAGS): Likewise.
30604 (_bsd_mod_LDFLAGS): Likewise.
30605 (bsd_mod_SOURCES): New variable.
30606 (bsd_mod_CFLAGS): Likewise.
30607 (bsd_mod_LDFLAGS): Likewise.
30608
30609 * include/grub/aout.h: New file.
30610
30611 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30612
30613 * include/grub/i386/bsd.h: New file.
30614
30615 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30616 to make it public.
30617
30618 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30619 function is called, so that it's possible to change it inside the hook.
30620 (grub_elf64_load): Likewise.
30621 (grub_elf_file): Don't close the file if elf header is not found.
30622 (grub_elf_close): Close the file if grub_elf_file fails (The new
30623 grub_elf_file won't close it).
30624 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30625 (grub_elf64_size): Likewise.
30626
30627 * kern/i386/loader.S (grub_unix_real_boot): New function.
30628
30629 * loader/aout.c: New file.
30630
30631 * loader/i386/bsd.c: New file.
30632
30633 * loader/i386/bsd_normal.c: New file.
30634
30635 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30636
30637 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30638 can test other formats.
30639
30640 2008-02-19 Robert Millan <rmh@aybabtu.com>
30641
30642 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30643 (grub_gpt_partition_type_empty): Redefine with macro from
30644 `<grub/gpt_partition.h>'.
30645 (gpt_partition_map_iterate): Adjust partition type comparison.
30646
30647 Export `entry' as partmap-specific `part.data' struct.
30648 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30649
30650 * include/grub/gpt_partition.h (grub_gpt_header)
30651 (grub_gpt_partentry): ... to here (new file).
30652
30653 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30654
30655 (grub_gpt_partition_type_bios_boot): New const variable, defined
30656 with macro from `<grub/gpt_partition.h>'.
30657
30658 (setup): Replace `first_start' with `embed_region', which keeps
30659 track of the embed region (and is partmap-agnostic).
30660
30661 Replace find_first_partition_start() with find_usable_region(),
30662 which finds a usable region for embedding using partmap-specific
30663 knowledge (supports PC/MSDOS and GPT).
30664
30665 Fix all assumptions that the embed region start at sector 1, using
30666 `embed_region.start' from now on. Similarly, use `embed_region.end'
30667 rather than `first_start' to calculate available size.
30668
30669 In grub_util_info() message, replace "into after the MBR" with an
30670 indication of the specific sector our embed region starts at.
30671
30672 2008-02-19 Robert Millan <rmh@aybabtu.com>
30673
30674 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30675 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30676 `commands/reboot.c'.
30677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30678 (halt_mod_SOURCES): Likewise.
30679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30680 (halt_mod_SOURCES): Likewise.
30681
30682 2008-02-17 Christian Franke <franke@computer.org>
30683
30684 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30685
30686 2008-02-17 Robert Millan <rmh@aybabtu.com>
30687
30688 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30689 set `first_start' to 0 for non-PC/MSDOS partition maps.
30690
30691 2008-02-16 Robert Millan <rmh@aybabtu.com>
30692
30693 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30694 do not assume partition map is PC/MSDOS before performing checks that
30695 are specific to that layout.
30696
30697 2008-02-13 Robert Millan <rmh@aybabtu.com>
30698
30699 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30700 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30701 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30702
30703 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30704
30705 * configure.ac: Only a cosmetic change on the handling of
30706 -fno-stack-protector.
30707
30708 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
30709
30710 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30711 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30712 reboot.c.
30713 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30714 (halt_mod_SOURCES): New variable.
30715 (halt_mod_CFLAGS): Likewise.
30716 (halt_mod_LDFLAGS): Likewise.
30717 (reboot_mod_SOURCES): Likewise.
30718 (reboot_mod_CFLAGS): Likewise.
30719 (reboot_mod_LDFLAGS): Likewise.
30720
30721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30722 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30723 reboot.c.
30724 (halt_mod_SOURCES): Likewise.
30725 (reboot_mod_SOURCES): Likewise.
30726
30727 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30728 commands/i386/pc/reboot.c by commands/reboot.c.
30729 (reboot_mod_SOURCES): Likewise.
30730
30731 * commands/i386/pc/reboot.c: merge this file ...
30732
30733 * commands/ieee1275/reboot.c: ... and this file ...
30734
30735 * commands/reboot.c: ... to this file.
30736 Add some precompiler directive to include the correct header for
30737 each machine.
30738
30739 * commands/ieee1275/halt.c: move this file ...
30740
30741 * commands/halt.c: ... to here.
30742 Add some precompiler directive to include the correct header for
30743 each machine.
30744
30745 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30746 (grub_halt): Likewise.
30747
30748 * kern/efi/efi.c (grub_reboot): New function.
30749 (grub_halt): Likewise.
30750
30751 2008-02-12 Robert Millan <rmh@aybabtu.com>
30752
30753 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30754 /dev (like it is done for /dev/mapper). This doesn't provide support
30755 for EVMS, but at least it is now easy to identify the problem when it
30756 arises.
30757
30758 2008-02-11 Robert Millan <rmh@aybabtu.com>
30759
30760 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30761 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30762 comparing it with -1, not 0.
30763
30764 2008-02-10 Robert Millan <rmh@aybabtu.com>
30765
30766 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30767 `disk/lvm.c'.
30768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30769 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30770
30771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30772 `disk/lvm.c' to the end of the list.
30773 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30774 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30775
30776 2008-02-10 Robert Millan <rmh@aybabtu.com>
30777
30778 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30779 grub_print_error() instead. This will let user know why we're entering
30780 rescue mode.
30781 Based on suggestions from Sam Morris.
30782
30783 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
30784
30785 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30786 on remaining N args, instead of "--" arg N times.
30787
30788 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30789
30790 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30791 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30792 pattern for unknown glyphs.
30793
30794 2008-02-09 Robert Millan <rmh@aybabtu.com>
30795
30796 * configure.ac: Probe for `help2man'.
30797 * Makefile.in (builddir): New variable.
30798 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30799 or otherwise add a few flags/options to it.
30800 (install-local): For every executable utility or script that is
30801 installed, invoke $(HELP2MAN) to install a manpage based on --help
30802 output.
30803
30804 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30805 that it doesn't prevent --help from working in build tree.
30806
30807 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30808 with `bug-grub@gnu.org'.
30809 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30810 * util/update-grub.in (usage): New function.
30811 Implement proper argument check, with support for --help and --version
30812 (as well as existing -y).
30813
30814 2008-02-09 Christian Franke <franke@computer.org>
30815
30816 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30817 avoid overwriting previous output.
30818 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30819
30820 2008-02-09 Robert Millan <rmh@aybabtu.com>
30821
30822 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30823 drawing the menu.
30824
30825 2008-02-09 Robert Millan <rmh@aybabtu.com>
30826
30827 * commands/sleep.c: New file.
30828 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30829 (sleep_mod_SOURCES): New variable.
30830 (sleep_mod_CFLAGS): Likewise.
30831 (sleep_mod_LDFLAGS): Likewise.
30832
30833 2008-02-09 Robert Millan <rmh@aybabtu.com>
30834
30835 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30836 situations in which we can deduce the RAID size and the superblock
30837 doesn't match it.
30838
30839 2008-02-09 Robert Millan <rmh@aybabtu.com>
30840
30841 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30842 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30843 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30844
30845 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30846 and return a grub_diskmemberlist_t composed of physical array members.
30847 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30848
30849 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30850 prototype.
30851 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30852 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30853 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30854
30855 * util/grub-probe.c (probe): Move partmap probing code from here ...
30856 (probe_partmap): ... to here.
30857 (probe): Use probe_partmap() once for the disk we're probing, and
30858 additionally, when such disk contains a memberlist() struct member,
30859 once for each disk that is contained in the structure returned by
30860 memberlist().
30861
30862 2008-02-09 Robert Millan <rmh@aybabtu.com>
30863
30864 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30865 environment variable to 'all' in order to obtain debug output from
30866 non-util/ code.
30867 * util/i386/pc/grub-setup.c (main): Likewise.
30868
30869 2008-02-08 Robert Millan <rmh@aybabtu.com>
30870
30871 * disk/raid.c (grub_raid_scan_device): Check for
30872 `array->device[sb.this_disk.number]' rather than for
30873 `array->device[sb.this_disk.number]->name', since the latter is not
30874 guaranteed to be accessible.
30875
30876 2008-02-08 Robert Millan <rmh@aybabtu.com>
30877
30878 * disk/raid.c: Update copyright.
30879 * fs/cpio.c: Likewise.
30880 * include/grub/raid.h: Likewise.
30881 * loader/i386/pc/multiboot.c: Likewise.
30882 * util/hostfs.c: Likewise.
30883
30884 2008-02-08 Robert Millan <rmh@aybabtu.com>
30885
30886 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30887 to a grub_disk_t array.
30888 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30889 `device[x]'.
30890 (grub_raid_scan_device): Replace `device[x].name' accesses with
30891 `device[x]->name'. Simplify initialization of `array->device[x]'.
30892
30893 2008-02-08 Robert Millan <rmh@aybabtu.com>
30894
30895 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30896 grub_dprintf() calls.
30897 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30898 error message.
30899
30900 2008-02-07 Christian Franke <franke@computer.org>
30901
30902 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30903 instead of fseek and ftell to support large files.
30904 (grub_hostfs_read): Likewise.
30905
30906 2008-02-07 Robert Millan <rmh@aybabtu.com>
30907
30908 Patch from Jeroen Dekkers.
30909 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
30910 failure, since successfully reading all array members might not be
30911 required.
30912
30913 2008-02-06 Robert Millan <rmh@aybabtu.com>
30914
30915 * util/grub-probe.c (probe): Simplify partmap probing (with the
30916 assumption that the first word up to the underscore equals to
30917 the module name).
30918
30919 2008-02-06 Christian Franke <franke@computer.org>
30920
30921 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30922 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30923 last block of a cpio or tar stream.
30924 Check for "TRAILER!!!" instead of any empty data
30925 block to detect last block of a cpio stream.
30926 (grub_cpio_dir): Fix constness of variable np.
30927 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30928 cpio or tar trailer is detected. This fixes a crash
30929 on open of a non existing file.
30930
30931 2008-02-05 Bean <bean123ch@gmail.com>
30932
30933 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30934 address of entry.
30935 (grub_multiboot_load_elf64): Likewise.
30936 (grub_multiboot): Initialize mbi structure.
30937
30938 * util/grub-fstest.c: Don't include unused header file script.h.
30939
30940 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
30941 of file.
30942 (grub_fstest_SOURCES): Likewise.
30943
30944 2008-02-05 Robert Millan <rmh@aybabtu.com>
30945
30946 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30947 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30948 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30949 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30950
30951 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30952 (translation_table): Replace hardcoded values with macros
30953 provided by `<grub/term.h>'.
30954
30955 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30956 (keyboard_map): Correct/add a few values, with macros provided
30957 by `<grub/term.h>'.
30958 (keyboard_map_shift): Zero values that don't differ from their
30959 `keyboard_map' equivalents.
30960 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30961 Discard the second scan code that is always sent by Caps lock.
30962 Only use `keyboard_map_shift' when it provides a non-zero value,
30963 otherwise fallback to `keyboard_map'.
30964
30965 2008-02-04 Bean <bean123ch@gmail.com>
30966
30967 * Makefile.in (enable_grub_fstest): New variable.
30968
30969 * conf/common.rmk (grub_fstest_init.lst): New rule.
30970 (grub_fstest_init.h): Likewise.
30971 (grub_fstest_init.c): Likewise.
30972 (util/grub-fstest.c_DEPENDENCIES): New variable.
30973 (grub_fstest_SOURCES): Likewise.
30974
30975 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30976
30977 * util/grub-fstest.c: New file.
30978
30979 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30980
30981 Make grub-setup handle a separate root device.
30982
30983 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30984 so that the root device can be compared with the destination
30985 device.
30986 When embedding the core image, if the root and destination devices
30987 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30988 0xFF.
30989 When not embedding, set ROOT_DRIVE to 0xFF.
30990
30991 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30992
30993 Add support for having a grub directory in a different drive. This
30994 is still only the data handling part.
30995
30996 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30997 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30998 (grub_root_drive): New variable.
30999
31000 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31001 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31002 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31003 as it was.
31004
31005 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31006
31007 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31008 macro.
31009 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31010
31011 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31012 is bogus, because PXE booting does not specify any drive
31013 correctly.
31014
31015 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31016 am not sure if this is really correct.
31017
31018 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31019 is always identical to the boot drive when booting from a CD.
31020
31021 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31022 longer.
31023 (root_drive): New variable.
31024 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31025 (setup_sectors): Push %dx right after popping it, because %dh will
31026 be modified later.
31027 (copy_buffer): Restore %dx.
31028
31029 2008-02-03 Robert Millan <rmh@aybabtu.com>
31030
31031 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31032 use `cdboot.img' for cdrom images.
31033
31034 2008-02-03 Robert Millan <rmh@aybabtu.com>
31035
31036 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31037 only setup gfxterm when `font' command has succeeded.
31038
31039 2008-02-03 Robert Millan <rmh@aybabtu.com>
31040
31041 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31042 (grub_rescue_cmd_multiboot_loader)
31043 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31044
31045 2008-02-03 Pavel Roskin <proski@gnu.org>
31046
31047 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31048 %edx and %esi from stack only after grub_gate_a20() is called.
31049 grub_gate_a20() clobbers %edx.
31050
31051 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31052
31053 * configure.ac (AC_INIT): Bumped to 1.96.
31054
31055 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31056 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31057 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31058 video/readers/png.c.
31059
31060 2008-02-03 Bean <bean123ch@gmail.com>
31061
31062 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31063 (cdboot_img_SOURCES): New variable.
31064 (cdboot_img_ASFLAGS): New variable.
31065 (cdboot_img_LDFLAGS): New variable.
31066
31067 * boot/i386/pc/cdboot.S: New file.
31068
31069 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31070 (cd_count): Likewise.
31071 (grub_biosdisk_get_drive): Add support for cd device.
31072 (grub_biosdisk_call_hook): Likewise.
31073 (grub_biosdisk_iterate): Likewise.
31074 (grub_biosdisk_open): Likewise.
31075 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31076 (grub_biosdisk_rw): Support reading from cd device.
31077 (GRUB_MOD_INIT): Iterate cd devices.
31078
31079 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31080 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31081 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31082
31083 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31084
31085 2008-02-02 Robert Millan <rmh@aybabtu.com>
31086
31087 * commands/read.c: New file.
31088 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31089 (read_mod_SOURCES): New variable.
31090 (read_mod_CFLAGS): Likewise.
31091 (read_mod_LDFLAGS): Likewise.
31092
31093 2008-02-02 Robert Millan <rmh@aybabtu.com>
31094
31095 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31096 determining whether menu has to be displayed.
31097
31098 2008-02-02 Marco Gerards <marco@gnu.org>
31099
31100 * bus/pci.c: New file.
31101
31102 * include/grub/pci.h: Likewise.
31103
31104 * include/grub/i386/pc/pci.h: Likewise.
31105
31106 * commands/lspci.c: Likewise.
31107
31108 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31109 `lspci.mod'.
31110 (pci_mod_SOURCES): New variable.
31111 (pci_mod_CFLAGS): Likewise.
31112 (pci_mod_LDFLAGS): Likewise.
31113 (lspci_mod_SOURCES): Likewise.
31114 (lspci_mod_CFLAGS): Likewise.
31115 (lspci_mod_LDFLAGS): Likewise.
31116
31117 2008-02-02 Bean <bean123ch@gmail.com>
31118
31119 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31120 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31121
31122 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31123 (grub_xfs_btree_node): New structure.
31124 (grub_xfs_btree_root): New structure.
31125 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31126 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31127 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31128 (GRUB_XFS_EXTENT_SIZE): Likewise.
31129 (grub_xfs_read_block): Support btree format type.
31130 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31131 Use directory block as basic unit.
31132
31133 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31134
31135 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31136 __attribute__ ((__regparm__ (1))).
31137
31138 2008-02-01 Robert Millan <rmh@aybabtu.com>
31139
31140 Correct a mistake in previous commit.
31141
31142 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31143 top.
31144 (normal/command.c_DEPENDENCIES): New variable.
31145
31146 2008-02-01 Robert Millan <rmh@aybabtu.com>
31147
31148 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31149 top.
31150 (normal/command.c_DEPENDENCIES): New variable.
31151 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31152 * conf/i386-ieee1275.rmk: Likewise.
31153 * conf/i386-linuxbios.rmk: Likewise.
31154 * conf/i386-pc.rmk: Likewise.
31155 * conf/sparc64-ieee1275.rmk: Likewise.
31156 * conf/powerpc-ieee1275.rmk: Likewise.
31157 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31158
31159 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31160
31161 2008-02-01 Robert Millan <rmh@aybabtu.com>
31162
31163 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31164 call at beginning of function.
31165
31166 2008-01-31 Pavel Roskin <proski@gnu.org>
31167
31168 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31169 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31170 (grub_mkrescue_SOURCES): Likewise.
31171 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31172
31173 2008-01-30 Robert Millan <rmh@aybabtu.com>
31174
31175 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31176 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31177 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31178 (grub_probe_SOURCES): ... to here.
31179
31180 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31181 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31182 * conf/i386-ieee1275.rmk: Likewise.
31183 * conf/i386-linuxbios.rmk: Likewise.
31184 * conf/powerpc-ieee1275.rmk: Likewise.
31185
31186 2008-01-30 Tristan Gingold <gingold@free.fr>
31187
31188 * kern/rescue.c: Silently accept empty lines.
31189
31190 2008-01-29 Bean <bean123ch@gmail.com>
31191
31192 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31193 (real_code_2): Code cleanup and change comment style.
31194 (move_memory): Avoid using 32-bit address mode.
31195
31196 2008-01-29 Bean <bean123ch@gmail.com>
31197
31198 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31199 (png_mod_SOURCES): New variable.
31200 (png_mod_CFLAGS): Likewise.
31201 (png_mod_LDFLAGS): Likewise.
31202
31203 * video/readers/png.c: New file.
31204
31205 2008-01-28 Robert Millan <rmh@aybabtu.com>
31206
31207 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31208 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31209 `ifndef GRUB_MOD_GAP' hack.
31210 * util/elf/grub-mkimage.c (add_segments): Likewise.
31211
31212 2008-01-27 Robert Millan <rmh@aybabtu.com>
31213
31214 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31215 `GRUB_MOD_GAP' for platforms in which it's not defined.
31216 * util/elf/grub-mkimage.c (add_segments): Likewise.
31217
31218 2008-01-27 Robert Millan <rmh@aybabtu.com>
31219
31220 Get grub-emu to build again (including parallel builds).
31221
31222 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31223 Split into ...
31224 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31225 (normal/execute.c_DEPENDENCIES): ... this, ...
31226 (grub-emu_DEPENDENCIES): ... and this.
31227
31228 * conf/i386-efi.rmk: Likewise.
31229 * conf/i386-linuxbios.rmk: Likewise.
31230 * conf/i386-ieee1275.rmk: Likewise.
31231 * conf/powerpc-ieee1275.rmk: Likewise.
31232 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31233
31234 2008-01-27 Robert Millan <rmh@aybabtu.com>
31235
31236 * NEWS: Add a few items.
31237
31238 2008-01-27 Robert Millan <rmh@aybabtu.com>
31239
31240 Fix parallel builds with grub-emu. Based on earlier commit for
31241 grub-probe and grub-setup.
31242
31243 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31244 (util/grub-emu.c_DEPENDENCIES): ... this.
31245 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31246 (util/grub-emu.c_DEPENDENCIES): ... this.
31247 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31248 (util/grub-emu.c_DEPENDENCIES): ... this.
31249 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31250 (util/grub-emu.c_DEPENDENCIES): ... this.
31251 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31252 (util/grub-emu.c_DEPENDENCIES): ... this.
31253
31254 2008-01-27 Pavel Roskin <proski@gnu.org>
31255
31256 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31257 to create a gap between _end and the modules added to the image
31258 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31259 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31260 * util/elf/grub-mkimage.c (add_segments): Likewise.
31261
31262 2008-01-26 Pavel Roskin <proski@gnu.org>
31263
31264 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31265 just return an error.
31266
31267 2008-01-26 Bean <bean123ch@gmail.com>
31268
31269 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31270 (grub_reiserfs_get_item): Save offset of the next item.
31271 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31272
31273 2008-01-25 Robert Millan <rmh@aybabtu.com>
31274
31275 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31276 make all filesystem sources appear together (possibly fixing omissions
31277 while at it).
31278 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31280 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31282
31283 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31284 add `kern/file.c'.
31285 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31286 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31287 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31288 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31289
31290 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31291 (probe): Add a sanity check to make sure of our ability to read
31292 requested files when probing for filesystem type.
31293
31294 * genmk.rb: Update copyright year (2007).
31295
31296 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31297 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31298 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31299 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31300 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31301 : Remove function prototypes.
31302
31303 2008-01-25 Robert Millan <rmh@aybabtu.com>
31304
31305 Revert my previous commits (based on wrong assumption of how grub_errno
31306 works).
31307
31308 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31309 * kern/file.c (grub_file_open): Likewise.
31310
31311 2008-01-24 Pavel Roskin <proski@gnu.org>
31312
31313 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31314 that hang if GRUB tries to setup colors.
31315 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31316 colors for firmwares that don't support it.
31317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31318 Recognize Open Hack'Ware, set flags to work around its
31319 limitations.
31320
31321 2008-01-24 Robert Millan <rmh@aybabtu.com>
31322
31323 * kern/file.c (grub_file_open): Do not account previous failures of
31324 unrelated functions when grub_errno is checked for.
31325 Reported by Oleg Strikov.
31326
31327 2008-01-24 Bean <bean123ch@gmail.com>
31328
31329 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31330 (grub_ufs_sblock): New member volume name.
31331 (grub_ufs_find_file): Fix string copy bug.
31332 (grub_ufs_label): Implement this function properly.
31333
31334 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31335 (grub_hfs_iterate_records): Use the correct file number for extents
31336 and catalog file. Fix problem in next index calculation.
31337 (grub_hfs_find_node): Replace recursive function call with loop.
31338 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31339
31340 2008-01-23 Robert Millan <rmh@aybabtu.com>
31341
31342 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31343 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31344 (grub_multiboot2_real_boot): New function prototype.
31345
31346 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31347 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31348
31349 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31350 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31351
31352 2008-01-23 Robert Millan <rmh@aybabtu.com>
31353
31354 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31355 #ifdef'ed out grub_printf().
31356
31357 2008-01-23 Robert Millan <rmh@aybabtu.com>
31358
31359 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31360 grub_dprintf calls, since they make "debug=all" mode unusable.
31361 (grub_console_checkkey): Likewise.
31362
31363 2008-01-23 Robert Millan <rmh@aybabtu.com>
31364
31365 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31366 `term/i386/pc/at_keyboard.c'.
31367 (pkglib_MODULES): Add `serial.mod'.
31368 (serial_mod_SOURCES): New variable.
31369 (serial_mod_CFLAGS): Likewise.
31370 (serial_mod_LDFLAGS): Likewise.
31371
31372 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31373 `<grub/powerpc/ieee1275/console.h>'.
31374 (grub_keyboard_controller_init): New function prototype.
31375 (grub_console_checkkey): Likewise.
31376 (grub_console_getkey): Likewise.
31377
31378 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31379 keyboard on i386.
31380
31381 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31382 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31383
31384 2008-01-23 Robert Millan <rmh@aybabtu.com>
31385
31386 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31387 present, "(memdisk)/boot/grub" becomes the default prefix.
31388
31389 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31390 a memdisk tarball with all the modules. Add --overlay=DIR option that
31391 allows users to overlay additional files into the image.
31392
31393 2008-01-23 Robert Millan <rmh@aybabtu.com>
31394
31395 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31396 and `machine/memory.h'.
31397 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31398 (_multiboot_mod_SOURCES): New variable.
31399 (_multiboot_mod_CFLAGS): Likewise.
31400 (_multiboot_mod_LDFLAGS): Likewise.
31401 (multiboot_mod_SOURCES): Likewise.
31402 (multiboot_mod_CFLAGS): Likewise.
31403 (multiboot_mod_LDFLAGS): Likewise.
31404
31405 * include/grub/i386/ieee1275/loader.h: New file.
31406
31407 * include/grub/i386/ieee1275/machine.h: Likewise.
31408
31409 * include/grub/i386/ieee1275/memory.h: Likewise.
31410
31411 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31412 variable declaration.
31413 (grub_os_area_size): Likewise.
31414
31415 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31416 (grub_lower_mem, grub_upper_mem): New variables.
31417 (grub_stop_floppy): New function (just to make
31418 grub_multiboot2_real_boot() happy).
31419
31420 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31421 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31422 (grub_stop): New function.
31423 Include `"../realmode.S"' and `"../loader.S"'.
31424
31425 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31426 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31427
31428 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31429 rely on grub_multiboot2_real_boot() for final boot.
31430
31431 2008-01-22 Robert Millan <rmh@aybabtu.com>
31432
31433 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31434 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31435 device that doesn't look like an SD card.
31436 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31437 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31438 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31439 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31440 found.
31441
31442 2008-01-22 Robert Millan <rmh@aybabtu.com>
31443
31444 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31445 avoid claiming over our own code.
31446
31447 2008-01-22 Bean <bean123ch@gmail.com>
31448
31449 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31450 (jpeg_mod_SOURCES): New variable.
31451 (jpeg_mod_CFLAGS): Likewise.
31452 (jpeg_mod_LDFLAGS): Likewise.
31453
31454 * video/readers/jpeg.c : New file.
31455
31456 2008-01-22 Bean <bean123ch@gmail.com>
31457
31458 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31459 there are no more items.
31460
31461 2008-01-21 Robert Millan <rmh@aybabtu.com>
31462
31463 * kern/mm.c (grub_mm_init_region): Improve debug message.
31464
31465 2008-01-21 Robert Millan <rmh@aybabtu.com>
31466
31467 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31468 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31469 address.
31470 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31471 a C macro.
31472 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31473 Indicates start of upper memory.
31474 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31475 (generate_image): Abort when image size is big enough to corrupt
31476 upper memory.
31477
31478 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31479 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31480 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31481 instead of hardcoding 0xA0000.
31482 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31483 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31484 instead of hardcoding 0xA0000.
31485
31486 2008-01-21 Robert Millan <rmh@aybabtu.com>
31487
31488 * disk/memdisk.c (memdisk_size): New variable.
31489 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31490 `memdisk_size'.
31491 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31492 image to dynamic memory.
31493 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31494 `memdisk_size'. Free memdisk block.
31495
31496 2008-01-21 Robert Millan <rmh@aybabtu.com>
31497
31498 Fix detection of very small filesystems (like tar).
31499
31500 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31501 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31502 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31503 a problem with this disk).
31504
31505 2008-01-21 Robert Millan <rmh@aybabtu.com>
31506
31507 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31508 on grub_biosdisk_rw_standard() error.
31509
31510 2008-01-21 Robert Millan <rmh@aybabtu.com>
31511
31512 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31513 recent changes.
31514 * kern/elf.c: Likewise.
31515 * kern/ieee1275/ieee1275.c: Likewise.
31516 * kern/powerpc/ieee1275/openfw.c: Likewise.
31517 * term/ieee1275/ofconsole.c: Likewise.
31518
31519 2008-01-21 Robert Millan <rmh@aybabtu.com>
31520
31521 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31522
31523 * include/grub/kernel.h (grub_arch_memdisk_addr)
31524 (grub_arch_memdisk_size): Moved from here ...
31525
31526 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31527 (grub_arch_memdisk_size): ... to here.
31528
31529 2008-01-21 Robert Millan <rmh@aybabtu.com>
31530
31531 Mostly based on bugfix from Bean.
31532
31533 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31534 attribute with hook() parameter.
31535 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31536 declaration.
31537 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31538 attribute with hook() parameter.
31539 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31540 declaration.
31541
31542 2008-01-21 Robert Millan <rmh@aybabtu.com>
31543
31544 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31545 (pkglib_MODULES): Add `memdisk.mod'.
31546 (memdisk_mod_SOURCES): New variable.
31547 (memdisk_mod_CFLAGS): Likewise.
31548 (memdisk_mod_LDFLAGS): Likewise.
31549
31550 * disk/memdisk.c: New file.
31551
31552 * include/grub/disk.h (grub_disk_dev_id): Add
31553 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31554
31555 * include/grub/i386/pc/kernel.h
31556 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31557 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31558 (grub_kernel_image_size): New variable declaration.
31559 (grub_total_module_size): Likewise.
31560 (grub_memdisk_image_size): Likewise.
31561
31562 * include/grub/i386/pc/memory.h
31563 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31564
31565 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31566 (grub_arch_memdisk_addr): New variable declaration.
31567 (grub_arch_memdisk_size): Likewise.
31568
31569 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31570 (grub_arch_memdisk_size): Likewise.
31571
31572 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31573 (codestart): Replace hardcoded `0x100000' with
31574 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31575
31576 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31577 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31578 not NULL, append the contents of the file it refers to, at the end of
31579 the compressed kernel image. Initialize `grub_memdisk_image_size'
31580 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31581 (options): Add "memdisk"|'m' option.
31582 (main): Parse --memdisk|-m option, and pass user-provided path as
31583 parameter to generate_image().
31584
31585 2008-01-20 Robert Millan <rmh@aybabtu.com>
31586
31587 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31588 grub_dprintf() calls from here ...
31589 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31590
31591 2008-01-20 Robert Millan <rmh@aybabtu.com>
31592
31593 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31594
31595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31596 declaration.
31597 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31598 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31599 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31600 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31601 property).
31602 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31603 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31604
31605 2008-01-19 Robert Millan <rmh@aybabtu.com>
31606
31607 Get rid of confusing function (superseded by
31608 `grub_ieee1275_get_integer_property')
31609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31610 prototype.
31611 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31612 function.
31613 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31614 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31615 in native endianness from grub_ieee1275_get_integer_property().
31616
31617 2008-01-19 Robert Millan <rmh@aybabtu.com>
31618
31619 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31620 command after "shut-down", since implementations differ on which
31621 the command for halt is.
31622
31623 2008-01-19 Robert Millan <rmh@aybabtu.com>
31624
31625 * include/grub/i386/linuxbios/console.h: Add header protection.
31626 (grub_keyboard_controller_init): New function prototype.
31627 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31628 (KEYBOARD_COMMAND_READ): Likewise.
31629 (KEYBOARD_COMMAND_WRITE): Likewise.
31630 (KEYBOARD_SCANCODE_SET1): Likewise.
31631 (grub_keyboard_controller_write): New function.
31632 (grub_keyboard_controller_read): Likewise.
31633 (grub_keyboard_controller_init): Likewise.
31634
31635 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31636 (grub_console_init): On coreboot/LinuxBIOS, call
31637 grub_keyboard_controller_init().
31638
31639 2008-01-19 Robert Millan <rmh@aybabtu.com>
31640
31641 PowerPC changes provided by Pavel Roskin.
31642
31643 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31644 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31645 don't rely on cmain() doing it.
31646 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31647 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31648
31649 2008-01-16 Robert Millan <rmh@aybabtu.com>
31650
31651 * include/grub/i386/linuxbios/memory.h
31652 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31653 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31654 receive `table_header' as argument. Instead, probe for it in the
31655 known memory ranges where it can be present.
31656 (grub_available_iterate): Do not pass a fixed `table_header' address
31657 to grub_linuxbios_table_iterate().
31658
31659 2008-01-15 Robert Millan <rmh@aybabtu.com>
31660
31661 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31662 * conf/i386-ieee1275.rmk: New file.
31663 * include/grub/i386/ieee1275/console.h: Likewise.
31664 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31665 * include/grub/i386/ieee1275/kernel.h: Likewise.
31666 * include/grub/i386/ieee1275/time.h: Likewise.
31667 * kern/i386/ieee1275/init.c: Likewise.
31668 * kern/i386/ieee1275/startup.S: Likewise.
31669
31670 2008-01-15 Robert Millan <rmh@aybabtu.com>
31671
31672 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31673 when pointers are 32-bit (but still do set it to one when they are
31674 64-bit).
31675
31676 2008-01-15 Robert Millan <rmh@aybabtu.com>
31677
31678 * include/grub/ieee1275/ieee1275.h
31679 (grub_ieee1275_get_integer_property): New function prototype.
31680
31681 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31682 (grub_ieee1275_get_integer_property): New function. Wraps around
31683 grub_ieee1275_get_property() to handle endianness.
31684
31685 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31686 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
31687 where appropriate.
31688 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31689 (grub_map): Likewise.
31690 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31691
31692 2008-01-15 Bean <bean123ch@gmail.com>
31693
31694 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31695 (grub_script_execute_cmdline): Reset grub_errno.
31696
31697 * normal/main.c (read_config_file): Reset grub_errno.
31698
31699 * normal/parse.y (script_init): New.
31700 (script): Move function and menuentry here.
31701 (delimiter): New.
31702 (command): Add delimiter at the end of command.
31703 (commands): Adjust to match the new command.
31704 (commandblock): Remove grub_script_lexer_record_start.
31705 (menuentry): Add grub_script_lexer_record_start, use the new commands.
31706 (if): Use the new commands.
31707
31708 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31709
31710 2008-01-15 Robert Millan <rmh@aybabtu.com>
31711
31712 * normal/menu.c (run_menu): Move timeout message from here ...
31713 (print_timeout): ... to here.
31714 (run_menu): Use print_timeout() once during initial draw to print
31715 the whole message, and again in every clock tick to update only
31716 the number of seconds.
31717
31718 2008-01-15 Robert Millan <rmh@aybabtu.com>
31719
31720 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31721 actual size of `available' from grub_ieee1275_get_property(), and
31722 restrict parsing to that bound.
31723
31724 2008-01-15 Christian Franke <franke@computer.org>
31725
31726 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31727 (argp_program_version): Remove variable.
31728 (argp_program_bug_address): Likewise.
31729 (options): Convert from struct argp_option to struct option.
31730 (struct arguments): Remove.
31731 (parse_opt): Remove.
31732 (usage): New function.
31733 (main): Replace struct args members by simple variables.
31734 Replace argp_parse() by getopt_long().
31735 Add switch to evaluate options.
31736 Add missing "(...)" around root_dev in prefix string.
31737
31738 2008-01-14 Robert Millan <rmh@aybabtu.com>
31739
31740 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31741 for grub_ieee1275_exit(), in order to improve portability.
31742
31743 2008-01-14 Robert Millan <rmh@aybabtu.com>
31744
31745 * util/grub.d/10_linux.in (prefix): Define.
31746 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31747
31748 2008-01-13 Pavel Roskin <proski@gnu.org>
31749
31750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31751 grub_errno if no errors have been detected.
31752
31753 2008-01-12 Robert Millan <rmh@aybabtu.com>
31754
31755 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31756 (grub_util_get_dev_abstraction): New function prototype.
31757
31758 * util/getroot.c: Include `<grub/util/getroot.h>'
31759 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31760 (grub_util_get_dev_abstraction): ... here (new function).
31761
31762 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31763 `PRINT_ABSTRACTION'.
31764 (probe): Probe for abstraction type when requested.
31765 (main): Understand `--target=abstraction'.
31766
31767 * util/i386/efi/grub-install.in: Add abstraction module to core
31768 image when it is found to be necessary.
31769 * util/i386/pc/grub-install.in: Likewise.
31770 * util/powerpc/ieee1275/grub-install.in: Likewise.
31771
31772 * util/update-grub_lib.in (font_path): Return system path without
31773 converting to GRUB path.
31774 * util/update-grub.in: Convert system path returned by font_path()
31775 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31776 abstraction module is needed for loading fonts (if any). Export
31777 that as `GRUB_PRELOAD_MODULES'.
31778 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31779 insmod commands).
31780
31781 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31782
31783 Remove some unused code from reiserfs.
31784
31785 * fs/reiserfs.c (struct grub_reiserfs_key)
31786 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31787 (struct grub_reiserfs_node_body): Removed.
31788 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31789 Likewise.
31790 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31791 Likewise.
31792 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31793 Likewise.
31794 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31795 Likewise.
31796 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31797 Likewise.
31798 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31799 Likewise.
31800 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31801 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31802 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31803
31804 2008-01-10 Robert Millan <rmh@aybabtu.com>
31805
31806 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31807 Determines if a file is garbage left by packaging systems, etc.
31808 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31809 for processing /etc/grub.d scripts.
31810 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31811 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31812 as a condition for processing Linux images.
31813
31814 2008-01-10 Pavel Roskin <proski@gnu.org>
31815
31816 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31817 to compile reiserfs.c on PowerPC.
31818
31819 2008-01-10 Robert Millan <rmh@aybabtu.com>
31820
31821 * kern/device.c (grub_device_iterate): Do not abort device iteration
31822 when one of the devices cannot be opened.
31823 * kern/disk.c (grub_disk_open): Do not account previous failures of
31824 unrelated functions when grub_errno is checked for.
31825
31826 2008-01-08 Robert Millan <rmh@aybabtu.com>
31827
31828 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31829 `! grub_linux_is_bzimage', change order of address comparison to make
31830 it more intuitive, and improve "too big zImage" error message.
31831
31832 2008-01-08 Robert Millan <rmh@aybabtu.com>
31833
31834 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31835 `$(update-grub_DATA)'.
31836 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31837 targets.
31838
31839 2008-01-07 Robert Millan <rmh@aybabtu.com>
31840
31841 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31842 which instruction is modified by grub-setup during installation
31843 (since it wasn't obvious by only looking at this file).
31844
31845 2008-01-07 Robert Millan <rmh@aybabtu.com>
31846
31847 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31848 listing actual TODO items.
31849
31850 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31851
31852 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31853 correctly.
31854 (grub_reiserfs_get_key_offset): Likewise.
31855 (grub_reiserfs_set_key_offset): Likewise.
31856 (grub_reiserfs_set_key_type): Likewise.
31857 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
31858
31859 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31860 better to remove the bitfield version completely.
31861
31862 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31863
31864 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31865 allocated from the heap, due to the fshelp implementation.
31866 (grub_reiserfs_dir): Free NODE, due to the same reason.
31867
31868 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31869
31870 Mostly from Vincent Pelletier:
31871
31872 * fs/reiserfs.c: New file.
31873
31874 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31875 (reiserfs_mod_SOURCES): New variable.
31876 (reiserfs_mod_CFLAGS): Likewise.
31877 (reiserfs_mod_LDFLAGS): Likewise.
31878
31879 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31880 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31881 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31882 normal/color.c.
31883
31884 2008-01-06 Robert Millan <rmh@aybabtu.com>
31885
31886 * normal/color.c: Remove `<grub/env.h>'.
31887
31888 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31889
31890 * include/grub/normal.h: Include <grub/env.h>.
31891
31892 2008-01-05 Robert Millan <rmh@aybabtu.com>
31893
31894 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31895 usage example with `(hd0,1)'.
31896 Reported by Samuel Thibault.
31897
31898 2008-01-05 Robert Millan <rmh@aybabtu.com>
31899
31900 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31901 (grub_linux_boot_zimage): Rename to ...
31902 (grub_linux_boot): ... this.
31903 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31904 (grub_linux_boot_zimage): Conditionalize zImage copy.
31905
31906 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31907 (grub_linux_boot_bzimage): Remove prototype.
31908 (grub_linux_boot_zimage): Rename to ...
31909 (grub_linux_boot): ... this.
31910
31911 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31912 (grub_linux_boot): Remove function.
31913
31914 2008-01-05 Robert Millan <rmh@aybabtu.com>
31915
31916 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31917 (grub_env_write_color_highlight): Likewise.
31918 (grub_wait_after_message): Likewise.
31919
31920 * normal/color.c: New file.
31921
31922 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31923 (normal_mod_DEPENDENCIES): Likewise.
31924
31925 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31926 (normal_mod_DEPENDENCIES): Likewise.
31927
31928 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31929 (normal_mod_DEPENDENCIES): Likewise.
31930
31931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31932 (normal_mod_DEPENDENCIES): Likewise.
31933
31934 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31935 for waiting after a message is printed.
31936 * normal/main.c (read_config_file): Likewise.
31937 (grub_normal_init): Register grub_env_write_color_normal() and
31938 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31939 `color_highlight' variables as global.
31940
31941 * normal/menu.c (grub_wait_after_message): New function.
31942 (grub_color_menu_normal): New variable. Replaces ...
31943 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31944 (grub_color_menu_highlight): New variable. Replaces ...
31945 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31946 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31947 `GRUB_TERM_COLOR_STANDARD'.
31948 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31949 `normal_code' and `highlight_code' to `old_color_normal' and
31950 `old_color_highlight', respectively.
31951 (grub_menu_init_page): Update colors when drawing the menu, based on
31952 `menu_color_normal' and `menu_color_highlight' variables.
31953 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31954 a message is printed.
31955
31956 2008-01-05 Robert Millan <rmh@aybabtu.com>
31957
31958 * kern/env.c (grub_env_context_open): Propagate hooks for global
31959 variables to new context.
31960
31961 * kern/main.c (grub_set_root_dev): Export `root' variable.
31962
31963 2008-01-05 Robert Millan <rmh@aybabtu.com>
31964
31965 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
31966 discs unconditionally, since udev and others have options to provide
31967 them.
31968
31969 2008-01-05 Robert Millan <rmh@aybabtu.com>
31970
31971 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31972
31973 2008-01-04 Christian Franke <franke@computer.org>
31974
31975 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31976 of eisa_mmap.
31977
31978 2008-01-03 Pavel Roskin <proski@gnu.org>
31979
31980 * kern/i386/linuxbios/init.c: Put "void" to all function
31981 declarations with no arguments.
31982 * kern/powerpc/ieee1275/init.c: Likewise.
31983 * term/i386/pc/at_keyboard.c: Likewise.
31984 * term/i386/pc/vga_text.c: Likewise.
31985 * util/grub-mkdevicemap.c: Likewise.
31986
31987 2008-01-02 Robert Millan <rmh@aybabtu.com>
31988
31989 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31990 message when loaded image is out of bounds.
31991 (grub_multiboot_load_elf64): Likewise.
31992
31993 2008-01-02 Pavel Roskin <proski@gnu.org>
31994
31995 * util/grub.d/10_linux.in: Try version without ".old" when
31996 looking for initrd. It's better to use initrd from the newer
31997 kernel of the same version than no initrd at all.
31998
31999 2008-01-01 Robert Millan <rmh@aybabtu.com>
32000
32001 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32002
32003 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32004
32005 * include/grub/video.h: Added grub_video_unmap_color and
32006 grub_video_get_active_render_target.
32007 (grub_video_adapter): Added unmap_color and get_active_render_target.
32008
32009 * video/video.c: Added grub_video_unmap_color and
32010 grub_video_get_active_render_target.
32011 (grub_video_get_info): Changed method to accept NULL pointer as an
32012 argument to allow detection of active video adapter.
32013
32014 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32015 grub_video_vbe_unmap_color_int.
32016 Added grub_video_vbe_unmap_color and
32017 grub_video_vbe_get_active_render_target.
32018 (grub_video_vbe_adapter): Added unmap_color and
32019 get_active_render_target.
32020
32021 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32022 with grub_video_vbe_unmap_color_int.
32023
32024 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32025 (DEFAULT_NORMAL_COLOR): Likewise.
32026 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32027 (DEFAULT_FG_COLOR): Removed.
32028 (DEFAULT_BG_COLOR): Likewise.
32029 (DEFAULT_CURSOR_COLOR): Changed value.
32030 (grub_virtual_screen): Added standard_color_setting,
32031 normal_color_setting, highlight_color_setting and term_color.
32032 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32033 (bitmap_width): Added.
32034 (bitmap_height): Likewise.
32035 (bitmap): Likewise.
32036 (set_term_color): Likewise.
32037 (grub_virtual_screen_setup): Changed to use new terminal coloring
32038 settings.
32039 (grub_gfxterm_init): Added init for bitmap.
32040 (grub_gfxterm_fini): Added destroy for bitmap.
32041 (redraw_screen_rect): Updated to use background bitmap and new
32042 terminal coloring.
32043 (scroll_up): Added optimization for case when there is no bitmap.
32044 (grub_gfxterm_cls): Fixed to use correct background color.
32045 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32046 coloring.
32047 (grub_virtual_screen_setcolor): Likewise.
32048 (grub_virtual_screen_getcolor): Added.
32049 (grub_gfxterm_background_image_cmd): Likewise.
32050 (grub_video_term): Added setcolor and getcolor.
32051 (MOD_INIT): Added registration of background_image command.
32052 (MOD_TERM): Added unregistration for background_image command.
32053
32054 2007-12-30 Pavel Roskin <proski@gnu.org>
32055
32056 * loader/multiboot_loader.c: Fix multiboot command
32057 unregistration. Fix all typos in the word "multiboot".
32058
32059 2007-12-29 Pavel Roskin <proski@gnu.org>
32060
32061 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32062 support for initrd names used in Fedora.
32063
32064 2007-12-26 Bean <bean123ch@gmail.com>
32065
32066 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32067 (cpio_mod_SOURCES): New variable.
32068 (cpio_mod_CFLAGS): Likewise.
32069 (cpio_mod_LDFLAGS): Likewise.
32070
32071 * fs/cpio.c: New file.
32072
32073 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32074
32075 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32076
32077 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32078
32079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32080
32081 2007-12-25 Robert Millan <rmh@aybabtu.com>
32082
32083 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32084 (grub_getcolor): New function.
32085
32086 * kern/term.c (grub_getcolor): New function.
32087 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32088 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32089 (print_entry): Set normal and highlight colors to
32090 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32091 respectively, before printing and restore them to old
32092 values afterwards.
32093 (grub_menu_init_page): Likewise. Fill an additional colored space
32094 that would otherwise be left blank.
32095
32096 * term/efi/console.c (grub_console_getcolor): New function.
32097 (struct grub_console_term.getcolor): New variable.
32098 * term/i386/pc/console.c (grub_console_getcolor): New function.
32099 (struct grub_console_term.getcolor): New variable.
32100 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32101 (struct grub_console_term.getcolor): New variable.
32102
32103 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32104 (struct grub_console_term.setcolor): Remove variable.
32105 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32106 (struct grub_console_term.setcolor): Remove variable.
32107 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32108 (struct grub_console_term.setcolor): Remove variable.
32109 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32110 (struct grub_console_term.setcolor): Remove variable.
32111
32112 2007-12-25 Robert Millan <rmh@aybabtu.com>
32113
32114 * configure.ac: Search for possible unifont.hex locations, and
32115 define UNIFONT_HEX if found.
32116
32117 * Makefile.in (UNIFONT_HEX): Define variable.
32118 (DATA): Rename to ...
32119 (PKGLIB): ... this. Update all users.
32120 (PKGDATA): New variable.
32121 (pkgdata_IMAGES): Rename to ...
32122 (pkglib_IMAGES): ... this. Update all users.
32123 (pkgdata_MODULES): Rename to ...
32124 (pkglib_MODULES): ... this. Update all users.
32125 (pkgdata_PROGRAMS): Rename to ...
32126 (pkglib_PROGRAMS): ... this. Update all users.
32127 (pkgdata_DATA): Rename to ...
32128 (pkglib_DATA): ... this. Update all users.
32129 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32130 (unicode.pff, ascii.pff): New rules.
32131 (all-local): Add `$(PKGDATA)' dependency.
32132 (install-local): Process `$(PKGDATA)'.
32133
32134 * util/update-grub_lib.in (font_path): Search for *.pff files in
32135 a few more locations, including `${pkgdata}'.
32136
32137 2007-12-23 Robert Millan <rmh@aybabtu.com>
32138
32139 Patch from Bean <bean123ch@gmail.com>:
32140 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32141 `size'.
32142
32143 2007-12-21 Bean <bean123ch@gmail.com>
32144
32145 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32146 (ntfscomp_mod_SOURCES): New variable.
32147 (ntfscomp_mod_CFLAGS): Likewise.
32148 (ntfscomp_mod_LDFLAGS): Likewise.
32149
32150 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32151 (grub_probe_SOURCES): Likewise.
32152 (grub_emu_SOURCES): Likewise.
32153
32154 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32155 (grub_emu_SOURCES): Likewise.
32156
32157 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32158 (grub_emu_SOURCES): Likewise.
32159
32160 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32161 (grub_emu_SOURCES): Likewise.
32162
32163 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32164 (read_run_list): Renamed to grub_ntfs_read_run_list.
32165 (decomp_nextvcn): Moved to ntfscomp.c.
32166 (decomp_getch): Likewise.
32167 (decomp_get16): Likewise.
32168 (decomp_block): Likewise.
32169 (read_block): Likewise.
32170 (read_data): Partially moved to ntfscomp.c.
32171 (fixup): Change unsigned to grub_uint16_t.
32172 (read_mft): Change unsigned long to grub_uint32_t.
32173 (read_attr): Likewise.
32174 (read_data): Likewise.
32175 (read_run_data): Likewise.
32176 (read_run_list): Likewise.
32177 (read_mft): Likewise.
32178
32179 * fs/ntfscomp.c: New file.
32180
32181 * include/grub/ntfs.h: New file.
32182
32183 2007-12-16 Robert Millan <rmh@aybabtu.com>
32184
32185 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32186 IDE disk check, since Linux is known to support 20 IDE disks.
32187 Reported by Colin Watson.
32188
32189 2007-12-15 Bean <bean123ch@gmail.com>
32190
32191 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32192 (lnxboot_img_SOURCES): New variable.
32193 (lnxboot_img_ASFLAGS): Likewise.
32194 (lnxboot_img_LDFLAGS): Likewise.
32195
32196 * boot/i386/pc/lnxboot.S: New file.
32197
32198 2007-11-24 Pavel Roskin <proski@gnu.org>
32199
32200 * configure.ac: Test if '--build-id=none' is supported by the
32201 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32202 objcopy to generate incorrect binary files (binutils
32203 2.17.50.0.18-1 as shipped by Fedora 8).
32204 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32205 linking, so that build ID doesn't break the test.
32206
32207 2007-11-24 Pavel Roskin <proski@gnu.org>
32208
32209 * include/grub/i386/time.h: use "void" in the argument list
32210 of grub_cpu_idle().
32211 * include/grub/powerpc/time.h: Likewise.
32212 * include/grub/sparc64/time.h: Likewise.
32213
32214 2007-11-18 Christian Franke <franke@computer.org>
32215
32216 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32217 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32218 This fixes the problem that function keys did not work in grub-emu.
32219
32220 2007-11-18 Christian Franke <franke@computer.org>
32221
32222 * disk/host.c (grub_host_open): Remove attribute unused from
32223 name parameter. Add check for "host". This fixes the problem
32224 that grub-emu does not find partitions.
32225
32226 2007-11-18 Christian Franke <franke@computer.org>
32227
32228 * util/hostfs.c (is_dir): New function.
32229 (grub_hostfs_dir): Handle missing dirent.d_type case.
32230 (grub_hostfs_read): Add missing fseek().
32231 (grub_hostfs_label): Clear label pointer. This fixes a crash
32232 of grub-emu on "ls (host)".
32233
32234 2007-11-18 Christian Franke <franke@computer.org>
32235
32236 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32237 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32238 to 64 bit boundary by default.
32239
32240 2007-11-18 Bean <bean123ch@gmail.com>
32241
32242 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32243 (hexdump_mod_SOURCES): New variable.
32244 (hexdump_mod_CFLAGS): Likewise.
32245 (hexdump_mod_LDFLAGS): Likewise.
32246
32247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32248
32249 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32250
32251 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32252
32253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32254
32255 * include/grub/hexdump.h: New file.
32256
32257 * commands/hexdump.c: New file.
32258
32259 2007-11-10 Robert Millan <rmh@aybabtu.com>
32260
32261 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32262 in grub_outb() calls.
32263 (beep_on): Likewise.
32264
32265 2007-11-10 Christian Franke <franke@computer.org>
32266
32267 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32268 (grub_menu_run): Likewise.
32269
32270 2007-11-10 Robert Millan <rmh@aybabtu.com>
32271
32272 * include/grub/i386/efi/machine.h: New file.
32273 * include/grub/i386/linuxbios/machine.h: Likewise.
32274 * include/grub/i386/pc/machine.h: Likewise.
32275 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32276 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32277
32278 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32279 (serial_hw_io_addr): New variable.
32280 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32281 instead of `(unsigned short *) 0x400'.
32282
32283 2007-11-10 Bean <bean123ch@gmail.com>
32284
32285 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32286
32287 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32288
32289 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32290 (vga_mod_SOURCES): Added.
32291 (vga_mod_CFLAGS): Likewise.
32292 (vga_mod_LDFLAGS): Likewise.
32293
32294 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32295 grub_outb() calls.
32296 (set_map_mask): Likewise.
32297 (set_read_map): Likewise.
32298 (set_read_address): Likewise.
32299 (vga_font): Removed variable.
32300 (get_vga_glyph): Removed function.
32301 (invalidate_char): Likewise.
32302 (write_char): Changed to use grub_font_get_glyph() for font
32303 information.
32304 (grub_vga_putchar): Likewise.
32305 (grub_vga_getcharwidth): Likewise.
32306
32307 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32308
32309 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32310 flags.
32311 (pxeboot_img_LDFLAGS): Likewise.
32312 (diskboot_img_LDFLAGS): Likewise.
32313 (kernel_img_LDFLAGS): Likewise.
32314
32315 2007-11-06 Robert Millan <rmh@aybabtu.com>
32316
32317 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32318 in grub_outb() calls.
32319 (serial_hw_init): Likewise.
32320
32321 2007-11-05 Robert Millan <rmh@aybabtu.com>
32322
32323 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32324 spaces. Skip non-regular files.
32325
32326 2007-11-05 Robert Millan <rmh@aybabtu.com>
32327
32328 * kern/disk.c (grub_disk_firmware_fini)
32329 (grub_disk_firmware_is_tainted): New variables.
32330
32331 * include/grub/disk.h (grub_disk_firmware_fini)
32332 (grub_disk_firmware_is_tainted): Likewise.
32333
32334 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32335 (grub_disk_biosdisk_fini): ... to here.
32336 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32337 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32338 is set. Register grub_disk_biosdisk_fini() in
32339 `grub_disk_firmware_fini'.
32340
32341 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32342 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32343 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32344 to finish existing firmware disk interface.
32345
32346 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32347 (ata_mod_SOURCES): New variable.
32348 (ata_mod_CFLAGS): Likewise.
32349 (ata_mod_LDFLAGS): Likewise.
32350
32351 2007-11-05 Robert Millan <rmh@aybabtu.com>
32352
32353 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32354 (grub_ata_wait): Reimplement using grub_millisleep().
32355
32356 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32357 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32358
32359 2007-11-03 Marco Gerards <marco@gnu.org>
32360
32361 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32362 (CRTC_ADDR_PORT): New macro.
32363 (CRTC_DATA_PORT): Likewise.
32364 (CRTC_CURSOR): Likewise.
32365 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32366 (CRTC_CURSOR_ADDR_LOW): Likewise.
32367 (update_cursor): New function.
32368 (grub_console_real_putchar): Call `update_cursor'.
32369 (grub_console_gotoxy): Likewise.
32370 (grub_console_cls): Set the default color when clearing the
32371 screen.
32372 (grub_console_setcursor): Implemented.
32373
32374 2007-11-03 Marco Gerards <marco@gnu.org>
32375
32376 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32377 become activate.
32378 (grub_ata_pio_write): Likewise.
32379
32380 (grub_atapi_identify): Wait after issuing an ATA command.
32381 (grub_atapi_packet): Likewise.
32382 (grub_ata_identify): Likewise.
32383 (grub_ata_readwrite): Likewise.
32384
32385 2007-11-03 Marco Gerards <marco@gnu.org>
32386
32387 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32388 (grub_ata_pio_write): Likewise.
32389 (grub_ata_readwrite): Use `grub_error', instead of
32390 returning `grub_errno'.
32391
32392 2007-11-03 Marco Gerards <marco@gnu.org>
32393
32394 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32395 grub_ata_pio_write once for every single sector, instead of for
32396 multiple sectors.
32397
32398 2007-10-31 Robert Millan <rmh@aybabtu.com>
32399
32400 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32401
32402 * conf/i386-linuxbios.rmk: New file.
32403
32404 * kern/i386/pc/hardware.c: Likewise.
32405 * term/i386/pc/at_keyboard.c: Likewise.
32406 * term/i386/pc/vga_text.c: Likewise.
32407
32408 * include/grub/i386/linuxbios/boot.h: Likewise.
32409 * include/grub/i386/linuxbios/console.h: Likewise.
32410 * include/grub/i386/linuxbios/init.h: Likewise.
32411 * include/grub/i386/linuxbios/kernel.h: Likewise.
32412 * include/grub/i386/linuxbios/loader.h: Likewise.
32413 * include/grub/i386/linuxbios/memory.h: Likewise.
32414 * include/grub/i386/linuxbios/serial.h: Likewise.
32415 * include/grub/i386/linuxbios/time.h: Likewise.
32416
32417 * kern/i386/linuxbios/init.c: Likewise.
32418 * kern/i386/linuxbios/startup.S: Likewise.
32419 * kern/i386/linuxbios/table.c: Likewise.
32420
32421 2007-10-31 Marco Gerards <marco@gnu.org>
32422
32423 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32424 (ata_mod_SOURCES): New variable.
32425 (ata_mod_CFLAGS): Likewise.
32426 (ata_mod_LDFLAGS): Likewise.
32427
32428 * disk/ata.c: New file.
32429
32430 * include/grub/disk.h (grub_disk_dev_id): Add
32431 `GRUB_DISK_DEV_ATA_ID'.
32432
32433 2007-10-31 Robert Millan <rmh@aybabtu.com>
32434
32435 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32436 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32437
32438 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32439 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32440
32441 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32442 `<grub/types.h>'.
32443
32444 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32445
32446 2007-10-27 Robert Millan <rmh@aybabtu.com>
32447
32448 * include/grub/types.h (ULONG_MAX): Define macro.
32449
32450 2007-10-22 Robert Millan <rmh@aybabtu.com>
32451
32452 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32453 `"../realmode.S"'.
32454 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32455
32456 2007-10-22 Robert Millan <rmh@aybabtu.com>
32457
32458 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32459 (pkgdata_MODULES): Add `biosdisk.mod'.
32460 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32461 variables.
32462
32463 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32464 (grub_biosdisk_init): Replace with ...
32465 (GRUB_MOD_INIT(biosdisk)): ... this.
32466 (grub_biosdisk_fini): Replace with ...
32467 (GRUB_MOD_FINI(biosdisk)): ... this.
32468
32469 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32470 (grub_machine_init): Remove call to grub_biosdisk_init().
32471 (grub_machine_fini): Remove call to grub_machine_fini().
32472
32473 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32474
32475 2007-10-22 Robert Millan <rmh@aybabtu.com>
32476
32477 * include/grub/time.h: New file.
32478 * include/grub/i386/time.h: Likewise.
32479 * include/grub/powerpc/time.h: Likewise.
32480 * include/grub/sparc64/time.h: Likewise.
32481
32482 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32483 instances to ...
32484 (KERNEL_MACHINE_TIME_HEADER): ... this.
32485 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32486 instances to ...
32487 (KERNEL_MACHINE_TIME_HEADER): ... this.
32488 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32489 instances to ...
32490 (KERNEL_MACHINE_TIME_HEADER): ... this.
32491
32492 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32493 (grub_millisleep): New function.
32494 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32495 (grub_millisleep): New function.
32496 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32497 Remove `grub/machine/time.h' include.
32498 (grub_millisleep): New function.
32499 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32500 Remove `grub/machine/time.h' include.
32501 (grub_millisleep): New function.
32502
32503 * include/grub/misc.h (grub_div_roundup): New function.
32504
32505 * kern/misc.c: Include `<grub/time.h>'.
32506 (grub_millisleep_generic): New function.
32507
32508 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32509 Add `time.h'.
32510 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32511 Add `time.h'.
32512 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32513 `machine/time.h'. Add `time.h'.
32514 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32515
32516 2007-10-21 Robert Millan <rmh@aybabtu.com>
32517
32518 * include/grub/misc.h (grub_max): New function.
32519
32520 2007-10-21 Robert Millan <rmh@aybabtu.com>
32521
32522 * util/misc.c (grub_util_info): Call fflush() before returning.
32523
32524 2007-10-20 Robert Millan <rmh@aybabtu.com>
32525
32526 * genmk.rb (Image): Copy `extra_flags' from here ...
32527 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32528
32529 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32530 to `argc' and `args' arguments.
32531
32532 2007-10-17 Robert Millan <rmh@aybabtu.com>
32533
32534 * kern/i386/loader.S: New file.
32535
32536 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32537 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32538 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32539 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32540 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32541 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32542 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32543 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32544 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32545 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32546 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32547 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32548 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32549 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32550
32551 * kern/i386/realmode.S: New file.
32552
32553 * kern/i386/pc/startup.S (protstack): Moved from here ...
32554 * kern/i386/realmode.S (protstack)... to here.
32555 * kern/i386/pc/startup.S (gdt): Moved from here ...
32556 * kern/i386/realmode.S (gdt)... to here.
32557 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32558 * kern/i386/realmode.S (prot_to_real)... to here.
32559
32560 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32561 `kern/i386/realmode.S'.
32562
32563 2007-10-17 Robert Millan <rmh@aybabtu.com>
32564
32565 * include/grub/i386/loader.h: New file.
32566
32567 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32568 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32569 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32570 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32571 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32572 * include/grub/i386/loader.h (grub_linux_prot_size)
32573 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32574 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32575 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32576 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32577
32578 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32579
32580 2007-10-15 Robert Millan <rmh@aybabtu.com>
32581
32582 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32583 filesystem when dev->disk is unset.
32584 Do probe for filesystem even when dev->disk->has_partitions is set.
32585 In case a filesystem is found, always report it.
32586 In case it isn't, if dev->disk->has_partitions is set, report that
32587 a partition table was found instead of reporting that no filesystem
32588 could be identified.
32589
32590 2007-10-12 Robert Millan <rmh@aybabtu.com>
32591
32592 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32593 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32594
32595 * include/grub/types.h (grub_host_to_target16): New macro.
32596 (grub_host_to_target32): Likewise.
32597 (grub_host_to_target64): Likewise.
32598 (grub_target_to_host16): Likewise.
32599 (grub_target_to_host32): Likewise.
32600 (grub_target_to_host64): Likewise.
32601
32602 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32603 Renamed from to ...
32604 (GRUB_MOD_ALIGN): ...this. Update all users.
32605
32606 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32607 grub_host_to_target32.
32608 Replace grub_be_to_cpu32 with grub_target_to_host32.
32609 (load_modules): Likewise.
32610 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32611 Replace grub_be_to_cpu32 with grub_target_to_host32.
32612 Replace grub_cpu_to_be16 with grub_host_to_target16.
32613 Replace grub_cpu_to_be32 grub_host_to_target32.
32614
32615 2007-10-12 Robert Millan <rmh@aybabtu.com>
32616
32617 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32618 * util/elf/grub-mkimage.c: ... here.
32619
32620 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32621 `util/powerpc/ieee1275/grub-mkimage.c'.
32622
32623 2007-10-07 Robert Millan <rmh@aybabtu.com>
32624
32625 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32626 and make it easier to figure out.
32627 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32628 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32629 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32630 leave us with less than HEAP_MIN_SIZE total heap.
32631 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32632
32633 2007-10-03 Robert Millan <rmh@aybabtu.com>
32634
32635 * include/grub/i386/io.h: New file.
32636 * commands/i386/pc/play.c (inb): Removed.
32637 (outb): Removed.
32638 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32639 with grub_outb().
32640 * term/i386/pc/serial.c (inb): Removed.
32641 (outb): Removed.
32642 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32643 with grub_outb().
32644 * term/i386/pc/vga.c (inb): Removed.
32645 (outb): Removed.
32646 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32647 with grub_outb().
32648
32649 2007-10-02 Robert Millan <rmh@aybabtu.com>
32650
32651 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32653 Reported by Marcin Kurek.
32654
32655 2007-09-07 Robert Millan <rmh@aybabtu.com>
32656
32657 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32658 SmartFirmware version updates (as released by Sven Luther), and avoid
32659 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32660 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32661 known broken.
32662
32663 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32664
32665 From Hitoshi Ozeki:
32666 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32667 when merging two regions.
32668
32669 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32670
32671 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32672 * normal/completion.c (grub_normal_do_completion): Likewise.
32673 Reported by Hitoshi Ozeki.
32674
32675 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32676
32677 Do not use devices at boot in chainloading.
32678
32679 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32680 (boot_part_addr): Likewise.
32681 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32682 with BOOT_DRIVE and BOOT_PART_ADDR.
32683 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32684 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32685
32686 2007-08-29 Robert Millan <rmh@aybabtu.com>
32687
32688 Patch from Simon Peter <dn.tlp@gmx.net>:
32689 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32690 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32691 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32692 util/i386/pc/grub-setup.c_DEPENDENCIES.
32693 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32694 util/grub-probe.c_DEPENDENCIES.
32695 * conf/powerpc-ieee1275.rmk: Likewise.
32696
32697 2007-08-28 Robert Millan <rmh@aybabtu.com>
32698
32699 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32700 to tell grub-mkdevicemap how to name devices.
32701 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32702 feature).
32703
32704 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32705 util/i386/get_disk_name.c.
32706 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32707 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32708 util/ieee1275/get_disk_name.c.
32709
32710 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32711
32712 * DISTLIST: Add util/i386/get_disk_name.c and
32713 util/ieee1275/get_disk_name.c.
32714
32715 * util/grub-mkdevicemap.c: Replace device naming logic with
32716 grub_util_get_disk_name() calls.
32717
32718 2007-08-20 Robert Millan <rmh@aybabtu.com>
32719
32720 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32721 (so that it works for both plural and singular quantities).
32722
32723 2007-08-05 Robert Millan <rmh@aybabtu.com>
32724
32725 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32726 so that [xz] isn't taken into account when determining order.
32727
32728 2007-08-02 Marco Gerards <marco@gnu.org>
32729
32730 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32731 `include/multiboot2.h', `include/grub/elfload.h',
32732 `include/multiboot.h', `include/grub/multiboot.h',
32733 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32734 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32735 `kern/elf.c', `loader/multiboot_loader.c',
32736 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32737 `loader/i386/pc/multiboot2.c',
32738 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32739 `util/i386/pc/grub-mkrescue.in'. Remove
32740 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32741 `include/grub/i386/pc/util/biosdisk.h' and
32742 `include/grub/powerpc/ieee1275/multiboot.h'.
32743
32744 2007-08-02 Bean <bean123ch@gmail.com>
32745
32746 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32747 (ntfs_mod_SOURCES): New variable.
32748 (ntfs_mod_CFLAGS): Likewise.
32749 (ntfs_mod_LDFLAGS): Likewise.
32750
32751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32752 (grub_probe_SOURCES): Likewise.
32753 (grub_emu_SOURCES): Likewise.
32754
32755 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32756 (grub_emu_SOURCES): Likewise.
32757
32758 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32759 (grub_emu_SOURCES): Likewise.
32760
32761 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32762
32763 * fs/ntfs.c: New file.
32764
32765 2007-08-02 Bean <bean123ch@gmail.com>
32766
32767 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32768
32769 * file.h (grub_file): Likewise.
32770
32771 * fshelp.h (grub_fshelp_read_file): Likewise.
32772
32773 * util/i386/pc/grub-setup.c (setup): Likewise.
32774 (save_first_sector): Likewise.
32775 (save_blocklists): Likewise.
32776
32777 * fs/affs.c (grub_affs_read_file): Likewise.
32778
32779 * fs/ext2.c (grub_ext2_read_file): Likewise.
32780
32781 * fs/fat.c (grub_fat_read_data): Likewise.
32782
32783 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32784
32785 * fs/hfs.c (grub_hfs_read_file): Likewise.
32786
32787 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32788
32789 * fs/jfs.c (grub_jfs_read_file): Likewise.
32790
32791 * fs/minix.c (grub_minix_read_file): Likewise.
32792
32793 * fs/sfs.c (grub_sfs_read_file): Likewise.
32794
32795 * fs/ufs.c (grub_ufs_read_file): Likewise.
32796
32797 * fs/xfs.c (grub_xfs_read_file): Likewise.
32798
32799 * command/blocklist.c (read_blocklist): Likewise.
32800 (print_blocklist): Likewise.
32801
32802 2007-08-02 Marco Gerards <marco@gnu.org>
32803
32804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32805 `util/hostfs.c'.
32806
32807 * disk/host.c: New file.
32808
32809 * util/hostfs.c: Likewise.
32810
32811 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32812 return `GRUB_ERR_BAD_FS'.
32813 * fs/sfs.c (grub_sfs_mount): Likewise.
32814 * fs/xfs.c (grub_xfs_mount): Likewise.
32815
32816 * include/grub/disk.h (enum grub_disk_dev_id): Add
32817 `GRUB_DISK_DEVICE_HOST_ID'.
32818
32819 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32820
32821 2007-07-24 Jerone Young <jerone@gmail.com>
32822
32823 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
32824 modules for compilation.
32825 * conf/powerpc-ieee1275.rmk: Likewise.
32826
32827 * include/multiboot.h: Move multiboot definitions to one file. Rename
32828 many definitions to not get grub specific.
32829 * include/multiboot2.h: Create header with multiboot 2 definitions.
32830 * include/grub/multiboot.h: Header for grub specific function
32831 prototypes and definitions.
32832 * include/grub/multiboot2.h: Likewise.
32833 * include/grub/multiboot_loader.h: Likewise.
32834 * include/grub/i386/pc/multiboot.h: Removed.
32835 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32836
32837 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32838 and 2 to allow for one multiboot and module commands.
32839 * loader/multiboot2.c: Add multiboot2 functionality.
32840 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32841 and definition names.
32842 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32843 2 functions.
32844 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32845 ieee1275 specific multiboot2 code.
32846
32847 * kern/i386/pc/startup.S: Change headers and definition names for
32848 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32849
32850 2007-07-22 Robert Millan <rmh@aybabtu.com>
32851
32852 * geninitheader.sh: Process file specified in first parameter rather
32853 than hardcoding grub_modules_init.lst.
32854 * geninit.sh: Likewise. Also, construct header name dynamically rather
32855 than hardcoding grub_modules_init.h.
32856
32857 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32858 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32859 grub_probe_init.[ch] and grub_setup_init.[ch].
32860
32861 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32862 grub_modules_init.h with grub_emu_init.h.
32863 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32864 grub_probe_init.[ch] files.
32865 * conf/i386-efi.rmk: Likewise.
32866 * conf/i386-pc.rmk: Likewise.
32867 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32868 grub_setup_init.[ch] files.
32869
32870 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32871 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32872 to initialize modules rather than a list of hardcoded functions.
32873 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32874 grub_init_all() to initialize modules rather than a list of hardcoded
32875 functions.
32876
32877 2007-07-22 Robert Millan <rmh@aybabtu.com>
32878
32879 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32880 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32881
32882 2007-07-22 Robert Millan <rmh@aybabtu.com>
32883
32884 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32885 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32886 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32887 flag when running on SmartFirmware.
32888 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32889 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32890 was set.
32891
32892 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32893 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32894 rather than decreasing it.
32895
32896 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32897 there's not enough space to do it, fail in the same way as when it
32898 can't be done because there are no partitions.
32899
32900 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32901 when nvsetenv failed.
32902
32903 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32904
32905 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32906 because this rule is automatically generated.
32907 (grub-mkrescue): Removed for the same reason as above.
32908
32909 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32910
32911 Migrate to GNU General Public License Version 3.
32912
32913 * COPYING: Replaced with the plain text version of GPLv3.
32914
32915 * config.guess: Updated from gnulib.
32916 * config.sub: Likewise.
32917
32918 * geninit.sh: Output a GPLv3 copyright notice.
32919 * geninitheader.sh: Likewise.
32920 * genmodsrc.sh: Likewise.
32921 * gensymlist.sh.in: Likewise.
32922
32923 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32924 * boot/i386/pc/diskboot.S: Likewise.
32925 * boot/i386/pc/pxeboot.S: Likewise.
32926 * commands/blocklist.c: Likewise.
32927 * commands/boot.c: Likewise.
32928 * commands/cat.c: Likewise.
32929 * commands/cmp.c: Likewise.
32930 * commands/configfile.c: Likewise.
32931 * commands/echo.c: Likewise.
32932 * commands/help.c: Likewise.
32933 * commands/ls.c: Likewise.
32934 * commands/search.c: Likewise.
32935 * commands/terminal.c: Likewise.
32936 * commands/test.c: Likewise.
32937 * commands/videotest.c: Likewise.
32938 * commands/i386/cpuid.c: Likewise.
32939 * commands/i386/pc/halt.c: Likewise.
32940 * commands/i386/pc/play.c: Likewise.
32941 * commands/i386/pc/reboot.c: Likewise.
32942 * commands/i386/pc/vbeinfo.c: Likewise.
32943 * commands/i386/pc/vbetest.c: Likewise.
32944 * commands/ieee1275/halt.c: Likewise.
32945 * commands/ieee1275/reboot.c: Likewise.
32946 * commands/ieee1275/suspend.c: Likewise.
32947 * disk/loopback.c: Likewise.
32948 * disk/lvm.c: Likewise.
32949 * disk/raid.c: Likewise.
32950 * disk/efi/efidisk.c: Likewise.
32951 * disk/i386/pc/biosdisk.c: Likewise.
32952 * disk/ieee1275/ofdisk.c: Likewise.
32953 * font/manager.c: Likewise.
32954 * fs/affs.c: Likewise.
32955 * fs/ext2.c: Likewise.
32956 * fs/fat.c: Likewise.
32957 * fs/fshelp.c: Likewise.
32958 * fs/hfs.c: Likewise.
32959 * fs/hfsplus.c: Likewise.
32960 * fs/iso9660.c: Likewise.
32961 * fs/jfs.c: Likewise.
32962 * fs/minix.c: Likewise.
32963 * fs/sfs.c: Likewise.
32964 * fs/ufs.c: Likewise.
32965 * fs/xfs.c: Likewise.
32966 * hello/hello.c: Likewise.
32967 * include/grub/acorn_filecore.h: Likewise.
32968 * include/grub/arg.h: Likewise.
32969 * include/grub/bitmap.h: Likewise.
32970 * include/grub/boot.h: Likewise.
32971 * include/grub/cache.h: Likewise.
32972 * include/grub/device.h: Likewise.
32973 * include/grub/disk.h: Likewise.
32974 * include/grub/dl.h: Likewise.
32975 * include/grub/elfload.h: Likewise.
32976 * include/grub/env.h: Likewise.
32977 * include/grub/err.h: Likewise.
32978 * include/grub/file.h: Likewise.
32979 * include/grub/font.h: Likewise.
32980 * include/grub/fs.h: Likewise.
32981 * include/grub/fshelp.h: Likewise.
32982 * include/grub/gzio.h: Likewise.
32983 * include/grub/hfs.h: Likewise.
32984 * include/grub/kernel.h: Likewise.
32985 * include/grub/loader.h: Likewise.
32986 * include/grub/lvm.h: Likewise.
32987 * include/grub/misc.h: Likewise.
32988 * include/grub/mm.h: Likewise.
32989 * include/grub/net.h: Likewise.
32990 * include/grub/normal.h: Likewise.
32991 * include/grub/parser.h: Likewise.
32992 * include/grub/partition.h: Likewise.
32993 * include/grub/pc_partition.h: Likewise.
32994 * include/grub/raid.h: Likewise.
32995 * include/grub/rescue.h: Likewise.
32996 * include/grub/script.h: Likewise.
32997 * include/grub/setjmp.h: Likewise.
32998 * include/grub/symbol.h: Likewise.
32999 * include/grub/term.h: Likewise.
33000 * include/grub/terminfo.h: Likewise.
33001 * include/grub/tparm.h: Likewise.
33002 * include/grub/types.h: Likewise.
33003 * include/grub/video.h: Likewise.
33004 * include/grub/efi/api.h: Likewise.
33005 * include/grub/efi/chainloader.h: Likewise.
33006 * include/grub/efi/console.h: Likewise.
33007 * include/grub/efi/console_control.h: Likewise.
33008 * include/grub/efi/disk.h: Likewise.
33009 * include/grub/efi/efi.h: Likewise.
33010 * include/grub/efi/pe32.h: Likewise.
33011 * include/grub/efi/time.h: Likewise.
33012 * include/grub/i386/linux.h: Likewise.
33013 * include/grub/i386/setjmp.h: Likewise.
33014 * include/grub/i386/types.h: Likewise.
33015 * include/grub/i386/efi/kernel.h: Likewise.
33016 * include/grub/i386/efi/loader.h: Likewise.
33017 * include/grub/i386/efi/time.h: Likewise.
33018 * include/grub/i386/pc/biosdisk.h: Likewise.
33019 * include/grub/i386/pc/boot.h: Likewise.
33020 * include/grub/i386/pc/chainloader.h: Likewise.
33021 * include/grub/i386/pc/console.h: Likewise.
33022 * include/grub/i386/pc/init.h: Likewise.
33023 * include/grub/i386/pc/kernel.h: Likewise.
33024 * include/grub/i386/pc/loader.h: Likewise.
33025 * include/grub/i386/pc/memory.h: Likewise.
33026 * include/grub/i386/pc/multiboot.h: Likewise.
33027 * include/grub/i386/pc/serial.h: Likewise.
33028 * include/grub/i386/pc/time.h: Likewise.
33029 * include/grub/i386/pc/vbe.h: Likewise.
33030 * include/grub/i386/pc/vbeblit.h: Likewise.
33031 * include/grub/i386/pc/vbefill.h: Likewise.
33032 * include/grub/i386/pc/vbeutil.h: Likewise.
33033 * include/grub/i386/pc/vga.h: Likewise.
33034 * include/grub/ieee1275/ieee1275.h: Likewise.
33035 * include/grub/ieee1275/ofdisk.h: Likewise.
33036 * include/grub/powerpc/libgcc.h: Likewise.
33037 * include/grub/powerpc/setjmp.h: Likewise.
33038 * include/grub/powerpc/types.h: Likewise.
33039 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33040 * include/grub/powerpc/ieee1275/console.h: Likewise.
33041 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33042 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33043 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33044 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33045 * include/grub/powerpc/ieee1275/time.h: Likewise.
33046 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33047 * include/grub/sparc64/libgcc.h: Likewise.
33048 * include/grub/sparc64/setjmp.h: Likewise.
33049 * include/grub/sparc64/types.h: Likewise.
33050 * include/grub/sparc64/ieee1275/console.h: Likewise.
33051 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33052 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33053 * include/grub/sparc64/ieee1275/time.h: Likewise.
33054 * include/grub/util/biosdisk.h: Likewise.
33055 * include/grub/util/getroot.h: Likewise.
33056 * include/grub/util/lvm.h: Likewise.
33057 * include/grub/util/misc.h: Likewise.
33058 * include/grub/util/raid.h: Likewise.
33059 * include/grub/util/resolve.h: Likewise.
33060 * io/gzio.c: Likewise.
33061 * kern/device.c: Likewise.
33062 * kern/disk.c: Likewise.
33063 * kern/dl.c: Likewise.
33064 * kern/elf.c: Likewise.
33065 * kern/env.c: Likewise.
33066 * kern/err.c: Likewise.
33067 * kern/file.c: Likewise.
33068 * kern/fs.c: Likewise.
33069 * kern/loader.c: Likewise.
33070 * kern/main.c: Likewise.
33071 * kern/misc.c: Likewise.
33072 * kern/mm.c: Likewise.
33073 * kern/parser.c: Likewise.
33074 * kern/partition.c: Likewise.
33075 * kern/rescue.c: Likewise.
33076 * kern/term.c: Likewise.
33077 * kern/efi/efi.c: Likewise.
33078 * kern/efi/init.c: Likewise.
33079 * kern/efi/mm.c: Likewise.
33080 * kern/i386/dl.c: Likewise.
33081 * kern/i386/efi/init.c: Likewise.
33082 * kern/i386/efi/startup.S: Likewise.
33083 * kern/i386/pc/init.c: Likewise.
33084 * kern/i386/pc/lzo1x.S: Likewise.
33085 * kern/i386/pc/startup.S: Likewise.
33086 * kern/ieee1275/ieee1275.c: Likewise.
33087 * kern/powerpc/cache.S: Likewise.
33088 * kern/powerpc/dl.c: Likewise.
33089 * kern/powerpc/ieee1275/cmain.c: Likewise.
33090 * kern/powerpc/ieee1275/crt0.S: Likewise.
33091 * kern/powerpc/ieee1275/init.c: Likewise.
33092 * kern/powerpc/ieee1275/openfw.c: Likewise.
33093 * kern/sparc64/cache.S: Likewise.
33094 * kern/sparc64/dl.c: Likewise.
33095 * kern/sparc64/ieee1275/init.c: Likewise.
33096 * kern/sparc64/ieee1275/openfw.c: Likewise.
33097 * loader/efi/chainloader.c: Likewise.
33098 * loader/efi/chainloader_normal.c: Likewise.
33099 * loader/i386/efi/linux.c: Likewise.
33100 * loader/i386/efi/linux_normal.c: Likewise.
33101 * loader/i386/pc/chainloader.c: Likewise.
33102 * loader/i386/pc/chainloader_normal.c: Likewise.
33103 * loader/i386/pc/linux.c: Likewise.
33104 * loader/i386/pc/linux_normal.c: Likewise.
33105 * loader/i386/pc/multiboot.c: Likewise.
33106 * loader/i386/pc/multiboot_normal.c: Likewise.
33107 * loader/powerpc/ieee1275/linux.c: Likewise.
33108 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33109 * normal/arg.c: Likewise.
33110 * normal/cmdline.c: Likewise.
33111 * normal/command.c: Likewise.
33112 * normal/completion.c: Likewise.
33113 * normal/execute.c: Likewise.
33114 * normal/function.c: Likewise.
33115 * normal/lexer.c: Likewise.
33116 * normal/main.c: Likewise.
33117 * normal/menu.c: Likewise.
33118 * normal/menu_entry.c: Likewise.
33119 * normal/misc.c: Likewise.
33120 * normal/parser.y: Likewise.
33121 * normal/script.c: Likewise.
33122 * normal/i386/setjmp.S: Likewise.
33123 * normal/powerpc/setjmp.S: Likewise.
33124 * normal/sparc64/setjmp.S: Likewise.
33125 * partmap/acorn.c: Likewise.
33126 * partmap/amiga.c: Likewise.
33127 * partmap/apple.c: Likewise.
33128 * partmap/gpt.c: Likewise.
33129 * partmap/pc.c: Likewise.
33130 * partmap/sun.c: Likewise.
33131 * term/gfxterm.c: Likewise.
33132 * term/terminfo.c: Likewise.
33133 * term/efi/console.c: Likewise.
33134 * term/i386/pc/console.c: Likewise.
33135 * term/i386/pc/serial.c: Likewise.
33136 * term/i386/pc/vesafb.c: Likewise.
33137 * term/i386/pc/vga.c: Likewise.
33138 * term/ieee1275/ofconsole.c: Likewise.
33139 * util/biosdisk.c: Likewise.
33140 * util/console.c: Likewise.
33141 * util/genmoddep.c: Likewise.
33142 * util/getroot.c: Likewise.
33143 * util/grub-emu.c: Likewise.
33144 * util/grub-mkdevicemap.c: Likewise.
33145 * util/grub-probe.c: Likewise.
33146 * util/lvm.c: Likewise.
33147 * util/misc.c: Likewise.
33148 * util/raid.c: Likewise.
33149 * util/resolve.c: Likewise.
33150 * util/update-grub.in: Likewise.
33151 * util/update-grub_lib.in: Likewise.
33152 * util/grub.d/00_header.in: Likewise.
33153 * util/grub.d/10_hurd.in: Likewise.
33154 * util/grub.d/10_linux.in: Likewise.
33155 * util/i386/efi/grub-install.in: Likewise.
33156 * util/i386/efi/grub-mkimage.c: Likewise.
33157 * util/i386/pc/grub-install.in: Likewise.
33158 * util/i386/pc/grub-mkimage.c: Likewise.
33159 * util/i386/pc/grub-mkrescue.in: Likewise.
33160 * util/i386/pc/grub-setup.c: Likewise.
33161 * util/i386/pc/misc.c: Likewise.
33162 * util/powerpc/ieee1275/grub-install.in: Likewise.
33163 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33164 * util/powerpc/ieee1275/misc.c: Likewise.
33165 * video/bitmap.c: Likewise.
33166 * video/video.c: Likewise.
33167 * video/i386/pc/vbe.c: Likewise.
33168 * video/i386/pc/vbeblit.c: Likewise.
33169 * video/i386/pc/vbefill.c: Likewise.
33170 * video/i386/pc/vbeutil.c: Likewise.
33171 * video/readers/tga.c: Likewise.
33172
33173 2007-07-02 Robert Millan <rmh@aybabtu.com>
33174
33175 * conf/i386-efi.rmk: Replace obsolete reference to
33176 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33177 with util/getroot.c.
33178 * conf/powerpc-ieee1275.rmk: Likewise.
33179 * conf/sparc64-ieee1275.rmk: Likewise.
33180
33181 * util/grub-emu.c (main): Fix unchecked pointer handling.
33182
33183 2007-07-02 Robert Millan <rmh@aybabtu.com>
33184
33185 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33186 invocation to fail, in order to support partition-less media.
33187
33188 * util/i386/pc/grub-install.in: Likewise.
33189
33190 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33191 which fs or partmap modules are needed (akin to its sister scripts).
33192
33193 Also use grub-probe to get rid of unportable /proc/mounts check.
33194
33195 Print the same informational message that the other scripts do, before
33196 exiting.
33197
33198 2007-06-23 Robert Millan <rmh@aybabtu.com>
33199
33200 * util/update-grub_lib.in (font_path): New function. Determine whether
33201 a font file can be found and, if so, echo the GRUB path to it.
33202
33203 * util/update-grub.in: Handle multiple terminals depending on user
33204 input, platform availability and font file presence. Propagate
33205 variables of our findings to /etc/grub.d/ children.
33206
33207 * util/grub.d/00_header.in: Handle multiple terminals, based on
33208 environment setup by update-grub.
33209
33210 2007-06-23 Robert Millan <rmh@aybabtu.com>
33211
33212 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33213
33214 2007-06-21 Robert Millan <rmh@aybabtu.com>
33215
33216 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33217 indicate end of data section in kernel image.
33218 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33219 GRUB_KERNEL_MACHINE_DATA_END.
33220
33221 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33222 space for it.
33223 * kern/i386/efi/startup.S: Likewise.
33224
33225 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33226 during image generation. Implement --prefix option to override this
33227 patch.
33228 * util/i386/efi/grub-mkimage.c: Likewise.
33229
33230 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33231 code to make path relative to its root into a separate function.
33232
33233 * util/i386/pc/grub-install.in: Use newly provided
33234 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33235 pass the result to grub-install --prefix.
33236
33237 2007-06-13 Robert Millan <rmh@aybabtu.com>
33238
33239 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33240 DEFAULT_DEVICE_MAP.
33241 * util/grub-emu.c: Use above definitions from misc.h instead of
33242 defining them.
33243 * util/grub-mkdevicemap.c: Likewise.
33244 * util/i386/pc/grub-setup.c: Likewise.
33245 * util/grub-probe.c: Likewise.
33246 (probe): Abort with grub_util_error() when either
33247 grub_guess_root_device or grub_util_get_grub_dev fails.
33248
33249 2007-06-12 Robert Millan <rmh@aybabtu.com>
33250
33251 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33252 "pager" assignment.
33253 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33254 "pcdata".
33255 * util/grub-probe.c (probe): Likewise for "drive_name".
33256
33257 2007-06-11 Robert Millan <rmh@aybabtu.com>
33258
33259 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33260 not just the cdrom one.
33261
33262 2007-06-11 Robert Millan <rmh@aybabtu.com>
33263
33264 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33265 Add --pkglibdir=DIR option to override pkglibdir.
33266 Mention --image-type=TYPE in help output.
33267 Fix --grub-mkimage (it was a no-op).
33268 Abort gracefully when no parameter is given.
33269
33270 2007-06-11 Robert Millan <rmh@aybabtu.com>
33271
33272 * util/i386/pc/grub-mkrescue.in: New file.
33273 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33274 * Makefile.in: Handle bin_SCRIPTS.
33275
33276 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33277
33278 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33279 list of video modes.
33280
33281 2007-06-06 Robert Millan <rmh@aybabtu.com>
33282
33283 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33284 file doesn't exist, or if it is in a filesystem grub can't read.
33285
33286 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33287 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33288 header comment to fit in 80 columns when the variables are resolved.
33289
33290 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33291 could be identified by update-grub. Remove redundant check for
33292 unifont.pff existence (since convert_system_path_to_grub_path now
33293 handles that).
33294
33295 2007-06-04 Robert Millan <rmh@aybabtu.com>
33296
33297 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33298
33299 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33300
33301 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33302
33303 2007-06-04 Robert Millan <rmh@aybabtu.com>
33304
33305 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33306
33307 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33308 grub_apple_partition_map_fini.
33309
33310 * util/biosdisk.c
33311 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33312 to access >2 TiB disks).
33313
33314 Print disk->total_sectors with %llu instead of %lu, since this
33315 variable is always 64-bit (prevents wrong disk size from being displayed
33316 on either >2 TiB disk or big-endian CPU).
33317
33318 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33319 into a generic case that supports all (sane) partition maps.
33320
33321 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33322 breaks big-endian.
33323
33324 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33325 and grub_apple_partition_map_fini() after that.
33326
33327 2007-06-01 Robert Millan <rmh@aybabtu.com>
33328
33329 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33330
33331 * util/grub.d/00_header.in: Only enable gfxterm when
33332 convert_system_path_to_grub_path() succeeds.
33333
33334 2007-05-20 Robert Millan <rmh@aybabtu.com>
33335
33336 * util/update-grub_lib.in: New file.
33337 * DISTLIST: Add update-grub_lib.in.
33338 * conf/common.rmk: Generate update-grub_lib and install it in
33339 $(lib_DATA).
33340 * Makefile.in: Add install routine for $(lib_DATA).
33341
33342 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33343 function provided by update-grub_lib to support arbitrary paths of
33344 unifont.pff.
33345 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33346 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33347
33348 2007-05-19 Robert Millan <rmh@aybabtu.com>
33349
33350 * commands/i386/cpuid.c: New module.
33351 * DISTLIST: Add it.
33352 * conf/i386-efi.rmk: Enable cpuid.mod.
33353 * conf/i386-pc.rmk: Likewise.
33354
33355 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33356
33357 * kern/disk.c (grub_disk_read): Check return value of
33358 grub_realloc().
33359
33360 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33361
33362 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33363 arrays.
33364 * disk/raid.c (grub_raid_open): Likewise.
33365
33366 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33367
33368 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33369 stack instead of on the heap.
33370
33371 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33372 before doing a read on it.
33373
33374 * configure.ac: Only use -fno-stack-protector for the target
33375 environment.
33376
33377 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33378
33379 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33380 __attribute_ ((unused)) to mode_type argument.
33381
33382 * util/getroot.c (grub_guess_root_device): Fix #endif.
33383
33384 * kern/misc.c (memcmp): Fix prototype.
33385
33386 * include/grub/partition.h [GRUB_UTIL]
33387 (grub_gpt_partition_map_init): Add prototype.
33388 (grub_gpt_partition_map_fini): Likewise.
33389
33390 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33391 at the right place.
33392
33393 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33394 (grub_fat_read_data): Likewise.
33395 (grub_fat_find_dir): Likewise.
33396
33397 * font/manager.c (find_glyph): Make table a const.
33398 (grub_font_get_glyph): Remove bitmap from if statement.
33399
33400 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33401
33402 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33403 code, first search for device in /dev/mapper, then in /dev.
33404 (grub_util_get_grub_dev): New function.
33405 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33406 prototype.
33407 * util/grub-probe.c (probe): Remove check for RAID, call
33408 grub_util_get_grub_dev() instead of
33409 grub_util_biosdisk_get_grub_dev().
33410 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33411 grub_util_biosdisk_get_grub_dev().
33412 * util/i386/pc/grub-setup.c (main): Likewise.
33413
33414 2007-05-16 Robert Millan <rmh@aybabtu.com>
33415
33416 * DISTLIST: Update for the latest changes.
33417 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33418 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33419 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33420 grub/util/biosdisk.h.
33421 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33422 grub/util/biosdisk.h.
33423
33424 2007-05-16 Robert Millan <rmh@aybabtu.com>
33425
33426 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33427
33428 2007-05-16 Robert Millan <rmh@aybabtu.com>
33429
33430 * util/i386/efi/grub-install.in: New.
33431 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33432 newly added grub-install.
33433 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33434 include.
33435 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33436 grub/util/biosdisk.h.
33437 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33438 grub/util/biosdisk.h.
33439
33440 2007-05-16 Robert Millan <rmh@aybabtu.com>
33441
33442 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33443 * include/grub/util/biosdisk.h: ... here.
33444 * util/i386/pc/biosdisk.c: Moved to ...
33445 * util/biosdisk.c: ... here.
33446 * util/i386/pc/getroot.c: Moved to ...
33447 * util/getroot.c: ... here.
33448 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33449 * util/grub-mkdevicemap.c: ... here.
33450 * util/i386/pc/grub-probe.c: Moved to ...
33451 * util/grub-probe.c: ... here.
33452
33453 2007-05-15 Robert Millan <rmh@aybabtu.com>
33454
33455 * util/update-grub.in: Remove duplicated line in grub.cfg header
33456 message.
33457
33458 2007-05-13 Robert Millan <rmh@aybabtu.com>
33459
33460 * util/update-grub.in: Fix a few assumptions about the devices holding
33461 /, /boot and /boot/grub being the same.
33462 * util/grub.d/00_header.in: Likewise.
33463 * util/grub.d/10_hurd.in: Likewise.
33464 * util/grub.d/10_linux.in: Likewise.
33465
33466 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33467 patterns. Use that to define the `.old' suffix as older than `'.
33468
33469 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33470
33471 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33472 the grub.cfg header message.
33473
33474 2007-05-11 Robert Millan <rmh@aybabtu.com>
33475
33476 * util/update-grub.in: Create device.map if it doesn't already exist,
33477 before attempting to run grub-probe.
33478 Check for grub-probe and grub-mkdevicemap with the same code
33479 grub-install is using.
33480 Remove test mode.
33481
33482 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33483
33484 * Makefile.in: Add the datarootdir autoconf variable.
33485
33486 2007-05-09 Robert Millan <rmh@aybabtu.com>
33487
33488 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33489 fail gracefully if dev->disk->partition == NULL.
33490
33491 2007-05-07 Robert Millan <rmh@aybabtu.com>
33492
33493 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33494 determine partition map module.
33495 * util/i386/pc/grub-install.in: Use this feature to decide which
33496 partition module to load, instead of hardcoding pc and gpt.
33497
33498 2007-05-07 Robert Millan <rmh@aybabtu.com>
33499
33500 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33501 source directory differs from build directory.
33502
33503 2007-05-05 Robert Millan <rmh@aybabtu.com>
33504
33505 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33506 initialisation.
33507
33508 2007-05-05 Robert Millan <rmh@aybabtu.com>
33509
33510 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33511
33512 2007-05-05 Robert Millan <rmh@aybabtu.com>
33513
33514 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33515 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33516
33517 2007-05-05 Robert Millan <rmh@aybabtu.com>
33518
33519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33520 (grub_probe_SOURCES): Likewise.
33521 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33522 GPT and initialize dos_part and bsd_part accordingly.
33523 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33524 install_bsd_part.
33525 (main): Activate gpt module for use during partition identification,
33526 and deactivate it afterwards.
33527 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33528 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33529 partition identification, and deactivate it afterwards.
33530
33531 2007-05-05 Robert Millan <rmh@aybabtu.com>
33532
33533 * term/i386/pc/console.c (grub_console_fini): Call
33534 grub_term_set_current() before grub_term_unregister().
33535
33536 2007-05-04 Robert Millan <rmh@aybabtu.com>
33537
33538 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33539 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33540 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33541 and update-grub_DATA.
33542 * conf/common.rmk: Build and install update-grub components.
33543 * conf/common.mk: Regenerate.
33544 * util/update-grub.in: New. Core of update-grub.
33545 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33546 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33547 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33548 * util/grub.d/README: New. Document grub.d directory layout.
33549
33550 2007-05-01 Robert Millan <rmh@aybabtu.com>
33551
33552 * util/grub-emu.c: Move initialization functions
33553 grub_util_biosdisk_init() and grub_init_all() before
33554 grub_util_biosdisk_get_grub_dev(), which relies on them.
33555
33556 2007-04-19 Robert Millan <rmh@aybabtu.com>
33557
33558 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33559 it is used later.
33560
33561 2007-04-18 Jerone Young <jerone@gmail.com>
33562
33563 * kernel/elf.c: Add missing parenthesis for conditional statement
33564 stanza.
33565
33566 2007-04-10 Jerone Young <jerone@gmail.com>
33567
33568 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33569 continue on and look for device node with real device name.
33570
33571 2007-04-10 Jerone Young <jerone@gmail.com>
33572
33573 * configure.ac: Add argument for autoconf to use transformation
33574 ability.
33575 * Makefile.in: Add autoconf package transformation code.
33576 * util/i386/pc/grub-install.in: Likewise.
33577 * util/powerpc/ieee1275/grub-install.in: Likewise.
33578
33579 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33580
33581 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33582 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33583 (EXT2_REVISION): Likewise.
33584 (EXT2_INODE_SIZE): Likewise.
33585 (struct grub_ext2_block_group): Added a missing member
33586 "used_dirs".
33587 (grub_ext2_read_inode): Divide by the inode size in a superblock
33588 instead of 128 to obtain INODES_PER_BLOCK.
33589 Use the macro EXT2_INODE_SIZE instead of directly using
33590 SBLOCK->INODE_SIZE.
33591
33592 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33593
33594 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33595 superblock instead of the structure size to compute an
33596 offset. This fixes the problem that GRUB could not read a
33597 filesystem when inode size is different from 128-byte.
33598
33599 2007-03-05 Marco Gerards <marco@gnu.org>
33600
33601 * normal/main.c (read_config_file): When "menu" is not set, create
33602 an initial context.
33603
33604 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33605
33606 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33607 (HEAP_LIMIT): New macro.
33608 (grub_claim_heap): Claim memory up to `heaplimit'.
33609
33610 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33611
33612 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33613 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33614 (_start): Likewise.
33615 (grub_arch_modules_addr): Return address after `_end'.
33616 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33617 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33618 (add_segments): Calculate `_end' from phdr size and location.
33619 (ALIGN_UP): Moved to ...
33620 * include/grub/misc.h: here.
33621 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33622 New macro.
33623 (GRUB_IEEE1275_MODULE_BASE): Removed.
33624
33625 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33626
33627 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33628 loop boundary.
33629
33630 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33631
33632 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33633 All users updated.
33634 (grub_elf64_load_hook_t): Likewise.
33635 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33636 debug output.
33637
33638 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33639
33640 * kern/mm.c: Update copyright.
33641 (grub_mm_debug): Correct syntax error.
33642 (grub_mm_dump_free): New function.
33643 (grub_debug_free): Call `grub_free'.
33644 * include/grub/mm.h: Update copyright.
33645 (grub_mm_dump_free): Add declaration.
33646
33647 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33648
33649 * include/grub/ieee1275/ieee1275.h: Update copyright.
33650 * kern/powerpc/ieee1275/init.c: Likewise.
33651 * kern/powerpc/ieee1275/openfw.c: Likewise.
33652
33653 * loader/powerpc/ieee1275/linux.c: Likewise.
33654 * include/grub/elfload.h: Likewise.
33655 * kern/elf.c: Likewise.
33656 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33657 callers.
33658 (grub_elf64_load): Likewise.
33659 (grub_elf32_load_segment): Move to a nested function.
33660 (grub_elf64_load_segment): Likewise.
33661
33662 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33663
33664 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33665 prototype.
33666 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33667 (grub_heap_len): Likewise.
33668 (HEAP_SIZE): New macro.
33669 (grub_claim_heap): New function.
33670 (grub_machine_init): Don't claim heap directly. Call
33671 `grub_claim_heap'.
33672 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33673 (grub_available_iterate): New function.
33674
33675 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33676
33677 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33678 * configure.ac: Use it for testing the HOST and TARGET compilers.
33679
33680 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33681
33682 * Makefile.in (enable_grub_emu): New variable.
33683 * configure.ac (--enable-grub-emu): New option.
33684 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33685 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33686 * conf/i386-pc.rmk: Likewise.
33687 * conf/powerpc-ieee1275.rmk: Likewise.
33688 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33689
33690 2006-12-12 Marco Gerards <marco@gnu.org>
33691
33692 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33693
33694 * kern/env.c (grub_env_unset): Don't free the member `value' when
33695 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33696 pointer.
33697
33698 * normal/main.c (current_menu): Removed.
33699 (free_menu): Unset the `menu' environment variable.
33700 (grub_normal_menu_addentry): Make use of the environment variable
33701 `menu', instead of using the global `current_menu'. Allocate
33702 memory for the sourcecode of this entry.
33703 (read_config_file): New argument `nested', changed all callers.
33704 Only in the case of a new context, initialize a new menu. Set the
33705 `menu' environment variable.
33706 (grub_normal_execute): Don't set and unset the environment
33707 variable `menu' here anymore. Only free the menu when leaving the
33708 context.
33709
33710 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33711 leak.
33712
33713 2006-12-11 Marco Gerards <marco@gnu.org>
33714
33715 * normal/menu_entry.c (run): Fix off by one bug so the last line
33716 is executed. Move the loader check to outside the loop.
33717
33718 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33719
33720 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33721
33722 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33723
33724 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33725 the number of sectors. Reported by Andrey Shuvikov
33726 <mr_hyro@yahoo.com>.
33727
33728 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33729
33730 * kern/disk.c (grub_disk_read): When there is a read error, always
33731 try to read only the necessary data.
33732
33733 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33734 disk/raid.c.
33735 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33736 prototype.
33737 [GRUB_UTIL] (grub_raid_fini): Likewise.
33738 [GRUB_UTIL] (grub_lvm_init): Likewise.
33739 [GRUB_UTIL] (grub_lvm_fini): Likewise.
33740 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33741 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33742 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33743 and grub_raid_fini().
33744
33745 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33746
33747 * include/grub/types.h (__unused): Rename to UNUSED.
33748 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33749 (grub_elf64_size): Likewise.
33750
33751 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33752
33753 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33754 grub_error_push and grub_error_pop in the error-handling path.
33755 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33756 length.
33757
33758 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33759
33760 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33761 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33763 (kernel_elf_SOURCES): Likewise.
33764 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33765 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33766 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33767 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33768 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33769 (elf_mod_SOURCES): New variable.
33770 (elf_mod_CFLAGS): Likewise.
33771 (elf_mod_LDFLAGS): Likewise.
33772 * include/grub/types.h (__unused): New macro.
33773 * include/grub/elfload.h: New file.
33774 * kern/elf.c: Likewise.
33775 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33776 (ELF32_LOADMASK): New macro.
33777 (ELF64_LOADMASK): Likewise.
33778 (vmlinux): Removed.
33779 (grub_linux_load32): New function.
33780 (grub_linux_load64): Likewise.
33781 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33782 Use grub_elf_t instead of grub_file_t.
33783
33784 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33785
33786 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33787 `catch_result' to struct set_color_args.
33788
33789 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33790
33791 * normal/menu.c: Include grub/script.h.
33792 * normal/menu_entry.c: Likewise.
33793 * include/grub/normal.h: Do not include grub/script.h.
33794
33795 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33796
33797 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33798
33799 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33800
33801 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33802 disk.
33803 (grub_disk_close): Print debug messages when closing a disk.
33804 (grub_disk_read): Print debug messages when disk read fails.
33805 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33806 filesystem type.
33807 * kern/partition.c: Include misc.h.
33808 (grub_partition_iterate): Print debug messages when detecting
33809 partition type.
33810
33811 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33812
33813 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33814 is negative.
33815 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33816
33817 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33818
33819 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33820 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33821
33822 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33823
33824 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33825 instead of sizeof(lv). Patch by Michael Guntsche.
33826
33827 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33828
33829 * disk/lvm.c: Rename VGS to VG_LIST.
33830 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33831 (grub_lvm_open): Likewise.
33832 Thanks to Michael Guntsche for finding this bug.
33833
33834 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33835
33836 * configure.ac (AC_INIT): Bumped to 1.95.
33837
33838 2006-10-14 Robert Millan <rmh@aybabtu.com>
33839
33840 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33841 with "/dev/.static/dev/md".
33842
33843 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33844
33845 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33846 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33847 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33848 DRIVE_NAME are always freed.
33849
33850 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33851 DOS_PART, as a DOS partition is counted from one instead of zero
33852 now. Reported by Robert Millan.
33853
33854 2006-10-14 Robert Millan <rmh@aybabtu.com>
33855
33856 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33857 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33858 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33859 string returned by grub_guess_root_device.
33860 * util/i386/pc/grub-setup.c: Likewise.
33861 * util/i386/pc/grub-probefs.c: Likewise.
33862
33863 * util/i386/pc/grub-probefs.c: Rename to ...
33864 * util/i386/pc/grub-probe.c: ... this.
33865 * DISTLIST: Remove grub-probefs, add grub-probe.
33866 * conf/i386-efi.rmk: Likewise.
33867 * conf/i386-pc.rmk: Likewise.
33868 * util/i386/pc/grub-install.in: Likewise.
33869
33870 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33871 choose which information we want to print.
33872
33873 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33874
33875 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33876 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33877 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33878 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33879 video/readers/tga.c and video/i386/pc/vbeutil.c.
33880
33881 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33882
33883 Added support for RAID and LVM.
33884
33885 * disk/lvm.c: New file.
33886 * disk/raid.c: Likewise.
33887 * include/grub/lvm.h: Likewise.
33888 * include/grub/raid.h: Likewise.
33889 * include/grub/util/lvm.h: Likewise.
33890 * include/grub/util/raid.h: Likewise.
33891 * util/lvm.c: Likewise.
33892 * util/raid.c: Likewise.
33893
33894 * include/grub/disk.h (grub_disk_dev_id): Add
33895 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33896 (grub_disk_get_size): New prototype.
33897 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33898 returns a partition.
33899 (grub_disk_get_size): New function.
33900
33901 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33902 verbatim if grub_install_dos_part is -2.
33903
33904 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33905 and LVM devices.
33906
33907 * util/i386/pc/grub-setup.c (setup): New argument
33908 MUST_EMBED. Force embedding of GRUB when the argument is
33909 true. Close FILE before returning.
33910 (main): Add support for RAID and LVM.
33911
33912 * conf/common.rmk: Add RAID and LVM modules.
33913 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33914 util/lvm.c.
33915 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33916
33917 * kern/misc.c (grub_strstr): New function.
33918 * include/grub/misc.h (grub_strstr): New prototype.
33919
33920 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33921
33922 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33923
33924 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33925
33926 * kern/misc.c (grub_strtoull): Guess the base only if not
33927 specified.
33928
33929 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33930
33931 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33932 PowerMac support.
33933
33934 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33935
33936 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33937
33938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33939 Remove `flags' argument. All callers changed.
33940 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33941 (IEEE1275_IHANDLE_INVALID): New variable.
33942 (IEEE1275_CELL_INVALID): New variable.
33943 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33944 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33945 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33946 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33947 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33948 codes from Open Firmware. All callers updated.
33949 (grub_ieee1275_next_property): Directly return Open Firmware return
33950 code.
33951 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33952 Standardize error checking from `grub_ieee1275_get_property'.
33953 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33954 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33955
33956 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33957
33958 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33959 `instance_to_package_args' to `instance_to_path_args'.
33960
33961 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33962 `grub_ieee1275_chosen'.
33963
33964 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33965 `grub_ieee1275_interpret'.
33966
33967 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33968
33969 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33970
33971 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33972
33973 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33974 (__cmpdi): Likewise.
33975
33976 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33977 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33978 `grub_ssize_t'.
33979
33980 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
33981
33982 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33983 to type `grub_ssize_t'.
33984 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33985
33986 2006-09-22 Marco Gerards <marco@gnu.org>
33987
33988 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33989 newlines.
33990
33991 2006-09-22 Marco Gerards <marco@gnu.org>
33992
33993 * commands/echo.c: New file.
33994
33995 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33996
33997 * conf/common.rmk (echo_mod_SOURCES): New variable.
33998 (echo_mod_CFLAGS): Likewise.
33999 (echo_mod_LDFLAGS): Likewise.
34000
34001 2006-09-22 Marco Gerards <marco@gnu.org>
34002
34003 * normal/main.c (get_line): Malloc memory instead of using
34004 preallocated memory. Removed the arguments `cmdline' and
34005 `max_len'. Updated all callers.
34006
34007 2006-09-22 Marco Gerards <marco@gnu.org>
34008
34009 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34010 (normal_mod_DEPENDENCIES): Likewise.
34011
34012 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34013 (normal_mod_DEPENDENCIES): Likewise.
34014
34015 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34016
34017 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34018
34019 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34020 programs.
34021 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34022 (normal_mod_DEPENDENCIES): Likewise.
34023 * conf/i386-pc.mk: Regenerate.
34024 * conf/i386-efi.mk: Likewise
34025 * conf/common.mk: Likewise.
34026 * conf/powerpc-ieee1275.mk: Likewise.
34027 * conf/sparc64-ieee1275.mk: Likewise.
34028
34029 2006-09-22 Robert Millan <rmh@aybabtu.com>
34030
34031 Sync with i386 version.
34032 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34033 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34034
34035 2006-09-21 Robert Millan <rmh@aybabtu.com>
34036
34037 Import from GRUB Legacy (lib/device.c):
34038 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34039 (init_device_map) [__linux__]: Add support for I2O devices.
34040
34041 2006-09-14 Marco Gerards <marco@gnu.org>
34042
34043 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34044 `-melf_i386'.
34045
34046 2006-09-14 Robert Millan <rmh@aybabtu.com>
34047
34048 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34049 /boot/grub/*.lst.
34050
34051 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34052
34053 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34054 before adding it to device.map.
34055
34056 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34057
34058 * genmk.rb: Let GCC generate dependencies the first time it
34059 compiles a file; using the -MD option.
34060 * conf/common.mk: Regenerate.
34061 * conf/i386-pc.mk: Likewise.
34062 * conf/i386-efi.mk: Likewise.
34063 * conf/powerpc-ieee1275.mk: Likewise.
34064 * conf/sparc64-ieee1275.mk: Likewise.
34065
34066 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34067
34068 Move the prototypes of grub_setjmp and grub_longjmp to
34069 cpu/setjmp.h, so that each architecture may specify different
34070 attributes.
34071
34072 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34073 (grub_longjmp): Likewise.
34074 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34075 (grub_longjmp): Likewise.
34076 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34077 (grub_longjmp): Likewise.
34078
34079 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34080 [!GRUB_UTIL] (grub_longjmp): Removed.
34081
34082 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34083
34084 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34085 "color!" method does not return any value.
34086
34087 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34088
34089 * include/grub/bitmap.h: New file.
34090
34091 * include/grub/i386/pc/vbeutil.h: Likewise.
34092
34093 * video/bitmap.c: Likewise.
34094
34095 * video/readers/tga.c: Likewise.
34096
34097 * video/i386/pc/vbeutil.c: Likewise.
34098
34099 * commands/videotest.c: Code cleanup and updated to reflect to new
34100 video API.
34101
34102 * term/gfxterm.c: Likewise.
34103
34104 * video/video.c: Likewise.
34105
34106 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34107 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34108 (bitmap_mod_SOURCES): New entry.
34109 (bitmap_mod_CFLAGS): Likewise.
34110 (bitmap_mod_LDFLAGS): Likewise.
34111 (tga_mod_SOURCES): Likewise.
34112 (tga_mod_CFLAGS): Likewise.
34113 (tga_mod_LDFLAGS): Likewise.
34114
34115 * include/grub/video.h (grub_video_blit_operators): New enum type.
34116 (grub_video_render_target): Changed as forward declaration and moved
34117 actual definition to be video driver specific.
34118 (grub_video_adapter.blit_bitmap): Added blitting operator.
34119 (grub_video_adapter.blit_render_target): Likewise.
34120 (grub_video_blit_bitmap): Likewise.
34121 (grub_video_blit_render_target): Likewise.
34122
34123 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34124 driver specific render target definition.
34125 (grub_video_vbe_map_rgba): Added driver internal helper.
34126 (grub_video_vbe_unmap_color): Updated to use
34127 grub_video_i386_vbeblit_info.
34128 (grub_video_vbe_get_video_ptr): Likewise.
34129
34130 * include/grub/i386/pc/vbeblit.h
34131 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34132 grub_video_i386_vbeblit_info.
34133 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34134 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34135 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34136 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34137 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34138 (grub_video_i386_vbeblit_index_index): Likewise.
34139 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34140 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34141 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34142 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34143 operator.
34144 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34145 operator.
34146
34147 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34148 include/grub/i386/pc/vbeblit.h.
34149
34150 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34151 Updated to use grub_video_i386_vbeblit_info.
34152 (grub_video_i386_vbefill_R8G8B8): Likewise.
34153 (grub_video_i386_vbefill_index): Likewise.
34154 (grub_video_i386_vbefill): Added generic filler.
34155
34156 * video/i386/pc/vbefill.c: Updated to reflect changes on
34157 include/grub/i386/pc/vbefill.h.
34158
34159 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34160 grub_video_i386_vbeblit_info.
34161 (grub_video_vbe_unmap_color): Likewise.
34162 (grub_video_vbe_blit_glyph): Likewise.
34163 (grub_video_vbe_scroll): Likewise.
34164 (grub_video_vbe_draw_pixel): Removed function.
34165 (grub_video_vbe_get_pixel): Likewise.
34166 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34167 updated code to use it.
34168 (common_blitter): Added common blitter for render target and bitmap.
34169 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34170 (grub_video_vbe_blit_render_target): Likewise.
34171
34172 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34173
34174 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34175 is in text mode if there is no console control protocol instance
34176 available.
34177
34178 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34179
34180 * include/grub/video.h: Code cleanup.
34181
34182 * include/grub/i386/pc/vbe.h: Likewise.
34183
34184 * video/i386/pc/vbe.c: Likewise.
34185
34186 * video/i386/pc/vbeblit.c: Likewise.
34187
34188 * video/i386/pc/vbefill.c: Likewise.
34189
34190 * video/video.c: Likewise. Also added more comments.
34191
34192 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34193
34194 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34195 (struct grub_biosdisk_dap): Likewise.
34196
34197 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34198 linkage settings for all functions.
34199
34200 2006-07-12 Marco Gerards <marco@gnu.org>
34201
34202 * configure.ac (--enable-mm-debug): Fix typo.
34203
34204 * genkernsyms.sh.in: Use proper quoting for `CC'.
34205
34206 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34207
34208 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34209 (normal_mod_ASFLAGS): Remove "-m32".
34210
34211 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34212
34213 * util/misc.c: Include config.h.
34214 [!HAVE_MEMALIGN]: Do not include malloc.h.
34215 (grub_memalign): Use posix_memalign, if present. Then, use
34216 memalign, if present. Otherwise, emit an error.
34217
34218 * util/grub-emu.c: Do not include malloc.h.
34219
34220 * include/grub/util/misc.h: Include unistd.h. This is required for
34221 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34222 D. Eades III <hde@foobar-qux.org>.
34223
34224 * configure.ac (AC_GNU_SOURCE): Added.
34225 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34226 type.
34227
34228 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34229
34230 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34231 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34232
34233 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34234
34235 * include/grub/types.h (grub_host_addr_t): Rename to
34236 grub_target_addr_t.
34237 (grub_host_off_t): Rename to grub_target_off_t.
34238 (grub_host_size_t): Rename to grub_target_size_t.
34239 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34240 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34241
34242 * include/grub/kernel.h (struct grub_module_header): Change type
34243 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34244 (grub_module_info): Likewise.
34245
34246 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34247
34248 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34249 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34250 Velazquez <jesus.velazquez@gmail.com>.
34251
34252 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34253
34254 Count partitions from 1 instead of 0 in the string representation
34255 of partitions. Still use 0-based internally.
34256
34257 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34258 (sun_partition_map_iterate): Use grub_partition_t instead of
34259 struct grub_partition *. Cast DESC->START_CYLINDER to
34260 grub_uint64_t after converting the endian.
34261 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34262 (sun_partition_map_get_name): Add 1 to P->INDEX.
34263
34264 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34265 PCDATA->DOS_PART.
34266 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34267
34268 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34269 zero instead of one.
34270 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34271 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34272
34273 * partmap/apple.c (apple_partition_map_iterate): Change the type
34274 of POS to unsigned.
34275 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34276 (apple_partition_map_get_name): Add 1 into P->INDEX.
34277
34278 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34279 of POS to unsigned.
34280 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34281 calculate the offset of a partition.
34282 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34283 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34284
34285 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34286 SECTOR to grub_disk_addr_t.
34287 (acorn_partition_map_iterate): Likewise.
34288 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34289 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34290 top.
34291 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34292
34293 * kern/i386/pc/init.c (make_install_device): Add 1 into
34294 GRUB_INSTALL_DOS_PART.
34295
34296 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34297 conditional.
34298
34299 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34300
34301 Clean up the code to support 64-bit addressing in disks and
34302 files. This change is not enough for filesystems yet.
34303
34304 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34305 type of "start" to grub_uint64_t.
34306 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34307 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34308 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34309 convert addresses.
34310
34311 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34312 to grub_disk_addr_t.
34313
34314 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34315 string.
34316
34317 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34318
34319 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34320 to char *.
34321
34322 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34323
34324 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34325
34326 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34327
34328 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34329 to grub_off_t, to detect an error from grub_file_seek.
34330 (grub_multiboot_load_elf32): Likewise.
34331
34332 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34333 maximum unsigned long value when an overflow is detected.
34334 (grub_strtoull): New function.
34335 (grub_divmod64): Likewise.
34336 (grub_lltoa): use grub_divmod64.
34337
34338 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34339 grub_disk_addr_t.
34340 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34341 the pointer to next character. Use grub_strtoull instead of
34342 grub_strtoul.
34343 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34344 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34345 respectively.
34346
34347 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34348 return value is signed.
34349 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34350 test if OFFSET is less than zero, as OFFSET is unsigned now.
34351
34352 * kern/disk.c (struct grub_disk_cache): Change the type of
34353 "sector" to grub_disk_addr_t.
34354 (grub_disk_cache_get_index): Change the type of SECTOR to
34355 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34356 unsigned after shifting.
34357 (grub_disk_cache_invalidate): Change the type of SECTOR to
34358 grub_disk_addr_t.
34359 (grub_disk_cache_unlock): Likewise.
34360 (grub_disk_cache_store): Likewise.
34361 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34362 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34363 grub_disk_addr_t and grub_uint64_t, respectively.
34364 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34365 body, as the value of OFFSET is tweaked by
34366 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34367 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34368 respectively.
34369 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34370 body, as the value of OFFSET is tweaked by
34371 grub_disk_check_range. Change the types of LEN and N to
34372 grub_size_t.
34373
34374 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34375 and "saved_offset" to grub_off_t.
34376 (test_header): Cast BUF to char *.
34377 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34378 to char *.
34379 (grub_gzio_read): Change the types of OFFSET and SIZE to
34380 grub_off_t and grub_size_t, respectively.
34381
34382 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34383 Removed.
34384 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34385 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34386 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34387 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34388 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34389
34390 * include/grub/types.h (grub_off_t): Unconditionally set to
34391 grub_uint64_t.
34392 (grub_disk_addr_t): Changed to grub_uint64_t.
34393
34394 * include/grub/partition.h (struct grub_partition): Change the
34395 types of "start", "len" and "offset" to grub_disk_addr_t,
34396 grub_uint64_t and grub_disk_addr_t, respectively.
34397 (grub_partition_get_start): Return grub_disk_addr_t.
34398 (grub_partition_get_len): Return grub_uint64_t.
34399
34400 * include/grub/misc.h (grub_strtoull): New prototype.
34401 (grub_divmod64): Likewise.
34402
34403 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34404 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34405 grub_off_t, respectively.
34406 All callers and references changed.
34407
34408 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34409 grub_size_t in "read".
34410 All callers and references changed.
34411
34412 * include/grub/file.h (struct grub_file): Change the types of
34413 "offset" and "size" to grub_off_t and grub_off_t,
34414 respectively. Change the type of SECTOR to grub_disk_addr_t in
34415 "read_hook".
34416 (grub_file_read): Change the type of LEN to grub_size_t.
34417 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34418 grub_off_t.
34419 (grub_file_size): Return grub_off_t.
34420 (grub_file_tell): Likewise.
34421 All callers and references changed.
34422
34423 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34424 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34425 "write".
34426 (struct grub_disk): Change the type of "total_sectors" to
34427 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34428 "read_hook".
34429 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34430 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34431 (grub_disk_write): Likewise.
34432 All callers and references changed.
34433
34434 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34435 char * for grub_strncmp to silence gcc.
34436 (grub_iso9660_mount): Likewise.
34437 (grub_iso9660_mount): Likewise.
34438 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34439 return statement.
34440 (grub_iso9660_iterate_dir): Likewise.
34441 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34442
34443 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34444 LEN to grub_disk_addr_t and grub_size_t, respectively.
34445
34446 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34447
34448 * fs/jfs.c (grub_jfs_read_file): Likewise.
34449
34450 * fs/minix.c (grub_jfs_read_file): Likewise.
34451
34452 * fs/sfs.c (grub_jfs_read_file): Likewise.
34453
34454 * fs/ufs.c (grub_jfs_read_file): Likewise.
34455
34456 * fs/xfs.c (grub_jfs_read_file): Likewise.
34457
34458 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34459 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34460 respectively.
34461
34462 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34463 BLKNR to -1 instead of returning GRUB_ERRNO.
34464 (grub_ext2_read_file): Change the types of SECTOR and
34465 LEN to grub_disk_addr_t and grub_size_t, respectively.
34466
34467 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34468 LEN to grub_disk_addr_t and grub_size_t, respectively.
34469
34470 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34471 grub_file_read.
34472
34473 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34474 string. Do not cast SECTOR explicitly.
34475
34476 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34477 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34478 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34479 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34480 over 2TB and LBA mode is not supported, raise an error.
34481 (get_safe_sectors): New function.
34482 (grub_biosdisk_read): Use get_safe_sectors.
34483 (grub_biosdisk_write): Likewise.
34484
34485 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34486 (grub_efidisk_write): Likewise.
34487
34488 * disk/loopback.c (delete_loopback): Cosmetic changes.
34489 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34490 correctly.
34491 (grub_loopback_open): Likewise.
34492 (grub_loopback_read): Likewise. Also, change the type of POS to
34493 grub_off_t, and fix the usage of grub_memset.
34494
34495 * commands/i386/pc/play.c: Include grub/machine/time.h.
34496
34497 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34498 print FILE->SIZE.
34499
34500 * commands/configfile.c: Include grub/env.h.
34501
34502 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34503 GRUB_ERRNO directly instead. Change the type of POS to
34504 grub_off_t. Follow the coding standard.
34505
34506 * commands/blocklist.c: Include grub/partition.h.
34507 (grub_cmd_blocklist): Return an error if the underlying device is
34508 not a disk. Take the starting sector of a partition into account,
34509 if a partition is used.
34510
34511 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34512 a length field.
34513 (lba_mode): Support 64-bit addresses.
34514 (chs_mode): Likewise.
34515 (copy_buffer): Adapted to the new offsets of a length field and a
34516 segment field.
34517 (blocklist_default_start): Allocate 64-bit space.
34518
34519 * boot/i386/pc/boot.S (force_lba): Removed.
34520 (boot_drive): Moved to under KERNEL_SECTOR.
34521 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34522 space.
34523 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34524 is useless.
34525 (lba_mode): Refactored to support a 64-bit address. More size
34526 optimization.
34527 (setup_sectors): Likewise.
34528
34529 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34530
34531 * DISTLIST: Added include/grub/i386/linux.h. Removed
34532 include/grub/i386/pc/linux.h
34533
34534 * configure.ac (AC_INIT): Bumped to 1.94.
34535
34536 * config.guess: Updated from gnulib.
34537 * config.sub: Likewise.
34538 * install-sh: Likewise.
34539 * mkinstalldirs: Likewise.
34540
34541 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34542
34543 * conf/common.rmk (grub_modules_init.lst): Depended on
34544 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34545 MODSRCFILES.
34546
34547 * genmk.rb (PModule::rule): Reverted the previous change.
34548
34549 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34550
34551 * conf/common.rmk (grub_modules_init.lst): Depends on
34552 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34553 that the target does not exist before producing.
34554 (grub_modules_init.h): Remove the target before generating.
34555 (grub_emu_init.c): Likewise.
34556
34557 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34558
34559 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34560
34561 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34562 for the target-specific tests. Make sure that we also have the
34563 up-to-date target variables for those tests.
34564
34565 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34566
34567 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34568 (PModule::rule): Likewise.
34569
34570 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34571
34572 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34573 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34574 target-specific flags should be prefixed.
34575 (PModule::rule): Likewise.
34576
34577 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34578
34579 * configure.ac (CMP): Check if cmp is available explicitly.
34580
34581 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34582
34583 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34584 (target_cpu): New variable.
34585 (pkglibdir): Use target_cpu instead of host_cpu.
34586
34587 * util/i386/pc/grub-install.in (host_cpu): Removed.
34588 (target_cpu): New variable.
34589 (pkglibdir): Use target_cpu instead of host_cpu.
34590
34591 * util/genmoddep.c: Removed.
34592
34593 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34594 instead of GRUB_HOST_SIZEOF_VOID_P.
34595 * kern/dl.c: Likewise.
34596
34597 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34598 ...
34599 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34600 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34601 (GRUB_TARGET_SIZEOF_LONG): ... this.
34602 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34603 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34604 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34605 to ...
34606 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34607 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34608 (GRUB_TARGET_SIZEOF_LONG): ... this.
34609 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34610 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34611 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34612 to ...
34613 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34614 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34615 (GRUB_TARGET_SIZEOF_LONG): ... this.
34616 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34617 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34618
34619 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34620 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34621 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34622 instead of GRUB_HOST_SIZEOF_LONG.
34623 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34624 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34625 GRUB_CPU_WORDS_BIGENDIAN.
34626 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34627 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34628 grub_host_ssize_t.
34629
34630 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34631 (genmoddep_SOURCES): Likewise.
34632 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34633 (genmoddep_SOURCES): Likewise.
34634 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34635 (genmoddep_SOURCES): Likewise.
34636 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34637 Likewise.
34638 (genmoddep_SOURCES): Likewise.
34639
34640 * genmoddep.awk: New file.
34641
34642 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34643 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34644 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34645 (PModule::rule): Likewise.
34646 (Program::rule): Likewise.
34647 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34648 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34649 respectively.
34650
34651 * configure.ac: Rewritten intensively to use host and target
34652 instead of build and host, respectively.
34653
34654 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34655 (host_cpu): Removed.
34656 (target_cpu): New variable.
34657 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34658 (BUILD_CC): Removed.
34659 (BUILD_CFLAGS): Likewise.
34660 (BUILD_CPPFLAGS): Likewise.
34661 (TARGET_CC): New variable.
34662 (TARGET_CFLAGS): Likewise.
34663 (TARGET_CPPFLAGS): Likewise.
34664 (TARGET_LDFLAGS): Likewise.
34665 (AWK): Likewise.
34666 (include): Use target_cpu instead of host_cpu.
34667 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
34668
34669 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34670
34671 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34672
34673 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34674 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34675 field 'false' to 'exec_on_false'.
34676 (grub_script_create_cmdif): Renamed argument names to reflect above
34677 changes.
34678
34679 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34680
34681 * normal/script.c (grub_script_create_cmdif): Likewise.
34682
34683 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34684
34685 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34686 top.
34687 (grub_hfsplus_btree_recptr): Likewise.
34688 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34689 FILEBLOCK both to pass a block number and store next block
34690 number.
34691 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34692 overflow file correctly. Specify errors appropriately, because
34693 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34694 grub_hfsplus_btree_recptr to get the pointer to a found key.
34695 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34696 is found.
34697
34698 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34699 linux.mod.
34700 (_linux_mod_SOURCES): New variable.
34701 (_linux_mod_CFLAGS): Likewise.
34702 (_linux_mod_LDFLAGS): Likewise.
34703 (linux_mod_SOURCES): Likewise.
34704 (linux_mod_CFLAGS): Likewise.
34705 (linux_mod_LDFLAGS): Likewise.
34706
34707 * DISTLIST: Added loader/i386/efi/linux.c,
34708 loader/i386/efi/linux_normal.c and
34709 include/grub/i386/efi/loader.h.
34710
34711 * loader/i386/efi/linux.c: New file.
34712 * loader/i386/efi/linux_normal.c: Likewise.
34713 * include/grub/i386/efi/loader.h: Likewise.
34714
34715 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34716
34717 * commands/blocklist.c: New file.
34718
34719 * DISTLIST: Added commands/blocklist.c.
34720
34721 * term/efi/console.c (grub_console_highlight_color): Use a lighter
34722 color for the background, and a darker color for the foreground.
34723 (grub_console_checkkey): Return READ_KEY.
34724 (grub_console_cls): Set the background to
34725 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34726
34727 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34728
34729 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34730 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34731
34732 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34733 prototype.
34734
34735 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34736 BG. The spec is wrong again.
34737
34738 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34739 prototype.
34740 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34741
34742 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34743 commands/blocklist.c.
34744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34745
34746 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34747 (blocklist_mod_SOURCES): New variable.
34748 (blocklist_mod_CFLAGS): Likewise.
34749 (blocklist_mod_LDFLAGS): Likewise.
34750
34751 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34752
34753 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34754 duplication.
34755 (lba_mode): Use %eax more intensively to reduce the code size.
34756
34757 2006-05-20 Marco Gerards <marco@gnu.org>
34758
34759 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34760
34761 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34762 for `menuentry'.
34763 (script): Accept leading newlines.
34764 (newlines): New rule to describe 0 or more newlines.
34765 (commands): Accept `command' with trailing newline. Fixed the
34766 order in which arguments were passed to `grub_script_add_cmd'.
34767 Accept commands separated by newlines.
34768 (function): Changed to accept newlines.
34769 (menuentry) Rewritten.
34770
34771 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34772 front of the list, instead of to the end.
34773
34774 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34775
34776 * util/i386/pc/grub-install.in (bindir): New variable.
34777 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34778 Shaver <lbgwjl@gmail.com>.
34779
34780 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34781
34782 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34783 grub/machine/linux.h
34784 * loader/i386/pc/linux.c: Likewise.
34785
34786 * include/grub/i386/pc/linux.h: Moved to ...
34787 * include/grub/i386/linux.h: ... here.
34788
34789 * include/grub/i386/linux.h (struct linux_kernel_params): New
34790 struct.
34791
34792 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34793
34794 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34795 checking.
34796 (grub_video_vbe_blit_glyph): Likewise.
34797 (grub_video_vbe_blit_bitmap): Likewise.
34798 (grub_video_vbe_blit_render_target): Likewise.
34799
34800 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34801
34802 * configure.ac (--with-platform): Properly quote the square
34803 brackets.
34804
34805 2006-05-08 Marco Gerards <marco@gnu.org>
34806
34807 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34808 this...
34809 (kernel_elf_HEADERS): ...to this. Updated all users.
34810 (grubof_symlist.c): Renamed from this...
34811 (kernel_elf_symlist.c): ...to this. Updated all users.
34812 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34813 (grubof_SOURCES): Renamed from this...
34814 (kernel_elf_SOURCES): ...to this.
34815 (grubof_HEADERS): Renamed from this...
34816 (kernel_elf_HEADERS): ...to this.
34817 (grubof_CFLAGS): Renamed from this...
34818 (kernel_elf_CFLAGS): ...to this.
34819 (grubof_ASFLAGS): Renamed from this...
34820 (kernel_elf_ASFLAGS): ...to this.
34821 (grubof_LDFLAGS): Renamed from this...
34822 (kernel_elf_LDFLAGS): ...to this.
34823
34824 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34825 this...
34826 (kernel_elf_HEADERS): ...to this. Updated all users.
34827 (grubof_symlist.c): Renamed from this...
34828 (kernel_elf_symlist.c): ...to this. Updated all users.
34829 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34830 (grubof_SOURCES): Renamed from this...
34831 (kernel_elf_SOURCES): ...to this.
34832 (grubof_HEADERS): Renamed from this...
34833 (kernel_elf_HEADERS): ...to this.
34834 (grubof_CFLAGS): Renamed from this...
34835 (kernel_elf_CFLAGS): ...to this.
34836 (grubof_ASFLAGS): Renamed from this...
34837 (kernel_elf_ASFLAGS): ...to this.
34838 (grubof_LDFLAGS): Renamed from this...
34839 (kernel_elf_LDFLAGS): ...to this.
34840
34841 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34842 `kernel.elf' instead of `grubof'.
34843
34844 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34845
34846 Add --with-platform to configure. Use pkglibdir instead of
34847 pkgdatadir. This is reported by Roger Leigh.
34848
34849 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34850 (host_vendor): Likewise.
34851 (host_os): Likewise.
34852 (pkgdatadir): Likewise.
34853 (platform): New variable.
34854 (pkglibdir): Likewise.
34855 Use PKGLIBDIR instead of PKGDATADIR.
34856
34857 * util/i386/pc/grub-install.in (datadir): Removed.
34858 (host_vendor): Likewise.
34859 (host_os): Likewise.
34860 (pkgdatadir): Likewise.
34861 (platform): New variable.
34862 (pkglibdir): Likewise.
34863 Use PKGLIBDIR instead of PKGDATADIR.
34864
34865 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34866 instead of GRUB_DATADIR.
34867 (main): Likewise.
34868 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34869 (main): Likewise.
34870 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34871 (main): Likewise.
34872
34873 * configure.ac (--with-platform): New option.
34874 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34875
34876 * Makefile.in: Include a makefile based on PLATFORM instead of
34877 HOST_VENDOR.
34878 (pkgdatadir): Not appended by the machine type.
34879 (pkglibdir): Appended by the machine type.
34880 (host_vendor): Removed.
34881 (platform): New variable.
34882 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34883 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34884 (uninstall): Likewise.
34885
34886 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34887
34888 Use the environment context in the menu. Remove the commands
34889 "default" and "timeout", and use variables instead.
34890
34891 * normal/menu.c: Include grub/env.h.
34892 (print_entry): Cast TITLE to silence gcc.
34893 (get_timeout): New function.
34894 (set_timeout): Likewise.
34895 (get_entry_number): Likewise.
34896 (run_menu): Use a default entry, a fallback entry and a timeout
34897 in the environment variables "default", "fallback" and
34898 "timeout". Also, tweak the default entry if it is not within the
34899 current menu entries.
34900 (grub_menu_run): Use a fallback entry in the environment variable
34901 "fallback".
34902
34903 * normal/main.c (read_config_file): Do not initialize
34904 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34905 NEWMENU->TIMEOUT.
34906 (grub_normal_execute): Use a data slot to store the menu.
34907
34908 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34909 fallback_entry and timeout.
34910 (struct grub_menu_list): Removed.
34911 (grub_menu_list_t): Likewise.
34912 (struct grub_context): Likewise.
34913 (grub_context_t): Likewise.
34914 (grub_context_get): Likewise.
34915 (grub_context_get_current_menu): Likewise.
34916 (grub_context_push_menu): Likewise.
34917 (grub_context_pop_menu): Likewise.
34918 (grub_default_init): Likewise.
34919 (grub_default_fini): Likewise.
34920 (grub_timeout_init): Likewise.
34921 (grub_timeout_fini): Likewise.
34922
34923 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34924 and timeout.mod.
34925 (normal_mod_SOURCES): Removed normal/context.c.
34926
34927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34928 commands/default.c, commands/timeout.c and normal/context.c.
34929 (normal_mod_SOURCES): Removed normal/context.c.
34930
34931 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34932 commands/timeout.c and normal/context.c.
34933 (normal_mod_SOURCES): Removed normal/context.c.
34934
34935 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34936 commands/default.c, commands/timeout.c and normal/context.c.
34937 (normal_mod_SOURCES): Removed normal/context.c.
34938
34939 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34940 timeout.mod.
34941 (default_mod_SOURCES): Removed.
34942 (default_mod_CFLAGS): Likewise.
34943 (default_mod_LDFLAGS): Likewise.
34944 (timeout_mod_SOURCES): Removed.
34945 (timeout_mod_CFLAGS): Likewise.
34946 (timeout_mod_LDFLAGS): Likewise.
34947
34948 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34949 normal/context.c.
34950
34951 * commands/default.c: Removed.
34952 * commands/timeout.c: Likewise.
34953 * normal/context.c: Likewise.
34954
34955 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34956
34957 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34958
34959 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34960
34961 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34962 "next" to "prev" for readability.
34963 (struct grub_env_sorted_var): New struct.
34964 (grub_env_context): Renamed to ...
34965 (initial_context): ... this.
34966 (grub_env_var_context): Renamed to ...
34967 (current_context): ... this.
34968 (grub_env_find): Look only at CURRENT_CONTEXT.
34969 (grub_env_context_open): Rewritten to copy exported variables from
34970 previous context.
34971 (grub_env_context_close): Rewritten according to the new
34972 scheme. Also, add an assertion to prevent the initial context from
34973 removed.
34974 (grub_env_insert): Removed the code for the sorted list.
34975 (grub_env_remove): Likewise.
34976 (grub_env_export): Simply mark the variable with
34977 GRUB_ENV_VAR_GLOBAL.
34978 (grub_env_set): A cosmetic change for naming consistency.
34979 (grub_env_get): Likewise.
34980 (grub_env_unset): Likewise.
34981 (grub_env_iterate): Rewritten to sort variables within this
34982 function.
34983 (grub_register_variable_hook): Fixed for naming consistency. Call
34984 grub_env_find again, only if NAME is not found at the first time.
34985 (mangle_data_slot_name): New function.
34986 (grub_env_set_data_slot): Likewise.
34987 (grub_env_get_data_slot): Likewise.
34988 (grub_env_unset_data_slot): Likewise.
34989
34990 * include/grub/env.h (grub_env_var_type): New enum.
34991 (GRUB_ENV_VAR_LOCAL): New constant.
34992 (GRUB_ENV_VAR_GLOBAL): Likewise.
34993 (GRUB_ENV_VAR_DATA): Likewise.
34994 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34995 "type".
34996 (grub_env_set): Replace VAR with NAME for consistency.
34997 (grub_register_variable_hook): Likewise.
34998 (grub_env_export): Specify the name of the argument.
34999 (grub_env_set_data_slot): New prototype.
35000 (grub_env_get_data_slot): Likewise.
35001 (grub_env_unset_data_slot): Likewise.
35002
35003 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35004
35005 Extend the loader so that GRUB can accept a loader which comes
35006 back to GRUB when a loaded image exits. Also, this change adds
35007 support for a chainloader on EFI.
35008
35009 * term/efi/console.c: Include grub/misc.h.
35010 (grub_console_checkkey): Display a scan code on the top for
35011 debugging. This will be removed once the EFI port gets stable.
35012 Correct the scan code mapping.
35013
35014 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35015 allocate memory from larger regions, in order to reduce the number
35016 of allocated regions. Otherwise, the MacOSX loader panics.
35017 (filter_memory_map): Avoid less than 1MB for compatibility with
35018 other loaders.
35019 (add_memory_regions): Allocate from the tail of a region, if
35020 possible, to avoid allocating a region near to 1MB, for the MacOSX
35021 loader.
35022
35023 * kern/efi/init.c (grub_efi_set_prefix): Specify
35024 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35025
35026 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35027 argument IMAGE_HANDLE and specify it to get a loaded image.
35028 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35029 grub_efi_get_loaded_image.
35030 (grub_efi_get_filename): Divide the length by the size of
35031 grub_efi_char16_t.
35032 (grub_efi_get_device_path): New function.
35033 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35034 the length by the size of grub_efi_char16_t for a file path device
35035 path node.
35036
35037 * kern/loader.c (grub_loader_noreturn): New variable.
35038 (grub_loader_set): Accept a new argument NORETURN. Set
35039 GRUB_LOADER_NORETURN to NORETURN.
35040 All callers changed.
35041 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35042 grub_machine_fini.
35043
35044 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35045 prototype.
35046 (grub_efi_get_loaded_image): Take an argument to specify an image
35047 handle.
35048
35049 * include/grub/loader.h (grub_loader_set): Added one more argument
35050 NORETURN.
35051
35052 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35053 instead of grub_efi_open_protocol.
35054 (grub_efidisk_get_device_name): Likewise.
35055 (grub_efidisk_close): Print a newline.
35056 (grub_efidisk_get_device_handle): Fixed to use
35057 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35058 GRUB_EFI_DEVICE_PATH_TYPE.
35059
35060 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35061 * kern/efi/efi.c (device_path_guid): ... here.
35062
35063 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35064 chain.mod.
35065 (kernel_mod_HEADERS): Added efi/disk.h.
35066 (_chain_mod_SOURCES): New variable.
35067 (_chain_mod_CFLAGS): Likewise.
35068 (_chain_mod_LDFLAGS): Likewise.
35069 (chain_mod_SOURCES): Likewise.
35070 (chain_mod_CFLAGS): Likewise.
35071 (chain_mod_LDFLAGS): Likewise.
35072
35073 * DISTLIST: Added include/grub/efi/chainloader.h,
35074 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35075
35076 * include/grub/efi/chainloader.h: New file.
35077 * loader/efi/chainloader.c: Likewise.
35078 * loader/efi/chainloader_normal.c: Likewise.
35079
35080 2006-04-30 Marco Gerards <marco@gnu.org>
35081
35082 * commands/configfile.c (grub_cmd_source): New function.
35083 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35084 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35085
35086 2006-04-30 Marco Gerards <marco@gnu.org>
35087
35088 * normal/execute.c (grub_script_execute_cmd): Change the return
35089 type to `grub_err_t'. Correctly return the error.
35090 (grub_script_execute_cmdline): In case a command line is not a
35091 command or a function, try to interpret it as an assignment.
35092
35093 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35094
35095 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35096 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35097 skip a node whose name is obviously invalid as UTF-16,
35098 i.e. contains a NUL character. Stop the iteration when the last
35099 directory entry is found. Instead of using the return value of
35100 grub_hfsplus_btree_iterate_node, store the value in RET and use
35101 it, because the iterator can be stopped by the last directory
35102 entry.
35103
35104 2006-04-30 Marco Gerards <marco@gnu.org>
35105
35106 * include/grub/env.h (grub_env_export): New prototype. Reported
35107 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35108
35109 2006-04-30 Marco Gerards <marco@gnu.org>
35110
35111 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35112 size of the extents in a catalog file record.
35113
35114 2006-04-29 Marco Gerards <marco@gnu.org>
35115
35116 * commands/configfile.c (grub_cmd_configfile): Execute the
35117 configfile within its own context.
35118
35119 * include/grub/env.h (grub_env_context_open): New prototype.
35120 (grub_env_context_close): Likewise.
35121
35122 * kern/env.c (grub_env): Removed.
35123 (grub_env_sorted): Likewise.
35124 (grub_env_context): New variable.
35125 (grub_env_var_context): Likewise.
35126 (grub_env_find): Search both the active context and the global
35127 context.
35128 (grub_env_context_open): New function.
35129 (grub_env_context_close): Likewise.
35130 (grub_env_insert): Likewise.
35131 (grub_env_remove): Likewise.
35132 (grub_env_export): Likewise.
35133 (grub_env_set): Changed to use helper functions to avoid code
35134 duplication.
35135 (grub_env_iterate): Rewritten so both the current context and the
35136 global context are being used.
35137
35138 * normal/command.c (export_command): New function.
35139 (grub_command_init): Register the `export' function.
35140
35141 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35142
35143 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35144 explicitly to suppress gcc's warnings.
35145 * fs/fat.c (grub_fat_find_dir): Likewise.
35146 (grub_fat_label): Likewise.
35147 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35148 (grub_xfs_mount): Likewise.
35149 (grub_xfs_label): Likewise.
35150 * fs/affs.c (grub_affs_mount): Likewise.
35151 (grub_affs_label): Likewise.
35152 (grub_affs_iterate_dir): Likewise.
35153 * fs/sfs.c (grub_sfs_mount): Likewise.
35154 (grub_sfs_iterate_dir): Likewise.
35155 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35156 * fs/hfs.c (grub_hfs_mount): Likewise.
35157 (grub_hfs_cmp_catkeys): Likewise.
35158 (grub_hfs_find_dir): Likewise.
35159 (grub_hfs_dir): Likewise.
35160 (grub_hfs_label): Likewise.
35161 * fs/jfs.c (grub_jfs_mount): Likewise.
35162 (grub_jfs_opendir): Likewise.
35163 (grub_jfs_getent): Likewise.
35164 (grub_jfs_lookup_symlink): Likewise.
35165 (grub_jfs_label): Likewise.
35166 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35167 (grub_hfsplus_iterate_dir): Likewise.
35168 (grub_hfsplus_btree_iterate_node): Made static.
35169
35170 * util/grub-emu.c (prefix): New variable.
35171 (grub_machine_set_prefix): New function.
35172 (main): Do not set the environment variable "prefix" here. Only
35173 set PREFIX, which is used later by grub_machine_set_prefix.
35174
35175 * include/grub/video.h: Do not include grub/symbol.h.
35176 (grub_video_register): Not exported. This symbol is not defined in
35177 the kernel.
35178 (grub_video_unregister): Likewise.
35179 (grub_video_iterate): Likewise.
35180 (grub_video_setup): Likewise.
35181 (grub_video_restore): Likewise.
35182 (grub_video_get_info): Likewise.
35183 (grub_video_get_blit_format): Likewise.
35184 (grub_video_set_palette): Likewise.
35185 (grub_video_get_palette): Likewise.
35186 (grub_video_set_viewport): Likewise.
35187 (grub_video_get_viewport): Likewise.
35188 (grub_video_map_color): Likewise.
35189 (grub_video_map_rgb): Likewise.
35190 (grub_video_map_rgba): Likewise.
35191 (grub_video_fill_rect): Likewise.
35192 (grub_video_blit_glyph): Likewise.
35193 (grub_video_blit_bitmap): Likewise.
35194 (grub_video_blit_render_target): Likewise.
35195 (grub_video_scroll): Likewise.
35196 (grub_video_swap_buffers): Likewise.
35197 (grub_video_create_render_target): Likewise.
35198 (grub_video_delete_render_target): Likewise.
35199 (grub_video_set_active_render_target): Likewise.
35200
35201 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35202 Undefined.
35203 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35204
35205 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35206 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35207 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35208 instead of $(srcdir)/genkernsyms.sh.
35209
35210 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35211 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35212 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35213 instead of $(srcdir)/genkernsyms.sh.
35214
35215 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35216 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35217 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35218 instead of $(srcdir)/genkernsyms.sh.
35219
35220 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35221 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35222 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35223 instead of $(srcdir)/genkernsyms.sh.
35224
35225 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35226 genkernsyms.sh.
35227
35228 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35229 genkernsyms.sh.
35230 (gensymlist.sh): New target.
35231 (genkernsyms.sh): Likewise.
35232
35233 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35234 genkernsyms.sh.in and gensymlist.sh.in.
35235
35236 * genkernsyms.sh: Removed.
35237 * gensymlist.sh: Likewise.
35238
35239 * genkernsyms.sh.in: New file.
35240 * gensymlist.sh.in: Likewise.
35241
35242 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35243
35244 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35245 clobber "prefix", since we may have already set it manually.
35246
35247 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35248
35249 * kern/misc.c (abort): New alias for grub_abort.
35250
35251 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35252
35253 A new machine-specific function "grub_machine_set_prefix" is
35254 defined. This is called after loading modules, so that a prefix
35255 initialization can use modules. Also, this change adds an
35256 intensive debugging feature for the memory manager via the
35257 configure option "--enable-mm-debug".
35258
35259 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35260 PART.LEN.
35261
35262 * kern/sparc64/ieee1275/init.c (abort): Removed.
35263 (grub_stop): Likewise.
35264 (grub_exit): New function.
35265 (grub_set_prefix): Renamed to ...
35266 (grub_machine_set_prefix): ... this.
35267 (grub_machine_init): Do not call grub_set_prefix.
35268
35269 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35270 (grub_machine_set_prefix): ... this.
35271 (grub_machine_init): Do not call grub_set_prefix.
35272
35273 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35274 (grub_machine_init): Do not set the prefix here.
35275
35276 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35277
35278 * kern/efi/init.c: Include grub/mm.h.
35279 (grub_efi_set_prefix): New function.
35280
35281 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35282 (grub_efi_get_filename): New function.
35283 (grub_print_device_path): Renamed to ...
35284 (grub_efi_print_device_path): ... this.
35285
35286 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35287 [MM_DEBUG] (grub_realloc): Likewise.
35288 [MM_DEBUG] (grub_free): Likewise.
35289 [MM_DEBUG] (grub_memalign): Likewise.
35290 [MM_DEBUG] (grub_mm_debug): New variable.
35291 [MM_DEBUG] (grub_debug_malloc): New function.
35292 [MM_DEBUG] (grub_debug_free): New function.
35293 [MM_DEBUG] (grub_debug_realloc): New function.
35294 [MM_DEBUG] (grub_debug_memalign): New function.
35295
35296 * kern/misc.c (grub_abort): Print a newline to distinguish
35297 the message.
35298
35299 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35300 grub_set_root_dev after loading modules. This is necessary when
35301 setting a prefix depends on modules.
35302
35303 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35304 (grub_efi_print_device_path): ... this.
35305 (grub_efi_get_filename): New prototype.
35306 (grub_efi_set_prefix): Likewise.
35307
35308 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35309 and grub/disk.h.
35310 (grub_efidisk_get_device_handle): New prototype.
35311 (grub_efidisk_get_device_name): Likewise.
35312
35313 * include/grub/mm.h: Include config.h.
35314 (MM_DEBUG): Removed.
35315 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35316 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35317 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35318 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35319 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35320 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35321 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35322 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35323 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35324
35325 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35326
35327 * disk/efi/efidisk.c: Include grub/partition.h.
35328 (iterate_child_devices): New function.
35329 (add_device): First, compare only last device path nodes, so that
35330 devices are sorted by the types.
35331 (grub_efidisk_get_device_handle): New function.
35332 (grub_efidisk_get_device_name): Likewise.
35333
35334 * configure.ac (--enable-mm-debug): New option to enable the
35335 memory manager debugging feature. This makes the binary much
35336 bigger, so is disabled by default.
35337
35338 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35339
35340 Use grub_abort instead of grub_stop, and grub_exit must be
35341 define in each architecture now. Also, this change adds support
35342 for EFI disks.
35343
35344 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35345 (grub_getkey): New function.
35346 (grub_term_get_current): Likewise.
35347
35348 * util/i386/pc/grub-setup.c: Include grub/term.h.
35349 (grub_getkey): New function.
35350 (grub_term_get_current): Likewise.
35351
35352 * util/misc.c (grub_stop): Renamed to ...
35353 (grub_exit): ... this.
35354
35355 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35356 (grub_exit): ... this.
35357 (grub_machine_init): Use grub_abort instead of abort.
35358 (grub_stop): Removed.
35359
35360 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35361 abort.
35362
35363 * kern/i386/pc/startup.S (grub_exit): New function.
35364 (cold_reboot): New label.
35365
35366 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35367 (grub_efi_init): Call grub_efidisk_init.
35368 (grub_efi_fini): Call grub_efidisk_fini.
35369
35370 * kern/efi/efi.c: Include grub/mm.h.
35371 (grub_efi_console_control_guid): Renamed to ...
35372 (console_control_guid): ... this.
35373 (grub_efi_loaded_image_guid): Renamed to ...
35374 (loaded_image_guid): ... this.
35375 (grub_efi_locate_handle): New function.
35376 (grub_efi_open_protocol): Likewise.
35377 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35378 GRUB_EFI_CONSOLE_CONTROL_GUID.
35379 (grub_efi_exit): Removed.
35380 (grub_stop): Likewise.
35381 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35382 (grub_exit): New function.
35383 (grub_print_device_path): Likewise.
35384
35385 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35386 (grub_enter_rescue_mode): Register "exit".
35387
35388 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35389 (grub_abort): New function.
35390
35391 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35392
35393 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35394
35395 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35396
35397 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35398 (grub_print_device_path): New prototype.
35399 (grub_efi_locate_handle): Likewise.
35400 (grub_efi_open_protocol): Likewise.
35401
35402 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35403 * disk/efi/efidisk.c: Likewise.
35404
35405 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35406
35407 * include/grub/efi/console_control.h
35408 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35409
35410 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35411 last 8 bytes as an array.
35412 (GRUB_EFI_DISK_IO_GUID): New macro.
35413 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35414 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35415 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35416 grub_uint8_t.
35417 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35418 (struct grub_efi_device_path): Rename the member "sub_type" to
35419 "subtype".
35420 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35421 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35422 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35423 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35424 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35425 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35426 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35427 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35428 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35429 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35430 (struct grub_efi_pci_device_path): New structure.
35431 (grub_efi_pci_device_path_t): New type.
35432 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35433 (struct grub_efi_pccard_device_path): New structure.
35434 (grub_efi_pccard_device_path_t): New type.
35435 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35436 (struct grub_efi_memory_mapped_device_path): New structure.
35437 (grub_efi_memory_mapped_device_path_t): New type.
35438 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35439 (struct grub_efi_vendor_device_path): New structure.
35440 (grub_efi_vendor_device_path_t): New type.
35441 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35442 (struct grub_efi_controller_device_path): New structure.
35443 (grub_efi_controller_device_path_t): New type.
35444 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35445 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35446 (struct grub_efi_acpi_device_path): New structure.
35447 (grub_efi_acpi_device_path_t): New type.
35448 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35449 (struct grub_efi_expanded_acpi_device_path): New structure.
35450 (grub_efi_expanded_acpi_device_path_t): New type.
35451 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35452 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35453 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35454 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35455 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35456 (struct grub_efi_atapi_device_path): New structure.
35457 (grub_efi_atapi_device_path_t): New type.
35458 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35459 (struct grub_efi_fibre_channel_device_path): New structure.
35460 (grub_efi_fibre_channel_device_path_t): New type.
35461 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35462 (struct grub_efi_1394_device_path): New structure.
35463 (grub_efi_1394_device_path_t): New type.
35464 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35465 (struct grub_efi_usb_device_path): New structure.
35466 (grub_efi_usb_device_path_t): New type.
35467 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35468 (struct grub_efi_usb_class_device_path): New structure.
35469 (grub_efi_usb_class_device_path_t): New type.
35470 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35471 (struct grub_efi_i2o_device_path): New structure.
35472 (grub_efi_i2o_device_path_t): New type.
35473 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35474 (struct grub_efi_mac_address_device_path): New structure.
35475 (grub_efi_mac_address_device_path_t): New type.
35476 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35477 (struct grub_efi_ipv4_device_path): New structure.
35478 (grub_efi_ipv4_device_path_t): New type.
35479 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35480 (struct grub_efi_ipv6_device_path): New structure.
35481 (grub_efi_ipv6_device_path_t): New type.
35482 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35483 (struct grub_efi_infiniband_device_path): New structure.
35484 (grub_efi_infiniband_device_path_t): New type.
35485 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35486 (struct grub_efi_uart_device_path): New structure.
35487 (grub_efi_uart_device_path_t): New type.
35488 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35489 (struct grub_efi_vendor_messaging_device_path): New structure.
35490 (grub_efi_vendor_messaging_device_path_t): New type.
35491 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35492 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35493 (struct grub_efi_hard_drive_device_path): New structure.
35494 (grub_efi_hard_drive_device_path_t): New type.
35495 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35496 (struct grub_efi_cdrom_device_path): New structure.
35497 (grub_efi_cdrom_device_path_t): New type.
35498 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35499 (struct grub_efi_vendor_media_device_path): New structure.
35500 (grub_efi_vendor_media_device_path_t): New type.
35501 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35502 (struct grub_efi_file_path_device_path): New structure.
35503 (grub_efi_file_path_device_path_t): New type.
35504 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35505 (struct grub_efi_protocol_device_path): New structure.
35506 (grub_efi_protocol_device_path_t): New type.
35507 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35508 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35509 (struct grub_efi_bios_device_path): New structure.
35510 (grub_efi_bios_device_path_t): New type.
35511 (struct grub_efi_disk_io): New structure.
35512 (grub_efi_disk_io_t): New type.
35513 (struct grub_efi_block_io_media): New structure.
35514 (grub_efi_block_io_media_t): New type.
35515 (struct grub_efi_block_io): New structure.
35516 (grub_efi_block_io_t): New type.
35517
35518 * include/grub/misc.h (grub_stop): Removed.
35519 (grub_exit): New prototype.
35520 (grub_abort): Likewise.
35521
35522 * include/grub/disk.h (enum grub_disk_dev_id): Added
35523 GRUB_DISK_DEVICE_EFIDISK_ID.
35524
35525 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35526 disk/efi/efidisk.c.
35527 (kernel_syms.lst): Remove the target if an error occurs.
35528
35529 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35530
35531 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35532 as it was simply too buggy.
35533
35534 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35535
35536 * kern/misc.c (grub_lltoa): New function.
35537 (grub_vsprintf): Added support for the long long suffix,
35538 i.e. "ll".
35539
35540 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35541
35542 * Makefile.in (LDFLAGS): Add variable.
35543 (LD): Remove variable.
35544 * configure.ac: Add -m32 to LDFLAGS.
35545 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35546 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35547 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35548 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35549 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35550 variables.
35551 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35552 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35553 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35554
35555 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35556
35557 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35558 length for unknown glyph.
35559
35560 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35561
35562 Add support for pre-loaded modules into the EFI port.
35563
35564 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35565 completely. Accept one more argument DIR. The caller has changed.
35566
35567 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35568
35569 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35570 (grub_efi_loaded_image_guid): New variable.
35571 (grub_efi_get_loaded_image): New function.
35572 (grub_arch_modules_addr): Likewise.
35573
35574 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35575 prototype.
35576
35577 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35578 (struct grub_efi_loaded_image): New structure.
35579 (grub_efi_loaded_image_t): New type.
35580
35581 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35582
35583 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35584 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35585 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35586
35587 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35588
35589 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35590
35591 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35592
35593 * DISTLIST: Added include/grub/efi/console.h,
35594 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35595 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35596
35597 * include/grub/efi/console.h: New file.
35598 * include/grub/efi/time.h: Likewise.
35599 * include/grub/i386/efi/kernel.h: Likewise.
35600 * kern/efi/init.c: Likewise.
35601 * kern/efi/mm.c: Likewise.
35602 * term/efi/console.c: Likewise.
35603
35604 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35605 (grub_stop): Removed.
35606 (grub_get_rtc): Likewise.
35607 (grub_machine_init): Simply call grub_efi_init.
35608 (grub_machine_fini): Call grub_efi_fini.
35609
35610 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35611 (grub_efi_output_string): Removed.
35612 (grub_efi_stall): New function.
35613 (grub_stop): Likewise.
35614 (grub_get_rtc): Likewise.
35615
35616 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35617 (grub_efi_stall): New prototype.
35618 (grub_efi_allocate_pages): Likewise.
35619 (grub_efi_free_pages): Likewise.
35620 (grub_efi_get_memory_map): Likewise.
35621 (grub_efi_mm_init): Likewise.
35622 (grub_efi_mm_fini): Likewise.
35623 (grub_efi_init): Likewise.
35624 (grub_efi_fini): Likewise.
35625
35626 * include/grub/i386/efi/time.h: Do not include
35627 grub/symbol.h. Include grub/efi/time.h.
35628 (GRUB_TICKS_PER_SECOND): Removed.
35629 (grub_get_rtc): Likewise.
35630
35631 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35632 Added padding. The EFI spec is buggy.
35633 (GRUB_EFI_BLACK): New macro.
35634 (GRUB_EFI_BLUE): Likewise.
35635 (GRUB_EFI_GREEN): Likewise.
35636 (GRUB_EFI_CYAN): Likewise.
35637 (GRUB_EFI_RED): Likewise.
35638 (GRUB_EFI_MAGENTA): Likewise.
35639 (GRUB_EFI_BROWN): Likewise.
35640 (GRUB_EFI_LIGHTGRAY): Likewise.
35641 (GRUB_EFI_BRIGHT): Likewise.
35642 (GRUB_EFI_DARKGRAY): Likewise.
35643 (GRUB_EFI_LIGHTBLUE): Likewise.
35644 (GRUB_EFI_LIGHTGREEN): Likewise.
35645 (GRUB_EFI_LIGHTCYAN): Likewise.
35646 (GRUB_EFI_LIGHTRED): Likewise.
35647 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35648 (GRUB_EFI_YELLOW): Likewise.
35649 (GRUB_EFI_WHITE): Likewise.
35650 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35651 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35652 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35653 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35654 (GRUB_EFI_BACKGROUND_RED): Likewise.
35655 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35656 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35657 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35658 (GRUB_EFI_TEXT_ATTR): Likewise.
35659
35660 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35661 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35662 (kernel_mod_HEADERS): Added efi/time.h.
35663
35664 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35665
35666 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35667 include/grub/efi/api.h, include/grub/efi/console_control.h,
35668 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35669 include/grub/i386/efi/time.h, kern/efi/efi.c,
35670 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35671 and util/i386/efi/grub-mkimage.c.
35672
35673 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35674
35675 * genmk.rb (PModule#rule): Do not export symbols if
35676 #{prefix}_EXPORTS is set to "no".
35677
35678 * conf/i386-efi.mk: New file.
35679 * conf/i386-efi.rmk: Likewise.
35680 * include/grub/efi/api.h: Likewise.
35681 * include/grub/efi/console_control.h: Likewise.
35682 * include/grub/efi/efi.h: Likewise.
35683 * include/grub/efi/pe32.h: Likewise.
35684 * include/grub/i386/efi/time.h: Likewise.
35685 * kern/efi/efi.c: Likewise.
35686 * kern/i386/efi/init.c: Likewise.
35687 * kern/i386/efi/startup.S: Likewise.
35688 * util/i386/efi/grub-mkimage.c: Likewise.
35689
35690 2006-04-17 Marco Gerards <marco@gnu.org>
35691
35692 * include/grub/script.h: Include <grub/parser.h> and
35693 "grub_script.tab.h".
35694 (struct grub_lexer_param): New struct.
35695 (struct grub_parser_param): Likewise.
35696 (grub_script_create_arglist): Pass the state in an argument.
35697 (grub_script_add_arglist): Likewise.
35698 (grub_script_create_cmdline): Likewise.
35699 (grub_script_create_cmdblock): Likewise.
35700 (grub_script_create_cmdif): Likewise.
35701 (grub_script_create_cmdmenu): Likewise.
35702 (grub_script_add_cmd): Likewise.
35703 (grub_script_arg_add): Likewise.
35704 (grub_script_lexer_ref): Likewise.
35705 (grub_script_lexer_deref): Likewise.
35706 (grub_script_lexer_record_start): Likewise.
35707 (grub_script_lexer_record_stop): Likewise.
35708 (grub_script_mem_record): Likewise.
35709 (grub_script_mem_record_stop): Likewise.
35710 (grub_script_malloc): Likewise.
35711 (grub_script_yylex): Likewise.
35712 (grub_script_yyparse): Likewise.
35713 (grub_script_yyerror): Likewise.
35714 (grub_script_yylex): Likewise.
35715 (grub_script_lexer_init): Return the state.
35716
35717 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35718 (grub_script_lexer_done): Likewise.
35719 (grub_script_lexer_getline): Likewise.
35720 (grub_script_lexer_refs): Likewise.
35721 (script): Likewise.
35722 (newscript): Likewise.
35723 (record): Likewise.
35724 (recording): Likewise.
35725 (recordpos): Likewise.
35726 (recordlen): Likewise.
35727 (grub_script_lexer_init): Return the state instead of setting
35728 global variables.
35729 (grub_script_lexer_ref): Use the newly added argument for state
35730 instead of globals.
35731 (grub_script_lexer_deref): Likewise.
35732 (grub_script_lexer_record_start): Likewise.
35733 (grub_script_lexer_record_stop): Likewise.
35734 (recordchar): Likewise.
35735 (nextchar): Likewise.
35736 (grub_script_yylex2): Likewise.
35737 (grub_script_yylex): Likewise.
35738 (grub_script_yyerror): Likewise.
35739
35740 * normal/parser.y (func_mem): Removed variable.
35741 (menu_entry): Likewise.
35742 (err): Likewise.
35743 (%lex-param): New parser option.
35744 (%parse-param): Likewise.
35745 (script): Always return the AST.
35746 (argument): Pass the state around.
35747 (arguments): Likewise.
35748 (grubcmd): Likewise.
35749 (commands): Likewise.
35750 (function): Likewise.
35751 (menuentry): Likewise.
35752 (if_statement): Likewise.
35753 (if): Likewise.
35754
35755 * normal/script.c (grub_script_memused): Removed variable.
35756 (grub_script_parsed): Likewise.
35757 (grub_script_malloc): Added a state argument. Use that instead of
35758 global variables.
35759 (grub_script_mem_record): Likewise.
35760 (grub_script_mem_record_stop): Likewise.
35761 (grub_script_arg_add): Likewise.
35762 (grub_script_add_arglist): Likewise.
35763 (grub_script_create_cmdline): Likewise.
35764 (grub_script_create_cmdif): Likewise.
35765 (grub_script_create_cmdmenu): Likewise.
35766 (grub_script_add_cmd): Likewise.
35767 (grub_script_parse): Setup the state before calling the parser.
35768
35769 2006-04-16 Marco Gerards <marco@gnu.org>
35770
35771 * normal/command.c (grub_command_init): Remove the title command.
35772
35773 * normal/lexer.c (grub_script_yylex): Renamed from this...
35774 (grub_script_yylex2): ... to this.
35775 (grub_script_yylex): New function. Temporary
35776 introduced to filter some tokens.
35777 (grub_script_yyerror): Print a newline.
35778
35779 * normal/main.c (read_config_file): Output information about the
35780 lines that contain errors. Wait for a key after all lines have
35781 been processed. Don't return an empty menu.
35782
35783 * normal/parser.y (func_mem): Don't initialize.
35784 (menu_entry): Likewise.
35785 (err): New variable.
35786 (script): Don't return anything when an error was encountered.
35787 (ws, returns): Removed rules.
35788 (argument): Disabled concatenated variable support.
35789 (arguments): Remove explicit separators.
35790 (grubcmd): Likewise.
35791 (function): Likewise.
35792 (menuentry): Likewise.
35793 (if): Likewise.
35794 (commands): Likewise. Add error handling.
35795
35796 * normal/script.c (grub_script_create_cmdline): If
35797 `grub_script_parsed' is 0, assume the parser encountered an error.
35798
35799 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35800
35801 * configure.ac: Add support for EFI. Fix the typo
35802 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35803
35804 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35805
35806 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35807 foreign multibyte characters should be shown correctly.
35808
35809 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35810
35811 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35812 calculation.
35813 (read_config_file): Made it to close file before returning.
35814
35815 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35816
35817 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35818 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35819 video/i386/pc/vbefill.c.
35820
35821 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35822 video/i386/pc/vbefill.c.
35823
35824 * include/grub/video.h (grub_video_blit_format): New enum.
35825 (grub_video_mode_info): Added new member blit_format.
35826 (grub_video_get_blit_format): New function prototype.
35827
35828 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35829 function prototype.
35830 (grub_video_vbe_map_rgb): Likewise.
35831 (grub_video_vbe_unmap_color): Likewise.
35832
35833 * include/grub/i386/pc/vbeblit.h: New file.
35834
35835 * include/grub/i386/pc/vbefill.h: New file.
35836
35837 * video/video.c (grub_video_get_blit_format): New function.
35838 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35839 (grub_video_vbe_map_rgb): Likewise.
35840 (grub_video_vbe_unmap_color): Likewise.
35841
35842 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35843 optimized fills.
35844 (grub_video_vbe_blit_render_target): Changed to use more optimized
35845 blits.
35846 (grub_video_vbe_setup): Added detection for optimized settings.
35847 (grub_video_vbe_create_render_target): Likewise.
35848
35849 * video/i386/pc/vbeblit.c: New file.
35850
35851 * video/i386/pc/vbefill.c: New file.
35852
35853 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35854
35855 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35856 here...
35857
35858 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35859 parsing to support both hex and dec ranges. If filename was missing
35860 show usage information.
35861
35862 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35863
35864 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35865 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35866
35867 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35868 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35869 (video_mod_SOURCES): Added.
35870 (video_mod_CFLAGS): Likewise.
35871 (video_mod_LDFLAGS): Likewise.
35872 (gfxterm_mod_SOURCES): Likewise.
35873 (gfxterm_mod_CFLAGS): Likewise.
35874 (gfxterm_mod_LDFLAGS): Likewise.
35875 (videotest_mod_SOURCES): Likewise.
35876 (videotest_mod_CFLAGS): Likewise.
35877 (videotest_mod_LDFLAGS): Likewise.
35878 (vesafb_mod_SOURCES): Removed.
35879 (vesafb_mod_CFLAGS): Likewise.
35880 (vesafb_mod_LDFLAGS): Likewise.
35881 (vga_mod_SOURCES): Likewise.
35882 (vga_mod_CFLAGS): Likewise.
35883 (vga_mod_LDFLAGS): Likewise.
35884
35885 * commands/videotest.c: New file.
35886
35887 * font/manager.c (fill_with_default_glyph): Modified to use
35888 grub_font_glyph.
35889 (grub_font_get_glyph): Likewise.
35890 (fontmanager): Renamed from this...
35891 (font_manager): ... to this.
35892
35893 * include/grub/font.h (grub_font_glyph): Added new structure.
35894 (grub_font_get_glyph): Modified to use grub_font_glyph.
35895
35896 * include/grub/misc.h (grub_abs): Added as inline function.
35897
35898 * include/grub/video.h: New file.
35899
35900 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35901 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35902 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35903 (grub_vbe_get_controller_info): Renamed from this...
35904 (grub_vbe_bios_get_controller_info): ... to this.
35905 (grub_vbe_get_mode_info): Renamed from this...
35906 (grub_vbe_bios_get_mode_info): ... to this.
35907 (grub_vbe_set_mode): Renamed from this...
35908 (grub_vbe_bios_set_mode): ... to this.
35909 (grub_vbe_get_mode): Renamed from this...
35910 (grub_vbe_bios_get_mode): ... to this.
35911 (grub_vbe_set_memory_window): Renamed from this...
35912 (grub_vbe_bios_set_memory_window): ... to this.
35913 (grub_vbe_get_memory_window): Renamed from this...
35914 (grub_vbe_bios_get_memory_window): ... to this.
35915 (grub_vbe_set_scanline_length): Renamed from this...
35916 (grub_vbe_set_scanline_length): ... to this.
35917 (grub_vbe_get_scanline_length): Renamed from this...
35918 (grub_vbe_bios_get_scanline_length): ... to this.
35919 (grub_vbe_set_display_start): Renamed from this...
35920 (grub_vbe_bios_set_display_start): ... to this.
35921 (grub_vbe_get_display_start): Renamed from this...
35922 (grub_vbe_bios_get_display_start): ... to this.
35923 (grub_vbe_set_palette_data): Renamed from this...
35924 (grub_vbe_bios_set_palette_data): ... to this.
35925 (grub_vbe_set_pixel_rgb): Removed.
35926 (grub_vbe_set_pixel_index): Likewise.
35927
35928 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35929 from this...
35930 (grub_vbe_bios_get_controller_info): ... to this.
35931 (grub_vbe_get_mode_info): Renamed from this...
35932 (grub_vbe_bios_get_mode_info): ... to this.
35933 (grub_vbe_set_mode): Renamed from this...
35934 (grub_vbe_bios_set_mode): ... to this.
35935 (grub_vbe_get_mode): Renamed from this...
35936 (grub_vbe_bios_get_mode): ... to this.
35937 (grub_vbe_set_memory_window): Renamed from this...
35938 (grub_vbe_bios_set_memory_window): ... to this.
35939 (grub_vbe_get_memory_window): Renamed from this...
35940 (grub_vbe_bios_get_memory_window): ... to this.
35941 (grub_vbe_set_scanline_length): Renamed from this...
35942 (grub_vbe_set_scanline_length): ... to this.
35943 (grub_vbe_get_scanline_length): Renamed from this...
35944 (grub_vbe_bios_get_scanline_length): ... to this.
35945 (grub_vbe_set_display_start): Renamed from this...
35946 (grub_vbe_bios_set_display_start): ... to this.
35947 (grub_vbe_get_display_start): Renamed from this...
35948 (grub_vbe_bios_get_display_start): ... to this.
35949 (grub_vbe_set_palette_data): Renamed from this...
35950 (grub_vbe_bios_set_palette_data): ... to this.
35951 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35952 getting corrupted after calling it. Added more pushes and pops.
35953 (grub_vbe_bios_set_mode): Likewise.
35954 (grub_vbe_bios_get_mode): Likewise.
35955 (grub_vbe_bios_get_memory_window): Likewise.
35956 (grub_vbe_bios_set_scanline_length): Likewise.
35957 (grub_vbe_bios_get_scanline_length): Likewise.
35958 (grub_vbe_bios_get_display_start): Likewise.
35959 (grub_vbe_bios_set_palette_data): Likewise.
35960
35961 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35962 (cl_insert): Likewise.
35963 (cl_delete): Likewise.
35964
35965 * term/gfxterm.c: New file.
35966
35967 * term/i386/pc/vesafb.c: Removed file.
35968
35969 * video/video.c: New file.
35970
35971 * video/i386/pc/vbe.c (real2pm): Added new function.
35972 (grub_video_vbe_draw_pixel): Likewise.
35973 (grub_video_vbe_get_video_ptr): Likewise.
35974 (grub_video_vbe_get_pixel): Likewise
35975 (grub_video_vbe_init): Likewise.
35976 (grub_video_vbe_fini): Likewise.
35977 (grub_video_vbe_setup): Likewise.
35978 (grub_video_vbe_get_info): Likewise.
35979 (grub_video_vbe_set_palette): Likewise.
35980 (grub_video_vbe_get_palette): Likewise.
35981 (grub_video_vbe_set_viewport): Likewise.
35982 (grub_video_vbe_get_viewport): Likewise.
35983 (grub_video_vbe_map_color): Likewise.
35984 (grub_video_vbe_map_rgb): Likewise.
35985 (grub_video_vbe_map_rgba): Likewise.
35986 (grub_video_vbe_unmap_color): Likewise.
35987 (grub_video_vbe_fill_rect): Likewise.
35988 (grub_video_vbe_blit_glyph): Likewise.
35989 (grub_video_vbe_blit_bitmap): Likewise.
35990 (grub_video_vbe_blit_render_target): Likewise.
35991 (grub_video_vbe_scroll): Likewise.
35992 (grub_video_vbe_swap_buffers): Likewise.
35993 (grub_video_vbe_create_render_target): Likewise.
35994 (grub_video_vbe_delete_render_target): Likewise.
35995 (grub_video_vbe_set_active_render_target): Likewise.
35996 (grub_vbe_set_pixel_rgb): Remove function.
35997 (grub_vbe_set_pixel_index): Likewise.
35998 (index_color_mode): Remove static variable.
35999 (active_mode): Likewise.
36000 (framebuffer): Likewise.
36001 (bytes_per_scan_line): Likewise.
36002 (grub_video_vbe_adapter): Added new static variable.
36003 (framebuffer): Likewise.
36004 (render_target): Likewise.
36005 (initial_mode): Likewise.
36006 (mode_in_use): Likewise.
36007 (mode_list): Likewise.
36008
36009 2006-03-10 Marco Gerards <marco@gnu.org>
36010
36011 * configure.ac (AC_INIT): Bumped to 1.93.
36012
36013 * DISTLIST: Added `include/grub/hfs.h'.
36014
36015 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36016
36017 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36018 18H, which might help the BIOS falling back to next boot media.
36019
36020 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36021
36022 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36023 Poe Chen <poe.poechen@gmail.com>.
36024
36025 2006-01-17 Marco Gerards <marco@gnu.org>
36026
36027 * include/grub/normal.h: Include <grub/script.h>.
36028 (grub_command_list): Removed struct.
36029 (grub_command_list_t): Removed type.
36030 (grub_menu_entry): Remove members `num' and `command_list'. Add
36031 members `commands' and `sourcecode'.
36032 * include/grub/script.h: Add inclusion guards.
36033 (grub_script_cmd_menuentry): New struct.
36034 (grub_script_execute_menuentry): New prototype.
36035 (grub_script_lexer_record_start): Likewise.
36036 (grub_script_lexer_record_stop): Likewise.
36037 * normal/execute.c (grub_script_execute_menuentry): New function.
36038 * normal/lexer.c (record, recording, recordpos, recordlen): New
36039 variables.
36040 (grub_script_lexer_record_start): New function.
36041 (grub_script_lexer_record_stop): Likewise.
36042 (recordchar): Likewise.
36043 (nextchar): Likewise.
36044 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36045 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36046 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36047 (current_menu): New variable.
36048 (free_menu): Mainly rewritten.
36049 (grub_normal_menu_addentry): New function.
36050 (read_config_file): Rewritten.
36051 * normal/menu.c (run_menu_entry): Mainly rewritten.
36052 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36053 the menu entry.
36054 (run): Mainly rewritten.
36055 * normal/parser.y (menu_entry): New variable.
36056 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36057 (menuentry): New rule.
36058 (command): Add `menuentry'.
36059 (if_statement): Allow additional returns before `fi'.
36060 * normal/script.c (grub_script_create_cmdmenu): New function.
36061
36062 2006-01-03 Marco Gerards <marco@gnu.org>
36063
36064 * INSTALL: GNU Bison is required.
36065 * configure.ac: Rewritten the test to detect Bison.
36066 * Makefile.in (YACC): New variable. Reported by Xun Sun
36067 <xun.sun.cn@gmail.com>.
36068
36069 2006-01-03 Marco Gerards <marco@gnu.org>
36070
36071 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36072 the HFS+ filesystem to filesystem blocks.
36073 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36074 GCC warning is silenced.
36075
36076 2006-01-03 Marco Gerards <marco@gnu.org>
36077
36078 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36079 read from disk from big endian to host byte order.
36080
36081 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36082
36083 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36084 documentation.
36085 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36086 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36087 embedded HFS+ filesystem.
36088 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36089 (grub_hfs_sblock): Move from here...
36090 * include/grub/hfs.h: To here... New file.
36091 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36092 documentation.
36093 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36094 New macros.
36095 (grub_hfsplus_volheader): Change type of member `magic' to
36096 `grub_uint16_t'.
36097 (grub_hfsplus_data): Add new member `embedded_offset'.
36098 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36099 returned block.
36100 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36101 Calculate the offset.
36102
36103 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36104
36105 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36106 Removed.
36107 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36108
36109 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36110
36111 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36112 ENV->NAME is NULL after allocating ENV->VALUE.
36113
36114 2005-12-25 Marco Gerards <marco@gnu.org>
36115
36116 * kern/env.c (grub_env_set): Rewritten the error handling code.
36117
36118 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36119
36120 * geninit.sh: Made more robust, and more portable.
36121
36122 2005-12-25 Marco Gerards <marco@gnu.org>
36123
36124 Add support for Apple HFS+ filesystems.
36125
36126 * fs/hfsplus.c: New file.
36127
36128 * DISTLIST: Added `fs/hfsplus.c'.
36129
36130 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36131 (hfsplus_mod_SOURCES): New variable.
36132 (hfsplus_mod_CFLAGS): Likewise.
36133 (hfsplus_mod_LDFLAGS): Likewise.
36134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36135 (grub_setup_SOURCES): Likewise.
36136 (grub_mkdevicemap_SOURCES): Likewise.
36137 (grub_emu_SOURCES): Likewise.
36138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36139
36140 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36141
36142 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36143
36144 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36145
36146 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36147 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36148 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36149 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36150 normal/lexer.c, normal/parser.y, normal/script.c, and
36151 partmap/gpt.c.
36152 Removed kern/sparc64/cache.c.
36153
36154 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36155 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36156 grub_emu_init.c.
36157
36158 * configure.ac (AC_INIT): Bumped to 1.92.
36159
36160 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36161
36162 * kern/err.c (grub_error_push): Added new function to support error
36163 stacks.
36164 (grub_error_pop): Likewise.
36165 (grub_error_stack_items): New local variable to support error stacks.
36166 (grub_error_stack_pos): Likewise.
36167 (grub_error_stack_assert): Likewise.
36168 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36169 stack depth.
36170 (grub_print_error): Added support to print errors from error stack.
36171
36172 * include/grub/err.h (grub_error_push): Added function prototype.
36173 (grub_error_pop): Likewise.
36174
36175 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36176
36177 * configure.ac: Accept `powerpc64' as host_cpu.
36178 (amd64): Rename to `biarch32'.
36179
36180 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36181 non-cacheline-aligned addresses.
36182
36183 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36184 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36185 if `size' is non-zero.
36186
36187 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36188
36189 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36190 and `cd' to make sure the filename is not prefixed with a
36191 directory name.
36192 (pkgdata_MODULES): Add `gpt.mod'.
36193 (gpt_mod_SOURCES): New variable.
36194 (gpt_mod_CFLAGS): Likewise.
36195 (gpt_mod_LDFLAGS): Likewise.
36196
36197 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36198
36199 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36200 New macro.
36201
36202 * partmap/gpt.c: New file.
36203
36204 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36205 GPT partition map is detected.
36206
36207 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36208
36209 * commands/i386/pc/play.c: New file.
36210 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36211 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36212 macros.
36213
36214 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36215
36216 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36217 ((unused))' to silence gcc warning.
36218
36219 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36220
36221 * configure.ac: Correct `AC_PROG_YACC' test.
36222
36223 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36224
36225 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36226 check before installing files.
36227
36228 2005-11-22 Mike Small <smallm@panix.com>
36229
36230 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36231 number regex so multidigit numbers are recognized correctly.
36232
36233 2005-11-22 Mike Small <smallm@panix.com>
36234
36235 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36236 debugging message before attempting to claim memory.
36237 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36238 multiple addresses in case of failure.
36239
36240 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36241
36242 * term/tparm.c (get_space): Remove empty `if' statement.
36243
36244 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36245
36246 * kern/parser.c (check_varstate): Rename `state' to 's'.
36247
36248 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36249
36250 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36251 variable definitions to the beginning of each function. Sort stack
36252 variables by size.
36253 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36254 `buf' argument to `char *'.
36255
36256 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36257
36258 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36259 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36260 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36261 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36262 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36263 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36264 configfile.mod, search.mod, gzio.mod and test.mod.
36265 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36266 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36267 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36268 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36269 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36270 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36271 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36272 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36273 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36274 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36275 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36276 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36277 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36278 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36279 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36280 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36281 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36282 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36283 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36284 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36285 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36286 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36287 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36288
36289 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36290 `grep --include'.
36291 (pkgdata_MODULES): Add test.mod.
36292
36293 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36294
36295 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36296 appending to variables with "+=".
36297 (PModule): Use full pathname to generate *.lst filenames.
36298
36299 * Makefile.in: Fixed list rules moved from genmk.rb.
36300 (.DELETE_ON_ERROR): New special target.
36301 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36302
36303 * conf/i386-pc.rmk: Include conf/common.mk.
36304 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36305 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36306 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36307 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36308 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36309 configfile.mod, search.mod, gzio.mod and test.mod.
36310 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36311 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36312 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36313 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36314 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36315 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36316 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36317 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36318 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36319 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36320 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36321 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36322 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36323 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36324 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36325 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36326 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36327 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36328 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36329 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36330 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36331 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36332 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36333 here...
36334 * conf/common.rmk: ... to here. New file.
36335
36336 * conf/common.mk: New file.
36337
36338 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36339
36340 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36341 (grub_script.tab.c): ... here.
36342
36343 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36344 (grub_script.tab.c): ... here.
36345
36346 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36347 (grub_script.tab.c): ... here.
36348
36349 * normal/command.c (grub_command_find): Fixed a memory leak of
36350 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36351
36352 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36353
36354 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36355 "@" which marks the start of a comment on ARM.
36356 (VARIABLE): Likewise.
36357
36358 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36359
36360 Add support for Linux/ADFS partition tables.
36361
36362 * partmap/acorn.c: New file.
36363
36364 * include/grub/acorn_filecore.h: Likewise.
36365
36366 * DISTLIST: Added `partmap/acorn.c' and
36367 `include/grub/acorn_filecore.h'.
36368
36369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36370 `partmap/acorn.c'.
36371 (pkgdata_MODULES): Add `acorn.mod'.
36372 (acorn_mod_SOURCES): New variable.
36373 (acorn_mod_CFLAGS): Likewise.
36374
36375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36376 `partmap/acorn.c'.
36377 (pkgdata_MODULES): Add `acorn.mod'.
36378 (acorn_mod_SOURCES): New variable.
36379 (acorn_mod_CFLAGS): Likewise.
36380
36381 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36382 (pkgdata_MODULES): Add `acorn.mod'.
36383 (acorn_mod_SOURCES): New variable.
36384 (acorn_mod_CFLAGS): Likewise.
36385 (acorn_mod_LDFLAGS): Likewise.
36386
36387 * include/types.h (grub_disk_addr_t): New typedef.
36388
36389 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36390
36391 * geninit.sh: New file.
36392
36393 * geninitheader.sh: Likewise.
36394
36395 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36396 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36397 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36398 * commands/configfile.c (grub_configfile_init)
36399 (grub_configfile_fini): Likewise.
36400 * commands/default.c (grub_default_init, grub_default_fini):
36401 Likewise.
36402 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36403 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36404 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36405 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36406 Likewise.
36407 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36408 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36409 Likewise.
36410 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36411 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36412 Likewise.
36413 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36414 Likewise.
36415 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36416 Likewise.
36417 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36418 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36419 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36420 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36421 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36422 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36423 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36424 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36425 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36426 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36427 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36428 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36429 * partmap/amiga.c (grub_amiga_partition_map_init)
36430 (grub_amiga_partition_map_fini): Likewise.
36431 * partmap/apple.c (grub_apple_partition_map_init)
36432 (grub_apple_partition_map_fini): Likewise.
36433 * partmap/pc.c (grub_pc_partition_map_init)
36434 (grub_pc_partition_map_fini): Likewise.
36435 * partmap/sun.c (grub_sun_partition_map_init,
36436 grub_sun_partition_map_fini): Likewise.
36437 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36438 Likewise.
36439
36440 * util/grub-emu.c: Include <grub_modules_init.h>.
36441 (main): Don't initialize and de-initialize any modules directly,
36442 use `grub_init_all' and `grub_fini_all' instead.
36443
36444 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36445 `grub_vesafb_mod_init'.
36446 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36447 all users.
36448 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36449 `grub_vga_mod_init'. Updated all users.
36450 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36451
36452 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36453 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36454 rules.
36455
36456 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36457 Generate a function to initialize the module in utilities.
36458 Updated all callers.
36459 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36460 initialize the module in utilities. Updated all callers.
36461
36462 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36463
36464 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36465 escape sequence and a literal ^L to clear the screen.
36466
36467 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36468 when returning from Open Firmware.
36469
36470 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36471
36472 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36473 (grub_ofconsole_height): Likewise.
36474 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36475 manually insert a '\n'.
36476 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36477 `grub_ofconsole_height'. Return early if these are already set.
36478
36479 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36480
36481 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36482 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36483 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36484 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36485 and `normal/script.c'.
36486 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36487 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36488 (test_mod_SOURCES): New variable.
36489 (test_mod_CFLAGS): Likewise.
36490 (test_mod_LDFLAGS): Likewise.
36491 (pkgdata_MODULES): Add `test.mod'.
36492 (grub_script.tab.c): New rule.
36493 (grub_script.tab.h): Likewise.
36494
36495 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36496
36497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36498 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36499 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36500 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36501 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36502 (test_mod_SOURCES): New variable.
36503 (test_mod_CFLAGS): Likewise.
36504 (pkgdata_MODULES): Add `test.mod'.
36505 (grub_script.tab.c): New rule.
36506 (grub_script.tab.h): Likewise.
36507
36508 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36509
36510 Add initial scripting support.
36511
36512 * commands/test.c: New file.
36513 * include/grub/script.h: Likewise.
36514 * normal/execute.c: Likewise.
36515 * normal/function.c: Likewise.
36516 * normal/lexer.c: Likewise.
36517 * normal/parser.y: Likewise.
36518 * normal/script.c: Likewise.
36519
36520 * configure.ac: Add `AC_PROG_YACC' test.
36521
36522 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36523 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36524 `normal/function.c' and `normal/script.c'.
36525 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36526 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36527 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36528 variables.
36529 (pkgdata_MODULES): Add `test.mod'.
36530 (grub_script.tab.c): New rule.
36531 (grub_script.tab.h): Likewise.
36532
36533 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36534
36535 * include/grub/normal.h (grub_test_init): New prototype.
36536 (grub_test_fini): Likewise.
36537
36538 * normal/command.c: Include <grub/script.h>.
36539 (grub_command_execute): Rewritten.
36540
36541 * util/grub-emu.c (main): Call `grub_test_init' and
36542 `grub_test_fini'.
36543
36544 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36545
36546 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36547 to 0.
36548 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36549 there are no pending characters.
36550
36551 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36552
36553 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36554 `grub_strndup' to drop device arguments. Replace unnecessary
36555 `grub_strndup' with `grub_strdup'.
36556
36557 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36558
36559 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36560 `debug' environment variable has been set.
36561
36562 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36563
36564 * Makefile.in (install-local): Use $(DATA).
36565 (uninstall): Likewise.
36566 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36567 (sbin_UTILITIES): ... to here.
36568 (sbin_SCRIPTS): New variable.
36569 (grub_install_SOURCES): New variable.
36570 * util/powerpc/ieee1275/grub-install.in: New file.
36571 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36572 variable.
36573 (add_segments): Call `grub_util_get_path'.
36574
36575 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36576
36577 From Timothy Baldwin:
36578 * commands/ls.c (grub_ls_list_files): Close FILE with
36579 grub_file_close.
36580 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36581
36582 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36583
36584 * include/grub/parser.h: New file.
36585
36586 * kern/parser.c: Likewise.
36587
36588 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36589 (grub_setup_SOURCES): Likewise.
36590 (grub_probefs_SOURCES): Likewise.
36591 (grub_emu_SOURCES): Likewise.
36592 (kernel_img_HEADERS): Add `parser.h'.
36593
36594 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36595 (grub_emu_SOURCES): Add `kern/parser.c'.
36596 (grubof_SOURCES): Likewise.
36597
36598 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36599 (grubof_SOURCES): Add `kern/parser.c'.
36600
36601 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36602
36603 * kern/misc.c (grub_split_cmdline): Removed function.
36604
36605 * kern/rescue.c: Include <grub/parser.h>.
36606 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36607 of `grub_split_cmdline'.
36608
36609 * normal/command.c: Include <grub/parser.h>.
36610 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36611 of `grub_split_cmdline'.
36612
36613 * normal/completion.c: Include <grub/parser.h>.
36614 (cmdline_state): New variable.
36615 (iterate_dir): End the filename with a quote depending on the
36616 command line state.
36617 (get_state): new function.
36618 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36619 split the arguments and determine the current argument. When the
36620 argument string is not quoted, escape all spaces.
36621
36622 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36623
36624 * normal/sparc64/setjmp.S: New file.
36625
36626 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36627
36628 * include/grub/sparc64/libgcc.h: New file.
36629 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36630 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36631 normal/sparc64/setjmp.c.
36632
36633 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36634
36635 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36636 * kern/sparc64/cache.S: New file.
36637 * kern/sparc64/cache.c: Removed.
36638 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36639 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36640 -mtune=ultrasparc.
36641 (COMMON_LDFLAGS): Add -melf64_sparc.
36642 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36643 (grubof_SOURCES): Use cache.S instead of cache.c.
36644 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36645 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36646 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36647 commented though.
36648 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36649 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36650 (linux_mod_CFLAGS): Commented out.
36651 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36652 out because module isn't built.
36653 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36654 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36655 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36656 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36657 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36658 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36659 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36660 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36661 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36662 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36663 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36664 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36665 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36666 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36667
36668 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36669
36670 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36671 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36672 longer, because HFS should not be used on PC.
36673
36674 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36675
36676 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36677 consistently within the loop.
36678
36679 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
36680
36681 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36682 directory can not be read.
36683
36684 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36685
36686 * configure.ac (AC_INIT): Increase the version number to 1.91.
36687
36688 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36689 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36690 term/i386/pc/serial.c.
36691
36692 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36693
36694 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36695 file size must be permitted.
36696
36697 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36698 between %ah and %al.
36699
36700 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36701
36702 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36703 grub_uint64_t.
36704 Call the hook with a NUL-terminated filename.
36705 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36706 grub_cpu_to_be32.
36707
36708 * kern/term.c (cursor_state): New variable.
36709 (grub_term_set_current): Reset the cursor state on a new
36710 terminal.
36711 (grub_setcursor): Rewritten to use CURSOR_STATE.
36712 (grub_getcursor): New function.
36713
36714 * include/grub/term.h (grub_getcursor): New prototype.
36715
36716 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36717 integers on ARM. Reported by Timothy Baldwin
36718 <T.E.Baldwin99@members.leeds.ac.uk>.
36719
36720 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
36721
36722 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36723 allocated.
36724 (grub_sfs_dir): Likewise.
36725
36726 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
36727
36728 Add support for the SFS filesystem.
36729
36730 * fs/sfs.c: New file.
36731
36732 * DISTLIST: Added `fs/sfs.c'.
36733
36734 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36735 (grub_probefs_SOURCES): Likewise.
36736 (grub_emu_SOURCES): Likewise.
36737 (pkgdata_MODULES): Add `sfs.mod'.
36738 (sfs_mod_SOURCES): New variable.
36739 (sfs_mod_CFLAGS): Likewise.
36740 (sfs_mod_LDFLAGS): Likewise.
36741
36742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36743 (pkgdata_MODULES): Add `sfs.mod'.
36744 (sfs_mod_SOURCES): New variable.
36745 (sfs_mod_CFLAGS): Likewise.
36746
36747 * util/grub-emu.c (main): Call `grub_sfs_init' and
36748 `grub_sfs_fini'.
36749
36750 * include/grub/fs.h (grub_sfs_init): New prototype.
36751 (grub_sfs_fini): Likewise.
36752
36753 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
36754
36755 Add support for the AFFS filesystem.
36756
36757 * fs/affs.c: New file.
36758
36759 * DISTLIST: Added `fs/affs.c'.
36760
36761 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36762 (grub_probefs_SOURCES): Likewise.
36763 (grub_emu_SOURCES): Likewise.
36764 (pkgdata_MODULES): Add `affs.mod'.
36765 (affs_mod_SOURCES): New variable.
36766 (affs_mod_CFLAGS): Likewise.
36767 (affs_mod_LDFLAGS): Likewise.
36768
36769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36770 (pkgdata_MODULES): Add `affs.mod'.
36771 (affs_mod_SOURCES): New variable.
36772 (affs_mod_CFLAGS): Likewise.
36773
36774 * util/grub-emu.c (main): Call `grub_affs_init' and
36775 `grub_affs_fini'.
36776
36777 * include/grub/fs.h (grub_affs_init): New prototype.
36778 (grub_affs_fini): Likewise.
36779
36780 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36781
36782 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36783
36784 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36785
36786 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36787 `-m32' to CFLAGS.
36788
36789 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36790 linking.
36791
36792 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36793 (COMMON_LDFLAGS): New variable.
36794 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36795 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36796 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36797 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36798 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36799 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36800 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36801 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36802 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36803 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36804 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36805 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36806 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36807 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36808 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36809 variables.
36810 (normal_mod_ASFLAGS): Add `-m32'.
36811
36812 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36813 (grub_host_size_t, grub_host_ssize_t): New types.
36814 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
36815 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
36816 `GRUB_HOST_SIZEOF_VOID_P'.
36817
36818 * include/grub/kernel.h (struct grub_module_header): Type of
36819 member offset changed to `grub_host_off_t'. Type of member size
36820 changed to `grub_host_size_t'.
36821 (struct grub_module_info): Type of member offset changed to
36822 `grub_host_off_t'. Type of member size changed to
36823 `grub_host_size_t'.
36824
36825 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36826
36827 Make GRUB's kernel compliant to Multiboot Specification.
36828
36829 * kern/i386/pc/startup.S (multiboot_header): New label.
36830 (multiboot_entry): Likewise.
36831 (multiboot_trampoline): Likewise.
36832
36833 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36834 Increased to 0x4A0.
36835
36836 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36837 put parentheses after a question mark.
36838 [!GRUB_UTIL] (my_mod): New variable.
36839
36840 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36841
36842 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
36843
36844 Adds support for the XFS filesystem. Btrees are not supported
36845 yet.
36846
36847 * fs/xfs.c: New file.
36848
36849 * DISTLIST: Added `fs/xfs.c'.
36850
36851 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36852 (grub_probefs_SOURCES): Likewise.
36853 (grub_emu_SOURCES): Likewise.
36854 (pkgdata_MODULES): Add `xfs.mod'.
36855 (xfs_mod_SOURCES): New variable.
36856 (xfs_mod_CFLAGS): Likewise.
36857
36858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36859 (pkgdata_MODULES): Add `xfs.mod'.
36860 (xfs_mod_SOURCES): New variable.
36861 (xfs_mod_CFLAGS): Likewise.
36862
36863 * util/grub-emu.c (main): Call `grub_xfs_init' and
36864 `grub_xfs_fini'.
36865
36866 * include/grub/fs.h (grub_xfs_init): New prototype.
36867 (grub_xfs_fini): Likewise.
36868
36869
36870 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36871
36872 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36873 color modes, allow greater than 16 colors to be configured as
36874 a default palette.
36875
36876 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36877
36878 * normal/completion.c (complete_arguments): Add the qualifier
36879 const into OPTIONS.
36880
36881 From Omniflux <omniflux+lists@omniflux.com>:
36882 * include/grub/terminfo.h: New file.
36883 * include/grub/tparm.h: Likewise.
36884 * include/grub/i386/pc/serial.h: Likewise.
36885 * term/terminfo.c: Likewise.
36886 * term/tparm.c: Likewise.
36887 * term/i386/pc/serial.c: Likewise.
36888 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36889 serial.mod.
36890 (terminfo_mod_SOURCES): New variable.
36891 (terminfo_mod_CFLAGS): Likewise.
36892 (serial_mod_SOURCES): Likewise.
36893 (serial_mod_CFLAGS): Likewise.
36894
36895 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36896
36897 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36898 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36899 and kern/powerpc/ieee1275/cmain.c, respectively.
36900
36901 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36902 * kern/powerpc/ieee1275/crt0.S: ... here.
36903
36904 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36905 * kern/powerpc/ieee1275/cmain.c: ... here.
36906
36907 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36908 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36909 instead of boot/powerpc/ieee1275/crt0.S and
36910 boot/powerpc/ieee1275/cmain.c, respectively.
36911
36912 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36913 sectors. It was not used anyway.
36914
36915 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36916
36917 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36918 `unused parameter' warning.
36919
36920 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36921
36922 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36923 function.
36924 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36925 getcharwidth.
36926
36927 2005-08-28 Marco Gerards <metgerards@student.han.nl>
36928
36929 * include/grub/normal.h (enum grub_completion_type): Added
36930 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36931
36932 * normal/cmdline.c (print_completion): Handle
36933 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36934 * normal/menu_entry.c (store_completion): Likewise.
36935
36936 * normal/completion.c (complete_arguments): New function.
36937 (grub_normal_do_completion): Call `complete_arguments' when the
36938 current words start with a dash.
36939
36940 2005-08-27 Marco Gerards <metgerards@student.han.nl>
36941
36942 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36943 `gzio.mod' instead of `io.mod').
36944
36945 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36946
36947 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36948 (DISTDIRS): Added io and video.
36949 Rewrite the search routine to make an output consistently.
36950
36951 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36952 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36953 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36954 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36955 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36956 util/powerpc/ieee1275/misc.c.
36957
36958 * include/grub/gzio.h: New file.
36959 * io/gzio.c: Likewise.
36960
36961 * kern/file.c (grub_file_close): Call grub_device_close only if
36962 FILE->DEVICE is not NULL.
36963
36964 * include/grub/mm.h [!NULL] (NULL): New macro.
36965
36966 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36967
36968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36969 (pkgdata_MODULES): Added gzio.mod.
36970 (gzio_mod_SOURCES): New variable.
36971 (gzio_mod_CFLAGS): Likewise.
36972
36973 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36974 (pkgdata_MODULES): Added gzio.mod.
36975 (gzio_mod_SOURCES): New variable.
36976 (gzio_mod_CFLAGS): Likewise.
36977
36978 * commands/cat.c: Include grub/gzio.h.
36979 (grub_cmd_cat): Use grub_gzfile_open instead of
36980 grub_file_open.
36981
36982 * commands/cmp.c: Include grub/gzio.h.
36983 (grub_cmd_cmp): Use grub_gzfile_open instead of
36984 grub_file_open.
36985
36986 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36987 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36988 grub_file_open.
36989 (grub_rescue_cmd_module): Likewise.
36990
36991 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36992
36993 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36994 kern/sparc64/ieee1275/init.c because it contains _start.
36995 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36996
36997 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36998
36999 * configure.ac: Add support for sparc64 host with ieee1275
37000 firmware.
37001 * configure: Generated from configure.ac.
37002 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37003 instead of int.
37004 (grub_ofdisk_read): Likewise.
37005 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37006 pointers as (void *) to remove a warning.
37007 (grub_ofdisk_close): Likewise.
37008 (grub_ofdisk_read): Likewise.
37009 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37010 returns, so make it return void to remove a warning.
37011 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37012 Corresponding prototype change.
37013 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37014 values, and cast the pointers as (void *) to remove a warning.
37015 (grub_mm_dump): Likewise.
37016 * conf/sparc64-ieee1275.mk: New file.
37017 * conf/sparc64-ieee1275.rmk: Likewise.
37018 * include/grub/sparc64/setjmp.h: Likewise.
37019 * include/grub/sparc64/types.h: Likewise.
37020 * include/grub/sparc64/ieee1275/console.h: Likewise.
37021 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37022 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37023 * include/grub/sparc64/ieee1275/time.h: Likewise.
37024 * kern/sparc64/cache.c: Likewise.
37025 * kern/sparc64/dl.c: Likewise.
37026 * kern/sparc64/ieee1275/init.c: Likewise.
37027 * kern/sparc64/ieee1275/openfw.c: Likewise.
37028
37029 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37030
37031 * util/console.c (grub_ncurses_putchar): If C is greater than
37032 0x7f, set C to a question mark.
37033 (grub_ncurses_getcharwidth): New function.
37034 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37035 getcharwidth.
37036
37037 * normal/menu.c (print_entry): Made aware of Unicode. First,
37038 convert TITLE to UCS-4, and predict the cursor position by
37039 grub_getcharwidth.
37040
37041 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37042 const to SRC.
37043 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37044
37045 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37046
37047 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37048 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37049 grub_strcat.
37050
37051 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37052 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37053 grub_strcpy and grub_strlen. Take it into account that a space
37054 character is inserted as a delimiter.
37055
37056 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37057
37058 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37059 invalid magic in the error.
37060
37061 * commands/search.c: New file.
37062
37063 * util/grub-emu.c (main): Call grub_search_init and
37064 grub_search_fini.
37065
37066 * kern/rescue.c (grub_rescue_print_disks): Removed.
37067 (grub_rescue_print_devices): New function.
37068 (grub_rescue_cmd_ls): Use grub_device_iterate with
37069 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37070 grub_rescue_print_disks.
37071
37072 * kern/partition.c (grub_partition_iterate): Return the result of
37073 PARTMAP->ITERATE instead of GRUB_ERRNO.
37074
37075 * kern/device.c: Include grub/partition.h.
37076 (grub_device_iterate): New function.
37077
37078 * include/grub/partition.h (grub_partition_iterate): Return int
37079 instead of grub_err_t.
37080
37081 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37082 prototype.
37083 [GRUB_UTIL] (grub_search_fini): Likewise.
37084
37085 * include/grub/device.h (grub_device_iterate): New prototype.
37086
37087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37088 commands/search.c.
37089 (pkgdata_MODULES): Added search.mod.
37090 (search_mod_SOURCES): New variable.
37091 (search_mod_CFLAGS): Likewise.
37092
37093 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37094 (pkgdata_MODULES): Added search.mod.
37095 (search_mod_SOURCES): New variable.
37096 (search_mod_CFLAGS): Likewise.
37097
37098 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37099 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37100 All callers changed.
37101
37102 * DISTLIST: Added commands/search.c.
37103
37104 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37105
37106 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37107 conversion.
37108 (grub_getcharwidth): New function.
37109
37110 * kern/misc.c (grub_utf8_to_ucs4): New function.
37111
37112 * include/grub/term.h (struct grub_term): Added a new member
37113 "getcharwidth".
37114 (grub_getcharwidth): New prototype.
37115
37116 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37117
37118 * term/i386/pc/console.c (map_char): New function. Segregated from
37119 grub_console_putchar.
37120 (grub_console_putchar): Use map_char.
37121 (grub_console_getcharwidth): New function.
37122 (grub_console_term): Specified grub_console_getcharwidth as
37123 getcharwidth.
37124
37125 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37126 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37127
37128 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37129 GRUB_ERRNO.
37130 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37131 on grub_strtoul completely.
37132 (write_char): Declare local variables in the beginning of the
37133 function.
37134 (grub_vesafb_getcharwidth): New function.
37135 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37136 getcharwidth.
37137
37138 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37139
37140 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37141 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37142 commands/i386/pc/vbetest.c.
37143
37144 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37145 call grub_vbe_get_controller_info again, because the returned
37146 information is volatile.
37147 (grub_vbe_set_video_mode): Mostly rewritten.
37148 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37149 grub_vbe_status_t correctly.
37150 (grub_vbe_get_video_mode_info): Likewise.
37151 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37152 several if statements.
37153
37154 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37155 * commands/i386/pc/vbeinfo.c: ... this.
37156
37157 * commands/i386/pc/vbe_test.c: Renamed to ...
37158 * commands/i386/pc/vbetest.c: ... this.
37159
37160 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37161 ...
37162 (grub_cmd_vbeinfo): ... this. Save video modes before
37163 iterating. Skip a video mode, if it is not available, not enough
37164 information is given or it is monochrome. Show the memory
37165 model. Leave the interpretation of MODEVAR to grub_strtoul
37166 completely.
37167 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37168 (GRUB_MOD_FINI): Likewise.
37169
37170 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37171 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37172 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37173 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37174 grub_strtoul completely.
37175 (real2pm): Removed.
37176 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37177 (GRUB_MOD_FINI): Likewise.
37178
37179 * normal/misc.c: Include grub/mm.h.
37180
37181 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37182 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37183 (vbe_list_modes_mod_SOURCES): Removed.
37184 (vbe_list_modes_mod_CFLAGS): Likewise.
37185 (vbe_test_mod_SOURCES): Likewise.
37186 (vbe_test_mod_CFLAGS): Likewise.
37187 (vbeinfo_mod_SOURCES): New variable.
37188 (vbeinfo_mod_CFLAGS): Likewise.
37189 (vbetest_mod_SOURCES): Likewise.
37190 (vbetest_mod_CFLAGS): Likewise.
37191
37192 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37193
37194 * normal/misc.c: New file.
37195
37196 * DISTLIST: Added normal/misc.c.
37197
37198 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37199 DISK to HOOK. Call HOOK with DISK.
37200 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37201 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37202 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37203
37204 * normal/menu_entry.c (struct screen): Added a new member
37205 "completion_shown".
37206 (completion_buffer): New global variable.
37207 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37208 (store_completion): New function.
37209 (complete): Likewise.
37210 (clear_completions): Likewise.
37211 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37212 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37213 a tab, call complete.
37214
37215 * normal/completion.c (disk_dev): Removed.
37216 (print_simple_completion): Likewise.
37217 (print_partition_completion): Likewise.
37218 (print_func): New global variable.
37219 (add_completion): Do not take the arguments WHAT or PRINT any
37220 longer. Added a new argument TYPE. Instead of printing directly,
37221 call PRINT_FUNC if not NULL.
37222 All callers changed.
37223 (complete_device): Use a local variable DEV instead of
37224 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37225 (grub_normal_do_completion): Take a new argument HOOK. Do not
37226 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37227 empty string, return NULL instead.
37228 All callers changed.
37229
37230 * normal/cmdline.c (print_completion): New function.
37231
37232 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37233 to HOOK.
37234 All callers changed.
37235
37236 * kern/disk.c (grub_print_partinfo): Removed.
37237
37238 * include/grub/partition.h (struct grub_partition_map): Add a new
37239 argument DISK into HOOK of ITERATE.
37240 (grub_partition_iterate): Add a new argument DISK to HOOK.
37241
37242 * include/grub/normal.h (enum grub_completion_type): New enum.
37243 (grub_completion_type_t): New type.
37244 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37245 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37246 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37247 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37248 (grub_normal_do_completion): Added a new argument HOOK.
37249 (grub_normal_print_device_info): New prototype.
37250
37251 * include/grub/disk.h (grub_print_partinfo): Removed.
37252
37253 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37254 (normal_mod_SOURCES): Likewise.
37255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37256 (normal_mod_SOURCES): Likewise.
37257
37258 * commands/ls.c (grub_ls_list_disks): Use
37259 grub_normal_print_device_info instead of grub_print_partinfo. Free
37260 PNAME.
37261 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37262 duplicating the code.
37263
37264 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37265
37266 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37267 follow GCS more precisely.
37268 * commands/i386/pc/vbe_test.c: Likewise.
37269 * include/grub/i386/pc/vbe.h: Likewise.
37270 * term/i386/pc/vesafb.c: Likewise.
37271 * video/i386/pc/vbe.c: Likewise.
37272
37273 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37274
37275 * DISTLIST: Added term/i386/pc/vesafb.c
37276 DISTLIST: Added video/i386/pc/vbe.c
37277 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37278 DISTLIST: Added commands/i386/pc/vbe_test.c.
37279 * commands/i386/pc/vbe_list_modes.c: New file.
37280 * commands/i386/pc/vbe_test.c: Likewise.
37281 * term/i386/pc/vesafb.c: Likewise.
37282 * video/i386/pc/vbe.c: Likewise.
37283 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37284 (grub_vbe_probe) Added prototype.
37285 (grub_vbe_set_video_mode) Likewise.
37286 (grub_vbe_get_video_mode) Likewise.
37287 (grub_vbe_get_video_mode_info) Likewise.
37288 (grub_vbe_set_pixel_rgb) Likewise.
37289 (grub_vbe_set_pixel_index) Likewise.
37290 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37291 (pkgdata_MODULES): Added vesafb.mod.
37292 (pkgdata_MODULES): Added vbe_list_modes.mod.
37293 (pkgdata_MODULES): Added vbe_test.mod.
37294 (vbe_mod_SOURCES): Added.
37295 (vbe_mod_CFLAGS): Likewise.
37296 (vesafb_mod_SOURCES): Likewise.
37297 (vesafb_mod_CFLAGS): Likewise.
37298 (vbe_list_modes_mod_SOURCES): Likewise.
37299 (vbe_list_modes_mod_CFLAGS): Likewise.
37300 (vbe_test_mod_SOURCES): Likewise.
37301 (vbe_test_mod_CFLAGS): Likewise.
37302
37303 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37304
37305 * normal/command.c (grub_command_execute): If INTERACTIVE is
37306 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37307 CMDLINE. Disable the pager if INTERACTIVE is true.
37308 All callers are changed.
37309
37310 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37311 before reading a config file.
37312 * normal/main.c (read_config_file): Even if a command is not
37313 found, register it if it is within an entry.
37314
37315 * util/grub-emu.c: Include sys/types.h and unistd.h.
37316 (options): Added --hold.
37317 (struct arguments): Added a new member "hold".
37318 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37319 missing.
37320 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37321 cleared by a debugger, if it is not zero.
37322
37323 * include/grub/normal.h (grub_command_execute): Add an argument
37324 INTERACTIVE.
37325
37326 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37327
37328 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37329
37330 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37331
37332 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37333 program with another one, because the old one didn't detect a bug
37334 in gcc-3.4. Always use regparm 2, because the new test is still
37335 not enough for gcc-4.0. Someone must investigate a simple test
37336 case which detects a bug in gcc-4.0.
37337
37338 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37339
37340 * DISTLIST: Added normal/completion.c.
37341
37342 * normal/completion.c: New file.
37343
37344 * term/i386/pc/console.c (grub_console_getwh): New function.
37345 (grub_console_term): Assign grub_console_getwh to getwh.
37346
37347 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37348 function is defined in normal/completion.c as
37349 grub_normal_do_completion.
37350 (grub_cmdline_get): Use grub_normal_do_completion instead of
37351 grub_tab_complete.
37352
37353 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37354 returns non-zero, otherwise return 0.
37355 (grub_partition_iterate): First, probe the partition map. Then,
37356 call ITERATE only for this partition map.
37357
37358 * kern/misc.c (grub_strncmp): Rewritten.
37359
37360 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37361 returns non-zero. Otherwise return 0.
37362
37363 * include/grub/partition.h (grub_partition_map_iterate): Return
37364 int instead of void.
37365
37366 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37367
37368 * include/grub/misc.h (grub_strncmp): Change the type of N to
37369 grub_size_t.
37370
37371 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37372 of void.
37373
37374 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37375 unsigned explicitly before comparing it with I.
37376
37377 * kern/main.c (grub_env_write_root): Add the attribute unused into
37378 VAR.
37379
37380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37381 normal/completion.c.
37382 (normal_mod_SOURCES): Likewise.
37383 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37384 (normal_mod_SOURCES): Likewise.
37385
37386 * normal/command.c (grub_iterate_commands): If ITERATE returns
37387 non-zero, return one immediately.
37388
37389 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37390
37391 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37392 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37393 descriptions.
37394 (grub_vbe_get_controller_info): New function.
37395 (grub_vbe_get_mode_info): Likewise.
37396 (grub_vbe_set_mode): Likewise.
37397 (grub_vbe_get_mode): Likewise.
37398 (grub_vbe_set_memory_window): Likewise.
37399 (grub_vbe_get_memory_window): Likewise.
37400 (grub_vbe_set_scanline_length): Likewise.
37401 (grub_vbe_get_scanline_length): Likewise.
37402 (grub_vbe_set_display_start): Likewise.
37403 (grub_vbe_get_display_start): Likewise.
37404 (grub_vbe_set_palette_data): Likewise.
37405 * include/grub/i386/pc/vbe.h: New file.
37406
37407 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37408
37409 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37410 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37411 * DISTLIST: Likewise.
37412 * kern/ieee1275/of.c: Moved to ...
37413 * kern/ieee1275/ieee1275.c: ... here.
37414
37415 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37416
37417 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37418 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37419 Pass 0 as `end' parameter to grub_strtoul().
37420
37421 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37422
37423 * include/grub/powerpc/ieee1275/console.h: Do not include
37424 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37425 ifdef.
37426 (grub_console_cur_color): Remove i386-specific prototype.
37427 (grub_console_real_putchar): Likewise.
37428 (grub_console_checkkey): Likewise.
37429 (grub_console_getkey): Likewise.
37430 (grub_console_getxy): Likewise.
37431 (grub_console_gotoxy): Likewise.
37432 (grub_console_cls): Likewise.
37433 (grub_console_setcursor): Likewise.
37434 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37435 Include <grub/machine/console.h>.
37436 * term/ieee1275/ofconsole.c: Likewise.
37437
37438 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37439
37440 * Makefile.in (LIBLZO): New variable.
37441
37442 * configure.ac: Check for LZO version 2.
37443
37444 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37445 lzo/lzo1x.h instead of lzo1x.h.
37446
37447 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37448 of -llzo.
37449
37450 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37451 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37452
37453 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37454 copying the data from PARTITION to P.
37455
37456 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37457
37458 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37459 negative, unload the module.
37460
37461 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37462 map is "pc_partition_map" but not "pc".
37463 (usage): Fix the description. The options are --boot-image and
37464 --core-image but not --boot-file or --core-file.
37465 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37466 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37467 DEFAULT_DIRECTORY.
37468
37469 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37470 --core-file. Specify INSTALL_DEVICE as an argument.
37471
37472 * util/console.c: Include config.h.
37473 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37474 [HAVE_NCURSES_H]: Include ncurses.h.
37475 [HAVE_CURSES_H]: Include curses.h.
37476 [!A_NORMAL] (A_NORMAL): Defined as zero.
37477 [!A_STANDOUT] (A_STANDOUT): Likewise.
37478
37479 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37480 -lncurses.
37481 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37482
37483 * configure.ac: Check for curses libraries and headers.
37484
37485 * Makefile.in (LIBCURSES): New variable.
37486
37487 * genmk.rb (Script::rule): Set the executable bits.
37488
37489 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37490 name of the PC partition map is "pc_partition_map" but not "pc".
37491
37492 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37493
37494 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37495 (modules): Likewise.
37496 (usage): Added descriptions for --modules and --grub-probefs.
37497 Handle --modules and --grub-probefs. Save the arguments in MODULES
37498 and GRUB_PROBEFS, respectively.
37499 Auto-detect a filesystem module against GRUBDIR. If the result is
37500 empty and modules are not specified explicitly, abort the
37501 installation. Add the result to MODULES.
37502
37503 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37504 disk/powerpc/ieee1275/ofdisk.c,
37505 include/grub/powerpc/ieee1275/init.h and
37506 term/powerpc/ieee1275/ofconsole.c.
37507 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37508 term/ieee1275/ofconsole.c.
37509
37510 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37511
37512 * COPYING: Upgraded to the latest version. Only the address of the
37513 FSF office has changed.
37514
37515 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37516
37517 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37518 kern/ieee1275.c with kern/ieee1275/of.c.
37519
37520 * kern/ieee1275.c: Moved to ...
37521 * kern/ieee1275/of.c: ... here.
37522
37523 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37524
37525 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37526 readability.
37527
37528 * config.guess: Updated to the latest version from gnulib.
37529 * config.sub: Likewise.
37530 * install.sh: Likewise.
37531 * mkinstalldirs: Likewise.
37532
37533 * include/grub/console.h: Removed. This file is arch-specific. Do
37534 not put this in include/grub.
37535
37536 * include/grub/i386/pc/console.h: Resurrected.
37537
37538 * util/console.c: Include grub/machine/console.h instead of
37539 grub/console.h.
37540 * util/grub-emu.c: Likewise.
37541
37542 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37543
37544 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37545 hardcoded value.
37546
37547 From Vincent Pelletier <subdino2004@yahoo.fr>
37548 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37549 Redefined to use grub_getwh.
37550 (grub_term): New member named getwh.
37551 (grub_getwh): New prototype.
37552 * kern/term.c (grub_getwh): New function.
37553 * term/i386/pc/console.c (grub_console_getwh): New function.
37554 (grub_console_term): New member `getwh'.
37555 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37556 (grub_vga_term): New member `getwh'.
37557 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37558 grub_ssize_t.
37559 (grub_ofconsole_getw): New function.
37560 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37561 (grub_ofconsole_term): New field named getwh and new initial
37562 value.
37563
37564 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37565
37566 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37567 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37568 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37569 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37570 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37571 of <grub/machine/ieee1275.h>.
37572 * commands/ieee1275/reboot.c: Likewise.
37573 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37574 * kern/ieee1275.c: ... to here. All users updated. Change all
37575 parameter structs to use new type `grub_ieee1275_cell_t'.
37576 * term/powerpc/ieee1275/ofconsole.c: Move ...
37577 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37578 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37579 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37580 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37581 to return int.
37582 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37583 Remove unused prototypes. All users updated.
37584 * include/grub/powerpc/ieee1275/console.h: Removed.
37585 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37586 `grub_ieee1275_cell_t'.
37587 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37588 Cast comparisons with -1 to the correct type.
37589 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37590 type to match `grub_ieee1275_entry_fn'.
37591
37592 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37593
37594 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37595
37596 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37597 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37598 partmap/sun.c.
37599 (grub_probefs_SOURCES): New variable.
37600
37601 * util/i386/pc/grub-probefs.c: New file.
37602
37603 * util/i386/pc/grub-setup.c (main): Call
37604 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37605 grub_hfs_init and grub_jfs_init to initialize the system. Call
37606 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37607 grub_pc_partition_map_fini to finish the system.
37608
37609 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37610
37611 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37612 function.
37613 (grub_multiboot_load_elf32): Likewise.
37614 (grub_multiboot_is_elf64): Likewise.
37615 (grub_multiboot_load_elf64): Likewise.
37616 (grub_multiboot_load_elf): Likewise.
37617 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37618 an ELF32 or ELF64 file.
37619 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37620
37621 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37622 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37623 NULL before calling FS->LABEL.
37624 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37625 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37626 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37627 before calling FS->LABEL.
37628
37629 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37630
37631 * util/i386/pc/grub-install.in (datadir): New variable.
37632 (libdir): Removed.
37633 (pkgdatadir): New variable.
37634 (pkglibdir): Removed.
37635
37636 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37637
37638 * DISTLIST: Added util/i386/pc/grub-install.in.
37639
37640 * util/i386/pc/grub-install.in: New file.
37641
37642 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37643 (grub_install_SOURCES): Likewise.
37644
37645 * genmk.rb: Added support for scripts.
37646 (Script): New class.
37647 (scripts): New variable.
37648
37649 * Makefile.in (install-local): Install sbin_SCRIPTS by
37650 INSTALL_SCRIPT.
37651 (uninstall): Remove sbin_SCRIPTS.
37652
37653 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37654 device, try to get a GRUB device by
37655 grub_util_biosdisk_get_grub_dev.
37656 Free DEST_DEV.
37657
37658 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37659 description for --device-map.
37660
37661 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37662
37663 Change the semantics of variable hooks. They now return strings
37664 instead of error values.
37665
37666 * util/i386/pc/grub-setup.c: Include grub/env.h.
37667 (setup): Use grub_device_set_root instead of grub_env_set.
37668
37669 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37670 grub_env_get instead of grub_device_set_root and
37671 grub_device_get_root, respectively.
37672
37673 * kern/main.c (grub_env_write_root): New function.
37674 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37675 grub_env_set instead of grub_device_set_root.
37676
37677 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37678 many variables.
37679 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37680 rather than calling ENV->WRITE_HOOK afterwards.
37681 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37682 passing a pointer of a pointer.
37683 (grub_register_variable_hook): Change the types of "read_hook" and
37684 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37685 respectively.
37686 Allocate the default empty string on the heap, because this string
37687 may be freed later.
37688
37689 * kern/device.c: Include grub/env.h.
37690 (grub_device_set_root): Removed.
37691 (grub_device_get_root): Likewise.
37692 (grub_device_open): Use grub_env_get instead of
37693 grub_device_get_root.
37694
37695 * include/grub/env.h (grub_env_read_hook_t): New type.
37696 (grub_env_write_hook_t): Likewise.
37697 (grub_env_var): Change the types of "read_hook" and "write_hook"
37698 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37699 (grub_register_variable_hook): Likewise.
37700
37701 * include/grub/device.h (grub_device_set_root): Removed.
37702 (grub_device_set_root): Likewise.
37703
37704 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37705 make sure that DIRNAME terminates with '/', so that
37706 grub_fat_find_dir will fail if PATH is not a directory.
37707
37708 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37709 from DIRNAME.
37710 Use the qualifier auto for print_files and print_files_long.
37711 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37712 as a regular file.
37713 Put a newline only if there is no error.
37714 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37715 used.
37716
37717 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37718
37719 * kern/partition.c (grub_partition_probe): Initialize PART to
37720 NULL. Otherwise, when no partition map is registered, this returns
37721 a garbage.
37722
37723 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37724
37725 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37726 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37727 valid.
37728
37729 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37730
37731 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37732 information on each device, if it does not have partitions. Print
37733 "Device" instead of "Disk", because this function is not specific
37734 to disk devices.
37735
37736 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37737 static to ensure that it is put on the memory rather than a
37738 register.
37739
37740 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37741
37742 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37743 (grub_cat_init): Likewise.
37744 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37745 (options): Likewise.
37746 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37747 (grub_configfile_init): Likewise.
37748 * font/manager.c (GRUB_MOD_INIT): Likewise.
37749 * commands/help.c (GRUB_MOD_INIT): Likewise.
37750 (grub_help_init): Likewise.
37751 * normal/command.c (grub_command_init): Likewise.
37752 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37753 * disk/loopback.c (grub_loop_init): Likewise.
37754 (GRUB_MOD_INIT): Likewise.
37755 * commands/ls.c (grub_ls_init): Likewise.
37756 (GRUB_MOD_INIT): Likewise.
37757 (options): Likewise.
37758 * commands/boot.c (grub_boot_init): Likewise.
37759 (GRUB_MOD_INIT): Likewise.
37760 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37761 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37762 (GRUB_MOD_INIT): Likewise.
37763 * commands/cmp.c (grub_cmp_init): Likewise.
37764 (GRUB_MOD_INIT): Likewise.
37765
37766 * normal/arg.c: Use <> instead of "" to include header files.
37767 (SHORT_ARG_HELP): New macro.
37768 (SHORT_ARG_USAGE): Likewise.
37769 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37770 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37771 descriptions.
37772 (find_short): Check if C is 'h' or 'u' explicitly.
37773 (grub_arg_show_help): Use space characters instead of tabs. Treat
37774 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37775 are shown with --help and --usage only if they are not used for
37776 the command itself.
37777 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37778 'h' and 'u'.
37779
37780 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37781 const into "longarg". Change the type of "shortarg" to int.
37782
37783 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37784
37785 * boot/i386/pc/boot.S (boot_drive_check): New label.
37786
37787 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37788 macro.
37789
37790 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37791 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37792
37793 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37794
37795 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37796 When turning off Gate A20, skip the check and return immediately,
37797 because this is not fatal usually.
37798
37799 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37800
37801 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37802 be 0x7C00 instead of 0x8000.
37803
37804 * boot/i386/pc/pxeboot.S: Rewritten.
37805
37806 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37807 EXT_C.
37808 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37809 result.
37810
37811 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37812
37813 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37814 robustness. This routine now supports a BIOS call and System
37815 Control Port A to modify the gate A20.
37816
37817 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37818 Increased to 0x440.
37819
37820 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37821
37822 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37823 device path and resulting ihandle.
37824 (grub_ofdisk_close): dprintf the ihandle being closed.
37825 (grub_ofdisk_read): dprintf function parameters.
37826 * kern/mm.c (grub_mm_init_region): Likewise.
37827 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37828 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37829 size, and boot arguments.
37830 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37831 before loading into memory.
37832 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37833 before loading into memory.
37834
37835 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37836
37837 * kern/mm.c: Added much documentation.
37838 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37839 8, set to 5 instead of 8.
37840
37841 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37842
37843 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37844
37845 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37846 (grub_mkdevicemap_SOURCES): New variable.
37847
37848 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37849 lib/device.c of GRUB Legacy.
37850
37851 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37852
37853 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37854 instead of PATH is NULL.
37855
37856 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37857
37858 * commands/cmp.c (BUFFER_SIZE): New macro.
37859 (grub_cmd_cmp): Close the right file at the right time. Compare
37860 only data just read. Don't report files of different size as
37861 identical. Dynamically allocate buffers. Move variable
37862 declarations at the beginning of function.
37863
37864 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
37865
37866 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37867 reverse.
37868
37869 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37870
37871 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37872 when backspace is pressed at beginning of line.
37873
37874 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
37875
37876 * DISTLIST: Added genfslist.sh.
37877
37878 * normal/main.c (fs_module_list): New variable.
37879 (autoload_fs_module): New function.
37880 (read_fs_list): Likewise.
37881 (grub_normal_execute): Call read_fs_list.
37882
37883 * kern/fs.c (grub_fs_autoload_hook): New variable.
37884 (grub_fs_probe): Added support for auto-loading.
37885
37886 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37887 (grub_fs_module_list_t): New type.
37888
37889 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37890 (grub_fs_autoload_hook): New prototype.
37891
37892 * genfslist.sh: New file.
37893
37894 * genmk.rb: Added a rule to generate a filesystem list.
37895
37896 2005-06-30 Marco Gerards <metgerards@student.han.nl>
37897
37898 * configure.ac: Fix the test for cross-compiling.
37899
37900 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37901 define GRUB_UTIL anymore.
37902
37903 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37904 so this function works on other systems than just big endian.
37905 (load_modules): Likewise.
37906 (add_segments): Likewise.
37907
37908 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37909
37910 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37911 contains `l' modifier, get a long from va_arg().
37912
37913 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37914
37915 * kern/mm.c (grub_free): If the next free block which is being
37916 merged is the first free block, set the first block to the block
37917 being freed.
37918 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37919
37920 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37921
37922 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37923 `grub_ieee1275_chosen'.
37924
37925 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37926
37927 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37928 (grub_ieee1275_chosen): New variable.
37929 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37930 `chosen'.
37931 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37932 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37933 Rename first argument to `phandle' for consistency.
37934 (grub_ieee1275_get_property_length): Likewise.
37935 (grub_ieee1275_next_property): Likewise. Change type of first argument
37936 to grub_ieee1275_phandle_t.
37937 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37938 Move export next to declaration.
37939 (grub_ieee1275_chosen): New variable.
37940 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37941 Correct cosmetic typo.
37942 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37943 `grub_ieee1275_chosen'.
37944 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37945 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37946 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37947 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37948 `grub_ieee1275_chosen'.
37949
37950 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37951
37952 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37953 /chosen/bootargs.
37954 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37955 /chosen/bootargs as "variable=value" pairs.
37956
37957 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37958
37959 * include/grub/misc.h (grub_dprintf): New macro.
37960 (grub_real_dprintf): New prototype.
37961 (grub_strword): Likewise.
37962 (grub_iswordseparator): Likewise.
37963 * kern/misc.c (grub_real_dprintf): New function.
37964 (grub_strword): Likewise.
37965 (grub_iswordseparator): Likewise.
37966
37967 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37968
37969 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37970 (roundup): Remove macro.
37971 (grub_ieee1275_flags): Make static.
37972 (grub_ieee1275_realmode): Remove.
37973 (grub_ieee1275_test_flag): New function.
37974 (grub_ieee1275_set_flag): Likewise.
37975 (find_options): Rename to `grub_ieee1275_find_options'; update
37976 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37977 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37978 (cmain): New prototype.
37979 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37980 `grub_ieee1275_flags' directly.
37981 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37982 machine/biosdisk.h.
37983 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37984 Don't include grub/machine/init.h.
37985 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37986 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37987 Remove prototype.
37988 (grub_ieee1275_realmode): Likewise.
37989 (grub_ieee1275_flag): New enum.
37990 (grub_ieee1275_test_flag): New prototype.
37991 (grub_ieee1275_set_flag): New prototype.
37992 * include/grub/powerpc/ieee1275/init.h: Remove file.
37993 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37994 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37995 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37996 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37997 comment.
37998 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37999 `grub_ieee1275_test_flag'.
38000 (grub_ieee1275_encode_devname): Likewise.
38001
38002 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38003
38004 * include/grub/powerpc/ieee1275/ieee1275.h
38005 (grub_ieee1275_encode_devname): New prototype.
38006 (grub_ieee1275_get_filename): Likewise.
38007 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38008 function.
38009 (grub_set_prefix): Likewise.
38010 (grub_machine_init): Call grub_set_prefix.
38011 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38012 (grub_parse_type): New enum.
38013 (grub_ieee1275_get_devargs): New function.
38014 (grub_ieee1275_get_devname): Likewise.
38015 (grub_ieee1275_parse_args): Likewise.
38016 (grub_ieee1275_get_filename): Likewise.
38017 (grub_ieee1275_encode_devname): Likewise.
38018
38019 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38020
38021 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38022 `grub_loader_unset'.
38023
38024 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38025
38026 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38027 instead of grub_ieee1275_interpret.
38028 (grub_halt_init): New function.
38029 (grub_halt_fini): Likewise.
38030 (GRUB_MOD_INIT): Correct message grammar.
38031 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38032 instead of grub_ieee1275_interpret.
38033 (grub_reboot_init): New function.
38034 (grub_reboot_fini): Likewise.
38035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38036 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38037 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38038 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38039 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38040 function.
38041 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38042 Add prototype.
38043 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38044 prototype.
38045 (grub_halt): Likewise.
38046 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38047 (cmain): Remove __attribute__((unused)).
38048 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38049 (grub_heap_len): Likewise.
38050 (grub_machine_fini): New function.
38051 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38052 (grub_halt): Likewise.
38053 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38054 function.
38055 * util/powerpc/ieee1275/misc.c: New file.
38056
38057 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38058
38059 * DISTLIST: New file.
38060 * gendistlist.sh: Likewise.
38061
38062 * Makefile.in (COMMON_DISTFILES): Removed.
38063 (BOOT_DISTFILES): Likewise.
38064 (CONF_DISTFILES): Likewise.
38065 (DISK_DISTFILES): Likewise.
38066 (FS_DISTFILES): Likewise.
38067 (INCLUDE_DISTFILES): Likewise.
38068 (KERN_DISTFILES): Likewise.
38069 (LOADER_DISTFILES): Likewise.
38070 (TERM_DISTFILES): Likewise.
38071 (UTIL_DISTFILES): Likewise.
38072 (DISTFILES): Likewise.
38073 (uninstall): Uninstall files in $(pkgdata_DATA).
38074 (DISTLIST): New target.
38075 (distdir): Use the contents of the file DISTLIST to get a list of
38076 distributed files.
38077
38078 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38079
38080 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38081 descriptor. This is ported from GRUB Legacy.
38082
38083 * gencmdlist.sh: Added an extra semicolon to make it work with
38084 old sed versions. Reported by Robert Bihlmeyer
38085 <robbe@orcus.priv.at>.
38086
38087 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38088
38089 Automatic loading of commands is supported.
38090
38091 * normal/main.c (read_command_list): New function.
38092 (grub_normal_execute): Call read_command_list.
38093
38094 * normal/command.c (grub_register_command): Return zero or CMD.
38095 Allocate CMD->NAME from the heap.
38096 Initialize CMD->MODULE_NAME to zero.
38097 Find the same name as well. If the same command is found and it is
38098 a dummy command, overwrite members. If it is not a dummy command,
38099 return zero.
38100 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38101 (grub_command_find): If a dummy command is found, load a module
38102 and retry to find a command only once.
38103
38104 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38105 make sure that each command is loaded.
38106
38107 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38108 macro.
38109 (struct grub_command): Remove const from the member `name'.
38110 Add a new member `module_name'.
38111 (grub_register_command): Return grub_command_t.
38112
38113 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38114 sure that each command is loaded.
38115
38116 * genmk.rb (PModule::rule): Specify a module name without the
38117 suffix ".mod" to gencmdlist.sh.
38118
38119 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38120
38121 * gencmdlist.sh: New file.
38122
38123 * genmk.rb (PModule::rule): Generate a rule for a command list.
38124 Clean command.lst.
38125 Generate command.lst from $(COMMANDFILES).
38126
38127 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38128 (DATA): Added $(pkgdata_DATA).
38129 (install-local): Install files in $(pkgdata_DATA).
38130
38131 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38132
38133 * term/i386/pc/vga.c (debug_command): Removed.
38134 (GRUB_MOD_INIT): Do not register the command "debug".
38135
38136 From Hollis Blanchard:
38137 * commands/configfile.c: New file.
38138 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38139 commands/configfile.c.
38140 (pkgdata_MODULES): Added configfile.mod.
38141 (configfile_mod_SOURCES): New variable.
38142 (configfile_mod_CFLAGS): Likewise.
38143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38144 commands/configfile.c.
38145 (pkgdata_MODULES): Added configfile.mod.
38146 (configfile_mod_SOURCES): New variable.
38147 (configfile_mod_CFLAGS): Likewise.
38148 * util/grub-emu.c (main): Call grub_configfile_init and
38149 grub_configfile_fini.
38150 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38151 prototype.
38152 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38153
38154 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38155
38156 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38157 address.
38158
38159 * commands/help.c (grub_cmd_help): Do not print newlines after
38160 the last command in print_command_help.
38161
38162 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38163
38164 * commands/default.h: New file.
38165 * commands/timeout.h: Likewise.
38166 * normal/context.c: Likewise.
38167
38168 * util/misc.c: Do not include sys/times.h.
38169 Include sys/time.h and grub/machine/time.h.
38170 (grub_get_rtc): Rewritten with gettimeofday.
38171
38172 * util/grub-emu.c (main): Call grub_default_init and
38173 grub_timeout_init before grub_normal_init, and call
38174 grub_timeout_fini and grub_default_fini after grub_main.
38175
38176 * util/console.c (grub_ncurses_checkkey): Return the read
38177 character or -1.
38178
38179 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38180 timeouts.
38181
38182 * normal/main.c (read_config_file): Push MENU. If this fails,
38183 print an error and wait for a user input.
38184 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38185 If a menu is empty or an error occurs, pop MENU.
38186 (grub_normal_execute): Pop and free MENU after grub_menu_run
38187 returns.
38188
38189 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38190
38191 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38192 include time.h.
38193 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38194 without GRUB_UTIL.
38195 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38196 time.h.
38197 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38198 without GRUB_UTIL.
38199
38200 * include/grub/normal.h (struct grub_menu_list): New struct.
38201 (grub_menu_list_t): New type.
38202 (struct grub_context): New struct.
38203 (grub_context_t): New type.
38204 (grub_register_command): Got rid of EXPORT_FUNC.
38205 (grub_unregister_command): Likewise.
38206 (grub_context_get): New prototype.
38207 (grub_context_get_current_menu): Likewise.
38208 (grub_context_push_menu): Likewise.
38209 (grub_context_pop_menu): Likewise.
38210 [GRUB_UTIL] (grub_default_init): Likewise.
38211 [GRUB_UTIL] (grub_default_fini): Likewise.
38212 [GRUB_UTIL] (grub_timeout_init): Likewise.
38213 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38214
38215 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38216 commands/timeout.c and normal/context.c.
38217 (pkgdata_MODULES): Added default.mod and timeout.mod.
38218 (normal_mod_SOURCES): Added normal/context.c.
38219 (default_mod_SOURCES): New variable.
38220 (default_mod_CFLAGS): Likewise.
38221 (timeout_mod_SOURCES): Likewise.
38222 (timeout_mod_CFLAGS): Likewise.
38223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38224 conf/i386-pc.rmk.
38225 (pkgdata_MODULES): Added default.mod and timeout.mod.
38226 (normal_mod_SOURCES): Added normal/context.c.
38227 (default_mod_SOURCES): New variable.
38228 (default_mod_CFLAGS): Likewise.
38229 (timeout_mod_SOURCES): Likewise.
38230 (timeout_mod_CFLAGS): Likewise.
38231
38232 * Makefile.in (all-local): Added $(MKFILES).
38233
38234 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38235
38236 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38237 (grub_emu_SOURCES): Likewise.
38238 (pkgdata_MODULES): Add `sun.mod'.
38239 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38241 `partmap/sun.c'.
38242 (pkgdata_MODULES): Add `sun.mod'.
38243 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38244 * include/grub/partition.h (grub_sun_partition_map_init): New
38245 prototype.
38246 (grub_sun_partition_map_fini): Likewise.
38247 * partmap/sun.c: New file.
38248 * util/grub-emu.c (main): Initialize and de-initialize the sun
38249 partitionmap support.
38250
38251 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38252
38253 This implements an Emacs-like menu entry editor.
38254
38255 * normal/menu_entry.c: New file.
38256
38257 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38258 characters to ASCII.
38259 (saved_char): New variable.
38260 (grub_ncurses_checkkey): Rewritten completely.
38261 (grub_ncurses_getkey): Likewise.
38262 (grub_ncurses_init): Call raw instead of cbreak.
38263
38264 * normal/menu.c (print_entry): Do not put a space.
38265 (init_page): Renamed to ...
38266 (grub_menu_init_page): ... this. All callers changed.
38267 (edit_menu_entry): Removed.
38268 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38269
38270 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38271
38272 * kern/misc.c (grub_vprintf): Call grub_refresh.
38273
38274 * normal/menu.c (DISP_LEFT): Renamed to ...
38275 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38276 * normal/menu.c (DISP_UP): Renamed to ...
38277 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38278 * normal/menu.c (DISP_RIGHT): Renamed to ...
38279 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38280 * normal/menu.c (DISP_DOWN): Renamed to ...
38281 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38282 * normal/menu.c (DISP_HLINE): Renamed to ...
38283 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38284 * normal/menu.c (DISP_VLINE): Renamed to ...
38285 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38286 * normal/menu.c (DISP_UL): Renamed to ...
38287 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38288 * normal/menu.c (DISP_UR): Renamed to ...
38289 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38290 * normal/menu.c (DISP_LL): Renamed to ...
38291 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38292 * normal/menu.c (DISP_LR): Renamed to ...
38293 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38294 * normal/menu.c (TERM_WIDTH): Renamed to ...
38295 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38296 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38297 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38298 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38299 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38300 * normal/menu.c (TERM_MARGIN): Renamed to ...
38301 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38302 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38303 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38304 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38305 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38306 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38307 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38308 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38309 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38310 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38311 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38312 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38313 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38314 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38315 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38316 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38317 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38318 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38319 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38320 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38321 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38322 All callers changed.
38323
38324 * include/grub/normal.h: New prototype.
38325
38326 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38327 normal/menu_entry.c.
38328 (normal_mod_SOURCES): Likewise.
38329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38330 (normal_mod_SOURCES): Likewise.
38331
38332 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38333
38334 * include/grub/normal.h (grub_halt_init): New prototype.
38335 (grub_halt_fini): Likewise.
38336 (grub_reboot_init): Likewise.
38337 (grub_reboot_fini): Likewise.
38338
38339 * util/grub-emu.c: Include signal.h.
38340 (main_env): New global variable.
38341 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38342 catch C-c.
38343 (grub_machine_fini): New function.
38344 (main): Call grub_halt_init and grub_reboot_init before
38345 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38346 Call setjmp with MAIN_ENV to go back afterwards.
38347 Call grub_machine_fini right before return.
38348
38349 * include/grub/util/misc.h: Include setjmp.h.
38350 (main_env): New prototype.
38351
38352 * include/grub/kernel.h (grub_machine_fini): New prototype.
38353 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38354 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38355
38356 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38357 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38358 * term/i386/pc/console.c (grub_console_fini): Likewise.
38359
38360 * util/i386/pc/misc.c: New file.
38361
38362 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38363 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38364 commands/i386/pc/reboot.c.
38365
38366 2005-02-14 Guillem Jover <guillem@hadrons.org>
38367
38368 * include/grub/dl.h (grub_dl_check_header): New prototype.
38369 (grub_arch_dl_check_header): Change return type to grub_err_t,
38370 remove size parameter and export function. Update all callers.
38371 * kern/dl.c (grub_dl_check_header): New function.
38372 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38373 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38374 are inside the core.
38375 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38376 independent ELF header checks.
38377 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38378 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38379 `grub_dl_check_header' instead of explicit checks. Check for the
38380 ELF type.
38381 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38382 `grub_dl_check_header' instead of explicit checks. Remove arch
38383 specific ELF header checks.
38384
38385 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38386 argument SIZE.
38387
38388 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38389
38390 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38391 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38392
38393 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38394
38395 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38396 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38397 (part_map_iterate): Clear `grub_errno' and return 0 if
38398 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38399 * partmap/amiga.c (amiga_partition_map_iterate): Return
38400 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38401 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38402
38403 2005-02-01 Guillem Jover <guillem@hadrons.org>
38404
38405 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38406 help info.
38407
38408 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38409
38410 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38411 Removed prototype.
38412 (grub_rescue_cmd_linux): New prototype.
38413 (grub_rescue_cmd_initrd): Likewise.
38414 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38415 `bi_rec'.
38416 (grub_linux_release_mem): Release the memory for the initrd.
38417 (grub_load_linux): Renamed from this...
38418 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38419 Changed `entry' not to be static. Loop over memory regions to
38420 find another one when the default fails.
38421 (grub_rescue_cmd_initrd): New function.
38422 (grub_linux_init): Remove function.
38423 (grub_linux_fini): Likewise.
38424 (GRUB_MOD_INIT): Register `initrd'.
38425 (GRUB_MOD_FINI): Unregister `initrd'.
38426 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38427 Function removed.
38428 (grub_linux_normal_fini): Likewise.
38429 (GRUB_MOD_INIT): Register `initrd'.
38430 (GRUB_MOD_FINI): Unregister `initrd'.
38431
38432 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38433
38434 * commands/help.c: New file.
38435 * normal/arg.c (show_help): Renamed to...
38436 (grub_arg_show_help): ... this.
38437 * commands/i386/pc/halt.c: New file.
38438 * commands/i386/pc/reboot.c: Likewise.
38439 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38440 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38441 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38442 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38443 variables.
38444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38445 `commands/help.c'.
38446 (pkgdata_MODULES): Add `help.mod'.
38447 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38448 * grub/i386/pc/init.h (grub_reboot): New prototype.
38449 (grub_halt): Likewise.
38450 * include/grub/normal.h (grub_arg_show_help): New prototype.
38451 (grub_help_init): Likewise.
38452 (grub_help_fini): Likewise.
38453 * util/grub-emu.c (main): Initialize and deinitialize the help
38454 command.
38455
38456 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38457
38458 * normal/command.c (grub_command_init): Fixed the description of
38459 the `set' and `unset' commands.
38460
38461 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38462
38463 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38464 function.
38465 * commands/ieee1275/halt.c: New file.
38466 * commands/ieee1275/reboot.c: Likewise.
38467 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38468 `__attribute__ ((unused))'. Some GCS related fixed.
38469 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38470 (grub_suspend_fini): Likewise.
38471 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38472 and `halt.mod'.
38473 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38474 (halt_mod_CFLAGS): New variables.
38475 * include/grub/powerpc/ieee1275/ieee1275.h
38476 (grub_ieee1275_interpret): New prototype.
38477
38478 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38479
38480 * include/grub/misc.h (memmove): New prototype.
38481 (memcpy): Likewise.
38482
38483 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38484
38485 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38486 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38487
38488 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38489
38490 * kern/misc.c (grub_strndup): Function rewritten.
38491
38492 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38493
38494 * normal/menu.c (TERM_WIDTH): Macro redefined.
38495 (TERM_TOP_BORDER_Y): Likewise.
38496 (draw_border): Replaced while-loop by a for-loop. Make the number
38497 of lines consistent with the number of lines displayed in
38498 print_entries. Added a margin below the rectangle.
38499 (print_entry): Make the entry fit in the rectangle.
38500 (print_entries): Display the scroll arrows next to the right
38501 border.
38502
38503 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38504
38505 * fs/minix.c (grub_minix_find_file): Reserve more space for
38506 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38507 `grub_strncpy' to copy `path' into it.
38508
38509 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38510
38511 Add the loopback device, a device via which files can be accessed
38512 as devices.
38513
38514 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38515 (pkgdata_MODULES): Add loopback.mod.
38516 (loopback_mod_SOURCES): New variable.
38517 (loopback_mod_CFLAGS): Likewise.
38518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38519 `disk/loopback.c'.
38520 (pkgdata_MODULES): Add loopback.mod.
38521 (loopback_mod_SOURCES): New variable.
38522 (loopback_mod_CFLAGS): Likewise.
38523 * disk/loopback.c: new file.
38524 * include/grub/normal.h (grub_loop_init): New prototype.
38525 (grub_loop_fini): New prototype.
38526 * util/grub-emu.c (main): Initialize and de-initialize loopback
38527 support.
38528 * include/grub/disk.h (grub_disk_dev_id): Add
38529 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38530
38531 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38532
38533 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38534 function.
38535 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38536 (suspend_mod_SOURCES): New variable.
38537 (suspend_mod_CFLAGS): Likewise.
38538 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38539 New prototype.
38540 * commands/ieee1275/suspend.c: New file.
38541
38542 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38543
38544 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38545 ((unused))' to `__attribute__ ((used))'.
38546 (GRUB_MOD_FINI): Likewise.
38547 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38548 * genmk.rb (PModule): Assign space to common symbols when linking
38549 modules.
38550
38551 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38552
38553 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38554 `unsigned' arguments to `grub_size_t'.
38555 (grub_malloc): Likewise.
38556 (grub_realloc): Likewise.
38557 (grub_memalign): Likewise.
38558 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38559 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38560 * util/misc.c (grub_malloc): Likewise.
38561 (grub_realloc): Likewise.
38562 * kern/mm.c (get_header_from_pointer): Change the casts to
38563 `unsigned' into a cast to `grub_size_t'.
38564
38565 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38566 point to `currnode' when `currnode' is changed.
38567
38568 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38569 Schottelius <nico-linux@schottelius.org>.
38570
38571 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38572
38573 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38574 (note_path): Remove variable.
38575 (GRUB_IEEE1275_NOTE_NAME): New macro.
38576 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38577 (grub_ieee1275_note_hdr): New structure.
38578 (grub_ieee1275_note_desc): Likewise.
38579 (grub_ieee1275_note): Likewise.
38580 (load_note): Remove `dir' argument. All callers updated. Remove
38581 `note_img' and `path'. Do not load a file from `note_path'.
38582 Initialize a struct grub_ieee1275_note and write that to `out'.
38583 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38584
38585 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38586
38587 * util/misc.c (grub_util_read_image): Revert last change. It
38588 called `grub_util_read_at', which seeks from the beginning of the
38589 file.
38590
38591 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38592
38593 * TODO: Add note about endianness in grub-mkimage.
38594 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38595 section.
38596 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38597 (grub_mkimage_SOURCES): New target.
38598 * include/grub/kernel.h (grub_start_addr): Remove variable.
38599 (grub_end_addr): Likewise.
38600 (grub_total_module_size): Likewise.
38601 (grub_kernel_image_size): Likewise.
38602 (GRUB_MODULE_MAGIC): New constant.
38603 (grub_module_info): New structure.
38604 (grub_arch_modules_addr): New prototype.
38605 (grub_get_end_addr): Remove prototype.
38606 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38607 * include/grub/powerpc/ieee1275/kernel.h: New file.
38608 * include/grub/util/misc.h (grub_util_get_fp_size): New
38609 prototype.
38610 (grub_util_read_at): Likewise.
38611 (grub_util_write_image_at): Likewise.
38612 * kern/main.c (grub_get_end_addr): Remove function.
38613 (grub_load_modules): Call grub_arch_modules_addr instead of using
38614 grub_end_addr. Look for a grub_module_info struct in memory. Use
38615 the grub_module_info fields instead of calling grub_get_end_addr
38616 as loop conditions. Move grub_add_unused_region code here.
38617 (grub_add_unused_region): Remove function.
38618 * kern/i386/pc/init.c: Include grub/cache.h.
38619 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38620 one call to add_mem_region.
38621 (grub_arch_modules_addr): New function.
38622 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38623 (grub_total_module_size): Likewise.
38624 Include grub/machine/kernel.h.
38625 (grub_arch_modules_addr): New function.
38626 * util/grub-emu.c (grub_end_addr): Remove variable.
38627 (grub_total_module_size): Likewise.
38628 (grub_arch_modules_addr): New function.
38629 * util/misc.c: Include unistd.h.
38630 (grub_util_get_fp_size): New function.
38631 (grub_util_read_at): Likewise.
38632 (grub_util_write_image_at): Likewise.
38633 (grub_util_read_image): Call grub_util_read_at.
38634 (grub_util_write_image): Call grub_util_write_image_at.
38635 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38636 additional memory in kernel_img for a struct grub_module_info.
38637 Fill in that grub_module_info.
38638 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38639
38640 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38641
38642 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38643 New function.
38644 * include/grub/powerpc/ieee1275/ieee1275.h
38645 (grub_ieee1275_milliseconds): New prototype.
38646 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38647 Change to 1000.
38648 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38649 grub_ieee1275_milliseconds.
38650
38651 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38652
38653 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38654 variable.
38655 (find_options): New function.
38656 (cmain): Call find_options.
38657 * include/grub/powerpc/ieee1275/ieee1275.h
38658 (grub_ieee1275_realmode): New extern variable.
38659 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38660 grub_map if grub_ieee1275_realmode is false.
38661
38662 2004-12-29 Marco Gerards <metgerards@student.han.nl>
38663
38664 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38665 lines are inserted and make it work like readline. Reported by
38666 Vincent Pelletier <subdino2004@yahoo.fr>.
38667
38668 2004-12-28 Marco Gerards <metgerards@student.han.nl>
38669
38670 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38671
38672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38673 `kern/powerpc/cache.S'.
38674
38675 2004-12-27 Marco Gerards <metgerards@student.han.nl>
38676
38677 * genmk.rb: Handle the `Program' class in the main loop. Written
38678 by Johan Rydberg <jrydberg@gnu.org>.
38679 (Program): New class.
38680 (programs): New variable.
38681 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38682 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38683 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38684 (help_arch): Function removed.
38685 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38686 `powerpc/libgcc.h' and `loader.h'.
38687 (pkgdata_PROGRAMS): New variable.
38688 (sbin_UTILITIES): Variable removed.
38689 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38690 (grubof_SOURCES): Variable re-defined so it only includes the
38691 core functionality.
38692 (grubof_CFLAGS): Remove `-DGRUBOF'.
38693 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38694 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38695 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38696 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38697 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38698 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38699 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38700 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38701 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38702 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38703 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38704 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38705 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38706 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38707 (pc_mod_CFLAGS): New variables.
38708 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38709 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38710 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38711 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38712 Moved from here...
38713 * include/grub/i386/pc/init.h (grub_os_area_addr)
38714 (rub_os_area_size): ... to here.
38715 * include/grub/powerpc/ieee1275/ieee1275.h
38716 (grub_ieee1275_entry_fn): Export symbol.
38717 * include/grub/powerpc/ieee1275/init.h: New file.
38718 * include/grub/powerpc/libgcc.h: Likewise.
38719 * include/grub/cache.h: Likewise.
38720 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38721 <hollis@penguinppc.org>.
38722 * kern/dl.c: Include <grub/cache.h>.
38723 (grub_dl_flush_cache): New function.
38724 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38725 for this module.
38726 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38727 (grub_console_init): Removed prototypes.
38728 (grub_machine_init): Don't initialize the modules anymore.
38729 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38730 static.
38731 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38732 Macro undef removed.
38733 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38734 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38735 relocation `R_PPC_REL32'. Return an error when the relocation is
38736 unknown.
38737 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38738 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38739 * util/misc.c (grub_arch_sync_caches): Likewise.
38740
38741 2004-12-19 Marco Gerards <metgerards@student.han.nl>
38742
38743 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38744 `symlist.c', add `grubof_symlist.c'.
38745 (symlist.c): Variable removed.
38746 (grubof_HEADERS): Variable added.
38747 (grubof_symlist.c): New target.
38748 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38749 `kernel_img_HEADERS'.
38750 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38751 * kern/powerpc/dl.c: New file.
38752 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38753 Function removed.
38754 (grub_arch_dl_relocate_symbols): Likewise.
38755 (grub_register_exported_symbols): Likewise.
38756
38757 2004-12-13 Marco Gerards <metgerards@student.han.nl>
38758
38759 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38760 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38761 to fail instead. Reported by Vincent Pelletier
38762 <subdino2004@yahoo.fr>.
38763
38764 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38765 it is not allocated. Reported by Vincent Pelletier
38766 <subdino2004@yahoo.fr>.
38767
38768 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38769 output so the output looks better.
38770
38771 2004-12-04 Marco Gerards <metgerards@student.han.nl>
38772
38773 Modulize the partition map support and add support for the amiga
38774 partition map.
38775
38776 * commands/ls.c: Include <grub/partition.h> instead of
38777 <grub/machine/partition.h>.
38778 * kern/disk.c: Likewise.
38779 * kern/rescue.c: Likewise.
38780 * loader/i386/pc/chainloader.c: Likewise.
38781 * normal/cmdline.c: Likewise.
38782 * kern/powerpc/ieee1275/init.c: Likewise.
38783 (grub_machine_init): Call `grub_pc_partition_map_init',
38784 `grub_amiga_partition_map_init' and
38785 `grub_apple_partition_map_init'.
38786 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38787 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38788 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38789 `partition.h' and `pc_partition.h'.
38790 (grub_setup_SOURCES): Remove
38791 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38792 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38793 (grub_emu_SOURCES): Likewise.
38794 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38795 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38796 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38798 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38799 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38800 (grubof_SOURCES): Likewise.
38801 * disk/i386/pc/partition.c: File removed.
38802 * disk/powerpc/ieee1275/partition.c: Likewise.
38803 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38804 * include/grub/i386/pc/partition.h: Likewise.
38805 * kern/partition.c: New file.
38806 * partmap/amiga.c: Likewise.
38807 * partmap/apple.c: Likewise.
38808 * partmap/pc.c: Likewise.
38809 * include/grub/partition.h: Likewise..
38810 * include/grub/pc_partition.h: Likewise.
38811 * util/grub-emu.c: Include <grub/partition.h> instead of
38812 <grub/machine/partition.h>.
38813 (main): Call `grub_pc_partition_map_init',
38814 `grub_amiga_partition_map_init' and
38815 `grub_apple_partition_map_init' and deinitialize afterwards.
38816 * util/i386/pc/biosdisk.c: Include `#include
38817 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38818 `<grub/machine/partition.h>'.
38819 * util/i386/pc/grub-setup.c: Likewise.
38820 * util/i386/pc/biosdisk.c: Likewise.
38821 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38822 partition information in case of a PC partition.
38823 * util/i386/pc/grub-setup.c: Include `#include
38824 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38825 `<grub/machine/partition.h>'.
38826 (setup): Only access the PC specific partition information in case
38827 of a PC partition.
38828
38829 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
38830
38831 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38832 (grub_longjmp): Likewise.
38833 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38834 20.
38835 * normal/powerpc/setjmp.S: New file.
38836 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38837 `normal/powerpc/setjmp.S'.
38838 (grubof_CFLAGS): Add `-DGRUBOF'.
38839 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38840 [GRUB_UTIL && !GRUBOF].
38841
38842 2004-11-16 Marco Gerards <metgerards@student.han.nl>
38843
38844 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38845 property named `name'. Correctly handle the error returned by
38846 `grub_ieee1275_finddevice' if a device can not be opened.
38847
38848 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38849
38850 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38851 `actual' for negativity.
38852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38853 kern/fshelp.c.
38854
38855 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38856
38857 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38858 (PAGE_OFFSET): New macro.
38859 (CRTC_ADDR_PORT): Likewise.
38860 (CRTC_DATA_PORT): Likewise.
38861 (START_ADDR_HIGH_REGISTER): Likewise.
38862 (START_ADDR_LOW_REGISTER): Likewise.
38863 (GRAPHICS_ADDR_PORT): Likewise.
38864 (GRAPHICS_DATA_PORT): Likewise.
38865 (READ_MAP_REGISTER): Likewise.
38866 (INPUT_STATUS1_REGISTER): Likewise.
38867 (INPUT_STATUS1_VERTR_BIT): Likewise.
38868 (page): New variable.
38869 (wait_vretrace): New function.
38870 (set_read_map): Likewise.
38871 (set_start_address): Likewise.
38872 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38873 the right page.
38874 (check_vga_mem): Take the page into account.
38875 (write_char): Likewise.
38876 (write_cursor): Likewise.
38877 (scroll_up): Likewise. Copy the page to the page that is not
38878 shown and switch between both pages.
38879 (grub_vga_putchar): Fix off by one error.
38880 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38881 account.
38882
38883 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38884
38885 Add support for iso9660 (including rockridge).
38886
38887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38888 (iso9660_mod_SOURCES): New variable.
38889 (iso9660_mod_CFLAGS): Likewise.
38890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38891 * include/grub/fs.h (grub_iso9660_init): New prototype.
38892 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38893 * fs/iso9660.c: New file.
38894
38895 * include/grub/misc.h (grub_strncat): New prototype.
38896 * kern/misc.c (grub_strncat): New function.
38897
38898 * fs/hfs.c (grub_hfs_mount): Translate the error
38899 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38900 * fs/jfs.c (grub_jfs_mount): Likewise.
38901 * fs/ufs.c (grub_ufs_mount): Likewise.
38902
38903 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38904
38905 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38906 which initialized BAT registers.
38907 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38908 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38909 Move from here...
38910 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38911 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38912 ... to here.
38913 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38914 (grub_mapclaim): Likewise.
38915 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38916 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38917 hand.
38918
38919 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38920
38921 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38922 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38923 -ffreestanding and -msoft-float.
38924
38925 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38926
38927 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38928 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38929 set in grub_ieee1275_flags.
38930
38931 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38932
38933 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38934 prototype.
38935 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38936 grub_console_init first.
38937 Change the memory range used for grub_ieee1275_claim and
38938 grub_mm_init_region.
38939 Print an error message if the claim fails.
38940 Include <grub/misc.h>.
38941
38942 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38943
38944 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38945 Call grub_children_iterate for device nodes of type `scsi',
38946 `ide', or `ata'.
38947 (grub_ofdisk_open): Remove manual device alias resolution.
38948 Fix memory leak when device cannot be opened.
38949 * include/grub/powerpc/ieee1275/ieee1275.h
38950 (grub_children_iterate): New prototype.
38951 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38952 New function.
38953 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38954 Return -1 if args.size was -1.
38955
38956 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38957
38958 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38959 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38960 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38961 Open Firmware's memory for it; claim memory from _start to _end.
38962 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38963 (_end): New extern.
38964 (_start): Zero BSS from __bss_start to _end.
38965 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38966 New extern.
38967 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38968
38969 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38970
38971 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38972 -1 if args.base was -1.
38973
38974 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38975
38976 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38977 escape sequence instead of a literal ^L. Also call
38978 grub_ofconsole_gotoxy.
38979
38980 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38981
38982 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38983 void * arguments to grub_addr_t. All callers updated. Also make
38984 the `result' argument optional.
38985 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38986 All callers updated.
38987
38988 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38989
38990 * commands/ls.c (grub_ls_list_files): Use the string following the
38991 initial ')', if present, as the filesystem path.
38992 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38993
38994 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38995
38996 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38997
38998 Make the source code of the menu interface more readable.
38999
39000 * normal/menu.c: Include grub/mm.h.
39001 (TERM_WIDTH): New macro.
39002 (TERM_HEIGHT): Likewise.
39003 (TERM_INFO_HEIGHT): Likewise.
39004 (TERM_MARGIN): Likewise.
39005 (TERM_SCROLL_WIDTH): Likewise.
39006 (TERM_TOP_BORDER_Y): Likewise.
39007 (TERM_LEFT_BORDER_X): Likewise.
39008 (TERM_BORDER_WIDTH): Likewise.
39009 (TERM_MESSAGE_HEIGHT): Likewise.
39010 (TERM_BORDER_HEIGHT): Likewise.
39011 (TERM_NUM_ENTRIES): Likewise.
39012 (TERM_FIRST_ENTRY_Y): Likewise.
39013 (TERM_ENTRY_WIDTH): Likewise.
39014 (TERM_CURSOR_X): Likewise.
39015 (draw_border): Use macros instead of magic numbers.
39016 (print_entry): Likewise.
39017 (print_entries): Likewise.
39018 (run_menu): Likewise. Also, handle the key 'e'.
39019 (run_menu_entry): Ignore empty command lines.
39020 (print_message): Added a new argument EDIT. If EDIT is true,
39021 print a different message.
39022 (init_page): Likewise.
39023 (edit_menu_entry): New function. Not implemented yet.
39024
39025 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39026
39027 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39028 can be loaded from normal mode.
39029
39030 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39031 `multiboot.mod'.
39032 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39033 (multiboot_mod_CFLAGS): New variables.
39034 * loader/i386/pc/linux_normal.c: New file.
39035 * loader/i386/pc/multiboot_normal.c: Likewise.
39036
39037 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39038 attribute `unused'.
39039
39040 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39041 `fdiro' to read the mode information from instead of `diro'.
39042
39043 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39044 looking up a symlink.
39045
39046 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39047 macro.
39048 * normal/command.c (grub_command_execute): Don't parse the
39049 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39050 flags of the command.
39051
39052 * normal/menu.c (grub_menu_run): Fix typo.
39053
39054 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39055
39056 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39057
39058 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39059 `y + 1' instead of `y - 1'.
39060
39061 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39062
39063 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39064
39065 From Hollis Blanchard <hollis@penguinppc.org>:
39066 * kern/misc.c (memmove): New alias for grub_memmove.
39067 (memcmp): New alias for grub_memcmp.
39068 (memset): New alias for grub_memset.
39069 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39070 Change "int handle" to "grub_ieee1275_phandle_t handle".
39071 * include/grub/powerpc/ieee1275/ieee1275.h
39072 (grub_ieee1275_get_property): Likewise.
39073
39074 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39075
39076 Added normal mode command `chainloader' as module chain.mod, which
39077 depends on normal.mod and _chain.mod.
39078
39079 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39080 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39081 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39082 Deleted prototype.
39083 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39084 but arguments parsing moved to ...
39085 (grub_chainloader_cmd): ... here. New function.
39086 * include/grub/i386/pc/chainloader.h: New file.
39087 * loader/i386/pc/chainloader_normal.c: Likewise.
39088
39089 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39090
39091 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39092 (grub_mkimage_LDFLAGS): Likewise.
39093 (grub_emu_SOURCES): Likewise.
39094 (kernel_img_HEADERS): Added fshelp.h.
39095 * fs/ext2.c: Include <grub/fshelp.h>.
39096 (FILETYPE_REG): New macro.
39097 (FILETYPE_INO_REG): Likewise.
39098 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39099 Changed all users.
39100 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39101 all users.
39102 (grub_fshelp_node): New struct.
39103 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39104 to a pointer.
39105 (grub_ext2_get_file_block): Removed function.
39106 (grub_ext2_read_block): New function.
39107 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39108 This function was written.
39109 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39110 (grub_ext2_find_file): Removed function.
39111 (grub_ext2_read_symlink): New function.
39112 (grub_ext2_iterate_dir): Likewise.
39113 (grub_ext2_open): Rewritten.
39114 (grub_ext2_dir): Rewritten.
39115 * include/grub/fshelp.h: New file.
39116 * fs/fshelp.c: Likewise.
39117
39118 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39119
39120 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39121 (print_message): Add a missing newline.
39122 (run_menu): Added timeout support.
39123 (run_menu_entry): New local function.
39124 (grub_menu_run): Added support for booting.
39125
39126 * kern/loader.c (grub_loader_is_loaded): New function.
39127
39128 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39129 (grub_get_rtc): Exported.
39130
39131 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39132 (grub_get_rtc): Exported.
39133
39134 * include/grub/normal.h (struct grub_command_list): Remove
39135 constant from the member `command'.
39136
39137 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39138
39139 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39140
39141 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39142
39143 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39144
39145 Add support for the JFS filesystem.
39146
39147 * fs/jfs.c: New file.
39148 * include/grub/fs.h (grub_jfs_init): New prototype.
39149 (grub_jfs_fini): New prototype.
39150 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39151 (grub_emu_SOURCES): Likewise.
39152 (pkgdata_MODULES): Add jfs.mod.
39153 (jfs_mod_SOURCES): New variable.
39154 (jfs_mod_CFLAGS): Likewise.
39155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39156 (grubof_SOURCES): Likewise.
39157 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39158
39159 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39160 endian to the host endian.
39161 (grub_fat_utf16_to_utf8): Move function from there...
39162 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39163 the endianness of the source string anymore.
39164 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39165
39166 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39167
39168 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39169 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39170 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39171 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39172
39173 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39174 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39175 for `node_found' and `it_dir'.
39176 (grub_hfs_dir): Add prototype for `dir_hook'.
39177
39178 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39179 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39180 and `indir32' to silence a gcc warning.
39181
39182 * include/grub/fs.h (grub_hfs_init): New prototype.
39183 (grub_hfs_fini): Likewise.
39184
39185
39186 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39187
39188 Each disk device has its own id now. This is useful to make use
39189 of multiple disk devices.
39190
39191 * include/grub/disk.h (grub_disk_dev_id): New enum.
39192 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39193 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39194
39195 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39196 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39197
39198 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39199 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39200
39201 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39202 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39203
39204 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39205 "id" which is used by the cache manager.
39206
39207 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39208 of just "GRUB".
39209
39210 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39211
39212 * fs/hfs.c: New file.
39213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39214 (grub_emu_SOURCES): Likewise.
39215 (pkgdata_MODULES): Add hfs.mod.
39216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39217 (grubof_SOURCES): Likewise.
39218 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39219
39220 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39221 * kern/misc.c (grub_strncasecmp): Add function.
39222
39223 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39224
39225 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39226 with parentheses.
39227
39228 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39229 (grub_ext2_dir): In case the directory entry type is unknown, read
39230 it from the inode.
39231
39232 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39233
39234 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39235 grub_load_linux instead of grub_rescue_cmd_linux as second
39236 argument of grub_rescue_register_command.
39237
39238 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39239
39240 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39241
39242 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39243 function.
39244 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39245 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39246 `loader/powerpc/ieee1275/linux.c',
39247 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39248 * include/grub/powerpc/ieee1275/ieee1275.h
39249 (grub_ieee1275_release): New prototype.
39250 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39251 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39252 normal, boot, linux and linux_normal.
39253 * loader/powerpc/ieee1275/linux.c: New file.
39254 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39255
39256 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39257
39258 * normal/arg.c (grub_arg_parse): Correct error handling after
39259 reallocating the argumentlist (check if `argl' is not null instead
39260 of checking if `args' is not null).
39261 * kern/mm.c (grub_realloc): Return the same pointer when using the
39262 same region, instead of returning the header address.
39263
39264 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39265
39266 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39267 one block instead of two when looking for the initial partition.
39268 (grub_partition_probe): Initialize the local variable `p' with 0.
39269 Use base 10 for the grub_strtoul call.
39270 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39271 need for one local variable.
39272 (grub_strtoul): Don't add the new value to `num', instead of that
39273 just assign it.
39274
39275 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39276
39277 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39278 (pxeboot_img_SOURCES): New variable.
39279 (pxeboot_img_ASFLAGS): Likewise.
39280 (pxeboot_img_LDFLAGS): Likewise.
39281 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39282 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39283 <lode_leroy@hotmail.com>.
39284
39285 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39286
39287 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39288 there was no input.
39289
39290 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39291
39292 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39293 the history buffer logic.
39294
39295 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39296
39297 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39298 (FILETYPE_INO_SYMLINK): New macros.
39299 (grub_ext2_find_file): Check if the node is a directory using the
39300 inode stat information instead of using the filetype in the
39301 dirent. Exclude the first character of an absolute symlink.
39302 (grub_ext2_dir): Mask out the filetype part of the mode member of
39303 the inode.
39304
39305 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39306
39307 Add support for UFS version 1 and 2. Add support for the minix
39308 filesystem version 1 and 2, both the variants with 14 and 30 long
39309 filenames.
39310
39311 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39312 fs/minix.c.
39313 (grub_emu_SOURCES): Likewise.
39314 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39315 (ufs_mod_SOURCES): New variable.
39316 (ufs_mod_CFLAGS): Likewise.
39317 (minix_mod_SOURCES): Likewise.
39318 (minix_mod_CFLAGS): Likewise.
39319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39320 fs/minix.c.
39321 (grubof_SOURCES): Likewise.
39322 * fs/ufs.c: New file.
39323 * fs/minix.c: New file.
39324 * include/grub/fs.h (grub_ufs_init): New prototype.
39325 (grub_ufs_fini): Likewise.
39326 (grub_minix_init): Likewise.
39327 (grub_minix_fini): Likewise.
39328 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39329 minix fs.
39330
39331 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39332
39333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39334 commands/ls.c, commands/terminal.c, commands/boot.c,
39335 commands/cmp.c and commands/cat.c.
39336 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39337
39338 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39339 "env.h"
39340
39341 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39342
39343 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39344 and grub_, respectively. Because the conversion is trivial and
39345 mechanical, I omit the details here. Please refer to the CVS
39346 if you need more information.
39347
39348 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39349
39350 * include/pupa: Renamed to ...
39351 * include/grub: ... this.
39352 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39353 * util/i386/pc/grub-mkimage.c: ... this.
39354 * util/i386/pc/pupa-setup.c: Renamed to ...
39355 * util/i386/pc/grub-setup.c: ... this.
39356 * util/pupa-emu.c: Renamed to ...
39357 * util/grub-emu.c: ... this.
39358
39359 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39360
39361 Add support for the newworld apple macintosh (PPC). This has been
39362 tested on the powerbook 2000 only. It only adds support for
39363 generic ieee1275 functions, console and disk support. This should
39364 be easy to port to other architectures with support for Open
39365 Firmware.
39366
39367 * configure.ac: Accept the powerpc as host_cpu. In the case of
39368 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39369 specific tests are only executed while building for the i386.
39370 Inverse test for crosscompile.
39371 * genmk.rb (Utility): Allow assembler files.
39372 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39373 * conf/powerpc-ieee1275.rmk: New file.
39374 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39375 * disk/powerpc/ieee1275/partition.c: Likewise.
39376 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39377 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39378 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39379 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39380 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39381 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39382 * include/pupa/powerpc/ieee1275/loader.h
39383 * include/pupa/powerpc/setjmp.h: Likewise.
39384 * include/pupa/powerpc/types.h: Likewise.
39385 * kern/powerpc/ieee1275/init.c: Likewise.
39386 * kern/powerpc/ieee1275/openfw.c: Likewise.
39387 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39388
39389 These files were written by Johan Rydberg
39390 (jrydberg@night.trouble.net) and I only modified them slightly.
39391
39392 * boot/powerpc/ieee1275/cmain.c: New file.
39393 * boot/powerpc/ieee1275/crt0.S: Likewise.
39394 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39395 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39396
39397 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39398
39399 * Makefile.in: Update copyright.
39400 * genmodsrc.sh: Likewise.
39401 * gensymlist.sh: Likewise.
39402 * term/i386/pc/vga.c: Indent correctly.
39403
39404 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39405 bugreporting address.
39406 * util/i386/pc/pupa-setup.c (usage): Likewise,
39407 (main): Call pupa_ext2_init and pupa_ext2_fini.
39408
39409 * fs/fat.c (log2): Renamed to ...
39410 (fat_log2): ... this.
39411 All callers changed.
39412 * kern/misc.c (memcpy): Alias to pupa_memmove.
39413 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39414 lvalue cast.
39415 * util/console.c (pupa_ncurses_fini): Return 0.
39416
39417 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39418 Move fail label here.
39419 [__GNU__]: Don't warn when using stat.
39420 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39421 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39422 long int. Use strtol instead of strtoul.
39423
39424 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39425
39426 * commands/boot.c: New file.
39427 * commands/cat.c: Likewise.
39428 * commands/cmp.c: Likewise.
39429 * commands/ls.c: Likewise.
39430 * commands/terminal.c: Likewise.
39431 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39432 (pupa_register_command): Changed interface to match the new
39433 argument parser.
39434 (pupa_command_execute): Changed (almost rewritten) so it uses
39435 pupa_split_command. Added support for setting variables using the
39436 syntax `foo=bar'.
39437 (rescue_command): Changed to work with the new argument parser.
39438 (terminal_command): Moved from here to commands/terminal.c.
39439 (set_command): New function.
39440 (unset_command): New function.
39441 (insmod_command): New function.
39442 (rmmod_command): New function.
39443 (lsmod_command): New function.
39444 (pupa_command_init): Don't initialize the command terminal
39445 anymore. Initialize the commands set, unset, insmod, rmmod and
39446 lsmod.
39447 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39448 (kernel_img_HEADERS): Add arg.h and env.h.
39449 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39450 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39451 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39452 normal/arg.c.
39453 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39454 terminal.mod.
39455 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39456 (boot_mod_SOURCES): New variable.
39457 (terminal_mod_SOURCES): Likewise.
39458 (ls_mod_SOURCES): Likewise.
39459 (cmp_mod_SOURCES): Likewise.
39460 (cat_mod_SOURCES): Likewise.
39461
39462 * normal/arg.c: New file.
39463 * kern/env.c: Likewise.
39464 * include/pupa/arg.h: Likewise.
39465 * include/pupa/env.h: Likewise.
39466 * font/manager.c (font_command): Changed to match argument parsing
39467 interface changes.
39468 (PUPA_MOD_INIT): Likewise.
39469 * hello/hello.c (pupa_cmd_hello): Likewise.
39470 (PUPA_MOD_INIT): Likewise.
39471 * include/pupa/disk.h: Include <pupa/device.h>.
39472 (pupa_print_partinfo): New prototype.
39473 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39474 (pupa_dl_get_prefix): Likewise.
39475 * include/pupa/misc.h: Include <pupa/err.h>.
39476 (pupa_isgraph): New prototype.
39477 (pupa_isdigit): Likewise.
39478 (pupa_split_cmdline): Likewise.
39479 * include/pupa/normal.h: Include <pupa/arg.h>.
39480 (pupa_command): Changed the prototype of the member `func' to
39481 match the argument parsing interface. Added member `options'.
39482 (pupa_register_command): Updated to match function.
39483 (pupa_arg_parse): New prototype.
39484 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39485 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39486 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39487 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39488 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39489 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39490 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39491 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39492 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39493 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39494 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39495 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39496 * kern/disk.c: Include <pupa/file.h>.
39497 (pupa_print_partinfo): New function.
39498 * kern/dl.c: Include <pupa/env.h>.
39499 (pupa_dl_dir): Variable removed.
39500 (pupa_dl_load): Use the environment variable `prefix' instead of
39501 the variable pupa_dl_dir.
39502 (pupa_dl_set_prefix): Function removed.
39503 (pupa_dl_get_prefix): Likewise.
39504 * kern/i386/pc/init.c: Include <pupa/env.h>.
39505 (pupa_machine_init): Use the environment variable `prefix' instead of
39506 using pupa_dl_set_prefix to set the prefix.
39507 * kern/main.c: Include <pupa/env.h>.
39508 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39509 using pupa_dl_get_prefix to get the prefix.
39510 * kern/misc.c: Include <pupa/env.h>.
39511 (pupa_isdigit): New function.
39512 (pupa_isgraph): Likewise.
39513 (pupa_ftoa): Likewise.
39514 (pupa_vsprintf): Added support for printing values of the type
39515 `double'. Make it possible to format variable output when using
39516 formatting like `%1.2%f'.
39517 (pupa_split_cmdline): New function.
39518 * kern/rescue.c: Include <pupa/env.h>.
39519 (next_word): Removed function.
39520 (pupa_rescue_cmd_prefix): Likewise.
39521 (pupa_rescue_cmd_set): New function.
39522 (pupa_rescue_cmd_unset): New function.
39523 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39524 split the command line instead of splitting it here. Added
39525 support for setting variables using the syntax `foo=bar'. Don't
39526 initialize the prefix command anymore. Initialized the set and
39527 unset commands.
39528 * normal/cmdline.c: Include <pupa/env.h>.
39529 (pupa_tab_complete): Added prototypes for print_simple_completion,
39530 print_partition_completion, add_completion, iterate_commands,
39531 iterate_dev, iterate_part and iterate_dir. Moved code to print
39532 partition information from here to kern/disk.c.
39533 (pupa_cmdline_run): Don't check if the function exists anymore.
39534 * normal/main.c: Include <pupa/env.h>.
39535 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39536 instead of using pupa_dl_get_prefix to get the prefix.
39537 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39538 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39539 warning.
39540 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39541 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39542 ((unused))' to silence a gcc warning.
39543 (pupa_vga_setcolor): Likewise.
39544 (debug_command): Changed to match argument parsing
39545 interface changes.
39546 * util/pupa-emu.c: Include <pupa/env.h>.
39547 (options): Added 0's for unused fields to silence a gcc warning.
39548 (argp): Likewise.
39549 (main): Use the environment variable `prefix' instead of using
39550 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39551 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39552 and terminal.
39553
39554 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39555 * util/misc.c: Include <malloc.h>.
39556 (pupa_malloc): Rewritten so errors are correctly reported.
39557 (pupa_realloc): Likewise.
39558 (pupa_memalign): Likewise.
39559 (pupa_mm_init_region): Declare unused variables with
39560 `__attribute__ ((unused))' to silence a gcc warning.
39561 * normal/i386/setjmp.S: Remove tab at the end of the file to
39562 silence a gcc warning.
39563 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39564 variables with `__attribute__ ((unused))' to silence a gcc
39565 warning.
39566 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39567 local variable i unsigned to silence a gcc warning.
39568
39569 * kern/term.c: Include <pupa/misc.h>.
39570 (pupa_more_lines): New variable.
39571 (pupa_more): Likewise.
39572 (pupa_putcode): When the pager is active pause at the end of every
39573 screen.
39574 (pupa_set_more): New function.
39575 * include/pupa/term.h (pupa_set_more): New prototype.
39576
39577
39578 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39579
39580 Now this project is GRUB 2 rather than PUPA. The location of
39581 the CVS repository was moved to GRUB's.
39582
39583 * configure.ac: Use bug-grub as the reporting address.
39584 Use GRUB instead of PUPA.
39585 Change the version number to 1.90.
39586
39587 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * genkernsyms.sh: Updated copyright information.
39590 * genmk.rb: Likewise.
39591 * genmodsrc.sh: Likewise.
39592 * gensymlist.sh: Likewise.
39593 * boot/i386/pc/boot.S: Likewise.
39594 * boot/i386/pc/diskboot.S: Likewise.
39595 * disk/i386/pc/biosdisk.c: Likewise.
39596 * disk/i386/pc/partition.c: Likewise.
39597 * font/manager.c: Likewise.
39598 * fs/ext2.c: Likewise.
39599 * fs/fat.c: Likewise.
39600 * include/pupa/boot.h: Likewise.
39601 * include/pupa/device.h: Likewise.
39602 * include/pupa/disk.h: Likewise.
39603 * include/pupa/dl.h: Likewise.
39604 * include/pupa/elf.h: Likewise.
39605 * include/pupa/err.h: Likewise.
39606 * include/pupa/file.h: Likewise.
39607 * include/pupa/font.h: Likewise.
39608 * include/pupa/fs.h: Likewise.
39609 * include/pupa/kernel.h: Likewise.
39610 * include/pupa/loader.h: Likewise.
39611 * include/pupa/misc.h: Likewise.
39612 * include/pupa/mm.h: Likewise.
39613 * include/pupa/net.h: Likewise.
39614 * include/pupa/normal.h: Likewise.
39615 * include/pupa/rescue.h: Likewise.
39616 * include/pupa/setjmp.h: Likewise.
39617 * include/pupa/symbol.h: Likewise.
39618 * include/pupa/term.h: Likewise.
39619 * include/pupa/types.h: Likewise.
39620 * include/pupa/i386/setjmp.h: Likewise.
39621 * include/pupa/i386/types.h: Likewise.
39622 * include/pupa/i386/pc/biosdisk.h: Likewise.
39623 * include/pupa/i386/pc/boot.h: Likewise.
39624 * include/pupa/i386/pc/console.h: Likewise.
39625 * include/pupa/i386/pc/init.h: Likewise.
39626 * include/pupa/i386/pc/kernel.h: Likewise.
39627 * include/pupa/i386/pc/linux.h: Likewise.
39628 * include/pupa/i386/pc/loader.h: Likewise.
39629 * include/pupa/i386/pc/memory.h: Likewise.
39630 * include/pupa/i386/pc/multiboot.h: Likewise.
39631 * include/pupa/i386/pc/partition.h: Likewise.
39632 * include/pupa/i386/pc/time.h: Likewise.
39633 * include/pupa/i386/pc/vga.h: Likewise.
39634 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39635 * include/pupa/util/getroot.h: Likewise.
39636 * include/pupa/util/misc.h: Likewise.
39637 * include/pupa/util/resolve.h: Likewise.
39638 * kern/device.c: Likewise.
39639 * kern/disk.c: Likewise.
39640 * kern/dl.c: Likewise.
39641 * kern/err.c: Likewise.
39642 * kern/file.c: Likewise.
39643 * kern/fs.c: Likewise.
39644 * kern/loader.c: Likewise.
39645 * kern/main.c: Likewise.
39646 * kern/misc.c: Likewise.
39647 * kern/mm.c: Likewise.
39648 * kern/rescue.c: Likewise.
39649 * kern/term.c: Likewise.
39650 * kern/i386/dl.c: Likewise.
39651 * kern/i386/pc/init.c: Likewise.
39652 * kern/i386/pc/lzo1x.S: Likewise.
39653 * kern/i386/pc/startup.S: Likewise.
39654 * loader/i386/pc/chainloader.c: Likewise.
39655 * loader/i386/pc/linux.c: Likewise.
39656 * loader/i386/pc/multiboot.c: Likewise.
39657 * normal/cmdline.c: Likewise.
39658 * normal/command.c: Likewise.
39659 * normal/main.c: Likewise.
39660 * normal/menu.c: Likewise.
39661 * normal/i386/setjmp.S: Likewise.
39662 * term/i386/pc/console.c: Likewise.
39663 * term/i386/pc/vga.c: Likewise.
39664 * util/console.c: Likewise.
39665 * util/genmoddep.c: Likewise.
39666 * util/misc.c: Likewise.
39667 * util/pupa-emu.c: Likewise.
39668 * util/resolve.c: Likewise.
39669 * util/unifont2pff.rb: Likewise.
39670 * util/i386/pc/biosdisk.c: Likewise.
39671 * util/i386/pc/getroot.c: Likewise.
39672 * util/i386/pc/pupa-mkimage.c: Likewise.
39673 * util/i386/pc/pupa-setup.c: Likewise.
39674
39675 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39676
39677 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39678 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39679 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39680 reading and reset it after reading.
39681 (pupa_ext2_close): Return PUPA_ERR_NONE.
39682
39683 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39684 Correct value.
39685 (struct linux_kernel_header): Add kernel_version and
39686 initrd_addr_max.
39687 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39688 pupa_file_read succeeds.
39689 (pupa_rescue_cmd_initrd): Implement.
39690
39691 2003-12-03 Marco Gerards <metgerards@student.han.nl>
39692
39693 * fs/ext2.c (pupa_ext2_label): New function.
39694 (pupa_ext2_fs): Added label.
39695 * fs/fat.c (pupa_fat_label): New function.
39696 (pupa_fat_fs): Added label.
39697 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39698
39699 * kern/misc.c (pupa_strndup): New function.
39700 * include/pupa/misc.h (pupa_strndup): New prototype.
39701
39702 * include/pupa/normal.h: Include <pupa/err.h>.
39703 (pupa_set_history): New prototype.
39704 (pupa_iterate_commands): New prototype.
39705 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39706 <pupa/disk.h>, <pupa/file.h>.
39707 (hist_size): New variable.
39708 (hist_lines): Likewise.
39709 (hist_end): Likewise.
39710 (hist_used): Likewise.
39711 (pupa_set_history): New function.
39712 (pupa_history_get): Likewise.
39713 (pupa_history_add): Likewise.
39714 (pupa_history_replace): Likewise.
39715 (pupa_tab_complete): Likewise.
39716 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39717 completion shows partitionnames while completing partitions, this
39718 feature was suggested by Jeff Bailey.
39719 * normal/command.c (pupa_iterate_commands): New function.
39720 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39721 (pupa_normal_init): Initialize history buffer.
39722 (PUPA_MOD_INIT): Likewise.
39723 (pupa_normal_fini): Free the history buffer.
39724 (PUPA_MOD_FINI): Likewise.
39725
39726 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39727 key.
39728
39729 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39730 * configure.ac [i386]: Check for regparam bug.
39731 (NESTED_FUNC_ATTR) [! i386]: Defined.
39732
39733 2003-11-17 Marco Gerards <metgerards@student.han.nl>
39734
39735 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39736 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39737 (pupa_emu_SOURCES): New variable.
39738 (pupa_emu_LDFLAGS): Likewise.
39739 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39740 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39741 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39742 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39743 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39744 (pupa_jmp_buf): New typedef.
39745 (pupa_setjmp) [PUPA_UTIL]: New macro.
39746 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39747 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39748 (pupa_refresh): New prototype.
39749 * include/pupa/util/getroot.h: New file.
39750 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39751 it.
39752 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39753 (pupa_rescue_cmd_cat): Likewise.
39754 (pupa_rescue_cmd_ls): Likewise.
39755 (pupa_rescue_cmd_testload): Likewise.
39756 (pupa_rescue_cmd_lsmod): Likewise.
39757 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39758 * normal/menu.c (run_menu): Likewise.
39759 * kern/term.c (pupa_cls): Likewise.
39760 (pupa_refresh): New function.
39761 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39762 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39763 * util/console.c: New file.
39764
39765 * util/i386/pc/getroot.c: New file.
39766 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39767 (pupa_putchar): New function.
39768 (pupa_refresh): Likewise.
39769 (xgetcwd): Function moved to ...
39770 (strip_extra_slashes): Likewise.
39771 (get_prefix): Likewise.
39772 * util/i386/pc/getroot.c: ... here.
39773 (find_root_device): Function moved and renamed to...
39774 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39775 Changed all callers.
39776 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39777 and renamed to...
39778 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39779 Changed all callers.
39780 * util/misc.c (pupa_memalign): New function.
39781 (pupa_mm_init_region): Likewise.
39782 (pupa_register_exported_symbols): Likewise.
39783 (pupa_putchar): Function removed.
39784 * util/pupa-emu.c: New file.
39785
39786 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39787
39788 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39789 (_multiboot_mod_SOURCES): New variable.
39790 (_multiboot_mod_CFLAGS): Likewise.
39791 * loader/i386/pc/multiboot.c: New file.
39792 * include/pupa/i386/pc/multiboot.h: Likewise.
39793 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39794 (pupa_multiboot_real_boot): New function.
39795 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39796 (pupa_multiboot_real_boot): New prototype.
39797 (pupa_rescue_cmd_multiboot): Likewise
39798 (pupa_rescue_cmd_module): Likewise.
39799
39800 * kern/loader.c (pupa_loader_set): Continue when
39801 pupa_loader_unload_func() fails.
39802 (pupa_loader_unset): New function.
39803 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39804
39805 * kern/misc.c (pupa_stpcpy): New function.
39806 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39807
39808 2003-11-12 Marco Gerards <metgerards@student.han.nl>
39809
39810 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39811 for available extensions.
39812
39813 * include/pupa/i386/pc/time.h: New file.
39814 * kern/disk.c: Include <pupa/machine/time.h>.
39815 (PUPA_CACHE_TIMEOUT): New macro.
39816 (pupa_last_time): New variable.
39817 (pupa_disk_open): Flush the cache when there was a timeout.
39818 (pupa_disk_close): Reset the timer.
39819 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39820 pupa_currticks.
39821 * util/misc.c: Include <sys/times.h>
39822 (pupa_get_rtc): New function.
39823
39824 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39825
39826 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39827 as blocks.
39828 (pupa_ext2_get_file_block): Use blocks member.
39829
39830 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39831 first block. Return -1 instead of pupa_errno on error.
39832
39833 2003-10-27 Marco Gerards <metgerards@student.han.nl>
39834
39835 * README: In the pupa-mkimage example use _chain instead of chain
39836 and ext2 instead of fat.
39837 * TODO: Replace ext2fs with jfs as an example. Add an item for
39838 adding journal playback for ext2fs.
39839 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39840 (pkgdata_MODULES): Added ext2.mod.
39841 (ext2_mod_SOURCES): New variable.
39842 (ext2_mod_CFLAGS): Likewise.
39843 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39844 * include/pupa/misc.h (pupa_strncpy): New prototype.
39845 (pupa_strcat): Likewise.
39846 (pupa_strncmp): Likewise.
39847 * kern/misc.c (pupa_strcat): Enable function.
39848 (pupa_strncpy): New function.
39849 (pupa_strncmp): Likewise.
39850 * fs/ext2.c: New file.
39851
39852 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39853 when the read failed before retrying.
39854 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39855 (_FILE_OFFSET_BITS): Likewise.
39856 * configure.ac: Added AC_SYS_LARGEFILE.
39857
39858 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * genmk.rb (PModule#rule): Make sure to get only symbol names
39861 from the output of nm.
39862 Reported by Robert Millan <rmh.grub@aybabtu.com>.
39863
39864 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39865
39866 I forgot to check in these changes for a long time. This adds
39867 incomplete support for VGA console, and this is still very
39868 buggy. Also, a lot of consideration is required for I18N,
39869 UNICODE, and VGA font issues. Therefore, assume that this is
39870 such that "better than nothing".
39871
39872 * font/manager.c: New file.
39873 * include/pupa/font.h: Likewise.
39874 * include/pupa/i386/pc/vga.h: Likewise.
39875 * term/i386/pc/vga.c: Likewise.
39876 * util/unifont2pff.rb: Likewise.
39877
39878 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39879 (pkgdata_MODULES): Added vga.mod and font.mod.
39880 (vga_mod_SOURCES): New variables.
39881 (vga_mod_CFLAGS): Likewise.
39882 (font_mod_SOURCES): Likewise.
39883 (font_mod_CFLAGS): Likewise.
39884
39885 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39886
39887 * include/pupa/term.h: Include pupa/err.h.
39888 (struct pupa_term): Added init and fini.
39889 Changed the argument of putchar to pupa_uint32_t.
39890
39891 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39892 (pupa_console_real_putchar): New prototype.
39893 (pupa_console_putchar): Removed.
39894 (pupa_console_checkkey): Exported.
39895 (pupa_console_getkey): Likewise.
39896
39897 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39898 characters.
39899
39900 * kern/term.c (pupa_term_set_current): Rewritten.
39901 (pupa_putchar): Likewise.
39902 (pupa_putcode): New function.
39903
39904 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39905 (pupa_console_real_putchar): ... this.
39906 (pupa_vga_set_mode): New function.
39907 (pupa_vga_get_font): Likewise.
39908
39909 * normal/command.c: Include pupa/term.h.
39910 (terminal_command): New function.
39911 (pupa_command_init): Register the command "terminal".
39912
39913 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39914 (DISP_UP): Likewise.
39915 (DISP_RIGHT): Likewise.
39916 (DISP_DOWN): Likewise.
39917 (DISP_HLINE): Likewise.
39918 (DISP_VLINE): Likewise.
39919 (DISP_UL): Likewise.
39920 (DISP_UR): Likewise.
39921 (DISP_LL): Likewise.
39922 (DISP_LR): Likewise.
39923
39924 * term/i386/pc/console.c (pupa_console_putchar): New function.
39925
39926 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39927
39928 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39929 FIX. Reverse the path_list.
39930
39931 * include/pupa/normal.h: Export pupa_register_command and
39932 pupa_unregister_command.
39933
39934 * hello/hello.c (pupa_cmd_hello): New module.
39935 * conf/i386-pc.rmk: Added hello.mod.
39936
39937 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39938
39939 * kern/i386/pc/lzo1x.S: New file.
39940
39941 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39942 (compress_kernel): New variable.
39943 (generate_image): Heavily modified to support compressing a
39944 large part of the core image.
39945
39946 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39947 leak.
39948 (pupa_util_load_image): New function.
39949
39950 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39951 (pupa_compressed_size): New variable.
39952 (codestart): Enable Gate A20 here.
39953 Decompress the compressed part of the core image.
39954 Rearrange the code to put functions and variables which are
39955 required for initialization in the non-compressed part.
39956 Include lzo1x.S.
39957
39958 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39959 here.
39960
39961 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39962
39963 * include/pupa/i386/pc/kernel.h
39964 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39965 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39966 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39967 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39968 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39969
39970 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39971
39972 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39973 (Utility#rule): Likewise.
39974
39975 * configure.ac: Check if LZO is available.
39976
39977 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39978
39979 * include/pupa/normal.h: New file.
39980 * include/pupa/setjmp.h: Likewise.
39981 * include/pupa/i386/setjmp.h: Likewise.
39982 * normal/cmdline.c: Likewise.
39983 * normal/command.c: Likewise.
39984 * normal/main.c: Likewise.
39985 * normal/menu.c: Likewise.
39986 * normal/i386/setjmp.S: Likewise.
39987
39988 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39989 (pupa_rescue_cmd_initrd): Likewise.
39990
39991 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39992 Likewise.
39993
39994 * kern/i386/pc/startup.S (translation_table): New variable.
39995 (translate_keycode): New function.
39996 (pupa_console_getkey): Call translate_keycode.
39997
39998 * kern/rescue.c (attempt_normal_mode): New function.
39999 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40000 it failed, print a message.
40001
40002 * kern/mm.c (pupa_real_malloc): Print more information when a
40003 free magic is broken.
40004 (pupa_free): If the first free header is not free actually, set
40005 it to P.
40006
40007 * kern/main.c (pupa_load_normal_mode): Just load the module
40008 "normal".
40009 (pupa_main): Don't print the message
40010 "Entering into rescue mode..." here.
40011
40012 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40013 Declared.
40014 (pupa_rescue_cmd_initrd): Likewise.
40015 (pupa_rescue_cmd_initrd): Likewise.
40016
40017 * include/pupa/symbol.h (FUNCTION): Specify the type.
40018 (VARIABLE): Likewise.
40019
40020 * include/pupa/err.h (pupa_err_t): Added
40021 PUPA_ERR_UNKNOWN_COMMAND.
40022
40023 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40024 (pupa_dl_get_prefix): Likewise.
40025
40026 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40027 Added _chain.mod and _linux.mod instead of chain.mod and
40028 linux.mod.
40029 (chain_mod_SOURCES): Renamed to ...
40030 (_chain_mod_SOURCES): ... this.
40031 (chain_mod_CFLAGS): Renamed to ...
40032 (_chain_mod_CFLAGS): ... this.
40033 (linux_mod_SOURCES): Renamed to ...
40034 (_linux_mod_SOURCES): ... this.
40035 (linux_mod_CFLAGS): Renamed to ...
40036 (_linux_mod_CFLAGS): ... this.
40037 (normal_mod_SOURCES): New variable.
40038 (normal_mod_CFLAGS): Likewise.
40039 (normal_mod_ASFLAGS): Likewise.
40040
40041 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40042
40043 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40044 possible.
40045
40046 * kern/dl.c (pupa_dl_ref): Refer depending modules
40047 recursively.
40048 (pupa_dl_unref): Unrefer depending modules recursively.
40049 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40050 a module is unloaded before one depending on that module is
40051 unloaded.
40052 (pupa_dl_unload): Unload depending modules explicitly,
40053 if possible.
40054
40055 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40056
40057 * include/pupa/i386/pc/linux.h: New file.
40058 * loader/i386/pc/linux.c: Likewise.
40059
40060 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40061 Removed.
40062 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40063 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40064 of PUPA_CHAINLOADER_BOOT_SECTOR.
40065
40066 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40067 (pupa_linux_prot_size): New variable.
40068 (pupa_linux_tmp_addr): Likewise.
40069 (pupa_linux_real_addr): Likewise.
40070 (pupa_linux_boot_zimage): New function.
40071 (pupa_linux_boot_bzimage): Likewise.
40072
40073 * kern/i386/pc/init.c (struct mem_region): New structure.
40074 (MAX_REGIONS): New macro.
40075 (mem_regions): New variable.
40076 (num_regions): Likewise.
40077 (pupa_os_area_addr): Likewise.
40078 (pupa_os_area_size): Likewise.
40079 (pupa_lower_mem): Likewise.
40080 (pupa_upper_mem): Likewise.
40081 (add_mem_region): New function.
40082 (compact_mem_regions): Likewise.
40083 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40084 the size of the conventional memory and that of so-called upper
40085 memory (before the first memory hole).
40086 Instead of adding each found region to free memory, use
40087 add_mem_region and add them after removing overlaps.
40088 Also, add only 1/4 of the upper memory to free memory. The rest
40089 is used for loading OS images. Maybe this is ad hoc, but this
40090 makes it much easier to relocate OS images when booting.
40091
40092 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40093 (pupa_enter_rescue_mode): Don't register initrd and module.
40094
40095 * kern/mm.c: Include pupa/dl.h.
40096
40097 * kern/main.c: Include pupa/file.h and pupa/device.h.
40098
40099 * kern/loader.c (pupa_loader_load_module_func): Removed.
40100 (pupa_loader_load_module): Likewise.
40101
40102 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40103 ``.o''.
40104
40105 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40106 (pupa_linux_tmp_addr): Likewise.
40107 (pupa_linux_real_addr): Likewise.
40108 (pupa_linux_boot_zimage): Likewise.
40109 (pupa_linux_boot_bzimage): Likewise.
40110
40111 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40112 (pupa_upper_mem): Likewise.
40113 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40114 module is too dangerous.
40115
40116 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40117 (pupa_os_area_size): Likewise.
40118 (pupa_loader_set): Remove the first argument. Loader doesn't
40119 manage modules or initrd any longer.
40120 (pupa_loader_load_module): Removed.
40121
40122 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40123 (linux_mod_SOURCES): New variable.
40124 (linux_mod_CFLAGS): Likewise.
40125
40126 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40127
40128 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40129 the length of a blocklist correctly.
40130
40131 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40132 Use ioctl only if the OS file is a block device.
40133 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40134 not very useful for normal files.
40135
40136 * kern/main.c (pupa_set_root_dev): New function.
40137 (pupa_load_normal_mode): Likewise.
40138 (pupa_main): Call those above.
40139
40140 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40141 pupa_uint16_t.
40142
40143 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40144
40145 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40146
40147 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40148 (setup): Configure the installed partition information and the
40149 dl prefix.
40150
40151 * loader/i386/pc/chainloader.c (my_mod): New variable.
40152 (pupa_chainloader_unload): New function.
40153 (pupa_rescue_cmd_chainloader): Refer itself.
40154 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40155
40156 * kern/i386/pc/startup.S (install_partition): Removed.
40157 (version_string): Likewise.
40158 (config_file): Likewise.
40159 (pupa_install_dos_part): New variable.
40160 (pupa_install_bsd_part): Likewise.
40161 (pupa_prefix): Likewise.
40162 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40163
40164 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40165 and pupa/misc.h.
40166 (make_install_device): New function.
40167 (pupa_machine_init): Set the dl prefix.
40168
40169 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40170 (buf): Renamed to ...
40171 (linebuf): ... this.
40172 (pupa_rescue_cmd_prefix): New function.
40173 (pupa_rescue_cmd_insmod): Likewise.
40174 (pupa_rescue_cmd_rmmod): Likewise.
40175 (pupa_rescue_cmd_lsmod): Likewise.
40176 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40177 rmmod and lsmod.
40178
40179 * kern/mm.c (pupa_memalign): If failed even after invalidating
40180 disk caches, unload unneeded modules and retry.
40181
40182 * kern/misc.c (pupa_memmove): New function.
40183 (pupa_memcpy): Removed.
40184 (pupa_strcpy): New function.
40185 (pupa_itoa): Made static.
40186
40187 * kern/dl.c (pupa_dl_iterate): New function.
40188 (pupa_dl_ref): Likewise.
40189 (pupa_dl_unref): Likewise.
40190 (pupa_dl_unload): Return if succeeded or not.
40191 (pupa_dl_unload_unneeded): New function.
40192 (pupa_dl_unload_all): Likewise.
40193 (pupa_dl_init): Renamed to ...
40194 (pupa_dl_set_prefix): ... this.
40195 (pupa_dl_get_prefix): New function.
40196
40197 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40198 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40199 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40200 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40201 (pupa_install_dos_part): Declared.
40202 (pupa_install_bsd_part): Likewise.
40203 (pupa_prefix): Likewise.
40204 (pupa_boot_drive): Likewise.
40205
40206 * include/pupa/types.h: Fix a typo.
40207
40208 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40209 pupa_memmove.
40210 (pupa_memmove): Declared.
40211 (pupa_strcpy): Likewise.
40212
40213 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40214 pupa_mod_init takes one argument, its own module.
40215 (pupa_dl_unload_unneeded): Declared.
40216 (pupa_dl_unload_all): Likewise.
40217 (pupa_dl_ref): Likewise.
40218 (pupa_dl_unref): Likewise.
40219 (pupa_dl_iterate): Likewise.
40220 (pupa_dl_init): Renamed to ...
40221 (pupa_dl_set_prefix): ... this.
40222 (pupa_dl_get_prefix): Declared.
40223
40224 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40225 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40226 unloaded.
40227 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40228 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40229
40230 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40231 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40232
40233 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40234
40235 * util/i386/pc/pupa-setup.c (setup): Define the internal
40236 function find_first_partition_start at the top level, because GCC
40237 3.0.x cannot compile internal functions in deeper scopes
40238 correctly.
40239 (find_root_device): Use lstat instead of stat.
40240 Don't follow symbolic links.
40241 Fix the path-constructing code.
40242
40243 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40244 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40245 by a BLKGETSIZE ioctl first, because block devices don't fill
40246 the member st_mode of the structure stat on Linux.
40247 [__linux__] (linux_find_partition): Use a temporary buffer
40248 REAL_DEV for the working space. Copy it to DEV before returning.
40249 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40250 buffer cache consistent.
40251 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40252 strncmp. The previous value was merely wrong.
40253 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40254
40255 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40256 FAT size is 12. The previous value was merely wrong.
40257
40258 * kern/main.c (pupa_main): Don't split the starting message from
40259 newlines.
40260
40261 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40262 LF, because BIOS goes crazy about character attributes in this
40263 case.
40264
40265 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40266
40267 * include/i386/pc/util/biosdisk.h: New file.
40268 * util/i386/pc/biosdisk.c: Likewise.
40269 * util/i386/pc/pupa-setup.c: Likewise.
40270
40271 * Makefile.in (INCLUDE_DISTFILES): Added
40272 include/pupa/i386/pc/util/biosdisk.h.
40273 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40274 directory util/i386/pc.
40275 (install-local): Added a rule for sbin_UTILITIES.
40276 (uninstall): Likewise.
40277
40278 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40279
40280 * util/misc.c (xrealloc): New function.
40281 (pupa_malloc): Likewise.
40282 (pupa_free): Likewise.
40283 (pupa_realloc): Likewise.
40284 (pupa_stop): Likewise.
40285 (pupa_putchar): Likewise.
40286
40287 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40288
40289 * include/pupa/util/misc.h (xrealloc): Declared.
40290
40291 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40292 macro.
40293 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40294 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40295
40296 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40297 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40298
40299 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40300 way should be implemented.
40301 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40302
40303 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40304 the size of NAME for safety.
40305 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40306 0x88.
40307
40308 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40309 (pupa_setup_SOURCES): Likewise.
40310
40311 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40312
40313 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40314
40315 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40316 bunch of pushl's from pusha, because this destroys the return
40317 value.
40318
40319 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40320
40321 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40322 This means that any missing prototypes could be fatal. Also, you
40323 must take care when writing assembly code. See the comments at
40324 the beginning of startup.S, for more details.
40325
40326 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40327 compilation mechanism.
40328 (pupa_chainloader_real_boot): Likewise.
40329 (pupa_biosdisk_rw_int13_extensions): Likewise.
40330 (pupa_biosdisk_rw_standard): Likewise.
40331 (pupa_biosdisk_check_int13_extensions): Likewise.
40332 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40333 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40334 (pupa_get_memsize): Likewise.
40335 (pupa_get_mmap_entry): Likewise.
40336 (pupa_console_putchar): Likewise.
40337 (pupa_console_setcursor): Likewise.
40338 (pupa_getrtsecs): Use pushl instead of push.
40339
40340 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40341 memory instead of the stack for a mmap entry, because some
40342 BIOSes may ignore the maximum size and overflow.
40343
40344 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40345
40346 * genmk.rb (PModule#rule): Compile automatically generated
40347 sources with module-specific CFLAGS as well as other sources.
40348
40349 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40350
40351 * configure.ac: Check ld.
40352 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40353 respectively, before checking endianness and sizes.
40354
40355 * Makefile.in (LD): New variable.
40356
40357 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40358
40359 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40360
40361 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40362
40363 * Changelog: New file.
40364